ng-miam 3.6.2 → 3.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -70,7 +70,10 @@ export class RecipesService extends Service {
70
70
  return of([]);
71
71
  }
72
72
  return forkJoin(list.attributes['recipes-infos'].map(info => {
73
- return this.getOrFetch(info.id).pipe(skipWhile(r => r.is_loading), tap(r => r.modifiedGuests = info.guests));
73
+ return this.getOrFetch(info.id).pipe(tap(r => {
74
+ r.modifiedGuests = info.guests;
75
+ this.recipes.push(r);
76
+ }));
74
77
  }));
75
78
  }));
76
79
  }
@@ -104,7 +107,7 @@ export class RecipesService extends Service {
104
107
  else {
105
108
  return this.get(recipeId, {
106
109
  include: ['ingredients', 'recipe-steps', 'recipe-status', 'recipe-type', 'sponsors', 'tags']
107
- }).pipe(tap(r => this.recipes.push(r)));
110
+ }).pipe(skipWhile(r => r.is_loading));
108
111
  }
109
112
  }
110
113
  // Debounce to let enough time for the pos to be defined
@@ -217,4 +220,4 @@ RecipesService.ɵprov = i0.ɵɵdefineInjectable({ token: RecipesService, factory
217
220
  providedIn: 'root'
218
221
  }]
219
222
  }], function () { return [{ type: i1.HttpClient }, { type: i2.RecipeProviderService }, { type: i3.RecipeStatusService }, { type: i4.RecipeTypeService }, { type: i5.SuppliersService }, { type: i6.PointOfSalesService }, { type: i7.GroceriesListsService }, { type: i8.IngredientsService }, { type: i9.RecipeStepsService }, { type: i10.RecipeEventsService }, { type: i11.SponsorService }, { type: i12.PackageService }, { type: i13.TagsService }]; }, null); })();
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvcmVjaXBlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFjLFFBQVEsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxPQUFPLEVBQXNCLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFRLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFF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QUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlpZiwgb2YsIE9ic2VydmFibGUsIGZvcmtKb2luLCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlcnZpY2UsIERvY3VtZW50Q29sbGVjdGlvbiB9IGZyb20gJ25neC1qc29uYXBpJztcbmltcG9ydCB7IFJlY2lwZSB9IGZyb20gJy4uL19tb2RlbHMvcmVjaXBlJztcbmltcG9ydCB7IFJlY2lwZVByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlU3RhdHVzU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY2lwZVR5cGVTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGUtdHlwZS5zZXJ2aWNlJztcbmltcG9ydCB7IEdyb2Nlcmllc0xpc3RzU2VydmljZSB9IGZyb20gJy4vZ3JvY2VyaWVzLWxpc3RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlRXZlbnRzU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLWV2ZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBza2lwV2hpbGUsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcbmltcG9ydCB7IEluZ3JlZGllbnRzU2VydmljZSB9IGZyb20gJy4vaW5ncmVkaWVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBSZWNpcGVTdGVwc1NlcnZpY2UgfSBmcm9tICcuL3JlY2lwZS1zdGVwcy5zZXJ2aWNlJztcbmltcG9ydCB7IE1pYW1SZWNpcGUgfSBmcm9tICcuLi9fdHlwZXMvcmVjaXBlJztcbmltcG9ydCB7IFN1cHBsaWVyc1NlcnZpY2UgfSBmcm9tICcuL3N1cHBsaWVycy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY2lwZVByaWNpbmcgfSBmcm9tICcuLi9fbW9kZWxzL3JlY2lwZS1wcmljaW5nJztcbmltcG9ydCB7IFNwb25zb3JTZXJ2aWNlIH0gZnJvbSAnLi9zcG9uc29yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9pbnRPZlNhbGVzU2VydmljZSB9IGZyb20gJy4vcG9pbnQtb2Ytc2FsZXMuc2VydmljZSc7XG5pbXBvcnQgeyBQYWNrYWdlU2VydmljZSB9IGZyb20gJy4vcGFja2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFRhZ3NTZXJ2aWNlIH0gZnJvbSAnLi90YWdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFnIH0gZnJvbSAnLi4vX21vZGVscyc7XG5cbmNvbnN0IE1JQU1fQVBJX0hPU1QgPSBgJHtlbnZpcm9ubWVudC5taWFtQVBJfS9hcGkvdjEvYDtcblxuaW50ZXJmYWNlIFJlY2lwZURpc3BsYXkge1xuICBwcmV2aWV3QWxsb3dlZDogYm9vbGVhbjtcbiAgcmVjaXBlOiBSZWNpcGU7XG4gIHByZXZpZXdNb2RlOiBib29sZWFuO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBSZWNpcGVzU2VydmljZSBleHRlbmRzIFNlcnZpY2U8UmVjaXBlPiB7XG5cbiAgcmVzb3VyY2UgPSBSZWNpcGU7XG4gIHR5cGUgPSAncmVjaXBlcyc7XG4gIGRpc3BsYXllZFJlY2lwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlY2lwZURpc3BsYXk+KG51bGwpO1xuICBkaXNwbGF5SGVscGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBkaXNwbGF5ZWRSZWNpcGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBoaWRkZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIHN1Z2dlc3Rpb25zUHJpbWFyeUJ1dHRvbkFjdGlvbnMgPSB7IGRpc3BsYXk6IHRydWUsIGFkZFRvQmFza2V0OiB0cnVlIH07XG5cbiAgcHJpdmF0ZSByYW5kb21TZWVkOiBudW1iZXI7XG4gIHByaXZhdGUgcGFnZU51bWJlciA9IDE7XG4gIHByaXZhdGUgcmVjaXBlczogUmVjaXBlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBwcm92aWRlclNlcnZpY2U6IFJlY2lwZVByb3ZpZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHN0YXR1c1NlcnZpY2U6IFJlY2lwZVN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0eXBlU2VydmljZTogUmVjaXBlVHlwZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdXBwbGllcnNTZXJ2aWNlOiBTdXBwbGllcnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwcml2YXRlIGxpc3RzU2VydmljZTogR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW5ncmVkaWVudHNTZXJ2aWNlOiBJbmdyZWRpZW50c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWNpcGVTdGVwc1NlcnZpY2U6IFJlY2lwZVN0ZXBzU2VydmljZSxcbiAgICBwcml2YXRlIHJlY2lwZUV2ZW50c1NlcnZpY2U6IFJlY2lwZUV2ZW50c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzcG9uc29yU2VydmljZTogU3BvbnNvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwYWNrYWdlU2VydmljZTogUGFja2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0YWdzU2VydmljZTogVGFnc1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnJlZ2lzdGVyKCk7XG4gICAgdGhpcy5pbnRSYW5kb21TZWVkKCk7XG4gIH1cblxuICBsb2FkUmVjaXBlcygpOiBPYnNlcnZhYmxlPFJlY2lwZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMubGlzdHNTZXJ2aWNlLnRha2VGaXJzdExpc3QoKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGxpc3QgPT4ge1xuICAgICAgICBpZiAoIWxpc3QpIHtcbiAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH0gZWxzZSBpZiAobGlzdC5hdHRyaWJ1dGVzWydyZWNpcGVzLWluZm9zJ10ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmb3JrSm9pbihsaXN0LmF0dHJpYnV0ZXNbJ3JlY2lwZXMtaW5mb3MnXS5tYXAoaW5mbyA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0T3JGZXRjaChpbmZvLmlkKS5waXBlKFxuICAgICAgICAgICAgc2tpcFdoaWxlKHIgPT4gci5pc19sb2FkaW5nKSxcbiAgICAgICAgICAgIHRhcChyID0+IHIubW9kaWZpZWRHdWVzdHMgPSBpbmZvLmd1ZXN0cylcbiAgICAgICAgICApO1xuICAgICAgICB9KSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvLyBUT0RPOiBSRU1PVkUgVU5VU0VEXG4gIC8vIENyZWF0ZSByZWNpcGUgJiBhcHBlbmQgdG8gZ3JvY2VyaWVzIGxpc3RcbiAgZ2V0T3JDcmVhdGUocmVjaXBlLCBvcGVuQmFza2V0OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBjb25zdCBwcm92aWRlciA9IHRoaXMucHJvdmlkZXJTZXJ2aWNlLmdldENhY2hlZCgpO1xuICAgIGNvbnN0IGV4dElkID0gdGhpcy5jcmVhdGVFeHRJZChyZWNpcGUudGl0bGUpO1xuXG4gICAgLy8gQ2hlY2sgaWYgZXhpc3RzIG9yIGNyZWF0ZSBpdFxuICAgIHJldHVybiB0aGlzLmdldFJlY2lwZShwcm92aWRlci5pZCwgZXh0SWQpLnBpcGUoXG4gICAgICBza2lwV2hpbGUociA9PiByLmlzX2xvYWRpbmcpLFxuICAgICAgLy8gTk9URSA6IGFkZGluZyBvZih2b2lkIDApIGZvciBmYWxzeSBvYnNlcnZhYmxlIChuZ3gtanNvbmFwaSBpcyB0cmlnZ2VyaW5nIGFuIGh0dHAgcmVxdWVzdCB3aGVuIHNhdmUoKSBjYWxsZWQpXG4gICAgICBzd2l0Y2hNYXAoKHIpID0+IGlpZigoKSA9PiAhIXIuZGF0YS5sZW5ndGgsIG9mKHIuZGF0YVswXSksIG9mKHZvaWQgMCkucGlwZShzd2l0Y2hNYXAoXyA9PiB0aGlzLmNyZWF0ZShleHRJZCwgcmVjaXBlKSkpKSksXG4gICAgICAvLyBBcHBlbmQgcmVjaXBlIHRvIGN1cnJlbnQgc2F2ZWQgbGlzdFxuICAgICAgc3dpdGNoTWFwKChyKSA9PiB0aGlzLmxpc3RzU2VydmljZS5hcHBlbmRSZWNpcGVUb0xpc3Qoci5pZCwgci5tb2RpZmllZEd1ZXN0cywgJ29yZGVyLWJ1dHRvbicsIG9wZW5CYXNrZXQpKVxuICAgICk7XG5cbiAgfVxuXG4gIGdldFJhbmRvbShwYWdlID0geyBudW1iZXI6IHRoaXMucGFnZU51bWJlciwgc2l6ZTogMSB9LCBmaWx0ZXJzOiBvYmplY3QgPSB7IHJldmlld2VkOiB0cnVlLCBleGNsdWRlX25vX3BpY3R1cmU6IHRydWUgfSxcbiAgICAgICAgICAgIGNsZWFyID0gZmFsc2UpOiBPYnNlcnZhYmxlPFJlY2lwZVtdPiB7XG4gICAgdGhpcy5wYWdlTnVtYmVyKys7XG4gICAgLy8gRmV0Y2ggcmFuZG9tIHJlY2lwZXNcbiAgICByZXR1cm4gdGhpcy5hbGwoe1xuICAgICAgcGFnZSxcbiAgICAgIHJlbW90ZWZpbHRlcjogT2JqZWN0LmFzc2lnbih7Li4uZmlsdGVyc30sIHsgcmFuZG9tOiB0aGlzLnJhbmRvbVNlZWR9KSxcbiAgICAgIGluY2x1ZGU6IFsnaW5ncmVkaWVudHMnLCAncmVjaXBlLXN0ZXBzJywgJ3JlY2lwZS1zdGF0dXMnLCAncmVjaXBlLXR5cGUnLCAnc3BvbnNvcnMnLCAncmVjaXBlLXByb3ZpZGVyJywgJ3RhZ3MnXVxuICAgIH0pLnBpcGUoXG4gICAgICBza2lwV2hpbGUocmVzdWx0ID0+IHJlc3VsdC5pc19sb2FkaW5nKSxcbiAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgKTtcbiAgfVxuXG4gIC8vIERFUFJFQ0FURUQgLyB1c2UgVFRMIGluc3RlYWRcbiAgZ2V0T3JGZXRjaChyZWNpcGVJZCk6IE9ic2VydmFibGU8UmVjaXBlPiB7XG4gICAgY29uc3QgcmVjaXBlID0gdGhpcy5yZWNpcGVzLmZpbmQociA9PiByLmlkID09PSByZWNpcGVJZCk7XG4gICAgaWYgKHJlY2lwZSkge1xuICAgICAgcmV0dXJuIG9mKHJlY2lwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmdldChyZWNpcGVJZCwge1xuICAgICAgICBpbmNsdWRlOiBbJ2luZ3JlZGllbnRzJywgJ3JlY2lwZS1zdGVwcycsICdyZWNpcGUtc3RhdHVzJywgJ3JlY2lwZS10eXBlJywgJ3Nwb25zb3JzJywgJ3RhZ3MnIF1cbiAgICAgIH0pLnBpcGUoXG4gICAgICAgIHRhcChyID0+IHRoaXMucmVjaXBlcy5wdXNoKHIpKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyBEZWJvdW5jZSB0byBsZXQgZW5vdWdoIHRpbWUgZm9yIHRoZSBwb3MgdG8gYmUgZGVmaW5lZFxuICBnZXRTdWdnZXN0aW9uKFxuICAgIHNoZWxmX2luZ3JlZGllbnRzX2lkczogc3RyaW5nW10sXG4gICAgY3VycmVudF9pbmdyZWRpZW50c19pZHM6IHN0cmluZ1tdLFxuICAgIGJhc2tldF9pbmdyZWRpZW50c19pZHM6IHN0cmluZ1tdLFxuICAgIGdyb3VwX2lkOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxSZWNpcGVbXT4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLnN1cHBsaWVyc1NlcnZpY2Uuc3VwcGxpZXIkLCB0aGlzLnBvc1NlcnZpY2UucG9zJF0pLnBpcGUoXG4gICAgICBza2lwV2hpbGUocmVzdWx0cyA9PiAhcmVzdWx0c1swXSksXG4gICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgIHN3aXRjaE1hcChyZXN1bHRzID0+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHsgc2hlbGZfaW5ncmVkaWVudHNfaWRzLCBjdXJyZW50X2luZ3JlZGllbnRzX2lkcywgYmFza2V0X2luZ3JlZGllbnRzX2lkcywgZ3JvdXBfaWQgfTtcbiAgICAgICAgbGV0IHN1cHBsaWVyRmlsdGVyID0gYHN1cHBsaWVyX2lkPSR7cmVzdWx0c1swXS5pZH1gO1xuICAgICAgICBpZiAocmVzdWx0c1sxXSkge1xuICAgICAgICAgIHN1cHBsaWVyRmlsdGVyID0gYHN1cHBsaWVyX2lkPSR7cmVzdWx0c1swXS5pZH0mcG9zX2lkPSR7cmVzdWx0c1sxXS5pZH1gO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHVybCA9IE1JQU1fQVBJX0hPU1QgKyBgcmVjaXBlcy9zdWdnZXN0aW9ucz8ke3N1cHBsaWVyRmlsdGVyfSZpbmNsdWRlPWluZ3JlZGllbnRzLHJlY2lwZS1zdGVwcyxzcG9uc29ycyxyZWNpcGUtdHlwZSx0YWdzYDtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgYm9keSk7XG4gICAgICB9KSxcbiAgICAgIG1hcCgocmV0dXJuZWRSZWNpcGVzOiBEb2N1bWVudENvbGxlY3Rpb248UmVjaXBlPikgPT4ge1xuICAgICAgICBjb25zdCByZWNpcGVzID0gdGhpcy5uZXdDb2xsZWN0aW9uKCk7XG4gICAgICAgIHJlY2lwZXMuZmlsbChyZXR1cm5lZFJlY2lwZXMpO1xuICAgICAgICByZXR1cm4gcmVjaXBlcy5kYXRhO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0UHJpY2luZyhyZWNpcGVJZCwgcG9zSWQsIHNlcnZlcyA9IG51bGwpOiBPYnNlcnZhYmxlPFJlY2lwZVByaWNpbmc+IHtcbiAgICBpZiAoIXJlY2lwZUlkKSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuXG4gICAgbGV0IHVybCA9IE1JQU1fQVBJX0hPU1QgKyBgcmVjaXBlcy8ke3JlY2lwZUlkfS9wcmljaW5nP3BvaW50X29mX3NhbGVfaWQ9JHtwb3NJZH1gO1xuICAgIGlmIChzZXJ2ZXMpIHtcbiAgICAgIHVybCArPSBgJnNlcnZlcz0ke3NlcnZlc31gO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IG5ldyBSZWNpcGVQcmljaW5nKHJlc3VsdCkpXG4gICAgKTtcbiAgfVxuXG4gIGNyZWF0ZUZyb21Vcmwoc291cmNlOiBzdHJpbmcsIGV4dF9saW5rOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlY2lwZT4ge1xuICAgIGlmICghc291cmNlIHx8ICFleHRfbGluaykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBzb3VyY2Ugb3IgcmVjaXBlIGxpbmsgcHJvdmlkZWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7ZW52aXJvbm1lbnQubWlhbUFQSX0vYXBpL3YxL3JlY2lwZXMvZnJvbV91cmxgLCB7IHNvdXJjZSwgZXh0X2xpbmsgfSkucGlwZShcbiAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IHJlc3VsdC5kYXRhIGFzIFJlY2lwZSlcbiAgICApO1xuICB9XG5cbiAgLy8gT3BlbiBtb2RhbCBzaG93aW5nIHJlY2lwZSBkZXRhaWxzXG4gIGRpc3BsYXkocmVjaXBlSWQ6IHN0cmluZywgeyBwcmV2aWV3QWxsb3dlZCA9IHRydWUsIGd1ZXN0cyA9IG51bGwsIHByZXZpZXdNb2RlID0gZmFsc2V9KSB7XG4gICAgaWYgKCFyZWNpcGVJZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZ2V0KHJlY2lwZUlkLCB7IGluY2x1ZGU6IFsnaW5ncmVkaWVudHMnLCAncmVjaXBlLXN0ZXBzJywgJ3JlY2lwZS10eXBlJywgJ3Nwb25zb3JzJywgJ3RhZ3MnXSB9KVxuICAgICAgLnBpcGUoc2tpcFdoaWxlKHJlY2lwZSA9PiByZWNpcGUuaXNfbG9hZGluZykpXG4gICAgICAuc3Vic2NyaWJlKHJlY2lwZSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcGxheU9iamVjdChyZWNpcGUsIHtwcmV2aWV3QWxsb3dlZCwgZ3Vlc3RzLCBwcmV2aWV3TW9kZSB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZGlzcGxheU9iamVjdChyZWNpcGU6IFJlY2lwZSwgeyBwcmV2aWV3QWxsb3dlZCA9IHRydWUsIGd1ZXN0cyA9IG51bGwsIHByZXZpZXdNb2RlID0gZmFsc2V9KXtcbiAgICBpZiAoIXJlY2lwZSl7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmVjaXBlLm1vZGlmaWVkR3Vlc3RzID0gZ3Vlc3RzIHx8ICtyZWNpcGUuZ3Vlc3RzO1xuICAgIHRoaXMuZGlzcGxheWVkUmVjaXBlJC5uZXh0KHsgcHJldmlld0FsbG93ZWQgLCByZWNpcGUsIHByZXZpZXdNb2RlIH0pO1xuICAgIGlmICghcHJldmlld01vZGUpIHtcbiAgICAgIHRoaXMucmVjaXBlRXZlbnRzU2VydmljZS5zZW5kRXZlbnQocmVjaXBlLCB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2UuQUNUSU9OX0RJU1BMQVlFRCk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlSGVscGVyKCkge1xuICAgIHRoaXMuZGlzcGxheUhlbHBlciQubmV4dCghdGhpcy5kaXNwbGF5SGVscGVyJC52YWx1ZSk7XG4gIH1cblxuICBoaWRlKCkge1xuICAgIHRoaXMuZGlzcGxheWVkUmVjaXBlJC5uZXh0KG51bGwpO1xuICAgIHRoaXMuaGlkZGVuLmVtaXQodHJ1ZSk7XG4gIH1cblxuICByZW1vdmVUYWdGcm9tUmVjaXBlKHJlY2lwZTogUmVjaXBlLCB0YWc6IFRhZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoTUlBTV9BUElfSE9TVCArIGByZWNpcGVzLyR7cmVjaXBlLmlkfS90YWdzLyR7dGFnLmlkfWApO1xuICB9XG5cbiAgYWRkVGFnVG9SZWNpcGUocmVjaXBlOiBSZWNpcGUsIHRhZzogVGFnKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoTUlBTV9BUElfSE9TVCArIGByZWNpcGVzLyR7cmVjaXBlLmlkfS90YWdzLyR7dGFnLmlkfWAsIHt9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlKGV4dElkOiBzdHJpbmcsIHJlY2lwZTogTWlhbVJlY2lwZSkge1xuICAgIGNvbnN0IHIgPSB0aGlzLm5ldygpO1xuICAgIC8vIENvcHkgcmVjaXBlIGludG8gYXR0cmlidXRlc1xuICAgIE9iamVjdC5hc3NpZ24oci5hdHRyaWJ1dGVzLCByZWNpcGUpO1xuICAgIC8vIFNldCBwcm92aWRlciAmIHN0YXR1cyAoY2FjaGVkIGZyb20gaW5pdGlhbGl6ZWQgdmFyIE1JQU1fU1RBVFVTX0lEICYgTUlBTV9QUk9WSURFUl9JRClcbiAgICByLmFkZFJlbGF0aW9uc2hpcCh0aGlzLnByb3ZpZGVyU2VydmljZS5nZXRDYWNoZWQoKSwgJ3JlY2lwZS1wcm92aWRlcicpO1xuICAgIHIuYWRkUmVsYXRpb25zaGlwKHRoaXMuc3RhdHVzU2VydmljZS5nZXRDYWNoZWQoKSwgJ3JlY2lwZS1zdGF0dXMnKTtcbiAgICAvLyBUT0RPIDogaGFyZCBjb2RlZCAocGxhdCBwcmluY2lwYWwgYXMgdHlwZSlcbiAgICByLmFkZFJlbGF0aW9uc2hpcCh0aGlzLnR5cGVTZXJ2aWNlLmdldFR5cGVCeU5hbWUoJ3BsYXQgcHJpbmNpcGFsJyksICdyZWNpcGUtdHlwZScpO1xuICAgIC8vIE92ZXJyaWRlIHNwZWNpZmljIG1pYW0gcmVzZXJ2ZWQgYXR0cmlidXRlc1xuICAgIHIuYXR0cmlidXRlcy5zb3VyY2UgPSBudWxsO1xuICAgIHIuYXR0cmlidXRlcy5kZXNjcmlwdGlvbiA9IG51bGw7XG4gICAgci5hdHRyaWJ1dGVzWydleHQtaWQnXSA9IGV4dElkO1xuICAgIHJldHVybiByLnNhdmUoKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKChyZXN1bHQ6IGFueSkgPT4gcmVzdWx0LmlzX2xvYWRpbmcpLFxuICAgICAgbWFwKChyZXN1bHQ6IGFueSkgPT4gcmVzdWx0LmRhdGEpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRXh0SWQodGl0bGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJvdmlkZXIgPSB0aGlzLnByb3ZpZGVyU2VydmljZS5nZXRDYWNoZWQoKTtcbiAgICByZXR1cm4gYCR7cHJvdmlkZXIuYXR0cmlidXRlcy5uYW1lLnNsaWNlKDAsIDMpLnRvVXBwZXJDYXNlKCl9LSR7dGl0bGUucmVwbGFjZSgvXFxzKy9nbSwgJy0nKS50b0xvd2VyQ2FzZSgpfWA7XG4gIH1cblxuICBwcml2YXRlIGdldFJlY2lwZShwcm92aWRlcklkOiBzdHJpbmcsIGV4dElkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hbGwoe1xuICAgICAgYmVmb3JlcGF0aDogYHJlY2lwZS1wcm92aWRlcnMvJHtwcm92aWRlcklkfWAsXG4gICAgICByZW1vdGVmaWx0ZXI6IHtcbiAgICAgICAgJ2V4dC1pZCc6IGV4dElkLFxuICAgICAgICBhY3RpdmU6ICd0cnVlLGZhbHNlJ1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGhlbHAgdXMgdG8ga2VlcCBhIHRyYWNrIG9mIHJhbmRvbVxuICAgKiBhbmQgYXZvaWQgdG8gc2hvdyBzYW1lIHJlY2lwZSBtdXRpcGxlIHRpbWVzXG4gICAqL1xuICBwcml2YXRlIGludFJhbmRvbVNlZWQoKTogdm9pZCB7XG4gICAgdGhpcy5yYW5kb21TZWVkID0gRGF0ZS5ub3coKTtcbiAgfVxuXG59XG4iXX0=
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvcmVjaXBlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFjLFFBQVEsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxPQUFPLEVBQXNCLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFRLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFF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VSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlpZiwgb2YsIE9ic2VydmFibGUsIGZvcmtKb2luLCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlcnZpY2UsIERvY3VtZW50Q29sbGVjdGlvbiB9IGZyb20gJ25neC1qc29uYXBpJztcbmltcG9ydCB7IFJlY2lwZSB9IGZyb20gJy4uL19tb2RlbHMvcmVjaXBlJztcbmltcG9ydCB7IFJlY2lwZVByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlU3RhdHVzU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY2lwZVR5cGVTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGUtdHlwZS5zZXJ2aWNlJztcbmltcG9ydCB7IEdyb2Nlcmllc0xpc3RzU2VydmljZSB9IGZyb20gJy4vZ3JvY2VyaWVzLWxpc3RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlRXZlbnRzU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLWV2ZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBza2lwV2hpbGUsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcbmltcG9ydCB7IEluZ3JlZGllbnRzU2VydmljZSB9IGZyb20gJy4vaW5ncmVkaWVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBSZWNpcGVTdGVwc1NlcnZpY2UgfSBmcm9tICcuL3JlY2lwZS1zdGVwcy5zZXJ2aWNlJztcbmltcG9ydCB7IE1pYW1SZWNpcGUgfSBmcm9tICcuLi9fdHlwZXMvcmVjaXBlJztcbmltcG9ydCB7IFN1cHBsaWVyc1NlcnZpY2UgfSBmcm9tICcuL3N1cHBsaWVycy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY2lwZVByaWNpbmcgfSBmcm9tICcuLi9fbW9kZWxzL3JlY2lwZS1wcmljaW5nJztcbmltcG9ydCB7IFNwb25zb3JTZXJ2aWNlIH0gZnJvbSAnLi9zcG9uc29yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9pbnRPZlNhbGVzU2VydmljZSB9IGZyb20gJy4vcG9pbnQtb2Ytc2FsZXMuc2VydmljZSc7XG5pbXBvcnQgeyBQYWNrYWdlU2VydmljZSB9IGZyb20gJy4vcGFja2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFRhZ3NTZXJ2aWNlIH0gZnJvbSAnLi90YWdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFnIH0gZnJvbSAnLi4vX21vZGVscyc7XG5cbmNvbnN0IE1JQU1fQVBJX0hPU1QgPSBgJHtlbnZpcm9ubWVudC5taWFtQVBJfS9hcGkvdjEvYDtcblxuaW50ZXJmYWNlIFJlY2lwZURpc3BsYXkge1xuICBwcmV2aWV3QWxsb3dlZDogYm9vbGVhbjtcbiAgcmVjaXBlOiBSZWNpcGU7XG4gIHByZXZpZXdNb2RlOiBib29sZWFuO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBSZWNpcGVzU2VydmljZSBleHRlbmRzIFNlcnZpY2U8UmVjaXBlPiB7XG5cbiAgcmVzb3VyY2UgPSBSZWNpcGU7XG4gIHR5cGUgPSAncmVjaXBlcyc7XG4gIGRpc3BsYXllZFJlY2lwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlY2lwZURpc3BsYXk+KG51bGwpO1xuICBkaXNwbGF5SGVscGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBkaXNwbGF5ZWRSZWNpcGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBoaWRkZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIHN1Z2dlc3Rpb25zUHJpbWFyeUJ1dHRvbkFjdGlvbnMgPSB7IGRpc3BsYXk6IHRydWUsIGFkZFRvQmFza2V0OiB0cnVlIH07XG5cbiAgcHJpdmF0ZSByYW5kb21TZWVkOiBudW1iZXI7XG4gIHByaXZhdGUgcGFnZU51bWJlciA9IDE7XG4gIHByaXZhdGUgcmVjaXBlczogUmVjaXBlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBwcm92aWRlclNlcnZpY2U6IFJlY2lwZVByb3ZpZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHN0YXR1c1NlcnZpY2U6IFJlY2lwZVN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0eXBlU2VydmljZTogUmVjaXBlVHlwZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdXBwbGllcnNTZXJ2aWNlOiBTdXBwbGllcnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwcml2YXRlIGxpc3RzU2VydmljZTogR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW5ncmVkaWVudHNTZXJ2aWNlOiBJbmdyZWRpZW50c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWNpcGVTdGVwc1NlcnZpY2U6IFJlY2lwZVN0ZXBzU2VydmljZSxcbiAgICBwcml2YXRlIHJlY2lwZUV2ZW50c1NlcnZpY2U6IFJlY2lwZUV2ZW50c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzcG9uc29yU2VydmljZTogU3BvbnNvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwYWNrYWdlU2VydmljZTogUGFja2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0YWdzU2VydmljZTogVGFnc1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnJlZ2lzdGVyKCk7XG4gICAgdGhpcy5pbnRSYW5kb21TZWVkKCk7XG4gIH1cblxuICBsb2FkUmVjaXBlcygpOiBPYnNlcnZhYmxlPFJlY2lwZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMubGlzdHNTZXJ2aWNlLnRha2VGaXJzdExpc3QoKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGxpc3QgPT4ge1xuICAgICAgICBpZiAoIWxpc3QpIHtcbiAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH0gZWxzZSBpZiAobGlzdC5hdHRyaWJ1dGVzWydyZWNpcGVzLWluZm9zJ10ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmb3JrSm9pbihsaXN0LmF0dHJpYnV0ZXNbJ3JlY2lwZXMtaW5mb3MnXS5tYXAoaW5mbyA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0T3JGZXRjaChpbmZvLmlkKS5waXBlKFxuICAgICAgICAgICAgdGFwKHIgPT4ge1xuICAgICAgICAgICAgICByLm1vZGlmaWVkR3Vlc3RzID0gaW5mby5ndWVzdHM7XG4gICAgICAgICAgICAgIHRoaXMucmVjaXBlcy5wdXNoKHIpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9KSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvLyBUT0RPOiBSRU1PVkUgVU5VU0VEXG4gIC8vIENyZWF0ZSByZWNpcGUgJiBhcHBlbmQgdG8gZ3JvY2VyaWVzIGxpc3RcbiAgZ2V0T3JDcmVhdGUocmVjaXBlLCBvcGVuQmFza2V0OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBjb25zdCBwcm92aWRlciA9IHRoaXMucHJvdmlkZXJTZXJ2aWNlLmdldENhY2hlZCgpO1xuICAgIGNvbnN0IGV4dElkID0gdGhpcy5jcmVhdGVFeHRJZChyZWNpcGUudGl0bGUpO1xuXG4gICAgLy8gQ2hlY2sgaWYgZXhpc3RzIG9yIGNyZWF0ZSBpdFxuICAgIHJldHVybiB0aGlzLmdldFJlY2lwZShwcm92aWRlci5pZCwgZXh0SWQpLnBpcGUoXG4gICAgICBza2lwV2hpbGUociA9PiByLmlzX2xvYWRpbmcpLFxuICAgICAgLy8gTk9URSA6IGFkZGluZyBvZih2b2lkIDApIGZvciBmYWxzeSBvYnNlcnZhYmxlIChuZ3gtanNvbmFwaSBpcyB0cmlnZ2VyaW5nIGFuIGh0dHAgcmVxdWVzdCB3aGVuIHNhdmUoKSBjYWxsZWQpXG4gICAgICBzd2l0Y2hNYXAoKHIpID0+IGlpZigoKSA9PiAhIXIuZGF0YS5sZW5ndGgsIG9mKHIuZGF0YVswXSksIG9mKHZvaWQgMCkucGlwZShzd2l0Y2hNYXAoXyA9PiB0aGlzLmNyZWF0ZShleHRJZCwgcmVjaXBlKSkpKSksXG4gICAgICAvLyBBcHBlbmQgcmVjaXBlIHRvIGN1cnJlbnQgc2F2ZWQgbGlzdFxuICAgICAgc3dpdGNoTWFwKChyKSA9PiB0aGlzLmxpc3RzU2VydmljZS5hcHBlbmRSZWNpcGVUb0xpc3Qoci5pZCwgci5tb2RpZmllZEd1ZXN0cywgJ29yZGVyLWJ1dHRvbicsIG9wZW5CYXNrZXQpKVxuICAgICk7XG5cbiAgfVxuXG4gIGdldFJhbmRvbShwYWdlID0geyBudW1iZXI6IHRoaXMucGFnZU51bWJlciwgc2l6ZTogMSB9LCBmaWx0ZXJzOiBvYmplY3QgPSB7IHJldmlld2VkOiB0cnVlLCBleGNsdWRlX25vX3BpY3R1cmU6IHRydWUgfSxcbiAgICAgICAgICAgIGNsZWFyID0gZmFsc2UpOiBPYnNlcnZhYmxlPFJlY2lwZVtdPiB7XG4gICAgdGhpcy5wYWdlTnVtYmVyKys7XG4gICAgLy8gRmV0Y2ggcmFuZG9tIHJlY2lwZXNcbiAgICByZXR1cm4gdGhpcy5hbGwoe1xuICAgICAgcGFnZSxcbiAgICAgIHJlbW90ZWZpbHRlcjogT2JqZWN0LmFzc2lnbih7Li4uZmlsdGVyc30sIHsgcmFuZG9tOiB0aGlzLnJhbmRvbVNlZWR9KSxcbiAgICAgIGluY2x1ZGU6IFsnaW5ncmVkaWVudHMnLCAncmVjaXBlLXN0ZXBzJywgJ3JlY2lwZS1zdGF0dXMnLCAncmVjaXBlLXR5cGUnLCAnc3BvbnNvcnMnLCAncmVjaXBlLXByb3ZpZGVyJywgJ3RhZ3MnXVxuICAgIH0pLnBpcGUoXG4gICAgICBza2lwV2hpbGUocmVzdWx0ID0+IHJlc3VsdC5pc19sb2FkaW5nKSxcbiAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgKTtcbiAgfVxuXG4gIC8vIERFUFJFQ0FURUQgLyB1c2UgVFRMIGluc3RlYWRcbiAgZ2V0T3JGZXRjaChyZWNpcGVJZCk6IE9ic2VydmFibGU8UmVjaXBlPiB7XG4gICAgY29uc3QgcmVjaXBlID0gdGhpcy5yZWNpcGVzLmZpbmQociA9PiByLmlkID09PSByZWNpcGVJZCk7XG4gICAgaWYgKHJlY2lwZSkge1xuICAgICAgcmV0dXJuIG9mKHJlY2lwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmdldChyZWNpcGVJZCwge1xuICAgICAgICBpbmNsdWRlOiBbJ2luZ3JlZGllbnRzJywgJ3JlY2lwZS1zdGVwcycsICdyZWNpcGUtc3RhdHVzJywgJ3JlY2lwZS10eXBlJywgJ3Nwb25zb3JzJywgJ3RhZ3MnIF1cbiAgICAgIH0pLnBpcGUoXG4gICAgICAgIHNraXBXaGlsZShyID0+IHIuaXNfbG9hZGluZylcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVib3VuY2UgdG8gbGV0IGVub3VnaCB0aW1lIGZvciB0aGUgcG9zIHRvIGJlIGRlZmluZWRcbiAgZ2V0U3VnZ2VzdGlvbihcbiAgICBzaGVsZl9pbmdyZWRpZW50c19pZHM6IHN0cmluZ1tdLFxuICAgIGN1cnJlbnRfaW5ncmVkaWVudHNfaWRzOiBzdHJpbmdbXSxcbiAgICBiYXNrZXRfaW5ncmVkaWVudHNfaWRzOiBzdHJpbmdbXSxcbiAgICBncm91cF9pZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8UmVjaXBlW10+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5zdXBwbGllcnNTZXJ2aWNlLnN1cHBsaWVyJCwgdGhpcy5wb3NTZXJ2aWNlLnBvcyRdKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKHJlc3VsdHMgPT4gIXJlc3VsdHNbMF0pLFxuICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICBzd2l0Y2hNYXAocmVzdWx0cyA9PiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7IHNoZWxmX2luZ3JlZGllbnRzX2lkcywgY3VycmVudF9pbmdyZWRpZW50c19pZHMsIGJhc2tldF9pbmdyZWRpZW50c19pZHMsIGdyb3VwX2lkIH07XG4gICAgICAgIGxldCBzdXBwbGllckZpbHRlciA9IGBzdXBwbGllcl9pZD0ke3Jlc3VsdHNbMF0uaWR9YDtcbiAgICAgICAgaWYgKHJlc3VsdHNbMV0pIHtcbiAgICAgICAgICBzdXBwbGllckZpbHRlciA9IGBzdXBwbGllcl9pZD0ke3Jlc3VsdHNbMF0uaWR9JnBvc19pZD0ke3Jlc3VsdHNbMV0uaWR9YDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1cmwgPSBNSUFNX0FQSV9IT1NUICsgYHJlY2lwZXMvc3VnZ2VzdGlvbnM/JHtzdXBwbGllckZpbHRlcn0maW5jbHVkZT1pbmdyZWRpZW50cyxyZWNpcGUtc3RlcHMsc3BvbnNvcnMscmVjaXBlLXR5cGUsdGFnc2A7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIGJvZHkpO1xuICAgICAgfSksXG4gICAgICBtYXAoKHJldHVybmVkUmVjaXBlczogRG9jdW1lbnRDb2xsZWN0aW9uPFJlY2lwZT4pID0+IHtcbiAgICAgICAgY29uc3QgcmVjaXBlcyA9IHRoaXMubmV3Q29sbGVjdGlvbigpO1xuICAgICAgICByZWNpcGVzLmZpbGwocmV0dXJuZWRSZWNpcGVzKTtcbiAgICAgICAgcmV0dXJuIHJlY2lwZXMuZGF0YTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldFByaWNpbmcocmVjaXBlSWQsIHBvc0lkLCBzZXJ2ZXMgPSBudWxsKTogT2JzZXJ2YWJsZTxSZWNpcGVQcmljaW5nPiB7XG4gICAgaWYgKCFyZWNpcGVJZCkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cblxuICAgIGxldCB1cmwgPSBNSUFNX0FQSV9IT1NUICsgYHJlY2lwZXMvJHtyZWNpcGVJZH0vcHJpY2luZz9wb2ludF9vZl9zYWxlX2lkPSR7cG9zSWR9YDtcbiAgICBpZiAoc2VydmVzKSB7XG4gICAgICB1cmwgKz0gYCZzZXJ2ZXM9JHtzZXJ2ZXN9YDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgUmVjaXBlUHJpY2luZyhyZXN1bHQpKVxuICAgICk7XG4gIH1cblxuICBjcmVhdGVGcm9tVXJsKHNvdXJjZTogc3RyaW5nLCBleHRfbGluazogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZWNpcGU+IHtcbiAgICBpZiAoIXNvdXJjZSB8fCAhZXh0X2xpbmspIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gc291cmNlIG9yIHJlY2lwZSBsaW5rIHByb3ZpZGVkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke2Vudmlyb25tZW50Lm1pYW1BUEl9L2FwaS92MS9yZWNpcGVzL2Zyb21fdXJsYCwgeyBzb3VyY2UsIGV4dF9saW5rIH0pLnBpcGUoXG4gICAgICBtYXAoKHJlc3VsdDogYW55KSA9PiByZXN1bHQuZGF0YSBhcyBSZWNpcGUpXG4gICAgKTtcbiAgfVxuXG4gIC8vIE9wZW4gbW9kYWwgc2hvd2luZyByZWNpcGUgZGV0YWlsc1xuICBkaXNwbGF5KHJlY2lwZUlkOiBzdHJpbmcsIHsgcHJldmlld0FsbG93ZWQgPSB0cnVlLCBndWVzdHMgPSBudWxsLCBwcmV2aWV3TW9kZSA9IGZhbHNlfSkge1xuICAgIGlmICghcmVjaXBlSWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmdldChyZWNpcGVJZCwgeyBpbmNsdWRlOiBbJ2luZ3JlZGllbnRzJywgJ3JlY2lwZS1zdGVwcycsICdyZWNpcGUtdHlwZScsICdzcG9uc29ycycsICd0YWdzJ10gfSlcbiAgICAgIC5waXBlKHNraXBXaGlsZShyZWNpcGUgPT4gcmVjaXBlLmlzX2xvYWRpbmcpKVxuICAgICAgLnN1YnNjcmliZShyZWNpcGUgPT4ge1xuICAgICAgICB0aGlzLmRpc3BsYXlPYmplY3QocmVjaXBlLCB7cHJldmlld0FsbG93ZWQsIGd1ZXN0cywgcHJldmlld01vZGUgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRpc3BsYXlPYmplY3QocmVjaXBlOiBSZWNpcGUsIHsgcHJldmlld0FsbG93ZWQgPSB0cnVlLCBndWVzdHMgPSBudWxsLCBwcmV2aWV3TW9kZSA9IGZhbHNlfSl7XG4gICAgaWYgKCFyZWNpcGUpe1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJlY2lwZS5tb2RpZmllZEd1ZXN0cyA9IGd1ZXN0cyB8fCArcmVjaXBlLmd1ZXN0cztcbiAgICB0aGlzLmRpc3BsYXllZFJlY2lwZSQubmV4dCh7IHByZXZpZXdBbGxvd2VkICwgcmVjaXBlLCBwcmV2aWV3TW9kZSB9KTtcbiAgICBpZiAoIXByZXZpZXdNb2RlKSB7XG4gICAgICB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2Uuc2VuZEV2ZW50KHJlY2lwZSwgdGhpcy5yZWNpcGVFdmVudHNTZXJ2aWNlLkFDVElPTl9ESVNQTEFZRUQpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUhlbHBlcigpIHtcbiAgICB0aGlzLmRpc3BsYXlIZWxwZXIkLm5leHQoIXRoaXMuZGlzcGxheUhlbHBlciQudmFsdWUpO1xuICB9XG5cbiAgaGlkZSgpIHtcbiAgICB0aGlzLmRpc3BsYXllZFJlY2lwZSQubmV4dChudWxsKTtcbiAgICB0aGlzLmhpZGRlbi5lbWl0KHRydWUpO1xuICB9XG5cbiAgcmVtb3ZlVGFnRnJvbVJlY2lwZShyZWNpcGU6IFJlY2lwZSwgdGFnOiBUYWcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKE1JQU1fQVBJX0hPU1QgKyBgcmVjaXBlcy8ke3JlY2lwZS5pZH0vdGFncy8ke3RhZy5pZH1gKTtcbiAgfVxuXG4gIGFkZFRhZ1RvUmVjaXBlKHJlY2lwZTogUmVjaXBlLCB0YWc6IFRhZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KE1JQU1fQVBJX0hPU1QgKyBgcmVjaXBlcy8ke3JlY2lwZS5pZH0vdGFncy8ke3RhZy5pZH1gLCB7fSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZShleHRJZDogc3RyaW5nLCByZWNpcGU6IE1pYW1SZWNpcGUpIHtcbiAgICBjb25zdCByID0gdGhpcy5uZXcoKTtcbiAgICAvLyBDb3B5IHJlY2lwZSBpbnRvIGF0dHJpYnV0ZXNcbiAgICBPYmplY3QuYXNzaWduKHIuYXR0cmlidXRlcywgcmVjaXBlKTtcbiAgICAvLyBTZXQgcHJvdmlkZXIgJiBzdGF0dXMgKGNhY2hlZCBmcm9tIGluaXRpYWxpemVkIHZhciBNSUFNX1NUQVRVU19JRCAmIE1JQU1fUFJPVklERVJfSUQpXG4gICAgci5hZGRSZWxhdGlvbnNoaXAodGhpcy5wcm92aWRlclNlcnZpY2UuZ2V0Q2FjaGVkKCksICdyZWNpcGUtcHJvdmlkZXInKTtcbiAgICByLmFkZFJlbGF0aW9uc2hpcCh0aGlzLnN0YXR1c1NlcnZpY2UuZ2V0Q2FjaGVkKCksICdyZWNpcGUtc3RhdHVzJyk7XG4gICAgLy8gVE9ETyA6IGhhcmQgY29kZWQgKHBsYXQgcHJpbmNpcGFsIGFzIHR5cGUpXG4gICAgci5hZGRSZWxhdGlvbnNoaXAodGhpcy50eXBlU2VydmljZS5nZXRUeXBlQnlOYW1lKCdwbGF0IHByaW5jaXBhbCcpLCAncmVjaXBlLXR5cGUnKTtcbiAgICAvLyBPdmVycmlkZSBzcGVjaWZpYyBtaWFtIHJlc2VydmVkIGF0dHJpYnV0ZXNcbiAgICByLmF0dHJpYnV0ZXMuc291cmNlID0gbnVsbDtcbiAgICByLmF0dHJpYnV0ZXMuZGVzY3JpcHRpb24gPSBudWxsO1xuICAgIHIuYXR0cmlidXRlc1snZXh0LWlkJ10gPSBleHRJZDtcbiAgICByZXR1cm4gci5zYXZlKCkucGlwZShcbiAgICAgIHNraXBXaGlsZSgocmVzdWx0OiBhbnkpID0+IHJlc3VsdC5pc19sb2FkaW5nKSxcbiAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IHJlc3VsdC5kYXRhKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUV4dElkKHRpdGxlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHByb3ZpZGVyID0gdGhpcy5wcm92aWRlclNlcnZpY2UuZ2V0Q2FjaGVkKCk7XG4gICAgcmV0dXJuIGAke3Byb3ZpZGVyLmF0dHJpYnV0ZXMubmFtZS5zbGljZSgwLCAzKS50b1VwcGVyQ2FzZSgpfS0ke3RpdGxlLnJlcGxhY2UoL1xccysvZ20sICctJykudG9Mb3dlckNhc2UoKX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZWNpcGUocHJvdmlkZXJJZDogc3RyaW5nLCBleHRJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxsKHtcbiAgICAgIGJlZm9yZXBhdGg6IGByZWNpcGUtcHJvdmlkZXJzLyR7cHJvdmlkZXJJZH1gLFxuICAgICAgcmVtb3RlZmlsdGVyOiB7XG4gICAgICAgICdleHQtaWQnOiBleHRJZCxcbiAgICAgICAgYWN0aXZlOiAndHJ1ZSxmYWxzZSdcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBoZWxwIHVzIHRvIGtlZXAgYSB0cmFjayBvZiByYW5kb21cbiAgICogYW5kIGF2b2lkIHRvIHNob3cgc2FtZSByZWNpcGUgbXV0aXBsZSB0aW1lc1xuICAgKi9cbiAgcHJpdmF0ZSBpbnRSYW5kb21TZWVkKCk6IHZvaWQge1xuICAgIHRoaXMucmFuZG9tU2VlZCA9IERhdGUubm93KCk7XG4gIH1cblxufVxuIl19
@@ -135,7 +135,7 @@ function RecipeCardComponent_div_0_div_12_Template(rf, ctx) { if (rf & 1) {
135
135
  i0.ɵɵadvance(1);
136
136
  i0.ɵɵproperty("iconName", ctx_r9.icon.Ingredients);
137
137
  i0.ɵɵadvance(2);
138
- i0.ɵɵtextInterpolate1("", ctx_r9.recipe == null ? null : ctx_r9.recipe.ingredients.length, " ingredients");
138
+ i0.ɵɵtextInterpolate1("", ctx_r9.recipe == null ? null : ctx_r9.recipe.ingredients.length, " ingr\u00E9dients");
139
139
  } }
140
140
  function RecipeCardComponent_div_0_div_13_Template(rf, ctx) { if (rf & 1) {
141
141
  i0.ɵɵelementStart(0, "div", 48);
@@ -510,4 +510,4 @@ RecipeCardComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeCardComponent,
510
510
  }], guestsChanged: [{
511
511
  type: Output
512
512
  }] }); })();
513
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLWNhcmQvcmVjaXBlLWNhcmQuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtY2FyZC9yZWNpcGUtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0lDTnBCLCtCQUNFO0lBQUEsNkNBQ0Y7SUFBQSxpQkFBTTs7O0lBSFIsNkJBQ0U7SUFBQSxnR0FDRTs7SUFFSiwwQkFBZTs7O0lBSFIsZUFBa0U7SUFBbEUsNElBQWtFOzs7SUFLekUsK0JBQ0U7SUFBQSxtQ0FBdUc7SUFDekcsaUJBQU07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QVIvQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsV0FBVyxFQUFFLDhCQUE4QjtnQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7Z0JBQzNDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDs7c0JBY0ksTUFBTTt1QkFBQyxpQkFBaUI7O3NCQUN4QixNQUFNO3VCQUFDLGNBQWM7O3NCQUNyQixNQUFNO3VCQUFDLG1CQUFtQjs7c0JBQzFCLE1BQU07dUJBQUMscUJBQXFCOztzQkFDNUIsTUFBTTt1QkFBQyxXQUFXOztzQkFDbEIsTUFBTTt1QkFBQyxtQkFBbUI7O3NCQUMxQixNQUFNO3VCQUFDLGNBQWM7Z0ZBakJmLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDSSxtQkFBbUI7a0JBQTVCLE1BQU07WUFDRyxTQUFTO2tCQUFsQixNQUFNO1lBQ0csYUFBYTtrQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgSW5qZWN0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgRWxlbWVudFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0UmVjaXBlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL19jb21wb25lbnRzL2Fic3RyYWN0cy9hYnN0cmFjdC1yZWNpcGUtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVjaXBlc1NlcnZpY2UsIEdyb2Nlcmllc0xpc3RzU2VydmljZSwgQ29udGV4dFNlcnZpY2UsIFJlY2lwZUV2ZW50c1NlcnZpY2UsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IFBvaW50T2ZTYWxlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvcG9pbnQtb2Ytc2FsZXMuc2VydmljZSc7XG5pbXBvcnQgeyBSZWNpcGUgfSBmcm9tICcuLi8uLi9fbW9kZWxzL3JlY2lwZSc7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL2FuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHNraXBXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogVGhpcyBpcyBhbiBhbmd1bGFyIGNvbXBvbmVudCBkZXNpZ24gdG8gYmUgYSB3ZWIgY29tcG9uZW50XG4gKiB0aGF0J3Mgd2h5IHdlIHVzZSBvblB1c2hTdHJhdGVnaWUgd2l0aCB0aGUgY2hhbmdlRGV0ZXRlY3RvclJlZlxuICogdG8gYXZvaWQgY29tbW9uIGlzc3VlXG4gKiBndWlkZSAtPiBodHRwczovL25ldGJhc2FsLmNvbS9hLWNvbXByZWhlbnNpdmUtZ3VpZGUtdG8tYW5ndWxhci1vbnB1c2gtY2hhbmdlLWRldGVjdGlvbi1zdHJhdGVneS01YmFjNDkzMDc0YTRcbiAqIGFuZCBhbHNvdyB3ZSB1c2UgU2hhZG93RG9tIHRvIHByb3RlY3Qgc3R5bGUgb2Ygb3VyIGNvbXBvbmVudFxuICogYW5kIGFsc293IHN0eWxlIG9mIHRoZSBwYXJlbnQgYXBsaWNhdGlvbiB0aGF0IHdpbGwgdXNlIGl0XG4gKiBkb2MgLT4gaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9jb3JlL1ZpZXdFbmNhcHN1bGF0aW9uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tcmVjaXBlLWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjaXBlLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNpcGUtY2FyZC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIFJlY2lwZUNhcmRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFJlY2lwZUNhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSByZWNpcGVJZDogc3RyaW5nO1xuICBASW5wdXQoKSByZWNpcGU6IFJlY2lwZTtcbiAgQE91dHB1dCgpIHJlbW92ZWRGcm9tRmF2b3JpdGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZGlzcGxheWVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZ3Vlc3RzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGlzbG9hZGVkID0gZmFsc2U7XG4gIGNhcmRUeXBlID0gJ3N1Z2dlc3Rpb24tY2FyZCc7XG4gIHByaW1hcnlCdXR0b25DbGlja2VkJCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBJbmplY3QoUmVjaXBlc1NlcnZpY2UpIHJlY2lwZVNlcnZpY2U6IFJlY2lwZXNTZXJ2aWNlLFxuICAgIEBJbmplY3QoUmVjaXBlRXZlbnRzU2VydmljZSkgcmVjaXBlRXZlbnRzU2VydmljZTogUmVjaXBlRXZlbnRzU2VydmljZSxcbiAgICBASW5qZWN0KEdyb2Nlcmllc0xpc3RzU2VydmljZSkgZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlOiBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsXG4gICAgQEluamVjdChVc2VyU2VydmljZSkgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoUG9pbnRPZlNhbGVzU2VydmljZSkgcG9pbnRPZlNhbGVzU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBASW5qZWN0KENvbnRleHRTZXJ2aWNlKSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGFuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWZcbiAgICApIHtcbiAgICBzdXBlcihjZHIsIHJlY2lwZVNlcnZpY2UsIHJlY2lwZUV2ZW50c1NlcnZpY2UsIGdyb2Nlcmllc0xpc3RzU2VydmljZSwgdXNlclNlcnZpY2UsIHBvaW50T2ZTYWxlc1NlcnZpY2UsIGNvbnRleHRTZXJ2aWNlLFxuICAgICAgYW5hbHl0aWNzU2VydmljZSwgZWxlbWVudCk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnJlY2lwZVNlcnZpY2UuZGlzcGxheWVkUmVjaXBlQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpKSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5yZWNpcGUpIHtcbiAgICAgIHRoaXMucmVjaXBlV2FzTG9hZGVkKCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHRoaXMucmVjaXBlSWQpIHtcbiAgICAgIHRoaXMubG9hZFJlY2lwZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlY2lwZVdhc0xvYWRlZCgpIHtcbiAgICB0aGlzLmluaXRJbmdyZWRpZW50c1N0cmluZygpO1xuICAgIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzIHx8PSArdGhpcy5yZWNpcGUuZ3Vlc3RzO1xuICAgIHRoaXMuaXNsb2FkZWQgPSB0cnVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHJlbW92ZUZyb21GYXZvcml0ZSgpIHtcbiAgICB0aGlzLnJlbW92ZWRGcm9tRmF2b3JpdGUuZW1pdCh0aGlzLnJlY2lwZSk7XG4gIH1cblxuICBvcGVuUmVjaXBlKCkge1xuICAgIGNvbnN0IHZpZGVvRXZlbnQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnZpZGVvUmVjaXBlc0VuYWJsZWQgJiYgdGhpcy5yZWNpcGUudmlkZW9JZDtcbiAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2Uuc2VuZEV2ZW50KCdkaXNwbGF5LXJlY2lwZScsIHZpZGVvRXZlbnQgPyBgJHt0aGlzLmNhcmRUeXBlfS92aWRlb2AgOiB0aGlzLmNhcmRUeXBlKTtcbiAgICB0aGlzLnJlY2lwZVNlcnZpY2UuZGlzcGxheU9iamVjdCh0aGlzLnJlY2lwZSwgeyBndWVzdHMgOiB0aGlzLnJlY2lwZS5tb2RpZmllZEd1ZXN0cyB9KTtcbiAgICB0aGlzLmRpc3BsYXllZC5lbWl0KCk7XG4gIH1cblxuICB1cGRhdGVHdWVzdHMoY291bnQpIHtcbiAgICB0aGlzLnJlY2lwZS5tb2RpZmllZEd1ZXN0cyA9IGNvdW50O1xuICAgIGlmICh0aGlzLnJlY2lwZUlkKSB7IHRoaXMuX3VwZGF0ZUJhc2tldCgpOyB9IC8vIElmIHJlY2lwZSB3YXMgbG9hZGVkIGhlcmUsIHdlIG5lZWQgdG8gcHJvY2VzcyBiYXNrZXQgdXBkYXRlcyBoZXJlXG4gICAgdGhpcy5ndWVzdHNDaGFuZ2VkLmVtaXQoY291bnQpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIF91cGRhdGVCYXNrZXQoKSB7XG4gICAgLy8gSWYgcmVjaXBlIGFscmVhZHkgaW4gYmFza2V0LCB1cGRhdGUgdGhlIG51bWJlciBvZiBndWVzdHMgc28gdGhhdCB0aGUgcHJpY2luZyBnZXRzIHVwZGF0ZWQgYXMgd2VsbFxuICAgIC8vIChkaXNwbGF5ID0gZmFsc2Ugc28gdGhhdCB0aGUgcmVjaXBlIGRldGFpbHMgZG9uJ3Qgc2hvdyB1cClcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLnJlY2lwZUlzSW5MaXN0KHRoaXMucmVjaXBlSWQpLnN1YnNjcmliZShyZWNpcGVJc0luTGlzdCA9PiB7XG4gICAgICAgIGlmIChyZWNpcGVJc0luTGlzdCl7XG4gICAgICAgICAgdGhpcy5hZGRSZWNpcGUoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHJlY2lwZSB0byBsaXN0IG9uIHByaW1hcnkgYnV0dG9uIGNsaWNrIGFuZCBlbWl0IHRydWUgaWYgdGhlIHJlY2lwZSBpcyBhZGRlZCwgZmFsc2UgaWYgcmVjaXBlIGlzIG5vdCBhZGRlZFxuICAgKiBzbyBsaWIgdXNlcnMgY2FuIGRlY2lkZSB0aGF0IHByaW1hcnlCdXR0b25DbGlja2VkJC5lbWl0KGZhbHNlKSByZW1vdmVzIHRoZSByZWNpcGUgZm9yIGV4YW1wbGVcbiAgICovXG4gIGNsaWNrUHJpbWFyeSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYWRkQnV0dG9uTG9hZGluZykge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgIHRoaXMuZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLnJlY2lwZUlzSW5MaXN0KHRoaXMucmVjaXBlLmlkKS5zdWJzY3JpYmUocmVjaXBlSXNJbkxpc3QgPT4ge1xuICAgICAgICAgIGNvbnN0IHdhc0FkZGVkID0gIXJlY2lwZUlzSW5MaXN0O1xuICAgICAgICAgIGlmICh0aGlzLmNhcmRUeXBlICE9PSAnc3VnZ2VzdGlvbi1jYXJkJykge1xuICAgICAgICAgICAgdGhpcy5hZGRSZWNpcGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSB7IC8vIGN1c3RvbWl6YWJsZSBhY3Rpb25zIGZvciBzdWdnZXN0aW9uc1xuICAgICAgICAgICAgaWYgKHRoaXMucmVjaXBlU2VydmljZS5zdWdnZXN0aW9uc1ByaW1hcnlCdXR0b25BY3Rpb25zLmFkZFRvQmFza2V0KSB7XG4gICAgICAgICAgICAgIC8vIElmIHJlY2lwZSBpcyBhZGRlZCB3ZSBzdGlsbCB3YW50IHRvIGRpcGxheSBkZXRhaWxzXG4gICAgICAgICAgICAgIHRoaXMuYWRkUmVjaXBlKHRoaXMucmVjaXBlU2VydmljZS5zdWdnZXN0aW9uc1ByaW1hcnlCdXR0b25BY3Rpb25zLmRpc3BsYXkgfHwgIXdhc0FkZGVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICBpZiAodGhpcy5yZWNpcGVTZXJ2aWNlLnN1Z2dlc3Rpb25zUHJpbWFyeUJ1dHRvbkFjdGlvbnMuZGlzcGxheSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlblJlY2lwZSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMucHJpbWFyeUJ1dHRvbkNsaWNrZWQkLmVtaXQoIXJlY2lwZUlzSW5MaXN0KTsgLy8gIXJlY2lwZUlzSW5MaXN0ID0gYWRkIGFjdGlvbiwgc28gd2UgZW1pdCB0cnVlXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZFJlY2lwZSgpIHtcbiAgICB0aGlzLnJlY2lwZVNlcnZpY2UuZ2V0KHRoaXMucmVjaXBlSWQsXG4gICAgICB7IGluY2x1ZGU6IFsnaW5ncmVkaWVudHMnLCAncmVjaXBlLXN0ZXBzJywgJ3JlY2lwZS1zdGF0dXMnLCAncmVjaXBlLXR5cGUnLCAnc3BvbnNvcnMnLCAndGFncycgXSB9XG4gICAgICApLnBpcGUoXG4gICAgc2tpcFdoaWxlKHJlc3VsdCA9PiByZXN1bHQuaXNfbG9hZGluZyksXG4gICAgY2F0Y2hFcnJvciggZXJyID0+IHtcbiAgICAgIHRoaXMuaGlkZS5lbWl0KCk7XG4gICAgICByZXR1cm4gb2YoZXJyKTtcbiAgICAgIH0pLFxuICAgICkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICB0aGlzLnJlY2lwZSA9IHJlc3VsdDtcbiAgICAgIGlmICh0aGlzLnJlY2lwZSkge1xuICAgICAgICB0aGlzLnJlY2lwZVdhc0xvYWRlZCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPSdpc2xvYWRlZCcgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkXCI+XG4gIDwhLS0gSGVhZGVyIC0tPlxuICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9faGVhZGVyXCI+XG4gICAgPHNwYW4+IHt7aGVhZGVyVGV4dH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInJlY2lwZSBlbHNlIHBpY3RTa2VsZXRvblwiIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fcGljdHVyZVwiIChjbGljayk9XCJvcGVuUmVjaXBlKClcIj5cbiAgICA8IS0tIFBpY3R1cmUgLS0+XG4gICAgPGltZyBbc3JjXT1cInJlY2lwZT8uYXR0cmlidXRlc1snbWVkaWEtdXJsJ11cIiBsb2FkaW5nPVwibGF6eVwiPlxuICAgIDwhLS0gR3JhZGllbnQgLS0+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3BpY3R1cmVfX2dyYWRpZW50XCI+PC9kaXY+XG4gICAgPCEtLSBEw6lqw6AgYWpvdXTDqWUgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlY2lwZSAmJiBkaXNwbGF5QWRkZWRPblBpY3R1cmVcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCIoZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLnJlY2lwZUlzSW5MaXN0KHJlY2lwZT8uaWQpIHwgYXN5bmMpXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19waWN0dXJlX190YWdcIj5cbiAgICAgICAgRMOpasOgICBham91dMOpZVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSBWaWRlbyAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiY29udGV4dFNlcnZpY2UudmlkZW9SZWNpcGVzRW5hYmxlZCAmJiByZWNpcGU/LnZpZGVvSWRcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3BpY3R1cmVfX3ZpZGVvXCI+XG4gICAgICA8bmctbWlhbS1pY29uIFtpY29uTmFtZV09XCJpY29uLlZpZGVvXCIgW3dpZHRoXT1cIjEwMFwiIFtoZWlnaHRdPVwiMTAwXCIgcHJpbWFyeUNvbG9yPSdibGFjayc+PC9uZy1taWFtLWljb24+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBMaWtlLCBzaGFyZSAmIGNhbGVuZGFyIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19waWN0dXJlX19hY3Rpb25zXCI+XG4gICAgICA8bmctbWlhbS1saWtlLWJ1dHRvbiAqbmdJZj1cInVzZXJTZXJ2aWNlLmlzTG9nZ2VkJCB8IGFzeW5jXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hY3Rpb25zX19pY29uIG1pYW0tbm9QYWRkaW5nXCIgW3JlY2lwZV09J3JlY2lwZSc+PC9uZy1taWFtLWxpa2UtYnV0dG9uPlxuICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2FjdGlvbnNfX2ljb25cIiAoY2xpY2spPSdvcGVuQ2FsZW5kYXIoJGV2ZW50KSdcbiAgICAgICAgW2ljb25OYW1lXT1cImljb24uQ2FsZW5kYXJcIiBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3ItcHJpbWFyeSknPjwvbmctbWlhbS1pY29uPlxuICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2FjdGlvbnNfX2ljb25cIiAoY2xpY2spPSdzaGFyZVJlY2lwZSgkZXZlbnQpJ1xuICAgICAgICBbaWNvbk5hbWVdPVwiaWNvbi5TaGFyZVwiIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1wcmltYXJ5KSc+PC9uZy1taWFtLWljb24+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBTcG9uc29yIGxvZ28gLS0+XG4gICAgPGltZyAqbmdJZj1cInJlY2lwZS5maWxpZ3JhbmVMb2dvVXJsXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19waWN0dXJlX19zcG9uc29yXCIgW3NyY109cmVjaXBlLmZpbGlncmFuZUxvZ29Vcmw+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI3BpY3RTa2VsZXRvbj5cbiAgICA8bmctbWlhbS1za2VsZXRvbiBbdHlwZV09J3NrZWxldG9uLlBpY3R1cmUnPjwvbmctbWlhbS1za2VsZXRvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2F0dHJpYnV0ZXNcIj5cbiAgICA8ZGl2ICpuZ0lmPVwicmVjaXBlIGVsc2UgdGV4dFNrZWxldG9uXCI+XG4gICAgICA8IS0tIFRpdGxlIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2F0dHJpYnV0ZXNfX3RpdGxlXCIgKGNsaWNrKT1cIm9wZW5SZWNpcGUoKVwiPlxuICAgICAgICB7e3JlY2lwZT8uYXR0cmlidXRlc1sndGl0bGUnXX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gSW5ncmVkaWVudHMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fYXR0cmlidXRlc19faW5ncmVkaWVudHNcIj57e2luZ3JlZGllbnRzQ29uY2F0TmFtZSB8IGNhcGl0YWxpemVGaXJzdExldHRlcn19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlICN0ZXh0U2tlbGV0b24+XG4gICAgICA8bmctbWlhbS1za2VsZXRvbiBbdHlwZV09J3NrZWxldG9uLlRleHQnPjwvbmctbWlhbS1za2VsZXRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hdHRyaWJ1dGVzX19pbmZvc1wiPlxuICAgICAgPCEtLSBOdW1iZXIgb2YgaW5ncmVkaWVudHMgLS0+XG4gICAgICA8ZGl2ICpuZ0lmPSdyZWNpcGUgZWxzZSBza2VsZXRvbkluZm8nIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fYXR0cmlidXRlc19faW5mbyAgcmVjaXBlX19pbmdyZWRpZW50c1wiPlxuICAgICAgICA8bmctbWlhbS1pY29uIFtpY29uTmFtZV09XCJpY29uLkluZ3JlZGllbnRzXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9faW5mb19fbGFiZWxcIj57eyByZWNpcGU/LmluZ3JlZGllbnRzLmxlbmd0aCB9fSBpbmdyZWRpZW50czwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBUb3RhbCB0aW1lIC0tPlxuICAgICAgPGRpdiAqbmdJZj0ncmVjaXBlIGVsc2Ugc2tlbGV0b25JbmZvJyBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2F0dHJpYnV0ZXNfX2luZm8gIHJlY2lwZV9fdG90YWxfX3RpbWVcIj5cbiAgICAgICAgPG5nLW1pYW0taWNvbiBbaWNvbk5hbWVdPVwiaWNvbi5UaW1lXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9faW5mb19fbGFiZWxcIj57eyByZWNpcGU/LnRvdGFsVGltZSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBEaWZmaWN1bHR5IC0tPlxuICAgICAgPGRpdiAqbmdJZj0ncmVjaXBlIGVsc2Ugc2tlbGV0b25JbmZvJyBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2F0dHJpYnV0ZXNfX2luZm8gcmVjaXBlX19kaWZmaWN1bHR5XCIgW25nQ2xhc3NdPVwieyAnZWFzeSc6IHJlY2lwZT8uZGlmZmljdWx0eUxhYmVsID09PSAnZmFjaWxlJyxcbiAgICAgICdtZWRpdW0nOiByZWNpcGU/LmRpZmZpY3VsdHlMYWJlbCA9PT0gJ21veWVuJywgJ2hhcmQnOiByZWNpcGU/LmRpZmZpY3VsdHlMYWJlbCA9PT0gJ2RpZmZpY2lsZScgfVwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJyZWNpcGU/LmRpZmZpY3VsdHlMYWJlbFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidmYWNpbGUnXCI+XG4gICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIzMlwiIFtoZWlnaHRdPVwiMTZcIiBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3Itc2Vjb25kYXJ5KSdcbiAgICAgICAgICAgICAgW2ljb25OYW1lXT1cImljb24uRGlmZmljdWx0eUxvd1wiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtb3llbidcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjMyXCIgW2hlaWdodF09XCIxNlwiIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1zZWNvbmRhcnkpJ1xuICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwiaWNvbi5EaWZmaWN1bHR5TWVkaXVtXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RpZmZpY2lsZSdcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjMyXCIgW2hlaWdodF09XCIxNlwiIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1zZWNvbmRhcnkpJ1xuICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwiaWNvbi5EaWZmaWN1bHR5SGlnaHRcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2luZm9fX2xhYmVsXCI+XG4gICAgICAgICAge3tyZWNpcGU/LmRpZmZpY3VsdHlMYWJlbH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNza2VsZXRvbkluZm8+XG4gICAgICAgIDxuZy1taWFtLXNrZWxldG9uIFt0eXBlXT0nc2tlbGV0b24/Lkljb25XaXRoSW5mbyc+PC9uZy1taWFtLXNrZWxldG9uPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fYXR0cmlidXRlc19fY29udHJvbFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2NvbnRyb2xfX2xlZnRfX2NvbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fbGVmdF9fY29sX19jdXN0b21cIj5cbiAgICAgICAgICA8IS0tIEhlbHBlciAtLT5cbiAgICAgICAgICA8ZGl2IChjbGljayk9XCJ0b2dnbGVIZWxwZXIoKVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9faGVscFwiPlxuICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiMjRcIiBbaGVpZ2h0XT1cIjI0XCIgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXByaW1hcnkpJ1xuICAgICAgICAgICAgW2ljb25OYW1lXT1cImljb24uSGVscFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwhLS0gSW5ncmVkaWVudCBwaWN0dXJlcyAtLT5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImNvbnRleHRTZXJ2aWNlLmRpc3BsYXlJbmdyZWRpZW50UGljdHVyZXNPblJlY2lwZUNhcmRzICYmIHJlY2lwZT8ubW9kaWZpZWRJbmdyZWRpZW50cz8ubGVuZ3RoID4gMVwiXG4gICAgICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2luZ3JlZGllbnRzX19waWN0dXJlc1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2luZ3JlZGllbnRzX19waWN0dXJlXCI+XG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbmdyZWRpZW50UGljdHVyZShyZWNpcGUubW9kaWZpZWRJbmdyZWRpZW50c1swXSlcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2luZ3JlZGllbnRzX19waWN0dXJlXCI+XG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbmdyZWRpZW50UGljdHVyZShyZWNpcGUubW9kaWZpZWRJbmdyZWRpZW50c1sxXSlcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2luZ3JlZGllbnRzX19tb3JlXCIgKm5nSWY9XCJyZWNpcGUubW9kaWZpZWRJbmdyZWRpZW50cy5sZW5ndGggPiAyXCI+XG4gICAgICAgICAgICAgICsge3tyZWNpcGUubW9kaWZpZWRJbmdyZWRpZW50cy5sZW5ndGggLSAyfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBDb3VudGVyIGlucHV0IC0tPlxuICAgICAgICA8ZGl2ICpuZ0lmPSdyZWNpcGUgZWxzZSBza2VsZXRvbmNvdW50ZXInIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fbGVmdF9fY29sX19jb3VudGVyXCI+XG4gICAgICAgICAgPG5nLW1pYW0tY291bnRlci1pbnB1dCBbY291bnRlcl09XCJyZWNpcGUubW9kaWZpZWRHdWVzdHNcIiAoY291bnRlckNoYW5nZSk9XCJ1cGRhdGVHdWVzdHMoJGV2ZW50KVwiPjwvbmctbWlhbS1jb3VudGVyLWlucHV0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNza2VsZXRvbmNvdW50ZXI+XG4gICAgICAgICAgPG5nLW1pYW0tc2tlbGV0b24gW3R5cGVdPSdza2VsZXRvbj8uSWNvbldpdGhJbmZvJz48L25nLW1pYW0tc2tlbGV0b24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19jb250cm9sX19yaWdodF9fY29sXCI+XG4gICAgICAgIDwhLS0gUHJpY2UgLS0+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJyZWNpcGUgJiYgZGlzcGxheVByaWNpbmdcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3JpZ2h0X19jb2xfX3ByaWNlXCI+XG4gICAgICAgICAgPG5nLW1pYW0tcmVjaXBlLXByaWNpbmcgW3JlY2lwZV09XCJyZWNpcGVcIiBbc2VydmVzXT1cInJlY2lwZT8ubW9kaWZpZWRHdWVzdHNcIj48L25nLW1pYW0tcmVjaXBlLXByaWNpbmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIEFkZCB0byBiYXNrZXQgLS0+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPSchcmVjaXBlJyAoY2xpY2spPVwiY2xpY2tQcmltYXJ5KClcIiAgY2xhc3M9XCJtLWJ1dHRvbi1mYWItcHJpbWFyeVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnaW4tYmFza2V0JzogKGdyb2Nlcmllc0xpc3RzU2VydmljZS5yZWNpcGVJc0luTGlzdChyZWNpcGU/LmlkKSB8IGFzeW5jKSwgJ2xvYWRpbmcnOiBhZGRCdXR0b25Mb2FkaW5nfVwiPlxuICAgICAgICAgICAgPG5nLW1pYW0taWNvbiAqbmdJZj1cIiFhZGRCdXR0b25Mb2FkaW5nIGVsc2UgYWRkTG9hZGVyXCIgW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0nI2ZmZidcbiAgICAgICAgICAgICAgW2ljb25OYW1lXT1cIihncm9jZXJpZXNMaXN0c1NlcnZpY2UucmVjaXBlSXNJbkxpc3QocmVjaXBlPy5pZCkgfCBhc3luYykgPyBpY29uLkNoZWNrTGlzdCAgOmljb24uQ2FydFwiPlxuICAgICAgICAgICAgPC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2FkZExvYWRlcj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0tbG9hZGVyPjwvbmctbWlhbS1sb2FkZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNjb3JzPlxuICA8bmctbWlhbS1jb3JzLW92ZXJsYXk+PC9uZy1taWFtLWNvcnMtb3ZlcmxheT5cbjwvbmctdGVtcGxhdGU+Il19
513
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLWNhcmQvcmVjaXBlLWNhcmQuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtY2FyZC9yZWNpcGUtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0lDTnBCLCtCQUNFO0lBQUEsNkNBQ0Y7SUFBQSxpQkFBTTs7O0lBSFIsNkJBQ0U7SUFBQSxnR0FDRTs7SUFFSiwwQkFBZTs7O0lBSFIsZUFBa0U7SUFBbEUsNElBQWtFOzs7SUFLekUsK0JBQ0U7SUFBQSxtQ0FBdUc7SUFDekcsaUJBQU07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QVIvQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsV0FBVyxFQUFFLDhCQUE4QjtnQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7Z0JBQzNDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDs7c0JBY0ksTUFBTTt1QkFBQyxpQkFBaUI7O3NCQUN4QixNQUFNO3VCQUFDLGNBQWM7O3NCQUNyQixNQUFNO3VCQUFDLG1CQUFtQjs7c0JBQzFCLE1BQU07dUJBQUMscUJBQXFCOztzQkFDNUIsTUFBTTt1QkFBQyxXQUFXOztzQkFDbEIsTUFBTTt1QkFBQyxtQkFBbUI7O3NCQUMxQixNQUFNO3VCQUFDLGNBQWM7Z0ZBakJmLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDSSxtQkFBbUI7a0JBQTVCLE1BQU07WUFDRyxTQUFTO2tCQUFsQixNQUFNO1lBQ0csYUFBYTtrQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgSW5qZWN0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgRWxlbWVudFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0UmVjaXBlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL19jb21wb25lbnRzL2Fic3RyYWN0cy9hYnN0cmFjdC1yZWNpcGUtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVjaXBlc1NlcnZpY2UsIEdyb2Nlcmllc0xpc3RzU2VydmljZSwgQ29udGV4dFNlcnZpY2UsIFJlY2lwZUV2ZW50c1NlcnZpY2UsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IFBvaW50T2ZTYWxlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvcG9pbnQtb2Ytc2FsZXMuc2VydmljZSc7XG5pbXBvcnQgeyBSZWNpcGUgfSBmcm9tICcuLi8uLi9fbW9kZWxzL3JlY2lwZSc7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL2FuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHNraXBXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogVGhpcyBpcyBhbiBhbmd1bGFyIGNvbXBvbmVudCBkZXNpZ24gdG8gYmUgYSB3ZWIgY29tcG9uZW50XG4gKiB0aGF0J3Mgd2h5IHdlIHVzZSBvblB1c2hTdHJhdGVnaWUgd2l0aCB0aGUgY2hhbmdlRGV0ZXRlY3RvclJlZlxuICogdG8gYXZvaWQgY29tbW9uIGlzc3VlXG4gKiBndWlkZSAtPiBodHRwczovL25ldGJhc2FsLmNvbS9hLWNvbXByZWhlbnNpdmUtZ3VpZGUtdG8tYW5ndWxhci1vbnB1c2gtY2hhbmdlLWRldGVjdGlvbi1zdHJhdGVneS01YmFjNDkzMDc0YTRcbiAqIGFuZCBhbHNvdyB3ZSB1c2UgU2hhZG93RG9tIHRvIHByb3RlY3Qgc3R5bGUgb2Ygb3VyIGNvbXBvbmVudFxuICogYW5kIGFsc293IHN0eWxlIG9mIHRoZSBwYXJlbnQgYXBsaWNhdGlvbiB0aGF0IHdpbGwgdXNlIGl0XG4gKiBkb2MgLT4gaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9jb3JlL1ZpZXdFbmNhcHN1bGF0aW9uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tcmVjaXBlLWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjaXBlLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNpcGUtY2FyZC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIFJlY2lwZUNhcmRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFJlY2lwZUNhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSByZWNpcGVJZDogc3RyaW5nO1xuICBASW5wdXQoKSByZWNpcGU6IFJlY2lwZTtcbiAgQE91dHB1dCgpIHJlbW92ZWRGcm9tRmF2b3JpdGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZGlzcGxheWVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZ3Vlc3RzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGlzbG9hZGVkID0gZmFsc2U7XG4gIGNhcmRUeXBlID0gJ3N1Z2dlc3Rpb24tY2FyZCc7XG4gIHByaW1hcnlCdXR0b25DbGlja2VkJCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBJbmplY3QoUmVjaXBlc1NlcnZpY2UpIHJlY2lwZVNlcnZpY2U6IFJlY2lwZXNTZXJ2aWNlLFxuICAgIEBJbmplY3QoUmVjaXBlRXZlbnRzU2VydmljZSkgcmVjaXBlRXZlbnRzU2VydmljZTogUmVjaXBlRXZlbnRzU2VydmljZSxcbiAgICBASW5qZWN0KEdyb2Nlcmllc0xpc3RzU2VydmljZSkgZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlOiBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsXG4gICAgQEluamVjdChVc2VyU2VydmljZSkgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoUG9pbnRPZlNhbGVzU2VydmljZSkgcG9pbnRPZlNhbGVzU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBASW5qZWN0KENvbnRleHRTZXJ2aWNlKSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGFuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWZcbiAgICApIHtcbiAgICBzdXBlcihjZHIsIHJlY2lwZVNlcnZpY2UsIHJlY2lwZUV2ZW50c1NlcnZpY2UsIGdyb2Nlcmllc0xpc3RzU2VydmljZSwgdXNlclNlcnZpY2UsIHBvaW50T2ZTYWxlc1NlcnZpY2UsIGNvbnRleHRTZXJ2aWNlLFxuICAgICAgYW5hbHl0aWNzU2VydmljZSwgZWxlbWVudCk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnJlY2lwZVNlcnZpY2UuZGlzcGxheWVkUmVjaXBlQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpKSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5yZWNpcGUpIHtcbiAgICAgIHRoaXMucmVjaXBlV2FzTG9hZGVkKCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHRoaXMucmVjaXBlSWQpIHtcbiAgICAgIHRoaXMubG9hZFJlY2lwZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlY2lwZVdhc0xvYWRlZCgpIHtcbiAgICB0aGlzLmluaXRJbmdyZWRpZW50c1N0cmluZygpO1xuICAgIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzIHx8PSArdGhpcy5yZWNpcGUuZ3Vlc3RzO1xuICAgIHRoaXMuaXNsb2FkZWQgPSB0cnVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHJlbW92ZUZyb21GYXZvcml0ZSgpIHtcbiAgICB0aGlzLnJlbW92ZWRGcm9tRmF2b3JpdGUuZW1pdCh0aGlzLnJlY2lwZSk7XG4gIH1cblxuICBvcGVuUmVjaXBlKCkge1xuICAgIGNvbnN0IHZpZGVvRXZlbnQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnZpZGVvUmVjaXBlc0VuYWJsZWQgJiYgdGhpcy5yZWNpcGUudmlkZW9JZDtcbiAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2Uuc2VuZEV2ZW50KCdkaXNwbGF5LXJlY2lwZScsIHZpZGVvRXZlbnQgPyBgJHt0aGlzLmNhcmRUeXBlfS92aWRlb2AgOiB0aGlzLmNhcmRUeXBlKTtcbiAgICB0aGlzLnJlY2lwZVNlcnZpY2UuZGlzcGxheU9iamVjdCh0aGlzLnJlY2lwZSwgeyBndWVzdHMgOiB0aGlzLnJlY2lwZS5tb2RpZmllZEd1ZXN0cyB9KTtcbiAgICB0aGlzLmRpc3BsYXllZC5lbWl0KCk7XG4gIH1cblxuICB1cGRhdGVHdWVzdHMoY291bnQpIHtcbiAgICB0aGlzLnJlY2lwZS5tb2RpZmllZEd1ZXN0cyA9IGNvdW50O1xuICAgIGlmICh0aGlzLnJlY2lwZUlkKSB7IHRoaXMuX3VwZGF0ZUJhc2tldCgpOyB9IC8vIElmIHJlY2lwZSB3YXMgbG9hZGVkIGhlcmUsIHdlIG5lZWQgdG8gcHJvY2VzcyBiYXNrZXQgdXBkYXRlcyBoZXJlXG4gICAgdGhpcy5ndWVzdHNDaGFuZ2VkLmVtaXQoY291bnQpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIF91cGRhdGVCYXNrZXQoKSB7XG4gICAgLy8gSWYgcmVjaXBlIGFscmVhZHkgaW4gYmFza2V0LCB1cGRhdGUgdGhlIG51bWJlciBvZiBndWVzdHMgc28gdGhhdCB0aGUgcHJpY2luZyBnZXRzIHVwZGF0ZWQgYXMgd2VsbFxuICAgIC8vIChkaXNwbGF5ID0gZmFsc2Ugc28gdGhhdCB0aGUgcmVjaXBlIGRldGFpbHMgZG9uJ3Qgc2hvdyB1cClcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLnJlY2lwZUlzSW5MaXN0KHRoaXMucmVjaXBlSWQpLnN1YnNjcmliZShyZWNpcGVJc0luTGlzdCA9PiB7XG4gICAgICAgIGlmIChyZWNpcGVJc0luTGlzdCl7XG4gICAgICAgICAgdGhpcy5hZGRSZWNpcGUoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHJlY2lwZSB0byBsaXN0IG9uIHByaW1hcnkgYnV0dG9uIGNsaWNrIGFuZCBlbWl0IHRydWUgaWYgdGhlIHJlY2lwZSBpcyBhZGRlZCwgZmFsc2UgaWYgcmVjaXBlIGlzIG5vdCBhZGRlZFxuICAgKiBzbyBsaWIgdXNlcnMgY2FuIGRlY2lkZSB0aGF0IHByaW1hcnlCdXR0b25DbGlja2VkJC5lbWl0KGZhbHNlKSByZW1vdmVzIHRoZSByZWNpcGUgZm9yIGV4YW1wbGVcbiAgICovXG4gIGNsaWNrUHJpbWFyeSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYWRkQnV0dG9uTG9hZGluZykge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgIHRoaXMuZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLnJlY2lwZUlzSW5MaXN0KHRoaXMucmVjaXBlLmlkKS5zdWJzY3JpYmUocmVjaXBlSXNJbkxpc3QgPT4ge1xuICAgICAgICAgIGNvbnN0IHdhc0FkZGVkID0gIXJlY2lwZUlzSW5MaXN0O1xuICAgICAgICAgIGlmICh0aGlzLmNhcmRUeXBlICE9PSAnc3VnZ2VzdGlvbi1jYXJkJykge1xuICAgICAgICAgICAgdGhpcy5hZGRSZWNpcGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSB7IC8vIGN1c3RvbWl6YWJsZSBhY3Rpb25zIGZvciBzdWdnZXN0aW9uc1xuICAgICAgICAgICAgaWYgKHRoaXMucmVjaXBlU2VydmljZS5zdWdnZXN0aW9uc1ByaW1hcnlCdXR0b25BY3Rpb25zLmFkZFRvQmFza2V0KSB7XG4gICAgICAgICAgICAgIC8vIElmIHJlY2lwZSBpcyBhZGRlZCB3ZSBzdGlsbCB3YW50IHRvIGRpcGxheSBkZXRhaWxzXG4gICAgICAgICAgICAgIHRoaXMuYWRkUmVjaXBlKHRoaXMucmVjaXBlU2VydmljZS5zdWdnZXN0aW9uc1ByaW1hcnlCdXR0b25BY3Rpb25zLmRpc3BsYXkgfHwgIXdhc0FkZGVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICBpZiAodGhpcy5yZWNpcGVTZXJ2aWNlLnN1Z2dlc3Rpb25zUHJpbWFyeUJ1dHRvbkFjdGlvbnMuZGlzcGxheSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlblJlY2lwZSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMucHJpbWFyeUJ1dHRvbkNsaWNrZWQkLmVtaXQoIXJlY2lwZUlzSW5MaXN0KTsgLy8gIXJlY2lwZUlzSW5MaXN0ID0gYWRkIGFjdGlvbiwgc28gd2UgZW1pdCB0cnVlXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZFJlY2lwZSgpIHtcbiAgICB0aGlzLnJlY2lwZVNlcnZpY2UuZ2V0KHRoaXMucmVjaXBlSWQsXG4gICAgICB7IGluY2x1ZGU6IFsnaW5ncmVkaWVudHMnLCAncmVjaXBlLXN0ZXBzJywgJ3JlY2lwZS1zdGF0dXMnLCAncmVjaXBlLXR5cGUnLCAnc3BvbnNvcnMnLCAndGFncycgXSB9XG4gICAgICApLnBpcGUoXG4gICAgc2tpcFdoaWxlKHJlc3VsdCA9PiByZXN1bHQuaXNfbG9hZGluZyksXG4gICAgY2F0Y2hFcnJvciggZXJyID0+IHtcbiAgICAgIHRoaXMuaGlkZS5lbWl0KCk7XG4gICAgICByZXR1cm4gb2YoZXJyKTtcbiAgICAgIH0pLFxuICAgICkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICB0aGlzLnJlY2lwZSA9IHJlc3VsdDtcbiAgICAgIGlmICh0aGlzLnJlY2lwZSkge1xuICAgICAgICB0aGlzLnJlY2lwZVdhc0xvYWRlZCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPSdpc2xvYWRlZCcgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkXCI+XG4gIDwhLS0gSGVhZGVyIC0tPlxuICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9faGVhZGVyXCI+XG4gICAgPHNwYW4+IHt7aGVhZGVyVGV4dH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInJlY2lwZSBlbHNlIHBpY3RTa2VsZXRvblwiIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fcGljdHVyZVwiIChjbGljayk9XCJvcGVuUmVjaXBlKClcIj5cbiAgICA8IS0tIFBpY3R1cmUgLS0+XG4gICAgPGltZyBbc3JjXT1cInJlY2lwZT8uYXR0cmlidXRlc1snbWVkaWEtdXJsJ11cIiBsb2FkaW5nPVwibGF6eVwiPlxuICAgIDwhLS0gR3JhZGllbnQgLS0+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3BpY3R1cmVfX2dyYWRpZW50XCI+PC9kaXY+XG4gICAgPCEtLSBEw6lqw6AgYWpvdXTDqWUgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlY2lwZSAmJiBkaXNwbGF5QWRkZWRPblBpY3R1cmVcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCIoZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLnJlY2lwZUlzSW5MaXN0KHJlY2lwZT8uaWQpIHwgYXN5bmMpXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19waWN0dXJlX190YWdcIj5cbiAgICAgICAgRMOpasOgICBham91dMOpZVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSBWaWRlbyAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiY29udGV4dFNlcnZpY2UudmlkZW9SZWNpcGVzRW5hYmxlZCAmJiByZWNpcGU/LnZpZGVvSWRcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3BpY3R1cmVfX3ZpZGVvXCI+XG4gICAgICA8bmctbWlhbS1pY29uIFtpY29uTmFtZV09XCJpY29uLlZpZGVvXCIgW3dpZHRoXT1cIjEwMFwiIFtoZWlnaHRdPVwiMTAwXCIgcHJpbWFyeUNvbG9yPSdibGFjayc+PC9uZy1taWFtLWljb24+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBMaWtlLCBzaGFyZSAmIGNhbGVuZGFyIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19waWN0dXJlX19hY3Rpb25zXCI+XG4gICAgICA8bmctbWlhbS1saWtlLWJ1dHRvbiAqbmdJZj1cInVzZXJTZXJ2aWNlLmlzTG9nZ2VkJCB8IGFzeW5jXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hY3Rpb25zX19pY29uIG1pYW0tbm9QYWRkaW5nXCIgW3JlY2lwZV09J3JlY2lwZSc+PC9uZy1taWFtLWxpa2UtYnV0dG9uPlxuICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2FjdGlvbnNfX2ljb25cIiAoY2xpY2spPSdvcGVuQ2FsZW5kYXIoJGV2ZW50KSdcbiAgICAgICAgW2ljb25OYW1lXT1cImljb24uQ2FsZW5kYXJcIiBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3ItcHJpbWFyeSknPjwvbmctbWlhbS1pY29uPlxuICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2FjdGlvbnNfX2ljb25cIiAoY2xpY2spPSdzaGFyZVJlY2lwZSgkZXZlbnQpJ1xuICAgICAgICBbaWNvbk5hbWVdPVwiaWNvbi5TaGFyZVwiIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1wcmltYXJ5KSc+PC9uZy1taWFtLWljb24+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBTcG9uc29yIGxvZ28gLS0+XG4gICAgPGltZyAqbmdJZj1cInJlY2lwZS5maWxpZ3JhbmVMb2dvVXJsXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19waWN0dXJlX19zcG9uc29yXCIgW3NyY109cmVjaXBlLmZpbGlncmFuZUxvZ29Vcmw+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI3BpY3RTa2VsZXRvbj5cbiAgICA8bmctbWlhbS1za2VsZXRvbiBbdHlwZV09J3NrZWxldG9uLlBpY3R1cmUnPjwvbmctbWlhbS1za2VsZXRvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2F0dHJpYnV0ZXNcIj5cbiAgICA8ZGl2ICpuZ0lmPVwicmVjaXBlIGVsc2UgdGV4dFNrZWxldG9uXCI+XG4gICAgICA8IS0tIFRpdGxlIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2F0dHJpYnV0ZXNfX3RpdGxlXCIgKGNsaWNrKT1cIm9wZW5SZWNpcGUoKVwiPlxuICAgICAgICB7e3JlY2lwZT8uYXR0cmlidXRlc1sndGl0bGUnXX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gSW5ncmVkaWVudHMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fYXR0cmlidXRlc19faW5ncmVkaWVudHNcIj57e2luZ3JlZGllbnRzQ29uY2F0TmFtZSB8IGNhcGl0YWxpemVGaXJzdExldHRlcn19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlICN0ZXh0U2tlbGV0b24+XG4gICAgICA8bmctbWlhbS1za2VsZXRvbiBbdHlwZV09J3NrZWxldG9uLlRleHQnPjwvbmctbWlhbS1za2VsZXRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hdHRyaWJ1dGVzX19pbmZvc1wiPlxuICAgICAgPCEtLSBOdW1iZXIgb2YgaW5ncmVkaWVudHMgLS0+XG4gICAgICA8ZGl2ICpuZ0lmPSdyZWNpcGUgZWxzZSBza2VsZXRvbkluZm8nIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fYXR0cmlidXRlc19faW5mbyAgcmVjaXBlX19pbmdyZWRpZW50c1wiPlxuICAgICAgICA8bmctbWlhbS1pY29uIFtpY29uTmFtZV09XCJpY29uLkluZ3JlZGllbnRzXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9faW5mb19fbGFiZWxcIj57eyByZWNpcGU/LmluZ3JlZGllbnRzLmxlbmd0aCB9fSBpbmdyw6lkaWVudHM8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gVG90YWwgdGltZSAtLT5cbiAgICAgIDxkaXYgKm5nSWY9J3JlY2lwZSBlbHNlIHNrZWxldG9uSW5mbycgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hdHRyaWJ1dGVzX19pbmZvICByZWNpcGVfX3RvdGFsX190aW1lXCI+XG4gICAgICAgIDxuZy1taWFtLWljb24gW2ljb25OYW1lXT1cImljb24uVGltZVwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2luZm9fX2xhYmVsXCI+e3sgcmVjaXBlPy50b3RhbFRpbWUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gRGlmZmljdWx0eSAtLT5cbiAgICAgIDxkaXYgKm5nSWY9J3JlY2lwZSBlbHNlIHNrZWxldG9uSW5mbycgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hdHRyaWJ1dGVzX19pbmZvIHJlY2lwZV9fZGlmZmljdWx0eVwiIFtuZ0NsYXNzXT1cInsgJ2Vhc3knOiByZWNpcGU/LmRpZmZpY3VsdHlMYWJlbCA9PT0gJ2ZhY2lsZScsXG4gICAgICAnbWVkaXVtJzogcmVjaXBlPy5kaWZmaWN1bHR5TGFiZWwgPT09ICdtb3llbicsICdoYXJkJzogcmVjaXBlPy5kaWZmaWN1bHR5TGFiZWwgPT09ICdkaWZmaWNpbGUnIH1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwicmVjaXBlPy5kaWZmaWN1bHR5TGFiZWxcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZmFjaWxlJ1wiPlxuICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiMzJcIiBbaGVpZ2h0XT1cIjE2XCIgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXNlY29uZGFyeSknXG4gICAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkRpZmZpY3VsdHlMb3dcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbW95ZW4nXCI+XG4gICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIzMlwiIFtoZWlnaHRdPVwiMTZcIiBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3Itc2Vjb25kYXJ5KSdcbiAgICAgICAgICAgICAgW2ljb25OYW1lXT1cImljb24uRGlmZmljdWx0eU1lZGl1bVwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkaWZmaWNpbGUnXCI+XG4gICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIzMlwiIFtoZWlnaHRdPVwiMTZcIiBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3Itc2Vjb25kYXJ5KSdcbiAgICAgICAgICAgICAgW2ljb25OYW1lXT1cImljb24uRGlmZmljdWx0eUhpZ2h0XCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19pbmZvX19sYWJlbFwiPlxuICAgICAgICAgIHt7cmVjaXBlPy5kaWZmaWN1bHR5TGFiZWx9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2tlbGV0b25JbmZvPlxuICAgICAgICA8bmctbWlhbS1za2VsZXRvbiBbdHlwZV09J3NrZWxldG9uPy5JY29uV2l0aEluZm8nPjwvbmctbWlhbS1za2VsZXRvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2F0dHJpYnV0ZXNfX2NvbnRyb2xcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19jb250cm9sX19sZWZ0X19jb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2xlZnRfX2NvbF9fY3VzdG9tXCI+XG4gICAgICAgICAgPCEtLSBIZWxwZXIgLS0+XG4gICAgICAgICAgPGRpdiAoY2xpY2spPVwidG9nZ2xlSGVscGVyKClcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2hlbHBcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1wcmltYXJ5KSdcbiAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkhlbHBcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8IS0tIEluZ3JlZGllbnQgcGljdHVyZXMgLS0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJjb250ZXh0U2VydmljZS5kaXNwbGF5SW5ncmVkaWVudFBpY3R1cmVzT25SZWNpcGVDYXJkcyAmJiByZWNpcGU/Lm1vZGlmaWVkSW5ncmVkaWVudHM/Lmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19pbmdyZWRpZW50c19fcGljdHVyZXNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19pbmdyZWRpZW50c19fcGljdHVyZVwiPlxuICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiaW5ncmVkaWVudFBpY3R1cmUocmVjaXBlLm1vZGlmaWVkSW5ncmVkaWVudHNbMF0pXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19pbmdyZWRpZW50c19fcGljdHVyZVwiPlxuICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiaW5ncmVkaWVudFBpY3R1cmUocmVjaXBlLm1vZGlmaWVkSW5ncmVkaWVudHNbMV0pXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19pbmdyZWRpZW50c19fbW9yZVwiICpuZ0lmPVwicmVjaXBlLm1vZGlmaWVkSW5ncmVkaWVudHMubGVuZ3RoID4gMlwiPlxuICAgICAgICAgICAgICArIHt7cmVjaXBlLm1vZGlmaWVkSW5ncmVkaWVudHMubGVuZ3RoIC0gMn19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gQ291bnRlciBpbnB1dCAtLT5cbiAgICAgICAgPGRpdiAqbmdJZj0ncmVjaXBlIGVsc2Ugc2tlbGV0b25jb3VudGVyJyBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2xlZnRfX2NvbF9fY291bnRlclwiPlxuICAgICAgICAgIDxuZy1taWFtLWNvdW50ZXItaW5wdXQgW2NvdW50ZXJdPVwicmVjaXBlLm1vZGlmaWVkR3Vlc3RzXCIgKGNvdW50ZXJDaGFuZ2UpPVwidXBkYXRlR3Vlc3RzKCRldmVudClcIj48L25nLW1pYW0tY291bnRlci1pbnB1dD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjc2tlbGV0b25jb3VudGVyPlxuICAgICAgICAgIDxuZy1taWFtLXNrZWxldG9uIFt0eXBlXT0nc2tlbGV0b24/Lkljb25XaXRoSW5mbyc+PC9uZy1taWFtLXNrZWxldG9uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fY29udHJvbF9fcmlnaHRfX2NvbFwiPlxuICAgICAgICA8IS0tIFByaWNlIC0tPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwicmVjaXBlICYmIGRpc3BsYXlQcmljaW5nXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19yaWdodF9fY29sX19wcmljZVwiPlxuICAgICAgICAgIDxuZy1taWFtLXJlY2lwZS1wcmljaW5nIFtyZWNpcGVdPVwicmVjaXBlXCIgW3NlcnZlc109XCJyZWNpcGU/Lm1vZGlmaWVkR3Vlc3RzXCI+PC9uZy1taWFtLXJlY2lwZS1wcmljaW5nPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBBZGQgdG8gYmFza2V0IC0tPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT0nIXJlY2lwZScgKGNsaWNrKT1cImNsaWNrUHJpbWFyeSgpXCIgIGNsYXNzPVwibS1idXR0b24tZmFiLXByaW1hcnlcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2luLWJhc2tldCc6IChncm9jZXJpZXNMaXN0c1NlcnZpY2UucmVjaXBlSXNJbkxpc3QocmVjaXBlPy5pZCkgfCBhc3luYyksICdsb2FkaW5nJzogYWRkQnV0dG9uTG9hZGluZ31cIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gKm5nSWY9XCIhYWRkQnV0dG9uTG9hZGluZyBlbHNlIGFkZExvYWRlclwiIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiBwcmltYXJ5Q29sb3I9JyNmZmYnXG4gICAgICAgICAgICAgIFtpY29uTmFtZV09XCIoZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLnJlY2lwZUlzSW5MaXN0KHJlY2lwZT8uaWQpIHwgYXN5bmMpID8gaWNvbi5DaGVja0xpc3QgIDppY29uLkNhcnRcIj5cbiAgICAgICAgICAgIDwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNhZGRMb2FkZXI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWxvYWRlcj48L25nLW1pYW0tbG9hZGVyPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjY29ycz5cbiAgPG5nLW1pYW0tY29ycy1vdmVybGF5PjwvbmctbWlhbS1jb3JzLW92ZXJsYXk+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -821,7 +821,7 @@ RecipeDetailsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeDetailsCompo
821
821
  } if (rf & 2) {
822
822
  const _r1 = i0.ɵɵreference(2);
823
823
  i0.ɵɵproperty("ngIf", ctx.showDetail)("ngIfElse", _r1);
824
- } }, directives: [i3.NgIf, i4.IconComponent, i3.NgSwitch, i3.NgSwitchCase, i3.NgSwitchDefault, i5.YouTubePlayer, i6.LikeButtonComponent, i7.RecipePricingComponent, i3.NgClass, i8.LoaderComponent, i3.NgForOf, i9.AddonLinkComponent, i10.CounterInputComponent, i11.RecipeAddonComponent], pipes: [i3.AsyncPipe, i3.TitleCasePipe, i12.CapitalizeFirstLetterPipe, i13.ReadableFloatNumberPipe], styles: [".miam-recipe-details{border-radius:var(--m-border-radius);display:inline-flex;flex-direction:row;flex-wrap:wrap;height:calc(80vh - 80px);margin:40px 8px;min-width:calc(100% - 32px);padding:0 16px}.miam-recipe-details::-webkit-scrollbar-button{height:20px}.miam-recipe-details::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__top__container{display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{align-items:center;border-radius:var(--m-border-radius);display:flex;height:400px;overflow:hidden;position:relative;width:370px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{-o-object-fit:cover;-webkit-print-color-adjust:exact;display:block;height:100%;object-fit:cover;transform:translateX(-25%)}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{background:linear-gradient(180deg,transparent 57.92%,rgba(0,0,0,.75) 100%,rgba(0,0,0,.75) 0);border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);display:block;height:100%;position:absolute;top:0;width:100%}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{background-color:var(--m-color-primary-light);border-radius:5px;bottom:16px;color:var(--m-color-primary);font-weight:500;left:16px;padding:8px;position:absolute;text-transform:uppercase}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:flex;flex-direction:column;justify-content:space-evenly;position:absolute;right:16px;top:16px;z-index:var(--m-z-index-position-absolute-hight)}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-o-object-fit:contain;background-color:#fff;border-radius:var(--m-border-radius-circle);box-shadow:var(--m-shadow-small);margin:0 0 16px;object-fit:contain;padding:8px;width:-webkit-max-content;width:-moz-max-content;width:max-content}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon.miam-noPadding{padding:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__sponsor{-o-object-fit:contain;bottom:16px;height:auto;max-height:72px;max-width:96px;object-fit:contain;position:absolute;right:16px;transform:none;width:auto}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;margin-left:40px;padding:16px;position:relative}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__infos__price__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top{display:flex;flex-direction:column;position:relative}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{color:var(--m-color-black);font-size:14px;line-height:1.14;padding-bottom:16px;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{color:var(--m-color-secondary);font-size:32px;font-weight:700;line-height:1.1;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty{display:flex;padding:16px 0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty ng-miam-icon{margin-right:8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics{align-items:center;display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics span{color:var(--m-color-black);font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics .miam-recipe-details__metrics__row{display:flex}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{color:var(--m-color-grey-text-dark);display:flex;flex:1;flex-direction:column;font-size:17px;line-height:1.62;margin-bottom:24px;overflow-y:auto;text-align:left;word-break:break-word}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{align-items:center;display:flex;margin-top:16px}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>*{cursor:pointer}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>:hover{color:var(--m-color-primary);text-decoration:underline}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action ng-miam-icon{margin-right:10px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:flex-end;display:flex;flex-direction:column;height:100%;justify-content:flex-start;max-height:225px;padding-left:16px;position:relative}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price{margin-bottom:4px;padding:4px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{color:var(--m-color-primary);flex-direction:row}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:flex;flex-direction:column}}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__price{font-size:20px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{border-radius:20px;color:var(--m-color-white);font-size:16px;padding:8px 20px}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{display:none}}@media (min-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action:hover{color:var(--m-color-primary)}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action ng-miam-icon{margin-left:16px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action .loader{border:var(--m-loader-thickness) solid transparent;border-top:var(--m-loader-thickness) solid var(--m-color-white);height:24px;width:24px}.miam-recipe-details .miam-recipe-details__top__container__info{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;padding:16px 0;width:370px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics span{color:var(--m-color-primary);font-size:19px;font-weight:700;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times{align-items:center;display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{flex-direction:column;margin-right:24px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{color:var(--m-color-black);font-size:13px;font-weight:400;line-height:16px;margin-left:4px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row span{font-size:19px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center;z-index:0}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics ng-miam-icon{display:flex;justify-content:center;margin-right:4px;min-height:32px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{font-size:15px}.miam-recipe-details .miam-recipe-details__mid__container{border-bottom:1px dashed var(--m-color-primary);display:flex;padding-bottom:16px;width:100%}.miam-recipe-details .miam-recipe-details__tags__container{display:flex;flex-wrap:wrap;padding:20px;width:100%}.miam-recipe-details .miam-recipe-details__tags__container .miam-recipe-details__tag{background-color:var(--m-color-grey05);border-radius:var(--m-border-radius-pill);display:flex;margin:4px;padding:4px 8px}.miam-recipe-details .miam-recipe-details__tags__container .miam-recipe-details__tag .miam-recipe-details__tag__icon{height:16px;width:16px}.miam-recipe-details .miam-recipe-details__tags__container .miam-recipe-details__tag .miam-recipe-details__tag__name{font-size:16px}.miam-recipe-details .miam-recipe-details__bottom__container{display:flex;width:100%}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__header{border-bottom:1px solid var(--m-color-grey-text);color:var(--m-color-primary);display:block;font-size:20px;font-size:17px;font-weight:700;margin:24px 0;padding:16px 0 8px;position:relative}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input .miam-counter-input__icon{margin-right:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}@media print{.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input{display:none}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:block}}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row{color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;height:40px;justify-content:space-between;padding-bottom:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;padding-right:10px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__ingredients{display:flex;flex:1;flex-direction:column;padding:0 40px 0 0}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps{display:flex;flex:1;flex-direction:column}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--m-color-primary-text);border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 16px 8px 0;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{color:var(--m-color-secondary);flex:0 0 auto;font-size:20px;margin-right:20px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px;word-break:break-word}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--m-color-secondary-light)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{width:100%}@media print{.miam-recipe-details{height:unset}}@media (max-width:1022px){.miam-recipe-details{height:80vh;margin:0;min-width:100vw;overflow-y:auto;padding:0 0 80px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:center;background-color:var(--m-color-white);bottom:0;flex-direction:row;height:unset;justify-content:space-between;left:0;padding:4px 16px;position:fixed;right:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper{flex-direction:column}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:10px;margin-left:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{padding:8px 10px}.miam-recipe-details .miam-recipe-details__top__container{flex-wrap:wrap}.miam-recipe-details .miam-recipe-details__top__container div .miam-recipe-details__top__left{position:-webkit-sticky;position:sticky;top:0;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__info__times{position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{height:220px;position:-webkit-sticky;position:sticky;top:-5vh;width:100vw;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{height:unset;transform:none;width:100%}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{bottom:unset;left:16px;top:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{bottom:0;flex-direction:unset;left:8px;right:unset;top:unset}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.65);background-color:unset;box-shadow:none;margin:0 4px 8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{flex:unset;margin-left:unset;padding:0 16px;width:100vw;z-index:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{font-size:24px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{margin-bottom:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__info{background-color:var(--m-color-white);width:unset;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container{display:flex;flex-direction:column;min-height:80vh;padding-bottom:50px;position:relative;width:100vw}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header{background-color:var(--m-color-white);border-radius:32px 32px 0 0;display:flex;justify-content:space-evenly;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button{margin-right:0}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button.active{background-color:var(--m-color-primary);color:var(--m-color-white)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row{align-items:center;color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;justify-content:space-between;padding-bottom:16px;padding-right:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row div{width:100%}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;margin-right:16px;padding-right:10px;text-align:end}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter{display:flex;justify-content:space-between;padding:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list{display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list .miam-recipe-details__ingredients__row{display:flex;font-size:16px;justify-content:space-between;padding:0 16px 16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;align-items:flex-start;background-color:transparent;border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 8px 32px;padding:0;position:relative;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel:not(:last-child):before{background-color:var(--m-color-grey);content:\"\";height:50%;left:29px;position:absolute;top:60px;width:1px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--miam-color-primary-light)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{align-items:center;background-color:var(--m-color-primary);border-radius:40px;color:#fff;display:flex;flex:0 0 auto;font-size:17px;font-weight:700;height:40px;justify-content:center;margin-right:20px;width:40px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{background:var(--m-color-white);bottom:0;left:0;padding:0 16px;position:fixed;right:0;width:100vw;z-index:4}}"], encapsulation: 2, changeDetection: 0 });
824
+ } }, directives: [i3.NgIf, i4.IconComponent, i3.NgSwitch, i3.NgSwitchCase, i3.NgSwitchDefault, i5.YouTubePlayer, i6.LikeButtonComponent, i7.RecipePricingComponent, i3.NgClass, i8.LoaderComponent, i3.NgForOf, i9.AddonLinkComponent, i10.CounterInputComponent, i11.RecipeAddonComponent], pipes: [i3.AsyncPipe, i3.TitleCasePipe, i12.CapitalizeFirstLetterPipe, i13.ReadableFloatNumberPipe], styles: [".miam-recipe-details{border-radius:var(--m-border-radius);display:inline-flex;flex-direction:row;flex-wrap:wrap;height:calc(80vh - 80px);margin:40px 8px;min-width:calc(100% - 32px);padding:0 16px}.miam-recipe-details::-webkit-scrollbar-button{height:20px}.miam-recipe-details::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__top__container{display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{align-items:center;border-radius:var(--m-border-radius);display:flex;height:400px;overflow:hidden;position:relative;width:370px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{-o-object-fit:cover;-webkit-print-color-adjust:exact;display:block;height:100%;object-fit:cover;transform:translateX(-25%)}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{background:linear-gradient(180deg,transparent 57.92%,rgba(0,0,0,.75) 100%,rgba(0,0,0,.75) 0);border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);display:block;height:100%;position:absolute;top:0;width:100%}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{background-color:var(--m-color-primary-light);border-radius:5px;bottom:16px;color:var(--m-color-primary);font-weight:500;left:16px;padding:8px;position:absolute;text-transform:uppercase}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:flex;flex-direction:column;justify-content:space-evenly;position:absolute;right:16px;top:16px;z-index:var(--m-z-index-position-absolute-hight)}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-o-object-fit:contain;background-color:#fff;border-radius:var(--m-border-radius-circle);box-shadow:var(--m-shadow-small);margin:0 0 16px;object-fit:contain;padding:8px;width:-webkit-max-content;width:-moz-max-content;width:max-content}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon.miam-noPadding{padding:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__sponsor{-o-object-fit:contain;bottom:16px;height:auto;max-height:72px;max-width:96px;object-fit:contain;position:absolute;right:16px;transform:none;width:auto}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;margin-left:40px;padding:16px;position:relative}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__infos__price__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top{display:flex;flex-direction:column;position:relative}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{color:var(--m-color-black);font-size:14px;line-height:1.14;padding-bottom:16px;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{color:var(--m-color-secondary);font-size:32px;font-weight:700;line-height:1.1;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty{display:flex;padding:16px 0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty ng-miam-icon{margin-right:8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics{align-items:center;display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics span{color:var(--m-color-black);font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics .miam-recipe-details__metrics__row{display:flex}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{color:var(--m-color-grey-text-dark);display:flex;flex:1;flex-direction:column;font-size:17px;line-height:1.62;margin-bottom:24px;overflow-y:auto;text-align:left;word-break:break-word}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{align-items:center;display:flex;margin-top:16px}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>*{cursor:pointer}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>:hover{color:var(--m-color-primary);text-decoration:underline}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action ng-miam-icon{margin-right:10px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:flex-end;display:flex;flex-direction:column;height:100%;justify-content:flex-start;max-height:225px;padding-left:16px;position:relative}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price{margin-bottom:4px;padding:4px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{color:var(--m-color-primary);flex-direction:row}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:flex;flex-direction:column}}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__price{font-size:20px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{border-radius:20px;color:var(--m-color-white);font-size:16px;padding:8px 20px}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{display:none}}@media (min-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action:hover{color:var(--m-color-primary)}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action ng-miam-icon{margin-left:16px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action .loader{border:var(--m-loader-thickness) solid transparent;border-top:var(--m-loader-thickness) solid var(--m-color-white);height:24px;width:24px}.miam-recipe-details .miam-recipe-details__top__container__info{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;padding:16px 0;width:370px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics span{color:var(--m-color-primary);font-size:19px;font-weight:700;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times{align-items:center;display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{flex-direction:column;margin-right:24px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{color:var(--m-color-black);font-size:13px;font-weight:400;line-height:16px;margin-left:4px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row span{font-size:19px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center;z-index:0}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics ng-miam-icon{display:flex;justify-content:center;margin-right:4px;min-height:32px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{font-size:15px}.miam-recipe-details .miam-recipe-details__mid__container{border-bottom:1px dashed var(--m-color-primary);display:flex;padding-bottom:16px;width:100%}.miam-recipe-details .miam-recipe-details__tags__container{display:flex;flex-wrap:wrap;padding:20px;width:100%}.miam-recipe-details .miam-recipe-details__tags__container .miam-recipe-details__tag{background-color:var(--m-color-grey05);border-radius:var(--m-border-radius-pill);display:flex;margin:4px;padding:4px 8px}.miam-recipe-details .miam-recipe-details__tags__container .miam-recipe-details__tag .miam-recipe-details__tag__icon{height:16px;width:16px}.miam-recipe-details .miam-recipe-details__tags__container .miam-recipe-details__tag .miam-recipe-details__tag__name{font-size:16px}.miam-recipe-details .miam-recipe-details__bottom__container{display:flex;width:100%}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__header{border-bottom:1px solid var(--m-color-grey-text);color:var(--m-color-primary);display:block;font-size:20px;font-size:17px;font-weight:700;margin:24px 0;padding:16px 0 8px;position:relative}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input .miam-counter-input__icon{margin-right:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}@media print{.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input{display:none}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:block}}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row{color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;height:40px;justify-content:space-between;padding-bottom:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;padding-right:10px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__ingredients{display:flex;flex:1;flex-direction:column;padding:0 40px 0 0}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps{display:flex;flex:1;flex-direction:column}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--m-color-primary-text);border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 16px 8px 0;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{color:var(--m-color-secondary);flex:0 0 auto;font-size:20px;margin-right:20px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px;word-break:break-word}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--m-color-secondary-light)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{width:100%}@media print{.miam-recipe-details{height:unset!important}}@media (max-width:1022px){.miam-recipe-details{height:80vh;margin:0;min-width:100vw;overflow-y:auto;padding:0 0 80px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:center;background-color:var(--m-color-white);bottom:0;flex-direction:row;height:unset;justify-content:space-between;left:0;padding:4px 16px;position:fixed;right:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper{flex-direction:column}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:10px;margin-left:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{padding:8px 10px}.miam-recipe-details .miam-recipe-details__top__container{flex-wrap:wrap}.miam-recipe-details .miam-recipe-details__top__container div .miam-recipe-details__top__left{position:-webkit-sticky;position:sticky;top:0;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__info__times{position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{height:220px;position:-webkit-sticky;position:sticky;top:-5vh;width:100vw;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{height:unset;transform:none;width:100%}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{bottom:unset;left:16px;top:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{bottom:0;flex-direction:unset;left:8px;right:unset;top:unset}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.65);background-color:unset;box-shadow:none;margin:0 4px 8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{flex:unset;margin-left:unset;padding:0 16px;width:100vw;z-index:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{font-size:24px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{margin-bottom:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__info{background-color:var(--m-color-white);width:unset;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container{display:flex;flex-direction:column;min-height:80vh;padding-bottom:50px;position:relative;width:100vw}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header{background-color:var(--m-color-white);border-radius:32px 32px 0 0;display:flex;justify-content:space-evenly;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button{margin-right:0}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button.active{background-color:var(--m-color-primary);color:var(--m-color-white)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row{align-items:center;color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;justify-content:space-between;padding-bottom:16px;padding-right:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row div{width:100%}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;margin-right:16px;padding-right:10px;text-align:end}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter{display:flex;justify-content:space-between;padding:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list{display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list .miam-recipe-details__ingredients__row{display:flex;font-size:16px;justify-content:space-between;padding:0 16px 16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;align-items:flex-start;background-color:transparent;border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 8px 32px;padding:0;position:relative;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel:not(:last-child):before{background-color:var(--m-color-grey);content:\"\";height:50%;left:29px;position:absolute;top:60px;width:1px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--miam-color-primary-light)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{align-items:center;background-color:var(--m-color-primary);border-radius:40px;color:#fff;display:flex;flex:0 0 auto;font-size:17px;font-weight:700;height:40px;justify-content:center;margin-right:20px;width:40px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{background:var(--m-color-white);bottom:0;left:0;padding:0 16px;position:fixed;right:0;width:100vw;z-index:4}}"], encapsulation: 2, changeDetection: 0 });
825
825
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(RecipeDetailsComponent, [{
826
826
  type: Component,
827
827
  args: [{
@@ -1658,7 +1658,10 @@ class RecipesService extends Service {
1658
1658
  return of([]);
1659
1659
  }
1660
1660
  return forkJoin(list.attributes['recipes-infos'].map(info => {
1661
- return this.getOrFetch(info.id).pipe(skipWhile(r => r.is_loading), tap(r => r.modifiedGuests = info.guests));
1661
+ return this.getOrFetch(info.id).pipe(tap(r => {
1662
+ r.modifiedGuests = info.guests;
1663
+ this.recipes.push(r);
1664
+ }));
1662
1665
  }));
1663
1666
  }));
1664
1667
  }
@@ -1692,7 +1695,7 @@ class RecipesService extends Service {
1692
1695
  else {
1693
1696
  return this.get(recipeId, {
1694
1697
  include: ['ingredients', 'recipe-steps', 'recipe-status', 'recipe-type', 'sponsors', 'tags']
1695
- }).pipe(tap(r => this.recipes.push(r)));
1698
+ }).pipe(skipWhile(r => r.is_loading));
1696
1699
  }
1697
1700
  }
1698
1701
  // Debounce to let enough time for the pos to be defined
@@ -8611,7 +8614,7 @@ function RecipeCardComponent_div_0_div_12_Template(rf, ctx) { if (rf & 1) {
8611
8614
  ɵɵadvance(1);
8612
8615
  ɵɵproperty("iconName", ctx_r9.icon.Ingredients);
8613
8616
  ɵɵadvance(2);
8614
- ɵɵtextInterpolate1("", ctx_r9.recipe == null ? null : ctx_r9.recipe.ingredients.length, " ingredients");
8617
+ ɵɵtextInterpolate1("", ctx_r9.recipe == null ? null : ctx_r9.recipe.ingredients.length, " ingr\u00E9dients");
8615
8618
  } }
8616
8619
  function RecipeCardComponent_div_0_div_13_Template(rf, ctx) { if (rf & 1) {
8617
8620
  ɵɵelementStart(0, "div", 48);
@@ -13619,7 +13622,7 @@ RecipeDetailsComponent.ɵcmp = ɵɵdefineComponent({ type: RecipeDetailsComponen
13619
13622
  } if (rf & 2) {
13620
13623
  const _r1 = ɵɵreference(2);
13621
13624
  ɵɵproperty("ngIf", ctx.showDetail)("ngIfElse", _r1);
13622
- } }, directives: [NgIf, IconComponent, NgSwitch, NgSwitchCase, NgSwitchDefault, YouTubePlayer, LikeButtonComponent, RecipePricingComponent, NgClass, LoaderComponent, NgForOf, AddonLinkComponent, CounterInputComponent, RecipeAddonComponent], pipes: [AsyncPipe, TitleCasePipe, CapitalizeFirstLetterPipe, ReadableFloatNumberPipe], styles: [".miam-recipe-details{border-radius:var(--m-border-radius);display:inline-flex;flex-direction:row;flex-wrap:wrap;height:calc(80vh - 80px);margin:40px 8px;min-width:calc(100% - 32px);padding:0 16px}.miam-recipe-details::-webkit-scrollbar-button{height:20px}.miam-recipe-details::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__top__container{display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{align-items:center;border-radius:var(--m-border-radius);display:flex;height:400px;overflow:hidden;position:relative;width:370px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{-o-object-fit:cover;-webkit-print-color-adjust:exact;display:block;height:100%;object-fit:cover;transform:translateX(-25%)}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{background:linear-gradient(180deg,transparent 57.92%,rgba(0,0,0,.75) 100%,rgba(0,0,0,.75) 0);border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);display:block;height:100%;position:absolute;top:0;width:100%}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{background-color:var(--m-color-primary-light);border-radius:5px;bottom:16px;color:var(--m-color-primary);font-weight:500;left:16px;padding:8px;position:absolute;text-transform:uppercase}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:flex;flex-direction:column;justify-content:space-evenly;position:absolute;right:16px;top:16px;z-index:var(--m-z-index-position-absolute-hight)}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-o-object-fit:contain;background-color:#fff;border-radius:var(--m-border-radius-circle);box-shadow:var(--m-shadow-small);margin:0 0 16px;object-fit:contain;padding:8px;width:-webkit-max-content;width:-moz-max-content;width:max-content}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon.miam-noPadding{padding:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__sponsor{-o-object-fit:contain;bottom:16px;height:auto;max-height:72px;max-width:96px;object-fit:contain;position:absolute;right:16px;transform:none;width:auto}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;margin-left:40px;padding:16px;position:relative}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__infos__price__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top{display:flex;flex-direction:column;position:relative}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{color:var(--m-color-black);font-size:14px;line-height:1.14;padding-bottom:16px;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{color:var(--m-color-secondary);font-size:32px;font-weight:700;line-height:1.1;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty{display:flex;padding:16px 0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty ng-miam-icon{margin-right:8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics{align-items:center;display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics span{color:var(--m-color-black);font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics .miam-recipe-details__metrics__row{display:flex}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{color:var(--m-color-grey-text-dark);display:flex;flex:1;flex-direction:column;font-size:17px;line-height:1.62;margin-bottom:24px;overflow-y:auto;text-align:left;word-break:break-word}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{align-items:center;display:flex;margin-top:16px}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>*{cursor:pointer}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>:hover{color:var(--m-color-primary);text-decoration:underline}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action ng-miam-icon{margin-right:10px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:flex-end;display:flex;flex-direction:column;height:100%;justify-content:flex-start;max-height:225px;padding-left:16px;position:relative}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price{margin-bottom:4px;padding:4px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{color:var(--m-color-primary);flex-direction:row}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:flex;flex-direction:column}}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__price{font-size:20px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{border-radius:20px;color:var(--m-color-white);font-size:16px;padding:8px 20px}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{display:none}}@media (min-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action:hover{color:var(--m-color-primary)}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action ng-miam-icon{margin-left:16px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action .loader{border:var(--m-loader-thickness) solid transparent;border-top:var(--m-loader-thickness) solid var(--m-color-white);height:24px;width:24px}.miam-recipe-details .miam-recipe-details__top__container__info{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;padding:16px 0;width:370px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics span{color:var(--m-color-primary);font-size:19px;font-weight:700;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times{align-items:center;display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{flex-direction:column;margin-right:24px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{color:var(--m-color-black);font-size:13px;font-weight:400;line-height:16px;margin-left:4px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row span{font-size:19px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center;z-index:0}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics ng-miam-icon{display:flex;justify-content:center;margin-right:4px;min-height:32px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{font-size:15px}.miam-recipe-details .miam-recipe-details__mid__container{border-bottom:1px dashed var(--m-color-primary);display:flex;padding-bottom:16px;width:100%}.miam-recipe-details .miam-recipe-details__tags__container{display:flex;flex-wrap:wrap;padding:20px;width:100%}.miam-recipe-details .miam-recipe-details__tags__container .miam-recipe-details__tag{background-color:var(--m-color-grey05);border-radius:var(--m-border-radius-pill);display:flex;margin:4px;padding:4px 8px}.miam-recipe-details .miam-recipe-details__tags__container .miam-recipe-details__tag .miam-recipe-details__tag__icon{height:16px;width:16px}.miam-recipe-details .miam-recipe-details__tags__container .miam-recipe-details__tag .miam-recipe-details__tag__name{font-size:16px}.miam-recipe-details .miam-recipe-details__bottom__container{display:flex;width:100%}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__header{border-bottom:1px solid var(--m-color-grey-text);color:var(--m-color-primary);display:block;font-size:20px;font-size:17px;font-weight:700;margin:24px 0;padding:16px 0 8px;position:relative}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input .miam-counter-input__icon{margin-right:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}@media print{.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input{display:none}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:block}}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row{color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;height:40px;justify-content:space-between;padding-bottom:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;padding-right:10px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__ingredients{display:flex;flex:1;flex-direction:column;padding:0 40px 0 0}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps{display:flex;flex:1;flex-direction:column}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--m-color-primary-text);border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 16px 8px 0;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{color:var(--m-color-secondary);flex:0 0 auto;font-size:20px;margin-right:20px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px;word-break:break-word}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--m-color-secondary-light)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{width:100%}@media print{.miam-recipe-details{height:unset}}@media (max-width:1022px){.miam-recipe-details{height:80vh;margin:0;min-width:100vw;overflow-y:auto;padding:0 0 80px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:center;background-color:var(--m-color-white);bottom:0;flex-direction:row;height:unset;justify-content:space-between;left:0;padding:4px 16px;position:fixed;right:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper{flex-direction:column}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:10px;margin-left:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{padding:8px 10px}.miam-recipe-details .miam-recipe-details__top__container{flex-wrap:wrap}.miam-recipe-details .miam-recipe-details__top__container div .miam-recipe-details__top__left{position:-webkit-sticky;position:sticky;top:0;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__info__times{position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{height:220px;position:-webkit-sticky;position:sticky;top:-5vh;width:100vw;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{height:unset;transform:none;width:100%}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{bottom:unset;left:16px;top:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{bottom:0;flex-direction:unset;left:8px;right:unset;top:unset}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.65);background-color:unset;box-shadow:none;margin:0 4px 8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{flex:unset;margin-left:unset;padding:0 16px;width:100vw;z-index:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{font-size:24px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{margin-bottom:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__info{background-color:var(--m-color-white);width:unset;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container{display:flex;flex-direction:column;min-height:80vh;padding-bottom:50px;position:relative;width:100vw}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header{background-color:var(--m-color-white);border-radius:32px 32px 0 0;display:flex;justify-content:space-evenly;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button{margin-right:0}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button.active{background-color:var(--m-color-primary);color:var(--m-color-white)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row{align-items:center;color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;justify-content:space-between;padding-bottom:16px;padding-right:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row div{width:100%}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;margin-right:16px;padding-right:10px;text-align:end}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter{display:flex;justify-content:space-between;padding:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list{display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list .miam-recipe-details__ingredients__row{display:flex;font-size:16px;justify-content:space-between;padding:0 16px 16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;align-items:flex-start;background-color:transparent;border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 8px 32px;padding:0;position:relative;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel:not(:last-child):before{background-color:var(--m-color-grey);content:\"\";height:50%;left:29px;position:absolute;top:60px;width:1px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--miam-color-primary-light)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{align-items:center;background-color:var(--m-color-primary);border-radius:40px;color:#fff;display:flex;flex:0 0 auto;font-size:17px;font-weight:700;height:40px;justify-content:center;margin-right:20px;width:40px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{background:var(--m-color-white);bottom:0;left:0;padding:0 16px;position:fixed;right:0;width:100vw;z-index:4}}"], encapsulation: 2, changeDetection: 0 });
13625
+ } }, directives: [NgIf, IconComponent, NgSwitch, NgSwitchCase, NgSwitchDefault, YouTubePlayer, LikeButtonComponent, RecipePricingComponent, NgClass, LoaderComponent, NgForOf, AddonLinkComponent, CounterInputComponent, RecipeAddonComponent], pipes: [AsyncPipe, TitleCasePipe, CapitalizeFirstLetterPipe, ReadableFloatNumberPipe], styles: [".miam-recipe-details{border-radius:var(--m-border-radius);display:inline-flex;flex-direction:row;flex-wrap:wrap;height:calc(80vh - 80px);margin:40px 8px;min-width:calc(100% - 32px);padding:0 16px}.miam-recipe-details::-webkit-scrollbar-button{height:20px}.miam-recipe-details::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__top__container{display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{align-items:center;border-radius:var(--m-border-radius);display:flex;height:400px;overflow:hidden;position:relative;width:370px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{-o-object-fit:cover;-webkit-print-color-adjust:exact;display:block;height:100%;object-fit:cover;transform:translateX(-25%)}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{background:linear-gradient(180deg,transparent 57.92%,rgba(0,0,0,.75) 100%,rgba(0,0,0,.75) 0);border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);display:block;height:100%;position:absolute;top:0;width:100%}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{background-color:var(--m-color-primary-light);border-radius:5px;bottom:16px;color:var(--m-color-primary);font-weight:500;left:16px;padding:8px;position:absolute;text-transform:uppercase}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:flex;flex-direction:column;justify-content:space-evenly;position:absolute;right:16px;top:16px;z-index:var(--m-z-index-position-absolute-hight)}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-o-object-fit:contain;background-color:#fff;border-radius:var(--m-border-radius-circle);box-shadow:var(--m-shadow-small);margin:0 0 16px;object-fit:contain;padding:8px;width:-webkit-max-content;width:-moz-max-content;width:max-content}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon.miam-noPadding{padding:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__sponsor{-o-object-fit:contain;bottom:16px;height:auto;max-height:72px;max-width:96px;object-fit:contain;position:absolute;right:16px;transform:none;width:auto}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;margin-left:40px;padding:16px;position:relative}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__infos__price__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top{display:flex;flex-direction:column;position:relative}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{color:var(--m-color-black);font-size:14px;line-height:1.14;padding-bottom:16px;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{color:var(--m-color-secondary);font-size:32px;font-weight:700;line-height:1.1;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty{display:flex;padding:16px 0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty ng-miam-icon{margin-right:8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics{align-items:center;display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics span{color:var(--m-color-black);font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics .miam-recipe-details__metrics__row{display:flex}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{color:var(--m-color-grey-text-dark);display:flex;flex:1;flex-direction:column;font-size:17px;line-height:1.62;margin-bottom:24px;overflow-y:auto;text-align:left;word-break:break-word}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{align-items:center;display:flex;margin-top:16px}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>*{cursor:pointer}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>:hover{color:var(--m-color-primary);text-decoration:underline}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action ng-miam-icon{margin-right:10px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:flex-end;display:flex;flex-direction:column;height:100%;justify-content:flex-start;max-height:225px;padding-left:16px;position:relative}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price{margin-bottom:4px;padding:4px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{color:var(--m-color-primary);flex-direction:row}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:flex;flex-direction:column}}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__price{font-size:20px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{border-radius:20px;color:var(--m-color-white);font-size:16px;padding:8px 20px}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{display:none}}@media (min-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action:hover{color:var(--m-color-primary)}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action ng-miam-icon{margin-left:16px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action .loader{border:var(--m-loader-thickness) solid transparent;border-top:var(--m-loader-thickness) solid var(--m-color-white);height:24px;width:24px}.miam-recipe-details .miam-recipe-details__top__container__info{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;padding:16px 0;width:370px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics span{color:var(--m-color-primary);font-size:19px;font-weight:700;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times{align-items:center;display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{flex-direction:column;margin-right:24px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{color:var(--m-color-black);font-size:13px;font-weight:400;line-height:16px;margin-left:4px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row span{font-size:19px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center;z-index:0}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics ng-miam-icon{display:flex;justify-content:center;margin-right:4px;min-height:32px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{font-size:15px}.miam-recipe-details .miam-recipe-details__mid__container{border-bottom:1px dashed var(--m-color-primary);display:flex;padding-bottom:16px;width:100%}.miam-recipe-details .miam-recipe-details__tags__container{display:flex;flex-wrap:wrap;padding:20px;width:100%}.miam-recipe-details .miam-recipe-details__tags__container .miam-recipe-details__tag{background-color:var(--m-color-grey05);border-radius:var(--m-border-radius-pill);display:flex;margin:4px;padding:4px 8px}.miam-recipe-details .miam-recipe-details__tags__container .miam-recipe-details__tag .miam-recipe-details__tag__icon{height:16px;width:16px}.miam-recipe-details .miam-recipe-details__tags__container .miam-recipe-details__tag .miam-recipe-details__tag__name{font-size:16px}.miam-recipe-details .miam-recipe-details__bottom__container{display:flex;width:100%}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__header{border-bottom:1px solid var(--m-color-grey-text);color:var(--m-color-primary);display:block;font-size:20px;font-size:17px;font-weight:700;margin:24px 0;padding:16px 0 8px;position:relative}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input .miam-counter-input__icon{margin-right:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}@media print{.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input{display:none}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:block}}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row{color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;height:40px;justify-content:space-between;padding-bottom:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;padding-right:10px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__ingredients{display:flex;flex:1;flex-direction:column;padding:0 40px 0 0}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps{display:flex;flex:1;flex-direction:column}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--m-color-primary-text);border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 16px 8px 0;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{color:var(--m-color-secondary);flex:0 0 auto;font-size:20px;margin-right:20px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px;word-break:break-word}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--m-color-secondary-light)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{width:100%}@media print{.miam-recipe-details{height:unset!important}}@media (max-width:1022px){.miam-recipe-details{height:80vh;margin:0;min-width:100vw;overflow-y:auto;padding:0 0 80px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:center;background-color:var(--m-color-white);bottom:0;flex-direction:row;height:unset;justify-content:space-between;left:0;padding:4px 16px;position:fixed;right:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper{flex-direction:column}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:10px;margin-left:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{padding:8px 10px}.miam-recipe-details .miam-recipe-details__top__container{flex-wrap:wrap}.miam-recipe-details .miam-recipe-details__top__container div .miam-recipe-details__top__left{position:-webkit-sticky;position:sticky;top:0;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__info__times{position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{height:220px;position:-webkit-sticky;position:sticky;top:-5vh;width:100vw;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{height:unset;transform:none;width:100%}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{bottom:unset;left:16px;top:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{bottom:0;flex-direction:unset;left:8px;right:unset;top:unset}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.65);background-color:unset;box-shadow:none;margin:0 4px 8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{flex:unset;margin-left:unset;padding:0 16px;width:100vw;z-index:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{font-size:24px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{margin-bottom:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__info{background-color:var(--m-color-white);width:unset;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container{display:flex;flex-direction:column;min-height:80vh;padding-bottom:50px;position:relative;width:100vw}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header{background-color:var(--m-color-white);border-radius:32px 32px 0 0;display:flex;justify-content:space-evenly;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button{margin-right:0}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button.active{background-color:var(--m-color-primary);color:var(--m-color-white)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row{align-items:center;color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;justify-content:space-between;padding-bottom:16px;padding-right:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row div{width:100%}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;margin-right:16px;padding-right:10px;text-align:end}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter{display:flex;justify-content:space-between;padding:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list{display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list .miam-recipe-details__ingredients__row{display:flex;font-size:16px;justify-content:space-between;padding:0 16px 16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;align-items:flex-start;background-color:transparent;border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 8px 32px;padding:0;position:relative;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel:not(:last-child):before{background-color:var(--m-color-grey);content:\"\";height:50%;left:29px;position:absolute;top:60px;width:1px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--miam-color-primary-light)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{align-items:center;background-color:var(--m-color-primary);border-radius:40px;color:#fff;display:flex;flex:0 0 auto;font-size:17px;font-weight:700;height:40px;justify-content:center;margin-right:20px;width:40px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{background:var(--m-color-white);bottom:0;left:0;padding:0 16px;position:fixed;right:0;width:100vw;z-index:4}}"], encapsulation: 2, changeDetection: 0 });
13623
13626
  /*@__PURE__*/ (function () { ɵsetClassMetadata(RecipeDetailsComponent, [{
13624
13627
  type: Component,
13625
13628
  args: [{