diff --git a/docs/404.html b/docs/404.html new file mode 100644 index 0000000..0b96b1b --- /dev/null +++ b/docs/404.html @@ -0,0 +1,31 @@ + + + Egyptians in AI + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/assets/images/ahmed-abdelmoniem.jpg b/docs/assets/images/ahmed-abdelmoniem.jpg new file mode 100644 index 0000000..91a70d2 Binary files /dev/null and b/docs/assets/images/ahmed-abdelmoniem.jpg differ diff --git a/docs/assets/images/ayman-youssef.jpeg b/docs/assets/images/ayman-youssef.jpeg new file mode 100644 index 0000000..8e22564 Binary files /dev/null and b/docs/assets/images/ayman-youssef.jpeg differ diff --git a/docs/assets/images/hossam-ammar.jpeg b/docs/assets/images/hossam-ammar.jpeg new file mode 100644 index 0000000..4479b4f Binary files /dev/null and b/docs/assets/images/hossam-ammar.jpeg differ diff --git a/docs/assets/images/mai-elsherief.png b/docs/assets/images/mai-elsherief.png new file mode 100644 index 0000000..96c46d7 Binary files /dev/null and b/docs/assets/images/mai-elsherief.png differ diff --git a/docs/assets/images/moahmed-ezz.jpeg b/docs/assets/images/moahmed-ezz.jpeg new file mode 100644 index 0000000..267c390 Binary files /dev/null and b/docs/assets/images/moahmed-ezz.jpeg differ diff --git a/docs/assets/images/mohamed-azab.jpeg b/docs/assets/images/mohamed-azab.jpeg new file mode 100644 index 0000000..749fcc8 Binary files /dev/null and b/docs/assets/images/mohamed-azab.jpeg differ diff --git a/docs/assets/images/mohamed-elbanani.jpg b/docs/assets/images/mohamed-elbanani.jpg new file mode 100644 index 0000000..3e64348 Binary files /dev/null and b/docs/assets/images/mohamed-elbanani.jpg differ diff --git a/docs/assets/images/mohamed-mokbel.png b/docs/assets/images/mohamed-mokbel.png new file mode 100644 index 0000000..b10a263 Binary files /dev/null and b/docs/assets/images/mohamed-mokbel.png differ diff --git a/docs/assets/images/sameh-alansary.jpeg b/docs/assets/images/sameh-alansary.jpeg new file mode 100644 index 0000000..5b816f0 Binary files /dev/null and b/docs/assets/images/sameh-alansary.jpeg differ diff --git a/docs/assets/images/sayed-kenawy.jpeg b/docs/assets/images/sayed-kenawy.jpeg new file mode 100644 index 0000000..400d4bd Binary files /dev/null and b/docs/assets/images/sayed-kenawy.jpeg differ diff --git a/docs/assets/researchers_en.json b/docs/assets/researchers_en.json index f0c4bdc..1d05fb0 100644 --- a/docs/assets/researchers_en.json +++ b/docs/assets/researchers_en.json @@ -3,7 +3,7 @@ "name": "Mona Diab", "affiliation": "CMU", "position": "Director of the Language Technologies Institute", - "hindex": 55, + "hindex": 56, "photo": "./assets/images/mona-diab.jpeg", "scholar": "https://scholar.google.com/citations?user=-y6SIhQAAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/mona-diab-55946614/", @@ -17,8 +17,8 @@ "Cross Lingual/Multilingual Processing", "Machine Learning" ], - "citedby": 16301, - "lastupdate": "2023-10-14" + "citedby": 17441, + "lastupdate": "2024-01-02" }, { "name": "Abdelrahman Mohamed", @@ -36,8 +36,8 @@ "Speech Language Processing", "Machine Learning" ], - "citedby": 53168, - "lastupdate": "2023-10-14" + "citedby": 56172, + "lastupdate": "2024-01-02" }, { "name": "Samhaa R. El-Beltagy", @@ -56,14 +56,14 @@ "Sentiment Analysis", "Semantic Annotation" ], - "citedby": 2778, - "lastupdate": "2023-10-14" + "citedby": 2854, + "lastupdate": "2024-01-02" }, { "name": "Kareem Darwish", "affiliation": "aiXplain", "position": "Principal Scientist", - "hindex": 43, + "hindex": 44, "photo": "./assets/images/kareem-darwish.jpeg", "scholar": "https://scholar.google.com/citations?user=y7tlR6UAAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/kareem-darwish-788b9125", @@ -75,14 +75,14 @@ "Computational Social Science", "Natural Language Processing" ], - "citedby": 6173, - "lastupdate": "2023-10-14" + "citedby": 6408, + "lastupdate": "2024-01-02" }, { "name": "Ahmed Rafea", "affiliation": "American University in Cairo", "position": "Professor", - "hindex": 28, + "hindex": 29, "photo": "./assets/images/ahmed-rafea.jpeg", "scholar": "https://scholar.google.com/citations?user=szDaQLYAAAAJ&hl=en", "linkedin": "", @@ -95,8 +95,8 @@ "Text Mining", "Knowledge Engineering" ], - "citedby": 3404, - "lastupdate": "2023-10-14" + "citedby": 3524, + "lastupdate": "2024-01-02" }, { "name": "Mohsen Rashwan", @@ -114,8 +114,8 @@ "Natural Language Processing", "Human Language Technology" ], - "citedby": 1510, - "lastupdate": "2023-10-14" + "citedby": 1569, + "lastupdate": "2024-01-02" }, { "name": "Rana el Kaliouby", @@ -134,8 +134,8 @@ "Computer Vision", "Machine Learning" ], - "citedby": 7011, - "lastupdate": "2023-10-14" + "citedby": 7165, + "lastupdate": "2024-01-02" }, { "name": "Mohamed Afify", @@ -155,8 +155,8 @@ "Computational Linguistics", "Phonology" ], - "citedby": 1058, - "lastupdate": "2023-10-14" + "citedby": 1116, + "lastupdate": "2024-01-02" }, { "name": "Hany Hassan Awadalla", @@ -175,8 +175,8 @@ "Deep Learning", "Semi-supervised Learning" ], - "citedby": 3232, - "lastupdate": "2023-10-14" + "citedby": 3417, + "lastupdate": "2024-01-02" }, { "name": "Ahmed Tawfik", @@ -195,14 +195,14 @@ "Deep Learning", "Text-to-Speech" ], - "citedby": 416, - "lastupdate": "2023-10-14" + "citedby": 424, + "lastupdate": "2024-01-02" }, { "name": "Mohamed Moustafa", "affiliation": "Amazon", "position": "Applied Science Manager", - "hindex": 18, + "hindex": 19, "photo": "./assets/images/mohamed-moustafa.jpeg", "scholar": "https://scholar.google.com/citations?hl=en&user=QGdReUEAAAAJ", "linkedin": "https://www.linkedin.com/in/mohamed-n-moustafa/", @@ -215,8 +215,8 @@ "Biometrics", "Deep Learning" ], - "citedby": 1642, - "lastupdate": "2023-10-14" + "citedby": 1733, + "lastupdate": "2024-01-02" }, { "name": "Wael Hamza", @@ -235,14 +235,14 @@ "Natural Language Understanding", "Speech" ], - "citedby": 2970, - "lastupdate": "2023-10-14" + "citedby": 3067, + "lastupdate": "2024-01-02" }, { "name": "Iz Beltagy", "affiliation": "Allen Institute for AI", "position": "Senior Research Scientist", - "hindex": 27, + "hindex": 29, "photo": "./assets/images/iz-beltagy.jpeg", "scholar": "https://scholar.google.com/citations?hl=en&user=jkV6H1gAAAAJ", "linkedin": "https://www.linkedin.com/in/beltagy", @@ -252,8 +252,8 @@ "Natural Language Processing", "Machine Learning" ], - "citedby": 10260, - "lastupdate": "2023-10-14" + "citedby": 11639, + "lastupdate": "2024-01-02" }, { "name": "Waleed Ammar", @@ -270,14 +270,14 @@ "Machine Learning", "Semantic Parsing" ], - "citedby": 4376, - "lastupdate": "2023-10-14" + "citedby": 4560, + "lastupdate": "2024-01-02" }, { "name": "Ahmed H. Awadallah", "affiliation": "Microsoft Research", "position": "Senior Principal Research Manager", - "hindex": 47, + "hindex": 48, "photo": "./assets/images/ahmed-awadallah.jpeg", "scholar": "https://scholar.google.com/citations?user=sNGk-9MAAAAJ&hl=en", "linkedin": "", @@ -288,8 +288,8 @@ "Machine Learning", "Information Retrieval" ], - "citedby": 10220, - "lastupdate": "2023-10-14" + "citedby": 10802, + "lastupdate": "2024-01-02" }, { "name": "Hala Mostafa", @@ -304,8 +304,8 @@ "interests": [ "Machine Learning" ], - "citedby": 407, - "lastupdate": "2023-10-14" + "citedby": 409, + "lastupdate": "2024-01-02" }, { "name": "Baher Abdulhai", @@ -323,8 +323,8 @@ "Evacuation Optimization", "Congestion Pricing" ], - "citedby": 5651, - "lastupdate": "2023-10-14" + "citedby": 5810, + "lastupdate": "2024-01-02" }, { "name": "Yaser S. Abu-Mostafa", @@ -362,14 +362,14 @@ "Deep Learning", "Natural Language Processing" ], - "citedby": 2594, - "lastupdate": "2023-10-14" + "citedby": 2697, + "lastupdate": "2024-01-02" }, { "name": "Medhat Moussa", "affiliation": "University of Guelph", "position": "Professor", - "hindex": 22, + "hindex": 23, "photo": "./assets/images/medhat-moussa.jpeg", "scholar": "https://scholar.google.com/citations?hl=en&user=x-2sUG4AAAAJ", "linkedin": "https://www.linkedin.com/in/medhat-moussa-3a58713", @@ -381,14 +381,14 @@ "Machine Vision", "Reconfigurable Computing" ], - "citedby": 1829, - "lastupdate": "2023-10-14" + "citedby": 1894, + "lastupdate": "2024-01-02" }, { "name": "Khaled Shaalan", "affiliation": "The British University in Dubai", "position": "Professor", - "hindex": 56, + "hindex": 57, "photo": "./assets/images/khaled-shaalan.jpeg", "scholar": "https://scholar.google.com/citations?hl=en&user=keLKdlgAAAAJ", "linkedin": "", @@ -401,8 +401,8 @@ "Natural Language Processing", "Knowledge Management" ], - "citedby": 13479, - "lastupdate": "2023-10-14" + "citedby": 14214, + "lastupdate": "2024-01-02" }, { "name": "Ossama Emam", @@ -422,8 +422,8 @@ "Pattern Recognition", "Speech Technology" ], - "citedby": 1062, - "lastupdate": "2023-10-14" + "citedby": 1077, + "lastupdate": "2024-01-02" }, { "name": "Alaa Khamis", @@ -442,14 +442,14 @@ "Machine Learning", "Combinatorial Optimization" ], - "citedby": 4895, - "lastupdate": "2023-10-14" + "citedby": 5095, + "lastupdate": "2024-01-02" }, { "name": "Alaa Sheta", "affiliation": "Southern Connecticut (SCSU)", "position": "Professor", - "hindex": 31, + "hindex": 32, "photo": "./assets/images/alaa-sheta.jpeg", "scholar": "https://scholar.google.com/citations?hl=en&user=x7zJsNoAAAAJ", "linkedin": "https://www.linkedin.com/in/alaa-sheta-30577617/", @@ -462,14 +462,14 @@ "Robotics", "Software Engineering" ], - "citedby": 3657, - "lastupdate": "2023-10-14" + "citedby": 3752, + "lastupdate": "2024-01-02" }, { "name": "Ahmed K. Farahat", "affiliation": "Hitachi America, Ltd. R&D", "position": "Principal Research Scientist", - "hindex": 19, + "hindex": 20, "photo": "./assets/images/ahmed-farahat.jpeg", "scholar": "https://scholar.google.com/citations?user=5kcdVaYAAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/afarahat/", @@ -480,8 +480,8 @@ "Data Mining", "Industrial AI" ], - "citedby": 1875, - "lastupdate": "2023-10-14" + "citedby": 1980, + "lastupdate": "2024-01-02" }, { "name": "Motaz El-Saban", @@ -497,8 +497,8 @@ "Machine Learning", "Computer Vision" ], - "citedby": 2861, - "lastupdate": "2023-10-14" + "citedby": 2915, + "lastupdate": "2024-01-02" }, { "name": "Maher Ahmed", @@ -514,14 +514,14 @@ "Pattern Recognition", "Image Processing" ], - "citedby": 652, - "lastupdate": "2023-10-14" + "citedby": 659, + "lastupdate": "2024-01-02" }, { "name": "Mohamed S. Kamel", "affiliation": "University of Waterloo", "position": "Professor - Passed Away (2015)", - "hindex": 64, + "hindex": 65, "photo": "./assets/images/mohamed-kamel.jpeg", "scholar": "https://scholar.google.com/citations?hl=en&user=6Evj9YwAAAAJ", "linkedin": "", @@ -534,8 +534,8 @@ "Pattern Recognition", "Computational Intelligence" ], - "citedby": 22429, - "lastupdate": "2023-10-14" + "citedby": 22798, + "lastupdate": "2024-01-02" }, { "name": "Ahmad Abdulkader", @@ -567,8 +567,8 @@ "Machine Learning", "Natural Language Processing" ], - "citedby": 2108, - "lastupdate": "2023-10-14" + "citedby": 2201, + "lastupdate": "2024-01-02" }, { "name": "Ahmed El Kholy", @@ -585,8 +585,8 @@ "Natural Language Processing", "Conversational AI" ], - "citedby": 3246, - "lastupdate": "2023-10-14" + "citedby": 3474, + "lastupdate": "2024-01-02" }, { "name": "Walid Magdy", @@ -604,14 +604,14 @@ "Data Mining", "Information Retrieval" ], - "citedby": 4037, - "lastupdate": "2023-10-14" + "citedby": 4254, + "lastupdate": "2024-01-02" }, { "name": "Ahmed Ali", "affiliation": "QCRI", "position": "Principal Engineer", - "hindex": 24, + "hindex": 25, "photo": "./assets/images/ahmed-ali.jpeg", "scholar": "https://scholar.google.com/citations?user=t0gYEjAAAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/ahmedali08", @@ -620,14 +620,14 @@ "interests": [ "Speech Recognition" ], - "citedby": 2067, - "lastupdate": "2023-10-14" + "citedby": 2187, + "lastupdate": "2024-01-02" }, { "name": "Neamat El Gayar", "affiliation": "Heriot Watt University", "position": "Director & Uni Professor", - "hindex": 16, + "hindex": 17, "photo": "./assets/images/neamat-elgayar.jpg", "scholar": "https://scholar.google.com/citations?user=RHDcyz8AAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/neamat-el-gayar-07b7297a/", @@ -639,14 +639,14 @@ "Computational Intelligence", "Natural Language Processing" ], - "citedby": 1881, - "lastupdate": "2023-10-14" + "citedby": 1948, + "lastupdate": "2024-01-02" }, { "name": "Amir Alansary", "affiliation": "Jaguar Land Rover", "position": "ML & CV Team Lead", - "hindex": 21, + "hindex": 22, "photo": "./assets/images/amir-alansary.jpeg", "scholar": "https://scholar.google.com/citations?user=Sj11Jo8AAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/amiralansary/", @@ -659,14 +659,14 @@ "Autonomous Vehicles Perception and Path Planning", "Medical Imaging" ], - "citedby": 1603, - "lastupdate": "2023-10-14" + "citedby": 1684, + "lastupdate": "2024-01-02" }, { "name": "Mustafa A Elattar", "affiliation": "Intixel & Nile University", "position": "Founder & Assistant Professor", - "hindex": 11, + "hindex": 12, "photo": "./assets/images/mustafa-elattar.png", "scholar": "https://scholar.google.com/citations?user=BJoskL8AAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/mustafa-elattar-phd-42289112/", @@ -677,8 +677,8 @@ "Artificial Intelligence", "Image Analysis" ], - "citedby": 803, - "lastupdate": "2023-10-14" + "citedby": 880, + "lastupdate": "2024-01-02" }, { "name": "Hesham Eraqi", @@ -696,8 +696,8 @@ "Deep Learning", "Handwriting Recognition" ], - "citedby": 809, - "lastupdate": "2023-10-14" + "citedby": 852, + "lastupdate": "2024-01-02" }, { "name": "Ahmed Alsallab", @@ -714,8 +714,8 @@ "Computer Vision", "Natural Language Processing" ], - "citedby": 3534, - "lastupdate": "2023-10-14" + "citedby": 3859, + "lastupdate": "2024-01-02" }, { "name": "Gamaleldin Elsayed", @@ -732,8 +732,8 @@ "Computer Vision", "Computational Neuroscience" ], - "citedby": 2033, - "lastupdate": "2023-10-14" + "citedby": 2255, + "lastupdate": "2024-01-02" }, { "name": "Mahmoud Abou-Nasr", @@ -752,14 +752,14 @@ "Reinforcement Learning", "Optimization" ], - "citedby": 357, - "lastupdate": "2023-10-14" + "citedby": 363, + "lastupdate": "2024-01-02" }, { "name": "Mohamed Elhoseiny", "affiliation": "KAUST", "position": "Assistant Professor", - "hindex": 34, + "hindex": 36, "photo": "./assets/images/mohamed-elhoseiny.png", "scholar": "https://scholar.google.com/citations?user=iRBUTOAAAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/mohamed-elhoseiny-8a836215", @@ -772,14 +772,14 @@ "Computational Creativity", "Vision and Language" ], - "citedby": 8011, - "lastupdate": "2023-10-14" + "citedby": 9061, + "lastupdate": "2024-01-02" }, { "name": "Amr Ahmed", "affiliation": "Google", "position": "Senior Staff Research Scientist", - "hindex": 39, + "hindex": 40, "photo": "./assets/images/amr-ahmed.png", "scholar": "https://scholar.google.com/citations?user=ivUi2T0AAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/amr-ahmed-b998965", @@ -792,8 +792,8 @@ "Personalization", "Content Analysis" ], - "citedby": 11322, - "lastupdate": "2023-10-14" + "citedby": 11753, + "lastupdate": "2024-01-02" }, { "name": "Amir Atiya", @@ -810,8 +810,8 @@ "Pattern Classification", "Computational Finance" ], - "citedby": 12838, - "lastupdate": "2023-10-14" + "citedby": 13215, + "lastupdate": "2024-01-02" }, { "name": "Ramy Eskander", @@ -831,14 +831,14 @@ "Arabic NLP", "Unsupervised and Semi-Supervised Learning" ], - "citedby": 1926, - "lastupdate": "2023-10-14" + "citedby": 1980, + "lastupdate": "2024-01-02" }, { "name": "Tamer Elsayed", "affiliation": "Qatar University", "position": "Associate Professor", - "hindex": 30, + "hindex": 32, "photo": "./assets/images/tamer-elsayed.jpeg", "scholar": "https://scholar.google.com/citations?user=ekS-yPIAAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/tamer-elsayed-a9a71116/", @@ -850,14 +850,14 @@ "Applied Machine Learning", "Big Data Analytics" ], - "citedby": 3081, - "lastupdate": "2023-10-14" + "citedby": 3257, + "lastupdate": "2024-01-02" }, { "name": "Mohamed Elbadrashiny", "affiliation": "aiXplain", "position": "Principal Scientist", - "hindex": 16, + "hindex": 17, "photo": "./assets/images/default.jpg", "scholar": "https://scholar.google.com/citations?user=DppUkNUAAAAJ", "linkedin": "https://www.linkedin.com/in/mohamed-elbadrashiny-591908b", @@ -868,8 +868,8 @@ "Multimodal Dialog", "Large Language Models" ], - "citedby": 1647, - "lastupdate": "2023-10-14" + "citedby": 1676, + "lastupdate": "2024-01-02" }, { "name": "Ibrahim Sabek", @@ -885,8 +885,8 @@ "Machine Learning for Database Systems", "Data Management and Analysis" ], - "citedby": 525, - "lastupdate": "2023-10-14" + "citedby": 538, + "lastupdate": "2024-01-02" }, { "name": "Mostafa Saad Ibrahim", @@ -902,8 +902,8 @@ "Machine Learning", "Computer Vision" ], - "citedby": 765, - "lastupdate": "2023-10-14" + "citedby": 810, + "lastupdate": "2024-01-02" }, { "name": "Mostafa Elhoushi", @@ -921,14 +921,14 @@ "Navigation", "Quantum Computing" ], - "citedby": 497, - "lastupdate": "2023-10-14" + "citedby": 531, + "lastupdate": "2024-01-02" }, { "name": "Sameh Khamis", "affiliation": "Rembrand", "position": "Lead Research Scientist", - "hindex": 22, + "hindex": 23, "photo": "./assets/images/sameh-khamis.jpeg", "scholar": "https://scholar.google.com/citations?user=9WgcwYQAAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/samehkhamis/", @@ -939,8 +939,8 @@ "Computer Vision", "Graphics" ], - "citedby": 4044, - "lastupdate": "2023-10-14" + "citedby": 4418, + "lastupdate": "2024-01-02" }, { "name": "Ibrahim Sobh", @@ -957,14 +957,14 @@ "Computer Vision", "Autonomous Driving" ], - "citedby": 1501, - "lastupdate": "2023-10-14" + "citedby": 1715, + "lastupdate": "2024-01-02" }, { "name": "Aboul Ella Hassanien", "affiliation": "Cairo University", "position": "Professor", - "hindex": 85, + "hindex": 87, "photo": "./assets/images/aboul-ella-hassanien-ali.jpeg", "scholar": "https://scholar.google.com/citations?user=aZ6bcngAAAAJ&hl=en", "linkedin": "https://eg.linkedin.com/in/aboul-ella-hassanien-48a9528", @@ -978,14 +978,14 @@ "Metaverses", "Biomedical Informatics" ], - "citedby": 31717, - "lastupdate": "2023-10-14" + "citedby": 33035, + "lastupdate": "2024-01-02" }, { "name": "Fahmi Khalifa", "affiliation": "Mansoura University", "position": "Assistant Professor", - "hindex": 48, + "hindex": 50, "photo": "./assets/images/fahmi-khalifa.jpeg", "scholar": "https://scholar.google.ca/citations?user=Ua1i31oAAAAJ&hl=fr&oi=ao", "linkedin": "", @@ -999,8 +999,8 @@ "Multimedia", "Biomedical Informatics" ], - "citedby": 5472, - "lastupdate": "2023-10-14" + "citedby": 5785, + "lastupdate": "2024-01-02" }, { "name": "Khaled Fathy Hussein", @@ -1017,8 +1017,8 @@ "Computer Graphics", "Neural Networks" ], - "citedby": 1112, - "lastupdate": "2023-10-14" + "citedby": 1159, + "lastupdate": "2024-01-02" }, { "name": "Mohamed Nabih Ali", @@ -1038,14 +1038,14 @@ "Biomedical Signal Processing", "Image Processing" ], - "citedby": 213, - "lastupdate": "2023-10-14" + "citedby": 228, + "lastupdate": "2024-01-02" }, { "name": "Omar Khattab", "affiliation": "Stanford University", "position": "PhD Student", - "hindex": 12, + "hindex": 13, "photo": "./assets/images/omar-khattab.jpeg", "scholar": "https://scholar.google.com/citations?user=Lwr5ozgAAAAJ&hl=en", "linkedin": "", @@ -1055,14 +1055,14 @@ "Natural Language Processing", "Information Retrieval" ], - "citedby": 2871, - "lastupdate": "2023-10-14" + "citedby": 3881, + "lastupdate": "2024-01-02" }, { "name": "Ahmed Elgammal", "affiliation": "Rutgers University", "position": "Professor", - "hindex": 55, + "hindex": 56, "photo": "./assets/images/ahmed-elgammal.jpeg", "scholar": "https://scholar.google.com/citations?user=DxQiCiIAAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/ahmed-elgammal-71667911/", @@ -1071,8 +1071,8 @@ "interests": [ "Computer Vision" ], - "citedby": 16665, - "lastupdate": "2023-10-14" + "citedby": 17038, + "lastupdate": "2024-01-02" }, { "name": "Ahmed El-Kishky", @@ -1091,8 +1091,8 @@ "Graph Learning", "Recommender Systems" ], - "citedby": 1482, - "lastupdate": "2023-10-14" + "citedby": 1618, + "lastupdate": "2024-01-02" }, { "name": "Moustafa Alzantot", @@ -1109,8 +1109,8 @@ "Recommender Systems", "Natural Language Processing" ], - "citedby": 4263, - "lastupdate": "2023-10-14" + "citedby": 4443, + "lastupdate": "2024-01-02" }, { "name": "Heba Elfardy", @@ -1125,8 +1125,8 @@ "interests": [ "Natural Language Processing" ], - "citedby": 607, - "lastupdate": "2023-10-14" + "citedby": 628, + "lastupdate": "2024-01-02" }, { "name": "Ahmed Hefny", @@ -1141,14 +1141,14 @@ "interests": [ "Machine Learning" ], - "citedby": 1586, - "lastupdate": "2023-10-14" + "citedby": 1650, + "lastupdate": "2024-01-02" }, { "name": "Hady Elsahar", "affiliation": "Meta", "position": "Research Scientist", - "hindex": 15, + "hindex": 16, "photo": "./assets/images/hady-elsahar.jpeg", "scholar": "https://scholar.google.com.eg/citations?user=SbcM6bsAAAAJ&hl=en", "linkedin": "", @@ -1158,8 +1158,8 @@ "Natural Language Processing", "Machine Learning" ], - "citedby": 1755, - "lastupdate": "2023-10-14" + "citedby": 2143, + "lastupdate": "2024-01-02" }, { "name": "Ahmed M. Badawi", @@ -1181,8 +1181,8 @@ "Pattern Recognition", "Pattern Classification" ], - "citedby": 1589, - "lastupdate": "2023-10-14" + "citedby": 1604, + "lastupdate": "2024-01-02" }, { "name": "Mostafa Badawy", @@ -1200,14 +1200,14 @@ "Computer Vision", "Artificial Intelligence" ], - "citedby": 407, - "lastupdate": "2023-10-14" + "citedby": 425, + "lastupdate": "2024-01-02" }, { "name": "Muhammad AbdulMageed", "affiliation": "UBC", "position": "Associate Professor", - "hindex": 26, + "hindex": 28, "photo": "./assets/images/muhammad-abdulmageed.jpeg", "scholar": "https://scholar.google.com/citations?user=SOjQhl8AAAAJ", "linkedin": "", @@ -1218,14 +1218,14 @@ "Natural Language Processing", "Machine Learning" ], - "citedby": 3515, - "lastupdate": "2023-10-14" + "citedby": 3831, + "lastupdate": "2024-01-02" }, { "name": "Wael Abd-Almageed", "affiliation": "USC", "position": "Research Associate Professor", - "hindex": 31, + "hindex": 32, "photo": "./assets/images/wael-abdalmageed.jpeg", "scholar": "https://scholar.google.com/citations?user=tRGH8FkAAAAJ&hl=en", "linkedin": "", @@ -1235,14 +1235,14 @@ "Machine Learning", "Computer Vision" ], - "citedby": 4121, - "lastupdate": "2023-10-14" + "citedby": 4367, + "lastupdate": "2024-01-02" }, { "name": "Youssef Nashed", "affiliation": "Stanford University", "position": "Staff ML Scientist", - "hindex": 21, + "hindex": 22, "photo": "./assets/images/youssef-nashed.jpeg", "scholar": "https://scholar.google.com/citations?user=pQXy90QAAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/ynashed/", @@ -1253,8 +1253,8 @@ "Geometric Deep Learning", "Graph Neural Networks" ], - "citedby": 1554, - "lastupdate": "2023-10-14" + "citedby": 1632, + "lastupdate": "2024-01-02" }, { "name": "Abubakr Karali", @@ -1270,14 +1270,14 @@ "Computer Vision", "Self-Supervised Learning" ], - "citedby": 119, - "lastupdate": "2023-10-14" + "citedby": 123, + "lastupdate": "2024-01-02" }, { "name": "Ahmed Sahlol", "affiliation": "Co-founder Tachyhealth", "position": "Associate Professor of ML", - "hindex": 15, + "hindex": 16, "photo": "./assets/images/ahmed-sahlol.jpeg", "scholar": "https://scholar.google.com/citations?user=JZB2oMQAAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/ahmed-sahloul", @@ -1288,8 +1288,8 @@ "Medical NLP", "Medical Fraud Detection" ], - "citedby": 1428, - "lastupdate": "2023-10-14" + "citedby": 1521, + "lastupdate": "2024-01-02" }, { "name": "Eslam Kamal", @@ -1307,8 +1307,8 @@ "Conversational AI", "Responsible AI" ], - "citedby": 324, - "lastupdate": "2023-10-14" + "citedby": 347, + "lastupdate": "2024-01-02" }, { "name": "Yehia Elshater", @@ -1325,8 +1325,8 @@ "NLP", "Forecasting" ], - "citedby": 135, - "lastupdate": "2023-10-14" + "citedby": 138, + "lastupdate": "2024-01-02" }, { "name": "Ahmed Rashed", @@ -1343,8 +1343,8 @@ "Graph Mining", "Time Series Forecasting" ], - "citedby": 186, - "lastupdate": "2023-10-14" + "citedby": 221, + "lastupdate": "2024-01-02" }, { "name": "Shady Elbassuoni", @@ -1362,8 +1362,8 @@ "Information Retrieval", "Public Health and Medicine" ], - "citedby": 2865, - "lastupdate": "2023-10-14" + "citedby": 2934, + "lastupdate": "2024-01-02" }, { "name": "Noha Radwan", @@ -1379,14 +1379,14 @@ "Computer vision", "Deep learning" ], - "citedby": 1828, - "lastupdate": "2023-10-14" + "citedby": 2119, + "lastupdate": "2024-01-02" }, { "name": "Radwa ElShawi", "affiliation": "Tartu university", "position": "Associate Professor", - "hindex": 17, + "hindex": 18, "photo": "./assets/images/radwa-elshawi.jpeg", "scholar": "https://scholar.google.de/citations?user=RD5PdpwAAAAJ&hl=en", "linkedin": "", @@ -1397,8 +1397,8 @@ "AutoML", "health informatics" ], - "citedby": 1610, - "lastupdate": "2023-10-14" + "citedby": 1707, + "lastupdate": "2024-01-02" }, { "name": "Ramy Hussein", @@ -1416,8 +1416,8 @@ "Signal/Image Processing", "Medical Imaging" ], - "citedby": 1065, - "lastupdate": "2023-10-14" + "citedby": 1134, + "lastupdate": "2024-01-02" }, { "name": "Sarah Adel Bargal", @@ -1433,8 +1433,8 @@ "Computer vision", "Deep Learning" ], - "citedby": 2543, - "lastupdate": "2023-10-14" + "citedby": 2683, + "lastupdate": "2024-01-02" }, { "name": "Badr AlKhamissi", @@ -1452,8 +1452,8 @@ "Computational Neuroscience", "Computer Vision" ], - "citedby": 103, - "lastupdate": "2023-10-14" + "citedby": 145, + "lastupdate": "2024-01-02" }, { "name": "Moamen AbdelRazek", @@ -1471,8 +1471,8 @@ "Computer Vision", "ML Ops" ], - "citedby": 384, - "lastupdate": "2023-10-14" + "citedby": 407, + "lastupdate": "2024-01-02" }, { "name": "Ahmed Magooda", @@ -1488,8 +1488,8 @@ "NLP", "Deep Learning" ], - "citedby": 308, - "lastupdate": "2023-10-14" + "citedby": 318, + "lastupdate": "2024-01-02" }, { "name": "Aly El Gamal", @@ -1506,8 +1506,8 @@ "Consumer Engagement", "Information Theory" ], - "citedby": 1170, - "lastupdate": "2023-10-14" + "citedby": 1237, + "lastupdate": "2024-01-02" }, { "name": "Tamer Basha", @@ -1522,14 +1522,14 @@ "interests": [ "Medical Imaging" ], - "citedby": 1865, - "lastupdate": "2023-10-14" + "citedby": 1898, + "lastupdate": "2024-01-02" }, { "name": "Momen Negm", "affiliation": "Rasheed AI", "position": "Co-Founder", - "hindex": 25, + "hindex": 26, "photo": "./assets/images/momen-negm.jpg", "scholar": "https://scholar.google.com/citations?user=JJ_RhZEAAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/momennegm/", @@ -1539,8 +1539,8 @@ "Computer Vision", "Machine Learning" ], - "citedby": 3807, - "lastupdate": "2023-10-14" + "citedby": 4201, + "lastupdate": "2024-01-02" }, { "name": "Mostafa Salem", @@ -1557,8 +1557,8 @@ "Computer Vision", "3D Reconstruction" ], - "citedby": 1969, - "lastupdate": "2023-10-14" + "citedby": 2107, + "lastupdate": "2024-01-02" }, { "name": "Noureldin Elmadany", @@ -1574,14 +1574,14 @@ "Multimodal Learning", "Action Recognition and Anticipation" ], - "citedby": 239, - "lastupdate": "2023-10-14" + "citedby": 248, + "lastupdate": "2024-01-02" }, { "name": "Ahmed Masry", "affiliation": "Arteria AI", "position": "Data Scientist", - "hindex": 5, + "hindex": 6, "photo": "./assets/images/ahmed-elmasry.jpg", "scholar": "https://scholar.google.com/citations?user=XqPX5XcAAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/ahmed-masry-ku/", @@ -1592,14 +1592,14 @@ "Multimodal Chart & Document Understanding", "Computer Vision" ], - "citedby": 138, - "lastupdate": "2023-10-14" + "citedby": 190, + "lastupdate": "2024-01-02" }, { "name": "Sahar Selim", "affiliation": "Nile University", "position": "Assistant Professor", - "hindex": 6, + "hindex": 7, "photo": "./assets/images/sahar-selim.jpeg", "scholar": "https://scholar.google.com.eg/citations?hl=en&user=Ynx9NTwAAAAJ&view_op=list_works&sortby=pubdate", "linkedin": "https://www.linkedin.com/in/sahar-selim-soussa/?originalSubdomain=eg", @@ -1611,8 +1611,8 @@ "Brain-Computer Interface", "Neural Engineering" ], - "citedby": 250, - "lastupdate": "2023-10-14" + "citedby": 268, + "lastupdate": "2024-01-02" }, { "name": "Ghada Khoriba", @@ -1633,12 +1633,12 @@ "LLMs", "Knowledge Graphs." ], - "citedby": 597, - "lastupdate": "2023-10-14" + "citedby": 633, + "lastupdate": "2024-01-02" }, { "name": "Fatma Elzahraa Eid", - "affiliation": "Broad Institute / Al-Azhar", + "affiliation": "Broad Institute of MIT and Harvard / Al-Azhar", "position": "Biomedical Machine Learning Group Lead", "hindex": 5, "photo": "./assets/images/fatma-elzahraa.jpeg", @@ -1652,12 +1652,12 @@ "Biological sequence engineering", "Data-driven Therapeutics" ], - "citedby": 363, - "lastupdate": "2023-10-14" + "citedby": 386, + "lastupdate": "2024-01-02" }, { "name": "Haitham Elmarakeby", - "affiliation": "DF/HCC / Alazhar University", + "affiliation": "Harvard Medical School / Alazhar University", "position": "Instructor / ML Group Lead", "hindex": 17, "photo": "./assets/images/haitham-elmarakeby.jpeg", @@ -1668,14 +1668,14 @@ "interests": [ "Cancer Machine Learning" ], - "citedby": 1776, - "lastupdate": "2023-10-14" + "citedby": 1903, + "lastupdate": "2024-01-02" }, { "name": "Ahmad Taher Azar", "affiliation": "Prince Sultan / Benha Uni", "position": "Full Professor", - "hindex": 68, + "hindex": 69, "photo": "./assets/images/ahmad-azar.jpeg", "scholar": "https://scholar.google.com/citations?user=6gf4UVkAAAAJ&hl=en", "linkedin": "", @@ -1687,17 +1687,17 @@ "Artificial Intelligence", "Reinforcement Learning" ], - "citedby": 17481, - "lastupdate": "2023-10-14" + "citedby": 18078, + "lastupdate": "2024-01-02" }, { "name": "Hossam Hassan Ammar", "affiliation": "University of Hertfordshire", - "position": "Lecturer of Mechatronics and Robotics, CTO of ITC", - "hindex": 16, - "photo": "./assets/images/default.jpg", + "position": "Assistant Professor of Mechatronics and Robotics, CTO of ITC", + "hindex": 17, + "photo": "./assets/images/hossam-ammar.jpeg", "scholar": "https://scholar.google.com/citations?user=gxtCFWkAAAAJ&hl=en", - "linkedin": "", + "linkedin": "https://www.linkedin.com/in/hossam-ammar-\u060c-phd-mieee-6707317b", "website": "", "twitter": "", "interests": [ @@ -1706,8 +1706,8 @@ "Automatic Control", "Renewable Energy" ], - "citedby": 672, - "lastupdate": "2023-10-14" + "citedby": 720, + "lastupdate": "2024-01-02" }, { "name": "Marwa Mahmoud", @@ -1725,8 +1725,8 @@ "Gesture Recognition", "Animal Behaviour Understanding" ], - "citedby": 1550, - "lastupdate": "2023-10-14" + "citedby": 1613, + "lastupdate": "2024-01-02" }, { "name": "Ahmed Elgohary", @@ -1741,8 +1741,8 @@ "interests": [ "Natural Language Processing" ], - "citedby": 3380, - "lastupdate": "2023-10-14" + "citedby": 3543, + "lastupdate": "2024-01-02" }, { "name": "Amr Sharaf", @@ -1759,8 +1759,8 @@ "Computer Vision", "Machine Learning" ], - "citedby": 331, - "lastupdate": "2023-10-14" + "citedby": 403, + "lastupdate": "2024-01-02" }, { "name": "Hazem Rashed", @@ -1777,8 +1777,8 @@ "Computer Vision", "Autonomous Driving" ], - "citedby": 893, - "lastupdate": "2023-10-14" + "citedby": 942, + "lastupdate": "2024-01-02" }, { "name": "Mennatullah Siam", @@ -1798,14 +1798,14 @@ "Video Understanding", "Spatiotemporal Models Interpretability." ], - "citedby": 1323, - "lastupdate": "2023-10-14" + "citedby": 1377, + "lastupdate": "2024-01-02" }, { "name": "Hamdy Mubarak", "affiliation": "QCRI", "position": "Principal Software Engineer", - "hindex": 32, + "hindex": 34, "photo": "./assets/images/hamdy-mubarak.jpeg", "scholar": "https://scholar.google.com/citations?user=usvY6qYAAAAJ&hl=en", "linkedin": "", @@ -1818,18 +1818,18 @@ "Social Media Analysis", "Arabic NLP" ], - "citedby": 3753, - "lastupdate": "2023-10-14" + "citedby": 4065, + "lastupdate": "2024-01-02" }, { "name": "Mohamed Mokbel", - "affiliation": "Univ. of Minnesota", - "position": "Distinguished McKnight University Professor, Univ. of Minnesota", + "affiliation": "University of Minnesota", + "position": "Distinguished McKnight University Professor", "hindex": 58, - "photo": "./assets/images/default.jpg", + "photo": "./assets/images/mohamed-mokbel.png", "scholar": "https://scholar.google.com/citations?hl=en&user=GHz1ZVIAAAAJ", - "linkedin": "", - "website": "", + "linkedin": "https://www.linkedin.com/in/mohamed-mokbel-4a053130/", + "website": "https://www.cs.umn.edu/~mokbel", "twitter": "", "interests": [ "Database Systems", @@ -1838,8 +1838,8 @@ "Spatial Big Data", "Mobile Data Management" ], - "citedby": 15995, - "lastupdate": "2023-10-14" + "citedby": 16198, + "lastupdate": "2024-01-02" }, { "name": "Ashraf Aboulnaga", @@ -1856,8 +1856,8 @@ "Cloud computing", "Graphs" ], - "citedby": 5864, - "lastupdate": "2023-10-14" + "citedby": 5993, + "lastupdate": "2024-01-02" }, { "name": "Essam Mansour", @@ -1875,14 +1875,14 @@ "distributed/parallel systems", "machine learning" ], - "citedby": 1371, - "lastupdate": "2023-10-14" + "citedby": 1451, + "lastupdate": "2024-01-02" }, { "name": "Ihab F. Ilyas", "affiliation": "University of Waterloo", "position": "Professor", - "hindex": 57, + "hindex": 58, "photo": "./assets/images/default.jpg", "scholar": "https://scholar.google.com/citations?user=YG6mTEIAAAAJ&hl=en", "linkedin": "", @@ -1895,14 +1895,14 @@ "Data Integration", "Data Science" ], - "citedby": 13153, - "lastupdate": "2023-10-14" + "citedby": 13482, + "lastupdate": "2024-01-02" }, { "name": "Walid G. Aref", "affiliation": "Purdue University", "position": "Professor", - "hindex": 63, + "hindex": 64, "photo": "./assets/images/default.jpg", "scholar": "https://scholar.google.com/citations?user=vX45evgAAAAJ&hl=en", "linkedin": "", @@ -1913,8 +1913,8 @@ "Spatial Databases", "Data Management" ], - "citedby": 16201, - "lastupdate": "2023-10-14" + "citedby": 16371, + "lastupdate": "2024-01-02" }, { "name": "Abdurrahman Ghanem", @@ -1931,8 +1931,8 @@ "Artificial Intelligence", "Machine Learning" ], - "citedby": 457, - "lastupdate": "2023-10-14" + "citedby": 492, + "lastupdate": "2024-01-02" }, { "name": "Hossam Hammady", @@ -1950,14 +1950,14 @@ "machine learning", "data analytics" ], - "citedby": 11330, - "lastupdate": "2023-10-14" + "citedby": 12539, + "lastupdate": "2024-01-02" }, { "name": "Sherif Abdou", "affiliation": "Cairo University", "position": "Associate Professor", - "hindex": 19, + "hindex": 20, "photo": "./assets/images/default.jpg", "scholar": "https://scholar.google.com/citations?user=aFYes5MAAAAJ&hl=en", "linkedin": "", @@ -1970,14 +1970,14 @@ "language modeling", "text to speech" ], - "citedby": 1344, - "lastupdate": "2023-10-14" + "citedby": 1389, + "lastupdate": "2024-01-02" }, { "name": "Amr Magdy", "affiliation": "UC Riverside", "position": " Assistant Professor", - "hindex": 16, + "hindex": 18, "photo": "./assets/images/default.jpg", "scholar": "https://scholar.google.com/citations?user=11CMsKsAAAAJ&hl=en", "linkedin": "", @@ -1990,14 +1990,14 @@ "large-scale data analytics", "indexing" ], - "citedby": 842, - "lastupdate": "2023-10-14" + "citedby": 1058, + "lastupdate": "2024-01-02" }, { "name": "Thanaa Ghanem", "affiliation": "Metropolitan State University", "position": "Metropolitan State University", - "hindex": 15, + "hindex": 16, "photo": "./assets/images/default.jpg", "scholar": "https://scholar.google.com/citations?user=ZUQDHsMAAAAJ&hl=en", "linkedin": "", @@ -2006,14 +2006,14 @@ "interests": [ "Database systems" ], - "citedby": 1260, - "lastupdate": "2023-10-14" + "citedby": 1277, + "lastupdate": "2024-01-02" }, { "name": "Mohammed Attia", "affiliation": "Google Inc.", "position": "Analytical Linguist", - "hindex": 26, + "hindex": 25, "photo": "./assets/images/default.jpg", "scholar": "https://scholar.google.com/citations?user=fvpPkj0AAAAJ&hl=en", "linkedin": "", @@ -2026,8 +2026,8 @@ "spell checking", "Lexical Functional Grammar" ], - "citedby": 3251, - "lastupdate": "2023-10-14" + "citedby": 2859, + "lastupdate": "2024-01-02" }, { "name": "Ahmed Mourad", @@ -2045,8 +2045,8 @@ "Natural language Processing", "Social Media Analysis" ], - "citedby": 491, - "lastupdate": "2023-10-14" + "citedby": 512, + "lastupdate": "2024-01-02" }, { "name": "Tarek El-Ganainy", @@ -2064,8 +2064,8 @@ "Machine Learning", "Virtual Reality" ], - "citedby": 177, - "lastupdate": "2023-10-14" + "citedby": 179, + "lastupdate": "2024-01-02" }, { "name": "Mohamed Hefeeda", @@ -2082,14 +2082,14 @@ "Computer Networks", "Multimedia AI" ], - "citedby": 6057, - "lastupdate": "2023-10-14" + "citedby": 6109, + "lastupdate": "2024-01-02" }, { "name": "Mohamed Elgharib", "affiliation": "MPI for Informatics", "position": "Research Group Leader", - "hindex": 25, + "hindex": 26, "photo": "./assets/images/default.jpg", "scholar": "https://scholar.google.com/citations?user=e1WLgm8AAAAJ&hl=en", "linkedin": "", @@ -2101,8 +2101,8 @@ "Machine Learning", "Virtual/Augmented Reality" ], - "citedby": 2627, - "lastupdate": "2023-10-14" + "citedby": 2864, + "lastupdate": "2024-01-02" }, { "name": "Tarek Elgamal", @@ -2120,14 +2120,14 @@ "Multimedia systems", "Machine Learning" ], - "citedby": 448, - "lastupdate": "2023-10-14" + "citedby": 476, + "lastupdate": "2024-01-02" }, { "name": "AbdelRahim A. ElMadany", "affiliation": "UBC", "position": "PostDoc", - "hindex": 11, + "hindex": 12, "photo": "./assets/images/default.jpg", "scholar": "https://scholar.google.com/citations?user=v3akuNAAAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/tarek-elgamal/", @@ -2140,8 +2140,8 @@ "Machine Learning", "Speech Act" ], - "citedby": 657, - "lastupdate": "2023-10-14" + "citedby": 821, + "lastupdate": "2024-01-02" }, { "name": "Mohamed Waleed Fakhr", @@ -2158,8 +2158,8 @@ "Deep Learning", "NLP" ], - "citedby": 685, - "lastupdate": "2023-10-14" + "citedby": 711, + "lastupdate": "2024-01-02" }, { "name": "Mohamed Loey", @@ -2177,8 +2177,8 @@ "Machine Learning", "Image Processing" ], - "citedby": 3214, - "lastupdate": "2023-10-14" + "citedby": 3427, + "lastupdate": "2024-01-02" }, { "name": "Wael Badawy", @@ -2195,14 +2195,14 @@ "Computer Vision", "Cyber Security." ], - "citedby": 4218, - "lastupdate": "2023-10-14" + "citedby": 4317, + "lastupdate": "2024-01-02" }, { "name": "Mohamed Salem Elaraby", "affiliation": "University of Pittsburgh", "position": "PhD Researcher", - "hindex": 6, + "hindex": 7, "photo": "./assets/images/mohamed-elaraby.jpg", "scholar": "https://scholar.google.com.eg/citations?user=A5jMCaAAAAAJ&hl=en", "linkedin": "https://www.linkedin.com/in/mohamed-salem-b25b24b6/", @@ -2213,8 +2213,8 @@ "Legal Document Summarization", "Deep Learning" ], - "citedby": 179, - "lastupdate": "2023-10-14" + "citedby": 208, + "lastupdate": "2024-01-02" }, { "name": "Mohamed Altantawy", @@ -2230,14 +2230,14 @@ "Machine Learning", "Natural Langauge Processing" ], - "citedby": 191, - "lastupdate": "2023-10-14" + "citedby": 195, + "lastupdate": "2024-01-02" }, { "name": "Muhammad Ali Rushdi", "affiliation": "Cairo & New Giza University", "position": "Associate Professor", - "hindex": 13, + "hindex": 14, "photo": "./assets/images/muhammad-rushdi.png", "scholar": "https://scholar.google.com/citations?user=vDgGLjsAAAAJ&hl=en&oi=ao", "linkedin": "https://www.linkedin.com/in/muhammad-rushdi-4817a462/", @@ -2251,7 +2251,262 @@ "Computer Vision", "Applied Mathematics" ], - "citedby": 550, - "lastupdate": "2023-10-14" + "citedby": 584, + "lastupdate": "2024-01-02" + }, + { + "name": "Mohamed El Banani", + "affiliation": "University of Michigan Ann Arbor", + "position": "PhD Student", + "hindex": 6, + "photo": "./assets/images/mohamed-elbanani.jpg", + "scholar": "https://scholar.google.com/citations?user=Iwe1QVEAAAAJ", + "linkedin": "", + "website": "https://mbanani.github.io/", + "twitter": "https://twitter.com/_mbanani", + "interests": [ + "Computer Vision", + "Machine Learning", + "Cognitive Science" + ], + "citedby": 113, + "lastupdate": "2024-01-02" + }, + { + "name": "Mai ElSherief", + "affiliation": "Northeastern University", + "position": "Assistant Professor", + "hindex": 13, + "photo": "./assets/images/mai-elsherief.png", + "scholar": "https://scholar.google.com/citations?hl=en&user=Rykl2HkAAAAJ&view_op=list_works&sortby=pubdate", + "linkedin": "https://www.linkedin.com/in/mai-elsherief-ph-d-38638082", + "website": "", + "twitter": "https://twitter.com/mai_elsherief?lang=en", + "interests": [ + "Social computing", + "Natural Language Processing", + "Applied Machine Learning", + "Information science", + "Data" + ], + "citedby": 1504, + "lastupdate": "2024-01-02" + }, + { + "name": "Mahmoud Azab", + "affiliation": "Meta", + "position": "Research Scientist", + "hindex": 8, + "photo": "./assets/images/mohamed-azab.jpeg", + "scholar": "https://scholar.google.com/citations?user=sQROlqMAAAAJ&hl=en", + "linkedin": "", + "website": "", + "twitter": "https://twitter.com/M_MoNeEb", + "interests": [ + "Natural Language Processing", + "Computer Vision", + "Multimodal Machine Learning" + ], + "citedby": 242, + "lastupdate": "2024-01-02" + }, + { + "name": "Ahmed M. Abdelmoniem", + "affiliation": "Queen Mary University of London", + "position": "Assistant Professor", + "hindex": 21, + "photo": "./assets/images/ahmed-abdelmoniem.jpg", + "scholar": "https://scholar.google.com/citations?user=CzfuSJgAAAAJ&hl=en", + "linkedin": "https://www.linkedin.com/in/ahmedmabdelmoniem/", + "website": "http://eecs.qmul.ac.uk/~ahmed/", + "twitter": "", + "interests": [ + "Distributed Systems", + "Computer Networks", + "Machine Learning", + "Federated Learning" + ], + "citedby": 986, + "lastupdate": "2024-01-02" + }, + { + "name": "Walid Gomaa", + "affiliation": "Egypt Japan University for Science and Technology", + "position": "Professor", + "hindex": 19, + "photo": "./assets/images/default.jpg", + "scholar": "https://scholar.google.com/citations?user=tZ1q2UUAAAAJ&hl=en", + "linkedin": "https://www.linkedin.com/in/walid-gomaa-40a45926?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app", + "website": "https://sites.google.com/ejust.edu.eg/walid-gomaa/", + "twitter": "", + "interests": [ + "Machine learning", + "Artificial intelligence", + "Computer Vision" + ], + "citedby": 1509, + "lastupdate": "2024-01-02" + }, + { + "name": "Sameh Alansary", + "affiliation": "Alexandria University", + "position": "Professor and head of Phonetics and Linguistics Department", + "hindex": 11, + "photo": "./assets/images/sameh-alansary.jpeg", + "scholar": "https://scholar.google.com/citations?user=dgBdtaUAAAAJ&hl=en&oi=ao", + "linkedin": "", + "website": "", + "twitter": "", + "interests": [ + "Computational Linguistics", + "Corpus Linguistics", + "NLP" + ], + "citedby": 464, + "lastupdate": "2024-01-02" + }, + { + "name": "Mohamed ElHelw", + "affiliation": "Center for Informatics Science, Nile University", + "position": "Professort and Center for Informatics Science director", + "hindex": 15, + "photo": "./assets/images/default.jpg", + "scholar": "https://www.researchgate.net/profile/Mohamed-Elhelw", + "linkedin": "https://www.linkedin.com/in/mohamedelhelw/", + "website": "", + "twitter": "", + "interests": [ + "Computer vision", + "deep learning" + ], + "citedby": 0, + "lastupdate": "" + }, + { + "name": "Ayman Youssef", + "affiliation": "Electronics Reseach institute", + "position": "Researcher", + "hindex": 6, + "photo": "./assets/images/ayman-youssef.jpeg", + "scholar": "https://scholar.google.com/citations?user=1RYci-8AAAAJ&hl=en&oi=ao", + "linkedin": "", + "website": "", + "twitter": "", + "interests": [ + "Applications and Tools of ML", + "NLP", + "FPGA Implementations of ML Algorithms" + ], + "citedby": 385, + "lastupdate": "2024-01-02" + }, + { + "name": "Mervat Gheith", + "affiliation": "Cairo university", + "position": "Assoc. Prof", + "hindex": 10, + "photo": "./assets/images/default.jpg", + "scholar": "https://scholar.google.com/citations?user=zhZQaoYAAAAJ&hl=en", + "linkedin": "", + "website": "", + "twitter": "", + "interests": [ + "AI", + "NLP" + ], + "citedby": 354, + "lastupdate": "2024-01-02" + }, + { + "name": "Mohamed Ezz", + "affiliation": "Jouf University, Al Azhar University", + "position": "Professor", + "hindex": 9, + "photo": "./assets/images/moahmed-ezz.jpeg", + "scholar": "https://scholar.google.com/citations?user=0oVjLe4AAAAJ&hl=ar&oi=ao", + "linkedin": "https://www.linkedin.com/in/mohamed-ezz-phd-cbap-24122210/", + "website": "", + "twitter": "", + "interests": [ + "Computer Vision", + "Machine Learning", + "Natural Language Processing" + ], + "citedby": 436, + "lastupdate": "2024-01-02" + }, + { + "name": "Dr Mohamed Abdelhack", + "affiliation": "CAMH", + "position": "PostDoc Fellow", + "hindex": 6, + "photo": "./assets/images/default.jpg", + "scholar": "https://scholar.google.co.jp/citations?user=S1TWer4AAAAJ&hl=en", + "linkedin": "https://www.linkedin.com/in/mabdelhack?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app", + "website": "https://mabdelhack.github.io", + "twitter": "https://x.com/mabdelhack?t=63lEQLFmxGgJjDKH4VKf3A&s=09", + "interests": [ + "Computational Neuroscience", + "Machine Learning", + "Deep Learning", + "AI" + ], + "citedby": 110, + "lastupdate": "2024-01-02" + }, + { + "name": "El-Sayed M. El-kenawy", + "affiliation": "Delta Higher Institute of Engineering and Technology", + "position": "Associate Professor", + "hindex": 42, + "photo": "./assets/images/sayed-kenawy.jpeg", + "scholar": "https://scholar.google.com/citations?user=fA25haEAAAAJ&hl=en", + "linkedin": "https://www.linkedin.com/in/sayed-kenawy-162328220", + "website": "https://sayedkenawy.com/", + "twitter": "", + "interests": [ + "Metaheuristics", + "Optimization", + "AI", + "Data Mining", + "Machine Learning" + ], + "citedby": 5542, + "lastupdate": "2024-01-02" + }, + { + "name": "Waleed A. Yousef", + "affiliation": "Helwan University / MESC Labs", + "position": "Associate Professor / Founder", + "hindex": 14, + "photo": "./assets/images/default.jpg", + "scholar": "https://scholar.google.com/citations?user=dfBOO6oAAAAJ&hl=en", + "linkedin": "", + "website": "", + "twitter": "", + "interests": [], + "citedby": 1349, + "lastupdate": "2024-01-02" + }, + { + "name": "Omneya Attallah", + "affiliation": "AASTMT", + "position": "Associate Professor", + "hindex": 25, + "photo": "./assets/images/default.jpg", + "scholar": "https://scholar.google.com/citations?hl=en&user=QpDDpNEAAAAJ", + "linkedin": "http://linkedin.com/in/omneya-attallah-8729ab129", + "website": "https://aast.edu/cv.php?ser=50275", + "twitter": "", + "interests": [ + "Deep/machine learning", + "Biomedical Signal Processing", + "Computer Vision", + "Pattern Recognition", + "Medical Imaging", + "Brain-Computer Interface" + ], + "citedby": 1414, + "lastupdate": "2024-01-02" } ] \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 6e004c3..0b96b1b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -26,6 +26,6 @@ - + \ No newline at end of file diff --git a/docs/main.51524983e7c651ec.js b/docs/main.cb4434f7d8430d16.js similarity index 78% rename from docs/main.51524983e7c651ec.js rename to docs/main.cb4434f7d8430d16.js index d4052af..248e584 100644 --- a/docs/main.51524983e7c651ec.js +++ b/docs/main.cb4434f7d8430d16.js @@ -1 +1 @@ -"use strict";(self.webpackChunkegyptians_in_ai=self.webpackChunkegyptians_in_ai||[]).push([[179],{466:()=>{function ae(e){return"function"==typeof e}function wr(e){const n=e(i=>{Error.call(i),i.stack=(new Error).stack});return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}const Uo=wr(e=>function(n){e(this),this.message=n?`${n.length} errors occurred during unsubscription:\n${n.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=n});function vr(e,t){if(e){const n=e.indexOf(t);0<=n&&e.splice(n,1)}}class vt{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:n}=this;if(n)if(this._parentage=null,Array.isArray(n))for(const o of n)o.remove(this);else n.remove(this);const{initialTeardown:i}=this;if(ae(i))try{i()}catch(o){t=o instanceof Uo?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{Ch(o)}catch(s){t=t??[],s instanceof Uo?t=[...t,...s.errors]:t.push(s)}}if(t)throw new Uo(t)}}add(t){var n;if(t&&t!==this)if(this.closed)Ch(t);else{if(t instanceof vt){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}}_hasParent(t){const{_parentage:n}=this;return n===t||Array.isArray(n)&&n.includes(t)}_addParent(t){const{_parentage:n}=this;this._parentage=Array.isArray(n)?(n.push(t),n):n?[n,t]:t}_removeParent(t){const{_parentage:n}=this;n===t?this._parentage=null:Array.isArray(n)&&vr(n,t)}remove(t){const{_finalizers:n}=this;n&&vr(n,t),t instanceof vt&&t._removeParent(this)}}vt.EMPTY=(()=>{const e=new vt;return e.closed=!0,e})();const bh=vt.EMPTY;function Dh(e){return e instanceof vt||e&&"closed"in e&&ae(e.remove)&&ae(e.add)&&ae(e.unsubscribe)}function Ch(e){ae(e)?e():e.unsubscribe()}const qn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Ho={setTimeout(e,t,...n){const{delegate:i}=Ho;return i?.setTimeout?i.setTimeout(e,t,...n):setTimeout(e,t,...n)},clearTimeout(e){const{delegate:t}=Ho;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Mh(e){Ho.setTimeout(()=>{const{onUnhandledError:t}=qn;if(!t)throw e;t(e)})}function Eh(){}const JA=Za("C",void 0,void 0);function Za(e,t,n){return{kind:e,value:t,error:n}}let Jn=null;function $o(e){if(qn.useDeprecatedSynchronousErrorHandling){const t=!Jn;if(t&&(Jn={errorThrown:!1,error:null}),e(),t){const{errorThrown:n,error:i}=Jn;if(Jn=null,n)throw i}}else e()}class Ya extends vt{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Dh(t)&&t.add(this)):this.destination=t_}static create(t,n,i){return new Ar(t,n,i)}next(t){this.isStopped?el(function KA(e){return Za("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?el(function QA(e){return Za("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?el(JA,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const YA=Function.prototype.bind;function Xa(e,t){return YA.call(e,t)}class XA{constructor(t){this.partialObserver=t}next(t){const{partialObserver:n}=this;if(n.next)try{n.next(t)}catch(i){Go(i)}}error(t){const{partialObserver:n}=this;if(n.error)try{n.error(t)}catch(i){Go(i)}else Go(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(n){Go(n)}}}class Ar extends Ya{constructor(t,n,i){let r;if(super(),ae(t)||!t)r={next:t??void 0,error:n??void 0,complete:i??void 0};else{let o;this&&qn.useDeprecatedNextContext?(o=Object.create(t),o.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Xa(t.next,o),error:t.error&&Xa(t.error,o),complete:t.complete&&Xa(t.complete,o)}):r=t}this.destination=new XA(r)}}function Go(e){qn.useDeprecatedSynchronousErrorHandling?function ZA(e){qn.useDeprecatedSynchronousErrorHandling&&Jn&&(Jn.errorThrown=!0,Jn.error=e)}(e):Mh(e)}function el(e,t){const{onStoppedNotification:n}=qn;n&&Ho.setTimeout(()=>n(e,t))}const t_={closed:!0,next:Eh,error:function e_(e){throw e},complete:Eh},tl="function"==typeof Symbol&&Symbol.observable||"@@observable";function Qn(e){return e}function Sh(e){return 0===e.length?Qn:1===e.length?e[0]:function(n){return e.reduce((i,r)=>r(i),n)}}let De=(()=>{class e{constructor(n){n&&(this._subscribe=n)}lift(n){const i=new e;return i.source=this,i.operator=n,i}subscribe(n,i,r){const o=function r_(e){return e&&e instanceof Ya||function i_(e){return e&&ae(e.next)&&ae(e.error)&&ae(e.complete)}(e)&&Dh(e)}(n)?n:new Ar(n,i,r);return $o(()=>{const{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(n){try{return this._subscribe(n)}catch(i){n.error(i)}}forEach(n,i){return new(i=Ih(i))((r,o)=>{const s=new Ar({next:a=>{try{n(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(n){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(n)}[tl](){return this}pipe(...n){return Sh(n)(this)}toPromise(n){return new(n=Ih(n))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return e.create=t=>new e(t),e})();function Ih(e){var t;return null!==(t=e??qn.Promise)&&void 0!==t?t:Promise}const o_=wr(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let zt=(()=>{class e extends De{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(n){const i=new kh(this,this);return i.operator=n,i}_throwIfClosed(){if(this.closed)throw new o_}next(n){$o(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(n)}})}error(n){$o(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=n;const{observers:i}=this;for(;i.length;)i.shift().error(n)}})}complete(){$o(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:n}=this;for(;n.length;)n.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var n;return(null===(n=this.observers)||void 0===n?void 0:n.length)>0}_trySubscribe(n){return this._throwIfClosed(),super._trySubscribe(n)}_subscribe(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)}_innerSubscribe(n){const{hasError:i,isStopped:r,observers:o}=this;return i||r?bh:(this.currentObservers=null,o.push(n),new vt(()=>{this.currentObservers=null,vr(o,n)}))}_checkFinalizedStatuses(n){const{hasError:i,thrownError:r,isStopped:o}=this;i?n.error(r):o&&n.complete()}asObservable(){const n=new De;return n.source=this,n}}return e.create=(t,n)=>new kh(t,n),e})();class kh extends zt{constructor(t,n){super(),this.destination=t,this.source=n}next(t){var n,i;null===(i=null===(n=this.destination)||void 0===n?void 0:n.next)||void 0===i||i.call(n,t)}error(t){var n,i;null===(i=null===(n=this.destination)||void 0===n?void 0:n.error)||void 0===i||i.call(n,t)}complete(){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===n||n.call(t)}_subscribe(t){var n,i;return null!==(i=null===(n=this.source)||void 0===n?void 0:n.subscribe(t))&&void 0!==i?i:bh}}function xh(e){return ae(e?.lift)}function Fe(e){return t=>{if(xh(t))return t.lift(function(n){try{return e(n,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function ke(e,t,n,i,r){return new s_(e,t,n,i,r)}class s_ extends Ya{constructor(t,n,i,r,o,s){super(t),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=n?function(a){try{n(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:n}=this;super.unsubscribe(),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function K(e,t){return Fe((n,i)=>{let r=0;n.subscribe(ke(i,o=>{i.next(e.call(t,o,r++))}))})}function Kn(e){return this instanceof Kn?(this.v=e,this):new Kn(e)}function u_(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(h){i[h]&&(r[h]=function(f){return new Promise(function(p,g){o.push([h,f,p,g])>1||a(h,f)})})}function a(h,f){try{!function l(h){h.value instanceof Kn?Promise.resolve(h.value.v).then(u,c):d(o[0][2],h)}(i[h](f))}catch(p){d(o[0][3],p)}}function u(h){a("next",h)}function c(h){a("throw",h)}function d(h,f){h(f),o.shift(),o.length&&a(o[0][0],o[0][1])}}function c_(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function Ph(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),n={},i("next"),i("throw"),i("return"),n[Symbol.asyncIterator]=function(){return this},n);function i(o){n[o]=e[o]&&function(s){return new Promise(function(a,l){!function r(o,s,a,l){Promise.resolve(l).then(function(u){o({value:u,done:a})},s)}(a,l,(s=e[o](s)).done,s.value)})}}}const Nh=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function Fh(e){return ae(e?.then)}function Lh(e){return ae(e[tl])}function Oh(e){return Symbol.asyncIterator&&ae(e?.[Symbol.asyncIterator])}function Vh(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const jh=function h_(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function Bh(e){return ae(e?.[jh])}function Uh(e){return u_(this,arguments,function*(){const n=e.getReader();try{for(;;){const{value:i,done:r}=yield Kn(n.read());if(r)return yield Kn(void 0);yield yield Kn(i)}}finally{n.releaseLock()}})}function Hh(e){return ae(e?.getReader)}function kt(e){if(e instanceof De)return e;if(null!=e){if(Lh(e))return function f_(e){return new De(t=>{const n=e[tl]();if(ae(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Nh(e))return function p_(e){return new De(t=>{for(let n=0;n{e.then(n=>{t.closed||(t.next(n),t.complete())},n=>t.error(n)).then(null,Mh)})}(e);if(Oh(e))return $h(e);if(Bh(e))return function m_(e){return new De(t=>{for(const n of e)if(t.next(n),t.closed)return;t.complete()})}(e);if(Hh(e))return function y_(e){return $h(Uh(e))}(e)}throw Vh(e)}function $h(e){return new De(t=>{(function w_(e,t){var n,i,r,o;return function a_(e,t,n,i){return new(n||(n=Promise))(function(o,s){function a(c){try{u(i.next(c))}catch(d){s(d)}}function l(c){try{u(i.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):function r(o){return o instanceof n?o:new n(function(s){s(o)})}(c.value).then(a,l)}u((i=i.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(n=c_(e);!(i=yield n.next()).done;)if(t.next(i.value),t.closed)return}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=n.return)&&(yield o.call(n))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(n=>t.error(n))})}function sn(e,t,n,i=0,r=!1){const o=t.schedule(function(){n(),r?e.add(this.schedule(null,i)):this.unsubscribe()},i);if(e.add(o),!r)return o}function Ve(e,t,n=1/0){return ae(t)?Ve((i,r)=>K((o,s)=>t(i,o,r,s))(kt(e(i,r))),n):("number"==typeof t&&(n=t),Fe((i,r)=>function v_(e,t,n,i,r,o,s,a){const l=[];let u=0,c=0,d=!1;const h=()=>{d&&!l.length&&!u&&t.complete()},f=g=>u{o&&t.next(g),u++;let m=!1;kt(n(g,c++)).subscribe(ke(t,A=>{r?.(A),o?f(A):t.next(A)},()=>{m=!0},void 0,()=>{if(m)try{for(u--;l.length&&up(A)):p(A)}h()}catch(A){t.error(A)}}))};return e.subscribe(ke(t,f,()=>{d=!0,h()})),()=>{a?.()}}(i,r,e,n)))}function bi(e=1/0){return Ve(Qn,e)}const an=new De(e=>e.complete());function il(e){return e[e.length-1]}function Gh(e){return ae(il(e))?e.pop():void 0}function _r(e){return function __(e){return e&&ae(e.schedule)}(il(e))?e.pop():void 0}function zh(e,t=0){return Fe((n,i)=>{n.subscribe(ke(i,r=>sn(i,e,()=>i.next(r),t),()=>sn(i,e,()=>i.complete(),t),r=>sn(i,e,()=>i.error(r),t)))})}function Wh(e,t=0){return Fe((n,i)=>{i.add(e.schedule(()=>n.subscribe(i),t))})}function qh(e,t){if(!e)throw new Error("Iterable cannot be null");return new De(n=>{sn(n,t,()=>{const i=e[Symbol.asyncIterator]();sn(n,t,()=>{i.next().then(r=>{r.done?n.complete():n.next(r.value)})},0,!0)})})}function Ce(e,t){return t?function I_(e,t){if(null!=e){if(Lh(e))return function D_(e,t){return kt(e).pipe(Wh(t),zh(t))}(e,t);if(Nh(e))return function M_(e,t){return new De(n=>{let i=0;return t.schedule(function(){i===e.length?n.complete():(n.next(e[i++]),n.closed||this.schedule())})})}(e,t);if(Fh(e))return function C_(e,t){return kt(e).pipe(Wh(t),zh(t))}(e,t);if(Oh(e))return qh(e,t);if(Bh(e))return function E_(e,t){return new De(n=>{let i;return sn(n,t,()=>{i=e[jh](),sn(n,t,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){return void n.error(s)}o?n.complete():n.next(r)},0,!0)}),()=>ae(i?.return)&&i.return()})}(e,t);if(Hh(e))return function S_(e,t){return qh(Uh(e),t)}(e,t)}throw Vh(e)}(e,t):kt(e)}function rl(e,t,...n){if(!0===t)return void e();if(!1===t)return;const i=new Ar({next:()=>{i.unsubscribe(),e()}});return t(...n).subscribe(i)}function oe(e){for(let t in e)if(e[t]===oe)return t;throw Error("Could not find renamed property on target object.")}function ol(e,t){for(const n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n])}function se(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(se).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}function sl(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const T_=oe({__forward_ref__:oe});function le(e){return e.__forward_ref__=le,e.toString=function(){return se(this())},e}function L(e){return al(e)?e():e}function al(e){return"function"==typeof e&&e.hasOwnProperty(T_)&&e.__forward_ref__===le}class D extends Error{constructor(t,n){super(function zo(e,t){return`NG0${Math.abs(e)}${t?": "+t.trim():""}`}(t,n)),this.code=t}}function B(e){return"string"==typeof e?e:null==e?"":String(e)}function Wo(e,t){throw new D(-201,!1)}function ut(e,t){null==e&&function te(e,t,n,i){throw new Error(`ASSERTION ERROR: ${e}`+(null==i?"":` [Expected=> ${n} ${i} ${t} <=Actual]`))}(t,e,null,"!=")}function H(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function xt(e){return{providers:e.providers||[],imports:e.imports||[]}}function qo(e){return Jh(e,Jo)||Jh(e,Kh)}function Jh(e,t){return e.hasOwnProperty(t)?e[t]:null}function Qh(e){return e&&(e.hasOwnProperty(ll)||e.hasOwnProperty(B_))?e[ll]:null}const Jo=oe({\u0275prov:oe}),ll=oe({\u0275inj:oe}),Kh=oe({ngInjectableDef:oe}),B_=oe({ngInjectorDef:oe});var R=(()=>((R=R||{})[R.Default=0]="Default",R[R.Host=1]="Host",R[R.Self=2]="Self",R[R.SkipSelf=4]="SkipSelf",R[R.Optional=8]="Optional",R))();let ul;function At(e){const t=ul;return ul=e,t}function Zh(e,t,n){const i=qo(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&R.Optional?null:void 0!==t?t:void Wo(se(e))}function Sn(e){return{toString:e}.toString()}var Tt=(()=>((Tt=Tt||{})[Tt.OnPush=0]="OnPush",Tt[Tt.Default=1]="Default",Tt))(),Wt=(()=>{return(e=Wt||(Wt={}))[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",Wt;var e})();const ue=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),Di={},ee=[],Qo=oe({\u0275cmp:oe}),cl=oe({\u0275dir:oe}),dl=oe({\u0275pipe:oe}),Yh=oe({\u0275mod:oe}),un=oe({\u0275fac:oe}),br=oe({__NG_ELEMENT_ID__:oe});let H_=0;function Ci(e){return Sn(()=>{const n=!0===e.standalone,i={},r={type:e.type,providersResolver:null,decls:e.decls,vars:e.vars,factory:null,template:e.template||null,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:i,inputs:null,outputs:null,exportAs:e.exportAs||null,onPush:e.changeDetection===Tt.OnPush,directiveDefs:null,pipeDefs:null,standalone:n,dependencies:n&&e.dependencies||null,getStandaloneInjector:null,selectors:e.selectors||ee,viewQuery:e.viewQuery||null,features:e.features||null,data:e.data||{},encapsulation:e.encapsulation||Wt.Emulated,id:"c"+H_++,styles:e.styles||ee,_:null,setInput:null,schemas:e.schemas||null,tView:null},o=e.dependencies,s=e.features;return r.inputs=tf(e.inputs,i),r.outputs=tf(e.outputs),s&&s.forEach(a=>a(r)),r.directiveDefs=o?()=>("function"==typeof o?o():o).map(Xh).filter(ef):null,r.pipeDefs=o?()=>("function"==typeof o?o():o).map(Ke).filter(ef):null,r})}function Xh(e){return ne(e)||Qe(e)}function ef(e){return null!==e}function qt(e){return Sn(()=>({type:e.type,bootstrap:e.bootstrap||ee,declarations:e.declarations||ee,imports:e.imports||ee,exports:e.exports||ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function tf(e,t){if(null==e)return Di;const n={};for(const i in e)if(e.hasOwnProperty(i)){let r=e[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),n[r]=i,t&&(t[r]=o)}return n}const O=Ci;function it(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function ne(e){return e[Qo]||null}function Qe(e){return e[cl]||null}function Ke(e){return e[dl]||null}function ct(e,t){const n=e[Yh]||null;if(!n&&!0===t)throw new Error(`Type ${se(e)} does not have '\u0275mod' property.`);return n}const G=11;function rt(e){return Array.isArray(e)&&"object"==typeof e[1]}function Pt(e){return Array.isArray(e)&&!0===e[1]}function pl(e){return 0!=(8&e.flags)}function Xo(e){return 2==(2&e.flags)}function es(e){return 1==(1&e.flags)}function Nt(e){return null!==e.template}function J_(e){return 0!=(256&e[2])}function ti(e,t){return e.hasOwnProperty(un)?e[un]:null}class Z_{constructor(t,n,i){this.previousValue=t,this.currentValue=n,this.firstChange=i}isFirstChange(){return this.firstChange}}function bt(){return sf}function sf(e){return e.type.prototype.ngOnChanges&&(e.setInput=X_),Y_}function Y_(){const e=lf(this),t=e?.current;if(t){const n=e.previous;if(n===Di)e.previous=t;else for(let i in t)n[i]=t[i];e.current=null,this.ngOnChanges(t)}}function X_(e,t,n,i){const r=lf(e)||function eb(e,t){return e[af]=t}(e,{previous:Di,current:null}),o=r.current||(r.current={}),s=r.previous,a=this.declaredInputs[n],l=s[a];o[a]=new Z_(l&&l.currentValue,t,s===Di),e[i]=t}bt.ngInherit=!0;const af="__ngSimpleChanges__";function lf(e){return e[af]||null}function Me(e){for(;Array.isArray(e);)e=e[0];return e}function ts(e,t){return Me(t[e])}function ht(e,t){return Me(t[e.index])}function vl(e,t){return e.data[t]}function ft(e,t){const n=t[e];return rt(n)?n:n[0]}function ns(e){return 64==(64&e[2])}function In(e,t){return null==t?null:e[t]}function uf(e){e[18]=0}function Al(e,t){e[5]+=t;let n=e,i=e[3];for(;null!==i&&(1===t&&1===n[5]||-1===t&&0===n[5]);)i[5]+=t,n=i,i=i[3]}const j={lFrame:vf(null),bindingsEnabled:!0};function df(){return j.bindingsEnabled}function w(){return j.lFrame.lView}function Z(){return j.lFrame.tView}function ni(e){return j.lFrame.contextLView=e,e[8]}function ii(e){return j.lFrame.contextLView=null,e}function xe(){let e=hf();for(;null!==e&&64===e.type;)e=e.parent;return e}function hf(){return j.lFrame.currentTNode}function Jt(e,t){const n=j.lFrame;n.currentTNode=e,n.isParent=t}function _l(){return j.lFrame.isParent}function xi(){return j.lFrame.bindingIndex++}function dn(e){const t=j.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function gb(e,t){const n=j.lFrame;n.bindingIndex=n.bindingRootIndex=e,Dl(t)}function Dl(e){j.lFrame.currentDirectiveIndex=e}function Ml(e){j.lFrame.currentQueryIndex=e}function yb(e){const t=e[1];return 2===t.type?t.declTNode:1===t.type?e[6]:null}function yf(e,t,n){if(n&R.SkipSelf){let r=t,o=e;for(;!(r=r.parent,null!==r||n&R.Host||(r=yb(o),null===r||(o=o[15],10&r.type))););if(null===r)return!1;t=r,e=o}const i=j.lFrame=wf();return i.currentTNode=t,i.lView=e,!0}function El(e){const t=wf(),n=e[1];j.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function wf(){const e=j.lFrame,t=null===e?null:e.child;return null===t?vf(e):t}function vf(e){const t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=t),t}function Af(){const e=j.lFrame;return j.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const _f=Af;function Sl(){const e=Af();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Ye(){return j.lFrame.selectedIndex}function kn(e){j.lFrame.selectedIndex=e}function ge(){const e=j.lFrame;return vl(e.tView,e.selectedIndex)}function is(e,t){for(let n=t.directiveStart,i=t.directiveEnd;n=i)break}else t[l]<0&&(e[18]+=65536),(a>11>16&&(3&e[2])===t){e[2]+=2048;try{o.call(a)}finally{}}}else try{o.call(a)}finally{}}class Ir{constructor(t,n,i){this.factory=t,this.resolving=!1,this.canSeeViewProviders=n,this.injectImpl=i}}function ss(e,t,n){let i=0;for(;it){s=o-1;break}}}for(;o>16}(e),i=t;for(;n>0;)i=i[15],n--;return i}let xl=!0;function ls(e){const t=xl;return xl=e,t}let Rb=0;const Qt={};function xr(e,t){const n=Rl(e,t);if(-1!==n)return n;const i=t[1];i.firstCreatePass&&(e.injectorIndex=t.length,Tl(i.data,e),Tl(t,null),Tl(i.blueprint,null));const r=us(e,t),o=e.injectorIndex;if(Ef(r)){const s=Ti(r),a=Ri(r,t),l=a[1].data;for(let u=0;u<8;u++)t[o+u]=a[s+u]|l[s+u]}return t[o+8]=r,o}function Tl(e,t){e.push(0,0,0,0,0,0,0,0,t)}function Rl(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function us(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let n=0,i=null,r=t;for(;null!==r;){if(i=Ff(r),null===i)return-1;if(n++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return-1}function cs(e,t,n){!function Pb(e,t,n){let i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(br)&&(i=n[br]),null==i&&(i=n[br]=Rb++);const r=255&i;t.data[e+(r>>5)]|=1<=0?255&t:Ob:t}(n);if("function"==typeof o){if(!yf(t,e,i))return i&R.Host?kf(r,0,i):xf(t,n,i,r);try{const s=o(i);if(null!=s||i&R.Optional)return s;Wo()}finally{_f()}}else if("number"==typeof o){let s=null,a=Rl(e,t),l=-1,u=i&R.Host?t[16][6]:null;for((-1===a||i&R.SkipSelf)&&(l=-1===a?us(e,t):t[a+8],-1!==l&&Nf(i,!1)?(s=t[1],a=Ti(l),t=Ri(l,t)):a=-1);-1!==a;){const c=t[1];if(Pf(o,a,c.data)){const d=Fb(a,t,n,s,i,u);if(d!==Qt)return d}l=t[a+8],-1!==l&&Nf(i,t[1].data[a+8]===u)&&Pf(o,a,t)?(s=c,a=Ti(l),t=Ri(l,t)):a=-1}}return r}function Fb(e,t,n,i,r,o){const s=t[1],a=s.data[e+8],c=function ds(e,t,n,i,r){const o=e.providerIndexes,s=t.data,a=1048575&o,l=e.directiveStart,c=o>>20,h=r?a+c:e.directiveEnd;for(let f=i?a:a+c;f=l&&p.type===n)return f}if(r){const f=s[l];if(f&&Nt(f)&&f.type===n)return l}return null}(a,s,n,null==i?Xo(a)&&xl:i!=s&&0!=(3&a.type),r&R.Host&&o===a);return null!==c?Tr(t,s,c,a):Qt}function Tr(e,t,n,i){let r=e[n];const o=t.data;if(function Sb(e){return e instanceof Ir}(r)){const s=r;s.resolving&&function R_(e,t){const n=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new D(-200,`Circular dependency in DI detected for ${e}${n}`)}(function X(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():B(e)}(o[n]));const a=ls(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?At(s.injectImpl):null;yf(e,i,R.Default);try{r=e[n]=s.factory(void 0,o,e,i),t.firstCreatePass&&n>=i.directiveStart&&function Mb(e,t,n){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=t.type.prototype;if(i){const s=sf(t);(n.preOrderHooks||(n.preOrderHooks=[])).push(e,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,s)}r&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-e,r),o&&((n.preOrderHooks||(n.preOrderHooks=[])).push(e,o),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,o))}(n,o[n],t)}finally{null!==l&&At(l),ls(a),s.resolving=!1,_f()}}return r}function Pf(e,t,n){return!!(n[t+(e>>5)]&1<{const t=e.prototype.constructor,n=t[un]||Pl(t),i=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==i;){const o=r[un]||Pl(r);if(o&&o!==n)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function Pl(e){return al(e)?()=>{const t=Pl(L(e));return t&&t()}:ti(e)}function Ff(e){const t=e[1],n=t.type;return 2===n?t.declTNode:1===n?e[6]:null}const Fi="__parameters__";function Oi(e,t,n){return Sn(()=>{const i=function Nl(e){return function(...n){if(e){const i=e(...n);for(const r in i)this[r]=i[r]}}}(t);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(l,u,c){const d=l.hasOwnProperty(Fi)?l[Fi]:Object.defineProperty(l,Fi,{value:[]})[Fi];for(;d.length<=c;)d.push(null);return(d[c]=d[c]||[]).push(s),l}}return n&&(r.prototype=Object.create(n.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}class P{constructor(t,n){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof n?this.__NG_ELEMENT_ID__=n:void 0!==n&&(this.\u0275prov=H({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function hn(e,t){e.forEach(n=>Array.isArray(n)?hn(n,t):t(n))}function Of(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function hs(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function gt(e,t,n){let i=Vi(e,t);return i>=0?e[1|i]=n:(i=~i,function Hb(e,t,n,i){let r=e.length;if(r==t)e.push(n,i);else if(1===r)e.push(i,e[0]),e[0]=n;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=n,e[t+1]=i}}(e,i,t,n)),i}function Ll(e,t){const n=Vi(e,t);if(n>=0)return e[1|n]}function Vi(e,t){return function Bf(e,t,n){let i=0,r=e.length>>n;for(;r!==i;){const o=i+(r-i>>1),s=e[o<t?r=o:i=o+1}return~(r<((ot=ot||{})[ot.Important=1]="Important",ot[ot.DashCase=2]="DashCase",ot))();const Gl=new Map;let yD=0;const Wl="__ngContext__";function Ge(e,t){rt(t)?(e[Wl]=t[20],function vD(e){Gl.set(e[20],e)}(t)):e[Wl]=t}function Jl(e,t){return undefined(e,t)}function Gr(e){const t=e[3];return Pt(t)?t[3]:t}function Ql(e){return lp(e[13])}function Kl(e){return lp(e[4])}function lp(e){for(;null!==e&&!Pt(e);)e=e[4];return e}function Ui(e,t,n,i,r){if(null!=i){let o,s=!1;Pt(i)?o=i:rt(i)&&(s=!0,i=i[0]);const a=Me(i);0===e&&null!==n?null==r?pp(t,n,a):ri(t,n,a,r||null,!0):1===e&&null!==n?ri(t,n,a,r||null,!0):2===e?function iu(e,t,n){const i=ys(e,t);i&&function UD(e,t,n,i){e.removeChild(t,n,i)}(e,i,t,n)}(t,a,s):3===e&&t.destroyNode(a),null!=o&&function GD(e,t,n,i,r){const o=n[7];o!==Me(n)&&Ui(t,e,i,o,r);for(let a=10;a0&&(e[n-1][4]=i[4]);const o=hs(e,10+t);!function PD(e,t){zr(e,t,t[G],2,null,null),t[0]=null,t[6]=null}(i[1],i);const s=o[19];null!==s&&s.detachView(o[1]),i[3]=null,i[4]=null,i[2]&=-65}return i}function dp(e,t){if(!(128&t[2])){const n=t[G];n.destroyNode&&zr(e,t,n,3,null,null),function LD(e){let t=e[13];if(!t)return eu(e[1],e);for(;t;){let n=null;if(rt(t))n=t[13];else{const i=t[10];i&&(n=i)}if(!n){for(;t&&!t[4]&&t!==e;)rt(t)&&eu(t[1],t),t=t[3];null===t&&(t=e),rt(t)&&eu(t[1],t),n=t&&t[4]}t=n}}(t)}}function eu(e,t){if(!(128&t[2])){t[2]&=-65,t[2]|=128,function BD(e,t){let n;if(null!=e&&null!=(n=e.destroyHooks))for(let i=0;i=0?i[r=u]():i[r=-u].unsubscribe(),o+=2}else{const s=i[r=n[o+1]];n[o].call(s)}if(null!==i){for(let o=r+1;o((Ee=Ee||{})[Ee.NONE=0]="NONE",Ee[Ee.HTML=1]="HTML",Ee[Ee.STYLE=2]="STYLE",Ee[Ee.SCRIPT=3]="SCRIPT",Ee[Ee.URL=4]="URL",Ee[Ee.RESOURCE_URL=5]="RESOURCE_URL",Ee))();function je(e){const t=function Jr(){const e=w();return e&&e[12]}();return t?t.sanitize(Ee.URL,e)||"":function Wr(e,t){const n=function tC(e){return e instanceof Sp&&e.getTypeName()||null}(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${n} (see https://g.co/ng/security#xss)`)}return n===t}(e,"URL")?Tn(e):function uu(e){return(e=String(e)).match(oC)?e:"unsafe:"+e}(B(e))}const fu=new P("ENVIRONMENT_INITIALIZER"),Fp=new P("INJECTOR",-1),Lp=new P("INJECTOR_DEF_TYPES");class Op{get(t,n=Lr){if(n===Lr){const i=new Error(`NullInjectorError: No provider for ${se(t)}!`);throw i.name="NullInjectorError",i}return n}}function vC(...e){return{\u0275providers:Vp(0,e)}}function Vp(e,...t){const n=[],i=new Set;let r;return hn(t,o=>{const s=o;pu(s,n,[],i)&&(r||(r=[]),r.push(s))}),void 0!==r&&jp(r,n),n}function jp(e,t){for(let n=0;n{t.push(o)})}}function pu(e,t,n,i){if(!(e=L(e)))return!1;let r=null,o=Qh(e);const s=!o&&ne(e);if(o||s){if(s&&!s.standalone)return!1;r=e}else{const l=e.ngModule;if(o=Qh(l),!o)return!1;r=l}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const u of l)pu(u,t,n,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let u;i.add(r);try{hn(o.imports,c=>{pu(c,t,n,i)&&(u||(u=[]),u.push(c))})}finally{}void 0!==u&&jp(u,t)}if(!a){const u=ti(r)||(()=>new r);t.push({provide:r,useFactory:u,deps:ee},{provide:Lp,useValue:r,multi:!0},{provide:fu,useValue:()=>x(r),multi:!0})}const l=o.providers;null==l||a||hn(l,c=>{t.push(c)})}}return r!==e&&void 0!==e.providers}const AC=oe({provide:String,useValue:oe});function gu(e){return null!==e&&"object"==typeof e&&AC in e}function si(e){return"function"==typeof e}const mu=new P("Set Injector scope."),Ds={},bC={};let yu;function Cs(){return void 0===yu&&(yu=new Op),yu}class Rn{}class Hp extends Rn{constructor(t,n,i,r){super(),this.parent=n,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,vu(t,s=>this.processProvider(s)),this.records.set(Fp,Hi(void 0,this)),r.has("environment")&&this.records.set(Rn,Hi(void 0,this));const o=this.records.get(mu);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(Lp.multi,ee,R.Self))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();for(const t of this._onDestroyHooks)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(t){this._onDestroyHooks.push(t)}runInContext(t){this.assertNotDestroyed();const n=ji(this),i=At(void 0);try{return t()}finally{ji(n),At(i)}}get(t,n=Lr,i=R.Default){this.assertNotDestroyed();const r=ji(this),o=At(void 0);try{if(!(i&R.SkipSelf)){let a=this.records.get(t);if(void 0===a){const l=function SC(e){return"function"==typeof e||"object"==typeof e&&e instanceof P}(t)&&qo(t);a=l&&this.injectableDefInScope(l)?Hi(wu(t),Ds):null,this.records.set(t,a)}if(null!=a)return this.hydrate(t,a)}return(i&R.Self?Cs():this.parent).get(t,n=i&R.Optional&&n===Lr?null:n)}catch(s){if("NullInjectorError"===s.name){if((s[ps]=s[ps]||[]).unshift(se(t)),r)throw s;return function eD(e,t,n,i){const r=e[ps];throw t[Uf]&&r.unshift(t[Uf]),e.message=function tD(e,t,n,i=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=se(t);if(Array.isArray(t))r=t.map(se).join(" -> ");else if("object"==typeof t){let o=[];for(let s in t)if(t.hasOwnProperty(s)){let a=t[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):se(a)))}r=`{${o.join(", ")}}`}return`${n}${i?"("+i+")":""}[${r}]: ${e.replace(Kb,"\n ")}`}("\n"+e.message,r,n,i),e.ngTokenPath=r,e[ps]=null,e}(s,t,"R3InjectorError",this.source)}throw s}finally{At(o),ji(r)}}resolveInjectorInitializers(){const t=ji(this),n=At(void 0);try{const i=this.get(fu.multi,ee,R.Self);for(const r of i)r()}finally{ji(t),At(n)}}toString(){const t=[],n=this.records;for(const i of n.keys())t.push(se(i));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new D(205,!1)}processProvider(t){let n=si(t=L(t))?t:L(t&&t.provide);const i=function CC(e){return gu(e)?Hi(void 0,e.useValue):Hi($p(e),Ds)}(t);if(si(t)||!0!==t.multi)this.records.get(n);else{let r=this.records.get(n);r||(r=Hi(void 0,Ds,!0),r.factory=()=>jl(r.multi),this.records.set(n,r)),n=t,r.multi.push(t)}this.records.set(n,i)}hydrate(t,n){return n.value===Ds&&(n.value=bC,n.value=n.factory()),"object"==typeof n.value&&n.value&&function EC(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}injectableDefInScope(t){if(!t.providedIn)return!1;const n=L(t.providedIn);return"string"==typeof n?"any"===n||this.scopes.has(n):this.injectorDefTypes.has(n)}}function wu(e){const t=qo(e),n=null!==t?t.factory:ti(e);if(null!==n)return n;if(e instanceof P)throw new D(204,!1);if(e instanceof Function)return function DC(e){const t=e.length;if(t>0)throw function Fr(e,t){const n=[];for(let i=0;in.factory(e):()=>new e}(e);throw new D(204,!1)}function $p(e,t,n){let i;if(si(e)){const r=L(e);return ti(r)||wu(r)}if(gu(e))i=()=>L(e.useValue);else if(function Up(e){return!(!e||!e.useFactory)}(e))i=()=>e.useFactory(...jl(e.deps||[]));else if(function Bp(e){return!(!e||!e.useExisting)}(e))i=()=>x(L(e.useExisting));else{const r=L(e&&(e.useClass||e.provide));if(!function MC(e){return!!e.deps}(e))return ti(r)||wu(r);i=()=>new r(...jl(e.deps))}return i}function Hi(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function IC(e){return!!e.\u0275providers}function vu(e,t){for(const n of e)Array.isArray(n)?vu(n,t):IC(n)?vu(n.\u0275providers,t):t(n)}class Gp{}class TC{resolveComponentFactory(t){throw function xC(e){const t=Error(`No component factory found for ${se(e)}. Did you add it to @NgModule.entryComponents?`);return t.ngComponent=e,t}(t)}}let Qr=(()=>{class e{}return e.NULL=new TC,e})();function RC(){return $i(xe(),w())}function $i(e,t){return new mt(ht(e,t))}let mt=(()=>{class e{constructor(n){this.nativeElement=n}}return e.__NG_ELEMENT_ID__=RC,e})();class Wp{}let pn=(()=>{class e{}return e.__NG_ELEMENT_ID__=()=>function NC(){const e=w(),n=ft(xe().index,e);return(rt(n)?n:e)[G]}(),e})(),FC=(()=>{class e{}return e.\u0275prov=H({token:e,providedIn:"root",factory:()=>null}),e})();class Kr{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const LC=new Kr("14.2.12"),Au={};function bu(e){return e.ngOriginalError}class Gi{constructor(){this._console=console}handleError(t){const n=this._findOriginalError(t);this._console.error("ERROR",t),n&&this._console.error("ORIGINAL ERROR",n)}_findOriginalError(t){let n=t&&bu(t);for(;n&&bu(n);)n=bu(n);return n||null}}function gn(e){return e instanceof Function?e():e}function Jp(e,t,n){let i=e.length;for(;;){const r=e.indexOf(t,n);if(-1===r)return r;if(0===r||e.charCodeAt(r-1)<=32){const o=t.length;if(r+o===i||e.charCodeAt(r+o)<=32)return r}n=r+1}}const Qp="ng-template";function qC(e,t,n){let i=0;for(;io?"":r[d+1].toLowerCase();const f=8&i?h:null;if(f&&-1!==Jp(f,u,0)||2&i&&u!==h){if(Ft(i))return!1;s=!0}}}}else{if(!s&&!Ft(i)&&!Ft(l))return!1;if(s&&Ft(l))continue;s=!1,i=l|1&i}}return Ft(i)||s}function Ft(e){return 0==(1&e)}function KC(e,t,n,i){if(null===t)return-1;let r=0;if(i||!n){let o=!1;for(;r-1)for(n++;n0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!Ft(s)&&(t+=Yp(o,r),r=""),i=s,o=o||!Ft(i);n++}return""!==r&&(t+=Yp(o,r)),t}const U={};function N(e){Xp(Z(),w(),Ye()+e,!1)}function Xp(e,t,n,i){if(!i)if(3==(3&t[2])){const o=e.preOrderCheckHooks;null!==o&&rs(t,o,n)}else{const o=e.preOrderHooks;null!==o&&os(t,o,0,n)}kn(n)}function ig(e,t=null,n=null,i){const r=rg(e,t,n,i);return r.resolveInjectorInitializers(),r}function rg(e,t=null,n=null,i,r=new Set){const o=[n||ee,vC(e)];return i=i||("object"==typeof e?void 0:se(e)),new Hp(o,t||Cs(),i||null,r)}let Ct=(()=>{class e{static create(n,i){if(Array.isArray(n))return ig({name:""},i,n,"");{const r=n.name??"";return ig({name:r},n.parent,n.providers,r)}}}return e.THROW_IF_NOT_FOUND=Lr,e.NULL=new Op,e.\u0275prov=H({token:e,providedIn:"any",factory:()=>x(Fp)}),e.__NG_ELEMENT_ID__=-1,e})();function v(e,t=R.Default){const n=w();return null===n?x(e,t):Tf(xe(),n,L(e),t)}function Su(){throw new Error("invalid")}function Es(e,t){return e<<17|t<<2}function Lt(e){return e>>17&32767}function Iu(e){return 2|e}function mn(e){return(131068&e)>>2}function ku(e,t){return-131069&e|t<<2}function xu(e){return 1|e}function _g(e,t){const n=e.contentQueries;if(null!==n)for(let i=0;i22&&Xp(e,t,22,!1),n(i,r)}finally{kn(o)}}function Bu(e,t,n){!df()||(function H1(e,t,n,i){const r=n.directiveStart,o=n.directiveEnd;e.firstCreatePass||xr(n,t),Ge(i,t);const s=n.initialInputs;for(let a=r;a0;){const n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(a)!=l&&a.push(l),a.push(i,r,s)}}function xg(e,t){null!==e.hostBindings&&e.hostBindings(1,t)}function Tg(e,t){t.flags|=2,(e.components||(e.components=[])).push(t.index)}function W1(e,t,n){if(n){if(t.exportAs)for(let i=0;i0&&zu(n)}}function zu(e){for(let i=Ql(e);null!==i;i=Kl(i))for(let r=10;r0&&zu(o)}const n=e[1].components;if(null!==n)for(let i=0;i0&&zu(r)}}function X1(e,t){const n=ft(t,e),i=n[1];(function eM(e,t){for(let n=t.length;n-1&&(Xl(t,i),hs(n,i))}this._attachedToViewContainer=!1}dp(this._lView[1],this._lView)}onDestroy(t){!function Mg(e,t,n,i){const r=Fg(t);null===n?r.push(i):(r.push(n),e.firstCreatePass&&Lg(e).push(i,r.length-1))}(this._lView[1],this._lView,null,t)}markForCheck(){Wu(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-65}reattach(){this._lView[2]|=64}detectChanges(){Rs(this._lView[1],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new D(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function FD(e,t){zr(e,t,t[G],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new D(902,!1);this._appRef=t}}class tM extends Zr{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;Rs(t[1],t,t[8],!1)}checkNoChanges(){}get context(){return null}}class Qu extends Qr{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const n=ne(t);return new Yr(n,this.ngModule)}}function jg(e){const t=[];for(let n in e)e.hasOwnProperty(n)&&t.push({propName:e[n],templateName:n});return t}class iM{constructor(t,n){this.injector=t,this.parentInjector=n}get(t,n,i){const r=this.injector.get(t,Au,i);return r!==Au||n===Au?r:this.parentInjector.get(t,n,i)}}class Yr extends Gp{constructor(t,n){super(),this.componentDef=t,this.ngModule=n,this.componentType=t.type,this.selector=function n1(e){return e.map(t1).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!n}get inputs(){return jg(this.componentDef.inputs)}get outputs(){return jg(this.componentDef.outputs)}create(t,n,i,r){let o=(r=r||this.ngModule)instanceof Rn?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const s=o?new iM(t,o):t,a=s.get(Wp,null);if(null===a)throw new D(407,!1);const l=s.get(FC,null),u=a.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",d=i?function L1(e,t,n){return e.selectRootElement(t,n===Wt.ShadowDom)}(u,i,this.componentDef.encapsulation):Yl(u,c,function nM(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(c)),h=this.componentDef.onPush?288:272,f=Hu(0,null,null,1,0,null,null,null,null,null),p=ks(null,f,null,h,null,null,a,u,l,s,null);let g,m;El(p);try{const A=function sM(e,t,n,i,r,o){const s=n[1];n[22]=e;const l=qi(s,22,2,"#host",null),u=l.mergedAttrs=t.hostAttrs;null!==u&&(Ps(l,u,!0),null!==e&&(ss(r,e,u),null!==l.classes&&ou(r,e,l.classes),null!==l.styles&&bp(r,e,l.styles)));const c=i.createRenderer(e,t),d=ks(n,Cg(t),null,t.onPush?32:16,n[22],l,i,c,o||null,null,null);return s.firstCreatePass&&(cs(xr(l,n),s,t.type),Tg(s,l),Rg(l,n.length,1)),Ts(n,d),n[22]=d}(d,this.componentDef,p,a,u);if(d)if(i)ss(u,d,["ng-version",LC.full]);else{const{attrs:M,classes:y}=function i1(e){const t=[],n=[];let i=1,r=2;for(;i0&&ou(u,d,y.join(" "))}if(m=vl(f,22),void 0!==n){const M=m.projection=[];for(let y=0;y=0;i--){const r=e[i];r.hostVars=t+=r.hostVars,r.hostAttrs=as(r.hostAttrs,n=as(n,r.hostAttrs))}}(i)}function Ku(e){return e===Di?{}:e===ee?[]:e}function cM(e,t){const n=e.viewQuery;e.viewQuery=n?(i,r)=>{t(i,r),n(i,r)}:t}function dM(e,t){const n=e.contentQueries;e.contentQueries=n?(i,r,o)=>{t(i,r,o),n(i,r,o)}:t}function hM(e,t){const n=e.hostBindings;e.hostBindings=n?(i,r)=>{t(i,r),n(i,r)}:t}let Fs=null;function ai(){if(!Fs){const e=ue.Symbol;if(e&&e.iterator)Fs=e.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let n=0;na(Me(Y[i.index])):i.index;let I=null;if(!a&&l&&(I=function MM(e,t,n,i){const r=e.cleanup;if(null!=r)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(e,t,r,i.index)),null!==I)(I.__ngLastListenerFn__||I).__ngNextListenerFn__=o,I.__ngLastListenerFn__=o,f=!1;else{o=tm(i,t,d,o,!1);const Y=n.listen(A,r,o);h.push(o,Y),c&&c.push(r,y,M,M+1)}}else o=tm(i,t,d,o,!1);const p=i.outputs;let g;if(f&&null!==p&&(g=p[r])){const m=g.length;if(m)for(let A=0;A0;)t=t[15],e--;return t}(e,j.lFrame.contextLView))[8]}(e)}function we(e,t,n){return wn(e,"",t,"",n),we}function wn(e,t,n,i,r){const o=w(),s=Ki(o,t,n,i);return s!==U&&yt(Z(),ge(),o,e,s,o[G],r,!1),wn}function cm(e,t,n,i,r){const o=e[n+1],s=null===t;let a=i?Lt(o):mn(o),l=!1;for(;0!==a&&(!1===l||s);){const c=e[a+1];TM(e[a],t)&&(l=!0,e[a+1]=i?xu(c):Iu(c)),a=i?Lt(c):mn(c)}l&&(e[n+1]=i?Iu(o):xu(o))}function TM(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Vi(e,t)>=0}function Os(e,t){return function Vt(e,t,n,i){const r=w(),o=Z(),s=dn(2);o.firstUpdatePass&&function vm(e,t,n,i){const r=e.data;if(null===r[n+1]){const o=r[Ye()],s=function wm(e,t){return t>=e.expandoStartIndex}(e,n);(function Dm(e,t){return 0!=(e.flags&(t?16:32))})(o,i)&&null===t&&!s&&(t=!1),t=function BM(e,t,n,i){const r=function Cl(e){const t=j.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let o=i?t.residualClasses:t.residualStyles;if(null===r)0===(i?t.classBindings:t.styleBindings)&&(n=io(n=nc(null,e,t,n,i),t.attrs,i),o=null);else{const s=t.directiveStylingLast;if(-1===s||e[s]!==r)if(n=nc(r,e,t,n,i),null===o){let l=function UM(e,t,n){const i=n?t.classBindings:t.styleBindings;if(0!==mn(i))return e[Lt(i)]}(e,t,i);void 0!==l&&Array.isArray(l)&&(l=nc(null,e,t,l[1],i),l=io(l,t.attrs,i),function HM(e,t,n,i){e[Lt(n?t.classBindings:t.styleBindings)]=i}(e,t,i,l))}else o=function $M(e,t,n){let i;const r=t.directiveEnd;for(let o=1+t.directiveStylingLast;o0)&&(u=!0)}else c=n;if(r)if(0!==l){const h=Lt(e[a+1]);e[i+1]=Es(h,a),0!==h&&(e[h+1]=ku(e[h+1],i)),e[a+1]=function b1(e,t){return 131071&e|t<<17}(e[a+1],i)}else e[i+1]=Es(a,0),0!==a&&(e[a+1]=ku(e[a+1],i)),a=i;else e[i+1]=Es(l,0),0===a?a=i:e[l+1]=ku(e[l+1],i),l=i;u&&(e[i+1]=Iu(e[i+1])),cm(e,c,i,!0),cm(e,c,i,!1),function xM(e,t,n,i,r){const o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof t&&Vi(o,t)>=0&&(n[i+1]=xu(n[i+1]))}(t,c,e,i,o),s=Es(a,l),o?t.classBindings=s:t.styleBindings=s}(r,o,t,n,s,i)}}(o,e,s,i),t!==U&&ze(r,s,t)&&function _m(e,t,n,i,r,o,s,a){if(!(3&t.type))return;const l=e.data,u=l[a+1];Vs(function fg(e){return 1==(1&e)}(u)?bm(l,t,n,r,mn(u),s):void 0)||(Vs(o)||function hg(e){return 2==(2&e)}(u)&&(o=bm(l,null,n,r,a,s)),function zD(e,t,n,i,r){if(t)r?e.addClass(n,i):e.removeClass(n,i);else{let o=-1===i.indexOf("-")?void 0:ot.DashCase;null==r?e.removeStyle(n,i,o):("string"==typeof r&&r.endsWith("!important")&&(r=r.slice(0,-10),o|=ot.Important),e.setStyle(n,i,r,o))}}(i,s,ts(Ye(),n),r,o))}(o,o.data[Ye()],r,r[G],e,r[s+1]=function WM(e,t){return null==e||("string"==typeof t?e+=t:"object"==typeof e&&(e=se(Tn(e)))),e}(t,n),i,s)}(e,t,null,!0),Os}function nc(e,t,n,i,r){let o=null;const s=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){const l=e[r],u=Array.isArray(l),c=u?l[1]:l,d=null===c;let h=n[r+1];h===U&&(h=d?ee:void 0);let f=d?Ll(h,i):c===i?h:void 0;if(u&&!Vs(f)&&(f=Ll(l,i)),Vs(f)&&(a=f,s))return a;const p=e[r+1];r=s?Lt(p):mn(p)}if(null!==t){let l=o?t.residualClasses:t.residualStyles;null!=l&&(a=Ll(l,i))}return a}function Vs(e){return void 0!==e}function C(e,t=""){const n=w(),i=Z(),r=e+22,o=i.firstCreatePass?qi(i,r,1,t,null):i.data[r],s=n[r]=function Zl(e,t){return e.createText(t)}(n[G],t);ws(i,n,s,o),Jt(o,!1)}function js(e){return wt("",e,""),js}function wt(e,t,n){const i=w(),r=Ki(i,e,t,n);return r!==U&&yn(i,Ye(),r),wt}function or(e,t,n,i,r){const o=w(),s=Zi(o,e,t,n,i,r);return s!==U&&yn(o,Ye(),s),or}const ci=void 0;var hE=["en",[["a","p"],["AM","PM"],ci],[["AM","PM"],ci,ci],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],ci,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],ci,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",ci,"{1} 'at' {0}",ci],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function dE(e){const n=Math.floor(Math.abs(e)),i=e.toString().replace(/^[^.]*\.?/,"").length;return 1===n&&0===i?1:5}];let sr={};function et(e){const t=function fE(e){return e.toLowerCase().replace(/_/g,"-")}(e);let n=$m(t);if(n)return n;const i=t.split("-")[0];if(n=$m(i),n)return n;if("en"===i)return hE;throw new D(701,!1)}function $m(e){return e in sr||(sr[e]=ue.ng&&ue.ng.common&&ue.ng.common.locales&&ue.ng.common.locales[e]),sr[e]}var S=(()=>((S=S||{})[S.LocaleId=0]="LocaleId",S[S.DayPeriodsFormat=1]="DayPeriodsFormat",S[S.DayPeriodsStandalone=2]="DayPeriodsStandalone",S[S.DaysFormat=3]="DaysFormat",S[S.DaysStandalone=4]="DaysStandalone",S[S.MonthsFormat=5]="MonthsFormat",S[S.MonthsStandalone=6]="MonthsStandalone",S[S.Eras=7]="Eras",S[S.FirstDayOfWeek=8]="FirstDayOfWeek",S[S.WeekendRange=9]="WeekendRange",S[S.DateFormat=10]="DateFormat",S[S.TimeFormat=11]="TimeFormat",S[S.DateTimeFormat=12]="DateTimeFormat",S[S.NumberSymbols=13]="NumberSymbols",S[S.NumberFormats=14]="NumberFormats",S[S.CurrencyCode=15]="CurrencyCode",S[S.CurrencySymbol=16]="CurrencySymbol",S[S.CurrencyName=17]="CurrencyName",S[S.Currencies=18]="Currencies",S[S.Directionality=19]="Directionality",S[S.PluralCase=20]="PluralCase",S[S.ExtraData=21]="ExtraData",S))();const ar="en-US";let Gm=ar;function oc(e,t,n,i,r){if(e=L(e),Array.isArray(e))for(let o=0;o>20;if(si(e)||!e.multi){const f=new Ir(l,r,v),p=ac(a,t,r?c:c+h,d);-1===p?(cs(xr(u,s),o,a),sc(o,e,t.length),t.push(a),u.directiveStart++,u.directiveEnd++,r&&(u.providerIndexes+=1048576),n.push(f),s.push(f)):(n[p]=f,s[p]=f)}else{const f=ac(a,t,c+h,d),p=ac(a,t,c,c+h),g=f>=0&&n[f],m=p>=0&&n[p];if(r&&!m||!r&&!g){cs(xr(u,s),o,a);const A=function cS(e,t,n,i,r){const o=new Ir(e,n,v);return o.multi=[],o.index=t,o.componentProviders=0,gy(o,r,i&&!n),o}(r?uS:lS,n.length,r,i,l);!r&&m&&(n[p].providerFactory=A),sc(o,e,t.length,0),t.push(a),u.directiveStart++,u.directiveEnd++,r&&(u.providerIndexes+=1048576),n.push(A),s.push(A)}else sc(o,e,f>-1?f:p,gy(n[r?p:f],l,!r&&i));!r&&i&&m&&n[p].componentProviders++}}}function sc(e,t,n,i){const r=si(t),o=function _C(e){return!!e.useClass}(t);if(r||o){const l=(o?L(t.useClass):t).prototype.ngOnDestroy;if(l){const u=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const c=u.indexOf(n);-1===c?u.push(n,[i,l]):u[c+1].push(i,l)}else u.push(n,l)}}}function gy(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function ac(e,t,n,i){for(let r=n;r{n.providersResolver=(i,r)=>function aS(e,t,n){const i=Z();if(i.firstCreatePass){const r=Nt(e);oc(n,i.data,i.blueprint,r,!0),oc(t,i.data,i.blueprint,r,!1)}}(i,r?r(e):e,t)}}class di{}class my{}class yy extends di{constructor(t,n){super(),this._parent=n,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Qu(this);const i=ct(t);this._bootstrapComponents=gn(i.bootstrap),this._r3Injector=rg(t,n,[{provide:di,useValue:this},{provide:Qr,useValue:this.componentFactoryResolver}],se(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(n=>n()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class uc extends my{constructor(t){super(),this.moduleType=t}create(t){return new yy(this.moduleType,t)}}class hS extends di{constructor(t,n,i){super(),this.componentFactoryResolver=new Qu(this),this.instance=null;const r=new Hp([...t,{provide:di,useValue:this},{provide:Qr,useValue:this.componentFactoryResolver}],n||Cs(),i,new Set(["environment"]));this.injector=r,r.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}function Gs(e,t,n=null){return new hS(e,t,n).injector}let fS=(()=>{class e{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n.id)){const i=Vp(0,n.type),r=i.length>0?Gs([i],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n.id,r)}return this.cachedInjectors.get(n.id)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return e.\u0275prov=H({token:e,providedIn:"environment",factory:()=>new e(x(Rn))}),e})();function wy(e){e.getStandaloneInjector=t=>t.get(fS).getOrCreateStandaloneInjector(e)}function My(e,t,n,i,r,o){const s=t+n;return ze(e,s,r)?function Zt(e,t,n){return e[t]=n}(e,s+1,o?i.call(o,r):i(r)):function uo(e,t){const n=e[t];return n===U?void 0:n}(e,s+1)}function co(e,t){const n=Z();let i;const r=e+22;n.firstCreatePass?(i=function RS(e,t){if(t)for(let n=t.length-1;n>=0;n--){const i=t[n];if(e===i.name)return i}}(t,n.pipeRegistry),n.data[r]=i,i.onDestroy&&(n.destroyHooks||(n.destroyHooks=[])).push(r,i.onDestroy)):i=n.data[r];const o=i.factory||(i.factory=ti(i.type)),s=At(v);try{const a=ls(!1),l=o();return ls(a),function _M(e,t,n,i){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=i}(n,w(),r,l),l}finally{At(s)}}function ho(e,t,n){const i=e+22,r=w(),o=function ki(e,t){return e[t]}(r,i);return function fo(e,t){return e[1].data[t].pure}(r,i)?My(r,function Ze(){const e=j.lFrame;let t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}(),t,o.transform,n,o):o.transform(n)}function dc(e){return t=>{setTimeout(e,void 0,t)}}const Ae=class OS extends zt{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,n,i){let r=t,o=n||(()=>null),s=i;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=dc(o),r&&(r=dc(r)),s&&(s=dc(s)));const a=super.subscribe({next:r,error:o,complete:s});return t instanceof vt&&t.add(a),a}};let vn=(()=>{class e{}return e.__NG_ELEMENT_ID__=US,e})();const jS=vn,BS=class extends jS{constructor(t,n,i){super(),this._declarationLView=t,this._declarationTContainer=n,this.elementRef=i}createEmbeddedView(t,n){const i=this._declarationTContainer.tViews,r=ks(this._declarationLView,i,t,16,null,i.declTNode,null,null,null,null,n||null);r[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(r[19]=s.createEmbeddedView(i)),ju(i,r,t),new Zr(r)}};function US(){return function zs(e,t){return 4&e.type?new BS(t,e,$i(e,t)):null}(xe(),w())}let Bt=(()=>{class e{}return e.__NG_ELEMENT_ID__=HS,e})();function HS(){return function Ry(e,t){let n;const i=t[e.index];if(Pt(i))n=i;else{let r;if(8&e.type)r=Me(i);else{const o=t[G];r=o.createComment("");const s=ht(e,t);ri(o,ys(o,s),r,function HD(e,t){return e.nextSibling(t)}(o,s),!1)}t[e.index]=n=Ng(i,t,r,e),Ts(t,n)}return new xy(n,e,t)}(xe(),w())}const $S=Bt,xy=class extends $S{constructor(t,n,i){super(),this._lContainer=t,this._hostTNode=n,this._hostLView=i}get element(){return $i(this._hostTNode,this._hostLView)}get injector(){return new Pi(this._hostTNode,this._hostLView)}get parentInjector(){const t=us(this._hostTNode,this._hostLView);if(Ef(t)){const n=Ri(t,this._hostLView),i=Ti(t);return new Pi(n[1].data[i+8],n)}return new Pi(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const n=Ty(this._lContainer);return null!==n&&n[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,n,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const s=t.createEmbeddedView(n||{},o);return this.insert(s,r),s}createComponent(t,n,i,r,o){const s=t&&!function Nr(e){return"function"==typeof e}(t);let a;if(s)a=n;else{const d=n||{};a=d.index,i=d.injector,r=d.projectableNodes,o=d.environmentInjector||d.ngModuleRef}const l=s?t:new Yr(ne(t)),u=i||this.parentInjector;if(!o&&null==l.ngModule){const h=(s?u:this.parentInjector).get(Rn,null);h&&(o=h)}const c=l.create(u,r,void 0,o);return this.insert(c.hostView,a),c}insert(t,n){const i=t._lView,r=i[1];if(function ab(e){return Pt(e[3])}(i)){const c=this.indexOf(t);if(-1!==c)this.detach(c);else{const d=i[3],h=new xy(d,d[6],d[3]);h.detach(h.indexOf(t))}}const o=this._adjustIndex(n),s=this._lContainer;!function OD(e,t,n,i){const r=10+i,o=n.length;i>0&&(n[r-1][4]=t),i{class e{constructor(n){this.appInits=n,this.resolve=qs,this.reject=qs,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const n=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{o.subscribe({complete:a,error:l})});n.push(s)}}Promise.all(n).then(()=>{i()}).catch(r=>{this.reject(r)}),0===n.length&&i(),this.initialized=!0}}return e.\u0275fac=function(n){return new(n||e)(x(Js,8))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const go=new P("AppId",{providedIn:"root",factory:function nw(){return`${Ec()}${Ec()}${Ec()}`}});function Ec(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const iw=new P("Platform Initializer"),rw=new P("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),ow=new P("appBootstrapListener");let vI=(()=>{class e{log(n){console.log(n)}warn(n){console.warn(n)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();const An=new P("LocaleId",{providedIn:"root",factory:()=>_e(An,R.Optional|R.SkipSelf)||function AI(){return typeof $localize<"u"&&$localize.locale||ar}()});class bI{constructor(t,n){this.ngModuleFactory=t,this.componentFactories=n}}let Sc=(()=>{class e{compileModuleSync(n){return new uc(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){const i=this.compileModuleSync(n),o=gn(ct(n).declarations).reduce((s,a)=>{const l=ne(a);return l&&s.push(new Yr(l)),s},[]);return new bI(i,o)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const MI=(()=>Promise.resolve(0))();function Ic(e){typeof Zone>"u"?MI.then(()=>{e&&e.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",e)}class Pe{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ae(!1),this.onMicrotaskEmpty=new Ae(!1),this.onStable=new Ae(!1),this.onError=new Ae(!1),typeof Zone>"u")throw new D(908,!1);Zone.assertZonePatched();const r=this;if(r._nesting=0,r._outer=r._inner=Zone.current,Zone.AsyncStackTaggingZoneSpec){const o=Zone.AsyncStackTaggingZoneSpec;r._inner=r._inner.fork(new o("Angular"))}Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&n,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function EI(){let e=ue.requestAnimationFrame,t=ue.cancelAnimationFrame;if(typeof Zone<"u"&&e&&t){const n=e[Zone.__symbol__("OriginalDelegate")];n&&(e=n);const i=t[Zone.__symbol__("OriginalDelegate")];i&&(t=i)}return{nativeRequestAnimationFrame:e,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function kI(e){const t=()=>{!function II(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,xc(e),e.isCheckStableRunning=!0,kc(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),xc(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,i,r,o,s,a)=>{try{return lw(e),n.invokeTask(r,o,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||e.shouldCoalesceRunChangeDetection)&&t(),uw(e)}},onInvoke:(n,i,r,o,s,a,l)=>{try{return lw(e),n.invoke(r,o,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),uw(e)}},onHasTask:(n,i,r,o)=>{n.hasTask(r,o),i===r&&("microTask"==o.change?(e._hasPendingMicrotasks=o.microTask,xc(e),kc(e)):"macroTask"==o.change&&(e.hasPendingMacrotasks=o.macroTask))},onHandleError:(n,i,r,o)=>(n.handleError(r,o),e.runOutsideAngular(()=>e.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Pe.isInAngularZone())throw new D(909,!1)}static assertNotInAngularZone(){if(Pe.isInAngularZone())throw new D(909,!1)}run(t,n,i){return this._inner.run(t,n,i)}runTask(t,n,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,t,SI,qs,qs);try{return o.runTask(s,n,i)}finally{o.cancelTask(s)}}runGuarded(t,n,i){return this._inner.runGuarded(t,n,i)}runOutsideAngular(t){return this._outer.run(t)}}const SI={};function kc(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function xc(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function lw(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function uw(e){e._nesting--,kc(e)}class xI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Ae,this.onMicrotaskEmpty=new Ae,this.onStable=new Ae,this.onError=new Ae}run(t,n,i){return t.apply(n,i)}runGuarded(t,n,i){return t.apply(n,i)}runOutsideAngular(t){return t()}runTask(t,n,i,r){return t.apply(n,i)}}const cw=new P(""),Ks=new P("");let Pc,Tc=(()=>{class e{constructor(n,i,r){this._ngZone=n,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Pc||(function TI(e){Pc=e}(r),r.addToWindow(i)),this._watchAngularEvents(),n.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Pe.assertNotInAngularZone(),Ic(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Ic(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(n)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),n(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:r})}whenStable(n,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(n,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,i,r){return[]}}return e.\u0275fac=function(n){return new(n||e)(x(Pe),x(Rc),x(Ks))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})(),Rc=(()=>{class e{constructor(){this._applications=new Map}registerApplication(n,i){this._applications.set(n,i)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,i=!0){return Pc?.findTestabilityInTree(this,n,i)??null}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})(),Fn=null;const dw=new P("AllowMultipleToken"),Nc=new P("PlatformDestroyListeners");class hw{constructor(t,n){this.name=t,this.token=n}}function pw(e,t,n=[]){const i=`Platform: ${t}`,r=new P(i);return(o=[])=>{let s=Fc();if(!s||s.injector.get(dw,!1)){const a=[...n,...o,{provide:r,useValue:!0}];e?e(a):function NI(e){if(Fn&&!Fn.get(dw,!1))throw new D(400,!1);Fn=e;const t=e.get(mw);(function fw(e){const t=e.get(iw,null);t&&t.forEach(n=>n())})(e)}(function gw(e=[],t){return Ct.create({name:t,providers:[{provide:mu,useValue:"platform"},{provide:Nc,useValue:new Set([()=>Fn=null])},...e]})}(a,i))}return function LI(e){const t=Fc();if(!t)throw new D(401,!1);return t}()}}function Fc(){return Fn?.get(mw)??null}let mw=(()=>{class e{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,i){const r=function ww(e,t){let n;return n="noop"===e?new xI:("zone.js"===e?void 0:e)||new Pe(t),n}(i?.ngZone,function yw(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!e||!e.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!e||!e.ngZoneRunCoalescing)||!1}}(i)),o=[{provide:Pe,useValue:r}];return r.run(()=>{const s=Ct.create({providers:o,parent:this.injector,name:n.moduleType.name}),a=n.create(s),l=a.injector.get(Gi,null);if(!l)throw new D(402,!1);return r.runOutsideAngular(()=>{const u=r.onError.subscribe({next:c=>{l.handleError(c)}});a.onDestroy(()=>{Ys(this._modules,a),u.unsubscribe()})}),function vw(e,t,n){try{const i=n();return no(i)?i.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):i}catch(i){throw t.runOutsideAngular(()=>e.handleError(i)),i}}(l,r,()=>{const u=a.injector.get(Qs);return u.runInitializers(),u.donePromise.then(()=>(function zm(e){ut(e,"Expected localeId to be defined"),"string"==typeof e&&(Gm=e.toLowerCase().replace(/_/g,"-"))}(a.injector.get(An,ar)||ar),this._moduleDoBootstrap(a),a))})})}bootstrapModule(n,i=[]){const r=Aw({},i);return function RI(e,t,n){const i=new uc(n);return Promise.resolve(i)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(n){const i=n.injector.get(Zs);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!n.instance.ngDoBootstrap)throw new D(403,!1);n.instance.ngDoBootstrap(i)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new D(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const n=this._injector.get(Nc,null);n&&(n.forEach(i=>i()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return e.\u0275fac=function(n){return new(n||e)(x(Ct))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();function Aw(e,t){return Array.isArray(t)?t.reduce(Aw,e):{...e,...t}}let Zs=(()=>{class e{constructor(n,i,r){this._zone=n,this._injector=i,this._exceptionHandler=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const o=new De(a=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{a.next(this._stable),a.complete()})}),s=new De(a=>{let l;this._zone.runOutsideAngular(()=>{l=this._zone.onStable.subscribe(()=>{Pe.assertNotInAngularZone(),Ic(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,a.next(!0))})})});const u=this._zone.onUnstable.subscribe(()=>{Pe.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{a.next(!1)}))});return()=>{l.unsubscribe(),u.unsubscribe()}});this.isStable=function k_(...e){const t=_r(e),n=function b_(e,t){return"number"==typeof il(e)?e.pop():t}(e,1/0),i=e;return i.length?1===i.length?kt(i[0]):bi(n)(Ce(i,t)):an}(o,s.pipe(function x_(e={}){const{connector:t=(()=>new zt),resetOnError:n=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=e;return o=>{let s,a,l,u=0,c=!1,d=!1;const h=()=>{a?.unsubscribe(),a=void 0},f=()=>{h(),s=l=void 0,c=d=!1},p=()=>{const g=s;f(),g?.unsubscribe()};return Fe((g,m)=>{u++,!d&&!c&&h();const A=l=l??t();m.add(()=>{u--,0===u&&!d&&!c&&(a=rl(p,r))}),A.subscribe(m),!s&&u>0&&(s=new Ar({next:M=>A.next(M),error:M=>{d=!0,h(),a=rl(f,n,M),A.error(M)},complete:()=>{c=!0,h(),a=rl(f,i),A.complete()}}),kt(g).subscribe(s))})(o)}}()))}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,i){const r=n instanceof Gp;if(!this._injector.get(Qs).done)throw!r&&function Mi(e){const t=ne(e)||Qe(e)||Ke(e);return null!==t&&t.standalone}(n),new D(405,false);let s;s=r?n:this._injector.get(Qr).resolveComponentFactory(n),this.componentTypes.push(s.componentType);const a=function PI(e){return e.isBoundToModule}(s)?void 0:this._injector.get(di),u=s.create(Ct.NULL,[],i||s.selector,a),c=u.location.nativeElement,d=u.injector.get(cw,null);return d?.registerApplication(c),u.onDestroy(()=>{this.detachView(u.hostView),Ys(this.components,u),d?.unregisterApplication(c)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new D(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(n))}finally{this._runningTick=!1}}attachView(n){const i=n;this._views.push(i),i.attachToAppRef(this)}detachView(n){const i=n;Ys(this._views,i),i.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n),this._injector.get(ow,[]).concat(this._bootstrapListeners).forEach(r=>r(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Ys(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new D(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return e.\u0275fac=function(n){return new(n||e)(x(Pe),x(Rn),x(Gi))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function Ys(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}let bw=!0,Xs=(()=>{class e{}return e.__NG_ELEMENT_ID__=jI,e})();function jI(e){return function BI(e,t,n){if(Xo(e)&&!n){const i=ft(e.index,t);return new Zr(i,i)}return 47&e.type?new Zr(t[16],t):null}(xe(),w(),16==(16&e))}class Sw{constructor(){}supports(t){return Xr(t)}create(t){return new WI(t)}}const zI=(e,t)=>t;class WI{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||zI}forEachItem(t){let n;for(n=this._itHead;null!==n;n=n._next)t(n)}forEachOperation(t){let n=this._itHead,i=this._removalsHead,r=0,o=null;for(;n||i;){const s=!i||n&&n.currentIndex{s=this._trackByFn(r,a),null!==n&&Object.is(n.trackById,s)?(i&&(n=this._verifyReinsertion(n,a,s,r)),Object.is(n.item,a)||this._addIdentityChange(n,a)):(n=this._mismatch(n,a,s,r),i=!0),n=n._next,r++}),this.length=r;return this._truncate(n),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,n,i,r){let o;return null===t?o=this._itTail:(o=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._reinsertAfter(t,o,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._moveAfter(t,o,r)):t=this._addAfter(new qI(n,i),o,r),t}_verifyReinsertion(t,n,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?t=this._reinsertAfter(o,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const n=t._next;this._addToRemovals(this._unlink(t)),t=n}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,n,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,o=t._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(t,n,i),this._addToMoves(t,i),t}_moveAfter(t,n,i){return this._unlink(t),this._insertAfter(t,n,i),this._addToMoves(t,i),t}_addAfter(t,n,i){return this._insertAfter(t,n,i),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,n,i){const r=null===n?this._itHead:n._next;return t._next=r,t._prev=n,null===r?this._itTail=t:r._prev=t,null===n?this._itHead=t:n._next=t,null===this._linkedRecords&&(this._linkedRecords=new Iw),this._linkedRecords.put(t),t.currentIndex=i,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const n=t._prev,i=t._next;return null===n?this._itHead=i:n._next=i,null===i?this._itTail=n:i._prev=n,t}_addToMoves(t,n){return t.previousIndex===n||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Iw),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,n){return t.item=n,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class qI{constructor(t,n){this.item=t,this.trackById=n,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class JI{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,n){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===n||n<=i.currentIndex)&&Object.is(i.trackById,t))return i;return null}remove(t){const n=t._prevDup,i=t._nextDup;return null===n?this._head=i:n._nextDup=i,null===i?this._tail=n:i._prevDup=n,null===this._head}}class Iw{constructor(){this.map=new Map}put(t){const n=t.trackById;let i=this.map.get(n);i||(i=new JI,this.map.set(n,i)),i.add(t)}get(t,n){const r=this.map.get(t);return r?r.get(t,n):null}remove(t){const n=t.trackById;return this.map.get(n).remove(t)&&this.map.delete(n),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function kw(e,t,n){const i=e.previousIndex;if(null===i)return i;let r=0;return n&&i{if(n&&n.key===r)this._maybeAddToChanges(n,i),this._appendAfter=n,n=n._next;else{const o=this._getOrCreateRecordForKey(r,i);n=this._insertBeforeOrAppend(n,o)}}),n){n._prev&&(n._prev._next=null),this._removalsHead=n;for(let i=n;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,n){if(t){const i=t._prev;return n._next=t,n._prev=i,t._prev=n,i&&(i._next=n),t===this._mapHead&&(this._mapHead=n),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=n,n._prev=this._appendAfter):this._mapHead=n,this._appendAfter=n,null}_getOrCreateRecordForKey(t,n){if(this._records.has(t)){const r=this._records.get(t);this._maybeAddToChanges(r,n);const o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}const i=new KI(t);return this._records.set(t,i),i.currentValue=n,this._addToAdditions(i),i}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,n){Object.is(n,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=n,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,n){t instanceof Map?t.forEach(n):Object.keys(t).forEach(i=>n(t[i],i))}}class KI{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Tw(){return new na([new Sw])}let na=(()=>{class e{constructor(n){this.factories=n}static create(n,i){if(null!=i){const r=i.factories.slice();n=n.concat(r)}return new e(n)}static extend(n){return{provide:e,useFactory:i=>e.create(n,i||Tw()),deps:[[e,new Br,new jr]]}}find(n){const i=this.factories.find(r=>r.supports(n));if(null!=i)return i;throw new D(901,!1)}}return e.\u0275prov=H({token:e,providedIn:"root",factory:Tw}),e})();function Rw(){return new mo([new xw])}let mo=(()=>{class e{constructor(n){this.factories=n}static create(n,i){if(i){const r=i.factories.slice();n=n.concat(r)}return new e(n)}static extend(n){return{provide:e,useFactory:i=>e.create(n,i||Rw()),deps:[[e,new Br,new jr]]}}find(n){const i=this.factories.find(r=>r.supports(n));if(i)return i;throw new D(901,!1)}}return e.\u0275prov=H({token:e,providedIn:"root",factory:Rw}),e})();const XI=pw(null,"core",[]);let ek=(()=>{class e{constructor(n){}}return e.\u0275fac=function(n){return new(n||e)(x(Zs))},e.\u0275mod=qt({type:e}),e.\u0275inj=xt({}),e})();let ia=null;function tn(){return ia}const st=new P("DocumentToken");let Bc=(()=>{class e{historyGo(n){throw new Error("Not implemented")}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:function(){return function rk(){return x(Pw)}()},providedIn:"platform"}),e})();const ok=new P("Location Initialized");let Pw=(()=>{class e extends Bc{constructor(n){super(),this._doc=n,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return tn().getBaseHref(this._doc)}onPopState(n){const i=tn().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",n,!1),()=>i.removeEventListener("popstate",n)}onHashChange(n){const i=tn().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",n,!1),()=>i.removeEventListener("hashchange",n)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(n){this.location.pathname=n}pushState(n,i,r){Nw()?this._history.pushState(n,i,r):this.location.hash=r}replaceState(n,i,r){Nw()?this._history.replaceState(n,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(n=0){this._history.go(n)}getState(){return this._history.state}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:function(){return function sk(){return new Pw(x(st))}()},providedIn:"platform"}),e})();function Nw(){return!!window.history.pushState}function Uc(e,t){if(0==e.length)return t;if(0==t.length)return e;let n=0;return e.endsWith("/")&&n++,t.startsWith("/")&&n++,2==n?e+t.substring(1):1==n?e+t:e+"/"+t}function Fw(e){const t=e.match(/#|\?|$/),n=t&&t.index||e.length;return e.slice(0,n-("/"===e[n-1]?1:0))+e.slice(n)}function Dn(e){return e&&"?"!==e[0]?"?"+e:e}let fi=(()=>{class e{historyGo(n){throw new Error("Not implemented")}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:function(){return _e(Ow)},providedIn:"root"}),e})();const Lw=new P("appBaseHref");let Ow=(()=>{class e extends fi{constructor(n,i){super(),this._platformLocation=n,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??_e(st).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}prepareExternalUrl(n){return Uc(this._baseHref,n)}path(n=!1){const i=this._platformLocation.pathname+Dn(this._platformLocation.search),r=this._platformLocation.hash;return r&&n?`${i}${r}`:i}pushState(n,i,r,o){const s=this.prepareExternalUrl(r+Dn(o));this._platformLocation.pushState(n,i,s)}replaceState(n,i,r,o){const s=this.prepareExternalUrl(r+Dn(o));this._platformLocation.replaceState(n,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}}return e.\u0275fac=function(n){return new(n||e)(x(Bc),x(Lw,8))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),ak=(()=>{class e extends fi{constructor(n,i){super(),this._platformLocation=n,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}path(n=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(n){const i=Uc(this._baseHref,n);return i.length>0?"#"+i:i}pushState(n,i,r,o){let s=this.prepareExternalUrl(r+Dn(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(n,i,s)}replaceState(n,i,r,o){let s=this.prepareExternalUrl(r+Dn(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(n,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}}return e.\u0275fac=function(n){return new(n||e)(x(Bc),x(Lw,8))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})(),Hc=(()=>{class e{constructor(n){this._subject=new Ae,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=n;const i=this._locationStrategy.getBaseHref();this._baseHref=Fw(Vw(i)),this._locationStrategy.onPopState(r=>{this._subject.emit({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(n=!1){return this.normalize(this._locationStrategy.path(n))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(n,i=""){return this.path()==this.normalize(n+Dn(i))}normalize(n){return e.stripTrailingSlash(function uk(e,t){return e&&t.startsWith(e)?t.substring(e.length):t}(this._baseHref,Vw(n)))}prepareExternalUrl(n){return n&&"/"!==n[0]&&(n="/"+n),this._locationStrategy.prepareExternalUrl(n)}go(n,i="",r=null){this._locationStrategy.pushState(r,"",n,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Dn(i)),r)}replaceState(n,i="",r=null){this._locationStrategy.replaceState(r,"",n,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Dn(i)),r)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(n=0){this._locationStrategy.historyGo?.(n)}onUrlChange(n){return this._urlChangeListeners.push(n),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)})),()=>{const i=this._urlChangeListeners.indexOf(n);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(n="",i){this._urlChangeListeners.forEach(r=>r(n,i))}subscribe(n,i,r){return this._subject.subscribe({next:n,error:i,complete:r})}}return e.normalizeQueryParams=Dn,e.joinWithSlash=Uc,e.stripTrailingSlash=Fw,e.\u0275fac=function(n){return new(n||e)(x(fi))},e.\u0275prov=H({token:e,factory:function(){return function lk(){return new Hc(x(fi))}()},providedIn:"root"}),e})();function Vw(e){return e.replace(/\/index.html$/,"")}var at=(()=>((at=at||{})[at.Decimal=0]="Decimal",at[at.Percent=1]="Percent",at[at.Currency=2]="Currency",at[at.Scientific=3]="Scientific",at))(),T=(()=>((T=T||{})[T.Decimal=0]="Decimal",T[T.Group=1]="Group",T[T.List=2]="List",T[T.PercentSign=3]="PercentSign",T[T.PlusSign=4]="PlusSign",T[T.MinusSign=5]="MinusSign",T[T.Exponential=6]="Exponential",T[T.SuperscriptingExponent=7]="SuperscriptingExponent",T[T.PerMille=8]="PerMille",T[T.Infinity=9]="Infinity",T[T.NaN=10]="NaN",T[T.TimeSeparator=11]="TimeSeparator",T[T.CurrencyDecimal=12]="CurrencyDecimal",T[T.CurrencyGroup=13]="CurrencyGroup",T))();function Et(e,t){const n=et(e),i=n[S.NumberSymbols][t];if(typeof i>"u"){if(t===T.CurrencyDecimal)return n[S.NumberSymbols][T.Decimal];if(t===T.CurrencyGroup)return n[S.NumberSymbols][T.Group]}return i}const Fk=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function Kc(e){const t=parseInt(e);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+e);return t}class Qk{constructor(t,n,i,r){this.$implicit=t,this.ngForOf=n,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Yc=(()=>{class e{constructor(n,i,r){this._viewContainer=n,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const i=this._viewContainer;n.forEachOperation((r,o,s)=>{if(null==r.previousIndex)i.createEmbeddedView(this._template,new Qk(r.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===o?void 0:o);else if(null!==o){const a=i.get(o);i.move(a,s),Qw(a,r)}});for(let r=0,o=i.length;r{Qw(i.get(r.currentIndex),r)})}static ngTemplateContextGuard(n,i){return!0}}return e.\u0275fac=function(n){return new(n||e)(v(Bt),v(vn),v(na))},e.\u0275dir=O({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),e})();function Qw(e,t){e.context.$implicit=t.item}let td=(()=>{class e{constructor(n){this.differs=n,this.keyValues=[],this.compareFn=Yw}transform(n,i=Yw){if(!n||!(n instanceof Map)&&"object"!=typeof n)return null;this.differ||(this.differ=this.differs.find(n).create());const r=this.differ.diff(n),o=i!==this.compareFn;return r&&(this.keyValues=[],r.forEachItem(s=>{this.keyValues.push(function vx(e,t){return{key:e,value:t}}(s.key,s.currentValue))})),(r||o)&&(this.keyValues.sort(i),this.compareFn=i),this.keyValues}}return e.\u0275fac=function(n){return new(n||e)(v(mo,16))},e.\u0275pipe=it({name:"keyvalue",type:e,pure:!1,standalone:!0}),e})();function Yw(e,t){const n=e.key,i=t.key;if(n===i)return 0;if(void 0===n)return 1;if(void 0===i)return-1;if(null===n)return 1;if(null===i)return-1;if("string"==typeof n&&"string"==typeof i)return n{class e{constructor(n){this._locale=n}transform(n,i,r){if(!function id(e){return!(null==e||""===e||e!=e)}(n))return null;r=r||this._locale;try{return function Uk(e,t,n){return function Jc(e,t,n,i,r,o,s=!1){let a="",l=!1;if(isFinite(e)){let u=function $k(e){let i,r,o,s,a,t=Math.abs(e)+"",n=0;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(o=t.search(/e/i))>0?(r<0&&(r=o),r+=+t.slice(o+1),t=t.substring(0,o)):r<0&&(r=t.length),o=0;"0"===t.charAt(o);o++);if(o===(a=t.length))i=[0],r=1;else{for(a--;"0"===t.charAt(a);)a--;for(r-=o,i=[],s=0;o<=a;o++,s++)i[s]=Number(t.charAt(o))}return r>22&&(i=i.splice(0,21),n=r-1,r=1),{digits:i,exponent:n,integerLen:r}}(e);s&&(u=function Hk(e){if(0===e.digits[0])return e;const t=e.digits.length-e.integerLen;return e.exponent?e.exponent+=2:(0===t?e.digits.push(0,0):1===t&&e.digits.push(0),e.integerLen+=2),e}(u));let c=t.minInt,d=t.minFrac,h=t.maxFrac;if(o){const M=o.match(Fk);if(null===M)throw new Error(`${o} is not a valid digit info`);const y=M[1],I=M[3],Y=M[5];null!=y&&(c=Kc(y)),null!=I&&(d=Kc(I)),null!=Y?h=Kc(Y):null!=I&&d>h&&(h=d)}!function Gk(e,t,n){if(t>n)throw new Error(`The minimum number of digits after fraction (${t}) is higher than the maximum (${n}).`);let i=e.digits,r=i.length-e.integerLen;const o=Math.min(Math.max(t,r),n);let s=o+e.integerLen,a=i[s];if(s>0){i.splice(Math.max(e.integerLen,s));for(let d=s;d=5)if(s-1<0){for(let d=0;d>s;d--)i.unshift(0),e.integerLen++;i.unshift(1),e.integerLen++}else i[s-1]++;for(;r=u?p.pop():l=!1),h>=10?1:0},0);c&&(i.unshift(c),e.integerLen++)}(u,d,h);let f=u.digits,p=u.integerLen;const g=u.exponent;let m=[];for(l=f.every(M=>!M);p0?m=f.splice(p,f.length):(m=f,f=[0]);const A=[];for(f.length>=t.lgSize&&A.unshift(f.splice(-t.lgSize,f.length).join(""));f.length>t.gSize;)A.unshift(f.splice(-t.gSize,f.length).join(""));f.length&&A.unshift(f.join("")),a=A.join(Et(n,i)),m.length&&(a+=Et(n,r)+m.join("")),g&&(a+=Et(n,T.Exponential)+"+"+g)}else a=Et(n,T.Infinity);return a=e<0&&!l?t.negPre+a+t.negSuf:t.posPre+a+t.posSuf,a}(e,function Qc(e,t="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=e.split(";"),r=i[0],o=i[1],s=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],a=s[0],l=s[1]||"";n.posPre=a.substring(0,a.indexOf("#"));for(let c=0;c{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=qt({type:e}),e.\u0275inj=xt({}),e})();let Sx=(()=>{class e{}return e.\u0275prov=H({token:e,providedIn:"root",factory:()=>new Ix(x(st),window)}),e})();class Ix{constructor(t,n){this.document=t,this.window=n,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(t){this.supportsScrolling()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(!this.supportsScrolling())return;const n=function kx(e,t){const n=e.getElementById(t)||e.getElementsByName(t)[0];if(n)return n;if("function"==typeof e.createTreeWalker&&e.body&&(e.body.createShadowRoot||e.body.attachShadow)){const i=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let r=i.currentNode;for(;r;){const o=r.shadowRoot;if(o){const s=o.getElementById(t)||o.querySelector(`[name="${t}"]`);if(s)return s}r=i.nextNode()}}return null}(this.document,t);n&&(this.scrollToElement(n),n.focus())}setHistoryScrollRestoration(t){if(this.supportScrollRestoration()){const n=this.window.history;n&&n.scrollRestoration&&(n.scrollRestoration=t)}}scrollToElement(t){const n=t.getBoundingClientRect(),i=n.left+this.window.pageXOffset,r=n.top+this.window.pageYOffset,o=this.offset();this.window.scrollTo(i-o[0],r-o[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const t=ev(this.window.history)||ev(Object.getPrototypeOf(this.window.history));return!(!t||!t.writable&&!t.set)}catch{return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}function ev(e){return Object.getOwnPropertyDescriptor(e,"scrollRestoration")}class ad extends class Jx extends class ik{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function nk(e){ia||(ia=e)}(new ad)}onAndCancel(t,n,i){return t.addEventListener(n,i,!1),()=>{t.removeEventListener(n,i,!1)}}dispatchEvent(t,n){t.dispatchEvent(n)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,n){return(n=n||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,n){return"window"===n?window:"document"===n?t:"body"===n?t.body:null}getBaseHref(t){const n=function Qx(){return Ao=Ao||document.querySelector("base"),Ao?Ao.getAttribute("href"):null}();return null==n?null:function Kx(e){pa=pa||document.createElement("a"),pa.setAttribute("href",e);const t=pa.pathname;return"/"===t.charAt(0)?t:`/${t}`}(n)}resetBaseElement(){Ao=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return function Wk(e,t){t=encodeURIComponent(t);for(const n of e.split(";")){const i=n.indexOf("="),[r,o]=-1==i?[n,""]:[n.slice(0,i),n.slice(i+1)];if(r.trim()===t)return decodeURIComponent(o)}return null}(document.cookie,t)}}let pa,Ao=null;const rv=new P("TRANSITION_ID"),Yx=[{provide:Js,useFactory:function Zx(e,t,n){return()=>{n.get(Qs).donePromise.then(()=>{const i=tn(),r=t.querySelectorAll(`style[ng-transition="${e}"]`);for(let o=0;o{class e{build(){return new XMLHttpRequest}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();const ga=new P("EventManagerPlugins");let ma=(()=>{class e{constructor(n,i){this._zone=i,this._eventNameToPlugin=new Map,n.forEach(r=>r.manager=this),this._plugins=n.slice().reverse()}addEventListener(n,i,r){return this._findPluginFor(i).addEventListener(n,i,r)}addGlobalEventListener(n,i,r){return this._findPluginFor(i).addGlobalEventListener(n,i,r)}getZone(){return this._zone}_findPluginFor(n){const i=this._eventNameToPlugin.get(n);if(i)return i;const r=this._plugins;for(let o=0;o{class e{constructor(){this._stylesSet=new Set}addStyles(n){const i=new Set;n.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(n){}getAllStyles(){return Array.from(this._stylesSet)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})(),_o=(()=>{class e extends sv{constructor(n){super(),this._doc=n,this._hostNodes=new Map,this._hostNodes.set(n.head,[])}_addStylesToHost(n,i,r){n.forEach(o=>{const s=this._doc.createElement("style");s.textContent=o,r.push(i.appendChild(s))})}addHost(n){const i=[];this._addStylesToHost(this._stylesSet,n,i),this._hostNodes.set(n,i)}removeHost(n){const i=this._hostNodes.get(n);i&&i.forEach(av),this._hostNodes.delete(n)}onStylesAdded(n){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(n,r,i)})}ngOnDestroy(){this._hostNodes.forEach(n=>n.forEach(av))}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();function av(e){tn().remove(e)}const ld={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},ud=/%COMP%/g;function ya(e,t,n){for(let i=0;i{if("__ngUnwrap__"===t)return e;!1===e(t)&&(t.preventDefault(),t.returnValue=!1)}}let cd=(()=>{class e{constructor(n,i,r){this.eventManager=n,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new dd(n)}createRenderer(n,i){if(!n||!i)return this.defaultRenderer;switch(i.encapsulation){case Wt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new sT(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(n),r}case 1:case Wt.ShadowDom:return new aT(this.eventManager,this.sharedStylesHost,n,i);default:if(!this.rendererByCompId.has(i.id)){const r=ya(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return e.\u0275fac=function(n){return new(n||e)(x(ma),x(_o),x(go))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();class dd{constructor(t){this.eventManager=t,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,n){return n?document.createElementNS(ld[n]||n,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,n){(hv(t)?t.content:t).appendChild(n)}insertBefore(t,n,i){t&&(hv(t)?t.content:t).insertBefore(n,i)}removeChild(t,n){t&&t.removeChild(n)}selectRootElement(t,n){let i="string"==typeof t?document.querySelector(t):t;if(!i)throw new Error(`The selector "${t}" did not match any elements`);return n||(i.textContent=""),i}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,n,i,r){if(r){n=r+":"+n;const o=ld[r];o?t.setAttributeNS(o,n,i):t.setAttribute(n,i)}else t.setAttribute(n,i)}removeAttribute(t,n,i){if(i){const r=ld[i];r?t.removeAttributeNS(r,n):t.removeAttribute(`${i}:${n}`)}else t.removeAttribute(n)}addClass(t,n){t.classList.add(n)}removeClass(t,n){t.classList.remove(n)}setStyle(t,n,i,r){r&(ot.DashCase|ot.Important)?t.style.setProperty(n,i,r&ot.Important?"important":""):t.style[n]=i}removeStyle(t,n,i){i&ot.DashCase?t.style.removeProperty(n):t.style[n]=""}setProperty(t,n,i){t[n]=i}setValue(t,n){t.nodeValue=n}listen(t,n,i){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,n,cv(i)):this.eventManager.addEventListener(t,n,cv(i))}}function hv(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class sT extends dd{constructor(t,n,i,r){super(t),this.component=i;const o=ya(r+"-"+i.id,i.styles,[]);n.addStyles(o),this.contentAttr=function iT(e){return"_ngcontent-%COMP%".replace(ud,e)}(r+"-"+i.id),this.hostAttr=function rT(e){return"_nghost-%COMP%".replace(ud,e)}(r+"-"+i.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,n){const i=super.createElement(t,n);return super.setAttribute(i,this.contentAttr,""),i}}class aT extends dd{constructor(t,n,i,r){super(t),this.sharedStylesHost=n,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const o=ya(r.id,r.styles,[]);for(let s=0;s{class e extends ov{constructor(n){super(n)}supports(n){return!0}addEventListener(n,i,r){return n.addEventListener(i,r,!1),()=>this.removeEventListener(n,i,r)}removeEventListener(n,i,r){return n.removeEventListener(i,r)}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();const fv=["alt","control","meta","shift"],uT={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},cT={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let dT=(()=>{class e extends ov{constructor(n){super(n)}supports(n){return null!=e.parseEventName(n)}addEventListener(n,i,r){const o=e.parseEventName(i),s=e.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>tn().onAndCancel(n,o.domEventName,s))}static parseEventName(n){const i=n.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=e._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),fv.forEach(u=>{const c=i.indexOf(u);c>-1&&(i.splice(c,1),s+=u+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(n,i){let r=uT[n.key]||n.key,o="";return i.indexOf("code.")>-1&&(r=n.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),fv.forEach(s=>{s!==r&&(0,cT[s])(n)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(n,i,r){return o=>{e.matchEventFullKeyCode(o,n)&&r.runGuarded(()=>i(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();const gT=pw(XI,"browser",[{provide:rw,useValue:"browser"},{provide:iw,useValue:function hT(){ad.makeCurrent()},multi:!0},{provide:st,useFactory:function pT(){return function QD(e){au=e}(document),document},deps:[]}]),mv=new P(""),yv=[{provide:Ks,useClass:class Xx{addToWindow(t){ue.getAngularTestability=(i,r=!0)=>{const o=t.findTestabilityInTree(i,r);if(null==o)throw new Error("Could not find testability for element.");return o},ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),ue.getAllAngularRootElements=()=>t.getAllRootElements(),ue.frameworkStabilizers||(ue.frameworkStabilizers=[]),ue.frameworkStabilizers.push(i=>{const r=ue.getAllAngularTestabilities();let o=r.length,s=!1;const a=function(l){s=s||l,o--,0==o&&i(s)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(t,n,i){return null==n?null:t.getTestability(n)??(i?tn().isShadowRoot(n)?this.findTestabilityInTree(t,n.host,!0):this.findTestabilityInTree(t,n.parentElement,!0):null)}},deps:[]},{provide:cw,useClass:Tc,deps:[Pe,Rc,Ks]},{provide:Tc,useClass:Tc,deps:[Pe,Rc,Ks]}],wv=[{provide:mu,useValue:"root"},{provide:Gi,useFactory:function fT(){return new Gi},deps:[]},{provide:ga,useClass:lT,multi:!0,deps:[st,Pe,rw]},{provide:ga,useClass:dT,multi:!0,deps:[st]},{provide:cd,useClass:cd,deps:[ma,_o,go]},{provide:Wp,useExisting:cd},{provide:sv,useExisting:_o},{provide:_o,useClass:_o,deps:[st]},{provide:ma,useClass:ma,deps:[ga,Pe]},{provide:class xx{},useClass:eT,deps:[]},[]];let mT=(()=>{class e{constructor(n){}static withServerTransition(n){return{ngModule:e,providers:[{provide:go,useValue:n.appId},{provide:rv,useExisting:go},Yx]}}}return e.\u0275fac=function(n){return new(n||e)(x(mv,12))},e.\u0275mod=qt({type:e}),e.\u0275inj=xt({providers:[...wv,...yv],imports:[Dx,ek]}),e})(),vv=(()=>{class e{constructor(n){this._doc=n}getTitle(){return this._doc.title}setTitle(n){this._doc.title=n||""}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:function(n){let i=null;return i=n?new n:function wT(){return new vv(x(st))}(),i},providedIn:"root"}),e})();typeof window<"u"&&window;const{isArray:ET}=Array,{getPrototypeOf:ST,prototype:IT,keys:kT}=Object;function bv(e){if(1===e.length){const t=e[0];if(ET(t))return{args:t,keys:null};if(function xT(e){return e&&"object"==typeof e&&ST(e)===IT}(t)){const n=kT(t);return{args:n.map(i=>t[i]),keys:n}}}return{args:e,keys:null}}const{isArray:TT}=Array;function Dv(e){return K(t=>function RT(e,t){return TT(t)?e(...t):e(t)}(e,t))}function Cv(e,t){return e.reduce((n,i,r)=>(n[i]=t[r],n),{})}let Mv=(()=>{class e{constructor(n,i){this._renderer=n,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(n,i){this._renderer.setProperty(this._elementRef.nativeElement,n,i)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return e.\u0275fac=function(n){return new(n||e)(v(pn),v(mt))},e.\u0275dir=O({type:e}),e})(),pi=(()=>{class e extends Mv{}return e.\u0275fac=function(){let t;return function(i){return(t||(t=$e(e)))(i||e)}}(),e.\u0275dir=O({type:e,features:[ie]}),e})();const nn=new P("NgValueAccessor"),NT={provide:nn,useExisting:le(()=>wa),multi:!0};let wa=(()=>{class e extends pi{writeValue(n){this.setProperty("checked",n)}}return e.\u0275fac=function(){let t;return function(i){return(t||(t=$e(e)))(i||e)}}(),e.\u0275dir=O({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,i){1&n&&Q("change",function(o){return i.onChange(o.target.checked)})("blur",function(){return i.onTouched()})},features:[fe([NT]),ie]}),e})();const FT={provide:nn,useExisting:le(()=>pd),multi:!0},OT=new P("CompositionEventMode");let pd=(()=>{class e extends Mv{constructor(n,i,r){super(n,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function LT(){const e=tn()?tn().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return e.\u0275fac=function(n){return new(n||e)(v(pn),v(mt),v(OT,8))},e.\u0275dir=O({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(n,i){1&n&&Q("input",function(o){return i._handleInput(o.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(o){return i._compositionEnd(o.target.value)})},features:[fe([FT]),ie]}),e})();const qe=new P("NgValidators"),Vn=new P("NgAsyncValidators");function Fv(e){return null!=e}function Lv(e){return no(e)?Ce(e):e}function Ov(e){let t={};return e.forEach(n=>{t=null!=n?{...t,...n}:t}),0===Object.keys(t).length?null:t}function Vv(e,t){return t.map(n=>n(e))}function jv(e){return e.map(t=>function BT(e){return!e.validate}(t)?t:n=>t.validate(n))}function gd(e){return null!=e?function Bv(e){if(!e)return null;const t=e.filter(Fv);return 0==t.length?null:function(n){return Ov(Vv(n,t))}}(jv(e)):null}function md(e){return null!=e?function Uv(e){if(!e)return null;const t=e.filter(Fv);return 0==t.length?null:function(n){return function PT(...e){const t=Gh(e),{args:n,keys:i}=bv(e),r=new De(o=>{const{length:s}=n;if(!s)return void o.complete();const a=new Array(s);let l=s,u=s;for(let c=0;c{d||(d=!0,u--),a[c]=h},()=>l--,void 0,()=>{(!l||!d)&&(u||o.next(i?Cv(i,a):a),o.complete())}))}});return t?r.pipe(Dv(t)):r}(Vv(n,t).map(Lv)).pipe(K(Ov))}}(jv(e)):null}function Hv(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function yd(e){return e?Array.isArray(e)?e:[e]:[]}function Aa(e,t){return Array.isArray(e)?e.includes(t):e===t}function zv(e,t){const n=yd(t);return yd(e).forEach(r=>{Aa(n,r)||n.push(r)}),n}function Wv(e,t){return yd(t).filter(n=>!Aa(e,n))}class qv{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=gd(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=md(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,n){return!!this.control&&this.control.hasError(t,n)}getError(t,n){return this.control?this.control.getError(t,n):null}}class nt extends qv{get formDirective(){return null}get path(){return null}}class jn extends qv{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}let wd=(()=>{class e extends class Jv{constructor(t){this._cd=t}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}{constructor(n){super(n)}}return e.\u0275fac=function(n){return new(n||e)(v(jn,2))},e.\u0275dir=O({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,i){2&n&&Os("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},features:[ie]}),e})();const bo="VALID",ba="INVALID",cr="PENDING",Do="DISABLED";function Kv(e){return Array.isArray(e)?gd(e):e||null}function Zv(e){return Array.isArray(e)?md(e):e||null}function Da(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function Co(e,t){(function Md(e,t){const n=function $v(e){return e._rawValidators}(e);null!==t.validator?e.setValidators(Hv(n,t.validator)):"function"==typeof n&&e.setValidators([n]);const i=function Gv(e){return e._rawAsyncValidators}(e);null!==t.asyncValidator?e.setAsyncValidators(Hv(i,t.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);const r=()=>e.updateValueAndValidity();Ea(t._rawValidators,r),Ea(t._rawAsyncValidators,r)})(e,t),t.valueAccessor.writeValue(e.value),e.disabled&&t.valueAccessor.setDisabledState?.(!0),function KT(e,t){t.valueAccessor.registerOnChange(n=>{e._pendingValue=n,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&t0(e,t)})}(e,t),function YT(e,t){const n=(i,r)=>{t.valueAccessor.writeValue(i),r&&t.viewToModelUpdate(i)};e.registerOnChange(n),t._registerOnDestroy(()=>{e._unregisterOnChange(n)})}(e,t),function ZT(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&t0(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function QT(e,t){if(t.valueAccessor.setDisabledState){const n=i=>{t.valueAccessor.setDisabledState(i)};e.registerOnDisabledChange(n),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(n)})}}(e,t)}function Ea(e,t){e.forEach(n=>{n.registerOnValidatorChange&&n.registerOnValidatorChange(t)})}function t0(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function s0(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}function a0(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const s2={provide:jn,useExisting:le(()=>Ia)},d0=(()=>Promise.resolve())();let Ia=(()=>{class e extends jn{constructor(n,i,r,o,s){super(),this._changeDetectorRef=s,this.control=new class extends class e0{constructor(t,n){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=n,this._composedValidatorFn=Kv(this._rawValidators),this._composedAsyncValidatorFn=Zv(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===bo}get invalid(){return this.status===ba}get pending(){return this.status==cr}get disabled(){return this.status===Do}get enabled(){return this.status!==Do}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._rawValidators=t,this._composedValidatorFn=Kv(t)}setAsyncValidators(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=Zv(t)}addValidators(t){this.setValidators(zv(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(zv(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(Wv(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(Wv(t,this._rawAsyncValidators))}hasValidator(t){return Aa(this._rawValidators,t)}hasAsyncValidator(t){return Aa(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(n=>{n.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(n=>{n.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=cr,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const n=this._parentMarkedDirty(t.onlySelf);this.status=Do,this.errors=null,this._forEachChild(i=>{i.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:n}),this._onDisabledChange.forEach(i=>i(!0))}enable(t={}){const n=this._parentMarkedDirty(t.onlySelf);this.status=bo,this._forEachChild(i=>{i.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:n}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===bo||this.status===cr)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(n=>n._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Do:bo}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=cr,this._hasOwnPendingAsyncValidator=!0;const n=Lv(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,n={}){this.errors=t,this._updateControlsErrors(!1!==n.emitEvent)}get(t){let n=t;return null==n||(Array.isArray(n)||(n=n.split(".")),0===n.length)?null:n.reduce((i,r)=>i&&i._find(r),this)}getError(t,n){const i=n?this.get(n):this;return i&&i.errors?i.errors[t]:null}hasError(t,n){return!!this.getError(t,n)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Ae,this.statusChanges=new Ae}_calculateStatus(){return this._allControlsDisabled()?Do:this.errors?ba:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(cr)?cr:this._anyControlsHaveStatus(ba)?ba:bo}_anyControlsHaveStatus(t){return this._anyControls(n=>n.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){Da(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}}{constructor(t=null,n,i){super(function bd(e){return(Da(e)?e.validators:e)||null}(n),function Dd(e,t){return(Da(t)?t.asyncValidators:e)||null}(i,n)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(n),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Da(n)&&(n.nonNullable||n.initialValueIsDefault)&&(this.defaultValue=a0(t)?t.value:t)}setValue(t,n={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==n.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==n.emitViewToModelChange)),this.updateValueAndValidity(n)}patchValue(t,n={}){this.setValue(t,n)}reset(t=this.defaultValue,n={}){this._applyFormState(t),this.markAsPristine(n),this.markAsUntouched(n),this.setValue(this.value,n),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){s0(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){s0(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){a0(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}},this._registered=!1,this.update=new Ae,this._parent=n,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function Sd(e,t){if(!t)return null;let n,i,r;return Array.isArray(t),t.forEach(o=>{o.constructor===pd?n=o:function t2(e){return Object.getPrototypeOf(e.constructor)===pi}(o)?i=o:r=o}),r||i||n||null}(0,o)}ngOnChanges(n){if(this._checkForErrors(),!this._registered||"name"in n){if(this._registered&&(this._checkName(),this.formDirective)){const i=n.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in n&&this._updateDisabled(n),function Ed(e,t){if(!e.hasOwnProperty("model"))return!1;const n=e.model;return!!n.isFirstChange()||!Object.is(t,n.currentValue)}(n,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Co(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(n){d0.then(()=>{this.control.setValue(n,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(n){const i=n.isDisabled.currentValue,r=0!==i&&function bn(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(i);d0.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(n){return this._parent?function Ca(e,t){return[...t.path,e]}(n,this._parent):[n]}}return e.\u0275fac=function(n){return new(n||e)(v(nt,9),v(qe,10),v(Vn,10),v(nn,10),v(Xs,8))},e.\u0275dir=O({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[fe([s2]),ie,bt]}),e})(),f0=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=qt({type:e}),e.\u0275inj=xt({}),e})(),T2=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=qt({type:e}),e.\u0275inj=xt({imports:[f0]}),e})(),R2=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=qt({type:e}),e.\u0275inj=xt({imports:[T2]}),e})();function k(...e){return Ce(e,_r(e))}class Gt extends zt{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const n=super._subscribe(t);return!n.closed&&t.next(this._value),n}getValue(){const{hasError:t,thrownError:n,_value:i}=this;if(t)throw n;return this._throwIfClosed(),i}next(t){super.next(this._value=t)}}const ka=wr(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function T0(...e){const t=_r(e),n=Gh(e),{args:i,keys:r}=bv(e);if(0===i.length)return Ce([],t);const o=new De(function N2(e,t,n=Qn){return i=>{R0(t,()=>{const{length:r}=e,o=new Array(r);let s=r,a=r;for(let l=0;l{const u=Ce(e[l],t);let c=!1;u.subscribe(ke(i,d=>{o[l]=d,c||(c=!0,a--),a||i.next(n(o.slice()))},()=>{--s||i.complete()}))},i)},i)}}(i,t,r?s=>Cv(r,s):Qn));return n?o.pipe(Dv(n)):o}function R0(e,t,n){e?sn(n,e,t):t()}function Fd(...e){return function F2(){return bi(1)}()(Ce(e,_r(e)))}function P0(e){return new De(t=>{kt(e()).subscribe(t)})}function Eo(e,t){const n=ae(e)?e:()=>e,i=r=>r.error(n());return new De(t?r=>t.schedule(i,0,r):i)}function Ld(){return Fe((e,t)=>{let n=null;e._refCount++;const i=ke(t,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(n=null);const r=e._connection,o=n;n=null,r&&(!o||r===o)&&r.unsubscribe(),t.unsubscribe()});e.subscribe(i),i.closed||(n=e.connect())})}class N0 extends De{constructor(t,n){super(),this.source=t,this.subjectFactory=n,this._subject=null,this._refCount=0,this._connection=null,xh(t)&&(this.lift=t.lift)}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:t}=this;this._subject=this._connection=null,t?.unsubscribe()}connect(){let t=this._connection;if(!t){t=this._connection=new vt;const n=this.getSubject();t.add(this.source.subscribe(ke(n,void 0,()=>{this._teardown(),n.complete()},i=>{this._teardown(),n.error(i)},()=>this._teardown()))),t.closed&&(this._connection=null,t=vt.EMPTY)}return t}refCount(){return Ld()(this)}}function rn(e,t){return Fe((n,i)=>{let r=null,o=0,s=!1;const a=()=>s&&!r&&i.complete();n.subscribe(ke(i,l=>{r?.unsubscribe();let u=0;const c=o++;kt(e(l,c)).subscribe(r=ke(i,d=>i.next(t?t(l,d,c,u++):d),()=>{r=null,a()}))},()=>{s=!0,a()}))})}function So(e){return e<=0?()=>an:Fe((t,n)=>{let i=0;t.subscribe(ke(n,r=>{++i<=e&&(n.next(r),e<=i&&n.complete())}))})}function Bn(e,t){return Fe((n,i)=>{let r=0;n.subscribe(ke(i,o=>e.call(t,o,r++)&&i.next(o)))})}function xa(e){return Fe((t,n)=>{let i=!1;t.subscribe(ke(n,r=>{i=!0,n.next(r)},()=>{i||n.next(e),n.complete()}))})}function F0(e=O2){return Fe((t,n)=>{let i=!1;t.subscribe(ke(n,r=>{i=!0,n.next(r)},()=>i?n.complete():n.error(e())))})}function O2(){return new ka}function Un(e,t){const n=arguments.length>=2;return i=>i.pipe(e?Bn((r,o)=>e(r,o,i)):Qn,So(1),n?xa(t):F0(()=>new ka))}function mi(e,t){return ae(t)?Ve(e,t,1):Ve(e,1)}function Je(e,t,n){const i=ae(e)||t||n?{next:e,error:t,complete:n}:e;return i?Fe((r,o)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;r.subscribe(ke(o,l=>{var u;null===(u=i.next)||void 0===u||u.call(i,l),o.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),o.complete()},l=>{var u;a=!1,null===(u=i.error)||void 0===u||u.call(i,l),o.error(l)},()=>{var l,u;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(u=i.finalize)||void 0===u||u.call(i)}))}):Qn}function Hn(e){return Fe((t,n)=>{let o,i=null,r=!1;i=t.subscribe(ke(n,void 0,void 0,s=>{o=kt(e(s,Hn(e)(t))),i?(i.unsubscribe(),i=null,o.subscribe(n)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(n))})}function V2(e,t,n,i,r){return(o,s)=>{let a=n,l=t,u=0;o.subscribe(ke(s,c=>{const d=u++;l=a?e(l,c,d):(a=!0,c),i&&s.next(l)},r&&(()=>{a&&s.next(l),s.complete()})))}}function L0(e,t){return Fe(V2(e,t,arguments.length>=2,!0))}function Od(e){return e<=0?()=>an:Fe((t,n)=>{let i=[];t.subscribe(ke(n,r=>{i.push(r),e{for(const r of i)n.next(r);n.complete()},void 0,()=>{i=null}))})}function O0(e,t){const n=arguments.length>=2;return i=>i.pipe(e?Bn((r,o)=>e(r,o,i)):Qn,Od(1),n?xa(t):F0(()=>new ka))}function Vd(e){return Fe((t,n)=>{try{t.subscribe(n)}finally{n.add(e)}})}const W="primary",Io=Symbol("RouteTitle");class U2{constructor(t){this.params=t||{}}has(t){return Object.prototype.hasOwnProperty.call(this.params,t)}get(t){if(this.has(t)){const n=this.params[t];return Array.isArray(n)?n[0]:n}return null}getAll(t){if(this.has(t)){const n=this.params[t];return Array.isArray(n)?n:[n]}return[]}get keys(){return Object.keys(this.params)}}function dr(e){return new U2(e)}function H2(e,t,n){const i=n.path.split("/");if(i.length>e.length||"full"===n.pathMatch&&(t.hasChildren()||i.lengthi[o]===r)}return e===t}function j0(e){return Array.prototype.concat.apply([],e)}function B0(e){return e.length>0?e[e.length-1]:null}function Be(e,t){for(const n in e)e.hasOwnProperty(n)&&t(e[n],n)}function $n(e){return tc(e)?e:no(e)?Ce(Promise.resolve(e)):k(e)}const z2={exact:function $0(e,t,n){if(!wi(e.segments,t.segments)||!Ta(e.segments,t.segments,n)||e.numberOfChildren!==t.numberOfChildren)return!1;for(const i in t.children)if(!e.children[i]||!$0(e.children[i],t.children[i],n))return!1;return!0},subset:G0},U0={exact:function W2(e,t){return on(e,t)},subset:function q2(e,t){return Object.keys(t).length<=Object.keys(e).length&&Object.keys(t).every(n=>V0(e[n],t[n]))},ignored:()=>!0};function H0(e,t,n){return z2[n.paths](e.root,t.root,n.matrixParams)&&U0[n.queryParams](e.queryParams,t.queryParams)&&!("exact"===n.fragment&&e.fragment!==t.fragment)}function G0(e,t,n){return z0(e,t,t.segments,n)}function z0(e,t,n,i){if(e.segments.length>n.length){const r=e.segments.slice(0,n.length);return!(!wi(r,n)||t.hasChildren()||!Ta(r,n,i))}if(e.segments.length===n.length){if(!wi(e.segments,n)||!Ta(e.segments,n,i))return!1;for(const r in t.children)if(!e.children[r]||!G0(e.children[r],t.children[r],i))return!1;return!0}{const r=n.slice(0,e.segments.length),o=n.slice(e.segments.length);return!!(wi(e.segments,r)&&Ta(e.segments,r,i)&&e.children[W])&&z0(e.children[W],t,o,i)}}function Ta(e,t,n){return t.every((i,r)=>U0[n](e[r].parameters,i.parameters))}class yi{constructor(t,n,i){this.root=t,this.queryParams=n,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=dr(this.queryParams)),this._queryParamMap}toString(){return K2.serialize(this)}}class q{constructor(t,n){this.segments=t,this.children=n,this.parent=null,Be(n,(i,r)=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Ra(this)}}class ko{constructor(t,n){this.path=t,this.parameters=n}get parameterMap(){return this._parameterMap||(this._parameterMap=dr(this.parameters)),this._parameterMap}toString(){return Q0(this)}}function wi(e,t){return e.length===t.length&&e.every((n,i)=>n.path===t[i].path)}let W0=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:function(){return new Bd},providedIn:"root"}),e})();class Bd{parse(t){const n=new oR(t);return new yi(n.parseRootSegment(),n.parseQueryParams(),n.parseFragment())}serialize(t){const n=`/${xo(t.root,!0)}`,i=function X2(e){const t=Object.keys(e).map(n=>{const i=e[n];return Array.isArray(i)?i.map(r=>`${Pa(n)}=${Pa(r)}`).join("&"):`${Pa(n)}=${Pa(i)}`}).filter(n=>!!n);return t.length?`?${t.join("&")}`:""}(t.queryParams);return`${n}${i}${"string"==typeof t.fragment?`#${function Z2(e){return encodeURI(e)}(t.fragment)}`:""}`}}const K2=new Bd;function Ra(e){return e.segments.map(t=>Q0(t)).join("/")}function xo(e,t){if(!e.hasChildren())return Ra(e);if(t){const n=e.children[W]?xo(e.children[W],!1):"",i=[];return Be(e.children,(r,o)=>{o!==W&&i.push(`${o}:${xo(r,!1)}`)}),i.length>0?`${n}(${i.join("//")})`:n}{const n=function Q2(e,t){let n=[];return Be(e.children,(i,r)=>{r===W&&(n=n.concat(t(i,r)))}),Be(e.children,(i,r)=>{r!==W&&(n=n.concat(t(i,r)))}),n}(e,(i,r)=>r===W?[xo(e.children[W],!1)]:[`${r}:${xo(i,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[W]?`${Ra(e)}/${n[0]}`:`${Ra(e)}/(${n.join("//")})`}}function q0(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Pa(e){return q0(e).replace(/%3B/gi,";")}function Ud(e){return q0(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Na(e){return decodeURIComponent(e)}function J0(e){return Na(e.replace(/\+/g,"%20"))}function Q0(e){return`${Ud(e.path)}${function Y2(e){return Object.keys(e).map(t=>`;${Ud(t)}=${Ud(e[t])}`).join("")}(e.parameters)}`}const eR=/^[^\/()?;=#]+/;function Fa(e){const t=e.match(eR);return t?t[0]:""}const tR=/^[^=?&#]+/,iR=/^[^&#]+/;class oR{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new q([],{}):new q([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let n={};this.peekStartsWith("/(")&&(this.capture("/"),n=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(t.length>0||Object.keys(n).length>0)&&(i[W]=new q(t,n)),i}parseSegment(){const t=Fa(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new D(4009,!1);return this.capture(t),new ko(Na(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const n=Fa(this.remaining);if(!n)return;this.capture(n);let i="";if(this.consumeOptional("=")){const r=Fa(this.remaining);r&&(i=r,this.capture(i))}t[Na(n)]=Na(i)}parseQueryParam(t){const n=function nR(e){const t=e.match(tR);return t?t[0]:""}(this.remaining);if(!n)return;this.capture(n);let i="";if(this.consumeOptional("=")){const s=function rR(e){const t=e.match(iR);return t?t[0]:""}(this.remaining);s&&(i=s,this.capture(i))}const r=J0(n),o=J0(i);if(t.hasOwnProperty(r)){let s=t[r];Array.isArray(s)||(s=[s],t[r]=s),s.push(o)}else t[r]=o}parseParens(t){const n={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=Fa(this.remaining),r=this.remaining[i.length];if("/"!==r&&")"!==r&&";"!==r)throw new D(4010,!1);let o;i.indexOf(":")>-1?(o=i.slice(0,i.indexOf(":")),this.capture(o),this.capture(":")):t&&(o=W);const s=this.parseChildren();n[o]=1===Object.keys(s).length?s[W]:new q([],s),this.consumeOptional("//")}return n}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new D(4011,!1)}}function Hd(e){return e.segments.length>0?new q([],{[W]:e}):e}function La(e){const t={};for(const i of Object.keys(e.children)){const o=La(e.children[i]);(o.segments.length>0||o.hasChildren())&&(t[i]=o)}return function sR(e){if(1===e.numberOfChildren&&e.children[W]){const t=e.children[W];return new q(e.segments.concat(t.segments),t.children)}return e}(new q(e.segments,t))}function vi(e){return e instanceof yi}function uR(e,t,n,i,r){if(0===n.length)return hr(t.root,t.root,t.root,i,r);const o=function Y0(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new Z0(!0,0,e);let t=0,n=!1;const i=e.reduce((r,o,s)=>{if("object"==typeof o&&null!=o){if(o.outlets){const a={};return Be(o.outlets,(l,u)=>{a[u]="string"==typeof l?l.split("/"):l}),[...r,{outlets:a}]}if(o.segmentPath)return[...r,o.segmentPath]}return"string"!=typeof o?[...r,o]:0===s?(o.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?n=!0:".."===a?t++:""!=a&&r.push(a))}),r):[...r,o]},[]);return new Z0(n,t,i)}(n);return o.toRoot()?hr(t.root,t.root,new q([],{}),i,r):function s(l){const u=function dR(e,t,n,i){if(e.isAbsolute)return new fr(t.root,!0,0);if(-1===i)return new fr(n,n===t.root,0);return function X0(e,t,n){let i=e,r=t,o=n;for(;o>r;){if(o-=r,i=i.parent,!i)throw new D(4005,!1);r=i.segments.length}return new fr(i,!1,r-o)}(n,i+(To(e.commands[0])?0:1),e.numberOfDoubleDots)}(o,t,e.snapshot?._urlSegment,l),c=u.processChildren?Po(u.segmentGroup,u.index,o.commands):Gd(u.segmentGroup,u.index,o.commands);return hr(t.root,u.segmentGroup,c,i,r)}(e.snapshot?._lastPathIndex)}function To(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function Ro(e){return"object"==typeof e&&null!=e&&e.outlets}function hr(e,t,n,i,r){let s,o={};i&&Be(i,(l,u)=>{o[u]=Array.isArray(l)?l.map(c=>`${c}`):`${l}`}),s=e===t?n:K0(e,t,n);const a=Hd(La(s));return new yi(a,o,r)}function K0(e,t,n){const i={};return Be(e.children,(r,o)=>{i[o]=r===t?n:K0(r,t,n)}),new q(e.segments,i)}class Z0{constructor(t,n,i){if(this.isAbsolute=t,this.numberOfDoubleDots=n,this.commands=i,t&&i.length>0&&To(i[0]))throw new D(4003,!1);const r=i.find(Ro);if(r&&r!==B0(i))throw new D(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class fr{constructor(t,n,i){this.segmentGroup=t,this.processChildren=n,this.index=i}}function Gd(e,t,n){if(e||(e=new q([],{})),0===e.segments.length&&e.hasChildren())return Po(e,t,n);const i=function fR(e,t,n){let i=0,r=t;const o={match:!1,pathIndex:0,commandIndex:0};for(;r=n.length)return o;const s=e.segments[r],a=n[i];if(Ro(a))break;const l=`${a}`,u=i0&&void 0===l)break;if(l&&u&&"object"==typeof u&&void 0===u.outlets){if(!tA(l,u,s))return o;i+=2}else{if(!tA(l,{},s))return o;i++}r++}return{match:!0,pathIndex:r,commandIndex:i}}(e,t,n),r=n.slice(i.commandIndex);if(i.match&&i.pathIndex{"string"==typeof o&&(o=[o]),null!==o&&(r[s]=Gd(e.children[s],t,o))}),Be(e.children,(o,s)=>{void 0===i[s]&&(r[s]=o)}),new q(e.segments,r)}}function zd(e,t,n){const i=e.segments.slice(0,t);let r=0;for(;r{"string"==typeof n&&(n=[n]),null!==n&&(t[i]=zd(new q([],{}),0,n))}),t}function eA(e){const t={};return Be(e,(n,i)=>t[i]=`${n}`),t}function tA(e,t,n){return e==n.path&&on(t,n.parameters)}class Mn{constructor(t,n){this.id=t,this.url=n}}class Wd extends Mn{constructor(t,n,i="imperative",r=null){super(t,n),this.type=0,this.navigationTrigger=i,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Ai extends Mn{constructor(t,n,i){super(t,n),this.urlAfterRedirects=i,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class Oa extends Mn{constructor(t,n,i,r){super(t,n),this.reason=i,this.code=r,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class nA extends Mn{constructor(t,n,i,r){super(t,n),this.error=i,this.target=r,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class iA extends Mn{constructor(t,n,i,r){super(t,n),this.urlAfterRedirects=i,this.state=r,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class gR extends Mn{constructor(t,n,i,r){super(t,n),this.urlAfterRedirects=i,this.state=r,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class mR extends Mn{constructor(t,n,i,r,o){super(t,n),this.urlAfterRedirects=i,this.state=r,this.shouldActivate=o,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class yR extends Mn{constructor(t,n,i,r){super(t,n),this.urlAfterRedirects=i,this.state=r,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class wR extends Mn{constructor(t,n,i,r){super(t,n),this.urlAfterRedirects=i,this.state=r,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class vR{constructor(t){this.route=t,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class AR{constructor(t){this.route=t,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class _R{constructor(t){this.snapshot=t,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class bR{constructor(t){this.snapshot=t,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class DR{constructor(t){this.snapshot=t,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class CR{constructor(t){this.snapshot=t,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class rA{constructor(t,n,i){this.routerEvent=t,this.position=n,this.anchor=i,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class oA{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const n=this.pathFromRoot(t);return n.length>1?n[n.length-2]:null}children(t){const n=qd(t,this._root);return n?n.children.map(i=>i.value):[]}firstChild(t){const n=qd(t,this._root);return n&&n.children.length>0?n.children[0].value:null}siblings(t){const n=Jd(t,this._root);return n.length<2?[]:n[n.length-2].children.map(r=>r.value).filter(r=>r!==t)}pathFromRoot(t){return Jd(t,this._root).map(n=>n.value)}}function qd(e,t){if(e===t.value)return t;for(const n of t.children){const i=qd(e,n);if(i)return i}return null}function Jd(e,t){if(e===t.value)return[t];for(const n of t.children){const i=Jd(e,n);if(i.length)return i.unshift(t),i}return[]}class En{constructor(t,n){this.value=t,this.children=n}toString(){return`TreeNode(${this.value})`}}function pr(e){const t={};return e&&e.children.forEach(n=>t[n.value.outlet]=n),t}class sA extends oA{constructor(t,n){super(t),this.snapshot=n,Qd(this,t)}toString(){return this.snapshot.toString()}}function aA(e,t){const n=function ER(e,t){const s=new Va([],{},{},"",{},W,t,null,e.root,-1,{});return new uA("",new En(s,[]))}(e,t),i=new Gt([new ko("",{})]),r=new Gt({}),o=new Gt({}),s=new Gt({}),a=new Gt(""),l=new Gn(i,r,s,a,o,W,t,n.root);return l.snapshot=n.root,new sA(new En(l,[]),n)}class Gn{constructor(t,n,i,r,o,s,a,l){this.url=t,this.params=n,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.title=this.data?.pipe(K(u=>u[Io]))??k(void 0),this._futureSnapshot=l}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(K(t=>dr(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(K(t=>dr(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function lA(e,t="emptyOnly"){const n=e.pathFromRoot;let i=0;if("always"!==t)for(i=n.length-1;i>=1;){const r=n[i],o=n[i-1];if(r.routeConfig&&""===r.routeConfig.path)i--;else{if(o.component)break;i--}}return function SR(e){return e.reduce((t,n)=>({params:{...t.params,...n.params},data:{...t.data,...n.data},resolve:{...n.data,...t.resolve,...n.routeConfig?.data,...n._resolvedData}}),{params:{},data:{},resolve:{}})}(n.slice(i))}class Va{constructor(t,n,i,r,o,s,a,l,u,c,d,h){this.url=t,this.params=n,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.title=this.data?.[Io],this.routeConfig=l,this._urlSegment=u,this._lastPathIndex=c,this._correctedLastPathIndex=h??c,this._resolve=d}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=dr(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=dr(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class uA extends oA{constructor(t,n){super(n),this.url=t,Qd(this,n)}toString(){return cA(this._root)}}function Qd(e,t){t.value._routerState=e,t.children.forEach(n=>Qd(e,n))}function cA(e){const t=e.children.length>0?` { ${e.children.map(cA).join(", ")} } `:"";return`${e.value}${t}`}function Kd(e){if(e.snapshot){const t=e.snapshot,n=e._futureSnapshot;e.snapshot=n,on(t.queryParams,n.queryParams)||e.queryParams.next(n.queryParams),t.fragment!==n.fragment&&e.fragment.next(n.fragment),on(t.params,n.params)||e.params.next(n.params),function $2(e,t){if(e.length!==t.length)return!1;for(let n=0;non(n.parameters,t[i].parameters))}(e.url,t.url);return n&&!(!e.parent!=!t.parent)&&(!e.parent||Zd(e.parent,t.parent))}function No(e,t,n){if(n&&e.shouldReuseRoute(t.value,n.value.snapshot)){const i=n.value;i._futureSnapshot=t.value;const r=function kR(e,t,n){return t.children.map(i=>{for(const r of n.children)if(e.shouldReuseRoute(i.value,r.value.snapshot))return No(e,i,r);return No(e,i)})}(e,t,n);return new En(i,r)}{if(e.shouldAttach(t.value)){const o=e.retrieve(t.value);if(null!==o){const s=o.route;return s.value._futureSnapshot=t.value,s.children=t.children.map(a=>No(e,a)),s}}const i=function xR(e){return new Gn(new Gt(e.url),new Gt(e.params),new Gt(e.queryParams),new Gt(e.fragment),new Gt(e.data),e.outlet,e.component,e)}(t.value),r=t.children.map(o=>No(e,o));return new En(i,r)}}const Yd="ngNavigationCancelingError";function dA(e,t){const{redirectTo:n,navigationBehaviorOptions:i}=vi(t)?{redirectTo:t,navigationBehaviorOptions:void 0}:t,r=hA(!1,0,t);return r.url=n,r.navigationBehaviorOptions=i,r}function hA(e,t,n){const i=new Error("NavigationCancelingError: "+(e||""));return i[Yd]=!0,i.cancellationCode=t,n&&(i.url=n),i}function fA(e){return pA(e)&&vi(e.url)}function pA(e){return e&&e[Yd]}class TR{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.injector=null,this.children=new Fo,this.attachRef=null}}let Fo=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(n,i){const r=this.getOrCreateContext(n);r.outlet=i,this.contexts.set(n,r)}onChildOutletDestroyed(n){const i=this.getContext(n);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){const n=this.contexts;return this.contexts=new Map,n}onOutletReAttached(n){this.contexts=n}getOrCreateContext(n){let i=this.getContext(n);return i||(i=new TR,this.contexts.set(n,i)),i}getContext(n){return this.contexts.get(n)||null}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const ja=!1;let gA=(()=>{class e{constructor(n,i,r,o,s){this.parentContexts=n,this.location=i,this.changeDetector=o,this.environmentInjector=s,this.activated=null,this._activatedRoute=null,this.activateEvents=new Ae,this.deactivateEvents=new Ae,this.attachEvents=new Ae,this.detachEvents=new Ae,this.name=r||W,n.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.getContext(this.name)?.outlet===this&&this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const n=this.parentContexts.getContext(this.name);n&&n.route&&(n.attachRef?this.attach(n.attachRef,n.route):this.activateWith(n.route,n.injector))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new D(4012,ja);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new D(4012,ja);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new D(4012,ja);this.location.detach();const n=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(n.instance),n}attach(n,i){this.activated=n,this._activatedRoute=i,this.location.insert(n.hostView),this.attachEvents.emit(n.instance)}deactivate(){if(this.activated){const n=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(n)}}activateWith(n,i){if(this.isActivated)throw new D(4013,ja);this._activatedRoute=n;const r=this.location,s=n._futureSnapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new RR(n,a,r.injector);if(i&&function PR(e){return!!e.resolveComponentFactory}(i)){const u=i.resolveComponentFactory(s);this.activated=r.createComponent(u,r.length,l)}else this.activated=r.createComponent(s,{index:r.length,injector:l,environmentInjector:i??this.environmentInjector});this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return e.\u0275fac=function(n){return new(n||e)(v(Fo),v(Bt),function Rr(e){return function Nb(e,t){if("class"===t)return e.classes;if("style"===t)return e.styles;const n=e.attrs;if(n){const i=n.length;let r=0;for(;r{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=Ci({type:e,selectors:[["ng-component"]],standalone:!0,features:[wy],decls:1,vars:0,template:function(n,i){1&n&&V(0,"router-outlet")},dependencies:[gA],encapsulation:2}),e})();function mA(e,t){return e.providers&&!e._injector&&(e._injector=Gs(e.providers,t,`Route: ${e.path}`)),e._injector??t}function th(e){const t=e.children&&e.children.map(th),n=t?{...e,children:t}:{...e};return!n.component&&!n.loadComponent&&(t||n.loadChildren)&&n.outlet&&n.outlet!==W&&(n.component=Xd),n}function It(e){return e.outlet||W}function yA(e,t){const n=e.filter(i=>It(i)===t);return n.push(...e.filter(i=>It(i)!==t)),n}function Lo(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let t=e.parent;t;t=t.parent){const n=t.routeConfig;if(n?._loadedInjector)return n._loadedInjector;if(n?._injector)return n._injector}return null}class VR{constructor(t,n,i,r){this.routeReuseStrategy=t,this.futureState=n,this.currState=i,this.forwardEvent=r}activate(t){const n=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(n,i,t),Kd(this.futureState.root),this.activateChildRoutes(n,i,t)}deactivateChildRoutes(t,n,i){const r=pr(n);t.children.forEach(o=>{const s=o.value.outlet;this.deactivateRoutes(o,r[s],i),delete r[s]}),Be(r,(o,s)=>{this.deactivateRouteAndItsChildren(o,i)})}deactivateRoutes(t,n,i){const r=t.value,o=n?n.value:null;if(r===o)if(r.component){const s=i.getContext(r.outlet);s&&this.deactivateChildRoutes(t,n,s.children)}else this.deactivateChildRoutes(t,n,i);else o&&this.deactivateRouteAndItsChildren(n,i)}deactivateRouteAndItsChildren(t,n){t.value.component&&this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,n):this.deactivateRouteAndOutlet(t,n)}detachAndStoreRouteSubtree(t,n){const i=n.getContext(t.value.outlet),r=i&&t.value.component?i.children:n,o=pr(t);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);if(i&&i.outlet){const s=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:s,route:t,contexts:a})}}deactivateRouteAndOutlet(t,n){const i=n.getContext(t.value.outlet),r=i&&t.value.component?i.children:n,o=pr(t);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);i&&i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated(),i.attachRef=null,i.resolver=null,i.route=null)}activateChildRoutes(t,n,i){const r=pr(n);t.children.forEach(o=>{this.activateRoutes(o,r[o.value.outlet],i),this.forwardEvent(new CR(o.value.snapshot))}),t.children.length&&this.forwardEvent(new bR(t.value.snapshot))}activateRoutes(t,n,i){const r=t.value,o=n?n.value:null;if(Kd(r),r===o)if(r.component){const s=i.getOrCreateContext(r.outlet);this.activateChildRoutes(t,n,s.children)}else this.activateChildRoutes(t,n,i);else if(r.component){const s=i.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),Kd(a.route.value),this.activateChildRoutes(t,null,s.children)}else{const a=Lo(r.snapshot),l=a?.get(Qr)??null;s.attachRef=null,s.route=r,s.resolver=l,s.injector=a,s.outlet&&s.outlet.activateWith(r,s.injector),this.activateChildRoutes(t,null,s.children)}}else this.activateChildRoutes(t,null,i)}}class wA{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class Ba{constructor(t,n){this.component=t,this.route=n}}function jR(e,t,n){const i=e._root;return Oo(i,t?t._root:null,n,[i.value])}function gr(e,t){const n=Symbol(),i=t.get(e,n);return i===n?"function"!=typeof e||function O_(e){return null!==qo(e)}(e)?t.get(e):e:i}function Oo(e,t,n,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=pr(t);return e.children.forEach(s=>{(function UR(e,t,n,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=e.value,s=t?t.value:null,a=n?n.getContext(e.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){const l=function HR(e,t,n){if("function"==typeof n)return n(e,t);switch(n){case"pathParamsChange":return!wi(e.url,t.url);case"pathParamsOrQueryParamsChange":return!wi(e.url,t.url)||!on(e.queryParams,t.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Zd(e,t)||!on(e.queryParams,t.queryParams);default:return!Zd(e,t)}}(s,o,o.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new wA(i)):(o.data=s.data,o._resolvedData=s._resolvedData),Oo(e,t,o.component?a?a.children:null:n,i,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new Ba(a.outlet.component,s))}else s&&Vo(t,a,r),r.canActivateChecks.push(new wA(i)),Oo(e,null,o.component?a?a.children:null:n,i,r)})(s,o[s.value.outlet],n,i.concat([s.value]),r),delete o[s.value.outlet]}),Be(o,(s,a)=>Vo(s,n.getContext(a),r)),r}function Vo(e,t,n){const i=pr(e),r=e.value;Be(i,(o,s)=>{Vo(o,r.component?t?t.children.getContext(s):null:t,n)}),n.canDeactivateChecks.push(new Ba(r.component&&t&&t.outlet&&t.outlet.isActivated?t.outlet.component:null,r))}function jo(e){return"function"==typeof e}function nh(e){return e instanceof ka||"EmptyError"===e?.name}const Ua=Symbol("INITIAL_VALUE");function mr(){return rn(e=>T0(e.map(t=>t.pipe(So(1),function L2(...e){const t=_r(e);return Fe((n,i)=>{(t?Fd(e,n,t):Fd(e,n)).subscribe(i)})}(Ua)))).pipe(K(t=>{for(const n of t)if(!0!==n){if(n===Ua)return Ua;if(!1===n||n instanceof yi)return n}return!0}),Bn(t=>t!==Ua),So(1)))}function vA(e){return function n_(...e){return Sh(e)}(Je(t=>{if(vi(t))throw dA(0,t)}),K(t=>!0===t))}const ih={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function AA(e,t,n,i,r){const o=rh(e,t,n);return o.matched?function oP(e,t,n,i){const r=t.canMatch;return r&&0!==r.length?k(r.map(s=>{const a=gr(s,e);return $n(function JR(e){return e&&jo(e.canMatch)}(a)?a.canMatch(t,n):e.runInContext(()=>a(t,n)))})).pipe(mr(),vA()):k(!0)}(i=mA(t,i),t,n).pipe(K(s=>!0===s?o:{...ih})):k(o)}function rh(e,t,n){if(""===t.path)return"full"===t.pathMatch&&(e.hasChildren()||n.length>0)?{...ih}:{matched:!0,consumedSegments:[],remainingSegments:n,parameters:{},positionalParamSegments:{}};const r=(t.matcher||H2)(n,e,t);if(!r)return{...ih};const o={};Be(r.posParams,(a,l)=>{o[l]=a.path});const s=r.consumed.length>0?{...o,...r.consumed[r.consumed.length-1].parameters}:o;return{matched:!0,consumedSegments:r.consumed,remainingSegments:n.slice(r.consumed.length),parameters:s,positionalParamSegments:r.posParams??{}}}function Ha(e,t,n,i,r="corrected"){if(n.length>0&&function lP(e,t,n){return n.some(i=>$a(e,t,i)&&It(i)!==W)}(e,n,i)){const s=new q(t,function aP(e,t,n,i){const r={};r[W]=i,i._sourceSegment=e,i._segmentIndexShift=t.length;for(const o of n)if(""===o.path&&It(o)!==W){const s=new q([],{});s._sourceSegment=e,s._segmentIndexShift=t.length,r[It(o)]=s}return r}(e,t,i,new q(n,e.children)));return s._sourceSegment=e,s._segmentIndexShift=t.length,{segmentGroup:s,slicedSegments:[]}}if(0===n.length&&function uP(e,t,n){return n.some(i=>$a(e,t,i))}(e,n,i)){const s=new q(e.segments,function sP(e,t,n,i,r,o){const s={};for(const a of i)if($a(e,n,a)&&!r[It(a)]){const l=new q([],{});l._sourceSegment=e,l._segmentIndexShift="legacy"===o?e.segments.length:t.length,s[It(a)]=l}return{...r,...s}}(e,t,n,i,e.children,r));return s._sourceSegment=e,s._segmentIndexShift=t.length,{segmentGroup:s,slicedSegments:n}}const o=new q(e.segments,e.children);return o._sourceSegment=e,o._segmentIndexShift=t.length,{segmentGroup:o,slicedSegments:n}}function $a(e,t,n){return(!(e.hasChildren()||t.length>0)||"full"!==n.pathMatch)&&""===n.path}function _A(e,t,n,i){return!!(It(e)===i||i!==W&&$a(t,n,e))&&("**"===e.path||rh(t,e,n).matched)}function bA(e,t,n){return 0===t.length&&!e.children[n]}const Ga=!1;class za{constructor(t){this.segmentGroup=t||null}}class DA{constructor(t){this.urlTree=t}}function Bo(e){return Eo(new za(e))}function CA(e){return Eo(new DA(e))}class fP{constructor(t,n,i,r,o){this.injector=t,this.configLoader=n,this.urlSerializer=i,this.urlTree=r,this.config=o,this.allowRedirects=!0}apply(){const t=Ha(this.urlTree.root,[],[],this.config).segmentGroup,n=new q(t.segments,t.children);return this.expandSegmentGroup(this.injector,this.config,n,W).pipe(K(o=>this.createUrlTree(La(o),this.urlTree.queryParams,this.urlTree.fragment))).pipe(Hn(o=>{if(o instanceof DA)return this.allowRedirects=!1,this.match(o.urlTree);throw o instanceof za?this.noMatchError(o):o}))}match(t){return this.expandSegmentGroup(this.injector,this.config,t.root,W).pipe(K(r=>this.createUrlTree(La(r),t.queryParams,t.fragment))).pipe(Hn(r=>{throw r instanceof za?this.noMatchError(r):r}))}noMatchError(t){return new D(4002,Ga)}createUrlTree(t,n,i){const r=Hd(t);return new yi(r,n,i)}expandSegmentGroup(t,n,i,r){return 0===i.segments.length&&i.hasChildren()?this.expandChildren(t,n,i).pipe(K(o=>new q([],o))):this.expandSegment(t,i,n,i.segments,r,!0)}expandChildren(t,n,i){const r=[];for(const o of Object.keys(i.children))"primary"===o?r.unshift(o):r.push(o);return Ce(r).pipe(mi(o=>{const s=i.children[o],a=yA(n,o);return this.expandSegmentGroup(t,a,s,o).pipe(K(l=>({segment:l,outlet:o})))}),L0((o,s)=>(o[s.outlet]=s.segment,o),{}),O0())}expandSegment(t,n,i,r,o,s){return Ce(i).pipe(mi(a=>this.expandSegmentAgainstRoute(t,n,i,a,r,o,s).pipe(Hn(u=>{if(u instanceof za)return k(null);throw u}))),Un(a=>!!a),Hn((a,l)=>{if(nh(a))return bA(n,r,o)?k(new q([],{})):Bo(n);throw a}))}expandSegmentAgainstRoute(t,n,i,r,o,s,a){return _A(r,n,o,s)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,n,r,o,s):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,n,i,r,o,s):Bo(n):Bo(n)}expandSegmentAgainstRouteUsingRedirect(t,n,i,r,o,s){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,i,r,s):this.expandRegularSegmentAgainstRouteUsingRedirect(t,n,i,r,o,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,i,r){const o=this.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?CA(o):this.lineralizeSegments(i,o).pipe(Ve(s=>{const a=new q(s,{});return this.expandSegment(t,a,n,s,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,n,i,r,o,s){const{matched:a,consumedSegments:l,remainingSegments:u,positionalParamSegments:c}=rh(n,r,o);if(!a)return Bo(n);const d=this.applyRedirectCommands(l,r.redirectTo,c);return r.redirectTo.startsWith("/")?CA(d):this.lineralizeSegments(r,d).pipe(Ve(h=>this.expandSegment(t,n,i,h.concat(u),s,!1)))}matchSegmentAgainstRoute(t,n,i,r,o){return"**"===i.path?(t=mA(i,t),i.loadChildren?(i._loadedRoutes?k({routes:i._loadedRoutes,injector:i._loadedInjector}):this.configLoader.loadChildren(t,i)).pipe(K(a=>(i._loadedRoutes=a.routes,i._loadedInjector=a.injector,new q(r,{})))):k(new q(r,{}))):AA(n,i,r,t).pipe(rn(({matched:s,consumedSegments:a,remainingSegments:l})=>s?this.getChildConfig(t=i._injector??t,i,r).pipe(Ve(c=>{const d=c.injector??t,h=c.routes,{segmentGroup:f,slicedSegments:p}=Ha(n,a,l,h),g=new q(f.segments,f.children);if(0===p.length&&g.hasChildren())return this.expandChildren(d,h,g).pipe(K(y=>new q(a,y)));if(0===h.length&&0===p.length)return k(new q(a,{}));const m=It(i)===o;return this.expandSegment(d,g,h,p,m?W:o,!0).pipe(K(M=>new q(a.concat(M.segments),M.children)))})):Bo(n)))}getChildConfig(t,n,i){return n.children?k({routes:n.children,injector:t}):n.loadChildren?void 0!==n._loadedRoutes?k({routes:n._loadedRoutes,injector:n._loadedInjector}):function rP(e,t,n,i){const r=t.canLoad;return void 0===r||0===r.length?k(!0):k(r.map(s=>{const a=gr(s,e);return $n(function GR(e){return e&&jo(e.canLoad)}(a)?a.canLoad(t,n):e.runInContext(()=>a(t,n)))})).pipe(mr(),vA())}(t,n,i).pipe(Ve(r=>r?this.configLoader.loadChildren(t,n).pipe(Je(o=>{n._loadedRoutes=o.routes,n._loadedInjector=o.injector})):function dP(e){return Eo(hA(Ga,3))}())):k({routes:[],injector:t})}lineralizeSegments(t,n){let i=[],r=n.root;for(;;){if(i=i.concat(r.segments),0===r.numberOfChildren)return k(i);if(r.numberOfChildren>1||!r.children[W])return Eo(new D(4e3,Ga));r=r.children[W]}}applyRedirectCommands(t,n,i){return this.applyRedirectCreateUrlTree(n,this.urlSerializer.parse(n),t,i)}applyRedirectCreateUrlTree(t,n,i,r){const o=this.createSegmentGroup(t,n.root,i,r);return new yi(o,this.createQueryParams(n.queryParams,this.urlTree.queryParams),n.fragment)}createQueryParams(t,n){const i={};return Be(t,(r,o)=>{if("string"==typeof r&&r.startsWith(":")){const a=r.substring(1);i[o]=n[a]}else i[o]=r}),i}createSegmentGroup(t,n,i,r){const o=this.createSegments(t,n.segments,i,r);let s={};return Be(n.children,(a,l)=>{s[l]=this.createSegmentGroup(t,a,i,r)}),new q(o,s)}createSegments(t,n,i,r){return n.map(o=>o.path.startsWith(":")?this.findPosParam(t,o,r):this.findOrReturn(o,i))}findPosParam(t,n,i){const r=i[n.path.substring(1)];if(!r)throw new D(4001,Ga);return r}findOrReturn(t,n){let i=0;for(const r of n){if(r.path===t.path)return n.splice(i),r;i++}return t}}class gP{}class wP{constructor(t,n,i,r,o,s,a,l){this.injector=t,this.rootComponentType=n,this.config=i,this.urlTree=r,this.url=o,this.paramsInheritanceStrategy=s,this.relativeLinkResolution=a,this.urlSerializer=l}recognize(){const t=Ha(this.urlTree.root,[],[],this.config.filter(n=>void 0===n.redirectTo),this.relativeLinkResolution).segmentGroup;return this.processSegmentGroup(this.injector,this.config,t,W).pipe(K(n=>{if(null===n)return null;const i=new Va([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},W,this.rootComponentType,null,this.urlTree.root,-1,{}),r=new En(i,n),o=new uA(this.url,r);return this.inheritParamsAndData(o._root),o}))}inheritParamsAndData(t){const n=t.value,i=lA(n,this.paramsInheritanceStrategy);n.params=Object.freeze(i.params),n.data=Object.freeze(i.data),t.children.forEach(r=>this.inheritParamsAndData(r))}processSegmentGroup(t,n,i,r){return 0===i.segments.length&&i.hasChildren()?this.processChildren(t,n,i):this.processSegment(t,n,i,i.segments,r)}processChildren(t,n,i){return Ce(Object.keys(i.children)).pipe(mi(r=>{const o=i.children[r],s=yA(n,r);return this.processSegmentGroup(t,s,o,r)}),L0((r,o)=>r&&o?(r.push(...o),r):null),function j2(e,t=!1){return Fe((n,i)=>{let r=0;n.subscribe(ke(i,o=>{const s=e(o,r++);(s||t)&&i.next(o),!s&&i.complete()}))})}(r=>null!==r),xa(null),O0(),K(r=>{if(null===r)return null;const o=MA(r);return function vP(e){e.sort((t,n)=>t.value.outlet===W?-1:n.value.outlet===W?1:t.value.outlet.localeCompare(n.value.outlet))}(o),o}))}processSegment(t,n,i,r,o){return Ce(n).pipe(mi(s=>this.processSegmentAgainstRoute(s._injector??t,s,i,r,o)),Un(s=>!!s),Hn(s=>{if(nh(s))return bA(i,r,o)?k([]):k(null);throw s}))}processSegmentAgainstRoute(t,n,i,r,o){if(n.redirectTo||!_A(n,i,r,o))return k(null);let s;if("**"===n.path){const a=r.length>0?B0(r).parameters:{},l=SA(i)+r.length;s=k({snapshot:new Va(r,a,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,kA(n),It(n),n.component??n._loadedComponent??null,n,EA(i),l,xA(n),l),consumedSegments:[],remainingSegments:[]})}else s=AA(i,n,r,t).pipe(K(({matched:a,consumedSegments:l,remainingSegments:u,parameters:c})=>{if(!a)return null;const d=SA(i)+l.length;return{snapshot:new Va(l,c,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,kA(n),It(n),n.component??n._loadedComponent??null,n,EA(i),d,xA(n),d),consumedSegments:l,remainingSegments:u}}));return s.pipe(rn(a=>{if(null===a)return k(null);const{snapshot:l,consumedSegments:u,remainingSegments:c}=a;t=n._injector??t;const d=n._loadedInjector??t,h=function AP(e){return e.children?e.children:e.loadChildren?e._loadedRoutes:[]}(n),{segmentGroup:f,slicedSegments:p}=Ha(i,u,c,h.filter(m=>void 0===m.redirectTo),this.relativeLinkResolution);if(0===p.length&&f.hasChildren())return this.processChildren(d,h,f).pipe(K(m=>null===m?null:[new En(l,m)]));if(0===h.length&&0===p.length)return k([new En(l,[])]);const g=It(n)===o;return this.processSegment(d,h,f,p,g?W:o).pipe(K(m=>null===m?null:[new En(l,m)]))}))}}function _P(e){const t=e.value.routeConfig;return t&&""===t.path&&void 0===t.redirectTo}function MA(e){const t=[],n=new Set;for(const i of e){if(!_P(i)){t.push(i);continue}const r=t.find(o=>i.value.routeConfig===o.value.routeConfig);void 0!==r?(r.children.push(...i.children),n.add(r)):t.push(i)}for(const i of n){const r=MA(i.children);t.push(new En(i.value,r))}return t.filter(i=>!n.has(i))}function EA(e){let t=e;for(;t._sourceSegment;)t=t._sourceSegment;return t}function SA(e){let t=e,n=t._segmentIndexShift??0;for(;t._sourceSegment;)t=t._sourceSegment,n+=t._segmentIndexShift??0;return n-1}function kA(e){return e.data||{}}function xA(e){return e.resolve||{}}function TA(e){return"string"==typeof e.title||null===e.title}function oh(e){return rn(t=>{const n=e(t);return n?Ce(n).pipe(K(()=>t)):k(t)})}let RA=(()=>{class e{buildTitle(n){let i,r=n.root;for(;void 0!==r;)i=this.getResolvedTitleForRoute(r)??i,r=r.children.find(o=>o.outlet===W);return i}getResolvedTitleForRoute(n){return n.data[Io]}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:function(){return _e(PA)},providedIn:"root"}),e})(),PA=(()=>{class e extends RA{constructor(n){super(),this.title=n}updateTitle(n){const i=this.buildTitle(n);void 0!==i&&this.title.setTitle(i)}}return e.\u0275fac=function(n){return new(n||e)(x(vv))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();class kP{}class TP extends class xP{shouldDetach(t){return!1}store(t,n){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,n){return t.routeConfig===n.routeConfig}}{}const qa=new P("",{providedIn:"root",factory:()=>({})}),sh=new P("ROUTES");let ah=(()=>{class e{constructor(n,i){this.injector=n,this.compiler=i,this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap}loadComponent(n){if(this.componentLoaders.get(n))return this.componentLoaders.get(n);if(n._loadedComponent)return k(n._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(n);const i=$n(n.loadComponent()).pipe(Je(o=>{this.onLoadEndListener&&this.onLoadEndListener(n),n._loadedComponent=o}),Vd(()=>{this.componentLoaders.delete(n)})),r=new N0(i,()=>new zt).pipe(Ld());return this.componentLoaders.set(n,r),r}loadChildren(n,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return k({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);const o=this.loadModuleFactoryOrRoutes(i.loadChildren).pipe(K(a=>{this.onLoadEndListener&&this.onLoadEndListener(i);let l,u,c=!1;Array.isArray(a)?u=a:(l=a.create(n).injector,u=j0(l.get(sh,[],R.Self|R.Optional)));return{routes:u.map(th),injector:l}}),Vd(()=>{this.childrenLoaders.delete(i)})),s=new N0(o,()=>new zt).pipe(Ld());return this.childrenLoaders.set(i,s),s}loadModuleFactoryOrRoutes(n){return $n(n()).pipe(Ve(i=>i instanceof my||Array.isArray(i)?k(i):Ce(this.compiler.compileModuleAsync(i))))}}return e.\u0275fac=function(n){return new(n||e)(x(Ct),x(Sc))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();class PP{}class NP{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,n){return t}}function FP(e){throw e}function LP(e,t,n){return t.parse("/")}const OP={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},VP={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function FA(){const e=_e(W0),t=_e(Fo),n=_e(Hc),i=_e(Ct),r=_e(Sc),o=_e(sh,{optional:!0})??[],s=_e(qa,{optional:!0})??{},a=_e(PA),l=_e(RA,{optional:!0}),u=_e(PP,{optional:!0}),c=_e(kP,{optional:!0}),d=new Oe(null,e,t,n,i,r,j0(o));return u&&(d.urlHandlingStrategy=u),c&&(d.routeReuseStrategy=c),d.titleStrategy=l??a,function jP(e,t){e.errorHandler&&(t.errorHandler=e.errorHandler),e.malformedUriErrorHandler&&(t.malformedUriErrorHandler=e.malformedUriErrorHandler),e.onSameUrlNavigation&&(t.onSameUrlNavigation=e.onSameUrlNavigation),e.paramsInheritanceStrategy&&(t.paramsInheritanceStrategy=e.paramsInheritanceStrategy),e.relativeLinkResolution&&(t.relativeLinkResolution=e.relativeLinkResolution),e.urlUpdateStrategy&&(t.urlUpdateStrategy=e.urlUpdateStrategy),e.canceledNavigationResolution&&(t.canceledNavigationResolution=e.canceledNavigationResolution)}(s,d),d}let Oe=(()=>{class e{constructor(n,i,r,o,s,a,l){this.rootComponentType=n,this.urlSerializer=i,this.rootContexts=r,this.location=o,this.config=l,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.navigationId=0,this.currentPageId=0,this.isNgZoneEnabled=!1,this.events=new zt,this.errorHandler=FP,this.malformedUriErrorHandler=LP,this.navigated=!1,this.lastSuccessfulId=-1,this.afterPreactivation=()=>k(void 0),this.urlHandlingStrategy=new NP,this.routeReuseStrategy=new TP,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.canceledNavigationResolution="replace",this.configLoader=s.get(ah),this.configLoader.onLoadEndListener=h=>this.triggerEvent(new AR(h)),this.configLoader.onLoadStartListener=h=>this.triggerEvent(new vR(h)),this.ngModule=s.get(di),this.console=s.get(vI);const d=s.get(Pe);this.isNgZoneEnabled=d instanceof Pe&&Pe.isInAngularZone(),this.resetConfig(l),this.currentUrlTree=function G2(){return new yi(new q([],{}),{},null)}(),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=aA(this.currentUrlTree,this.rootComponentType),this.transitions=new Gt({id:0,targetPageId:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}get browserPageId(){return this.location.getState()?.\u0275routerPageId}setupNavigations(n){const i=this.events;return n.pipe(Bn(r=>0!==r.id),K(r=>({...r,extractedUrl:this.urlHandlingStrategy.extract(r.rawUrl)})),rn(r=>{let o=!1,s=!1;return k(r).pipe(Je(a=>{this.currentNavigation={id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),rn(a=>{const l=this.browserUrlTree.toString(),u=!this.navigated||a.extractedUrl.toString()!==l||l!==this.currentUrlTree.toString();if(("reload"===this.onSameUrlNavigation||u)&&this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return LA(a.source)&&(this.browserUrlTree=a.extractedUrl),k(a).pipe(rn(d=>{const h=this.transitions.getValue();return i.next(new Wd(d.id,this.serializeUrl(d.extractedUrl),d.source,d.restoredState)),h!==this.transitions.getValue()?an:Promise.resolve(d)}),function pP(e,t,n,i){return rn(r=>function hP(e,t,n,i,r){return new fP(e,t,n,i,r).apply()}(e,t,n,r.extractedUrl,i).pipe(K(o=>({...r,urlAfterRedirects:o}))))}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),Je(d=>{this.currentNavigation={...this.currentNavigation,finalUrl:d.urlAfterRedirects},r.urlAfterRedirects=d.urlAfterRedirects}),function DP(e,t,n,i,r,o){return Ve(s=>function yP(e,t,n,i,r,o,s="emptyOnly",a="legacy"){return new wP(e,t,n,i,r,s,a,o).recognize().pipe(rn(l=>null===l?function mP(e){return new De(t=>t.error(e))}(new gP):k(l)))}(e,t,n,s.urlAfterRedirects,i.serialize(s.urlAfterRedirects),i,r,o).pipe(K(a=>({...s,targetSnapshot:a}))))}(this.ngModule.injector,this.rootComponentType,this.config,this.urlSerializer,this.paramsInheritanceStrategy,this.relativeLinkResolution),Je(d=>{if(r.targetSnapshot=d.targetSnapshot,"eager"===this.urlUpdateStrategy){if(!d.extras.skipLocationChange){const f=this.urlHandlingStrategy.merge(d.urlAfterRedirects,d.rawUrl);this.setBrowserUrl(f,d)}this.browserUrlTree=d.urlAfterRedirects}const h=new iA(d.id,this.serializeUrl(d.extractedUrl),this.serializeUrl(d.urlAfterRedirects),d.targetSnapshot);i.next(h)}));if(u&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:h,extractedUrl:f,source:p,restoredState:g,extras:m}=a,A=new Wd(h,this.serializeUrl(f),p,g);i.next(A);const M=aA(f,this.rootComponentType).snapshot;return k(r={...a,targetSnapshot:M,urlAfterRedirects:f,extras:{...m,skipLocationChange:!1,replaceUrl:!1}})}return this.rawUrlTree=a.rawUrl,a.resolve(null),an}),Je(a=>{const l=new gR(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot);this.triggerEvent(l)}),K(a=>r={...a,guards:jR(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),function KR(e,t){return Ve(n=>{const{targetSnapshot:i,currentSnapshot:r,guards:{canActivateChecks:o,canDeactivateChecks:s}}=n;return 0===s.length&&0===o.length?k({...n,guardsResult:!0}):function ZR(e,t,n,i){return Ce(e).pipe(Ve(r=>function iP(e,t,n,i,r){const o=t&&t.routeConfig?t.routeConfig.canDeactivate:null;return o&&0!==o.length?k(o.map(a=>{const l=Lo(t)??r,u=gr(a,l);return $n(function qR(e){return e&&jo(e.canDeactivate)}(u)?u.canDeactivate(e,t,n,i):l.runInContext(()=>u(e,t,n,i))).pipe(Un())})).pipe(mr()):k(!0)}(r.component,r.route,n,t,i)),Un(r=>!0!==r,!0))}(s,i,r,e).pipe(Ve(a=>a&&function $R(e){return"boolean"==typeof e}(a)?function YR(e,t,n,i){return Ce(t).pipe(mi(r=>Fd(function eP(e,t){return null!==e&&t&&t(new _R(e)),k(!0)}(r.route.parent,i),function XR(e,t){return null!==e&&t&&t(new DR(e)),k(!0)}(r.route,i),function nP(e,t,n){const i=t[t.length-1],o=t.slice(0,t.length-1).reverse().map(s=>function BR(e){const t=e.routeConfig?e.routeConfig.canActivateChild:null;return t&&0!==t.length?{node:e,guards:t}:null}(s)).filter(s=>null!==s).map(s=>P0(()=>k(s.guards.map(l=>{const u=Lo(s.node)??n,c=gr(l,u);return $n(function WR(e){return e&&jo(e.canActivateChild)}(c)?c.canActivateChild(i,e):u.runInContext(()=>c(i,e))).pipe(Un())})).pipe(mr())));return k(o).pipe(mr())}(e,r.path,n),function tP(e,t,n){const i=t.routeConfig?t.routeConfig.canActivate:null;if(!i||0===i.length)return k(!0);const r=i.map(o=>P0(()=>{const s=Lo(t)??n,a=gr(o,s);return $n(function zR(e){return e&&jo(e.canActivate)}(a)?a.canActivate(t,e):s.runInContext(()=>a(t,e))).pipe(Un())}));return k(r).pipe(mr())}(e,r.route,n))),Un(r=>!0!==r,!0))}(i,o,e,t):k(a)),K(a=>({...n,guardsResult:a})))})}(this.ngModule.injector,a=>this.triggerEvent(a)),Je(a=>{if(r.guardsResult=a.guardsResult,vi(a.guardsResult))throw dA(0,a.guardsResult);const l=new mR(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.triggerEvent(l)}),Bn(a=>!!a.guardsResult||(this.restoreHistory(a),this.cancelNavigationTransition(a,"",3),!1)),oh(a=>{if(a.guards.canActivateChecks.length)return k(a).pipe(Je(l=>{const u=new yR(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(u)}),rn(l=>{let u=!1;return k(l).pipe(function CP(e,t){return Ve(n=>{const{targetSnapshot:i,guards:{canActivateChecks:r}}=n;if(!r.length)return k(n);let o=0;return Ce(r).pipe(mi(s=>function MP(e,t,n,i){const r=e.routeConfig,o=e._resolve;return void 0!==r?.title&&!TA(r)&&(o[Io]=r.title),function EP(e,t,n,i){const r=function SP(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===r.length)return k({});const o={};return Ce(r).pipe(Ve(s=>function IP(e,t,n,i){const r=Lo(t)??i,o=gr(e,r);return $n(o.resolve?o.resolve(t,n):r.runInContext(()=>o(t,n)))}(e[s],t,n,i).pipe(Un(),Je(a=>{o[s]=a}))),Od(1),function B2(e){return K(()=>e)}(o),Hn(s=>nh(s)?an:Eo(s)))}(o,e,t,i).pipe(K(s=>(e._resolvedData=s,e.data=lA(e,n).resolve,r&&TA(r)&&(e.data[Io]=r.title),null)))}(s.route,i,e,t)),Je(()=>o++),Od(1),Ve(s=>o===r.length?k(n):an))})}(this.paramsInheritanceStrategy,this.ngModule.injector),Je({next:()=>u=!0,complete:()=>{u||(this.restoreHistory(l),this.cancelNavigationTransition(l,"",2))}}))}),Je(l=>{const u=new wR(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(u)}))}),oh(a=>{const l=u=>{const c=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&c.push(this.configLoader.loadComponent(u.routeConfig).pipe(Je(d=>{u.component=d}),K(()=>{})));for(const d of u.children)c.push(...l(d));return c};return T0(l(a.targetSnapshot.root)).pipe(xa(),So(1))}),oh(()=>this.afterPreactivation()),K(a=>{const l=function IR(e,t,n){const i=No(e,t._root,n?n._root:void 0);return new sA(i,t)}(this.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return r={...a,targetRouterState:l}}),Je(a=>{this.currentUrlTree=a.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(a.urlAfterRedirects,a.rawUrl),this.routerState=a.targetRouterState,"deferred"===this.urlUpdateStrategy&&(a.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,a),this.browserUrlTree=a.urlAfterRedirects)}),((e,t,n)=>K(i=>(new VR(t,i.targetRouterState,i.currentRouterState,n).activate(e),i)))(this.rootContexts,this.routeReuseStrategy,a=>this.triggerEvent(a)),Je({next(){o=!0},complete(){o=!0}}),Vd(()=>{o||s||this.cancelNavigationTransition(r,"",1),this.currentNavigation?.id===r.id&&(this.currentNavigation=null)}),Hn(a=>{if(s=!0,pA(a)){fA(a)||(this.navigated=!0,this.restoreHistory(r,!0));const l=new Oa(r.id,this.serializeUrl(r.extractedUrl),a.message,a.cancellationCode);if(i.next(l),fA(a)){const u=this.urlHandlingStrategy.merge(a.url,this.rawUrlTree),c={skipLocationChange:r.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||LA(r.source)};this.scheduleNavigation(u,"imperative",null,c,{resolve:r.resolve,reject:r.reject,promise:r.promise})}else r.resolve(!1)}else{this.restoreHistory(r,!0);const l=new nA(r.id,this.serializeUrl(r.extractedUrl),a,r.targetSnapshot??void 0);i.next(l);try{r.resolve(this.errorHandler(a))}catch(u){r.reject(u)}}return an}))}))}resetRootComponentType(n){this.rootComponentType=n,this.routerState.root.component=this.rootComponentType}setTransition(n){this.transitions.next({...this.transitions.value,...n})}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(n=>{const i="popstate"===n.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{const r={replaceUrl:!0},o=n.state?.navigationId?n.state:null;if(o){const a={...o};delete a.navigationId,delete a.\u0275routerPageId,0!==Object.keys(a).length&&(r.state=a)}const s=this.parseUrl(n.url);this.scheduleNavigation(s,i,o,r)},0)}))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(n){this.events.next(n)}resetConfig(n){this.config=n.map(th),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(n,i={}){const{relativeTo:r,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:l}=i,u=r||this.routerState.root,c=l?this.currentUrlTree.fragment:s;let d=null;switch(a){case"merge":d={...this.currentUrlTree.queryParams,...o};break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=o||null}return null!==d&&(d=this.removeEmptyProps(d)),uR(u,this.currentUrlTree,n,d,c??null)}navigateByUrl(n,i={skipLocationChange:!1}){const r=vi(n)?n:this.parseUrl(n),o=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(o,"imperative",null,i)}navigate(n,i={skipLocationChange:!1}){return function BP(e){for(let t=0;t{const o=n[r];return null!=o&&(i[r]=o),i},{})}processNavigations(){this.navigations.subscribe(n=>{this.navigated=!0,this.lastSuccessfulId=n.id,this.currentPageId=n.targetPageId,this.events.next(new Ai(n.id,this.serializeUrl(n.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,this.titleStrategy?.updateTitle(this.routerState.snapshot),n.resolve(!0)},n=>{this.console.warn(`Unhandled Navigation Error: ${n}`)})}scheduleNavigation(n,i,r,o,s){if(this.disposed)return Promise.resolve(!1);let a,l,u;s?(a=s.resolve,l=s.reject,u=s.promise):u=new Promise((h,f)=>{a=h,l=f});const c=++this.navigationId;let d;return"computed"===this.canceledNavigationResolution?(0===this.currentPageId&&(r=this.location.getState()),d=r&&r.\u0275routerPageId?r.\u0275routerPageId:o.replaceUrl||o.skipLocationChange?this.browserPageId??0:(this.browserPageId??0)+1):d=0,this.setTransition({id:c,targetPageId:d,source:i,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:n,extras:o,resolve:a,reject:l,promise:u,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),u.catch(h=>Promise.reject(h))}setBrowserUrl(n,i){const r=this.urlSerializer.serialize(n),o={...i.extras.state,...this.generateNgRouterState(i.id,i.targetPageId)};this.location.isCurrentPathEqualTo(r)||i.extras.replaceUrl?this.location.replaceState(r,"",o):this.location.go(r,"",o)}restoreHistory(n,i=!1){if("computed"===this.canceledNavigationResolution){const r=this.currentPageId-n.targetPageId;"popstate"!==n.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==this.currentNavigation?.finalUrl||0===r?this.currentUrlTree===this.currentNavigation?.finalUrl&&0===r&&(this.resetState(n),this.browserUrlTree=n.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(r)}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(n),this.resetUrlToCurrentUrlTree())}resetState(n){this.routerState=n.currentRouterState,this.currentUrlTree=n.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,n.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}cancelNavigationTransition(n,i,r){const o=new Oa(n.id,this.serializeUrl(n.extractedUrl),i,r);this.triggerEvent(o),n.resolve(!1)}generateNgRouterState(n,i){return"computed"===this.canceledNavigationResolution?{navigationId:n,\u0275routerPageId:i}:{navigationId:n}}}return e.\u0275fac=function(n){Su()},e.\u0275prov=H({token:e,factory:function(){return FA()},providedIn:"root"}),e})();function LA(e){return"imperative"!==e}class OA{}let $P=(()=>{class e{constructor(n,i,r,o,s){this.router=n,this.injector=r,this.preloadingStrategy=o,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(Bn(n=>n instanceof Ai),mi(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(n,i){const r=[];for(const o of i){o.providers&&!o._injector&&(o._injector=Gs(o.providers,n,`Route: ${o.path}`));const s=o._injector??n,a=o._loadedInjector??s;o.loadChildren&&!o._loadedRoutes&&void 0===o.canLoad||o.loadComponent&&!o._loadedComponent?r.push(this.preloadConfig(s,o)):(o.children||o._loadedRoutes)&&r.push(this.processRoutes(a,o.children??o._loadedRoutes))}return Ce(r).pipe(bi())}preloadConfig(n,i){return this.preloadingStrategy.preload(i,()=>{let r;r=i.loadChildren&&void 0===i.canLoad?this.loader.loadChildren(n,i):k(null);const o=r.pipe(Ve(s=>null===s?k(void 0):(i._loadedRoutes=s.routes,i._loadedInjector=s.injector,this.processRoutes(s.injector??n,s.routes))));return i.loadComponent&&!i._loadedComponent?Ce([o,this.loader.loadComponent(i)]).pipe(bi()):o})}}return e.\u0275fac=function(n){return new(n||e)(x(Oe),x(Sc),x(Rn),x(OA),x(ah))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const ch=new P("");let VA=(()=>{class e{constructor(n,i,r={}){this.router=n,this.viewportScroller=i,this.options=r,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},r.scrollPositionRestoration=r.scrollPositionRestoration||"disabled",r.anchorScrolling=r.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(n=>{n instanceof Wd?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=n.navigationTrigger,this.restoredId=n.restoredState?n.restoredState.navigationId:0):n instanceof Ai&&(this.lastId=n.id,this.scheduleScrollEvent(n,this.router.parseUrl(n.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(n=>{n instanceof rA&&(n.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(n.position):n.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(n.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(n,i){this.router.triggerEvent(new rA(n,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return e.\u0275fac=function(n){Su()},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();function yr(e,t){return{\u0275kind:e,\u0275providers:t}}function dh(e){return[{provide:sh,multi:!0,useValue:e}]}function BA(){const e=_e(Ct);return t=>{const n=e.get(Zs);if(t!==n.components[0])return;const i=e.get(Oe),r=e.get(UA);1===e.get(hh)&&i.initialNavigation(),e.get(HA,null,R.Optional)?.setUpPreloading(),e.get(ch,null,R.Optional)?.init(),i.resetRootComponentType(n.componentTypes[0]),r.closed||(r.next(),r.unsubscribe())}}const UA=new P("",{factory:()=>new zt}),hh=new P("",{providedIn:"root",factory:()=>1});const HA=new P("");function qP(e){return yr(0,[{provide:HA,useExisting:$P},{provide:OA,useExisting:e}])}const $A=new P("ROUTER_FORROOT_GUARD"),JP=[Hc,{provide:W0,useClass:Bd},{provide:Oe,useFactory:FA},Fo,{provide:Gn,useFactory:function jA(e){return e.routerState.root},deps:[Oe]},ah];function QP(){return new hw("Router",Oe)}let GA=(()=>{class e{constructor(n){}static forRoot(n,i){return{ngModule:e,providers:[JP,[],dh(n),{provide:$A,useFactory:XP,deps:[[Oe,new jr,new Br]]},{provide:qa,useValue:i||{}},i?.useHash?{provide:fi,useClass:ak}:{provide:fi,useClass:Ow},{provide:ch,useFactory:()=>{const e=_e(Oe),t=_e(Sx),n=_e(qa);return n.scrollOffset&&t.setOffset(n.scrollOffset),new VA(e,t,n)}},i?.preloadingStrategy?qP(i.preloadingStrategy).\u0275providers:[],{provide:hw,multi:!0,useFactory:QP},i?.initialNavigation?eN(i):[],[{provide:zA,useFactory:BA},{provide:ow,multi:!0,useExisting:zA}]]}}static forChild(n){return{ngModule:e,providers:[dh(n)]}}}return e.\u0275fac=function(n){return new(n||e)(x($A,8))},e.\u0275mod=qt({type:e}),e.\u0275inj=xt({imports:[Xd]}),e})();function XP(e){return"guarded"}function eN(e){return["disabled"===e.initialNavigation?yr(3,[{provide:Js,multi:!0,useFactory:()=>{const t=_e(Oe);return()=>{t.setUpLocationChangeListener()}}},{provide:hh,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?yr(2,[{provide:hh,useValue:0},{provide:Js,multi:!0,deps:[Ct],useFactory:t=>{const n=t.get(ok,Promise.resolve());let i=!1;return()=>n.then(()=>new Promise(o=>{const s=t.get(Oe),a=t.get(UA);(function r(o){t.get(Oe).events.pipe(Bn(a=>a instanceof Ai||a instanceof Oa||a instanceof nA),K(a=>a instanceof Ai||a instanceof Oa&&(0===a.code||1===a.code)&&null),Bn(a=>null!==a),So(1)).subscribe(()=>{o()})})(()=>{o(!0),i=!0}),s.afterPreactivation=()=>(o(!0),i||a.closed?k(void 0):a),s.initialNavigation()}))}}]).\u0275providers:[]]}const zA=new P(""),zn=JSON.parse('[{"name":"Mona Diab","affiliation":"CMU","position":"Director of the Language Technologies Institute","hindex":55,"photo":"./assets/images/mona-diab.jpeg","scholar":"https://scholar.google.com/citations?user=-y6SIhQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mona-diab-55946614/","website":"","twitter":"https://mobile.twitter.com/MonaDiab77","interests":["Responsible AI","Natural Language Processing","Computational Linguistics","Arabic NLP","Cross Lingual/Multilingual Processing","Machine Learning"],"citedby":16301,"lastupdate":"2023-10-14"},{"name":"Abdelrahman Mohamed","affiliation":"Rembrand","position":"Co-Founder","hindex":49,"photo":"./assets/images/abdelrahman-mohamed.jpeg","scholar":"https://scholar.google.ca/citations?user=tJ_PrzgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/abdel-rahman-mohamed-a5808210/","website":"","twitter":"","interests":["Speech Processing","Speech Recognition","Speech Language Processing","Machine Learning"],"citedby":53168,"lastupdate":"2023-10-14"},{"name":"Samhaa R. El-Beltagy","affiliation":"New Giza University","position":"Dean of the School of Information Technology","hindex":25,"photo":"./assets/images/samhaa-el-beltagy.jpeg","scholar":"https://scholar.google.com/citations?user=xdz-3qgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/samhaa-el-beltagy-b410a530","website":"","twitter":"","interests":["Arabic NLP","Text Mining","Information Extraction","Sentiment Analysis","Semantic Annotation"],"citedby":2778,"lastupdate":"2023-10-14"},{"name":"Kareem Darwish","affiliation":"aiXplain","position":"Principal Scientist","hindex":43,"photo":"./assets/images/kareem-darwish.jpeg","scholar":"https://scholar.google.com/citations?user=y7tlR6UAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/kareem-darwish-788b9125","website":"http://kareemdarwish.com/files/","twitter":"https://twitter.com/kareem2darwish","interests":["Arabic NLP","Information Retrieval","Computational Social Science","Natural Language Processing"],"citedby":6173,"lastupdate":"2023-10-14"},{"name":"Ahmed Rafea","affiliation":"American University in Cairo","position":"Professor","hindex":28,"photo":"./assets/images/ahmed-rafea.jpeg","scholar":"https://scholar.google.com/citations?user=szDaQLYAAAAJ&hl=en","linkedin":"","website":"https://www.aucegypt.edu/fac/ahmedrafea","twitter":"","interests":["Natural Language Processing","Machine Translation","Mining Social Media","Text Mining","Knowledge Engineering"],"citedby":3404,"lastupdate":"2023-10-14"},{"name":"Mohsen Rashwan","affiliation":"Cairo University","position":"Professor","hindex":22,"photo":"./assets/images/mohsen-rashwan.jpeg","scholar":"https://scholar.google.com/citations?user=Q4Ic2k0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohsen-rashwan-4719364","website":"","twitter":"","interests":["Machine Learning","Speech Processing","Natural Language Processing","Human Language Technology"],"citedby":1510,"lastupdate":"2023-10-14"},{"name":"Rana el Kaliouby","affiliation":"Smart Eye","position":"Deputy CEO","hindex":44,"photo":"./assets/images/rana-el-kaliouby.jpeg","scholar":"https://scholar.google.com/citations?user=tpg6xzgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/kaliouby/","website":"https://ranaelkaliouby.com/","twitter":"https://twitter.com/kaliouby","interests":["Affective Computing","Emotion AI","Human Perception","Computer Vision","Machine Learning"],"citedby":7011,"lastupdate":"2023-10-14"},{"name":"Mohamed Afify","affiliation":"Microsoft","position":"Principal Researcher","hindex":18,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=1ZIc388AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Translation","Speech Recognition","Natural Language Processing","Adaptation Models","Computational Linguistics","Phonology"],"citedby":1058,"lastupdate":"2023-10-14"},{"name":"Hany Hassan Awadalla","affiliation":"Microsoft","position":"Partner Research Manager","hindex":29,"photo":"./assets/images/hany-hassan.jpeg","scholar":"https://scholar.google.com/citations?user=jqsVHbsAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hany-hassan-awadalla/","website":"https://www.microsoft.com/en-us/research/people/hanyh/","twitter":"https://twitter.com/hany_hassan","interests":["Machine Translation","Machine Learning","Natural Language Processing","Deep Learning","Semi-supervised Learning"],"citedby":3232,"lastupdate":"2023-10-14"},{"name":"Ahmed Tawfik","affiliation":"Microsoft","position":"Principal Data and Applied Science Manager","hindex":11,"photo":"./assets/images/ahmed-tawfik.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=8mRqcrIAAAAJ","linkedin":"https://www.linkedin.com/in/ahmed-tawfik-903a093","website":"https://www.microsoft.com/en-us/research/people/atawfik/","twitter":"","interests":["Machine Translation","Machine Learning","Natural Language Processing","Deep Learning","Text-to-Speech"],"citedby":416,"lastupdate":"2023-10-14"},{"name":"Mohamed Moustafa","affiliation":"Amazon","position":"Applied Science Manager","hindex":18,"photo":"./assets/images/mohamed-moustafa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=QGdReUEAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-n-moustafa/","website":"https://www.aucegypt.edu/fac/mohamedmoustafa","twitter":"","interests":["Computer Vision","Machine Learning","Pattern Recognition","Biometrics","Deep Learning"],"citedby":1642,"lastupdate":"2023-10-14"},{"name":"Wael Hamza","affiliation":"Amazon","position":"Senior Principal Applied Scientist","hindex":23,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=rJnetakAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/wael-hamza-5454b63","website":"","twitter":"","interests":["Natural Language Processing","Machine Learning","Machine Translation","Natural Language Understanding","Speech"],"citedby":2970,"lastupdate":"2023-10-14"},{"name":"Iz Beltagy","affiliation":"Allen Institute for AI","position":"Senior Research Scientist","hindex":27,"photo":"./assets/images/iz-beltagy.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=jkV6H1gAAAAJ","linkedin":"https://www.linkedin.com/in/beltagy","website":"https://beltagy.net/","twitter":"https://twitter.com/i_beltagy","interests":["Natural Language Processing","Machine Learning"],"citedby":10260,"lastupdate":"2023-10-14"},{"name":"Waleed Ammar","affiliation":"Allen Institute for AI","position":"Product Manager","hindex":24,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=4NZ58cQAAAAJ","linkedin":"","website":"https://wammar.github.io","twitter":"","interests":["Natural Language Processing","Machine Learning","Semantic Parsing"],"citedby":4376,"lastupdate":"2023-10-14"},{"name":"Ahmed H. Awadallah","affiliation":"Microsoft Research","position":"Senior Principal Research Manager","hindex":47,"photo":"./assets/images/ahmed-awadallah.jpeg","scholar":"https://scholar.google.com/citations?user=sNGk-9MAAAAJ&hl=en","linkedin":"","website":"https://www.microsoft.com/en-us/research/people/hassanam/","twitter":"","interests":["Natural Language Processing","Machine Learning","Information Retrieval"],"citedby":10220,"lastupdate":"2023-10-14"},{"name":"Hala Mostafa","affiliation":"Raytheon Technologies","position":"Manager","hindex":8,"photo":"./assets/images/hala-mostafa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=zmNFj_EAAAAJ","linkedin":"","website":"http://hmostafa.com/","twitter":"","interests":["Machine Learning"],"citedby":407,"lastupdate":"2023-10-14"},{"name":"Baher Abdulhai","affiliation":"University of Toronto","position":"Professor","hindex":37,"photo":"./assets/images/abdulhai.png","scholar":"https://scholar.google.com/citations?hl=en&user=ezgstIoAAAAJ","linkedin":"https://www.linkedin.com/in/baher-abdulhai-b2460215","website":"https://uttri.utoronto.ca/people/baher-abdulhai/","twitter":"","interests":["Intelligent Transportation Systems","Traffic Control and Management","Evacuation Optimization","Congestion Pricing"],"citedby":5651,"lastupdate":"2023-10-14"},{"name":"Yaser S. Abu-Mostafa","affiliation":"Caltech","position":"Professor","hindex":29,"photo":"./assets/images/yaser-abu-mostafa.jpeg","scholar":"https://www.semanticscholar.org/author/Y.-Abu-Mostafa/1398965769","linkedin":"","website":"https://work.caltech.edu/index.html","twitter":"","interests":["Machine Learning","Artificial Intelligence","Computational Finance","Information and Complexity","Probability and Statistics"],"lastupdate":"","citedby":4141},{"name":"Marwan Torki","affiliation":"Alexandria University","position":"Associate Professor","hindex":20,"photo":"./assets/images/marwan-torki.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=aYLNZT4AAAAJ","linkedin":"","website":"http://eng.staff.alexu.edu.eg/~mtorki/","twitter":"","interests":["Machine Learning","Computer Vision","Deep Learning","Natural Language Processing"],"citedby":2594,"lastupdate":"2023-10-14"},{"name":"Medhat Moussa","affiliation":"University of Guelph","position":"Professor","hindex":22,"photo":"./assets/images/medhat-moussa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=x-2sUG4AAAAJ","linkedin":"https://www.linkedin.com/in/medhat-moussa-3a58713","website":"https://www.uoguelph.ca/engineering/people/medhat-moussa-phd-peng","twitter":"","interests":["Robotics","Machine Learning","Machine Vision","Reconfigurable Computing"],"citedby":1829,"lastupdate":"2023-10-14"},{"name":"Khaled Shaalan","affiliation":"The British University in Dubai","position":"Professor","hindex":56,"photo":"./assets/images/khaled-shaalan.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=keLKdlgAAAAJ","linkedin":"","website":"https://sites.google.com/site/khaledshaalan/publications/full-publication-list","twitter":"","interests":["Artificial Intelligence","Arabic NLP","Computational Linguistics","Natural Language Processing","Knowledge Management"],"citedby":13479,"lastupdate":"2023-10-14"},{"name":"Ossama Emam","affiliation":"IBM","position":"Senior Technical Staff Member","hindex":18,"photo":"./assets/images/ossama-emam.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=3Xa5wWMAAAAJ","linkedin":"https://www.linkedin.com/in/ossama-emam-ph-d-21b4b2124","website":"","twitter":"","interests":["Machine Learning","Information Retrieval","Information Extraction","Mathematical and Statistical Modelling","Pattern Recognition","Speech Technology"],"citedby":1062,"lastupdate":"2023-10-14"},{"name":"Alaa Khamis","affiliation":"General Motors","position":"AI & Smart Mobility Technical Leader","hindex":28,"photo":"./assets/images/alaa-khamis.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=btM72xsAAAAJ","linkedin":"https://www.linkedin.com/in/alaakhamis/","website":"https://www.alaakhamis.org","twitter":"","interests":["Smart Mobility","Autonomous and Connected Vehicles","Cognitive IoT","Machine Learning","Combinatorial Optimization"],"citedby":4895,"lastupdate":"2023-10-14"},{"name":"Alaa Sheta","affiliation":"Southern Connecticut (SCSU)","position":"Professor","hindex":31,"photo":"./assets/images/alaa-sheta.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=x7zJsNoAAAAJ","linkedin":"https://www.linkedin.com/in/alaa-sheta-30577617/","website":"https://sites.google.com/site/profalaasheta/home","twitter":"","interests":["Machine Learning","Data Science","Image Processing","Robotics","Software Engineering"],"citedby":3657,"lastupdate":"2023-10-14"},{"name":"Ahmed K. Farahat","affiliation":"Hitachi America, Ltd. R&D","position":"Principal Research Scientist","hindex":19,"photo":"./assets/images/ahmed-farahat.jpeg","scholar":"https://scholar.google.com/citations?user=5kcdVaYAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/afarahat/","website":"http://www.afarahat.com","twitter":"","interests":["Machine Learning","Data Mining","Industrial AI"],"citedby":1875,"lastupdate":"2023-10-14"},{"name":"Motaz El-Saban","affiliation":"Microsoft","position":"Principal Data & Applied Science Manager","hindex":26,"photo":"./assets/images/motaz-el-saban.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=xHcqzWgAAAAJ","linkedin":"https://www.linkedin.com/in/motazelsaban/","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":2861,"lastupdate":"2023-10-14"},{"name":"Maher Ahmed","affiliation":"Wilfrid Laurier University","position":"Associate Professor","hindex":11,"photo":"./assets/images/maher-ahmed.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=qsJmtkMAAAAJ","linkedin":"https://www.linkedin.com/in/maher-ahmed-5baa9112","website":"https://www.wlu.ca/academics/faculties/faculty-of-science/faculty-profiles/maher-ahmed/index.html","twitter":"","interests":["Pattern Recognition","Image Processing"],"citedby":652,"lastupdate":"2023-10-14"},{"name":"Mohamed S. Kamel","affiliation":"University of Waterloo","position":"Professor - Passed Away (2015)","hindex":64,"photo":"./assets/images/mohamed-kamel.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=6Evj9YwAAAAJ","linkedin":"","website":"","twitter":"","interests":["Pattern Analysis","Machine Intelligence","Image Analysis","Pattern Recognition","Computational Intelligence"],"citedby":22429,"lastupdate":"2023-10-14"},{"name":"Ahmad Abdulkader","affiliation":"Meta","position":"Research And Development Scientist - Passed Away (2021)","hindex":7,"photo":"./assets/images/ahmad-abdulkader.jpeg","scholar":"https://www.semanticscholar.org/author/Ahmad-Abdulkader/1859983","linkedin":"","website":"","twitter":"","interests":["Machine Learning"],"lastupdate":"","citedby":345},{"name":"Ali Elkahky","affiliation":"Meta","position":"Research Scientist","hindex":14,"photo":"./assets/images/ali-elkahky.jpeg","scholar":"https://scholar.google.com/citations?user=KB3S8RoAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ali-elkahky-32711ab/","website":"","twitter":"","interests":["Machine Learning","Natural Language Processing"],"citedby":2108,"lastupdate":"2023-10-14"},{"name":"Ahmed El Kholy","affiliation":"Microsoft","position":"Senior Applied Scientist","hindex":16,"photo":"./assets/images/ahmed-el-kholy.jpeg","scholar":"https://scholar.google.com/citations?user=n4PqfX0AAAAJ&hl=en","linkedin":"","website":"https://www.microsoft.com/en-us/research/people/ahelkhol/","twitter":"","interests":["Machine Learning","Natural Language Processing","Conversational AI"],"citedby":3246,"lastupdate":"2023-10-14"},{"name":"Walid Magdy","affiliation":"University of Edinburgh","position":"Associate Professor","hindex":37,"photo":"./assets/images/walid-magdy.jpeg","scholar":"https://scholar.google.com/citations?user=ACQD8jMAAAAJ&hl=en","linkedin":"","website":"https://homepages.inf.ed.ac.uk/wmagdy/","twitter":"https://twitter.com/Walid_Magdy","interests":["Computational Social Science","Natural Language Processing","Data Mining","Information Retrieval"],"citedby":4037,"lastupdate":"2023-10-14"},{"name":"Ahmed Ali","affiliation":"QCRI","position":"Principal Engineer","hindex":24,"photo":"./assets/images/ahmed-ali.jpeg","scholar":"https://scholar.google.com/citations?user=t0gYEjAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedali08","website":"","twitter":"","interests":["Speech Recognition"],"citedby":2067,"lastupdate":"2023-10-14"},{"name":"Neamat El Gayar","affiliation":"Heriot Watt University","position":"Director & Uni Professor","hindex":16,"photo":"./assets/images/neamat-elgayar.jpg","scholar":"https://scholar.google.com/citations?user=RHDcyz8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/neamat-el-gayar-07b7297a/","website":"","twitter":"https://twitter.com/Neamat11647418","interests":["Neural Networks","Machine Learning","Computational Intelligence","Natural Language Processing"],"citedby":1881,"lastupdate":"2023-10-14"},{"name":"Amir Alansary","affiliation":"Jaguar Land Rover","position":"ML & CV Team Lead","hindex":21,"photo":"./assets/images/amir-alansary.jpeg","scholar":"https://scholar.google.com/citations?user=Sj11Jo8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amiralansary/","website":"","twitter":"","interests":["Computer Vision","Machine Learning","Reinforcement Learning","Autonomous Vehicles Perception and Path Planning","Medical Imaging"],"citedby":1603,"lastupdate":"2023-10-14"},{"name":"Mustafa A Elattar","affiliation":"Intixel & Nile University","position":"Founder & Assistant Professor","hindex":11,"photo":"./assets/images/mustafa-elattar.png","scholar":"https://scholar.google.com/citations?user=BJoskL8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mustafa-elattar-phd-42289112/","website":"https://www.intixel.com/","twitter":"https://twitter.com/3ttar","interests":["Medical Imaging","Artificial Intelligence","Image Analysis"],"citedby":803,"lastupdate":"2023-10-14"},{"name":"Hesham Eraqi","affiliation":"Amazon","position":"Senior Scientist","hindex":10,"photo":"./assets/images/hesham-eraqi.jpg","scholar":"https://scholar.google.com.eg/citations?user=Sk-VfXYAAAAJ","linkedin":"https://www.linkedin.com/in/heshameraqi","website":"https://heshameraqi.github.io","twitter":"","interests":["Geospatial Machine Learning","Autonomous Driving","Deep Learning","Handwriting Recognition"],"citedby":809,"lastupdate":"2023-10-14"},{"name":"Ahmed Alsallab","affiliation":"Microsoft","position":"Principal Applied Science Manager","hindex":19,"photo":"./assets/images/ahmad-al-sallab.jpeg","scholar":"https://scholar.google.com/citations?user=hiEbSZYAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmad-el-sallab-phd-7aa2195a","website":"","twitter":"","interests":["Deep Learning","Computer Vision","Natural Language Processing"],"citedby":3534,"lastupdate":"2023-10-14"},{"name":"Gamaleldin Elsayed","affiliation":"Google Brain","position":"Senior Research Scientist","hindex":15,"photo":"./assets/images/gamaleldin-elsayed.jpeg","scholar":"https://scholar.google.com/citations?user=7PrTPzsAAAAJ&hl=en&oi=ao","linkedin":"","website":"http://www.columbia.edu/~gfa2109/","twitter":"","interests":["Machine Learning","Computer Vision","Computational Neuroscience"],"citedby":2033,"lastupdate":"2023-10-14"},{"name":"Mahmoud Abou-Nasr","affiliation":"Ford Motor Company","position":"Lecturer III","hindex":11,"photo":"./assets/images/mahmoud-abou-nasr.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=qkvufmcAAAAJ","linkedin":"","website":"","twitter":"","interests":["Neural Networks","Data Mining","Deep Learning","Reinforcement Learning","Optimization"],"citedby":357,"lastupdate":"2023-10-14"},{"name":"Mohamed Elhoseiny","affiliation":"KAUST","position":"Assistant Professor","hindex":34,"photo":"./assets/images/mohamed-elhoseiny.png","scholar":"https://scholar.google.com/citations?user=iRBUTOAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-elhoseiny-8a836215","website":"http://www.mohamed-elhoseiny.com/","twitter":"https://twitter.com/moElhoseiny","interests":["Zero-Shot Learning","Few-Shot Learning","Computer Vision","Computational Creativity","Vision and Language"],"citedby":8011,"lastupdate":"2023-10-14"},{"name":"Amr Ahmed","affiliation":"Google","position":"Senior Staff Research Scientist","hindex":39,"photo":"./assets/images/amr-ahmed.png","scholar":"https://scholar.google.com/citations?user=ivUi2T0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amr-ahmed-b998965","website":"https://research.google/people/AmrAhmed/","twitter":"","interests":["Machine Learning","Big Data","User Modeling","Personalization","Content Analysis"],"citedby":11322,"lastupdate":"2023-10-14"},{"name":"Amir Atiya","affiliation":"Cairo University","position":"Professor","hindex":48,"photo":"./assets/images/amir-atiya.jpeg","scholar":"https://scholar.google.com/citations?user=sT6n4zAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amir-atiya-8685b7","website":"https://cairo.academia.edu/AmirAtiya","twitter":"","interests":["Machine Learning","Pattern Classification","Computational Finance"],"citedby":12838,"lastupdate":"2023-10-14"},{"name":"Ramy Eskander","affiliation":"Twitter","position":"Senior Research Scientist","hindex":19,"photo":"./assets/images/ramy-eskander.jpeg","scholar":"https://scholar.google.com/citations?user=4SE1GIgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ramyeskander/","website":"","twitter":"","interests":["NLP","Recommendation Systems","Multilinguality","Low-Resource Languages","Arabic NLP","Unsupervised and Semi-Supervised Learning"],"citedby":1926,"lastupdate":"2023-10-14"},{"name":"Tamer Elsayed","affiliation":"Qatar University","position":"Associate Professor","hindex":30,"photo":"./assets/images/tamer-elsayed.jpeg","scholar":"https://scholar.google.com/citations?user=ekS-yPIAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/tamer-elsayed-a9a71116/","website":"http://qufaculty.qu.edu.qa/telsayed/","twitter":"https://twitter.com/tamer_elsayed","interests":["Information Retrieval","Natural Language Processing","Applied Machine Learning","Big Data Analytics"],"citedby":3081,"lastupdate":"2023-10-14"},{"name":"Mohamed Elbadrashiny","affiliation":"aiXplain","position":"Principal Scientist","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=DppUkNUAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-elbadrashiny-591908b","website":"","twitter":"","interests":["Natural Language Processing","Multimodal Dialog","Large Language Models"],"citedby":1647,"lastupdate":"2023-10-14"},{"name":"Ibrahim Sabek","affiliation":"Univ. of Southern California","position":"Assistant Professor","hindex":11,"photo":"./assets/images/ibrahim-sabek.png","scholar":"https://scholar.google.com/citations?user=R8732voAAAAJ&hl=en","linkedin":"http://www.linkedin.com/pub/ibrahim-sabek/23/422/526","website":"http://people.csail.mit.edu/ibrahimsabek/","twitter":"https://twitter.com/ibrahim_sabek","interests":["Machine Learning for Database Systems","Data Management and Analysis"],"citedby":525,"lastupdate":"2023-10-14"},{"name":"Mostafa Saad Ibrahim","affiliation":"Nvidia","position":"Senior Computer Vision Engineer","hindex":6,"photo":"./assets/images/mostafa-s-ibrahim.jpeg","scholar":"https://scholar.google.com/citations?user=2fSZbmkAAAAJ&hl=en/","linkedin":"https://www.linkedin.com/in/mostafasaad","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":765,"lastupdate":"2023-10-14"},{"name":"Mostafa Elhoushi","affiliation":"Meta","position":"Research Engineer","hindex":12,"photo":"./assets/images/mostafa-elhoushi.jpeg","scholar":"https://scholar.google.ca/citations?user=y_cwSKAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mostafaelhoushi/","website":"","twitter":"","interests":["Machine Learning","Deep Learning","Navigation","Quantum Computing"],"citedby":497,"lastupdate":"2023-10-14"},{"name":"Sameh Khamis","affiliation":"Rembrand","position":"Lead Research Scientist","hindex":22,"photo":"./assets/images/sameh-khamis.jpeg","scholar":"https://scholar.google.com/citations?user=9WgcwYQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/samehkhamis/","website":"https://www.samehkhamis.com","twitter":"","interests":["Machine Learning","Computer Vision","Graphics"],"citedby":4044,"lastupdate":"2023-10-14"},{"name":"Ibrahim Sobh","affiliation":"Valeo","position":"Senior Expert of AI","hindex":11,"photo":"./assets/images/ibrahim-sobh.jpeg","scholar":"https://scholar.google.com.eg/citations?user=SODWkygAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ibrahim-sobh-phd-8681757/","website":"","twitter":"","interests":["Machine Learning","Computer Vision","Autonomous Driving"],"citedby":1501,"lastupdate":"2023-10-14"},{"name":"Aboul Ella Hassanien","affiliation":"Cairo University","position":"Professor","hindex":85,"photo":"./assets/images/aboul-ella-hassanien-ali.jpeg","scholar":"https://scholar.google.com/citations?user=aZ6bcngAAAAJ&hl=en","linkedin":"https://eg.linkedin.com/in/aboul-ella-hassanien-48a9528","website":"","twitter":"","interests":["Artificial Intelligence","Swarm Optimization","IoT","Drones","Metaverses","Biomedical Informatics"],"citedby":31717,"lastupdate":"2023-10-14"},{"name":"Fahmi Khalifa","affiliation":"Mansoura University","position":"Assistant Professor","hindex":48,"photo":"./assets/images/fahmi-khalifa.jpeg","scholar":"https://scholar.google.ca/citations?user=Ua1i31oAAAAJ&hl=fr&oi=ao","linkedin":"","website":"","twitter":"","interests":["Medical Image Analysis","Machine Learning","Pattern Recognition","Image and Signal Processing","Multimedia","Biomedical Informatics"],"citedby":5472,"lastupdate":"2023-10-14"},{"name":"Khaled Fathy Hussein","affiliation":"Assiut University","position":"Head of CS Department","hindex":17,"photo":"./assets/images/khaled-hussain.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=8DgiMfcAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"https://www.aun.edu.eg/fci/khaled-fathy-hussein-saleh","twitter":"","interests":["Computer Vision","Computer Graphics","Neural Networks"],"citedby":1112,"lastupdate":"2023-10-14"},{"name":"Mohamed Nabih Ali","affiliation":"Fondazione Bruno Kessler","position":"Post Doctoral Researcher","hindex":6,"photo":"./assets/images/mohamed-nabih.jpg","scholar":"https://scholar.google.com/citations?user=6VXSI8wAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-nabih-5011b074/","website":"","twitter":"","interests":["Artificial Intelligence","Machine Learning","Deep Learning","Speech Enhancement and Recognition","Biomedical Signal Processing","Image Processing"],"citedby":213,"lastupdate":"2023-10-14"},{"name":"Omar Khattab","affiliation":"Stanford University","position":"PhD Student","hindex":12,"photo":"./assets/images/omar-khattab.jpeg","scholar":"https://scholar.google.com/citations?user=Lwr5ozgAAAAJ&hl=en","linkedin":"","website":"https://omarkhattab.com/","twitter":"https://twitter.com/lateinteraction","interests":["Natural Language Processing","Information Retrieval"],"citedby":2871,"lastupdate":"2023-10-14"},{"name":"Ahmed Elgammal","affiliation":"Rutgers University","position":"Professor","hindex":55,"photo":"./assets/images/ahmed-elgammal.jpeg","scholar":"https://scholar.google.com/citations?user=DxQiCiIAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-elgammal-71667911/","website":"https://sites.rutgers.edu/ahmed-elgammal/","twitter":"https://twitter.com/ahmed_elgammal?lang=en","interests":["Computer Vision"],"citedby":16665,"lastupdate":"2023-10-14"},{"name":"Ahmed El-Kishky","affiliation":"Twitter","position":"Staff ML Researcher","hindex":16,"photo":"./assets/images/ahmed-el-kishky.jpeg","scholar":"https://scholar.google.com/citations?user=A4frpBcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-e-56566b47/","website":"https://ahelk.github.io/","twitter":"","interests":["Machine Learning","NLP","Data Mining","Graph Learning","Recommender Systems"],"citedby":1482,"lastupdate":"2023-10-14"},{"name":"Moustafa Alzantot","affiliation":"Google Research","position":"Senior Engineer","hindex":17,"photo":"./assets/images/moustafa-alzantot.jpeg","scholar":"https://scholar.google.com/citations?user=AusbFkQAAAAJ","linkedin":"https://www.linkedin.com/in/malzantot/","website":"","twitter":"","interests":["Machine Learning","Recommender Systems","Natural Language Processing"],"citedby":4263,"lastupdate":"2023-10-14"},{"name":"Heba Elfardy","affiliation":"Amazon","position":"Senior ML Scientist","hindex":12,"photo":"./assets/images/heba-elfardy.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=L6lzWrYAAAAJ","linkedin":"https://www.linkedin.com/in/heba-elfardy-a0984b2b","website":"","twitter":"","interests":["Natural Language Processing"],"citedby":607,"lastupdate":"2023-10-14"},{"name":"Ahmed Hefny","affiliation":"Cruise","position":"Staff Research Scientist","hindex":13,"photo":"./assets/images/ahmed-hefny.jpeg","scholar":"https://scholar.google.com/citations?user=FAv6Nd8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-hefny","website":"","twitter":"","interests":["Machine Learning"],"citedby":1586,"lastupdate":"2023-10-14"},{"name":"Hady Elsahar","affiliation":"Meta","position":"Research Scientist","hindex":15,"photo":"./assets/images/hady-elsahar.jpeg","scholar":"https://scholar.google.com.eg/citations?user=SbcM6bsAAAAJ&hl=en","linkedin":"","website":"https://www.hadyelsahar.io/","twitter":"https://twitter.com/hadyelsahar","interests":["Natural Language Processing","Machine Learning"],"citedby":1755,"lastupdate":"2023-10-14"},{"name":"Ahmed M. Badawi","affiliation":"Cairo University","position":"Professor","hindex":17,"photo":"./assets/images/ahmed-badawi.jpeg","scholar":"https://scholar.google.com/citations?user=r9pLu6EAAAAJ","linkedin":"https://www.linkedin.com/in/ahmed-badawi-215167a","website":"https://ieeexplore.ieee.org/author/37345733000","twitter":"","interests":["Computer Vision","Biometric","Medical Imaging","Medical Diagnosis","Multimodal Matching","Image Processing","Pattern Recognition","Pattern Classification"],"citedby":1589,"lastupdate":"2023-10-14"},{"name":"Mostafa Badawy","affiliation":"Apple","position":"(AI/ML) Software Engineer (Siri)","hindex":7,"photo":"./assets/images/mostafa-badawy.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=iq8c9CkAAAAJ","linkedin":"https://www.linkedin.com/in/mostafa-gamal-badawy/","website":"","twitter":"","interests":["Machine Learning","Natural Language Processing","Computer Vision","Artificial Intelligence"],"citedby":407,"lastupdate":"2023-10-14"},{"name":"Muhammad AbdulMageed","affiliation":"UBC","position":"Associate Professor","hindex":26,"photo":"./assets/images/muhammad-abdulmageed.jpeg","scholar":"https://scholar.google.com/citations?user=SOjQhl8AAAAJ","linkedin":"","website":"https://mageed.arts.ubc.ca/","twitter":"","interests":["Arabic NLP","Natural Language Processing","Machine Learning"],"citedby":3515,"lastupdate":"2023-10-14"},{"name":"Wael Abd-Almageed","affiliation":"USC","position":"Research Associate Professor","hindex":31,"photo":"./assets/images/wael-abdalmageed.jpeg","scholar":"https://scholar.google.com/citations?user=tRGH8FkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":4121,"lastupdate":"2023-10-14"},{"name":"Youssef Nashed","affiliation":"Stanford University","position":"Staff ML Scientist","hindex":21,"photo":"./assets/images/youssef-nashed.jpeg","scholar":"https://scholar.google.com/citations?user=pQXy90QAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ynashed/","website":"","twitter":"","interests":["Computer Vision","Geometric Deep Learning","Graph Neural Networks"],"citedby":1554,"lastupdate":"2023-10-14"},{"name":"Abubakr Karali","affiliation":"NVIDIA","position":"Senior Solutions Architect","hindex":5,"photo":"./assets/images/abubakr-karali.jpeg","scholar":"https://scholar.google.com/citations?user=ACxQHBUAAAAJ&hl=en","linkedin":"https://se.linkedin.com/in/abubakr-karali-8988486b","website":"","twitter":"","interests":["Computer Vision","Self-Supervised Learning"],"citedby":119,"lastupdate":"2023-10-14"},{"name":"Ahmed Sahlol","affiliation":"Co-founder Tachyhealth","position":"Associate Professor of ML","hindex":15,"photo":"./assets/images/ahmed-sahlol.jpeg","scholar":"https://scholar.google.com/citations?user=JZB2oMQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-sahloul","website":"","twitter":"","interests":["Medical Imaging","Medical NLP","Medical Fraud Detection"],"citedby":1428,"lastupdate":"2023-10-14"},{"name":"Eslam Kamal","affiliation":"Microsoft","position":"Applied Science Manager","hindex":8,"photo":"./assets/images/eslam-kamal.jpeg","scholar":"https://scholar.google.com/citations?user=KRFyxS0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/eslamkamal85","website":"","twitter":"","interests":["NLP","LLMs","Conversational AI","Responsible AI"],"citedby":324,"lastupdate":"2023-10-14"},{"name":"Yehia Elshater","affiliation":"Amazon","position":"Data/Applied Scientist","hindex":5,"photo":"./assets/images/yehia-elshater.jpeg","scholar":"https://scholar.google.com/citations?user=S8MZ9PMAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/yehiaz/","website":"","twitter":"","interests":["Recommendation Engines","NLP","Forecasting"],"citedby":135,"lastupdate":"2023-10-14"},{"name":"Ahmed Rashed","affiliation":"Volkswagen Financial Service","position":"Senior Data Scientist","hindex":6,"photo":"./assets/images/ahmed-rashed.jpeg","scholar":"https://scholar.google.com.eg/citations?user=-wyZHw8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedrashed-ai/","website":"","twitter":"","interests":["Recommender Systems","Graph Mining","Time Series Forecasting"],"citedby":186,"lastupdate":"2023-10-14"},{"name":"Shady Elbassuoni","affiliation":"American University of Beirut","position":"Associate Professor","hindex":23,"photo":"./assets/images/shady-elbassuoni.jpg","scholar":"https://scholar.google.com/citations?user=Fe8iIHMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Computer Vision","Information Retrieval","Public Health and Medicine"],"citedby":2865,"lastupdate":"2023-10-14"},{"name":"Noha Radwan","affiliation":"Inceptive","position":"Researcher","hindex":11,"photo":"./assets/images/noha-radwan.jpeg","scholar":"https://scholar.google.com/citations?user=g98QcZUAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer vision","Deep learning"],"citedby":1828,"lastupdate":"2023-10-14"},{"name":"Radwa ElShawi","affiliation":"Tartu university","position":"Associate Professor","hindex":17,"photo":"./assets/images/radwa-elshawi.jpeg","scholar":"https://scholar.google.de/citations?user=RD5PdpwAAAAJ&hl=en","linkedin":"","website":"https://radwaelshawi.cs.ut.ee/","twitter":"","interests":["Explainable AI","AutoML","health informatics"],"citedby":1610,"lastupdate":"2023-10-14"},{"name":"Ramy Hussein","affiliation":"Stanford University","position":"Machine Learning Researcher","hindex":18,"photo":"./assets/images/ramy-hussein.jpeg","scholar":"https://scholar.google.ca/citations?user=lc3lgegAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ramy-hussein","website":"","twitter":"","interests":["Artificial Intelligence","Computer Vision","Signal/Image Processing","Medical Imaging"],"citedby":1065,"lastupdate":"2023-10-14"},{"name":"Sarah Adel Bargal","affiliation":"Georgetown University","position":"Professor","hindex":16,"photo":"./assets/images/sarah-adel-bargal.jpeg","scholar":"https://scholar.google.com/citations?user=zjlFcrEAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer vision","Deep Learning"],"citedby":2543,"lastupdate":"2023-10-14"},{"name":"Badr AlKhamissi","affiliation":"EPFL","position":"PhD Student","hindex":6,"photo":"./assets/images/badr.jpeg","scholar":"https://scholar.google.com/citations?user=0l9UHtQAAAAJ&hl=en&authuser=1","linkedin":"https://linkedin.com/in/bkhmsi","website":"https://bkhmsi.github.io","twitter":"https://twitter.com/bkhmsi","interests":["Machine Learning","Natural Language Processing","Computational Neuroscience","Computer Vision"],"citedby":103,"lastupdate":"2023-10-14"},{"name":"Moamen AbdelRazek","affiliation":"Royal Bank of Canada","position":"Lead Machine Learning Engineer","hindex":7,"photo":"./assets/images/moamen-abdelrazek.jpg","scholar":"https://scholar.google.com.eg/citations?user=7bcODQ8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/moamen-abdelrazek","website":"https://github.com/moemen95","twitter":"","interests":["NLP","LLMs","Computer Vision","ML Ops"],"citedby":384,"lastupdate":"2023-10-14"},{"name":"Ahmed Magooda","affiliation":"Microsoft","position":"Applied Researcher","hindex":7,"photo":"./assets/images/ahmed-magooda.jpeg","scholar":"https://scholar.google.com.eg/citations?user=x90NynMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["NLP","Deep Learning"],"citedby":308,"lastupdate":"2023-10-14"},{"name":"Aly El Gamal","affiliation":"Amazon","position":"Sr. Applied Scientist","hindex":16,"photo":"./assets/images/aly-elgamal.jpeg","scholar":"https://scholar.google.com/citations?view_op=list_works&hl=en&hl=en&user=x47tshQAAAAJ&sortby=pubdate","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Consumer Engagement","Information Theory"],"citedby":1170,"lastupdate":"2023-10-14"},{"name":"Tamer Basha","affiliation":"BIDMC and Harvard Medical","position":"Postdoctoral Research Fellow","hindex":23,"photo":"./assets/images/tamer-basha.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=C6Hg48cAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"","twitter":"","interests":["Medical Imaging"],"citedby":1865,"lastupdate":"2023-10-14"},{"name":"Momen Negm","affiliation":"Rasheed AI","position":"Co-Founder","hindex":25,"photo":"./assets/images/momen-negm.jpg","scholar":"https://scholar.google.com/citations?user=JJ_RhZEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/momennegm/","website":"","twitter":"https://twitter.com/mo2men","interests":["Computer Vision","Machine Learning"],"citedby":3807,"lastupdate":"2023-10-14"},{"name":"Mostafa Salem","affiliation":"Assiut University","position":"Assistant Professor","hindex":10,"photo":"./assets/images/mostafa-salem.jpeg","scholar":"https://scholar.google.com.eg/citations?user=7P86J5YAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/dr-mostafasalem/","website":"https://mostafasalem.netlify.app/","twitter":"","interests":["Medical Image Analysis","Computer Vision","3D Reconstruction"],"citedby":1969,"lastupdate":"2023-10-14"},{"name":"Noureldin Elmadany","affiliation":"AAST","position":"Assistant Professor","hindex":9,"photo":"./assets/images/nour-elmadany.jpg","scholar":"https://scholar.google.com/citations?user=sy8RRsgAAAAJ&hl=ja","linkedin":"","website":"","twitter":"","interests":["Multimodal Learning","Action Recognition and Anticipation"],"citedby":239,"lastupdate":"2023-10-14"},{"name":"Ahmed Masry","affiliation":"Arteria AI","position":"Data Scientist","hindex":5,"photo":"./assets/images/ahmed-elmasry.jpg","scholar":"https://scholar.google.com/citations?user=XqPX5XcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-masry-ku/","website":"","twitter":"https://twitter.com/Ahmed_Masry97","interests":["NLP","Multimodal Chart & Document Understanding","Computer Vision"],"citedby":138,"lastupdate":"2023-10-14"},{"name":"Sahar Selim","affiliation":"Nile University","position":"Assistant Professor","hindex":6,"photo":"./assets/images/sahar-selim.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=Ynx9NTwAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"https://www.linkedin.com/in/sahar-selim-soussa/?originalSubdomain=eg","website":"","twitter":"","interests":["Machine Learning","Medical Imaging","Brain-Computer Interface","Neural Engineering"],"citedby":250,"lastupdate":"2023-10-14"},{"name":"Ghada Khoriba","affiliation":"Nile University","position":"Associate Professor","hindex":9,"photo":"./assets/images/ghada-khoriba.jpg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=jwTBsIIAAAAJ","linkedin":"https://www.linkedin.com/in/ghada-khoriba-090b72113","website":"https://www.nu.edu.eg/academic-staff/dr-ghada-khoriba","twitter":"","interests":["Medical Image Analysis","Machine Learning","Swarm Algorithms","Computer Vision","NLP","LLMs","Knowledge Graphs."],"citedby":597,"lastupdate":"2023-10-14"},{"name":"Fatma Elzahraa Eid","affiliation":"Broad Institute / Al-Azhar","position":"Biomedical Machine Learning Group Lead","hindex":5,"photo":"./assets/images/fatma-elzahraa.jpeg","scholar":"https://scholar.google.ca/citations?user=Q4RV3MEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/fatma-elzahraa-eid-553b475b/","website":"","twitter":"","interests":["Biomedical ML","Data-driven Protein Engineering","Biological sequence engineering","Data-driven Therapeutics"],"citedby":363,"lastupdate":"2023-10-14"},{"name":"Haitham Elmarakeby","affiliation":"DF/HCC / Alazhar University","position":"Instructor / ML Group Lead","hindex":17,"photo":"./assets/images/haitham-elmarakeby.jpeg","scholar":"https://scholar.google.com/citations?user=yg6RHWoAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/haitham-elmarakeby/","website":"https://connects.catalyst.harvard.edu/Profiles/display/Person/162206","twitter":"","interests":["Cancer Machine Learning"],"citedby":1776,"lastupdate":"2023-10-14"},{"name":"Ahmad Taher Azar","affiliation":"Prince Sultan / Benha Uni","position":"Full Professor","hindex":68,"photo":"./assets/images/ahmad-azar.jpeg","scholar":"https://scholar.google.com/citations?user=6gf4UVkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Control Theory & Applications","Robotics","Artificial Intelligence","Reinforcement Learning"],"citedby":17481,"lastupdate":"2023-10-14"},{"name":"Hossam Hassan Ammar","affiliation":"University of Hertfordshire","position":"Lecturer of Mechatronics and Robotics, CTO of ITC","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=gxtCFWkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Robotics","Automatic Control","Renewable Energy"],"citedby":672,"lastupdate":"2023-10-14"},{"name":"Marwa Mahmoud","affiliation":"University of Glasgow","position":"Assistant Professor","hindex":18,"photo":"./assets/images/marwa-mahmoud.jpeg","scholar":"https://scholar.google.com/citations?user=mYyG4p0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Affective Computing","Computer Vision","Gesture Recognition","Animal Behaviour Understanding"],"citedby":1550,"lastupdate":"2023-10-14"},{"name":"Ahmed Elgohary","affiliation":"Microsoft","position":"Researcher","hindex":17,"photo":"./assets/images/ahmed-elgohary.jpeg","scholar":"https://scholar.google.com/citations?user=WDTv0I4AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing"],"citedby":3380,"lastupdate":"2023-10-14"},{"name":"Amr Sharaf","affiliation":"Microsoft","position":"Researcher","hindex":8,"photo":"./assets/images/amr-sharaf.jpeg","scholar":"https://scholar.google.com/citations?user=It3Gm1EAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Computer Vision","Machine Learning"],"citedby":331,"lastupdate":"2023-10-14"},{"name":"Hazem Rashed","affiliation":"Valeo","position":"Senior Principal ML Research Engineer","hindex":15,"photo":"./assets/images/hasem-rashed.jpg","scholar":"https://scholar.google.com/citations?user=hYdZUowAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hazem-rashed-a9490428/","website":"","twitter":"","interests":["Deep Learning","Computer Vision","Autonomous Driving"],"citedby":893,"lastupdate":"2023-10-14"},{"name":"Mennatullah Siam","affiliation":"Ontario Tech University","position":"Tenure-Track Assistant Professor","hindex":15,"photo":"./assets/images/mennatullah_siam.jpg","scholar":"https://scholar.google.com/citations?user=AVPds3kAAAAJ&hl=en&oi=ao","linkedin":"https://www.linkedin.com/in/mennatullah-siam-6546508a","website":"https://msiam.github.io/homepage/","twitter":"","interests":["Computer Vision","Deep Learning","Fewshot Learning","Video Object Segmentation","Video Understanding","Spatiotemporal Models Interpretability."],"citedby":1323,"lastupdate":"2023-10-14"},{"name":"Hamdy Mubarak","affiliation":"QCRI","position":"Principal Software Engineer","hindex":32,"photo":"./assets/images/hamdy-mubarak.jpeg","scholar":"https://scholar.google.com/citations?user=usvY6qYAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Software Engineering","Information Extraction","Social Media Analysis","Arabic NLP"],"citedby":3753,"lastupdate":"2023-10-14"},{"name":"Mohamed Mokbel","affiliation":"Univ. of Minnesota","position":"Distinguished McKnight University Professor, Univ. of Minnesota","hindex":58,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=GHz1ZVIAAAAJ","linkedin":"","website":"","twitter":"","interests":["Database Systems","GIS","Spatial Databases","Spatial Big Data","Mobile Data Management"],"citedby":15995,"lastupdate":"2023-10-14"},{"name":"Ashraf Aboulnaga","affiliation":"QCRI","position":"Chief Scientist","hindex":41,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=47sihrsAAAAJ","linkedin":"","website":"","twitter":"","interests":["Databases","Cloud computing","Graphs"],"citedby":5864,"lastupdate":"2023-10-14"},{"name":"Essam Mansour","affiliation":"Concordia University","position":"Assistant Professor","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=dqgckDgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database systems","data science platforms","distributed/parallel systems","machine learning"],"citedby":1371,"lastupdate":"2023-10-14"},{"name":"Ihab F. Ilyas","affiliation":"University of Waterloo","position":"Professor","hindex":57,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=YG6mTEIAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Databases","Data Management","Data Cleaning","Data Integration","Data Science"],"citedby":13153,"lastupdate":"2023-10-14"},{"name":"Walid G. Aref","affiliation":"Purdue University","position":"Professor","hindex":63,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=vX45evgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database Systems","Spatial Databases","Data Management"],"citedby":16201,"lastupdate":"2023-10-14"},{"name":"Abdurrahman Ghanem","affiliation":"Yelp","position":"Senior Software Engineer","hindex":5,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=XrVeZKgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Mobile Development","Artificial Intelligence","Machine Learning"],"citedby":457,"lastupdate":"2023-10-14"},{"name":"Hossam Hammady","affiliation":"Rayyan Systems Inc.","position":"Vice President of Engineering","hindex":11,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=49pKt_kAAAAJ","linkedin":"","website":"","twitter":"","interests":["cloud computing","distributed systems","machine learning","data analytics"],"citedby":11330,"lastupdate":"2023-10-14"},{"name":"Sherif Abdou","affiliation":"Cairo University","position":"Associate Professor","hindex":19,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=aFYes5MAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["artificial intelligence","Human Language technologies","speech recognition","language modeling","text to speech"],"citedby":1344,"lastupdate":"2023-10-14"},{"name":"Amr Magdy","affiliation":"UC Riverside","position":" Assistant Professor","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=11CMsKsAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Data management","spatial data management","GIS","large-scale data analytics","indexing"],"citedby":842,"lastupdate":"2023-10-14"},{"name":"Thanaa Ghanem","affiliation":"Metropolitan State University","position":"Metropolitan State University","hindex":15,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=ZUQDHsMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database systems"],"citedby":1260,"lastupdate":"2023-10-14"},{"name":"Mohammed Attia","affiliation":"Google Inc.","position":"Analytical Linguist","hindex":26,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=fvpPkj0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Morphology","syntax","statistical parsing","spell checking","Lexical Functional Grammar"],"citedby":3251,"lastupdate":"2023-10-14"},{"name":"Ahmed Mourad","affiliation":"Apeiros","position":"Apeiros","hindex":10,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=pcibYXwAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Information Retrieval","Evaluation","Natural language Processing","Social Media Analysis"],"citedby":491,"lastupdate":"2023-10-14"},{"name":"Tarek El-Ganainy","affiliation":"Electronic Arts","position":"Electronic Arts","hindex":8,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=CJi5hO0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Information Retrieval","Machine Learning","Virtual Reality"],"citedby":177,"lastupdate":"2023-10-14"},{"name":"Mohamed Hefeeda","affiliation":"Simon Fraser University","position":"Professor","hindex":34,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=0pu-90QAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Multimedia Systems","Computer Networks","Multimedia AI"],"citedby":6057,"lastupdate":"2023-10-14"},{"name":"Mohamed Elgharib","affiliation":"MPI for Informatics","position":"Research Group Leader","hindex":25,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=e1WLgm8AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer Graphics","Computer Vision","Machine Learning","Virtual/Augmented Reality"],"citedby":2627,"lastupdate":"2023-10-14"},{"name":"Tarek Elgamal","affiliation":"LocknSell","position":"Founder & CEO","hindex":9,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=CMrSMisAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Privacy-Preserving ML","Edge computing","Multimedia systems","Machine Learning"],"citedby":448,"lastupdate":"2023-10-14"},{"name":"AbdelRahim A. ElMadany","affiliation":"UBC","position":"PostDoc","hindex":11,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=v3akuNAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/tarek-elgamal/","website":"","twitter":"","interests":["Natural Language Processing","Deep Learning","Computational Social Science","Machine Learning","Speech Act"],"citedby":657,"lastupdate":"2023-10-14"},{"name":"Mohamed Waleed Fakhr","affiliation":"AAST","position":"Professor","hindex":13,"photo":"./assets/images/mohamed-fakhr.jpg","scholar":"https://scholar.google.com/citations?user=37Rfy7sAAAAJ&hl=en","linkedin":"https://eg.linkedin.com/in/mohamed-waleed-fakhr-2b952036","website":"","twitter":"","interests":["Digital Signal Processing","Deep Learning","NLP"],"citedby":685,"lastupdate":"2023-10-14"},{"name":"Mohamed Loey","affiliation":"Benha University","position":"Associate Prof","hindex":19,"photo":"./assets/images/mohamed-loey.jpg","scholar":"https://scholar.google.com/citations?user=_kRSr78AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mloey","website":"https://bu.edu.eg/staff/mloey","twitter":"https://twitter.com/mloey","interests":["Deep Learning","Artificial Intelligence","Machine Learning","Image Processing"],"citedby":3214,"lastupdate":"2023-10-14"},{"name":"Wael Badawy","affiliation":"University of Hertfordshire","position":"Program Lead","hindex":30,"photo":"./assets/images/wael_badawy.jpg","scholar":"https://scholar.google.ca/citations?user=d_6Lp3IAAAAJ&hl=en&oi=ao","linkedin":"https://linkedIn.com/in/waelbadawy","website":"https://waelbadawy.com","twitter":"https://Twitter.com/wbadawy","interests":["Artificial Intelligence","Computer Vision","Cyber Security."],"citedby":4218,"lastupdate":"2023-10-14"},{"name":"Mohamed Salem Elaraby","affiliation":"University of Pittsburgh","position":"PhD Researcher","hindex":6,"photo":"./assets/images/mohamed-elaraby.jpg","scholar":"https://scholar.google.com.eg/citations?user=A5jMCaAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-salem-b25b24b6/","website":"","twitter":"https://twitter.com/MsalemUBC","interests":["Natural Language Processing","Legal Document Summarization","Deep Learning"],"citedby":179,"lastupdate":"2023-10-14"},{"name":"Mohamed Altantawy","affiliation":"Agolo","position":"CTO & Founder","hindex":5,"photo":"./assets/images/mohamed_altantawy.jpeg","scholar":"https://scholar.google.com/citations?user=aelgAPAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/altantawy/","website":"","twitter":"","interests":["Machine Learning","Natural Langauge Processing"],"citedby":191,"lastupdate":"2023-10-14"},{"name":"Muhammad Ali Rushdi","affiliation":"Cairo & New Giza University","position":"Associate Professor","hindex":13,"photo":"./assets/images/muhammad-rushdi.png","scholar":"https://scholar.google.com/citations?user=vDgGLjsAAAAJ&hl=en&oi=ao","linkedin":"https://www.linkedin.com/in/muhammad-rushdi-4817a462/","website":"http://scholar.cu.edu.eg/mrushdi","twitter":"","interests":["Machine learning","Biomedical Signal Processing","Medical Image Analysis","Information Security and Forensics","Computer Vision","Applied Mathematics"],"citedby":550,"lastupdate":"2023-10-14"}]');let WA=(()=>{class e{constructor(){}getResearchIntersts(n){let i=new Set,r={};for(let a=0;aMath.random()-.5)}sortAZ(n){return n.sort((i,r)=>i.name.localeCompare(r.name))}sortHIndex(n){return n.sort((i,r)=>r.hindex-i.hindex)}sortCitations(n){return n.sort((i,r)=>r.citedby-i.citedby)}sortShuffle(n){return this.shuffle(n)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function nN(e,t){if(1&e){const n=to();_(0,"div",29)(1,"input",30),Q("change",function(){return ni(n),ii(Ot().filterInterests())})("ngModelChange",function(r){const s=ni(n).$implicit;return ii(Ot().rinterests[s.key]=r)}),b(),_(2,"label",31),C(3),b()()}if(2&e){const n=t.$implicit,i=Ot();N(1),wn("id","",n.key,"Checkbox"),we("value",n.key),re("ngModel",i.rinterests[n.key]),N(1),wn("for","",n.key,"Checkbox"),N(1),or("",n.key," (",i.rinterestsFreq[n.key],")")}}function iN(e,t){if(1&e&&(_(0,"div",32)(1,"a",33)(2,"div",34),V(3,"img",35),_(4,"span"),C(5),b()()()()),2&e){const n=t.$implicit;N(1),wn("href","#",n.name,"",je),N(2),we("src",n.photo,je),we("alt",n.name),N(2),js(n.name)}}function rN(e,t){if(1&e){const n=to();_(0,"div",36)(1,"div",37)(2,"div")(3,"a",38),Q("click",function(){const o=ni(n).$implicit;return ii(Ot().editProfile(o))}),V(4,"i",39),b()(),V(5,"img",40),_(6,"div",41)(7,"h4",42),C(8),b(),_(9,"h5",43),C(10),b(),_(11,"h6",44),C(12),b(),_(13,"span",45),C(14),co(15,"number"),b(),_(16,"span",45),C(17," h-index: - "),b(),_(18,"div",46)(19,"strong"),C(20,"Research Interests:"),b(),_(21,"p",47),C(22),b()(),V(23,"hr"),_(24,"p",48)(25,"a",49),V(26,"i",50),b(),_(27,"a",49),V(28,"i",51),b(),_(29,"a",49),V(30,"i",52),b(),_(31,"a",49),V(32,"i",53),b()()()()()}if(2&e){const n=t.$implicit;re("hidden",!Ot().en_active),N(1),we("id",n.name),N(4),we("src",n.photo,je),we("alt",n.name),N(3),wt(" ",n.name," "),N(2),wt(" ",n.affiliation," "),N(2),wt(" ",n.position," "),N(1),re("hidden",0==n.hindex),N(1),or(" h-index: ",n.hindex," | Citations: ",ho(15,20,n.citedby)," "),N(2),re("hidden",0!=n.hindex),N(6),wt(" ",n.interests.toString()," "),N(3),we("href",n.website,je),re("hidden",""==n.website),N(2),we("href",n.scholar,je),re("hidden",""==n.scholar),N(2),we("href",n.twitter,je),re("hidden",""==n.twitter),N(2),we("href",n.linkedin,je),re("hidden",""==n.linkedin)}}let oN=(()=>{class e{constructor(n){this.filterService=n,this.title="Egyptians in AI",this.researchers=zn,this.rinterests={},this.rinterestsFreq={},this.profiles=this.researchers,this.searchQuery="",this.en_active=!0,[this.rinterests,this.rinterestsFreq]=this.filterService.getResearchIntersts(zn),this.sortShuffle()}ngOnInit(){}sortAZ(){this.researchers=this.filterService.sortAZ(zn)}sortHIndex(){this.researchers=this.filterService.sortHIndex(zn)}sortCitations(){this.researchers=this.filterService.sortCitations(zn)}sortShuffle(){this.researchers=this.filterService.sortShuffle(zn)}filterProfiles(n){let i=n.target.value.toLowerCase();this.researchers=this.filterService.filterProfiles(i,zn)}filterInterests(){this.researchers=this.filterService.filterInterests(zn,this.rinterests)}checkAllInterests(){for(let n in this.rinterests)this.rinterests[n]=!0;this.researchers=this.profiles}clearAllInterests(){for(let n in this.rinterests)this.rinterests[n]=!1;this.researchers=this.profiles}editProfile(n){let i="https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=pp_url&entry.186050192=Update&entry.1945362270={name}&entry.843703109={affiliation}&entry.1728443742={position}&entry.113990162={gscholar}&entry.1193057171={linkedin}&entry.2083985192={twitter}&entry.1542622457={website}&entry.2030031116={research_interests}";i=i.replace("{name}",n.name),i=i.replace("{affiliation}",n.affiliation),i=i.replace("{position}",n.position),i=i.replace("{gscholar}",n.scholar),i=i.replace("{linkedin}",n.linkedin),i=i.replace("{twitter}",n.twitter),i=i.replace("{website}",n.website),i=i.replace("{research_interests}",n.interests.join(",")),window.open(i,"_blank")}}return e.\u0275fac=function(n){return new(n||e)(v(WA))},e.\u0275cmp=Ci({type:e,selectors:[["app-english"]],decls:54,vars:6,consts:[[1,"row",2,"margin-top","5em","margin-bottom","5em"],["href","https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=sf_link"],["href","https://medium.com/@bkhmsi/egyptians-in-ai-research-1ff64c78cc5b"],["id","sort-container",1,"row"],[1,"col-lg-2","col-md-12","col-sm-12"],["target","_blank","href","https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=sf_link",1,"btn","btn-outline-primary","w-100","title"],[1,"fa","fa-pen"],[1,"col-lg-4","col-md-12","col-sm-12"],[1,"col-md-12"],[1,"search"],[1,"fa","fa-search"],["type","text","placeholder","Search By Name",1,"form-control",3,"keyup"],[1,"col-lg-1","col-md-12","col-sm-12"],[1,"btn","btn-outline-secondary","sort-button","w-100","title",3,"click"],[1,"fas","fa-sort-alpha-down"],[1,"btn","btn-outline-success","sort-button","w-100","title",3,"click"],[1,"fa-solid","fa-arrow-down-9-1"],[1,"btn","btn-outline-warning","sort-button","w-100","title",3,"click"],[1,"col-lg-1","col-md-12","col-sm-12","title"],[1,"btn","btn-outline-danger","sort-button","w-100",3,"click"],[1,"fas","fa-shuffle"],[1,"w-100",2,"margin-bottom","1rem"],[1,"btn","btn-link","sort-button",3,"click"],[1,"form-group"],["class","form-check",4,"ngFor","ngForOf"],[2,"width","100%","margin","auto"],["class","col-lg-2 col-md-6 col-sm-12 rgrid",4,"ngFor","ngForOf"],[1,"mt-3","mb-3"],["class","col-lg-3 col-md-6 col-sm-12 mb-4",3,"hidden",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"id","value","ngModel","change","ngModelChange"],[1,"form-check-label",3,"for"],[1,"col-lg-2","col-md-6","col-sm-12","rgrid"],[3,"href"],[1,"card","click-to-top",2,"background-color","whitesmoke","border-width","0.01px","border-radius","0"],["width","40","height","40",1,"rounded-circle","mx-auto",2,"margin","0.5rem",3,"src","alt"],[1,"col-lg-3","col-md-6","col-sm-12","mb-4",3,"hidden"],[1,"card",2,"background-color","whitesmoke",3,"id"],[1,"edit-btn",3,"click"],[1,"fa-solid","fa-pencil"],["width","160","height","160",1,"rounded-circle","mx-auto",2,"margin","0.5rem",3,"src","alt"],[1,"card-body",2,"background-color","#EAECEE"],[1,"card-title","mb-0",2,"font-size","1.4rem"],[1,"card-subtitle","mb-2","text-muted"],[1,"card-text",2,"min-height","2.3em"],[1,"card-text",2,"font-size","0.8rem",3,"hidden"],[2,"min-height","7em"],[1,"card-text",2,"font-size","0.8rem"],[1,"card-text","text-center"],["target","_blank",3,"hidden","href"],[1,"fas","fa-globe",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fas","fa-graduation-cap",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fab","fa-twitter",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fab","fa-linkedin",2,"font-size","1.5rem","color","black","padding-left","0.5rem"]],template:function(n,i){1&n&&(_(0,"div",0)(1,"p"),C(2," Welcome to Egyptian AI, a website dedicated to showcasing the profiles of prominent Egyptian researchers in the field of Artificial Intelligence. If you believe that someone deserving is missing from our list, we welcome your suggestions. To be considered for inclusion, the only criteria is that the individual must have an "),_(3,"strong"),C(4,"h-index of 5 or higher"),b(),C(5,", as recorded on their Google Scholar profile. You can submit your suggestion by filling out "),_(6,"a",1),C(7,"this form"),b(),C(8,", or request updates for existing profiles. We hope that you find our website informative and inspiring, and we invite you to explore the profiles of our featured researchers. To date, we have included "),_(9,"strong"),C(10),b(),C(11," profiles. Please note, the list is randomly shuffled every time the page is refreshed. Check this "),_(12,"a",2),C(13,"Blog Post"),b(),C(14," to read about the motivation behind building this website. "),b(),_(15,"div",3)(16,"div",4)(17,"a",5),V(18,"i",6),C(19," Nominate Someone "),b()(),_(20,"div",7)(21,"div",8)(22,"div",9),V(23,"i",10),_(24,"input",11),Q("keyup",function(o){return i.filterProfiles(o)}),b()()()(),_(25,"div",12)(26,"button",13),Q("click",function(){return i.sortAZ()}),V(27,"i",14),C(28," AZ "),b()(),_(29,"div",4)(30,"button",15),Q("click",function(){return i.sortHIndex()}),V(31,"i",16),C(32," h-Index "),b()(),_(33,"div",4)(34,"button",17),Q("click",function(){return i.sortCitations()}),V(35,"i",16),C(36," Citations "),b()(),_(37,"div",18)(38,"button",19),Q("click",function(){return i.sortShuffle()}),V(39,"i",20),b()()(),_(40,"details",21)(41,"button",22),Q("click",function(){return i.clearAllInterests()}),C(42," Clear "),b(),_(43,"button",22),Q("click",function(){return i.checkAllInterests()}),C(44," Check All "),b(),_(45,"summary"),C(46,"Filter by Research Interests"),b(),_(47,"div",23),ui(48,nN,4,6,"div",24),co(49,"keyvalue"),b()(),_(50,"div",25),ui(51,iN,6,4,"div",26),b(),V(52,"hr",27),ui(53,rN,33,22,"div",28),b()),2&n&&(N(10),wt(" ",i.profiles.length," "),N(38),re("ngForOf",ho(49,4,i.rinterests)),N(3),re("ngForOf",i.researchers),N(2),re("ngForOf",i.researchers))},dependencies:[Yc,wa,wd,Ia,nd,td]}),e})();const Wn=JSON.parse('[{"name":"Mona Diab","affiliation":"CMU","position":"Director of the Language Technologies Institute","hindex":55,"photo":"./assets/images/mona-diab.jpeg","scholar":"https://scholar.google.com/citations?user=-y6SIhQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mona-diab-55946614/","website":"","twitter":"https://mobile.twitter.com/MonaDiab77","interests":["Responsible AI","Natural Language Processing","Computational Linguistics","Arabic NLP","Cross Lingual/Multilingual Processing","Machine Learning"],"citedby":16301,"lastupdate":"2023-10-14"},{"name":"Abdelrahman Mohamed","affiliation":"Rembrand","position":"Co-Founder","hindex":49,"photo":"./assets/images/abdelrahman-mohamed.jpeg","scholar":"https://scholar.google.ca/citations?user=tJ_PrzgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/abdel-rahman-mohamed-a5808210/","website":"","twitter":"","interests":["Speech Processing","Speech Recognition","Speech Language Processing","Machine Learning"],"citedby":53168,"lastupdate":"2023-10-14"},{"name":"Samhaa R. El-Beltagy","affiliation":"New Giza University","position":"Dean of the School of Information Technology","hindex":25,"photo":"./assets/images/samhaa-el-beltagy.jpeg","scholar":"https://scholar.google.com/citations?user=xdz-3qgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/samhaa-el-beltagy-b410a530","website":"","twitter":"","interests":["Arabic NLP","Text Mining","Information Extraction","Sentiment Analysis","Semantic Annotation"],"citedby":2778,"lastupdate":"2023-10-14"},{"name":"Kareem Darwish","affiliation":"aiXplain","position":"Principal Scientist","hindex":43,"photo":"./assets/images/kareem-darwish.jpeg","scholar":"https://scholar.google.com/citations?user=y7tlR6UAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/kareem-darwish-788b9125","website":"http://kareemdarwish.com/files/","twitter":"https://twitter.com/kareem2darwish","interests":["Arabic NLP","Information Retrieval","Computational Social Science","Natural Language Processing"],"citedby":6173,"lastupdate":"2023-10-14"},{"name":"Ahmed Rafea","affiliation":"American University in Cairo","position":"Professor","hindex":28,"photo":"./assets/images/ahmed-rafea.jpeg","scholar":"https://scholar.google.com/citations?user=szDaQLYAAAAJ&hl=en","linkedin":"","website":"https://www.aucegypt.edu/fac/ahmedrafea","twitter":"","interests":["Natural Language Processing","Machine Translation","Mining Social Media","Text Mining","Knowledge Engineering"],"citedby":3404,"lastupdate":"2023-10-14"},{"name":"Mohsen Rashwan","affiliation":"Cairo University","position":"Professor","hindex":22,"photo":"./assets/images/mohsen-rashwan.jpeg","scholar":"https://scholar.google.com/citations?user=Q4Ic2k0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohsen-rashwan-4719364","website":"","twitter":"","interests":["Machine Learning","Speech Processing","Natural Language Processing","Human Language Technology"],"citedby":1510,"lastupdate":"2023-10-14"},{"name":"Rana el Kaliouby","affiliation":"Smart Eye","position":"Deputy CEO","hindex":44,"photo":"./assets/images/rana-el-kaliouby.jpeg","scholar":"https://scholar.google.com/citations?user=tpg6xzgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/kaliouby/","website":"https://ranaelkaliouby.com/","twitter":"https://twitter.com/kaliouby","interests":["Affective Computing","Emotion AI","Human Perception","Computer Vision","Machine Learning"],"citedby":7011,"lastupdate":"2023-10-14"},{"name":"Mohamed Afify","affiliation":"Microsoft","position":"Principal Researcher","hindex":18,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=1ZIc388AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Translation","Speech Recognition","Natural Language Processing","Adaptation Models","Computational Linguistics","Phonology"],"citedby":1058,"lastupdate":"2023-10-14"},{"name":"Hany Hassan Awadalla","affiliation":"Microsoft","position":"Partner Research Manager","hindex":29,"photo":"./assets/images/hany-hassan.jpeg","scholar":"https://scholar.google.com/citations?user=jqsVHbsAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hany-hassan-awadalla/","website":"https://www.microsoft.com/en-us/research/people/hanyh/","twitter":"https://twitter.com/hany_hassan","interests":["Machine Translation","Machine Learning","Natural Language Processing","Deep Learning","Semi-supervised Learning"],"citedby":3232,"lastupdate":"2023-10-14"},{"name":"Ahmed Tawfik","affiliation":"Microsoft","position":"Principal Data and Applied Science Manager","hindex":11,"photo":"./assets/images/ahmed-tawfik.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=8mRqcrIAAAAJ","linkedin":"https://www.linkedin.com/in/ahmed-tawfik-903a093","website":"https://www.microsoft.com/en-us/research/people/atawfik/","twitter":"","interests":["Machine Translation","Machine Learning","Natural Language Processing","Deep Learning","Text-to-Speech"],"citedby":416,"lastupdate":"2023-10-14"},{"name":"Mohamed Moustafa","affiliation":"Amazon","position":"Applied Science Manager","hindex":18,"photo":"./assets/images/mohamed-moustafa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=QGdReUEAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-n-moustafa/","website":"https://www.aucegypt.edu/fac/mohamedmoustafa","twitter":"","interests":["Computer Vision","Machine Learning","Pattern Recognition","Biometrics","Deep Learning"],"citedby":1642,"lastupdate":"2023-10-14"},{"name":"Wael Hamza","affiliation":"Amazon","position":"Senior Principal Applied Scientist","hindex":23,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=rJnetakAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/wael-hamza-5454b63","website":"","twitter":"","interests":["Natural Language Processing","Machine Learning","Machine Translation","Natural Language Understanding","Speech"],"citedby":2970,"lastupdate":"2023-10-14"},{"name":"Iz Beltagy","affiliation":"Allen Institute for AI","position":"Senior Research Scientist","hindex":27,"photo":"./assets/images/iz-beltagy.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=jkV6H1gAAAAJ","linkedin":"https://www.linkedin.com/in/beltagy","website":"https://beltagy.net/","twitter":"https://twitter.com/i_beltagy","interests":["Natural Language Processing","Machine Learning"],"citedby":10260,"lastupdate":"2023-10-14"},{"name":"Waleed Ammar","affiliation":"Allen Institute for AI","position":"Product Manager","hindex":24,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=4NZ58cQAAAAJ","linkedin":"","website":"https://wammar.github.io","twitter":"","interests":["Natural Language Processing","Machine Learning","Semantic Parsing"],"citedby":4376,"lastupdate":"2023-10-14"},{"name":"Ahmed H. Awadallah","affiliation":"Microsoft Research","position":"Senior Principal Research Manager","hindex":47,"photo":"./assets/images/ahmed-awadallah.jpeg","scholar":"https://scholar.google.com/citations?user=sNGk-9MAAAAJ&hl=en","linkedin":"","website":"https://www.microsoft.com/en-us/research/people/hassanam/","twitter":"","interests":["Natural Language Processing","Machine Learning","Information Retrieval"],"citedby":10220,"lastupdate":"2023-10-14"},{"name":"Hala Mostafa","affiliation":"Raytheon Technologies","position":"Manager","hindex":8,"photo":"./assets/images/hala-mostafa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=zmNFj_EAAAAJ","linkedin":"","website":"http://hmostafa.com/","twitter":"","interests":["Machine Learning"],"citedby":407,"lastupdate":"2023-10-14"},{"name":"Baher Abdulhai","affiliation":"University of Toronto","position":"Professor","hindex":37,"photo":"./assets/images/abdulhai.png","scholar":"https://scholar.google.com/citations?hl=en&user=ezgstIoAAAAJ","linkedin":"https://www.linkedin.com/in/baher-abdulhai-b2460215","website":"https://uttri.utoronto.ca/people/baher-abdulhai/","twitter":"","interests":["Intelligent Transportation Systems","Traffic Control and Management","Evacuation Optimization","Congestion Pricing"],"citedby":5651,"lastupdate":"2023-10-14"},{"name":"Yaser S. Abu-Mostafa","affiliation":"Caltech","position":"Professor","hindex":29,"photo":"./assets/images/yaser-abu-mostafa.jpeg","scholar":"https://www.semanticscholar.org/author/Y.-Abu-Mostafa/1398965769","linkedin":"","website":"https://work.caltech.edu/index.html","twitter":"","interests":["Machine Learning","Artificial Intelligence","Computational Finance","Information and Complexity","Probability and Statistics"],"lastupdate":"","citedby":4141},{"name":"Marwan Torki","affiliation":"Alexandria University","position":"Associate Professor","hindex":20,"photo":"./assets/images/marwan-torki.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=aYLNZT4AAAAJ","linkedin":"","website":"http://eng.staff.alexu.edu.eg/~mtorki/","twitter":"","interests":["Machine Learning","Computer Vision","Deep Learning","Natural Language Processing"],"citedby":2594,"lastupdate":"2023-10-14"},{"name":"Medhat Moussa","affiliation":"University of Guelph","position":"Professor","hindex":22,"photo":"./assets/images/medhat-moussa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=x-2sUG4AAAAJ","linkedin":"https://www.linkedin.com/in/medhat-moussa-3a58713","website":"https://www.uoguelph.ca/engineering/people/medhat-moussa-phd-peng","twitter":"","interests":["Robotics","Machine Learning","Machine Vision","Reconfigurable Computing"],"citedby":1829,"lastupdate":"2023-10-14"},{"name":"Khaled Shaalan","affiliation":"The British University in Dubai","position":"Professor","hindex":56,"photo":"./assets/images/khaled-shaalan.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=keLKdlgAAAAJ","linkedin":"","website":"https://sites.google.com/site/khaledshaalan/publications/full-publication-list","twitter":"","interests":["Artificial Intelligence","Arabic NLP","Computational Linguistics","Natural Language Processing","Knowledge Management"],"citedby":13479,"lastupdate":"2023-10-14"},{"name":"Ossama Emam","affiliation":"IBM","position":"Senior Technical Staff Member","hindex":18,"photo":"./assets/images/ossama-emam.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=3Xa5wWMAAAAJ","linkedin":"https://www.linkedin.com/in/ossama-emam-ph-d-21b4b2124","website":"","twitter":"","interests":["Machine Learning","Information Retrieval","Information Extraction","Mathematical and Statistical Modelling","Pattern Recognition","Speech Technology"],"citedby":1062,"lastupdate":"2023-10-14"},{"name":"Alaa Khamis","affiliation":"General Motors","position":"AI & Smart Mobility Technical Leader","hindex":28,"photo":"./assets/images/alaa-khamis.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=btM72xsAAAAJ","linkedin":"https://www.linkedin.com/in/alaakhamis/","website":"https://www.alaakhamis.org","twitter":"","interests":["Smart Mobility","Autonomous and Connected Vehicles","Cognitive IoT","Machine Learning","Combinatorial Optimization"],"citedby":4895,"lastupdate":"2023-10-14"},{"name":"Alaa Sheta","affiliation":"Southern Connecticut (SCSU)","position":"Professor","hindex":31,"photo":"./assets/images/alaa-sheta.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=x7zJsNoAAAAJ","linkedin":"https://www.linkedin.com/in/alaa-sheta-30577617/","website":"https://sites.google.com/site/profalaasheta/home","twitter":"","interests":["Machine Learning","Data Science","Image Processing","Robotics","Software Engineering"],"citedby":3657,"lastupdate":"2023-10-14"},{"name":"Ahmed K. Farahat","affiliation":"Hitachi America, Ltd. R&D","position":"Principal Research Scientist","hindex":19,"photo":"./assets/images/ahmed-farahat.jpeg","scholar":"https://scholar.google.com/citations?user=5kcdVaYAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/afarahat/","website":"http://www.afarahat.com","twitter":"","interests":["Machine Learning","Data Mining","Industrial AI"],"citedby":1875,"lastupdate":"2023-10-14"},{"name":"Motaz El-Saban","affiliation":"Microsoft","position":"Principal Data & Applied Science Manager","hindex":26,"photo":"./assets/images/motaz-el-saban.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=xHcqzWgAAAAJ","linkedin":"https://www.linkedin.com/in/motazelsaban/","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":2861,"lastupdate":"2023-10-14"},{"name":"Maher Ahmed","affiliation":"Wilfrid Laurier University","position":"Associate Professor","hindex":11,"photo":"./assets/images/maher-ahmed.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=qsJmtkMAAAAJ","linkedin":"https://www.linkedin.com/in/maher-ahmed-5baa9112","website":"https://www.wlu.ca/academics/faculties/faculty-of-science/faculty-profiles/maher-ahmed/index.html","twitter":"","interests":["Pattern Recognition","Image Processing"],"citedby":652,"lastupdate":"2023-10-14"},{"name":"Mohamed S. Kamel","affiliation":"University of Waterloo","position":"Professor - Passed Away (2015)","hindex":64,"photo":"./assets/images/mohamed-kamel.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=6Evj9YwAAAAJ","linkedin":"","website":"","twitter":"","interests":["Pattern Analysis","Machine Intelligence","Image Analysis","Pattern Recognition","Computational Intelligence"],"citedby":22429,"lastupdate":"2023-10-14"},{"name":"Ahmad Abdulkader","affiliation":"Meta","position":"Research And Development Scientist - Passed Away (2021)","hindex":7,"photo":"./assets/images/ahmad-abdulkader.jpeg","scholar":"https://www.semanticscholar.org/author/Ahmad-Abdulkader/1859983","linkedin":"","website":"","twitter":"","interests":["Machine Learning"],"lastupdate":"","citedby":345},{"name":"Ali Elkahky","affiliation":"Meta","position":"Research Scientist","hindex":14,"photo":"./assets/images/ali-elkahky.jpeg","scholar":"https://scholar.google.com/citations?user=KB3S8RoAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ali-elkahky-32711ab/","website":"","twitter":"","interests":["Machine Learning","Natural Language Processing"],"citedby":2108,"lastupdate":"2023-10-14"},{"name":"Ahmed El Kholy","affiliation":"Microsoft","position":"Senior Applied Scientist","hindex":16,"photo":"./assets/images/ahmed-el-kholy.jpeg","scholar":"https://scholar.google.com/citations?user=n4PqfX0AAAAJ&hl=en","linkedin":"","website":"https://www.microsoft.com/en-us/research/people/ahelkhol/","twitter":"","interests":["Machine Learning","Natural Language Processing","Conversational AI"],"citedby":3246,"lastupdate":"2023-10-14"},{"name":"Walid Magdy","affiliation":"University of Edinburgh","position":"Associate Professor","hindex":37,"photo":"./assets/images/walid-magdy.jpeg","scholar":"https://scholar.google.com/citations?user=ACQD8jMAAAAJ&hl=en","linkedin":"","website":"https://homepages.inf.ed.ac.uk/wmagdy/","twitter":"https://twitter.com/Walid_Magdy","interests":["Computational Social Science","Natural Language Processing","Data Mining","Information Retrieval"],"citedby":4037,"lastupdate":"2023-10-14"},{"name":"Ahmed Ali","affiliation":"QCRI","position":"Principal Engineer","hindex":24,"photo":"./assets/images/ahmed-ali.jpeg","scholar":"https://scholar.google.com/citations?user=t0gYEjAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedali08","website":"","twitter":"","interests":["Speech Recognition"],"citedby":2067,"lastupdate":"2023-10-14"},{"name":"Neamat El Gayar","affiliation":"Heriot Watt University","position":"Director & Uni Professor","hindex":16,"photo":"./assets/images/neamat-elgayar.jpg","scholar":"https://scholar.google.com/citations?user=RHDcyz8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/neamat-el-gayar-07b7297a/","website":"","twitter":"https://twitter.com/Neamat11647418","interests":["Neural Networks","Machine Learning","Computational Intelligence","Natural Language Processing"],"citedby":1881,"lastupdate":"2023-10-14"},{"name":"Amir Alansary","affiliation":"Jaguar Land Rover","position":"ML & CV Team Lead","hindex":21,"photo":"./assets/images/amir-alansary.jpeg","scholar":"https://scholar.google.com/citations?user=Sj11Jo8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amiralansary/","website":"","twitter":"","interests":["Computer Vision","Machine Learning","Reinforcement Learning","Autonomous Vehicles Perception and Path Planning","Medical Imaging"],"citedby":1603,"lastupdate":"2023-10-14"},{"name":"Mustafa A Elattar","affiliation":"Intixel & Nile University","position":"Founder & Assistant Professor","hindex":11,"photo":"./assets/images/mustafa-elattar.png","scholar":"https://scholar.google.com/citations?user=BJoskL8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mustafa-elattar-phd-42289112/","website":"https://www.intixel.com/","twitter":"https://twitter.com/3ttar","interests":["Medical Imaging","Artificial Intelligence","Image Analysis"],"citedby":803,"lastupdate":"2023-10-14"},{"name":"Hesham Eraqi","affiliation":"Amazon","position":"Senior Scientist","hindex":10,"photo":"./assets/images/hesham-eraqi.jpg","scholar":"https://scholar.google.com.eg/citations?user=Sk-VfXYAAAAJ","linkedin":"https://www.linkedin.com/in/heshameraqi","website":"https://heshameraqi.github.io","twitter":"","interests":["Geospatial Machine Learning","Autonomous Driving","Deep Learning","Handwriting Recognition"],"citedby":809,"lastupdate":"2023-10-14"},{"name":"Ahmed Alsallab","affiliation":"Microsoft","position":"Principal Applied Science Manager","hindex":19,"photo":"./assets/images/ahmad-al-sallab.jpeg","scholar":"https://scholar.google.com/citations?user=hiEbSZYAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmad-el-sallab-phd-7aa2195a","website":"","twitter":"","interests":["Deep Learning","Computer Vision","Natural Language Processing"],"citedby":3534,"lastupdate":"2023-10-14"},{"name":"Gamaleldin Elsayed","affiliation":"Google Brain","position":"Senior Research Scientist","hindex":15,"photo":"./assets/images/gamaleldin-elsayed.jpeg","scholar":"https://scholar.google.com/citations?user=7PrTPzsAAAAJ&hl=en&oi=ao","linkedin":"","website":"http://www.columbia.edu/~gfa2109/","twitter":"","interests":["Machine Learning","Computer Vision","Computational Neuroscience"],"citedby":2033,"lastupdate":"2023-10-14"},{"name":"Mahmoud Abou-Nasr","affiliation":"Ford Motor Company","position":"Lecturer III","hindex":11,"photo":"./assets/images/mahmoud-abou-nasr.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=qkvufmcAAAAJ","linkedin":"","website":"","twitter":"","interests":["Neural Networks","Data Mining","Deep Learning","Reinforcement Learning","Optimization"],"citedby":357,"lastupdate":"2023-10-14"},{"name":"Mohamed Elhoseiny","affiliation":"KAUST","position":"Assistant Professor","hindex":34,"photo":"./assets/images/mohamed-elhoseiny.png","scholar":"https://scholar.google.com/citations?user=iRBUTOAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-elhoseiny-8a836215","website":"http://www.mohamed-elhoseiny.com/","twitter":"https://twitter.com/moElhoseiny","interests":["Zero-Shot Learning","Few-Shot Learning","Computer Vision","Computational Creativity","Vision and Language"],"citedby":8011,"lastupdate":"2023-10-14"},{"name":"Amr Ahmed","affiliation":"Google","position":"Senior Staff Research Scientist","hindex":39,"photo":"./assets/images/amr-ahmed.png","scholar":"https://scholar.google.com/citations?user=ivUi2T0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amr-ahmed-b998965","website":"https://research.google/people/AmrAhmed/","twitter":"","interests":["Machine Learning","Big Data","User Modeling","Personalization","Content Analysis"],"citedby":11322,"lastupdate":"2023-10-14"},{"name":"Amir Atiya","affiliation":"Cairo University","position":"Professor","hindex":48,"photo":"./assets/images/amir-atiya.jpeg","scholar":"https://scholar.google.com/citations?user=sT6n4zAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amir-atiya-8685b7","website":"https://cairo.academia.edu/AmirAtiya","twitter":"","interests":["Machine Learning","Pattern Classification","Computational Finance"],"citedby":12838,"lastupdate":"2023-10-14"},{"name":"Ramy Eskander","affiliation":"Twitter","position":"Senior Research Scientist","hindex":19,"photo":"./assets/images/ramy-eskander.jpeg","scholar":"https://scholar.google.com/citations?user=4SE1GIgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ramyeskander/","website":"","twitter":"","interests":["NLP","Recommendation Systems","Multilinguality","Low-Resource Languages","Arabic NLP","Unsupervised and Semi-Supervised Learning"],"citedby":1926,"lastupdate":"2023-10-14"},{"name":"Tamer Elsayed","affiliation":"Qatar University","position":"Associate Professor","hindex":30,"photo":"./assets/images/tamer-elsayed.jpeg","scholar":"https://scholar.google.com/citations?user=ekS-yPIAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/tamer-elsayed-a9a71116/","website":"http://qufaculty.qu.edu.qa/telsayed/","twitter":"https://twitter.com/tamer_elsayed","interests":["Information Retrieval","Natural Language Processing","Applied Machine Learning","Big Data Analytics"],"citedby":3081,"lastupdate":"2023-10-14"},{"name":"Mohamed Elbadrashiny","affiliation":"aiXplain","position":"Principal Scientist","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=DppUkNUAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-elbadrashiny-591908b","website":"","twitter":"","interests":["Natural Language Processing","Multimodal Dialog","Large Language Models"],"citedby":1647,"lastupdate":"2023-10-14"},{"name":"Ibrahim Sabek","affiliation":"Univ. of Southern California","position":"Assistant Professor","hindex":11,"photo":"./assets/images/ibrahim-sabek.png","scholar":"https://scholar.google.com/citations?user=R8732voAAAAJ&hl=en","linkedin":"http://www.linkedin.com/pub/ibrahim-sabek/23/422/526","website":"http://people.csail.mit.edu/ibrahimsabek/","twitter":"https://twitter.com/ibrahim_sabek","interests":["Machine Learning for Database Systems","Data Management and Analysis"],"citedby":525,"lastupdate":"2023-10-14"},{"name":"Mostafa Saad Ibrahim","affiliation":"Nvidia","position":"Senior Computer Vision Engineer","hindex":6,"photo":"./assets/images/mostafa-s-ibrahim.jpeg","scholar":"https://scholar.google.com/citations?user=2fSZbmkAAAAJ&hl=en/","linkedin":"https://www.linkedin.com/in/mostafasaad","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":765,"lastupdate":"2023-10-14"},{"name":"Mostafa Elhoushi","affiliation":"Meta","position":"Research Engineer","hindex":12,"photo":"./assets/images/mostafa-elhoushi.jpeg","scholar":"https://scholar.google.ca/citations?user=y_cwSKAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mostafaelhoushi/","website":"","twitter":"","interests":["Machine Learning","Deep Learning","Navigation","Quantum Computing"],"citedby":497,"lastupdate":"2023-10-14"},{"name":"Sameh Khamis","affiliation":"Rembrand","position":"Lead Research Scientist","hindex":22,"photo":"./assets/images/sameh-khamis.jpeg","scholar":"https://scholar.google.com/citations?user=9WgcwYQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/samehkhamis/","website":"https://www.samehkhamis.com","twitter":"","interests":["Machine Learning","Computer Vision","Graphics"],"citedby":4044,"lastupdate":"2023-10-14"},{"name":"Ibrahim Sobh","affiliation":"Valeo","position":"Senior Expert of AI","hindex":11,"photo":"./assets/images/ibrahim-sobh.jpeg","scholar":"https://scholar.google.com.eg/citations?user=SODWkygAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ibrahim-sobh-phd-8681757/","website":"","twitter":"","interests":["Machine Learning","Computer Vision","Autonomous Driving"],"citedby":1501,"lastupdate":"2023-10-14"},{"name":"Aboul Ella Hassanien","affiliation":"Cairo University","position":"Professor","hindex":85,"photo":"./assets/images/aboul-ella-hassanien-ali.jpeg","scholar":"https://scholar.google.com/citations?user=aZ6bcngAAAAJ&hl=en","linkedin":"https://eg.linkedin.com/in/aboul-ella-hassanien-48a9528","website":"","twitter":"","interests":["Artificial Intelligence","Swarm Optimization","IoT","Drones","Metaverses","Biomedical Informatics"],"citedby":31717,"lastupdate":"2023-10-14"},{"name":"Fahmi Khalifa","affiliation":"Mansoura University","position":"Assistant Professor","hindex":48,"photo":"./assets/images/fahmi-khalifa.jpeg","scholar":"https://scholar.google.ca/citations?user=Ua1i31oAAAAJ&hl=fr&oi=ao","linkedin":"","website":"","twitter":"","interests":["Medical Image Analysis","Machine Learning","Pattern Recognition","Image and Signal Processing","Multimedia","Biomedical Informatics"],"citedby":5472,"lastupdate":"2023-10-14"},{"name":"Khaled Fathy Hussein","affiliation":"Assiut University","position":"Head of CS Department","hindex":17,"photo":"./assets/images/khaled-hussain.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=8DgiMfcAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"https://www.aun.edu.eg/fci/khaled-fathy-hussein-saleh","twitter":"","interests":["Computer Vision","Computer Graphics","Neural Networks"],"citedby":1112,"lastupdate":"2023-10-14"},{"name":"Mohamed Nabih Ali","affiliation":"Fondazione Bruno Kessler","position":"Post Doctoral Researcher","hindex":6,"photo":"./assets/images/mohamed-nabih.jpg","scholar":"https://scholar.google.com/citations?user=6VXSI8wAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-nabih-5011b074/","website":"","twitter":"","interests":["Artificial Intelligence","Machine Learning","Deep Learning","Speech Enhancement and Recognition","Biomedical Signal Processing","Image Processing"],"citedby":213,"lastupdate":"2023-10-14"},{"name":"Omar Khattab","affiliation":"Stanford University","position":"PhD Student","hindex":12,"photo":"./assets/images/omar-khattab.jpeg","scholar":"https://scholar.google.com/citations?user=Lwr5ozgAAAAJ&hl=en","linkedin":"","website":"https://omarkhattab.com/","twitter":"https://twitter.com/lateinteraction","interests":["Natural Language Processing","Information Retrieval"],"citedby":2871,"lastupdate":"2023-10-14"},{"name":"Ahmed Elgammal","affiliation":"Rutgers University","position":"Professor","hindex":55,"photo":"./assets/images/ahmed-elgammal.jpeg","scholar":"https://scholar.google.com/citations?user=DxQiCiIAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-elgammal-71667911/","website":"https://sites.rutgers.edu/ahmed-elgammal/","twitter":"https://twitter.com/ahmed_elgammal?lang=en","interests":["Computer Vision"],"citedby":16665,"lastupdate":"2023-10-14"},{"name":"Ahmed El-Kishky","affiliation":"Twitter","position":"Staff ML Researcher","hindex":16,"photo":"./assets/images/ahmed-el-kishky.jpeg","scholar":"https://scholar.google.com/citations?user=A4frpBcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-e-56566b47/","website":"https://ahelk.github.io/","twitter":"","interests":["Machine Learning","NLP","Data Mining","Graph Learning","Recommender Systems"],"citedby":1482,"lastupdate":"2023-10-14"},{"name":"Moustafa Alzantot","affiliation":"Google Research","position":"Senior Engineer","hindex":17,"photo":"./assets/images/moustafa-alzantot.jpeg","scholar":"https://scholar.google.com/citations?user=AusbFkQAAAAJ","linkedin":"https://www.linkedin.com/in/malzantot/","website":"","twitter":"","interests":["Machine Learning","Recommender Systems","Natural Language Processing"],"citedby":4263,"lastupdate":"2023-10-14"},{"name":"Heba Elfardy","affiliation":"Amazon","position":"Senior ML Scientist","hindex":12,"photo":"./assets/images/heba-elfardy.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=L6lzWrYAAAAJ","linkedin":"https://www.linkedin.com/in/heba-elfardy-a0984b2b","website":"","twitter":"","interests":["Natural Language Processing"],"citedby":607,"lastupdate":"2023-10-14"},{"name":"Ahmed Hefny","affiliation":"Cruise","position":"Staff Research Scientist","hindex":13,"photo":"./assets/images/ahmed-hefny.jpeg","scholar":"https://scholar.google.com/citations?user=FAv6Nd8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-hefny","website":"","twitter":"","interests":["Machine Learning"],"citedby":1586,"lastupdate":"2023-10-14"},{"name":"Hady Elsahar","affiliation":"Meta","position":"Research Scientist","hindex":15,"photo":"./assets/images/hady-elsahar.jpeg","scholar":"https://scholar.google.com.eg/citations?user=SbcM6bsAAAAJ&hl=en","linkedin":"","website":"https://www.hadyelsahar.io/","twitter":"https://twitter.com/hadyelsahar","interests":["Natural Language Processing","Machine Learning"],"citedby":1755,"lastupdate":"2023-10-14"},{"name":"Ahmed M. Badawi","affiliation":"Cairo University","position":"Professor","hindex":17,"photo":"./assets/images/ahmed-badawi.jpeg","scholar":"https://scholar.google.com/citations?user=r9pLu6EAAAAJ","linkedin":"https://www.linkedin.com/in/ahmed-badawi-215167a","website":"https://ieeexplore.ieee.org/author/37345733000","twitter":"","interests":["Computer Vision","Biometric","Medical Imaging","Medical Diagnosis","Multimodal Matching","Image Processing","Pattern Recognition","Pattern Classification"],"citedby":1589,"lastupdate":"2023-10-14"},{"name":"Mostafa Badawy","affiliation":"Apple","position":"(AI/ML) Software Engineer (Siri)","hindex":7,"photo":"./assets/images/mostafa-badawy.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=iq8c9CkAAAAJ","linkedin":"https://www.linkedin.com/in/mostafa-gamal-badawy/","website":"","twitter":"","interests":["Machine Learning","Natural Language Processing","Computer Vision","Artificial Intelligence"],"citedby":407,"lastupdate":"2023-10-14"},{"name":"Muhammad AbdulMageed","affiliation":"UBC","position":"Associate Professor","hindex":26,"photo":"./assets/images/muhammad-abdulmageed.jpeg","scholar":"https://scholar.google.com/citations?user=SOjQhl8AAAAJ","linkedin":"","website":"https://mageed.arts.ubc.ca/","twitter":"","interests":["Arabic NLP","Natural Language Processing","Machine Learning"],"citedby":3515,"lastupdate":"2023-10-14"},{"name":"Wael Abd-Almageed","affiliation":"USC","position":"Research Associate Professor","hindex":31,"photo":"./assets/images/wael-abdalmageed.jpeg","scholar":"https://scholar.google.com/citations?user=tRGH8FkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":4121,"lastupdate":"2023-10-14"},{"name":"Youssef Nashed","affiliation":"Stanford University","position":"Staff ML Scientist","hindex":21,"photo":"./assets/images/youssef-nashed.jpeg","scholar":"https://scholar.google.com/citations?user=pQXy90QAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ynashed/","website":"","twitter":"","interests":["Computer Vision","Geometric Deep Learning","Graph Neural Networks"],"citedby":1554,"lastupdate":"2023-10-14"},{"name":"Abubakr Karali","affiliation":"NVIDIA","position":"Senior Solutions Architect","hindex":5,"photo":"./assets/images/abubakr-karali.jpeg","scholar":"https://scholar.google.com/citations?user=ACxQHBUAAAAJ&hl=en","linkedin":"https://se.linkedin.com/in/abubakr-karali-8988486b","website":"","twitter":"","interests":["Computer Vision","Self-Supervised Learning"],"citedby":119,"lastupdate":"2023-10-14"},{"name":"Ahmed Sahlol","affiliation":"Co-founder Tachyhealth","position":"Associate Professor of ML","hindex":15,"photo":"./assets/images/ahmed-sahlol.jpeg","scholar":"https://scholar.google.com/citations?user=JZB2oMQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-sahloul","website":"","twitter":"","interests":["Medical Imaging","Medical NLP","Medical Fraud Detection"],"citedby":1428,"lastupdate":"2023-10-14"},{"name":"Eslam Kamal","affiliation":"Microsoft","position":"Applied Science Manager","hindex":8,"photo":"./assets/images/eslam-kamal.jpeg","scholar":"https://scholar.google.com/citations?user=KRFyxS0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/eslamkamal85","website":"","twitter":"","interests":["NLP","LLMs","Conversational AI","Responsible AI"],"citedby":324,"lastupdate":"2023-10-14"},{"name":"Yehia Elshater","affiliation":"Amazon","position":"Data/Applied Scientist","hindex":5,"photo":"./assets/images/yehia-elshater.jpeg","scholar":"https://scholar.google.com/citations?user=S8MZ9PMAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/yehiaz/","website":"","twitter":"","interests":["Recommendation Engines","NLP","Forecasting"],"citedby":135,"lastupdate":"2023-10-14"},{"name":"Ahmed Rashed","affiliation":"Volkswagen Financial Service","position":"Senior Data Scientist","hindex":6,"photo":"./assets/images/ahmed-rashed.jpeg","scholar":"https://scholar.google.com.eg/citations?user=-wyZHw8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedrashed-ai/","website":"","twitter":"","interests":["Recommender Systems","Graph Mining","Time Series Forecasting"],"citedby":186,"lastupdate":"2023-10-14"},{"name":"Shady Elbassuoni","affiliation":"American University of Beirut","position":"Associate Professor","hindex":23,"photo":"./assets/images/shady-elbassuoni.jpg","scholar":"https://scholar.google.com/citations?user=Fe8iIHMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Computer Vision","Information Retrieval","Public Health and Medicine"],"citedby":2865,"lastupdate":"2023-10-14"},{"name":"Noha Radwan","affiliation":"Inceptive","position":"Researcher","hindex":11,"photo":"./assets/images/noha-radwan.jpeg","scholar":"https://scholar.google.com/citations?user=g98QcZUAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer vision","Deep learning"],"citedby":1828,"lastupdate":"2023-10-14"},{"name":"Radwa ElShawi","affiliation":"Tartu university","position":"Associate Professor","hindex":17,"photo":"./assets/images/radwa-elshawi.jpeg","scholar":"https://scholar.google.de/citations?user=RD5PdpwAAAAJ&hl=en","linkedin":"","website":"https://radwaelshawi.cs.ut.ee/","twitter":"","interests":["Explainable AI","AutoML","health informatics"],"citedby":1610,"lastupdate":"2023-10-14"},{"name":"Ramy Hussein","affiliation":"Stanford University","position":"Machine Learning Researcher","hindex":18,"photo":"./assets/images/ramy-hussein.jpeg","scholar":"https://scholar.google.ca/citations?user=lc3lgegAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ramy-hussein","website":"","twitter":"","interests":["Artificial Intelligence","Computer Vision","Signal/Image Processing","Medical Imaging"],"citedby":1065,"lastupdate":"2023-10-14"},{"name":"Sarah Adel Bargal","affiliation":"Georgetown University","position":"Professor","hindex":16,"photo":"./assets/images/sarah-adel-bargal.jpeg","scholar":"https://scholar.google.com/citations?user=zjlFcrEAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer vision","Deep Learning"],"citedby":2543,"lastupdate":"2023-10-14"},{"name":"Badr AlKhamissi","affiliation":"EPFL","position":"PhD Student","hindex":6,"photo":"./assets/images/badr.jpeg","scholar":"https://scholar.google.com/citations?user=0l9UHtQAAAAJ&hl=en&authuser=1","linkedin":"https://linkedin.com/in/bkhmsi","website":"https://bkhmsi.github.io","twitter":"https://twitter.com/bkhmsi","interests":["Machine Learning","Natural Language Processing","Computational Neuroscience","Computer Vision"],"citedby":103,"lastupdate":"2023-10-14"},{"name":"Moamen AbdelRazek","affiliation":"Royal Bank of Canada","position":"Lead Machine Learning Engineer","hindex":7,"photo":"./assets/images/moamen-abdelrazek.jpg","scholar":"https://scholar.google.com.eg/citations?user=7bcODQ8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/moamen-abdelrazek","website":"https://github.com/moemen95","twitter":"","interests":["NLP","LLMs","Computer Vision","ML Ops"],"citedby":384,"lastupdate":"2023-10-14"},{"name":"Ahmed Magooda","affiliation":"Microsoft","position":"Applied Researcher","hindex":7,"photo":"./assets/images/ahmed-magooda.jpeg","scholar":"https://scholar.google.com.eg/citations?user=x90NynMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["NLP","Deep Learning"],"citedby":308,"lastupdate":"2023-10-14"},{"name":"Aly El Gamal","affiliation":"Amazon","position":"Sr. Applied Scientist","hindex":16,"photo":"./assets/images/aly-elgamal.jpeg","scholar":"https://scholar.google.com/citations?view_op=list_works&hl=en&hl=en&user=x47tshQAAAAJ&sortby=pubdate","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Consumer Engagement","Information Theory"],"citedby":1170,"lastupdate":"2023-10-14"},{"name":"Tamer Basha","affiliation":"BIDMC and Harvard Medical","position":"Postdoctoral Research Fellow","hindex":23,"photo":"./assets/images/tamer-basha.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=C6Hg48cAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"","twitter":"","interests":["Medical Imaging"],"citedby":1865,"lastupdate":"2023-10-14"},{"name":"Momen Negm","affiliation":"Rasheed AI","position":"Co-Founder","hindex":25,"photo":"./assets/images/momen-negm.jpg","scholar":"https://scholar.google.com/citations?user=JJ_RhZEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/momennegm/","website":"","twitter":"https://twitter.com/mo2men","interests":["Computer Vision","Machine Learning"],"citedby":3807,"lastupdate":"2023-10-14"},{"name":"Mostafa Salem","affiliation":"Assiut University","position":"Assistant Professor","hindex":10,"photo":"./assets/images/mostafa-salem.jpeg","scholar":"https://scholar.google.com.eg/citations?user=7P86J5YAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/dr-mostafasalem/","website":"https://mostafasalem.netlify.app/","twitter":"","interests":["Medical Image Analysis","Computer Vision","3D Reconstruction"],"citedby":1969,"lastupdate":"2023-10-14"},{"name":"Noureldin Elmadany","affiliation":"AAST","position":"Assistant Professor","hindex":9,"photo":"./assets/images/nour-elmadany.jpg","scholar":"https://scholar.google.com/citations?user=sy8RRsgAAAAJ&hl=ja","linkedin":"","website":"","twitter":"","interests":["Multimodal Learning","Action Recognition and Anticipation"],"citedby":239,"lastupdate":"2023-10-14"},{"name":"Ahmed Masry","affiliation":"Arteria AI","position":"Data Scientist","hindex":5,"photo":"./assets/images/ahmed-elmasry.jpg","scholar":"https://scholar.google.com/citations?user=XqPX5XcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-masry-ku/","website":"","twitter":"https://twitter.com/Ahmed_Masry97","interests":["NLP","Multimodal Chart & Document Understanding","Computer Vision"],"citedby":138,"lastupdate":"2023-10-14"},{"name":"Sahar Selim","affiliation":"Nile University","position":"Assistant Professor","hindex":6,"photo":"./assets/images/sahar-selim.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=Ynx9NTwAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"https://www.linkedin.com/in/sahar-selim-soussa/?originalSubdomain=eg","website":"","twitter":"","interests":["Machine Learning","Medical Imaging","Brain-Computer Interface","Neural Engineering"],"citedby":250,"lastupdate":"2023-10-14"},{"name":"Ghada Khoriba","affiliation":"Nile University","position":"Associate Professor","hindex":9,"photo":"./assets/images/ghada-khoriba.jpg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=jwTBsIIAAAAJ","linkedin":"https://www.linkedin.com/in/ghada-khoriba-090b72113","website":"https://www.nu.edu.eg/academic-staff/dr-ghada-khoriba","twitter":"","interests":["Medical Image Analysis","Machine Learning","Swarm Algorithms","Computer Vision","NLP","LLMs","Knowledge Graphs."],"citedby":597,"lastupdate":"2023-10-14"},{"name":"Fatma Elzahraa Eid","affiliation":"Broad Institute / Al-Azhar","position":"Biomedical Machine Learning Group Lead","hindex":5,"photo":"./assets/images/fatma-elzahraa.jpeg","scholar":"https://scholar.google.ca/citations?user=Q4RV3MEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/fatma-elzahraa-eid-553b475b/","website":"","twitter":"","interests":["Biomedical ML","Data-driven Protein Engineering","Biological sequence engineering","Data-driven Therapeutics"],"citedby":363,"lastupdate":"2023-10-14"},{"name":"Haitham Elmarakeby","affiliation":"DF/HCC / Alazhar University","position":"Instructor / ML Group Lead","hindex":17,"photo":"./assets/images/haitham-elmarakeby.jpeg","scholar":"https://scholar.google.com/citations?user=yg6RHWoAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/haitham-elmarakeby/","website":"https://connects.catalyst.harvard.edu/Profiles/display/Person/162206","twitter":"","interests":["Cancer Machine Learning"],"citedby":1776,"lastupdate":"2023-10-14"},{"name":"Ahmad Taher Azar","affiliation":"Prince Sultan / Benha Uni","position":"Full Professor","hindex":68,"photo":"./assets/images/ahmad-azar.jpeg","scholar":"https://scholar.google.com/citations?user=6gf4UVkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Control Theory & Applications","Robotics","Artificial Intelligence","Reinforcement Learning"],"citedby":17481,"lastupdate":"2023-10-14"},{"name":"Hossam Hassan Ammar","affiliation":"University of Hertfordshire","position":"Lecturer of Mechatronics and Robotics, CTO of ITC","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=gxtCFWkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Robotics","Automatic Control","Renewable Energy"],"citedby":672,"lastupdate":"2023-10-14"},{"name":"Marwa Mahmoud","affiliation":"University of Glasgow","position":"Assistant Professor","hindex":18,"photo":"./assets/images/marwa-mahmoud.jpeg","scholar":"https://scholar.google.com/citations?user=mYyG4p0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Affective Computing","Computer Vision","Gesture Recognition","Animal Behaviour Understanding"],"citedby":1550,"lastupdate":"2023-10-14"},{"name":"Ahmed Elgohary","affiliation":"Microsoft","position":"Researcher","hindex":17,"photo":"./assets/images/ahmed-elgohary.jpeg","scholar":"https://scholar.google.com/citations?user=WDTv0I4AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing"],"citedby":3380,"lastupdate":"2023-10-14"},{"name":"Amr Sharaf","affiliation":"Microsoft","position":"Researcher","hindex":8,"photo":"./assets/images/amr-sharaf.jpeg","scholar":"https://scholar.google.com/citations?user=It3Gm1EAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Computer Vision","Machine Learning"],"citedby":331,"lastupdate":"2023-10-14"},{"name":"Hazem Rashed","affiliation":"Valeo","position":"Senior Principal ML Research Engineer","hindex":15,"photo":"./assets/images/hasem-rashed.jpg","scholar":"https://scholar.google.com/citations?user=hYdZUowAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hazem-rashed-a9490428/","website":"","twitter":"","interests":["Deep Learning","Computer Vision","Autonomous Driving"],"citedby":893,"lastupdate":"2023-10-14"},{"name":"Mennatullah Siam","affiliation":"Ontario Tech University","position":"Tenure-Track Assistant Professor","hindex":15,"photo":"./assets/images/mennatullah_siam.jpg","scholar":"https://scholar.google.com/citations?user=AVPds3kAAAAJ&hl=en&oi=ao","linkedin":"https://www.linkedin.com/in/mennatullah-siam-6546508a","website":"https://msiam.github.io/homepage/","twitter":"","interests":["Computer Vision","Deep Learning","Fewshot Learning","Video Object Segmentation","Video Understanding","Spatiotemporal Models Interpretability."],"citedby":1323,"lastupdate":"2023-10-14"},{"name":"Hamdy Mubarak","affiliation":"QCRI","position":"Principal Software Engineer","hindex":32,"photo":"./assets/images/hamdy-mubarak.jpeg","scholar":"https://scholar.google.com/citations?user=usvY6qYAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Software Engineering","Information Extraction","Social Media Analysis","Arabic NLP"],"citedby":3753,"lastupdate":"2023-10-14"},{"name":"Mohamed Mokbel","affiliation":"Univ. of Minnesota","position":"Distinguished McKnight University Professor, Univ. of Minnesota","hindex":58,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=GHz1ZVIAAAAJ","linkedin":"","website":"","twitter":"","interests":["Database Systems","GIS","Spatial Databases","Spatial Big Data","Mobile Data Management"],"citedby":15995,"lastupdate":"2023-10-14"},{"name":"Ashraf Aboulnaga","affiliation":"QCRI","position":"Chief Scientist","hindex":41,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=47sihrsAAAAJ","linkedin":"","website":"","twitter":"","interests":["Databases","Cloud computing","Graphs"],"citedby":5864,"lastupdate":"2023-10-14"},{"name":"Essam Mansour","affiliation":"Concordia University","position":"Assistant Professor","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=dqgckDgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database systems","data science platforms","distributed/parallel systems","machine learning"],"citedby":1371,"lastupdate":"2023-10-14"},{"name":"Ihab F. Ilyas","affiliation":"University of Waterloo","position":"Professor","hindex":57,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=YG6mTEIAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Databases","Data Management","Data Cleaning","Data Integration","Data Science"],"citedby":13153,"lastupdate":"2023-10-14"},{"name":"Walid G. Aref","affiliation":"Purdue University","position":"Professor","hindex":63,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=vX45evgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database Systems","Spatial Databases","Data Management"],"citedby":16201,"lastupdate":"2023-10-14"},{"name":"Abdurrahman Ghanem","affiliation":"Yelp","position":"Senior Software Engineer","hindex":5,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=XrVeZKgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Mobile Development","Artificial Intelligence","Machine Learning"],"citedby":457,"lastupdate":"2023-10-14"},{"name":"Hossam Hammady","affiliation":"Rayyan Systems Inc.","position":"Vice President of Engineering","hindex":11,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=49pKt_kAAAAJ","linkedin":"","website":"","twitter":"","interests":["cloud computing","distributed systems","machine learning","data analytics"],"citedby":11330,"lastupdate":"2023-10-14"},{"name":"Sherif Abdou","affiliation":"Cairo University","position":"Associate Professor","hindex":19,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=aFYes5MAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["artificial intelligence","Human Language technologies","speech recognition","language modeling","text to speech"],"citedby":1344,"lastupdate":"2023-10-14"},{"name":"Amr Magdy","affiliation":"UC Riverside","position":" Assistant Professor","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=11CMsKsAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Data management","spatial data management","GIS","large-scale data analytics","indexing"],"citedby":842,"lastupdate":"2023-10-14"},{"name":"Thanaa Ghanem","affiliation":"Metropolitan State University","position":"Metropolitan State University","hindex":15,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=ZUQDHsMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database systems"],"citedby":1260,"lastupdate":"2023-10-14"},{"name":"Mohammed Attia","affiliation":"Google Inc.","position":"Analytical Linguist","hindex":26,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=fvpPkj0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Morphology","syntax","statistical parsing","spell checking","Lexical Functional Grammar"],"citedby":3251,"lastupdate":"2023-10-14"},{"name":"Ahmed Mourad","affiliation":"Apeiros","position":"Apeiros","hindex":10,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=pcibYXwAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Information Retrieval","Evaluation","Natural language Processing","Social Media Analysis"],"citedby":491,"lastupdate":"2023-10-14"},{"name":"Tarek El-Ganainy","affiliation":"Electronic Arts","position":"Electronic Arts","hindex":8,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=CJi5hO0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Information Retrieval","Machine Learning","Virtual Reality"],"citedby":177,"lastupdate":"2023-10-14"},{"name":"Mohamed Hefeeda","affiliation":"Simon Fraser University","position":"Professor","hindex":34,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=0pu-90QAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Multimedia Systems","Computer Networks","Multimedia AI"],"citedby":6057,"lastupdate":"2023-10-14"},{"name":"Mohamed Elgharib","affiliation":"MPI for Informatics","position":"Research Group Leader","hindex":25,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=e1WLgm8AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer Graphics","Computer Vision","Machine Learning","Virtual/Augmented Reality"],"citedby":2627,"lastupdate":"2023-10-14"},{"name":"Tarek Elgamal","affiliation":"LocknSell","position":"Founder & CEO","hindex":9,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=CMrSMisAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Privacy-Preserving ML","Edge computing","Multimedia systems","Machine Learning"],"citedby":448,"lastupdate":"2023-10-14"},{"name":"AbdelRahim A. ElMadany","affiliation":"UBC","position":"PostDoc","hindex":11,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=v3akuNAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/tarek-elgamal/","website":"","twitter":"","interests":["Natural Language Processing","Deep Learning","Computational Social Science","Machine Learning","Speech Act"],"citedby":657,"lastupdate":"2023-10-14"},{"name":"Mohamed Waleed Fakhr","affiliation":"AAST","position":"Professor","hindex":13,"photo":"./assets/images/mohamed-fakhr.jpg","scholar":"https://scholar.google.com/citations?user=37Rfy7sAAAAJ&hl=en","linkedin":"https://eg.linkedin.com/in/mohamed-waleed-fakhr-2b952036","website":"","twitter":"","interests":["Digital Signal Processing","Deep Learning","NLP"],"citedby":685,"lastupdate":"2023-10-14"},{"name":"Mohamed Loey","affiliation":"Benha University","position":"Associate Prof","hindex":19,"photo":"./assets/images/mohamed-loey.jpg","scholar":"https://scholar.google.com/citations?user=_kRSr78AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mloey","website":"https://bu.edu.eg/staff/mloey","twitter":"https://twitter.com/mloey","interests":["Deep Learning","Artificial Intelligence","Machine Learning","Image Processing"],"citedby":3214,"lastupdate":"2023-10-14"},{"name":"Wael Badawy","affiliation":"University of Hertfordshire","position":"Program Lead","hindex":30,"photo":"./assets/images/wael_badawy.jpg","scholar":"https://scholar.google.ca/citations?user=d_6Lp3IAAAAJ&hl=en&oi=ao","linkedin":"https://linkedIn.com/in/waelbadawy","website":"https://waelbadawy.com","twitter":"https://Twitter.com/wbadawy","interests":["Artificial Intelligence","Computer Vision","Cyber Security."],"citedby":4218,"lastupdate":"2023-10-14"},{"name":"Mohamed Salem Elaraby","affiliation":"University of Pittsburgh","position":"PhD Researcher","hindex":6,"photo":"./assets/images/mohamed-elaraby.jpg","scholar":"https://scholar.google.com.eg/citations?user=A5jMCaAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-salem-b25b24b6/","website":"","twitter":"https://twitter.com/MsalemUBC","interests":["Natural Language Processing","Legal Document Summarization","Deep Learning"],"citedby":179,"lastupdate":"2023-10-14"},{"name":"Mohamed Altantawy","affiliation":"Agolo","position":"CTO & Founder","hindex":5,"photo":"./assets/images/mohamed_altantawy.jpeg","scholar":"https://scholar.google.com/citations?user=aelgAPAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/altantawy/","website":"","twitter":"","interests":["Machine Learning","Natural Langauge Processing"],"citedby":191,"lastupdate":"2023-10-14"},{"name":"Muhammad Ali Rushdi","affiliation":"Cairo & New Giza University","position":"Associate Professor","hindex":13,"photo":"./assets/images/muhammad-rushdi.png","scholar":"https://scholar.google.com/citations?user=vDgGLjsAAAAJ&hl=en&oi=ao","linkedin":"https://www.linkedin.com/in/muhammad-rushdi-4817a462/","website":"http://scholar.cu.edu.eg/mrushdi","twitter":"","interests":["Machine learning","Biomedical Signal Processing","Medical Image Analysis","Information Security and Forensics","Computer Vision","Applied Mathematics"],"citedby":550,"lastupdate":"2023-10-14"}]');function sN(e,t){if(1&e){const n=to();_(0,"div",30)(1,"input",31),Q("change",function(){return ni(n),ii(Ot().filterInterests())})("ngModelChange",function(r){const s=ni(n).$implicit;return ii(Ot().rinterests[s.key]=r)}),b(),_(2,"label",32),C(3),b()()}if(2&e){const n=t.$implicit,i=Ot();N(1),wn("id","",n.key,"Checkbox"),we("value",n.key),re("ngModel",i.rinterests[n.key]),N(1),wn("for","",n.key,"Checkbox"),N(1),or("",n.key," (",i.rinterestsFreq[n.key],")")}}function aN(e,t){if(1&e&&(_(0,"div",33)(1,"a",34)(2,"div",35),V(3,"img",36),_(4,"span"),C(5),b()()()()),2&e){const n=t.$implicit;N(1),wn("href","#",n.name,"",je),N(2),we("src",n.photo,je),we("alt",n.name),N(2),js(n.name)}}function lN(e,t){if(1&e){const n=to();_(0,"div",37)(1,"div",38)(2,"div")(3,"a",39),Q("click",function(){const o=ni(n).$implicit;return ii(Ot().editProfile(o))}),V(4,"i",40),b()(),V(5,"img",41),_(6,"div",42)(7,"h4",43),C(8),b(),_(9,"h5",44),C(10),b(),_(11,"h6",45),C(12),b(),_(13,"span",46),C(14),co(15,"number"),b(),_(16,"span",47),C(17," h-index: - "),b(),_(18,"div",48)(19,"strong"),C(20,"\u0627\u0644\u0627\u0647\u062a\u0645\u0627\u0645\u0627\u062a \u0627\u0644\u0628\u062d\u062b\u064a\u0629:"),b(),_(21,"p",49),C(22),b()(),V(23,"hr"),_(24,"p",50)(25,"a",51),V(26,"i",52),b(),_(27,"a",51),V(28,"i",53),b(),_(29,"a",51),V(30,"i",54),b(),_(31,"a",51),V(32,"i",55),b()()()()()}if(2&e){const n=t.$implicit;re("hidden",!Ot().en_active),N(1),we("id",n.name),N(4),we("src",n.photo,je),we("alt",n.name),N(3),wt(" ",n.name," "),N(2),wt(" ",n.affiliation," "),N(2),wt(" ",n.position," "),N(1),re("hidden",0==n.hindex),N(1),or(" h-index: ",n.hindex," | Citations: ",ho(15,20,n.citedby)," "),N(2),re("hidden",0!=n.hindex),N(6),wt(" ",n.interests.toString()," "),N(3),we("href",n.website,je),re("hidden",""==n.website),N(2),we("href",n.scholar,je),re("hidden",""==n.scholar),N(2),we("href",n.twitter,je),re("hidden",""==n.twitter),N(2),we("href",n.linkedin,je),re("hidden",""==n.linkedin)}}let uN=(()=>{class e{constructor(n){this.filterService=n,this.title="\u0627\u0644\u0645\u0635\u0631\u064a\u064a\u0646 \u0641\u064a \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a",this.researchers=Wn,this.rinterests={},this.rinterestsFreq={},this.profiles=this.researchers,this.searchQuery="",this.en_active=!0,[this.rinterests,this.rinterestsFreq]=this.filterService.getResearchIntersts(Wn),this.sortShuffle()}ngOnInit(){}sortAZ(){this.researchers=this.filterService.sortAZ(Wn)}sortHIndex(){this.researchers=this.filterService.sortHIndex(Wn)}sortCitations(){this.researchers=this.filterService.sortCitations(Wn)}sortShuffle(){this.researchers=this.filterService.sortShuffle(Wn)}filterProfiles(n){let i=n.target.value.toLowerCase();this.researchers=this.filterService.filterProfiles(i,Wn)}filterInterests(){this.researchers=this.filterService.filterInterests(Wn,this.rinterests)}checkAllInterests(){for(let n in this.rinterests)this.rinterests[n]=!0;this.researchers=this.profiles}clearAllInterests(){for(let n in this.rinterests)this.rinterests[n]=!1;this.researchers=this.profiles}editProfile(n){let i="https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=pp_url&entry.186050192=Update&entry.1945362270={name}&entry.843703109={affiliation}&entry.1728443742={position}&entry.113990162={gscholar}&entry.1193057171={linkedin}&entry.2083985192={twitter}&entry.1542622457={website}&entry.2030031116={research_interests}";i=i.replace("{name}",n.name),i=i.replace("{affiliation}",n.affiliation),i=i.replace("{position}",n.position),i=i.replace("{gscholar}",n.scholar),i=i.replace("{linkedin}",n.linkedin),i=i.replace("{twitter}",n.twitter),i=i.replace("{website}",n.website),i=i.replace("{research_interests}",n.interests.join(",")),window.open(i,"_blank")}}return e.\u0275fac=function(n){return new(n||e)(v(WA))},e.\u0275cmp=Ci({type:e,selectors:[["app-arabic"]],decls:51,vars:6,consts:[[1,"row",2,"margin-top","5em","margin-bottom","5em"],[2,"direction","rtl"],["href","https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=sf_link"],["href","https://medium.com/@bkhmsi/egyptians-in-ai-research-1ff64c78cc5b"],["id","sort-container",1,"row",2,"direction","rtl"],[1,"col-lg-2","col-md-12","col-sm-12"],["target","_blank","href","https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=sf_link",1,"btn","btn-outline-primary","w-100","title"],[1,"fa","fa-pen"],[1,"col-lg-4","col-md-12","col-sm-12"],[1,"col-md-12"],[1,"search"],[1,"fa","fa-search"],["type","text","placeholder","\u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0637\u0631\u064a\u0642 \u0627\u0644\u0625\u0633\u0645",1,"form-control",3,"keyup"],[1,"col-lg-1","col-md-12","col-sm-12"],[1,"btn","btn-outline-secondary","sort-button","w-100","title",3,"click"],[1,"fas","fa-sort-alpha-down"],[1,"btn","btn-outline-success","sort-button","w-100","title",3,"click"],[1,"fa-solid","fa-arrow-down-9-1"],[1,"btn","btn-outline-warning","sort-button","w-100","title",3,"click"],[1,"col-lg-1","col-md-12","col-sm-12","title"],[1,"btn","btn-outline-danger","sort-button","w-100",3,"click"],[1,"fas","fa-shuffle"],[1,"w-100",2,"margin-bottom","1rem","direction","rtl"],[1,"btn","btn-link","sort-button",3,"click"],[1,"form-group"],["class","form-check",4,"ngFor","ngForOf"],[2,"width","100%","margin","auto","direction","rtl"],["class","col-lg-2 col-md-6 col-sm-12 rgrid",4,"ngFor","ngForOf"],[1,"mt-3","mb-3"],["class","col-lg-3 col-md-6 col-sm-12 mb-4",3,"hidden",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"id","value","ngModel","change","ngModelChange"],[1,"form-check-label",3,"for"],[1,"col-lg-2","col-md-6","col-sm-12","rgrid"],[3,"href"],[1,"card","click-to-top",2,"background-color","whitesmoke","border-width","0.01px","border-radius","0"],["width","40","height","40",1,"rounded-circle","mx-auto",2,"margin","0.5rem",3,"src","alt"],[1,"col-lg-3","col-md-6","col-sm-12","mb-4",3,"hidden"],[1,"card",2,"background-color","whitesmoke",3,"id"],[1,"edit-btn",3,"click"],[1,"fa-solid","fa-pencil"],["width","160","height","160",1,"rounded-circle","mx-auto",2,"margin","0.5rem",3,"src","alt"],[1,"card-body",2,"background-color","#EAECEE","direction","rtl"],[1,"card-title","mb-0",2,"font-size","1.4rem"],[1,"card-subtitle","mb-2","text-muted"],[1,"card-text",2,"min-height","2.3em"],[1,"card-text",2,"font-size","0.8rem","direction","ltr",3,"hidden"],[1,"card-text",2,"font-size","0.8rem",3,"hidden"],[2,"min-height","7em"],[1,"card-text",2,"font-size","0.8rem"],[1,"card-text","text-center",2,"direction","ltr"],["target","_blank",3,"hidden","href"],[1,"fas","fa-globe",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fas","fa-graduation-cap",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fab","fa-twitter",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fab","fa-linkedin",2,"font-size","1.5rem","color","black","padding-left","0.5rem"]],template:function(n,i){1&n&&(_(0,"div",0)(1,"p",1),C(2," \u0645\u0631\u062d\u0628\u064b\u0627 \u0628\u0643\u0645 \u0641\u064a \u0645\u0648\u0642\u0639 \u0627\u0644\u0645\u0635\u0631\u064a\u0648\u0646 \u0641\u064a \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a\u060c \u0648\u0647\u0648 \u0645\u0648\u0642\u0639 \u0645\u062e\u0635\u0635 \u0644\u0639\u0631\u0636 \u0627\u0644\u0628\u0627\u062d\u062b\u064a\u0646 \u0627\u0644\u0645\u0635\u0631\u064a\u064a\u0646 \u0627\u0644\u0628\u0627\u0631\u0632\u064a\u0646 \u0641\u064a \u0645\u062c\u0627\u0644 \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a. \u0625\u0630\u0627 \u0643\u0646\u062a \u062a\u0639\u062a\u0642\u062f \u0623\u0646 \u0634\u062e\u0635\u064b\u0627 \u0645\u0627 \u0645\u0641\u0642\u0648\u062f \u0645\u0646 \u0642\u0627\u0626\u0645\u062a\u0646\u0627\u060c \u0646\u062d\u0646 \u0646\u0631\u062d\u0628 \u0628\u0627\u0642\u062a\u0631\u0627\u062d\u0627\u062a\u0643. \u0644\u0643\u064a \u064a\u062a\u0645 \u0627\u0644\u0646\u0638\u0631 \u0641\u064a \u0625\u0636\u0627\u0641\u062a\u0647\u0645\u060c \u0641\u0625\u0646 \u0627\u0644\u0645\u0639\u064a\u0627\u0631 \u0627\u0644\u0648\u062d\u064a\u062f \u0647\u0648 \u0623\u0646 \u0627\u0644\u0641\u0631\u062f \u064a\u062c\u0628 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0644\u062f\u064a\u0647\nh-index \u0645\u0646 5 \u0623\u0648 \u0623\u0639\u0644\u0649\u060c \u0643\u0645\u0627 \u0645\u0633\u062c\u0644 \u0641\u064a \u0645\u0644\u0641\u0647\u0645 \u0627\u0644\u0634\u062e\u0635\u064a \u0639\u0644\u0649 Google Scholar. \u064a\u0645\u0643\u0646\u0643 \u0625\u0631\u0633\u0627\u0644 \u0627\u0642\u062a\u0631\u0627\u062d\u0643 \u0628\u0645\u0644\u0621 "),_(3,"a",2),C(4," \u0647\u0630\u0627 \u0646\u0645\u0648\u0630\u062c "),b(),C(5," \u060c\u0623\u0648 \u0637\u0644\u0628 \u062a\u062d\u062f\u064a\u062b\u0627\u062a \u0644\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629. \u0646\u0623\u0645\u0644 \u0623\u0646 \u062a\u062c\u062f\u0648\u0627 \u0645\u0648\u0642\u0639\u0646\u0627 \u0645\u0644\u0647\u0645\u064b\u0627\u060c \u0648\u0646\u062d\u0646 \u0646\u062f\u0639\u0648\u0643 \u0644\u0627\u0633\u062a\u0643\u0634\u0627\u0641 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628 \u0627\u0644\u0628\u0627\u062d\u062b\u064a\u0646 \u0627\u0644\u0645\u0645\u064a\u0632\u064a\u0646. \u062d\u062a\u0649 \u0627\u0644\u0622\u0646\u060c \u0642\u0645\u0646\u0627 \u0628\u062a\u0636\u0645\u064a\u0646 "),_(6,"strong"),C(7),b(),C(8," \u0634\u062e\u0635\u0627. \u064a\u0631\u062c\u0649 \u0645\u0644\u0627\u062d\u0638\u0629 \u0623\u0646 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u064a\u062a\u0645 \u062e\u0644\u0637\u0647\u0627 \u0639\u0634\u0648\u0627\u0626\u064a\u064b\u0627 \u0641\u064a \u0643\u0644 \u0645\u0631\u0629 \u064a\u062a\u0645 \u0641\u064a\u0647\u0627 \u062a\u062d\u062f\u064a\u062b \u0627\u0644\u0635\u0641\u062d\u0629. \u0646\u062f\u0639\u0648\u0643 \u0644\u062a\u062d\u0642\u0642 "),_(9,"a",3),C(10," \u0627\u0644\u0645\u062f\u0648\u0646\u0629 "),b(),C(11," \u0647\u0630\u0647 \u0644\u0642\u0631\u0627\u0621\u0629 \u0639\u0646 \u0627\u0644\u0633\u0628\u0628 \u0648\u0631\u0627\u0621 \u0628\u0646\u0627\u0621 \u0647\u0630\u0627 \u0627\u0644\u0645\u0648\u0642\u0639. "),b(),_(12,"div",4)(13,"div",5)(14,"a",6),V(15,"i",7),C(16,"\xa0 \u0631\u0634\u062d \u0623\u062d\u062f "),b()(),_(17,"div",8)(18,"div",9)(19,"div",10),V(20,"i",11),_(21,"input",12),Q("keyup",function(o){return i.filterProfiles(o)}),b()()()(),_(22,"div",13)(23,"button",14),Q("click",function(){return i.sortAZ()}),V(24,"i",15),C(25," \u0623\u064a "),b()(),_(26,"div",5)(27,"button",16),Q("click",function(){return i.sortHIndex()}),V(28,"i",17),C(29," h-Index "),b()(),_(30,"div",5)(31,"button",18),Q("click",function(){return i.sortCitations()}),V(32,"i",17),C(33," Citations "),b()(),_(34,"div",19)(35,"button",20),Q("click",function(){return i.sortShuffle()}),V(36,"i",21),b()()(),_(37,"details",22)(38,"button",23),Q("click",function(){return i.clearAllInterests()}),C(39," Clear "),b(),_(40,"button",23),Q("click",function(){return i.checkAllInterests()}),C(41," Check All "),b(),_(42,"summary"),C(43,"\u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0637\u0631\u064a\u0642 \u0627\u0644\u0627\u0647\u062a\u0645\u0627\u0645\u0627\u062a \u0627\u0644\u0628\u062d\u062b\u064a\u0629"),b(),_(44,"div",24),ui(45,sN,4,6,"div",25),co(46,"keyvalue"),b()(),_(47,"div",26),ui(48,aN,6,4,"div",27),b(),V(49,"hr",28),ui(50,lN,33,22,"div",29),b()),2&n&&(N(7),wt(" ",i.profiles.length," "),N(38),re("ngForOf",ho(46,4,i.rinterests)),N(3),re("ngForOf",i.researchers),N(2),re("ngForOf",i.researchers))},dependencies:[Yc,wa,wd,Ia,nd,td],styles:[".search[_ngcontent-%COMP%] .fa-search[_ngcontent-%COMP%]{position:absolute;top:12px;right:16px}.sort-button[_ngcontent-%COMP%]{float:left}.nav-item[_ngcontent-%COMP%]{float:left;color:#f5f5f5;padding-right:2em}.nav-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer}.nav-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover, .nav-item[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{opacity:50%}"]}),e})(),qA=(()=>{class e{constructor(n,i){this.route=n,this.router=i,this.title="Egyptians in AI",this.en_active=!0}ngOnInit(){this.router.events.subscribe(n=>{if(n instanceof iA){let i=n.url.slice(1);this.changeLang(i)}})}changeLang(n){this.en_active="ar"!=n}}return e.\u0275fac=function(n){return new(n||e)(v(Gn),v(Oe))},e.\u0275cmp=Ci({type:e,selectors:[["app-root"]],decls:93,vars:4,consts:[[1,"navbar","navbar-expand-lg","navbar-dark","fixed-top",3,"hidden"],[1,"container"],[1,"navbar-brand",2,"font-size","2em"],["src","./assets/logo.jpeg","alt","logo","width","64","height","64"],[1,"nav-items",2,"width","60%"],[1,"nav-item"],[1,"fa-solid","fa-language"],[3,"click"],["href","https://github.com/bkhmsi/egyptians-in-ai","target","_blank",1,"nav-link"],[1,"fa-brands","fa-github"],["href","https://bkhmsi.medium.com/egyptians-in-ai-research-1ff64c78cc5b","target","_blank",1,"nav-link"],[1,"fa-brands","fa-medium"],["href","https://www.youtube.com/watch?v=PtdyHfpzodg","target","_blank",1,"nav-link"],[1,"fa-solid","fa-person-chalkboard"],["ngbDropdown","",1,"nav-item","dropdown"],["href","#","id","navbarDropdown","role","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false","ngbDropdownToggle","",1,"nav-link","dropdown-toggle"],[1,"fa-solid","fa-globe"],["aria-labelledby","navbarDropdown","ngbDropdownMenu","",1,"dropdown-menu"],["ngbDropdownItem","","href","#","target","_blank",1,"dropdown-item"],["ngbDropdownItem","","href","https://mohamedelbaha.github.io/moroccans-in-ai/","target","_blank",1,"dropdown-item"],["ngbDropdownItem","","href","https://ahmadmustafaanis.github.io/Pakistanis-in-ai/","target","_blank",1,"dropdown-item"],[1,"navbar","navbar-expand-lg","navbar-dark","fixed-top",2,"direction","rtl",3,"hidden"],[1,"nav-items"],["href","https://github.com/BKHMSI/egyptians-in-ai","target","_blank",1,"nav-link"],[1,"container",2,"margin-top","6em"],[3,"hidden"],[1,"footer","mt-auto","py-3"],["href","https://bkhmsi.github.io"],[2,"float","right"],["href","#"],[1,"fas","fa-arrow-up"]],template:function(n,i){1&n&&(_(0,"nav",0)(1,"div",1)(2,"a",2),V(3,"img",3),C(4," Egyptians in AI Research "),b(),_(5,"div",4)(6,"div",5),V(7,"i",6),C(8,"\xa0 "),_(9,"span",7),Q("click",function(){return i.changeLang("en")}),C(10,"English"),b(),C(11," | "),_(12,"span",7),Q("click",function(){return i.changeLang("ar")}),C(13,"\u0639\u0631\u0628\u064a"),b()(),_(14,"div",5)(15,"span")(16,"a",8),V(17,"i",9),C(18," GitHub"),b()()(),_(19,"div",5)(20,"span")(21,"a",10),V(22,"i",11),C(23," Blog Post"),b()()(),_(24,"div",5)(25,"span")(26,"a",12),V(27,"i",13),C(28," TEDx Talk"),b()()(),_(29,"div",14)(30,"span",15),V(31,"i",16),C(32," X in Y Websites "),b(),_(33,"div",17)(34,"a",18),C(35,"Egyptians in AI"),b(),_(36,"a",19),C(37,"Moroccans in AI"),b(),_(38,"a",20),C(39,"Pakistanis in AI"),b()()()()()(),_(40,"nav",21)(41,"div",1)(42,"a",2),C(43,"\u0627\u0644\u0645\u0635\u0631\u064a\u0648\u0646 \u0641\u064a \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a"),b(),_(44,"div",22)(45,"div",14)(46,"span",15),V(47,"i",16),C(48," X in Y Websites "),b(),_(49,"div",17)(50,"a",18),C(51,"Egyptians in AI"),b(),_(52,"a",19),C(53,"Moroccans in AI"),b(),_(54,"a",20),C(55,"Pakistanis in AI"),b()()(),_(56,"div",5)(57,"span")(58,"a",12),V(59,"i",13),C(60," TEDx Talk"),b()()(),_(61,"div",5)(62,"span")(63,"a",10),C(64," Blog Post "),V(65,"i",11),b()()(),_(66,"div",5)(67,"span")(68,"a",23),C(69," GitHub "),V(70,"i",9),b()()(),_(71,"div",5),V(72,"i",6),C(73,"\xa0 "),_(74,"span",7),Q("click",function(){return i.changeLang("en")}),C(75,"English"),b(),C(76," | "),_(77,"span",7),Q("click",function(){return i.changeLang("ar")}),C(78,"\u0639\u0631\u0628\u064a"),b()()()()(),_(79,"div",24),V(80,"app-english",25)(81,"app-arabic",25),_(82,"footer",26)(83,"div",1)(84,"span"),C(85," Developed and Maintained by "),_(86,"a",27),C(87,"Badr AlKhamissi"),b(),C(88," | Last Update: 14 October 2023"),b(),_(89,"span",28)(90,"a",29),C(91," Back to Top "),V(92,"i",30),b()()()()()),2&n&&(re("hidden",!i.en_active),N(40),re("hidden",i.en_active),N(40),re("hidden",!i.en_active),N(1),re("hidden",i.en_active))},dependencies:[oN,uN],styles:["nav{background-color:#091b2b}footer a{color:#fff}footer span{color:#d0d3d4}.footer{position:fixed;background-color:#1c8394;left:0;bottom:0;width:100%;height:4em}.nav-item{float:right;color:#f5f5f5;padding-left:2em}.nav-item span{cursor:pointer}.nav-item span:hover,.nav-item a:hover{opacity:50%}.sort-button{float:right;margin-left:1em;margin-bottom:1em}.search{position:relative;box-shadow:0 0 40px #3333331a}.search input{text-indent:40px;border:2px solid #d6d4d4}.search input:focus{box-shadow:none;border:2px solid #007bff}.search .fa-search{position:absolute;top:12px;left:16px}.search button{position:absolute;top:5px;right:5px}.blur{background:whitesmoke;filter:blur(.1px)}.rgrid{width:6.5%;display:inline-block}div.click-to-top span{display:none;position:absolute;text-align:center;width:100%;margin:auto;background:white;color:#000;font-size:small}div.click-to-top:hover span{display:block}@media (max-width: 992px){.search{margin-top:1rem;margin-bottom:1rem}.rgrid{width:14%;display:inline-block}}.edit-btn{float:right;color:gray;padding:.5rem}\n"],encapsulation:2}),e})();const cN=[{path:":lang",component:qA}];let dN=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=qt({type:e}),e.\u0275inj=xt({imports:[GA.forRoot(cN),GA]}),e})(),hN=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=qt({type:e,bootstrap:[qA]}),e.\u0275inj=xt({imports:[mT,dN,R2]}),e})();(function VI(){bw=!1})(),gT().bootstrapModule(hN).catch(e=>console.error(e))}},ae=>{ae(ae.s=466)}]); \ No newline at end of file +"use strict";(self.webpackChunkegyptians_in_ai=self.webpackChunkegyptians_in_ai||[]).push([[179],{466:()=>{function ae(e){return"function"==typeof e}function wr(e){const n=e(i=>{Error.call(i),i.stack=(new Error).stack});return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}const Uo=wr(e=>function(n){e(this),this.message=n?`${n.length} errors occurred during unsubscription:\n${n.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=n});function vr(e,t){if(e){const n=e.indexOf(t);0<=n&&e.splice(n,1)}}class vt{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:n}=this;if(n)if(this._parentage=null,Array.isArray(n))for(const o of n)o.remove(this);else n.remove(this);const{initialTeardown:i}=this;if(ae(i))try{i()}catch(o){t=o instanceof Uo?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{Ch(o)}catch(s){t=t??[],s instanceof Uo?t=[...t,...s.errors]:t.push(s)}}if(t)throw new Uo(t)}}add(t){var n;if(t&&t!==this)if(this.closed)Ch(t);else{if(t instanceof vt){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}}_hasParent(t){const{_parentage:n}=this;return n===t||Array.isArray(n)&&n.includes(t)}_addParent(t){const{_parentage:n}=this;this._parentage=Array.isArray(n)?(n.push(t),n):n?[n,t]:t}_removeParent(t){const{_parentage:n}=this;n===t?this._parentage=null:Array.isArray(n)&&vr(n,t)}remove(t){const{_finalizers:n}=this;n&&vr(n,t),t instanceof vt&&t._removeParent(this)}}vt.EMPTY=(()=>{const e=new vt;return e.closed=!0,e})();const _h=vt.EMPTY;function Dh(e){return e instanceof vt||e&&"closed"in e&&ae(e.remove)&&ae(e.add)&&ae(e.unsubscribe)}function Ch(e){ae(e)?e():e.unsubscribe()}const qn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Ho={setTimeout(e,t,...n){const{delegate:i}=Ho;return i?.setTimeout?i.setTimeout(e,t,...n):setTimeout(e,t,...n)},clearTimeout(e){const{delegate:t}=Ho;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Mh(e){Ho.setTimeout(()=>{const{onUnhandledError:t}=qn;if(!t)throw e;t(e)})}function Eh(){}const JA=Za("C",void 0,void 0);function Za(e,t,n){return{kind:e,value:t,error:n}}let Jn=null;function $o(e){if(qn.useDeprecatedSynchronousErrorHandling){const t=!Jn;if(t&&(Jn={errorThrown:!1,error:null}),e(),t){const{errorThrown:n,error:i}=Jn;if(Jn=null,n)throw i}}else e()}class Ya extends vt{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Dh(t)&&t.add(this)):this.destination=tb}static create(t,n,i){return new Ar(t,n,i)}next(t){this.isStopped?el(function KA(e){return Za("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?el(function QA(e){return Za("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?el(JA,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const YA=Function.prototype.bind;function Xa(e,t){return YA.call(e,t)}class XA{constructor(t){this.partialObserver=t}next(t){const{partialObserver:n}=this;if(n.next)try{n.next(t)}catch(i){Go(i)}}error(t){const{partialObserver:n}=this;if(n.error)try{n.error(t)}catch(i){Go(i)}else Go(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(n){Go(n)}}}class Ar extends Ya{constructor(t,n,i){let r;if(super(),ae(t)||!t)r={next:t??void 0,error:n??void 0,complete:i??void 0};else{let o;this&&qn.useDeprecatedNextContext?(o=Object.create(t),o.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Xa(t.next,o),error:t.error&&Xa(t.error,o),complete:t.complete&&Xa(t.complete,o)}):r=t}this.destination=new XA(r)}}function Go(e){qn.useDeprecatedSynchronousErrorHandling?function ZA(e){qn.useDeprecatedSynchronousErrorHandling&&Jn&&(Jn.errorThrown=!0,Jn.error=e)}(e):Mh(e)}function el(e,t){const{onStoppedNotification:n}=qn;n&&Ho.setTimeout(()=>n(e,t))}const tb={closed:!0,next:Eh,error:function eb(e){throw e},complete:Eh},tl="function"==typeof Symbol&&Symbol.observable||"@@observable";function Qn(e){return e}function Sh(e){return 0===e.length?Qn:1===e.length?e[0]:function(n){return e.reduce((i,r)=>r(i),n)}}let De=(()=>{class e{constructor(n){n&&(this._subscribe=n)}lift(n){const i=new e;return i.source=this,i.operator=n,i}subscribe(n,i,r){const o=function rb(e){return e&&e instanceof Ya||function ib(e){return e&&ae(e.next)&&ae(e.error)&&ae(e.complete)}(e)&&Dh(e)}(n)?n:new Ar(n,i,r);return $o(()=>{const{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(n){try{return this._subscribe(n)}catch(i){n.error(i)}}forEach(n,i){return new(i=Ih(i))((r,o)=>{const s=new Ar({next:a=>{try{n(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(n){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(n)}[tl](){return this}pipe(...n){return Sh(n)(this)}toPromise(n){return new(n=Ih(n))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return e.create=t=>new e(t),e})();function Ih(e){var t;return null!==(t=e??qn.Promise)&&void 0!==t?t:Promise}const ob=wr(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let zt=(()=>{class e extends De{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(n){const i=new kh(this,this);return i.operator=n,i}_throwIfClosed(){if(this.closed)throw new ob}next(n){$o(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(n)}})}error(n){$o(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=n;const{observers:i}=this;for(;i.length;)i.shift().error(n)}})}complete(){$o(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:n}=this;for(;n.length;)n.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var n;return(null===(n=this.observers)||void 0===n?void 0:n.length)>0}_trySubscribe(n){return this._throwIfClosed(),super._trySubscribe(n)}_subscribe(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)}_innerSubscribe(n){const{hasError:i,isStopped:r,observers:o}=this;return i||r?_h:(this.currentObservers=null,o.push(n),new vt(()=>{this.currentObservers=null,vr(o,n)}))}_checkFinalizedStatuses(n){const{hasError:i,thrownError:r,isStopped:o}=this;i?n.error(r):o&&n.complete()}asObservable(){const n=new De;return n.source=this,n}}return e.create=(t,n)=>new kh(t,n),e})();class kh extends zt{constructor(t,n){super(),this.destination=t,this.source=n}next(t){var n,i;null===(i=null===(n=this.destination)||void 0===n?void 0:n.next)||void 0===i||i.call(n,t)}error(t){var n,i;null===(i=null===(n=this.destination)||void 0===n?void 0:n.error)||void 0===i||i.call(n,t)}complete(){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===n||n.call(t)}_subscribe(t){var n,i;return null!==(i=null===(n=this.source)||void 0===n?void 0:n.subscribe(t))&&void 0!==i?i:_h}}function xh(e){return ae(e?.lift)}function Fe(e){return t=>{if(xh(t))return t.lift(function(n){try{return e(n,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function ke(e,t,n,i,r){return new sb(e,t,n,i,r)}class sb extends Ya{constructor(t,n,i,r,o,s){super(t),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=n?function(a){try{n(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:n}=this;super.unsubscribe(),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function K(e,t){return Fe((n,i)=>{let r=0;n.subscribe(ke(i,o=>{i.next(e.call(t,o,r++))}))})}function Kn(e){return this instanceof Kn?(this.v=e,this):new Kn(e)}function ub(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(h){i[h]&&(r[h]=function(f){return new Promise(function(p,g){o.push([h,f,p,g])>1||a(h,f)})})}function a(h,f){try{!function l(h){h.value instanceof Kn?Promise.resolve(h.value.v).then(u,c):d(o[0][2],h)}(i[h](f))}catch(p){d(o[0][3],p)}}function u(h){a("next",h)}function c(h){a("throw",h)}function d(h,f){h(f),o.shift(),o.length&&a(o[0][0],o[0][1])}}function cb(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function Rh(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),n={},i("next"),i("throw"),i("return"),n[Symbol.asyncIterator]=function(){return this},n);function i(o){n[o]=e[o]&&function(s){return new Promise(function(a,l){!function r(o,s,a,l){Promise.resolve(l).then(function(u){o({value:u,done:a})},s)}(a,l,(s=e[o](s)).done,s.value)})}}}const Nh=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function Fh(e){return ae(e?.then)}function Lh(e){return ae(e[tl])}function Oh(e){return Symbol.asyncIterator&&ae(e?.[Symbol.asyncIterator])}function Vh(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const jh=function hb(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function Bh(e){return ae(e?.[jh])}function Uh(e){return ub(this,arguments,function*(){const n=e.getReader();try{for(;;){const{value:i,done:r}=yield Kn(n.read());if(r)return yield Kn(void 0);yield yield Kn(i)}}finally{n.releaseLock()}})}function Hh(e){return ae(e?.getReader)}function kt(e){if(e instanceof De)return e;if(null!=e){if(Lh(e))return function fb(e){return new De(t=>{const n=e[tl]();if(ae(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Nh(e))return function pb(e){return new De(t=>{for(let n=0;n{e.then(n=>{t.closed||(t.next(n),t.complete())},n=>t.error(n)).then(null,Mh)})}(e);if(Oh(e))return $h(e);if(Bh(e))return function mb(e){return new De(t=>{for(const n of e)if(t.next(n),t.closed)return;t.complete()})}(e);if(Hh(e))return function yb(e){return $h(Uh(e))}(e)}throw Vh(e)}function $h(e){return new De(t=>{(function wb(e,t){var n,i,r,o;return function ab(e,t,n,i){return new(n||(n=Promise))(function(o,s){function a(c){try{u(i.next(c))}catch(d){s(d)}}function l(c){try{u(i.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):function r(o){return o instanceof n?o:new n(function(s){s(o)})}(c.value).then(a,l)}u((i=i.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(n=cb(e);!(i=yield n.next()).done;)if(t.next(i.value),t.closed)return}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=n.return)&&(yield o.call(n))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(n=>t.error(n))})}function sn(e,t,n,i=0,r=!1){const o=t.schedule(function(){n(),r?e.add(this.schedule(null,i)):this.unsubscribe()},i);if(e.add(o),!r)return o}function Ve(e,t,n=1/0){return ae(t)?Ve((i,r)=>K((o,s)=>t(i,o,r,s))(kt(e(i,r))),n):("number"==typeof t&&(n=t),Fe((i,r)=>function vb(e,t,n,i,r,o,s,a){const l=[];let u=0,c=0,d=!1;const h=()=>{d&&!l.length&&!u&&t.complete()},f=g=>u{o&&t.next(g),u++;let m=!1;kt(n(g,c++)).subscribe(ke(t,A=>{r?.(A),o?f(A):t.next(A)},()=>{m=!0},void 0,()=>{if(m)try{for(u--;l.length&&up(A)):p(A)}h()}catch(A){t.error(A)}}))};return e.subscribe(ke(t,f,()=>{d=!0,h()})),()=>{a?.()}}(i,r,e,n)))}function _i(e=1/0){return Ve(Qn,e)}const an=new De(e=>e.complete());function il(e){return e[e.length-1]}function Gh(e){return ae(il(e))?e.pop():void 0}function br(e){return function bb(e){return e&&ae(e.schedule)}(il(e))?e.pop():void 0}function zh(e,t=0){return Fe((n,i)=>{n.subscribe(ke(i,r=>sn(i,e,()=>i.next(r),t),()=>sn(i,e,()=>i.complete(),t),r=>sn(i,e,()=>i.error(r),t)))})}function Wh(e,t=0){return Fe((n,i)=>{i.add(e.schedule(()=>n.subscribe(i),t))})}function qh(e,t){if(!e)throw new Error("Iterable cannot be null");return new De(n=>{sn(n,t,()=>{const i=e[Symbol.asyncIterator]();sn(n,t,()=>{i.next().then(r=>{r.done?n.complete():n.next(r.value)})},0,!0)})})}function Ce(e,t){return t?function Ib(e,t){if(null!=e){if(Lh(e))return function Db(e,t){return kt(e).pipe(Wh(t),zh(t))}(e,t);if(Nh(e))return function Mb(e,t){return new De(n=>{let i=0;return t.schedule(function(){i===e.length?n.complete():(n.next(e[i++]),n.closed||this.schedule())})})}(e,t);if(Fh(e))return function Cb(e,t){return kt(e).pipe(Wh(t),zh(t))}(e,t);if(Oh(e))return qh(e,t);if(Bh(e))return function Eb(e,t){return new De(n=>{let i;return sn(n,t,()=>{i=e[jh](),sn(n,t,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){return void n.error(s)}o?n.complete():n.next(r)},0,!0)}),()=>ae(i?.return)&&i.return()})}(e,t);if(Hh(e))return function Sb(e,t){return qh(Uh(e),t)}(e,t)}throw Vh(e)}(e,t):kt(e)}function rl(e,t,...n){if(!0===t)return void e();if(!1===t)return;const i=new Ar({next:()=>{i.unsubscribe(),e()}});return t(...n).subscribe(i)}function oe(e){for(let t in e)if(e[t]===oe)return t;throw Error("Could not find renamed property on target object.")}function ol(e,t){for(const n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n])}function se(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(se).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}function sl(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const Tb=oe({__forward_ref__:oe});function le(e){return e.__forward_ref__=le,e.toString=function(){return se(this())},e}function L(e){return al(e)?e():e}function al(e){return"function"==typeof e&&e.hasOwnProperty(Tb)&&e.__forward_ref__===le}class D extends Error{constructor(t,n){super(function zo(e,t){return`NG0${Math.abs(e)}${t?": "+t.trim():""}`}(t,n)),this.code=t}}function B(e){return"string"==typeof e?e:null==e?"":String(e)}function Wo(e,t){throw new D(-201,!1)}function ut(e,t){null==e&&function te(e,t,n,i){throw new Error(`ASSERTION ERROR: ${e}`+(null==i?"":` [Expected=> ${n} ${i} ${t} <=Actual]`))}(t,e,null,"!=")}function H(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function xt(e){return{providers:e.providers||[],imports:e.imports||[]}}function qo(e){return Jh(e,Jo)||Jh(e,Kh)}function Jh(e,t){return e.hasOwnProperty(t)?e[t]:null}function Qh(e){return e&&(e.hasOwnProperty(ll)||e.hasOwnProperty(Bb))?e[ll]:null}const Jo=oe({\u0275prov:oe}),ll=oe({\u0275inj:oe}),Kh=oe({ngInjectableDef:oe}),Bb=oe({ngInjectorDef:oe});var P=(()=>((P=P||{})[P.Default=0]="Default",P[P.Host=1]="Host",P[P.Self=2]="Self",P[P.SkipSelf=4]="SkipSelf",P[P.Optional=8]="Optional",P))();let ul;function At(e){const t=ul;return ul=e,t}function Zh(e,t,n){const i=qo(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&P.Optional?null:void 0!==t?t:void Wo(se(e))}function Sn(e){return{toString:e}.toString()}var Tt=(()=>((Tt=Tt||{})[Tt.OnPush=0]="OnPush",Tt[Tt.Default=1]="Default",Tt))(),Wt=(()=>{return(e=Wt||(Wt={}))[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",Wt;var e})();const ue=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),Di={},ee=[],Qo=oe({\u0275cmp:oe}),cl=oe({\u0275dir:oe}),dl=oe({\u0275pipe:oe}),Yh=oe({\u0275mod:oe}),un=oe({\u0275fac:oe}),_r=oe({__NG_ELEMENT_ID__:oe});let Hb=0;function Ci(e){return Sn(()=>{const n=!0===e.standalone,i={},r={type:e.type,providersResolver:null,decls:e.decls,vars:e.vars,factory:null,template:e.template||null,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:i,inputs:null,outputs:null,exportAs:e.exportAs||null,onPush:e.changeDetection===Tt.OnPush,directiveDefs:null,pipeDefs:null,standalone:n,dependencies:n&&e.dependencies||null,getStandaloneInjector:null,selectors:e.selectors||ee,viewQuery:e.viewQuery||null,features:e.features||null,data:e.data||{},encapsulation:e.encapsulation||Wt.Emulated,id:"c"+Hb++,styles:e.styles||ee,_:null,setInput:null,schemas:e.schemas||null,tView:null},o=e.dependencies,s=e.features;return r.inputs=tf(e.inputs,i),r.outputs=tf(e.outputs),s&&s.forEach(a=>a(r)),r.directiveDefs=o?()=>("function"==typeof o?o():o).map(Xh).filter(ef):null,r.pipeDefs=o?()=>("function"==typeof o?o():o).map(Ke).filter(ef):null,r})}function Xh(e){return ne(e)||Qe(e)}function ef(e){return null!==e}function qt(e){return Sn(()=>({type:e.type,bootstrap:e.bootstrap||ee,declarations:e.declarations||ee,imports:e.imports||ee,exports:e.exports||ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function tf(e,t){if(null==e)return Di;const n={};for(const i in e)if(e.hasOwnProperty(i)){let r=e[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),n[r]=i,t&&(t[r]=o)}return n}const O=Ci;function it(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function ne(e){return e[Qo]||null}function Qe(e){return e[cl]||null}function Ke(e){return e[dl]||null}function ct(e,t){const n=e[Yh]||null;if(!n&&!0===t)throw new Error(`Type ${se(e)} does not have '\u0275mod' property.`);return n}const G=11;function rt(e){return Array.isArray(e)&&"object"==typeof e[1]}function Rt(e){return Array.isArray(e)&&!0===e[1]}function pl(e){return 0!=(8&e.flags)}function Xo(e){return 2==(2&e.flags)}function es(e){return 1==(1&e.flags)}function Nt(e){return null!==e.template}function Jb(e){return 0!=(256&e[2])}function ti(e,t){return e.hasOwnProperty(un)?e[un]:null}class Zb{constructor(t,n,i){this.previousValue=t,this.currentValue=n,this.firstChange=i}isFirstChange(){return this.firstChange}}function _t(){return sf}function sf(e){return e.type.prototype.ngOnChanges&&(e.setInput=Xb),Yb}function Yb(){const e=lf(this),t=e?.current;if(t){const n=e.previous;if(n===Di)e.previous=t;else for(let i in t)n[i]=t[i];e.current=null,this.ngOnChanges(t)}}function Xb(e,t,n,i){const r=lf(e)||function e_(e,t){return e[af]=t}(e,{previous:Di,current:null}),o=r.current||(r.current={}),s=r.previous,a=this.declaredInputs[n],l=s[a];o[a]=new Zb(l&&l.currentValue,t,s===Di),e[i]=t}_t.ngInherit=!0;const af="__ngSimpleChanges__";function lf(e){return e[af]||null}function Me(e){for(;Array.isArray(e);)e=e[0];return e}function ts(e,t){return Me(t[e])}function ht(e,t){return Me(t[e.index])}function vl(e,t){return e.data[t]}function ft(e,t){const n=t[e];return rt(n)?n:n[0]}function ns(e){return 64==(64&e[2])}function In(e,t){return null==t?null:e[t]}function uf(e){e[18]=0}function Al(e,t){e[5]+=t;let n=e,i=e[3];for(;null!==i&&(1===t&&1===n[5]||-1===t&&0===n[5]);)i[5]+=t,n=i,i=i[3]}const j={lFrame:vf(null),bindingsEnabled:!0};function df(){return j.bindingsEnabled}function w(){return j.lFrame.lView}function Z(){return j.lFrame.tView}function ni(e){return j.lFrame.contextLView=e,e[8]}function ii(e){return j.lFrame.contextLView=null,e}function xe(){let e=hf();for(;null!==e&&64===e.type;)e=e.parent;return e}function hf(){return j.lFrame.currentTNode}function Jt(e,t){const n=j.lFrame;n.currentTNode=e,n.isParent=t}function bl(){return j.lFrame.isParent}function xi(){return j.lFrame.bindingIndex++}function dn(e){const t=j.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function g_(e,t){const n=j.lFrame;n.bindingIndex=n.bindingRootIndex=e,Dl(t)}function Dl(e){j.lFrame.currentDirectiveIndex=e}function Ml(e){j.lFrame.currentQueryIndex=e}function y_(e){const t=e[1];return 2===t.type?t.declTNode:1===t.type?e[6]:null}function yf(e,t,n){if(n&P.SkipSelf){let r=t,o=e;for(;!(r=r.parent,null!==r||n&P.Host||(r=y_(o),null===r||(o=o[15],10&r.type))););if(null===r)return!1;t=r,e=o}const i=j.lFrame=wf();return i.currentTNode=t,i.lView=e,!0}function El(e){const t=wf(),n=e[1];j.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function wf(){const e=j.lFrame,t=null===e?null:e.child;return null===t?vf(e):t}function vf(e){const t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=t),t}function Af(){const e=j.lFrame;return j.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const bf=Af;function Sl(){const e=Af();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Ye(){return j.lFrame.selectedIndex}function kn(e){j.lFrame.selectedIndex=e}function ge(){const e=j.lFrame;return vl(e.tView,e.selectedIndex)}function is(e,t){for(let n=t.directiveStart,i=t.directiveEnd;n=i)break}else t[l]<0&&(e[18]+=65536),(a>11>16&&(3&e[2])===t){e[2]+=2048;try{o.call(a)}finally{}}}else try{o.call(a)}finally{}}class Ir{constructor(t,n,i){this.factory=t,this.resolving=!1,this.canSeeViewProviders=n,this.injectImpl=i}}function ss(e,t,n){let i=0;for(;it){s=o-1;break}}}for(;o>16}(e),i=t;for(;n>0;)i=i[15],n--;return i}let xl=!0;function ls(e){const t=xl;return xl=e,t}let P_=0;const Qt={};function xr(e,t){const n=Pl(e,t);if(-1!==n)return n;const i=t[1];i.firstCreatePass&&(e.injectorIndex=t.length,Tl(i.data,e),Tl(t,null),Tl(i.blueprint,null));const r=us(e,t),o=e.injectorIndex;if(Ef(r)){const s=Ti(r),a=Pi(r,t),l=a[1].data;for(let u=0;u<8;u++)t[o+u]=a[s+u]|l[s+u]}return t[o+8]=r,o}function Tl(e,t){e.push(0,0,0,0,0,0,0,0,t)}function Pl(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function us(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let n=0,i=null,r=t;for(;null!==r;){if(i=Ff(r),null===i)return-1;if(n++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return-1}function cs(e,t,n){!function R_(e,t,n){let i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(_r)&&(i=n[_r]),null==i&&(i=n[_r]=P_++);const r=255&i;t.data[e+(r>>5)]|=1<=0?255&t:O_:t}(n);if("function"==typeof o){if(!yf(t,e,i))return i&P.Host?kf(r,0,i):xf(t,n,i,r);try{const s=o(i);if(null!=s||i&P.Optional)return s;Wo()}finally{bf()}}else if("number"==typeof o){let s=null,a=Pl(e,t),l=-1,u=i&P.Host?t[16][6]:null;for((-1===a||i&P.SkipSelf)&&(l=-1===a?us(e,t):t[a+8],-1!==l&&Nf(i,!1)?(s=t[1],a=Ti(l),t=Pi(l,t)):a=-1);-1!==a;){const c=t[1];if(Rf(o,a,c.data)){const d=F_(a,t,n,s,i,u);if(d!==Qt)return d}l=t[a+8],-1!==l&&Nf(i,t[1].data[a+8]===u)&&Rf(o,a,t)?(s=c,a=Ti(l),t=Pi(l,t)):a=-1}}return r}function F_(e,t,n,i,r,o){const s=t[1],a=s.data[e+8],c=function ds(e,t,n,i,r){const o=e.providerIndexes,s=t.data,a=1048575&o,l=e.directiveStart,c=o>>20,h=r?a+c:e.directiveEnd;for(let f=i?a:a+c;f=l&&p.type===n)return f}if(r){const f=s[l];if(f&&Nt(f)&&f.type===n)return l}return null}(a,s,n,null==i?Xo(a)&&xl:i!=s&&0!=(3&a.type),r&P.Host&&o===a);return null!==c?Tr(t,s,c,a):Qt}function Tr(e,t,n,i){let r=e[n];const o=t.data;if(function S_(e){return e instanceof Ir}(r)){const s=r;s.resolving&&function Pb(e,t){const n=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new D(-200,`Circular dependency in DI detected for ${e}${n}`)}(function X(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():B(e)}(o[n]));const a=ls(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?At(s.injectImpl):null;yf(e,i,P.Default);try{r=e[n]=s.factory(void 0,o,e,i),t.firstCreatePass&&n>=i.directiveStart&&function M_(e,t,n){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=t.type.prototype;if(i){const s=sf(t);(n.preOrderHooks||(n.preOrderHooks=[])).push(e,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,s)}r&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-e,r),o&&((n.preOrderHooks||(n.preOrderHooks=[])).push(e,o),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,o))}(n,o[n],t)}finally{null!==l&&At(l),ls(a),s.resolving=!1,bf()}}return r}function Rf(e,t,n){return!!(n[t+(e>>5)]&1<{const t=e.prototype.constructor,n=t[un]||Rl(t),i=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==i;){const o=r[un]||Rl(r);if(o&&o!==n)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function Rl(e){return al(e)?()=>{const t=Rl(L(e));return t&&t()}:ti(e)}function Ff(e){const t=e[1],n=t.type;return 2===n?t.declTNode:1===n?e[6]:null}const Fi="__parameters__";function Oi(e,t,n){return Sn(()=>{const i=function Nl(e){return function(...n){if(e){const i=e(...n);for(const r in i)this[r]=i[r]}}}(t);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(l,u,c){const d=l.hasOwnProperty(Fi)?l[Fi]:Object.defineProperty(l,Fi,{value:[]})[Fi];for(;d.length<=c;)d.push(null);return(d[c]=d[c]||[]).push(s),l}}return n&&(r.prototype=Object.create(n.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}class R{constructor(t,n){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof n?this.__NG_ELEMENT_ID__=n:void 0!==n&&(this.\u0275prov=H({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function hn(e,t){e.forEach(n=>Array.isArray(n)?hn(n,t):t(n))}function Of(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function hs(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function gt(e,t,n){let i=Vi(e,t);return i>=0?e[1|i]=n:(i=~i,function H_(e,t,n,i){let r=e.length;if(r==t)e.push(n,i);else if(1===r)e.push(i,e[0]),e[0]=n;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=n,e[t+1]=i}}(e,i,t,n)),i}function Ll(e,t){const n=Vi(e,t);if(n>=0)return e[1|n]}function Vi(e,t){return function Bf(e,t,n){let i=0,r=e.length>>n;for(;r!==i;){const o=i+(r-i>>1),s=e[o<t?r=o:i=o+1}return~(r<((ot=ot||{})[ot.Important=1]="Important",ot[ot.DashCase=2]="DashCase",ot))();const Gl=new Map;let yD=0;const Wl="__ngContext__";function Ge(e,t){rt(t)?(e[Wl]=t[20],function vD(e){Gl.set(e[20],e)}(t)):e[Wl]=t}function Jl(e,t){return undefined(e,t)}function Gr(e){const t=e[3];return Rt(t)?t[3]:t}function Ql(e){return lp(e[13])}function Kl(e){return lp(e[4])}function lp(e){for(;null!==e&&!Rt(e);)e=e[4];return e}function Ui(e,t,n,i,r){if(null!=i){let o,s=!1;Rt(i)?o=i:rt(i)&&(s=!0,i=i[0]);const a=Me(i);0===e&&null!==n?null==r?pp(t,n,a):ri(t,n,a,r||null,!0):1===e&&null!==n?ri(t,n,a,r||null,!0):2===e?function iu(e,t,n){const i=ys(e,t);i&&function UD(e,t,n,i){e.removeChild(t,n,i)}(e,i,t,n)}(t,a,s):3===e&&t.destroyNode(a),null!=o&&function GD(e,t,n,i,r){const o=n[7];o!==Me(n)&&Ui(t,e,i,o,r);for(let a=10;a0&&(e[n-1][4]=i[4]);const o=hs(e,10+t);!function RD(e,t){zr(e,t,t[G],2,null,null),t[0]=null,t[6]=null}(i[1],i);const s=o[19];null!==s&&s.detachView(o[1]),i[3]=null,i[4]=null,i[2]&=-65}return i}function dp(e,t){if(!(128&t[2])){const n=t[G];n.destroyNode&&zr(e,t,n,3,null,null),function LD(e){let t=e[13];if(!t)return eu(e[1],e);for(;t;){let n=null;if(rt(t))n=t[13];else{const i=t[10];i&&(n=i)}if(!n){for(;t&&!t[4]&&t!==e;)rt(t)&&eu(t[1],t),t=t[3];null===t&&(t=e),rt(t)&&eu(t[1],t),n=t&&t[4]}t=n}}(t)}}function eu(e,t){if(!(128&t[2])){t[2]&=-65,t[2]|=128,function BD(e,t){let n;if(null!=e&&null!=(n=e.destroyHooks))for(let i=0;i=0?i[r=u]():i[r=-u].unsubscribe(),o+=2}else{const s=i[r=n[o+1]];n[o].call(s)}if(null!==i){for(let o=r+1;o((Ee=Ee||{})[Ee.NONE=0]="NONE",Ee[Ee.HTML=1]="HTML",Ee[Ee.STYLE=2]="STYLE",Ee[Ee.SCRIPT=3]="SCRIPT",Ee[Ee.URL=4]="URL",Ee[Ee.RESOURCE_URL=5]="RESOURCE_URL",Ee))();function je(e){const t=function Jr(){const e=w();return e&&e[12]}();return t?t.sanitize(Ee.URL,e)||"":function Wr(e,t){const n=function tC(e){return e instanceof Sp&&e.getTypeName()||null}(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${n} (see https://g.co/ng/security#xss)`)}return n===t}(e,"URL")?Tn(e):function uu(e){return(e=String(e)).match(oC)?e:"unsafe:"+e}(B(e))}const fu=new R("ENVIRONMENT_INITIALIZER"),Fp=new R("INJECTOR",-1),Lp=new R("INJECTOR_DEF_TYPES");class Op{get(t,n=Lr){if(n===Lr){const i=new Error(`NullInjectorError: No provider for ${se(t)}!`);throw i.name="NullInjectorError",i}return n}}function vC(...e){return{\u0275providers:Vp(0,e)}}function Vp(e,...t){const n=[],i=new Set;let r;return hn(t,o=>{const s=o;pu(s,n,[],i)&&(r||(r=[]),r.push(s))}),void 0!==r&&jp(r,n),n}function jp(e,t){for(let n=0;n{t.push(o)})}}function pu(e,t,n,i){if(!(e=L(e)))return!1;let r=null,o=Qh(e);const s=!o&&ne(e);if(o||s){if(s&&!s.standalone)return!1;r=e}else{const l=e.ngModule;if(o=Qh(l),!o)return!1;r=l}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const u of l)pu(u,t,n,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let u;i.add(r);try{hn(o.imports,c=>{pu(c,t,n,i)&&(u||(u=[]),u.push(c))})}finally{}void 0!==u&&jp(u,t)}if(!a){const u=ti(r)||(()=>new r);t.push({provide:r,useFactory:u,deps:ee},{provide:Lp,useValue:r,multi:!0},{provide:fu,useValue:()=>x(r),multi:!0})}const l=o.providers;null==l||a||hn(l,c=>{t.push(c)})}}return r!==e&&void 0!==e.providers}const AC=oe({provide:String,useValue:oe});function gu(e){return null!==e&&"object"==typeof e&&AC in e}function si(e){return"function"==typeof e}const mu=new R("Set Injector scope."),Ds={},_C={};let yu;function Cs(){return void 0===yu&&(yu=new Op),yu}class Pn{}class Hp extends Pn{constructor(t,n,i,r){super(),this.parent=n,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,vu(t,s=>this.processProvider(s)),this.records.set(Fp,Hi(void 0,this)),r.has("environment")&&this.records.set(Pn,Hi(void 0,this));const o=this.records.get(mu);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(Lp.multi,ee,P.Self))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();for(const t of this._onDestroyHooks)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(t){this._onDestroyHooks.push(t)}runInContext(t){this.assertNotDestroyed();const n=ji(this),i=At(void 0);try{return t()}finally{ji(n),At(i)}}get(t,n=Lr,i=P.Default){this.assertNotDestroyed();const r=ji(this),o=At(void 0);try{if(!(i&P.SkipSelf)){let a=this.records.get(t);if(void 0===a){const l=function SC(e){return"function"==typeof e||"object"==typeof e&&e instanceof R}(t)&&qo(t);a=l&&this.injectableDefInScope(l)?Hi(wu(t),Ds):null,this.records.set(t,a)}if(null!=a)return this.hydrate(t,a)}return(i&P.Self?Cs():this.parent).get(t,n=i&P.Optional&&n===Lr?null:n)}catch(s){if("NullInjectorError"===s.name){if((s[ps]=s[ps]||[]).unshift(se(t)),r)throw s;return function eD(e,t,n,i){const r=e[ps];throw t[Uf]&&r.unshift(t[Uf]),e.message=function tD(e,t,n,i=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=se(t);if(Array.isArray(t))r=t.map(se).join(" -> ");else if("object"==typeof t){let o=[];for(let s in t)if(t.hasOwnProperty(s)){let a=t[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):se(a)))}r=`{${o.join(", ")}}`}return`${n}${i?"("+i+")":""}[${r}]: ${e.replace(K_,"\n ")}`}("\n"+e.message,r,n,i),e.ngTokenPath=r,e[ps]=null,e}(s,t,"R3InjectorError",this.source)}throw s}finally{At(o),ji(r)}}resolveInjectorInitializers(){const t=ji(this),n=At(void 0);try{const i=this.get(fu.multi,ee,P.Self);for(const r of i)r()}finally{ji(t),At(n)}}toString(){const t=[],n=this.records;for(const i of n.keys())t.push(se(i));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new D(205,!1)}processProvider(t){let n=si(t=L(t))?t:L(t&&t.provide);const i=function CC(e){return gu(e)?Hi(void 0,e.useValue):Hi($p(e),Ds)}(t);if(si(t)||!0!==t.multi)this.records.get(n);else{let r=this.records.get(n);r||(r=Hi(void 0,Ds,!0),r.factory=()=>jl(r.multi),this.records.set(n,r)),n=t,r.multi.push(t)}this.records.set(n,i)}hydrate(t,n){return n.value===Ds&&(n.value=_C,n.value=n.factory()),"object"==typeof n.value&&n.value&&function EC(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}injectableDefInScope(t){if(!t.providedIn)return!1;const n=L(t.providedIn);return"string"==typeof n?"any"===n||this.scopes.has(n):this.injectorDefTypes.has(n)}}function wu(e){const t=qo(e),n=null!==t?t.factory:ti(e);if(null!==n)return n;if(e instanceof R)throw new D(204,!1);if(e instanceof Function)return function DC(e){const t=e.length;if(t>0)throw function Fr(e,t){const n=[];for(let i=0;in.factory(e):()=>new e}(e);throw new D(204,!1)}function $p(e,t,n){let i;if(si(e)){const r=L(e);return ti(r)||wu(r)}if(gu(e))i=()=>L(e.useValue);else if(function Up(e){return!(!e||!e.useFactory)}(e))i=()=>e.useFactory(...jl(e.deps||[]));else if(function Bp(e){return!(!e||!e.useExisting)}(e))i=()=>x(L(e.useExisting));else{const r=L(e&&(e.useClass||e.provide));if(!function MC(e){return!!e.deps}(e))return ti(r)||wu(r);i=()=>new r(...jl(e.deps))}return i}function Hi(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function IC(e){return!!e.\u0275providers}function vu(e,t){for(const n of e)Array.isArray(n)?vu(n,t):IC(n)?vu(n.\u0275providers,t):t(n)}class Gp{}class TC{resolveComponentFactory(t){throw function xC(e){const t=Error(`No component factory found for ${se(e)}. Did you add it to @NgModule.entryComponents?`);return t.ngComponent=e,t}(t)}}let Qr=(()=>{class e{}return e.NULL=new TC,e})();function PC(){return $i(xe(),w())}function $i(e,t){return new mt(ht(e,t))}let mt=(()=>{class e{constructor(n){this.nativeElement=n}}return e.__NG_ELEMENT_ID__=PC,e})();class Wp{}let pn=(()=>{class e{}return e.__NG_ELEMENT_ID__=()=>function NC(){const e=w(),n=ft(xe().index,e);return(rt(n)?n:e)[G]}(),e})(),FC=(()=>{class e{}return e.\u0275prov=H({token:e,providedIn:"root",factory:()=>null}),e})();class Kr{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const LC=new Kr("14.2.12"),Au={};function _u(e){return e.ngOriginalError}class Gi{constructor(){this._console=console}handleError(t){const n=this._findOriginalError(t);this._console.error("ERROR",t),n&&this._console.error("ORIGINAL ERROR",n)}_findOriginalError(t){let n=t&&_u(t);for(;n&&_u(n);)n=_u(n);return n||null}}function gn(e){return e instanceof Function?e():e}function Jp(e,t,n){let i=e.length;for(;;){const r=e.indexOf(t,n);if(-1===r)return r;if(0===r||e.charCodeAt(r-1)<=32){const o=t.length;if(r+o===i||e.charCodeAt(r+o)<=32)return r}n=r+1}}const Qp="ng-template";function qC(e,t,n){let i=0;for(;io?"":r[d+1].toLowerCase();const f=8&i?h:null;if(f&&-1!==Jp(f,u,0)||2&i&&u!==h){if(Ft(i))return!1;s=!0}}}}else{if(!s&&!Ft(i)&&!Ft(l))return!1;if(s&&Ft(l))continue;s=!1,i=l|1&i}}return Ft(i)||s}function Ft(e){return 0==(1&e)}function KC(e,t,n,i){if(null===t)return-1;let r=0;if(i||!n){let o=!1;for(;r-1)for(n++;n0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!Ft(s)&&(t+=Yp(o,r),r=""),i=s,o=o||!Ft(i);n++}return""!==r&&(t+=Yp(o,r)),t}const U={};function N(e){Xp(Z(),w(),Ye()+e,!1)}function Xp(e,t,n,i){if(!i)if(3==(3&t[2])){const o=e.preOrderCheckHooks;null!==o&&rs(t,o,n)}else{const o=e.preOrderHooks;null!==o&&os(t,o,0,n)}kn(n)}function ig(e,t=null,n=null,i){const r=rg(e,t,n,i);return r.resolveInjectorInitializers(),r}function rg(e,t=null,n=null,i,r=new Set){const o=[n||ee,vC(e)];return i=i||("object"==typeof e?void 0:se(e)),new Hp(o,t||Cs(),i||null,r)}let Ct=(()=>{class e{static create(n,i){if(Array.isArray(n))return ig({name:""},i,n,"");{const r=n.name??"";return ig({name:r},n.parent,n.providers,r)}}}return e.THROW_IF_NOT_FOUND=Lr,e.NULL=new Op,e.\u0275prov=H({token:e,providedIn:"any",factory:()=>x(Fp)}),e.__NG_ELEMENT_ID__=-1,e})();function v(e,t=P.Default){const n=w();return null===n?x(e,t):Tf(xe(),n,L(e),t)}function Su(){throw new Error("invalid")}function Es(e,t){return e<<17|t<<2}function Lt(e){return e>>17&32767}function Iu(e){return 2|e}function mn(e){return(131068&e)>>2}function ku(e,t){return-131069&e|t<<2}function xu(e){return 1|e}function bg(e,t){const n=e.contentQueries;if(null!==n)for(let i=0;i22&&Xp(e,t,22,!1),n(i,r)}finally{kn(o)}}function Bu(e,t,n){!df()||(function HM(e,t,n,i){const r=n.directiveStart,o=n.directiveEnd;e.firstCreatePass||xr(n,t),Ge(i,t);const s=n.initialInputs;for(let a=r;a0;){const n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(a)!=l&&a.push(l),a.push(i,r,s)}}function xg(e,t){null!==e.hostBindings&&e.hostBindings(1,t)}function Tg(e,t){t.flags|=2,(e.components||(e.components=[])).push(t.index)}function WM(e,t,n){if(n){if(t.exportAs)for(let i=0;i0&&zu(n)}}function zu(e){for(let i=Ql(e);null!==i;i=Kl(i))for(let r=10;r0&&zu(o)}const n=e[1].components;if(null!==n)for(let i=0;i0&&zu(r)}}function XM(e,t){const n=ft(t,e),i=n[1];(function eE(e,t){for(let n=t.length;n-1&&(Xl(t,i),hs(n,i))}this._attachedToViewContainer=!1}dp(this._lView[1],this._lView)}onDestroy(t){!function Mg(e,t,n,i){const r=Fg(t);null===n?r.push(i):(r.push(n),e.firstCreatePass&&Lg(e).push(i,r.length-1))}(this._lView[1],this._lView,null,t)}markForCheck(){Wu(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-65}reattach(){this._lView[2]|=64}detectChanges(){Ps(this._lView[1],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new D(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function FD(e,t){zr(e,t,t[G],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new D(902,!1);this._appRef=t}}class tE extends Zr{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;Ps(t[1],t,t[8],!1)}checkNoChanges(){}get context(){return null}}class Qu extends Qr{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const n=ne(t);return new Yr(n,this.ngModule)}}function jg(e){const t=[];for(let n in e)e.hasOwnProperty(n)&&t.push({propName:e[n],templateName:n});return t}class iE{constructor(t,n){this.injector=t,this.parentInjector=n}get(t,n,i){const r=this.injector.get(t,Au,i);return r!==Au||n===Au?r:this.parentInjector.get(t,n,i)}}class Yr extends Gp{constructor(t,n){super(),this.componentDef=t,this.ngModule=n,this.componentType=t.type,this.selector=function nM(e){return e.map(tM).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!n}get inputs(){return jg(this.componentDef.inputs)}get outputs(){return jg(this.componentDef.outputs)}create(t,n,i,r){let o=(r=r||this.ngModule)instanceof Pn?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const s=o?new iE(t,o):t,a=s.get(Wp,null);if(null===a)throw new D(407,!1);const l=s.get(FC,null),u=a.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",d=i?function LM(e,t,n){return e.selectRootElement(t,n===Wt.ShadowDom)}(u,i,this.componentDef.encapsulation):Yl(u,c,function nE(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(c)),h=this.componentDef.onPush?288:272,f=Hu(0,null,null,1,0,null,null,null,null,null),p=ks(null,f,null,h,null,null,a,u,l,s,null);let g,m;El(p);try{const A=function sE(e,t,n,i,r,o){const s=n[1];n[22]=e;const l=qi(s,22,2,"#host",null),u=l.mergedAttrs=t.hostAttrs;null!==u&&(Rs(l,u,!0),null!==e&&(ss(r,e,u),null!==l.classes&&ou(r,e,l.classes),null!==l.styles&&_p(r,e,l.styles)));const c=i.createRenderer(e,t),d=ks(n,Cg(t),null,t.onPush?32:16,n[22],l,i,c,o||null,null,null);return s.firstCreatePass&&(cs(xr(l,n),s,t.type),Tg(s,l),Pg(l,n.length,1)),Ts(n,d),n[22]=d}(d,this.componentDef,p,a,u);if(d)if(i)ss(u,d,["ng-version",LC.full]);else{const{attrs:M,classes:y}=function iM(e){const t=[],n=[];let i=1,r=2;for(;i0&&ou(u,d,y.join(" "))}if(m=vl(f,22),void 0!==n){const M=m.projection=[];for(let y=0;y=0;i--){const r=e[i];r.hostVars=t+=r.hostVars,r.hostAttrs=as(r.hostAttrs,n=as(n,r.hostAttrs))}}(i)}function Ku(e){return e===Di?{}:e===ee?[]:e}function cE(e,t){const n=e.viewQuery;e.viewQuery=n?(i,r)=>{t(i,r),n(i,r)}:t}function dE(e,t){const n=e.contentQueries;e.contentQueries=n?(i,r,o)=>{t(i,r,o),n(i,r,o)}:t}function hE(e,t){const n=e.hostBindings;e.hostBindings=n?(i,r)=>{t(i,r),n(i,r)}:t}let Fs=null;function ai(){if(!Fs){const e=ue.Symbol;if(e&&e.iterator)Fs=e.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let n=0;na(Me(Y[i.index])):i.index;let I=null;if(!a&&l&&(I=function ME(e,t,n,i){const r=e.cleanup;if(null!=r)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(e,t,r,i.index)),null!==I)(I.__ngLastListenerFn__||I).__ngNextListenerFn__=o,I.__ngLastListenerFn__=o,f=!1;else{o=tm(i,t,d,o,!1);const Y=n.listen(A,r,o);h.push(o,Y),c&&c.push(r,y,M,M+1)}}else o=tm(i,t,d,o,!1);const p=i.outputs;let g;if(f&&null!==p&&(g=p[r])){const m=g.length;if(m)for(let A=0;A0;)t=t[15],e--;return t}(e,j.lFrame.contextLView))[8]}(e)}function we(e,t,n){return wn(e,"",t,"",n),we}function wn(e,t,n,i,r){const o=w(),s=Ki(o,t,n,i);return s!==U&&yt(Z(),ge(),o,e,s,o[G],r,!1),wn}function cm(e,t,n,i,r){const o=e[n+1],s=null===t;let a=i?Lt(o):mn(o),l=!1;for(;0!==a&&(!1===l||s);){const c=e[a+1];TE(e[a],t)&&(l=!0,e[a+1]=i?xu(c):Iu(c)),a=i?Lt(c):mn(c)}l&&(e[n+1]=i?Iu(o):xu(o))}function TE(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Vi(e,t)>=0}function Os(e,t){return function Vt(e,t,n,i){const r=w(),o=Z(),s=dn(2);o.firstUpdatePass&&function vm(e,t,n,i){const r=e.data;if(null===r[n+1]){const o=r[Ye()],s=function wm(e,t){return t>=e.expandoStartIndex}(e,n);(function Dm(e,t){return 0!=(e.flags&(t?16:32))})(o,i)&&null===t&&!s&&(t=!1),t=function BE(e,t,n,i){const r=function Cl(e){const t=j.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let o=i?t.residualClasses:t.residualStyles;if(null===r)0===(i?t.classBindings:t.styleBindings)&&(n=io(n=nc(null,e,t,n,i),t.attrs,i),o=null);else{const s=t.directiveStylingLast;if(-1===s||e[s]!==r)if(n=nc(r,e,t,n,i),null===o){let l=function UE(e,t,n){const i=n?t.classBindings:t.styleBindings;if(0!==mn(i))return e[Lt(i)]}(e,t,i);void 0!==l&&Array.isArray(l)&&(l=nc(null,e,t,l[1],i),l=io(l,t.attrs,i),function HE(e,t,n,i){e[Lt(n?t.classBindings:t.styleBindings)]=i}(e,t,i,l))}else o=function $E(e,t,n){let i;const r=t.directiveEnd;for(let o=1+t.directiveStylingLast;o0)&&(u=!0)}else c=n;if(r)if(0!==l){const h=Lt(e[a+1]);e[i+1]=Es(h,a),0!==h&&(e[h+1]=ku(e[h+1],i)),e[a+1]=function _M(e,t){return 131071&e|t<<17}(e[a+1],i)}else e[i+1]=Es(a,0),0!==a&&(e[a+1]=ku(e[a+1],i)),a=i;else e[i+1]=Es(l,0),0===a?a=i:e[l+1]=ku(e[l+1],i),l=i;u&&(e[i+1]=Iu(e[i+1])),cm(e,c,i,!0),cm(e,c,i,!1),function xE(e,t,n,i,r){const o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof t&&Vi(o,t)>=0&&(n[i+1]=xu(n[i+1]))}(t,c,e,i,o),s=Es(a,l),o?t.classBindings=s:t.styleBindings=s}(r,o,t,n,s,i)}}(o,e,s,i),t!==U&&ze(r,s,t)&&function bm(e,t,n,i,r,o,s,a){if(!(3&t.type))return;const l=e.data,u=l[a+1];Vs(function fg(e){return 1==(1&e)}(u)?_m(l,t,n,r,mn(u),s):void 0)||(Vs(o)||function hg(e){return 2==(2&e)}(u)&&(o=_m(l,null,n,r,a,s)),function zD(e,t,n,i,r){if(t)r?e.addClass(n,i):e.removeClass(n,i);else{let o=-1===i.indexOf("-")?void 0:ot.DashCase;null==r?e.removeStyle(n,i,o):("string"==typeof r&&r.endsWith("!important")&&(r=r.slice(0,-10),o|=ot.Important),e.setStyle(n,i,r,o))}}(i,s,ts(Ye(),n),r,o))}(o,o.data[Ye()],r,r[G],e,r[s+1]=function WE(e,t){return null==e||("string"==typeof t?e+=t:"object"==typeof e&&(e=se(Tn(e)))),e}(t,n),i,s)}(e,t,null,!0),Os}function nc(e,t,n,i,r){let o=null;const s=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){const l=e[r],u=Array.isArray(l),c=u?l[1]:l,d=null===c;let h=n[r+1];h===U&&(h=d?ee:void 0);let f=d?Ll(h,i):c===i?h:void 0;if(u&&!Vs(f)&&(f=Ll(l,i)),Vs(f)&&(a=f,s))return a;const p=e[r+1];r=s?Lt(p):mn(p)}if(null!==t){let l=o?t.residualClasses:t.residualStyles;null!=l&&(a=Ll(l,i))}return a}function Vs(e){return void 0!==e}function C(e,t=""){const n=w(),i=Z(),r=e+22,o=i.firstCreatePass?qi(i,r,1,t,null):i.data[r],s=n[r]=function Zl(e,t){return e.createText(t)}(n[G],t);ws(i,n,s,o),Jt(o,!1)}function js(e){return wt("",e,""),js}function wt(e,t,n){const i=w(),r=Ki(i,e,t,n);return r!==U&&yn(i,Ye(),r),wt}function or(e,t,n,i,r){const o=w(),s=Zi(o,e,t,n,i,r);return s!==U&&yn(o,Ye(),s),or}const ci=void 0;var h1=["en",[["a","p"],["AM","PM"],ci],[["AM","PM"],ci,ci],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],ci,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],ci,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",ci,"{1} 'at' {0}",ci],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function d1(e){const n=Math.floor(Math.abs(e)),i=e.toString().replace(/^[^.]*\.?/,"").length;return 1===n&&0===i?1:5}];let sr={};function et(e){const t=function f1(e){return e.toLowerCase().replace(/_/g,"-")}(e);let n=$m(t);if(n)return n;const i=t.split("-")[0];if(n=$m(i),n)return n;if("en"===i)return h1;throw new D(701,!1)}function $m(e){return e in sr||(sr[e]=ue.ng&&ue.ng.common&&ue.ng.common.locales&&ue.ng.common.locales[e]),sr[e]}var S=(()=>((S=S||{})[S.LocaleId=0]="LocaleId",S[S.DayPeriodsFormat=1]="DayPeriodsFormat",S[S.DayPeriodsStandalone=2]="DayPeriodsStandalone",S[S.DaysFormat=3]="DaysFormat",S[S.DaysStandalone=4]="DaysStandalone",S[S.MonthsFormat=5]="MonthsFormat",S[S.MonthsStandalone=6]="MonthsStandalone",S[S.Eras=7]="Eras",S[S.FirstDayOfWeek=8]="FirstDayOfWeek",S[S.WeekendRange=9]="WeekendRange",S[S.DateFormat=10]="DateFormat",S[S.TimeFormat=11]="TimeFormat",S[S.DateTimeFormat=12]="DateTimeFormat",S[S.NumberSymbols=13]="NumberSymbols",S[S.NumberFormats=14]="NumberFormats",S[S.CurrencyCode=15]="CurrencyCode",S[S.CurrencySymbol=16]="CurrencySymbol",S[S.CurrencyName=17]="CurrencyName",S[S.Currencies=18]="Currencies",S[S.Directionality=19]="Directionality",S[S.PluralCase=20]="PluralCase",S[S.ExtraData=21]="ExtraData",S))();const ar="en-US";let Gm=ar;function oc(e,t,n,i,r){if(e=L(e),Array.isArray(e))for(let o=0;o>20;if(si(e)||!e.multi){const f=new Ir(l,r,v),p=ac(a,t,r?c:c+h,d);-1===p?(cs(xr(u,s),o,a),sc(o,e,t.length),t.push(a),u.directiveStart++,u.directiveEnd++,r&&(u.providerIndexes+=1048576),n.push(f),s.push(f)):(n[p]=f,s[p]=f)}else{const f=ac(a,t,c+h,d),p=ac(a,t,c,c+h),g=f>=0&&n[f],m=p>=0&&n[p];if(r&&!m||!r&&!g){cs(xr(u,s),o,a);const A=function cS(e,t,n,i,r){const o=new Ir(e,n,v);return o.multi=[],o.index=t,o.componentProviders=0,gy(o,r,i&&!n),o}(r?uS:lS,n.length,r,i,l);!r&&m&&(n[p].providerFactory=A),sc(o,e,t.length,0),t.push(a),u.directiveStart++,u.directiveEnd++,r&&(u.providerIndexes+=1048576),n.push(A),s.push(A)}else sc(o,e,f>-1?f:p,gy(n[r?p:f],l,!r&&i));!r&&i&&m&&n[p].componentProviders++}}}function sc(e,t,n,i){const r=si(t),o=function bC(e){return!!e.useClass}(t);if(r||o){const l=(o?L(t.useClass):t).prototype.ngOnDestroy;if(l){const u=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const c=u.indexOf(n);-1===c?u.push(n,[i,l]):u[c+1].push(i,l)}else u.push(n,l)}}}function gy(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function ac(e,t,n,i){for(let r=n;r{n.providersResolver=(i,r)=>function aS(e,t,n){const i=Z();if(i.firstCreatePass){const r=Nt(e);oc(n,i.data,i.blueprint,r,!0),oc(t,i.data,i.blueprint,r,!1)}}(i,r?r(e):e,t)}}class di{}class my{}class yy extends di{constructor(t,n){super(),this._parent=n,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Qu(this);const i=ct(t);this._bootstrapComponents=gn(i.bootstrap),this._r3Injector=rg(t,n,[{provide:di,useValue:this},{provide:Qr,useValue:this.componentFactoryResolver}],se(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(n=>n()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class uc extends my{constructor(t){super(),this.moduleType=t}create(t){return new yy(this.moduleType,t)}}class hS extends di{constructor(t,n,i){super(),this.componentFactoryResolver=new Qu(this),this.instance=null;const r=new Hp([...t,{provide:di,useValue:this},{provide:Qr,useValue:this.componentFactoryResolver}],n||Cs(),i,new Set(["environment"]));this.injector=r,r.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}function Gs(e,t,n=null){return new hS(e,t,n).injector}let fS=(()=>{class e{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n.id)){const i=Vp(0,n.type),r=i.length>0?Gs([i],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n.id,r)}return this.cachedInjectors.get(n.id)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return e.\u0275prov=H({token:e,providedIn:"environment",factory:()=>new e(x(Pn))}),e})();function wy(e){e.getStandaloneInjector=t=>t.get(fS).getOrCreateStandaloneInjector(e)}function My(e,t,n,i,r,o){const s=t+n;return ze(e,s,r)?function Zt(e,t,n){return e[t]=n}(e,s+1,o?i.call(o,r):i(r)):function uo(e,t){const n=e[t];return n===U?void 0:n}(e,s+1)}function co(e,t){const n=Z();let i;const r=e+22;n.firstCreatePass?(i=function PS(e,t){if(t)for(let n=t.length-1;n>=0;n--){const i=t[n];if(e===i.name)return i}}(t,n.pipeRegistry),n.data[r]=i,i.onDestroy&&(n.destroyHooks||(n.destroyHooks=[])).push(r,i.onDestroy)):i=n.data[r];const o=i.factory||(i.factory=ti(i.type)),s=At(v);try{const a=ls(!1),l=o();return ls(a),function bE(e,t,n,i){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=i}(n,w(),r,l),l}finally{At(s)}}function ho(e,t,n){const i=e+22,r=w(),o=function ki(e,t){return e[t]}(r,i);return function fo(e,t){return e[1].data[t].pure}(r,i)?My(r,function Ze(){const e=j.lFrame;let t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}(),t,o.transform,n,o):o.transform(n)}function dc(e){return t=>{setTimeout(e,void 0,t)}}const Ae=class OS extends zt{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,n,i){let r=t,o=n||(()=>null),s=i;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=dc(o),r&&(r=dc(r)),s&&(s=dc(s)));const a=super.subscribe({next:r,error:o,complete:s});return t instanceof vt&&t.add(a),a}};let vn=(()=>{class e{}return e.__NG_ELEMENT_ID__=US,e})();const jS=vn,BS=class extends jS{constructor(t,n,i){super(),this._declarationLView=t,this._declarationTContainer=n,this.elementRef=i}createEmbeddedView(t,n){const i=this._declarationTContainer.tViews,r=ks(this._declarationLView,i,t,16,null,i.declTNode,null,null,null,null,n||null);r[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(r[19]=s.createEmbeddedView(i)),ju(i,r,t),new Zr(r)}};function US(){return function zs(e,t){return 4&e.type?new BS(t,e,$i(e,t)):null}(xe(),w())}let Bt=(()=>{class e{}return e.__NG_ELEMENT_ID__=HS,e})();function HS(){return function Py(e,t){let n;const i=t[e.index];if(Rt(i))n=i;else{let r;if(8&e.type)r=Me(i);else{const o=t[G];r=o.createComment("");const s=ht(e,t);ri(o,ys(o,s),r,function HD(e,t){return e.nextSibling(t)}(o,s),!1)}t[e.index]=n=Ng(i,t,r,e),Ts(t,n)}return new xy(n,e,t)}(xe(),w())}const $S=Bt,xy=class extends $S{constructor(t,n,i){super(),this._lContainer=t,this._hostTNode=n,this._hostLView=i}get element(){return $i(this._hostTNode,this._hostLView)}get injector(){return new Ri(this._hostTNode,this._hostLView)}get parentInjector(){const t=us(this._hostTNode,this._hostLView);if(Ef(t)){const n=Pi(t,this._hostLView),i=Ti(t);return new Ri(n[1].data[i+8],n)}return new Ri(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const n=Ty(this._lContainer);return null!==n&&n[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,n,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const s=t.createEmbeddedView(n||{},o);return this.insert(s,r),s}createComponent(t,n,i,r,o){const s=t&&!function Nr(e){return"function"==typeof e}(t);let a;if(s)a=n;else{const d=n||{};a=d.index,i=d.injector,r=d.projectableNodes,o=d.environmentInjector||d.ngModuleRef}const l=s?t:new Yr(ne(t)),u=i||this.parentInjector;if(!o&&null==l.ngModule){const h=(s?u:this.parentInjector).get(Pn,null);h&&(o=h)}const c=l.create(u,r,void 0,o);return this.insert(c.hostView,a),c}insert(t,n){const i=t._lView,r=i[1];if(function a_(e){return Rt(e[3])}(i)){const c=this.indexOf(t);if(-1!==c)this.detach(c);else{const d=i[3],h=new xy(d,d[6],d[3]);h.detach(h.indexOf(t))}}const o=this._adjustIndex(n),s=this._lContainer;!function OD(e,t,n,i){const r=10+i,o=n.length;i>0&&(n[r-1][4]=t),i{class e{constructor(n){this.appInits=n,this.resolve=qs,this.reject=qs,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const n=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{o.subscribe({complete:a,error:l})});n.push(s)}}Promise.all(n).then(()=>{i()}).catch(r=>{this.reject(r)}),0===n.length&&i(),this.initialized=!0}}return e.\u0275fac=function(n){return new(n||e)(x(Js,8))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const go=new R("AppId",{providedIn:"root",factory:function nw(){return`${Ec()}${Ec()}${Ec()}`}});function Ec(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const iw=new R("Platform Initializer"),rw=new R("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),ow=new R("appBootstrapListener");let vI=(()=>{class e{log(n){console.log(n)}warn(n){console.warn(n)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();const An=new R("LocaleId",{providedIn:"root",factory:()=>be(An,P.Optional|P.SkipSelf)||function AI(){return typeof $localize<"u"&&$localize.locale||ar}()});class _I{constructor(t,n){this.ngModuleFactory=t,this.componentFactories=n}}let Sc=(()=>{class e{compileModuleSync(n){return new uc(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){const i=this.compileModuleSync(n),o=gn(ct(n).declarations).reduce((s,a)=>{const l=ne(a);return l&&s.push(new Yr(l)),s},[]);return new _I(i,o)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const MI=(()=>Promise.resolve(0))();function Ic(e){typeof Zone>"u"?MI.then(()=>{e&&e.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",e)}class Re{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ae(!1),this.onMicrotaskEmpty=new Ae(!1),this.onStable=new Ae(!1),this.onError=new Ae(!1),typeof Zone>"u")throw new D(908,!1);Zone.assertZonePatched();const r=this;if(r._nesting=0,r._outer=r._inner=Zone.current,Zone.AsyncStackTaggingZoneSpec){const o=Zone.AsyncStackTaggingZoneSpec;r._inner=r._inner.fork(new o("Angular"))}Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&n,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function EI(){let e=ue.requestAnimationFrame,t=ue.cancelAnimationFrame;if(typeof Zone<"u"&&e&&t){const n=e[Zone.__symbol__("OriginalDelegate")];n&&(e=n);const i=t[Zone.__symbol__("OriginalDelegate")];i&&(t=i)}return{nativeRequestAnimationFrame:e,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function kI(e){const t=()=>{!function II(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,xc(e),e.isCheckStableRunning=!0,kc(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),xc(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,i,r,o,s,a)=>{try{return lw(e),n.invokeTask(r,o,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||e.shouldCoalesceRunChangeDetection)&&t(),uw(e)}},onInvoke:(n,i,r,o,s,a,l)=>{try{return lw(e),n.invoke(r,o,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),uw(e)}},onHasTask:(n,i,r,o)=>{n.hasTask(r,o),i===r&&("microTask"==o.change?(e._hasPendingMicrotasks=o.microTask,xc(e),kc(e)):"macroTask"==o.change&&(e.hasPendingMacrotasks=o.macroTask))},onHandleError:(n,i,r,o)=>(n.handleError(r,o),e.runOutsideAngular(()=>e.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Re.isInAngularZone())throw new D(909,!1)}static assertNotInAngularZone(){if(Re.isInAngularZone())throw new D(909,!1)}run(t,n,i){return this._inner.run(t,n,i)}runTask(t,n,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,t,SI,qs,qs);try{return o.runTask(s,n,i)}finally{o.cancelTask(s)}}runGuarded(t,n,i){return this._inner.runGuarded(t,n,i)}runOutsideAngular(t){return this._outer.run(t)}}const SI={};function kc(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function xc(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function lw(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function uw(e){e._nesting--,kc(e)}class xI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Ae,this.onMicrotaskEmpty=new Ae,this.onStable=new Ae,this.onError=new Ae}run(t,n,i){return t.apply(n,i)}runGuarded(t,n,i){return t.apply(n,i)}runOutsideAngular(t){return t()}runTask(t,n,i,r){return t.apply(n,i)}}const cw=new R(""),Ks=new R("");let Rc,Tc=(()=>{class e{constructor(n,i,r){this._ngZone=n,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Rc||(function TI(e){Rc=e}(r),r.addToWindow(i)),this._watchAngularEvents(),n.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Re.assertNotInAngularZone(),Ic(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Ic(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(n)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),n(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:r})}whenStable(n,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(n,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,i,r){return[]}}return e.\u0275fac=function(n){return new(n||e)(x(Re),x(Pc),x(Ks))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})(),Pc=(()=>{class e{constructor(){this._applications=new Map}registerApplication(n,i){this._applications.set(n,i)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,i=!0){return Rc?.findTestabilityInTree(this,n,i)??null}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})(),Fn=null;const dw=new R("AllowMultipleToken"),Nc=new R("PlatformDestroyListeners");class hw{constructor(t,n){this.name=t,this.token=n}}function pw(e,t,n=[]){const i=`Platform: ${t}`,r=new R(i);return(o=[])=>{let s=Fc();if(!s||s.injector.get(dw,!1)){const a=[...n,...o,{provide:r,useValue:!0}];e?e(a):function NI(e){if(Fn&&!Fn.get(dw,!1))throw new D(400,!1);Fn=e;const t=e.get(mw);(function fw(e){const t=e.get(iw,null);t&&t.forEach(n=>n())})(e)}(function gw(e=[],t){return Ct.create({name:t,providers:[{provide:mu,useValue:"platform"},{provide:Nc,useValue:new Set([()=>Fn=null])},...e]})}(a,i))}return function LI(e){const t=Fc();if(!t)throw new D(401,!1);return t}()}}function Fc(){return Fn?.get(mw)??null}let mw=(()=>{class e{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,i){const r=function ww(e,t){let n;return n="noop"===e?new xI:("zone.js"===e?void 0:e)||new Re(t),n}(i?.ngZone,function yw(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!e||!e.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!e||!e.ngZoneRunCoalescing)||!1}}(i)),o=[{provide:Re,useValue:r}];return r.run(()=>{const s=Ct.create({providers:o,parent:this.injector,name:n.moduleType.name}),a=n.create(s),l=a.injector.get(Gi,null);if(!l)throw new D(402,!1);return r.runOutsideAngular(()=>{const u=r.onError.subscribe({next:c=>{l.handleError(c)}});a.onDestroy(()=>{Ys(this._modules,a),u.unsubscribe()})}),function vw(e,t,n){try{const i=n();return no(i)?i.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):i}catch(i){throw t.runOutsideAngular(()=>e.handleError(i)),i}}(l,r,()=>{const u=a.injector.get(Qs);return u.runInitializers(),u.donePromise.then(()=>(function zm(e){ut(e,"Expected localeId to be defined"),"string"==typeof e&&(Gm=e.toLowerCase().replace(/_/g,"-"))}(a.injector.get(An,ar)||ar),this._moduleDoBootstrap(a),a))})})}bootstrapModule(n,i=[]){const r=Aw({},i);return function PI(e,t,n){const i=new uc(n);return Promise.resolve(i)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(n){const i=n.injector.get(Zs);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!n.instance.ngDoBootstrap)throw new D(403,!1);n.instance.ngDoBootstrap(i)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new D(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const n=this._injector.get(Nc,null);n&&(n.forEach(i=>i()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return e.\u0275fac=function(n){return new(n||e)(x(Ct))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();function Aw(e,t){return Array.isArray(t)?t.reduce(Aw,e):{...e,...t}}let Zs=(()=>{class e{constructor(n,i,r){this._zone=n,this._injector=i,this._exceptionHandler=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const o=new De(a=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{a.next(this._stable),a.complete()})}),s=new De(a=>{let l;this._zone.runOutsideAngular(()=>{l=this._zone.onStable.subscribe(()=>{Re.assertNotInAngularZone(),Ic(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,a.next(!0))})})});const u=this._zone.onUnstable.subscribe(()=>{Re.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{a.next(!1)}))});return()=>{l.unsubscribe(),u.unsubscribe()}});this.isStable=function kb(...e){const t=br(e),n=function _b(e,t){return"number"==typeof il(e)?e.pop():t}(e,1/0),i=e;return i.length?1===i.length?kt(i[0]):_i(n)(Ce(i,t)):an}(o,s.pipe(function xb(e={}){const{connector:t=(()=>new zt),resetOnError:n=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=e;return o=>{let s,a,l,u=0,c=!1,d=!1;const h=()=>{a?.unsubscribe(),a=void 0},f=()=>{h(),s=l=void 0,c=d=!1},p=()=>{const g=s;f(),g?.unsubscribe()};return Fe((g,m)=>{u++,!d&&!c&&h();const A=l=l??t();m.add(()=>{u--,0===u&&!d&&!c&&(a=rl(p,r))}),A.subscribe(m),!s&&u>0&&(s=new Ar({next:M=>A.next(M),error:M=>{d=!0,h(),a=rl(f,n,M),A.error(M)},complete:()=>{c=!0,h(),a=rl(f,i),A.complete()}}),kt(g).subscribe(s))})(o)}}()))}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,i){const r=n instanceof Gp;if(!this._injector.get(Qs).done)throw!r&&function Mi(e){const t=ne(e)||Qe(e)||Ke(e);return null!==t&&t.standalone}(n),new D(405,false);let s;s=r?n:this._injector.get(Qr).resolveComponentFactory(n),this.componentTypes.push(s.componentType);const a=function RI(e){return e.isBoundToModule}(s)?void 0:this._injector.get(di),u=s.create(Ct.NULL,[],i||s.selector,a),c=u.location.nativeElement,d=u.injector.get(cw,null);return d?.registerApplication(c),u.onDestroy(()=>{this.detachView(u.hostView),Ys(this.components,u),d?.unregisterApplication(c)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new D(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(n))}finally{this._runningTick=!1}}attachView(n){const i=n;this._views.push(i),i.attachToAppRef(this)}detachView(n){const i=n;Ys(this._views,i),i.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n),this._injector.get(ow,[]).concat(this._bootstrapListeners).forEach(r=>r(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Ys(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new D(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return e.\u0275fac=function(n){return new(n||e)(x(Re),x(Pn),x(Gi))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function Ys(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}let _w=!0,Xs=(()=>{class e{}return e.__NG_ELEMENT_ID__=jI,e})();function jI(e){return function BI(e,t,n){if(Xo(e)&&!n){const i=ft(e.index,t);return new Zr(i,i)}return 47&e.type?new Zr(t[16],t):null}(xe(),w(),16==(16&e))}class Sw{constructor(){}supports(t){return Xr(t)}create(t){return new WI(t)}}const zI=(e,t)=>t;class WI{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||zI}forEachItem(t){let n;for(n=this._itHead;null!==n;n=n._next)t(n)}forEachOperation(t){let n=this._itHead,i=this._removalsHead,r=0,o=null;for(;n||i;){const s=!i||n&&n.currentIndex{s=this._trackByFn(r,a),null!==n&&Object.is(n.trackById,s)?(i&&(n=this._verifyReinsertion(n,a,s,r)),Object.is(n.item,a)||this._addIdentityChange(n,a)):(n=this._mismatch(n,a,s,r),i=!0),n=n._next,r++}),this.length=r;return this._truncate(n),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,n,i,r){let o;return null===t?o=this._itTail:(o=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._reinsertAfter(t,o,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._moveAfter(t,o,r)):t=this._addAfter(new qI(n,i),o,r),t}_verifyReinsertion(t,n,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?t=this._reinsertAfter(o,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const n=t._next;this._addToRemovals(this._unlink(t)),t=n}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,n,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,o=t._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(t,n,i),this._addToMoves(t,i),t}_moveAfter(t,n,i){return this._unlink(t),this._insertAfter(t,n,i),this._addToMoves(t,i),t}_addAfter(t,n,i){return this._insertAfter(t,n,i),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,n,i){const r=null===n?this._itHead:n._next;return t._next=r,t._prev=n,null===r?this._itTail=t:r._prev=t,null===n?this._itHead=t:n._next=t,null===this._linkedRecords&&(this._linkedRecords=new Iw),this._linkedRecords.put(t),t.currentIndex=i,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const n=t._prev,i=t._next;return null===n?this._itHead=i:n._next=i,null===i?this._itTail=n:i._prev=n,t}_addToMoves(t,n){return t.previousIndex===n||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Iw),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,n){return t.item=n,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class qI{constructor(t,n){this.item=t,this.trackById=n,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class JI{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,n){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===n||n<=i.currentIndex)&&Object.is(i.trackById,t))return i;return null}remove(t){const n=t._prevDup,i=t._nextDup;return null===n?this._head=i:n._nextDup=i,null===i?this._tail=n:i._prevDup=n,null===this._head}}class Iw{constructor(){this.map=new Map}put(t){const n=t.trackById;let i=this.map.get(n);i||(i=new JI,this.map.set(n,i)),i.add(t)}get(t,n){const r=this.map.get(t);return r?r.get(t,n):null}remove(t){const n=t.trackById;return this.map.get(n).remove(t)&&this.map.delete(n),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function kw(e,t,n){const i=e.previousIndex;if(null===i)return i;let r=0;return n&&i{if(n&&n.key===r)this._maybeAddToChanges(n,i),this._appendAfter=n,n=n._next;else{const o=this._getOrCreateRecordForKey(r,i);n=this._insertBeforeOrAppend(n,o)}}),n){n._prev&&(n._prev._next=null),this._removalsHead=n;for(let i=n;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,n){if(t){const i=t._prev;return n._next=t,n._prev=i,t._prev=n,i&&(i._next=n),t===this._mapHead&&(this._mapHead=n),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=n,n._prev=this._appendAfter):this._mapHead=n,this._appendAfter=n,null}_getOrCreateRecordForKey(t,n){if(this._records.has(t)){const r=this._records.get(t);this._maybeAddToChanges(r,n);const o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}const i=new KI(t);return this._records.set(t,i),i.currentValue=n,this._addToAdditions(i),i}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,n){Object.is(n,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=n,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,n){t instanceof Map?t.forEach(n):Object.keys(t).forEach(i=>n(t[i],i))}}class KI{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Tw(){return new na([new Sw])}let na=(()=>{class e{constructor(n){this.factories=n}static create(n,i){if(null!=i){const r=i.factories.slice();n=n.concat(r)}return new e(n)}static extend(n){return{provide:e,useFactory:i=>e.create(n,i||Tw()),deps:[[e,new Br,new jr]]}}find(n){const i=this.factories.find(r=>r.supports(n));if(null!=i)return i;throw new D(901,!1)}}return e.\u0275prov=H({token:e,providedIn:"root",factory:Tw}),e})();function Pw(){return new mo([new xw])}let mo=(()=>{class e{constructor(n){this.factories=n}static create(n,i){if(i){const r=i.factories.slice();n=n.concat(r)}return new e(n)}static extend(n){return{provide:e,useFactory:i=>e.create(n,i||Pw()),deps:[[e,new Br,new jr]]}}find(n){const i=this.factories.find(r=>r.supports(n));if(i)return i;throw new D(901,!1)}}return e.\u0275prov=H({token:e,providedIn:"root",factory:Pw}),e})();const XI=pw(null,"core",[]);let e2=(()=>{class e{constructor(n){}}return e.\u0275fac=function(n){return new(n||e)(x(Zs))},e.\u0275mod=qt({type:e}),e.\u0275inj=xt({}),e})();let ia=null;function tn(){return ia}const st=new R("DocumentToken");let Bc=(()=>{class e{historyGo(n){throw new Error("Not implemented")}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:function(){return function r2(){return x(Rw)}()},providedIn:"platform"}),e})();const o2=new R("Location Initialized");let Rw=(()=>{class e extends Bc{constructor(n){super(),this._doc=n,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return tn().getBaseHref(this._doc)}onPopState(n){const i=tn().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",n,!1),()=>i.removeEventListener("popstate",n)}onHashChange(n){const i=tn().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",n,!1),()=>i.removeEventListener("hashchange",n)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(n){this.location.pathname=n}pushState(n,i,r){Nw()?this._history.pushState(n,i,r):this.location.hash=r}replaceState(n,i,r){Nw()?this._history.replaceState(n,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(n=0){this._history.go(n)}getState(){return this._history.state}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:function(){return function s2(){return new Rw(x(st))}()},providedIn:"platform"}),e})();function Nw(){return!!window.history.pushState}function Uc(e,t){if(0==e.length)return t;if(0==t.length)return e;let n=0;return e.endsWith("/")&&n++,t.startsWith("/")&&n++,2==n?e+t.substring(1):1==n?e+t:e+"/"+t}function Fw(e){const t=e.match(/#|\?|$/),n=t&&t.index||e.length;return e.slice(0,n-("/"===e[n-1]?1:0))+e.slice(n)}function Dn(e){return e&&"?"!==e[0]?"?"+e:e}let fi=(()=>{class e{historyGo(n){throw new Error("Not implemented")}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:function(){return be(Ow)},providedIn:"root"}),e})();const Lw=new R("appBaseHref");let Ow=(()=>{class e extends fi{constructor(n,i){super(),this._platformLocation=n,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??be(st).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}prepareExternalUrl(n){return Uc(this._baseHref,n)}path(n=!1){const i=this._platformLocation.pathname+Dn(this._platformLocation.search),r=this._platformLocation.hash;return r&&n?`${i}${r}`:i}pushState(n,i,r,o){const s=this.prepareExternalUrl(r+Dn(o));this._platformLocation.pushState(n,i,s)}replaceState(n,i,r,o){const s=this.prepareExternalUrl(r+Dn(o));this._platformLocation.replaceState(n,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}}return e.\u0275fac=function(n){return new(n||e)(x(Bc),x(Lw,8))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),a2=(()=>{class e extends fi{constructor(n,i){super(),this._platformLocation=n,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}path(n=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(n){const i=Uc(this._baseHref,n);return i.length>0?"#"+i:i}pushState(n,i,r,o){let s=this.prepareExternalUrl(r+Dn(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(n,i,s)}replaceState(n,i,r,o){let s=this.prepareExternalUrl(r+Dn(o));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(n,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}}return e.\u0275fac=function(n){return new(n||e)(x(Bc),x(Lw,8))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})(),Hc=(()=>{class e{constructor(n){this._subject=new Ae,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=n;const i=this._locationStrategy.getBaseHref();this._baseHref=Fw(Vw(i)),this._locationStrategy.onPopState(r=>{this._subject.emit({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(n=!1){return this.normalize(this._locationStrategy.path(n))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(n,i=""){return this.path()==this.normalize(n+Dn(i))}normalize(n){return e.stripTrailingSlash(function u2(e,t){return e&&t.startsWith(e)?t.substring(e.length):t}(this._baseHref,Vw(n)))}prepareExternalUrl(n){return n&&"/"!==n[0]&&(n="/"+n),this._locationStrategy.prepareExternalUrl(n)}go(n,i="",r=null){this._locationStrategy.pushState(r,"",n,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Dn(i)),r)}replaceState(n,i="",r=null){this._locationStrategy.replaceState(r,"",n,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Dn(i)),r)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(n=0){this._locationStrategy.historyGo?.(n)}onUrlChange(n){return this._urlChangeListeners.push(n),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)})),()=>{const i=this._urlChangeListeners.indexOf(n);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(n="",i){this._urlChangeListeners.forEach(r=>r(n,i))}subscribe(n,i,r){return this._subject.subscribe({next:n,error:i,complete:r})}}return e.normalizeQueryParams=Dn,e.joinWithSlash=Uc,e.stripTrailingSlash=Fw,e.\u0275fac=function(n){return new(n||e)(x(fi))},e.\u0275prov=H({token:e,factory:function(){return function l2(){return new Hc(x(fi))}()},providedIn:"root"}),e})();function Vw(e){return e.replace(/\/index.html$/,"")}var at=(()=>((at=at||{})[at.Decimal=0]="Decimal",at[at.Percent=1]="Percent",at[at.Currency=2]="Currency",at[at.Scientific=3]="Scientific",at))(),T=(()=>((T=T||{})[T.Decimal=0]="Decimal",T[T.Group=1]="Group",T[T.List=2]="List",T[T.PercentSign=3]="PercentSign",T[T.PlusSign=4]="PlusSign",T[T.MinusSign=5]="MinusSign",T[T.Exponential=6]="Exponential",T[T.SuperscriptingExponent=7]="SuperscriptingExponent",T[T.PerMille=8]="PerMille",T[T.Infinity=9]="Infinity",T[T.NaN=10]="NaN",T[T.TimeSeparator=11]="TimeSeparator",T[T.CurrencyDecimal=12]="CurrencyDecimal",T[T.CurrencyGroup=13]="CurrencyGroup",T))();function Et(e,t){const n=et(e),i=n[S.NumberSymbols][t];if(typeof i>"u"){if(t===T.CurrencyDecimal)return n[S.NumberSymbols][T.Decimal];if(t===T.CurrencyGroup)return n[S.NumberSymbols][T.Group]}return i}const F2=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function Kc(e){const t=parseInt(e);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+e);return t}class Q2{constructor(t,n,i,r){this.$implicit=t,this.ngForOf=n,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Yc=(()=>{class e{constructor(n,i,r){this._viewContainer=n,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const i=this._viewContainer;n.forEachOperation((r,o,s)=>{if(null==r.previousIndex)i.createEmbeddedView(this._template,new Q2(r.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===o?void 0:o);else if(null!==o){const a=i.get(o);i.move(a,s),Qw(a,r)}});for(let r=0,o=i.length;r{Qw(i.get(r.currentIndex),r)})}static ngTemplateContextGuard(n,i){return!0}}return e.\u0275fac=function(n){return new(n||e)(v(Bt),v(vn),v(na))},e.\u0275dir=O({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),e})();function Qw(e,t){e.context.$implicit=t.item}let td=(()=>{class e{constructor(n){this.differs=n,this.keyValues=[],this.compareFn=Yw}transform(n,i=Yw){if(!n||!(n instanceof Map)&&"object"!=typeof n)return null;this.differ||(this.differ=this.differs.find(n).create());const r=this.differ.diff(n),o=i!==this.compareFn;return r&&(this.keyValues=[],r.forEachItem(s=>{this.keyValues.push(function vk(e,t){return{key:e,value:t}}(s.key,s.currentValue))})),(r||o)&&(this.keyValues.sort(i),this.compareFn=i),this.keyValues}}return e.\u0275fac=function(n){return new(n||e)(v(mo,16))},e.\u0275pipe=it({name:"keyvalue",type:e,pure:!1,standalone:!0}),e})();function Yw(e,t){const n=e.key,i=t.key;if(n===i)return 0;if(void 0===n)return 1;if(void 0===i)return-1;if(null===n)return 1;if(null===i)return-1;if("string"==typeof n&&"string"==typeof i)return n{class e{constructor(n){this._locale=n}transform(n,i,r){if(!function id(e){return!(null==e||""===e||e!=e)}(n))return null;r=r||this._locale;try{return function U2(e,t,n){return function Jc(e,t,n,i,r,o,s=!1){let a="",l=!1;if(isFinite(e)){let u=function $2(e){let i,r,o,s,a,t=Math.abs(e)+"",n=0;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(o=t.search(/e/i))>0?(r<0&&(r=o),r+=+t.slice(o+1),t=t.substring(0,o)):r<0&&(r=t.length),o=0;"0"===t.charAt(o);o++);if(o===(a=t.length))i=[0],r=1;else{for(a--;"0"===t.charAt(a);)a--;for(r-=o,i=[],s=0;o<=a;o++,s++)i[s]=Number(t.charAt(o))}return r>22&&(i=i.splice(0,21),n=r-1,r=1),{digits:i,exponent:n,integerLen:r}}(e);s&&(u=function H2(e){if(0===e.digits[0])return e;const t=e.digits.length-e.integerLen;return e.exponent?e.exponent+=2:(0===t?e.digits.push(0,0):1===t&&e.digits.push(0),e.integerLen+=2),e}(u));let c=t.minInt,d=t.minFrac,h=t.maxFrac;if(o){const M=o.match(F2);if(null===M)throw new Error(`${o} is not a valid digit info`);const y=M[1],I=M[3],Y=M[5];null!=y&&(c=Kc(y)),null!=I&&(d=Kc(I)),null!=Y?h=Kc(Y):null!=I&&d>h&&(h=d)}!function G2(e,t,n){if(t>n)throw new Error(`The minimum number of digits after fraction (${t}) is higher than the maximum (${n}).`);let i=e.digits,r=i.length-e.integerLen;const o=Math.min(Math.max(t,r),n);let s=o+e.integerLen,a=i[s];if(s>0){i.splice(Math.max(e.integerLen,s));for(let d=s;d=5)if(s-1<0){for(let d=0;d>s;d--)i.unshift(0),e.integerLen++;i.unshift(1),e.integerLen++}else i[s-1]++;for(;r=u?p.pop():l=!1),h>=10?1:0},0);c&&(i.unshift(c),e.integerLen++)}(u,d,h);let f=u.digits,p=u.integerLen;const g=u.exponent;let m=[];for(l=f.every(M=>!M);p0?m=f.splice(p,f.length):(m=f,f=[0]);const A=[];for(f.length>=t.lgSize&&A.unshift(f.splice(-t.lgSize,f.length).join(""));f.length>t.gSize;)A.unshift(f.splice(-t.gSize,f.length).join(""));f.length&&A.unshift(f.join("")),a=A.join(Et(n,i)),m.length&&(a+=Et(n,r)+m.join("")),g&&(a+=Et(n,T.Exponential)+"+"+g)}else a=Et(n,T.Infinity);return a=e<0&&!l?t.negPre+a+t.negSuf:t.posPre+a+t.posSuf,a}(e,function Qc(e,t="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=e.split(";"),r=i[0],o=i[1],s=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],a=s[0],l=s[1]||"";n.posPre=a.substring(0,a.indexOf("#"));for(let c=0;c{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=qt({type:e}),e.\u0275inj=xt({}),e})();let Sk=(()=>{class e{}return e.\u0275prov=H({token:e,providedIn:"root",factory:()=>new Ik(x(st),window)}),e})();class Ik{constructor(t,n){this.document=t,this.window=n,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(t){this.supportsScrolling()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(!this.supportsScrolling())return;const n=function kk(e,t){const n=e.getElementById(t)||e.getElementsByName(t)[0];if(n)return n;if("function"==typeof e.createTreeWalker&&e.body&&(e.body.createShadowRoot||e.body.attachShadow)){const i=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let r=i.currentNode;for(;r;){const o=r.shadowRoot;if(o){const s=o.getElementById(t)||o.querySelector(`[name="${t}"]`);if(s)return s}r=i.nextNode()}}return null}(this.document,t);n&&(this.scrollToElement(n),n.focus())}setHistoryScrollRestoration(t){if(this.supportScrollRestoration()){const n=this.window.history;n&&n.scrollRestoration&&(n.scrollRestoration=t)}}scrollToElement(t){const n=t.getBoundingClientRect(),i=n.left+this.window.pageXOffset,r=n.top+this.window.pageYOffset,o=this.offset();this.window.scrollTo(i-o[0],r-o[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const t=ev(this.window.history)||ev(Object.getPrototypeOf(this.window.history));return!(!t||!t.writable&&!t.set)}catch{return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}function ev(e){return Object.getOwnPropertyDescriptor(e,"scrollRestoration")}class ad extends class Jk extends class i2{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function n2(e){ia||(ia=e)}(new ad)}onAndCancel(t,n,i){return t.addEventListener(n,i,!1),()=>{t.removeEventListener(n,i,!1)}}dispatchEvent(t,n){t.dispatchEvent(n)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,n){return(n=n||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,n){return"window"===n?window:"document"===n?t:"body"===n?t.body:null}getBaseHref(t){const n=function Qk(){return Ao=Ao||document.querySelector("base"),Ao?Ao.getAttribute("href"):null}();return null==n?null:function Kk(e){pa=pa||document.createElement("a"),pa.setAttribute("href",e);const t=pa.pathname;return"/"===t.charAt(0)?t:`/${t}`}(n)}resetBaseElement(){Ao=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return function W2(e,t){t=encodeURIComponent(t);for(const n of e.split(";")){const i=n.indexOf("="),[r,o]=-1==i?[n,""]:[n.slice(0,i),n.slice(i+1)];if(r.trim()===t)return decodeURIComponent(o)}return null}(document.cookie,t)}}let pa,Ao=null;const rv=new R("TRANSITION_ID"),Yk=[{provide:Js,useFactory:function Zk(e,t,n){return()=>{n.get(Qs).donePromise.then(()=>{const i=tn(),r=t.querySelectorAll(`style[ng-transition="${e}"]`);for(let o=0;o{class e{build(){return new XMLHttpRequest}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();const ga=new R("EventManagerPlugins");let ma=(()=>{class e{constructor(n,i){this._zone=i,this._eventNameToPlugin=new Map,n.forEach(r=>r.manager=this),this._plugins=n.slice().reverse()}addEventListener(n,i,r){return this._findPluginFor(i).addEventListener(n,i,r)}addGlobalEventListener(n,i,r){return this._findPluginFor(i).addGlobalEventListener(n,i,r)}getZone(){return this._zone}_findPluginFor(n){const i=this._eventNameToPlugin.get(n);if(i)return i;const r=this._plugins;for(let o=0;o{class e{constructor(){this._stylesSet=new Set}addStyles(n){const i=new Set;n.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(n){}getAllStyles(){return Array.from(this._stylesSet)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})(),bo=(()=>{class e extends sv{constructor(n){super(),this._doc=n,this._hostNodes=new Map,this._hostNodes.set(n.head,[])}_addStylesToHost(n,i,r){n.forEach(o=>{const s=this._doc.createElement("style");s.textContent=o,r.push(i.appendChild(s))})}addHost(n){const i=[];this._addStylesToHost(this._stylesSet,n,i),this._hostNodes.set(n,i)}removeHost(n){const i=this._hostNodes.get(n);i&&i.forEach(av),this._hostNodes.delete(n)}onStylesAdded(n){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(n,r,i)})}ngOnDestroy(){this._hostNodes.forEach(n=>n.forEach(av))}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();function av(e){tn().remove(e)}const ld={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},ud=/%COMP%/g;function ya(e,t,n){for(let i=0;i{if("__ngUnwrap__"===t)return e;!1===e(t)&&(t.preventDefault(),t.returnValue=!1)}}let cd=(()=>{class e{constructor(n,i,r){this.eventManager=n,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new dd(n)}createRenderer(n,i){if(!n||!i)return this.defaultRenderer;switch(i.encapsulation){case Wt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new sx(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(n),r}case 1:case Wt.ShadowDom:return new ax(this.eventManager,this.sharedStylesHost,n,i);default:if(!this.rendererByCompId.has(i.id)){const r=ya(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return e.\u0275fac=function(n){return new(n||e)(x(ma),x(bo),x(go))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();class dd{constructor(t){this.eventManager=t,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,n){return n?document.createElementNS(ld[n]||n,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,n){(hv(t)?t.content:t).appendChild(n)}insertBefore(t,n,i){t&&(hv(t)?t.content:t).insertBefore(n,i)}removeChild(t,n){t&&t.removeChild(n)}selectRootElement(t,n){let i="string"==typeof t?document.querySelector(t):t;if(!i)throw new Error(`The selector "${t}" did not match any elements`);return n||(i.textContent=""),i}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,n,i,r){if(r){n=r+":"+n;const o=ld[r];o?t.setAttributeNS(o,n,i):t.setAttribute(n,i)}else t.setAttribute(n,i)}removeAttribute(t,n,i){if(i){const r=ld[i];r?t.removeAttributeNS(r,n):t.removeAttribute(`${i}:${n}`)}else t.removeAttribute(n)}addClass(t,n){t.classList.add(n)}removeClass(t,n){t.classList.remove(n)}setStyle(t,n,i,r){r&(ot.DashCase|ot.Important)?t.style.setProperty(n,i,r&ot.Important?"important":""):t.style[n]=i}removeStyle(t,n,i){i&ot.DashCase?t.style.removeProperty(n):t.style[n]=""}setProperty(t,n,i){t[n]=i}setValue(t,n){t.nodeValue=n}listen(t,n,i){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,n,cv(i)):this.eventManager.addEventListener(t,n,cv(i))}}function hv(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class sx extends dd{constructor(t,n,i,r){super(t),this.component=i;const o=ya(r+"-"+i.id,i.styles,[]);n.addStyles(o),this.contentAttr=function ix(e){return"_ngcontent-%COMP%".replace(ud,e)}(r+"-"+i.id),this.hostAttr=function rx(e){return"_nghost-%COMP%".replace(ud,e)}(r+"-"+i.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,n){const i=super.createElement(t,n);return super.setAttribute(i,this.contentAttr,""),i}}class ax extends dd{constructor(t,n,i,r){super(t),this.sharedStylesHost=n,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const o=ya(r.id,r.styles,[]);for(let s=0;s{class e extends ov{constructor(n){super(n)}supports(n){return!0}addEventListener(n,i,r){return n.addEventListener(i,r,!1),()=>this.removeEventListener(n,i,r)}removeEventListener(n,i,r){return n.removeEventListener(i,r)}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();const fv=["alt","control","meta","shift"],ux={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},cx={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let dx=(()=>{class e extends ov{constructor(n){super(n)}supports(n){return null!=e.parseEventName(n)}addEventListener(n,i,r){const o=e.parseEventName(i),s=e.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>tn().onAndCancel(n,o.domEventName,s))}static parseEventName(n){const i=n.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=e._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),fv.forEach(u=>{const c=i.indexOf(u);c>-1&&(i.splice(c,1),s+=u+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(n,i){let r=ux[n.key]||n.key,o="";return i.indexOf("code.")>-1&&(r=n.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),fv.forEach(s=>{s!==r&&(0,cx[s])(n)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(n,i,r){return o=>{e.matchEventFullKeyCode(o,n)&&r.runGuarded(()=>i(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();const gx=pw(XI,"browser",[{provide:rw,useValue:"browser"},{provide:iw,useValue:function hx(){ad.makeCurrent()},multi:!0},{provide:st,useFactory:function px(){return function QD(e){au=e}(document),document},deps:[]}]),mv=new R(""),yv=[{provide:Ks,useClass:class Xk{addToWindow(t){ue.getAngularTestability=(i,r=!0)=>{const o=t.findTestabilityInTree(i,r);if(null==o)throw new Error("Could not find testability for element.");return o},ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),ue.getAllAngularRootElements=()=>t.getAllRootElements(),ue.frameworkStabilizers||(ue.frameworkStabilizers=[]),ue.frameworkStabilizers.push(i=>{const r=ue.getAllAngularTestabilities();let o=r.length,s=!1;const a=function(l){s=s||l,o--,0==o&&i(s)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(t,n,i){return null==n?null:t.getTestability(n)??(i?tn().isShadowRoot(n)?this.findTestabilityInTree(t,n.host,!0):this.findTestabilityInTree(t,n.parentElement,!0):null)}},deps:[]},{provide:cw,useClass:Tc,deps:[Re,Pc,Ks]},{provide:Tc,useClass:Tc,deps:[Re,Pc,Ks]}],wv=[{provide:mu,useValue:"root"},{provide:Gi,useFactory:function fx(){return new Gi},deps:[]},{provide:ga,useClass:lx,multi:!0,deps:[st,Re,rw]},{provide:ga,useClass:dx,multi:!0,deps:[st]},{provide:cd,useClass:cd,deps:[ma,bo,go]},{provide:Wp,useExisting:cd},{provide:sv,useExisting:bo},{provide:bo,useClass:bo,deps:[st]},{provide:ma,useClass:ma,deps:[ga,Re]},{provide:class xk{},useClass:ex,deps:[]},[]];let mx=(()=>{class e{constructor(n){}static withServerTransition(n){return{ngModule:e,providers:[{provide:go,useValue:n.appId},{provide:rv,useExisting:go},Yk]}}}return e.\u0275fac=function(n){return new(n||e)(x(mv,12))},e.\u0275mod=qt({type:e}),e.\u0275inj=xt({providers:[...wv,...yv],imports:[Dk,e2]}),e})(),vv=(()=>{class e{constructor(n){this._doc=n}getTitle(){return this._doc.title}setTitle(n){this._doc.title=n||""}}return e.\u0275fac=function(n){return new(n||e)(x(st))},e.\u0275prov=H({token:e,factory:function(n){let i=null;return i=n?new n:function wx(){return new vv(x(st))}(),i},providedIn:"root"}),e})();typeof window<"u"&&window;const{isArray:Ex}=Array,{getPrototypeOf:Sx,prototype:Ix,keys:kx}=Object;function _v(e){if(1===e.length){const t=e[0];if(Ex(t))return{args:t,keys:null};if(function xx(e){return e&&"object"==typeof e&&Sx(e)===Ix}(t)){const n=kx(t);return{args:n.map(i=>t[i]),keys:n}}}return{args:e,keys:null}}const{isArray:Tx}=Array;function Dv(e){return K(t=>function Px(e,t){return Tx(t)?e(...t):e(t)}(e,t))}function Cv(e,t){return e.reduce((n,i,r)=>(n[i]=t[r],n),{})}let Mv=(()=>{class e{constructor(n,i){this._renderer=n,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(n,i){this._renderer.setProperty(this._elementRef.nativeElement,n,i)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return e.\u0275fac=function(n){return new(n||e)(v(pn),v(mt))},e.\u0275dir=O({type:e}),e})(),pi=(()=>{class e extends Mv{}return e.\u0275fac=function(){let t;return function(i){return(t||(t=$e(e)))(i||e)}}(),e.\u0275dir=O({type:e,features:[ie]}),e})();const nn=new R("NgValueAccessor"),Nx={provide:nn,useExisting:le(()=>wa),multi:!0};let wa=(()=>{class e extends pi{writeValue(n){this.setProperty("checked",n)}}return e.\u0275fac=function(){let t;return function(i){return(t||(t=$e(e)))(i||e)}}(),e.\u0275dir=O({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,i){1&n&&Q("change",function(o){return i.onChange(o.target.checked)})("blur",function(){return i.onTouched()})},features:[fe([Nx]),ie]}),e})();const Fx={provide:nn,useExisting:le(()=>pd),multi:!0},Ox=new R("CompositionEventMode");let pd=(()=>{class e extends Mv{constructor(n,i,r){super(n,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function Lx(){const e=tn()?tn().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return e.\u0275fac=function(n){return new(n||e)(v(pn),v(mt),v(Ox,8))},e.\u0275dir=O({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(n,i){1&n&&Q("input",function(o){return i._handleInput(o.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(o){return i._compositionEnd(o.target.value)})},features:[fe([Fx]),ie]}),e})();const qe=new R("NgValidators"),Vn=new R("NgAsyncValidators");function Fv(e){return null!=e}function Lv(e){return no(e)?Ce(e):e}function Ov(e){let t={};return e.forEach(n=>{t=null!=n?{...t,...n}:t}),0===Object.keys(t).length?null:t}function Vv(e,t){return t.map(n=>n(e))}function jv(e){return e.map(t=>function Bx(e){return!e.validate}(t)?t:n=>t.validate(n))}function gd(e){return null!=e?function Bv(e){if(!e)return null;const t=e.filter(Fv);return 0==t.length?null:function(n){return Ov(Vv(n,t))}}(jv(e)):null}function md(e){return null!=e?function Uv(e){if(!e)return null;const t=e.filter(Fv);return 0==t.length?null:function(n){return function Rx(...e){const t=Gh(e),{args:n,keys:i}=_v(e),r=new De(o=>{const{length:s}=n;if(!s)return void o.complete();const a=new Array(s);let l=s,u=s;for(let c=0;c{d||(d=!0,u--),a[c]=h},()=>l--,void 0,()=>{(!l||!d)&&(u||o.next(i?Cv(i,a):a),o.complete())}))}});return t?r.pipe(Dv(t)):r}(Vv(n,t).map(Lv)).pipe(K(Ov))}}(jv(e)):null}function Hv(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function yd(e){return e?Array.isArray(e)?e:[e]:[]}function Aa(e,t){return Array.isArray(e)?e.includes(t):e===t}function zv(e,t){const n=yd(t);return yd(e).forEach(r=>{Aa(n,r)||n.push(r)}),n}function Wv(e,t){return yd(t).filter(n=>!Aa(e,n))}class qv{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=gd(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=md(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,n){return!!this.control&&this.control.hasError(t,n)}getError(t,n){return this.control?this.control.getError(t,n):null}}class nt extends qv{get formDirective(){return null}get path(){return null}}class jn extends qv{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}let wd=(()=>{class e extends class Jv{constructor(t){this._cd=t}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}{constructor(n){super(n)}}return e.\u0275fac=function(n){return new(n||e)(v(jn,2))},e.\u0275dir=O({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,i){2&n&&Os("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},features:[ie]}),e})();const _o="VALID",_a="INVALID",cr="PENDING",Do="DISABLED";function Kv(e){return Array.isArray(e)?gd(e):e||null}function Zv(e){return Array.isArray(e)?md(e):e||null}function Da(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function Co(e,t){(function Md(e,t){const n=function $v(e){return e._rawValidators}(e);null!==t.validator?e.setValidators(Hv(n,t.validator)):"function"==typeof n&&e.setValidators([n]);const i=function Gv(e){return e._rawAsyncValidators}(e);null!==t.asyncValidator?e.setAsyncValidators(Hv(i,t.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);const r=()=>e.updateValueAndValidity();Ea(t._rawValidators,r),Ea(t._rawAsyncValidators,r)})(e,t),t.valueAccessor.writeValue(e.value),e.disabled&&t.valueAccessor.setDisabledState?.(!0),function Kx(e,t){t.valueAccessor.registerOnChange(n=>{e._pendingValue=n,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&t0(e,t)})}(e,t),function Yx(e,t){const n=(i,r)=>{t.valueAccessor.writeValue(i),r&&t.viewToModelUpdate(i)};e.registerOnChange(n),t._registerOnDestroy(()=>{e._unregisterOnChange(n)})}(e,t),function Zx(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&t0(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function Qx(e,t){if(t.valueAccessor.setDisabledState){const n=i=>{t.valueAccessor.setDisabledState(i)};e.registerOnDisabledChange(n),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(n)})}}(e,t)}function Ea(e,t){e.forEach(n=>{n.registerOnValidatorChange&&n.registerOnValidatorChange(t)})}function t0(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function s0(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}function a0(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const sT={provide:jn,useExisting:le(()=>Ia)},d0=(()=>Promise.resolve())();let Ia=(()=>{class e extends jn{constructor(n,i,r,o,s){super(),this._changeDetectorRef=s,this.control=new class extends class e0{constructor(t,n){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=n,this._composedValidatorFn=Kv(this._rawValidators),this._composedAsyncValidatorFn=Zv(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===_o}get invalid(){return this.status===_a}get pending(){return this.status==cr}get disabled(){return this.status===Do}get enabled(){return this.status!==Do}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._rawValidators=t,this._composedValidatorFn=Kv(t)}setAsyncValidators(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=Zv(t)}addValidators(t){this.setValidators(zv(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(zv(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(Wv(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(Wv(t,this._rawAsyncValidators))}hasValidator(t){return Aa(this._rawValidators,t)}hasAsyncValidator(t){return Aa(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(n=>{n.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(n=>{n.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=cr,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const n=this._parentMarkedDirty(t.onlySelf);this.status=Do,this.errors=null,this._forEachChild(i=>{i.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:n}),this._onDisabledChange.forEach(i=>i(!0))}enable(t={}){const n=this._parentMarkedDirty(t.onlySelf);this.status=_o,this._forEachChild(i=>{i.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:n}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===_o||this.status===cr)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(n=>n._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Do:_o}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=cr,this._hasOwnPendingAsyncValidator=!0;const n=Lv(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,n={}){this.errors=t,this._updateControlsErrors(!1!==n.emitEvent)}get(t){let n=t;return null==n||(Array.isArray(n)||(n=n.split(".")),0===n.length)?null:n.reduce((i,r)=>i&&i._find(r),this)}getError(t,n){const i=n?this.get(n):this;return i&&i.errors?i.errors[t]:null}hasError(t,n){return!!this.getError(t,n)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Ae,this.statusChanges=new Ae}_calculateStatus(){return this._allControlsDisabled()?Do:this.errors?_a:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(cr)?cr:this._anyControlsHaveStatus(_a)?_a:_o}_anyControlsHaveStatus(t){return this._anyControls(n=>n.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){Da(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}}{constructor(t=null,n,i){super(function _d(e){return(Da(e)?e.validators:e)||null}(n),function Dd(e,t){return(Da(t)?t.asyncValidators:e)||null}(i,n)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(n),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Da(n)&&(n.nonNullable||n.initialValueIsDefault)&&(this.defaultValue=a0(t)?t.value:t)}setValue(t,n={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==n.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==n.emitViewToModelChange)),this.updateValueAndValidity(n)}patchValue(t,n={}){this.setValue(t,n)}reset(t=this.defaultValue,n={}){this._applyFormState(t),this.markAsPristine(n),this.markAsUntouched(n),this.setValue(this.value,n),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){s0(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){s0(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){a0(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}},this._registered=!1,this.update=new Ae,this._parent=n,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function Sd(e,t){if(!t)return null;let n,i,r;return Array.isArray(t),t.forEach(o=>{o.constructor===pd?n=o:function tT(e){return Object.getPrototypeOf(e.constructor)===pi}(o)?i=o:r=o}),r||i||n||null}(0,o)}ngOnChanges(n){if(this._checkForErrors(),!this._registered||"name"in n){if(this._registered&&(this._checkName(),this.formDirective)){const i=n.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in n&&this._updateDisabled(n),function Ed(e,t){if(!e.hasOwnProperty("model"))return!1;const n=e.model;return!!n.isFirstChange()||!Object.is(t,n.currentValue)}(n,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Co(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(n){d0.then(()=>{this.control.setValue(n,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(n){const i=n.isDisabled.currentValue,r=0!==i&&function _n(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(i);d0.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(n){return this._parent?function Ca(e,t){return[...t.path,e]}(n,this._parent):[n]}}return e.\u0275fac=function(n){return new(n||e)(v(nt,9),v(qe,10),v(Vn,10),v(nn,10),v(Xs,8))},e.\u0275dir=O({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[fe([sT]),ie,_t]}),e})(),f0=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=qt({type:e}),e.\u0275inj=xt({}),e})(),TT=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=qt({type:e}),e.\u0275inj=xt({imports:[f0]}),e})(),PT=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=qt({type:e}),e.\u0275inj=xt({imports:[TT]}),e})();function k(...e){return Ce(e,br(e))}class Gt extends zt{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const n=super._subscribe(t);return!n.closed&&t.next(this._value),n}getValue(){const{hasError:t,thrownError:n,_value:i}=this;if(t)throw n;return this._throwIfClosed(),i}next(t){super.next(this._value=t)}}const ka=wr(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function T0(...e){const t=br(e),n=Gh(e),{args:i,keys:r}=_v(e);if(0===i.length)return Ce([],t);const o=new De(function NT(e,t,n=Qn){return i=>{P0(t,()=>{const{length:r}=e,o=new Array(r);let s=r,a=r;for(let l=0;l{const u=Ce(e[l],t);let c=!1;u.subscribe(ke(i,d=>{o[l]=d,c||(c=!0,a--),a||i.next(n(o.slice()))},()=>{--s||i.complete()}))},i)},i)}}(i,t,r?s=>Cv(r,s):Qn));return n?o.pipe(Dv(n)):o}function P0(e,t,n){e?sn(n,e,t):t()}function Fd(...e){return function FT(){return _i(1)}()(Ce(e,br(e)))}function R0(e){return new De(t=>{kt(e()).subscribe(t)})}function Eo(e,t){const n=ae(e)?e:()=>e,i=r=>r.error(n());return new De(t?r=>t.schedule(i,0,r):i)}function Ld(){return Fe((e,t)=>{let n=null;e._refCount++;const i=ke(t,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(n=null);const r=e._connection,o=n;n=null,r&&(!o||r===o)&&r.unsubscribe(),t.unsubscribe()});e.subscribe(i),i.closed||(n=e.connect())})}class N0 extends De{constructor(t,n){super(),this.source=t,this.subjectFactory=n,this._subject=null,this._refCount=0,this._connection=null,xh(t)&&(this.lift=t.lift)}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:t}=this;this._subject=this._connection=null,t?.unsubscribe()}connect(){let t=this._connection;if(!t){t=this._connection=new vt;const n=this.getSubject();t.add(this.source.subscribe(ke(n,void 0,()=>{this._teardown(),n.complete()},i=>{this._teardown(),n.error(i)},()=>this._teardown()))),t.closed&&(this._connection=null,t=vt.EMPTY)}return t}refCount(){return Ld()(this)}}function rn(e,t){return Fe((n,i)=>{let r=null,o=0,s=!1;const a=()=>s&&!r&&i.complete();n.subscribe(ke(i,l=>{r?.unsubscribe();let u=0;const c=o++;kt(e(l,c)).subscribe(r=ke(i,d=>i.next(t?t(l,d,c,u++):d),()=>{r=null,a()}))},()=>{s=!0,a()}))})}function So(e){return e<=0?()=>an:Fe((t,n)=>{let i=0;t.subscribe(ke(n,r=>{++i<=e&&(n.next(r),e<=i&&n.complete())}))})}function Bn(e,t){return Fe((n,i)=>{let r=0;n.subscribe(ke(i,o=>e.call(t,o,r++)&&i.next(o)))})}function xa(e){return Fe((t,n)=>{let i=!1;t.subscribe(ke(n,r=>{i=!0,n.next(r)},()=>{i||n.next(e),n.complete()}))})}function F0(e=OT){return Fe((t,n)=>{let i=!1;t.subscribe(ke(n,r=>{i=!0,n.next(r)},()=>i?n.complete():n.error(e())))})}function OT(){return new ka}function Un(e,t){const n=arguments.length>=2;return i=>i.pipe(e?Bn((r,o)=>e(r,o,i)):Qn,So(1),n?xa(t):F0(()=>new ka))}function mi(e,t){return ae(t)?Ve(e,t,1):Ve(e,1)}function Je(e,t,n){const i=ae(e)||t||n?{next:e,error:t,complete:n}:e;return i?Fe((r,o)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;r.subscribe(ke(o,l=>{var u;null===(u=i.next)||void 0===u||u.call(i,l),o.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),o.complete()},l=>{var u;a=!1,null===(u=i.error)||void 0===u||u.call(i,l),o.error(l)},()=>{var l,u;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(u=i.finalize)||void 0===u||u.call(i)}))}):Qn}function Hn(e){return Fe((t,n)=>{let o,i=null,r=!1;i=t.subscribe(ke(n,void 0,void 0,s=>{o=kt(e(s,Hn(e)(t))),i?(i.unsubscribe(),i=null,o.subscribe(n)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(n))})}function VT(e,t,n,i,r){return(o,s)=>{let a=n,l=t,u=0;o.subscribe(ke(s,c=>{const d=u++;l=a?e(l,c,d):(a=!0,c),i&&s.next(l)},r&&(()=>{a&&s.next(l),s.complete()})))}}function L0(e,t){return Fe(VT(e,t,arguments.length>=2,!0))}function Od(e){return e<=0?()=>an:Fe((t,n)=>{let i=[];t.subscribe(ke(n,r=>{i.push(r),e{for(const r of i)n.next(r);n.complete()},void 0,()=>{i=null}))})}function O0(e,t){const n=arguments.length>=2;return i=>i.pipe(e?Bn((r,o)=>e(r,o,i)):Qn,Od(1),n?xa(t):F0(()=>new ka))}function Vd(e){return Fe((t,n)=>{try{t.subscribe(n)}finally{n.add(e)}})}const W="primary",Io=Symbol("RouteTitle");class UT{constructor(t){this.params=t||{}}has(t){return Object.prototype.hasOwnProperty.call(this.params,t)}get(t){if(this.has(t)){const n=this.params[t];return Array.isArray(n)?n[0]:n}return null}getAll(t){if(this.has(t)){const n=this.params[t];return Array.isArray(n)?n:[n]}return[]}get keys(){return Object.keys(this.params)}}function dr(e){return new UT(e)}function HT(e,t,n){const i=n.path.split("/");if(i.length>e.length||"full"===n.pathMatch&&(t.hasChildren()||i.lengthi[o]===r)}return e===t}function j0(e){return Array.prototype.concat.apply([],e)}function B0(e){return e.length>0?e[e.length-1]:null}function Be(e,t){for(const n in e)e.hasOwnProperty(n)&&t(e[n],n)}function $n(e){return tc(e)?e:no(e)?Ce(Promise.resolve(e)):k(e)}const zT={exact:function $0(e,t,n){if(!wi(e.segments,t.segments)||!Ta(e.segments,t.segments,n)||e.numberOfChildren!==t.numberOfChildren)return!1;for(const i in t.children)if(!e.children[i]||!$0(e.children[i],t.children[i],n))return!1;return!0},subset:G0},U0={exact:function WT(e,t){return on(e,t)},subset:function qT(e,t){return Object.keys(t).length<=Object.keys(e).length&&Object.keys(t).every(n=>V0(e[n],t[n]))},ignored:()=>!0};function H0(e,t,n){return zT[n.paths](e.root,t.root,n.matrixParams)&&U0[n.queryParams](e.queryParams,t.queryParams)&&!("exact"===n.fragment&&e.fragment!==t.fragment)}function G0(e,t,n){return z0(e,t,t.segments,n)}function z0(e,t,n,i){if(e.segments.length>n.length){const r=e.segments.slice(0,n.length);return!(!wi(r,n)||t.hasChildren()||!Ta(r,n,i))}if(e.segments.length===n.length){if(!wi(e.segments,n)||!Ta(e.segments,n,i))return!1;for(const r in t.children)if(!e.children[r]||!G0(e.children[r],t.children[r],i))return!1;return!0}{const r=n.slice(0,e.segments.length),o=n.slice(e.segments.length);return!!(wi(e.segments,r)&&Ta(e.segments,r,i)&&e.children[W])&&z0(e.children[W],t,o,i)}}function Ta(e,t,n){return t.every((i,r)=>U0[n](e[r].parameters,i.parameters))}class yi{constructor(t,n,i){this.root=t,this.queryParams=n,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=dr(this.queryParams)),this._queryParamMap}toString(){return KT.serialize(this)}}class q{constructor(t,n){this.segments=t,this.children=n,this.parent=null,Be(n,(i,r)=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Pa(this)}}class ko{constructor(t,n){this.path=t,this.parameters=n}get parameterMap(){return this._parameterMap||(this._parameterMap=dr(this.parameters)),this._parameterMap}toString(){return Q0(this)}}function wi(e,t){return e.length===t.length&&e.every((n,i)=>n.path===t[i].path)}let W0=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:function(){return new Bd},providedIn:"root"}),e})();class Bd{parse(t){const n=new oP(t);return new yi(n.parseRootSegment(),n.parseQueryParams(),n.parseFragment())}serialize(t){const n=`/${xo(t.root,!0)}`,i=function XT(e){const t=Object.keys(e).map(n=>{const i=e[n];return Array.isArray(i)?i.map(r=>`${Ra(n)}=${Ra(r)}`).join("&"):`${Ra(n)}=${Ra(i)}`}).filter(n=>!!n);return t.length?`?${t.join("&")}`:""}(t.queryParams);return`${n}${i}${"string"==typeof t.fragment?`#${function ZT(e){return encodeURI(e)}(t.fragment)}`:""}`}}const KT=new Bd;function Pa(e){return e.segments.map(t=>Q0(t)).join("/")}function xo(e,t){if(!e.hasChildren())return Pa(e);if(t){const n=e.children[W]?xo(e.children[W],!1):"",i=[];return Be(e.children,(r,o)=>{o!==W&&i.push(`${o}:${xo(r,!1)}`)}),i.length>0?`${n}(${i.join("//")})`:n}{const n=function QT(e,t){let n=[];return Be(e.children,(i,r)=>{r===W&&(n=n.concat(t(i,r)))}),Be(e.children,(i,r)=>{r!==W&&(n=n.concat(t(i,r)))}),n}(e,(i,r)=>r===W?[xo(e.children[W],!1)]:[`${r}:${xo(i,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[W]?`${Pa(e)}/${n[0]}`:`${Pa(e)}/(${n.join("//")})`}}function q0(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Ra(e){return q0(e).replace(/%3B/gi,";")}function Ud(e){return q0(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Na(e){return decodeURIComponent(e)}function J0(e){return Na(e.replace(/\+/g,"%20"))}function Q0(e){return`${Ud(e.path)}${function YT(e){return Object.keys(e).map(t=>`;${Ud(t)}=${Ud(e[t])}`).join("")}(e.parameters)}`}const eP=/^[^\/()?;=#]+/;function Fa(e){const t=e.match(eP);return t?t[0]:""}const tP=/^[^=?&#]+/,iP=/^[^&#]+/;class oP{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new q([],{}):new q([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let n={};this.peekStartsWith("/(")&&(this.capture("/"),n=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(t.length>0||Object.keys(n).length>0)&&(i[W]=new q(t,n)),i}parseSegment(){const t=Fa(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new D(4009,!1);return this.capture(t),new ko(Na(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const n=Fa(this.remaining);if(!n)return;this.capture(n);let i="";if(this.consumeOptional("=")){const r=Fa(this.remaining);r&&(i=r,this.capture(i))}t[Na(n)]=Na(i)}parseQueryParam(t){const n=function nP(e){const t=e.match(tP);return t?t[0]:""}(this.remaining);if(!n)return;this.capture(n);let i="";if(this.consumeOptional("=")){const s=function rP(e){const t=e.match(iP);return t?t[0]:""}(this.remaining);s&&(i=s,this.capture(i))}const r=J0(n),o=J0(i);if(t.hasOwnProperty(r)){let s=t[r];Array.isArray(s)||(s=[s],t[r]=s),s.push(o)}else t[r]=o}parseParens(t){const n={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=Fa(this.remaining),r=this.remaining[i.length];if("/"!==r&&")"!==r&&";"!==r)throw new D(4010,!1);let o;i.indexOf(":")>-1?(o=i.slice(0,i.indexOf(":")),this.capture(o),this.capture(":")):t&&(o=W);const s=this.parseChildren();n[o]=1===Object.keys(s).length?s[W]:new q([],s),this.consumeOptional("//")}return n}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new D(4011,!1)}}function Hd(e){return e.segments.length>0?new q([],{[W]:e}):e}function La(e){const t={};for(const i of Object.keys(e.children)){const o=La(e.children[i]);(o.segments.length>0||o.hasChildren())&&(t[i]=o)}return function sP(e){if(1===e.numberOfChildren&&e.children[W]){const t=e.children[W];return new q(e.segments.concat(t.segments),t.children)}return e}(new q(e.segments,t))}function vi(e){return e instanceof yi}function uP(e,t,n,i,r){if(0===n.length)return hr(t.root,t.root,t.root,i,r);const o=function Y0(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new Z0(!0,0,e);let t=0,n=!1;const i=e.reduce((r,o,s)=>{if("object"==typeof o&&null!=o){if(o.outlets){const a={};return Be(o.outlets,(l,u)=>{a[u]="string"==typeof l?l.split("/"):l}),[...r,{outlets:a}]}if(o.segmentPath)return[...r,o.segmentPath]}return"string"!=typeof o?[...r,o]:0===s?(o.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?n=!0:".."===a?t++:""!=a&&r.push(a))}),r):[...r,o]},[]);return new Z0(n,t,i)}(n);return o.toRoot()?hr(t.root,t.root,new q([],{}),i,r):function s(l){const u=function dP(e,t,n,i){if(e.isAbsolute)return new fr(t.root,!0,0);if(-1===i)return new fr(n,n===t.root,0);return function X0(e,t,n){let i=e,r=t,o=n;for(;o>r;){if(o-=r,i=i.parent,!i)throw new D(4005,!1);r=i.segments.length}return new fr(i,!1,r-o)}(n,i+(To(e.commands[0])?0:1),e.numberOfDoubleDots)}(o,t,e.snapshot?._urlSegment,l),c=u.processChildren?Ro(u.segmentGroup,u.index,o.commands):Gd(u.segmentGroup,u.index,o.commands);return hr(t.root,u.segmentGroup,c,i,r)}(e.snapshot?._lastPathIndex)}function To(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function Po(e){return"object"==typeof e&&null!=e&&e.outlets}function hr(e,t,n,i,r){let s,o={};i&&Be(i,(l,u)=>{o[u]=Array.isArray(l)?l.map(c=>`${c}`):`${l}`}),s=e===t?n:K0(e,t,n);const a=Hd(La(s));return new yi(a,o,r)}function K0(e,t,n){const i={};return Be(e.children,(r,o)=>{i[o]=r===t?n:K0(r,t,n)}),new q(e.segments,i)}class Z0{constructor(t,n,i){if(this.isAbsolute=t,this.numberOfDoubleDots=n,this.commands=i,t&&i.length>0&&To(i[0]))throw new D(4003,!1);const r=i.find(Po);if(r&&r!==B0(i))throw new D(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class fr{constructor(t,n,i){this.segmentGroup=t,this.processChildren=n,this.index=i}}function Gd(e,t,n){if(e||(e=new q([],{})),0===e.segments.length&&e.hasChildren())return Ro(e,t,n);const i=function fP(e,t,n){let i=0,r=t;const o={match:!1,pathIndex:0,commandIndex:0};for(;r=n.length)return o;const s=e.segments[r],a=n[i];if(Po(a))break;const l=`${a}`,u=i0&&void 0===l)break;if(l&&u&&"object"==typeof u&&void 0===u.outlets){if(!tA(l,u,s))return o;i+=2}else{if(!tA(l,{},s))return o;i++}r++}return{match:!0,pathIndex:r,commandIndex:i}}(e,t,n),r=n.slice(i.commandIndex);if(i.match&&i.pathIndex{"string"==typeof o&&(o=[o]),null!==o&&(r[s]=Gd(e.children[s],t,o))}),Be(e.children,(o,s)=>{void 0===i[s]&&(r[s]=o)}),new q(e.segments,r)}}function zd(e,t,n){const i=e.segments.slice(0,t);let r=0;for(;r{"string"==typeof n&&(n=[n]),null!==n&&(t[i]=zd(new q([],{}),0,n))}),t}function eA(e){const t={};return Be(e,(n,i)=>t[i]=`${n}`),t}function tA(e,t,n){return e==n.path&&on(t,n.parameters)}class Mn{constructor(t,n){this.id=t,this.url=n}}class Wd extends Mn{constructor(t,n,i="imperative",r=null){super(t,n),this.type=0,this.navigationTrigger=i,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Ai extends Mn{constructor(t,n,i){super(t,n),this.urlAfterRedirects=i,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class Oa extends Mn{constructor(t,n,i,r){super(t,n),this.reason=i,this.code=r,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class nA extends Mn{constructor(t,n,i,r){super(t,n),this.error=i,this.target=r,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class iA extends Mn{constructor(t,n,i,r){super(t,n),this.urlAfterRedirects=i,this.state=r,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class gP extends Mn{constructor(t,n,i,r){super(t,n),this.urlAfterRedirects=i,this.state=r,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class mP extends Mn{constructor(t,n,i,r,o){super(t,n),this.urlAfterRedirects=i,this.state=r,this.shouldActivate=o,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class yP extends Mn{constructor(t,n,i,r){super(t,n),this.urlAfterRedirects=i,this.state=r,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class wP extends Mn{constructor(t,n,i,r){super(t,n),this.urlAfterRedirects=i,this.state=r,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class vP{constructor(t){this.route=t,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class AP{constructor(t){this.route=t,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class bP{constructor(t){this.snapshot=t,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class _P{constructor(t){this.snapshot=t,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class DP{constructor(t){this.snapshot=t,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class CP{constructor(t){this.snapshot=t,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class rA{constructor(t,n,i){this.routerEvent=t,this.position=n,this.anchor=i,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class oA{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const n=this.pathFromRoot(t);return n.length>1?n[n.length-2]:null}children(t){const n=qd(t,this._root);return n?n.children.map(i=>i.value):[]}firstChild(t){const n=qd(t,this._root);return n&&n.children.length>0?n.children[0].value:null}siblings(t){const n=Jd(t,this._root);return n.length<2?[]:n[n.length-2].children.map(r=>r.value).filter(r=>r!==t)}pathFromRoot(t){return Jd(t,this._root).map(n=>n.value)}}function qd(e,t){if(e===t.value)return t;for(const n of t.children){const i=qd(e,n);if(i)return i}return null}function Jd(e,t){if(e===t.value)return[t];for(const n of t.children){const i=Jd(e,n);if(i.length)return i.unshift(t),i}return[]}class En{constructor(t,n){this.value=t,this.children=n}toString(){return`TreeNode(${this.value})`}}function pr(e){const t={};return e&&e.children.forEach(n=>t[n.value.outlet]=n),t}class sA extends oA{constructor(t,n){super(t),this.snapshot=n,Qd(this,t)}toString(){return this.snapshot.toString()}}function aA(e,t){const n=function EP(e,t){const s=new Va([],{},{},"",{},W,t,null,e.root,-1,{});return new uA("",new En(s,[]))}(e,t),i=new Gt([new ko("",{})]),r=new Gt({}),o=new Gt({}),s=new Gt({}),a=new Gt(""),l=new Gn(i,r,s,a,o,W,t,n.root);return l.snapshot=n.root,new sA(new En(l,[]),n)}class Gn{constructor(t,n,i,r,o,s,a,l){this.url=t,this.params=n,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.title=this.data?.pipe(K(u=>u[Io]))??k(void 0),this._futureSnapshot=l}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(K(t=>dr(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(K(t=>dr(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function lA(e,t="emptyOnly"){const n=e.pathFromRoot;let i=0;if("always"!==t)for(i=n.length-1;i>=1;){const r=n[i],o=n[i-1];if(r.routeConfig&&""===r.routeConfig.path)i--;else{if(o.component)break;i--}}return function SP(e){return e.reduce((t,n)=>({params:{...t.params,...n.params},data:{...t.data,...n.data},resolve:{...n.data,...t.resolve,...n.routeConfig?.data,...n._resolvedData}}),{params:{},data:{},resolve:{}})}(n.slice(i))}class Va{constructor(t,n,i,r,o,s,a,l,u,c,d,h){this.url=t,this.params=n,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.title=this.data?.[Io],this.routeConfig=l,this._urlSegment=u,this._lastPathIndex=c,this._correctedLastPathIndex=h??c,this._resolve=d}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=dr(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=dr(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class uA extends oA{constructor(t,n){super(n),this.url=t,Qd(this,n)}toString(){return cA(this._root)}}function Qd(e,t){t.value._routerState=e,t.children.forEach(n=>Qd(e,n))}function cA(e){const t=e.children.length>0?` { ${e.children.map(cA).join(", ")} } `:"";return`${e.value}${t}`}function Kd(e){if(e.snapshot){const t=e.snapshot,n=e._futureSnapshot;e.snapshot=n,on(t.queryParams,n.queryParams)||e.queryParams.next(n.queryParams),t.fragment!==n.fragment&&e.fragment.next(n.fragment),on(t.params,n.params)||e.params.next(n.params),function $T(e,t){if(e.length!==t.length)return!1;for(let n=0;non(n.parameters,t[i].parameters))}(e.url,t.url);return n&&!(!e.parent!=!t.parent)&&(!e.parent||Zd(e.parent,t.parent))}function No(e,t,n){if(n&&e.shouldReuseRoute(t.value,n.value.snapshot)){const i=n.value;i._futureSnapshot=t.value;const r=function kP(e,t,n){return t.children.map(i=>{for(const r of n.children)if(e.shouldReuseRoute(i.value,r.value.snapshot))return No(e,i,r);return No(e,i)})}(e,t,n);return new En(i,r)}{if(e.shouldAttach(t.value)){const o=e.retrieve(t.value);if(null!==o){const s=o.route;return s.value._futureSnapshot=t.value,s.children=t.children.map(a=>No(e,a)),s}}const i=function xP(e){return new Gn(new Gt(e.url),new Gt(e.params),new Gt(e.queryParams),new Gt(e.fragment),new Gt(e.data),e.outlet,e.component,e)}(t.value),r=t.children.map(o=>No(e,o));return new En(i,r)}}const Yd="ngNavigationCancelingError";function dA(e,t){const{redirectTo:n,navigationBehaviorOptions:i}=vi(t)?{redirectTo:t,navigationBehaviorOptions:void 0}:t,r=hA(!1,0,t);return r.url=n,r.navigationBehaviorOptions=i,r}function hA(e,t,n){const i=new Error("NavigationCancelingError: "+(e||""));return i[Yd]=!0,i.cancellationCode=t,n&&(i.url=n),i}function fA(e){return pA(e)&&vi(e.url)}function pA(e){return e&&e[Yd]}class TP{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.injector=null,this.children=new Fo,this.attachRef=null}}let Fo=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(n,i){const r=this.getOrCreateContext(n);r.outlet=i,this.contexts.set(n,r)}onChildOutletDestroyed(n){const i=this.getContext(n);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){const n=this.contexts;return this.contexts=new Map,n}onOutletReAttached(n){this.contexts=n}getOrCreateContext(n){let i=this.getContext(n);return i||(i=new TP,this.contexts.set(n,i)),i}getContext(n){return this.contexts.get(n)||null}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const ja=!1;let gA=(()=>{class e{constructor(n,i,r,o,s){this.parentContexts=n,this.location=i,this.changeDetector=o,this.environmentInjector=s,this.activated=null,this._activatedRoute=null,this.activateEvents=new Ae,this.deactivateEvents=new Ae,this.attachEvents=new Ae,this.detachEvents=new Ae,this.name=r||W,n.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.getContext(this.name)?.outlet===this&&this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const n=this.parentContexts.getContext(this.name);n&&n.route&&(n.attachRef?this.attach(n.attachRef,n.route):this.activateWith(n.route,n.injector))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new D(4012,ja);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new D(4012,ja);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new D(4012,ja);this.location.detach();const n=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(n.instance),n}attach(n,i){this.activated=n,this._activatedRoute=i,this.location.insert(n.hostView),this.attachEvents.emit(n.instance)}deactivate(){if(this.activated){const n=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(n)}}activateWith(n,i){if(this.isActivated)throw new D(4013,ja);this._activatedRoute=n;const r=this.location,s=n._futureSnapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new PP(n,a,r.injector);if(i&&function RP(e){return!!e.resolveComponentFactory}(i)){const u=i.resolveComponentFactory(s);this.activated=r.createComponent(u,r.length,l)}else this.activated=r.createComponent(s,{index:r.length,injector:l,environmentInjector:i??this.environmentInjector});this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return e.\u0275fac=function(n){return new(n||e)(v(Fo),v(Bt),function Pr(e){return function N_(e,t){if("class"===t)return e.classes;if("style"===t)return e.styles;const n=e.attrs;if(n){const i=n.length;let r=0;for(;r{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=Ci({type:e,selectors:[["ng-component"]],standalone:!0,features:[wy],decls:1,vars:0,template:function(n,i){1&n&&V(0,"router-outlet")},dependencies:[gA],encapsulation:2}),e})();function mA(e,t){return e.providers&&!e._injector&&(e._injector=Gs(e.providers,t,`Route: ${e.path}`)),e._injector??t}function th(e){const t=e.children&&e.children.map(th),n=t?{...e,children:t}:{...e};return!n.component&&!n.loadComponent&&(t||n.loadChildren)&&n.outlet&&n.outlet!==W&&(n.component=Xd),n}function It(e){return e.outlet||W}function yA(e,t){const n=e.filter(i=>It(i)===t);return n.push(...e.filter(i=>It(i)!==t)),n}function Lo(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let t=e.parent;t;t=t.parent){const n=t.routeConfig;if(n?._loadedInjector)return n._loadedInjector;if(n?._injector)return n._injector}return null}class VP{constructor(t,n,i,r){this.routeReuseStrategy=t,this.futureState=n,this.currState=i,this.forwardEvent=r}activate(t){const n=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(n,i,t),Kd(this.futureState.root),this.activateChildRoutes(n,i,t)}deactivateChildRoutes(t,n,i){const r=pr(n);t.children.forEach(o=>{const s=o.value.outlet;this.deactivateRoutes(o,r[s],i),delete r[s]}),Be(r,(o,s)=>{this.deactivateRouteAndItsChildren(o,i)})}deactivateRoutes(t,n,i){const r=t.value,o=n?n.value:null;if(r===o)if(r.component){const s=i.getContext(r.outlet);s&&this.deactivateChildRoutes(t,n,s.children)}else this.deactivateChildRoutes(t,n,i);else o&&this.deactivateRouteAndItsChildren(n,i)}deactivateRouteAndItsChildren(t,n){t.value.component&&this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,n):this.deactivateRouteAndOutlet(t,n)}detachAndStoreRouteSubtree(t,n){const i=n.getContext(t.value.outlet),r=i&&t.value.component?i.children:n,o=pr(t);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);if(i&&i.outlet){const s=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:s,route:t,contexts:a})}}deactivateRouteAndOutlet(t,n){const i=n.getContext(t.value.outlet),r=i&&t.value.component?i.children:n,o=pr(t);for(const s of Object.keys(o))this.deactivateRouteAndItsChildren(o[s],r);i&&i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated(),i.attachRef=null,i.resolver=null,i.route=null)}activateChildRoutes(t,n,i){const r=pr(n);t.children.forEach(o=>{this.activateRoutes(o,r[o.value.outlet],i),this.forwardEvent(new CP(o.value.snapshot))}),t.children.length&&this.forwardEvent(new _P(t.value.snapshot))}activateRoutes(t,n,i){const r=t.value,o=n?n.value:null;if(Kd(r),r===o)if(r.component){const s=i.getOrCreateContext(r.outlet);this.activateChildRoutes(t,n,s.children)}else this.activateChildRoutes(t,n,i);else if(r.component){const s=i.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),Kd(a.route.value),this.activateChildRoutes(t,null,s.children)}else{const a=Lo(r.snapshot),l=a?.get(Qr)??null;s.attachRef=null,s.route=r,s.resolver=l,s.injector=a,s.outlet&&s.outlet.activateWith(r,s.injector),this.activateChildRoutes(t,null,s.children)}}else this.activateChildRoutes(t,null,i)}}class wA{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class Ba{constructor(t,n){this.component=t,this.route=n}}function jP(e,t,n){const i=e._root;return Oo(i,t?t._root:null,n,[i.value])}function gr(e,t){const n=Symbol(),i=t.get(e,n);return i===n?"function"!=typeof e||function Ob(e){return null!==qo(e)}(e)?t.get(e):e:i}function Oo(e,t,n,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=pr(t);return e.children.forEach(s=>{(function UP(e,t,n,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=e.value,s=t?t.value:null,a=n?n.getContext(e.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){const l=function HP(e,t,n){if("function"==typeof n)return n(e,t);switch(n){case"pathParamsChange":return!wi(e.url,t.url);case"pathParamsOrQueryParamsChange":return!wi(e.url,t.url)||!on(e.queryParams,t.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Zd(e,t)||!on(e.queryParams,t.queryParams);default:return!Zd(e,t)}}(s,o,o.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new wA(i)):(o.data=s.data,o._resolvedData=s._resolvedData),Oo(e,t,o.component?a?a.children:null:n,i,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new Ba(a.outlet.component,s))}else s&&Vo(t,a,r),r.canActivateChecks.push(new wA(i)),Oo(e,null,o.component?a?a.children:null:n,i,r)})(s,o[s.value.outlet],n,i.concat([s.value]),r),delete o[s.value.outlet]}),Be(o,(s,a)=>Vo(s,n.getContext(a),r)),r}function Vo(e,t,n){const i=pr(e),r=e.value;Be(i,(o,s)=>{Vo(o,r.component?t?t.children.getContext(s):null:t,n)}),n.canDeactivateChecks.push(new Ba(r.component&&t&&t.outlet&&t.outlet.isActivated?t.outlet.component:null,r))}function jo(e){return"function"==typeof e}function nh(e){return e instanceof ka||"EmptyError"===e?.name}const Ua=Symbol("INITIAL_VALUE");function mr(){return rn(e=>T0(e.map(t=>t.pipe(So(1),function LT(...e){const t=br(e);return Fe((n,i)=>{(t?Fd(e,n,t):Fd(e,n)).subscribe(i)})}(Ua)))).pipe(K(t=>{for(const n of t)if(!0!==n){if(n===Ua)return Ua;if(!1===n||n instanceof yi)return n}return!0}),Bn(t=>t!==Ua),So(1)))}function vA(e){return function nb(...e){return Sh(e)}(Je(t=>{if(vi(t))throw dA(0,t)}),K(t=>!0===t))}const ih={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function AA(e,t,n,i,r){const o=rh(e,t,n);return o.matched?function oR(e,t,n,i){const r=t.canMatch;return r&&0!==r.length?k(r.map(s=>{const a=gr(s,e);return $n(function JP(e){return e&&jo(e.canMatch)}(a)?a.canMatch(t,n):e.runInContext(()=>a(t,n)))})).pipe(mr(),vA()):k(!0)}(i=mA(t,i),t,n).pipe(K(s=>!0===s?o:{...ih})):k(o)}function rh(e,t,n){if(""===t.path)return"full"===t.pathMatch&&(e.hasChildren()||n.length>0)?{...ih}:{matched:!0,consumedSegments:[],remainingSegments:n,parameters:{},positionalParamSegments:{}};const r=(t.matcher||HT)(n,e,t);if(!r)return{...ih};const o={};Be(r.posParams,(a,l)=>{o[l]=a.path});const s=r.consumed.length>0?{...o,...r.consumed[r.consumed.length-1].parameters}:o;return{matched:!0,consumedSegments:r.consumed,remainingSegments:n.slice(r.consumed.length),parameters:s,positionalParamSegments:r.posParams??{}}}function Ha(e,t,n,i,r="corrected"){if(n.length>0&&function lR(e,t,n){return n.some(i=>$a(e,t,i)&&It(i)!==W)}(e,n,i)){const s=new q(t,function aR(e,t,n,i){const r={};r[W]=i,i._sourceSegment=e,i._segmentIndexShift=t.length;for(const o of n)if(""===o.path&&It(o)!==W){const s=new q([],{});s._sourceSegment=e,s._segmentIndexShift=t.length,r[It(o)]=s}return r}(e,t,i,new q(n,e.children)));return s._sourceSegment=e,s._segmentIndexShift=t.length,{segmentGroup:s,slicedSegments:[]}}if(0===n.length&&function uR(e,t,n){return n.some(i=>$a(e,t,i))}(e,n,i)){const s=new q(e.segments,function sR(e,t,n,i,r,o){const s={};for(const a of i)if($a(e,n,a)&&!r[It(a)]){const l=new q([],{});l._sourceSegment=e,l._segmentIndexShift="legacy"===o?e.segments.length:t.length,s[It(a)]=l}return{...r,...s}}(e,t,n,i,e.children,r));return s._sourceSegment=e,s._segmentIndexShift=t.length,{segmentGroup:s,slicedSegments:n}}const o=new q(e.segments,e.children);return o._sourceSegment=e,o._segmentIndexShift=t.length,{segmentGroup:o,slicedSegments:n}}function $a(e,t,n){return(!(e.hasChildren()||t.length>0)||"full"!==n.pathMatch)&&""===n.path}function bA(e,t,n,i){return!!(It(e)===i||i!==W&&$a(t,n,e))&&("**"===e.path||rh(t,e,n).matched)}function _A(e,t,n){return 0===t.length&&!e.children[n]}const Ga=!1;class za{constructor(t){this.segmentGroup=t||null}}class DA{constructor(t){this.urlTree=t}}function Bo(e){return Eo(new za(e))}function CA(e){return Eo(new DA(e))}class fR{constructor(t,n,i,r,o){this.injector=t,this.configLoader=n,this.urlSerializer=i,this.urlTree=r,this.config=o,this.allowRedirects=!0}apply(){const t=Ha(this.urlTree.root,[],[],this.config).segmentGroup,n=new q(t.segments,t.children);return this.expandSegmentGroup(this.injector,this.config,n,W).pipe(K(o=>this.createUrlTree(La(o),this.urlTree.queryParams,this.urlTree.fragment))).pipe(Hn(o=>{if(o instanceof DA)return this.allowRedirects=!1,this.match(o.urlTree);throw o instanceof za?this.noMatchError(o):o}))}match(t){return this.expandSegmentGroup(this.injector,this.config,t.root,W).pipe(K(r=>this.createUrlTree(La(r),t.queryParams,t.fragment))).pipe(Hn(r=>{throw r instanceof za?this.noMatchError(r):r}))}noMatchError(t){return new D(4002,Ga)}createUrlTree(t,n,i){const r=Hd(t);return new yi(r,n,i)}expandSegmentGroup(t,n,i,r){return 0===i.segments.length&&i.hasChildren()?this.expandChildren(t,n,i).pipe(K(o=>new q([],o))):this.expandSegment(t,i,n,i.segments,r,!0)}expandChildren(t,n,i){const r=[];for(const o of Object.keys(i.children))"primary"===o?r.unshift(o):r.push(o);return Ce(r).pipe(mi(o=>{const s=i.children[o],a=yA(n,o);return this.expandSegmentGroup(t,a,s,o).pipe(K(l=>({segment:l,outlet:o})))}),L0((o,s)=>(o[s.outlet]=s.segment,o),{}),O0())}expandSegment(t,n,i,r,o,s){return Ce(i).pipe(mi(a=>this.expandSegmentAgainstRoute(t,n,i,a,r,o,s).pipe(Hn(u=>{if(u instanceof za)return k(null);throw u}))),Un(a=>!!a),Hn((a,l)=>{if(nh(a))return _A(n,r,o)?k(new q([],{})):Bo(n);throw a}))}expandSegmentAgainstRoute(t,n,i,r,o,s,a){return bA(r,n,o,s)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,n,r,o,s):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,n,i,r,o,s):Bo(n):Bo(n)}expandSegmentAgainstRouteUsingRedirect(t,n,i,r,o,s){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,i,r,s):this.expandRegularSegmentAgainstRouteUsingRedirect(t,n,i,r,o,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,i,r){const o=this.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?CA(o):this.lineralizeSegments(i,o).pipe(Ve(s=>{const a=new q(s,{});return this.expandSegment(t,a,n,s,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,n,i,r,o,s){const{matched:a,consumedSegments:l,remainingSegments:u,positionalParamSegments:c}=rh(n,r,o);if(!a)return Bo(n);const d=this.applyRedirectCommands(l,r.redirectTo,c);return r.redirectTo.startsWith("/")?CA(d):this.lineralizeSegments(r,d).pipe(Ve(h=>this.expandSegment(t,n,i,h.concat(u),s,!1)))}matchSegmentAgainstRoute(t,n,i,r,o){return"**"===i.path?(t=mA(i,t),i.loadChildren?(i._loadedRoutes?k({routes:i._loadedRoutes,injector:i._loadedInjector}):this.configLoader.loadChildren(t,i)).pipe(K(a=>(i._loadedRoutes=a.routes,i._loadedInjector=a.injector,new q(r,{})))):k(new q(r,{}))):AA(n,i,r,t).pipe(rn(({matched:s,consumedSegments:a,remainingSegments:l})=>s?this.getChildConfig(t=i._injector??t,i,r).pipe(Ve(c=>{const d=c.injector??t,h=c.routes,{segmentGroup:f,slicedSegments:p}=Ha(n,a,l,h),g=new q(f.segments,f.children);if(0===p.length&&g.hasChildren())return this.expandChildren(d,h,g).pipe(K(y=>new q(a,y)));if(0===h.length&&0===p.length)return k(new q(a,{}));const m=It(i)===o;return this.expandSegment(d,g,h,p,m?W:o,!0).pipe(K(M=>new q(a.concat(M.segments),M.children)))})):Bo(n)))}getChildConfig(t,n,i){return n.children?k({routes:n.children,injector:t}):n.loadChildren?void 0!==n._loadedRoutes?k({routes:n._loadedRoutes,injector:n._loadedInjector}):function rR(e,t,n,i){const r=t.canLoad;return void 0===r||0===r.length?k(!0):k(r.map(s=>{const a=gr(s,e);return $n(function GP(e){return e&&jo(e.canLoad)}(a)?a.canLoad(t,n):e.runInContext(()=>a(t,n)))})).pipe(mr(),vA())}(t,n,i).pipe(Ve(r=>r?this.configLoader.loadChildren(t,n).pipe(Je(o=>{n._loadedRoutes=o.routes,n._loadedInjector=o.injector})):function dR(e){return Eo(hA(Ga,3))}())):k({routes:[],injector:t})}lineralizeSegments(t,n){let i=[],r=n.root;for(;;){if(i=i.concat(r.segments),0===r.numberOfChildren)return k(i);if(r.numberOfChildren>1||!r.children[W])return Eo(new D(4e3,Ga));r=r.children[W]}}applyRedirectCommands(t,n,i){return this.applyRedirectCreateUrlTree(n,this.urlSerializer.parse(n),t,i)}applyRedirectCreateUrlTree(t,n,i,r){const o=this.createSegmentGroup(t,n.root,i,r);return new yi(o,this.createQueryParams(n.queryParams,this.urlTree.queryParams),n.fragment)}createQueryParams(t,n){const i={};return Be(t,(r,o)=>{if("string"==typeof r&&r.startsWith(":")){const a=r.substring(1);i[o]=n[a]}else i[o]=r}),i}createSegmentGroup(t,n,i,r){const o=this.createSegments(t,n.segments,i,r);let s={};return Be(n.children,(a,l)=>{s[l]=this.createSegmentGroup(t,a,i,r)}),new q(o,s)}createSegments(t,n,i,r){return n.map(o=>o.path.startsWith(":")?this.findPosParam(t,o,r):this.findOrReturn(o,i))}findPosParam(t,n,i){const r=i[n.path.substring(1)];if(!r)throw new D(4001,Ga);return r}findOrReturn(t,n){let i=0;for(const r of n){if(r.path===t.path)return n.splice(i),r;i++}return t}}class gR{}class wR{constructor(t,n,i,r,o,s,a,l){this.injector=t,this.rootComponentType=n,this.config=i,this.urlTree=r,this.url=o,this.paramsInheritanceStrategy=s,this.relativeLinkResolution=a,this.urlSerializer=l}recognize(){const t=Ha(this.urlTree.root,[],[],this.config.filter(n=>void 0===n.redirectTo),this.relativeLinkResolution).segmentGroup;return this.processSegmentGroup(this.injector,this.config,t,W).pipe(K(n=>{if(null===n)return null;const i=new Va([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},W,this.rootComponentType,null,this.urlTree.root,-1,{}),r=new En(i,n),o=new uA(this.url,r);return this.inheritParamsAndData(o._root),o}))}inheritParamsAndData(t){const n=t.value,i=lA(n,this.paramsInheritanceStrategy);n.params=Object.freeze(i.params),n.data=Object.freeze(i.data),t.children.forEach(r=>this.inheritParamsAndData(r))}processSegmentGroup(t,n,i,r){return 0===i.segments.length&&i.hasChildren()?this.processChildren(t,n,i):this.processSegment(t,n,i,i.segments,r)}processChildren(t,n,i){return Ce(Object.keys(i.children)).pipe(mi(r=>{const o=i.children[r],s=yA(n,r);return this.processSegmentGroup(t,s,o,r)}),L0((r,o)=>r&&o?(r.push(...o),r):null),function jT(e,t=!1){return Fe((n,i)=>{let r=0;n.subscribe(ke(i,o=>{const s=e(o,r++);(s||t)&&i.next(o),!s&&i.complete()}))})}(r=>null!==r),xa(null),O0(),K(r=>{if(null===r)return null;const o=MA(r);return function vR(e){e.sort((t,n)=>t.value.outlet===W?-1:n.value.outlet===W?1:t.value.outlet.localeCompare(n.value.outlet))}(o),o}))}processSegment(t,n,i,r,o){return Ce(n).pipe(mi(s=>this.processSegmentAgainstRoute(s._injector??t,s,i,r,o)),Un(s=>!!s),Hn(s=>{if(nh(s))return _A(i,r,o)?k([]):k(null);throw s}))}processSegmentAgainstRoute(t,n,i,r,o){if(n.redirectTo||!bA(n,i,r,o))return k(null);let s;if("**"===n.path){const a=r.length>0?B0(r).parameters:{},l=SA(i)+r.length;s=k({snapshot:new Va(r,a,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,kA(n),It(n),n.component??n._loadedComponent??null,n,EA(i),l,xA(n),l),consumedSegments:[],remainingSegments:[]})}else s=AA(i,n,r,t).pipe(K(({matched:a,consumedSegments:l,remainingSegments:u,parameters:c})=>{if(!a)return null;const d=SA(i)+l.length;return{snapshot:new Va(l,c,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,kA(n),It(n),n.component??n._loadedComponent??null,n,EA(i),d,xA(n),d),consumedSegments:l,remainingSegments:u}}));return s.pipe(rn(a=>{if(null===a)return k(null);const{snapshot:l,consumedSegments:u,remainingSegments:c}=a;t=n._injector??t;const d=n._loadedInjector??t,h=function AR(e){return e.children?e.children:e.loadChildren?e._loadedRoutes:[]}(n),{segmentGroup:f,slicedSegments:p}=Ha(i,u,c,h.filter(m=>void 0===m.redirectTo),this.relativeLinkResolution);if(0===p.length&&f.hasChildren())return this.processChildren(d,h,f).pipe(K(m=>null===m?null:[new En(l,m)]));if(0===h.length&&0===p.length)return k([new En(l,[])]);const g=It(n)===o;return this.processSegment(d,h,f,p,g?W:o).pipe(K(m=>null===m?null:[new En(l,m)]))}))}}function bR(e){const t=e.value.routeConfig;return t&&""===t.path&&void 0===t.redirectTo}function MA(e){const t=[],n=new Set;for(const i of e){if(!bR(i)){t.push(i);continue}const r=t.find(o=>i.value.routeConfig===o.value.routeConfig);void 0!==r?(r.children.push(...i.children),n.add(r)):t.push(i)}for(const i of n){const r=MA(i.children);t.push(new En(i.value,r))}return t.filter(i=>!n.has(i))}function EA(e){let t=e;for(;t._sourceSegment;)t=t._sourceSegment;return t}function SA(e){let t=e,n=t._segmentIndexShift??0;for(;t._sourceSegment;)t=t._sourceSegment,n+=t._segmentIndexShift??0;return n-1}function kA(e){return e.data||{}}function xA(e){return e.resolve||{}}function TA(e){return"string"==typeof e.title||null===e.title}function oh(e){return rn(t=>{const n=e(t);return n?Ce(n).pipe(K(()=>t)):k(t)})}let PA=(()=>{class e{buildTitle(n){let i,r=n.root;for(;void 0!==r;)i=this.getResolvedTitleForRoute(r)??i,r=r.children.find(o=>o.outlet===W);return i}getResolvedTitleForRoute(n){return n.data[Io]}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:function(){return be(RA)},providedIn:"root"}),e})(),RA=(()=>{class e extends PA{constructor(n){super(),this.title=n}updateTitle(n){const i=this.buildTitle(n);void 0!==i&&this.title.setTitle(i)}}return e.\u0275fac=function(n){return new(n||e)(x(vv))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();class kR{}class TR extends class xR{shouldDetach(t){return!1}store(t,n){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,n){return t.routeConfig===n.routeConfig}}{}const qa=new R("",{providedIn:"root",factory:()=>({})}),sh=new R("ROUTES");let ah=(()=>{class e{constructor(n,i){this.injector=n,this.compiler=i,this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap}loadComponent(n){if(this.componentLoaders.get(n))return this.componentLoaders.get(n);if(n._loadedComponent)return k(n._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(n);const i=$n(n.loadComponent()).pipe(Je(o=>{this.onLoadEndListener&&this.onLoadEndListener(n),n._loadedComponent=o}),Vd(()=>{this.componentLoaders.delete(n)})),r=new N0(i,()=>new zt).pipe(Ld());return this.componentLoaders.set(n,r),r}loadChildren(n,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return k({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);const o=this.loadModuleFactoryOrRoutes(i.loadChildren).pipe(K(a=>{this.onLoadEndListener&&this.onLoadEndListener(i);let l,u,c=!1;Array.isArray(a)?u=a:(l=a.create(n).injector,u=j0(l.get(sh,[],P.Self|P.Optional)));return{routes:u.map(th),injector:l}}),Vd(()=>{this.childrenLoaders.delete(i)})),s=new N0(o,()=>new zt).pipe(Ld());return this.childrenLoaders.set(i,s),s}loadModuleFactoryOrRoutes(n){return $n(n()).pipe(Ve(i=>i instanceof my||Array.isArray(i)?k(i):Ce(this.compiler.compileModuleAsync(i))))}}return e.\u0275fac=function(n){return new(n||e)(x(Ct),x(Sc))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();class RR{}class NR{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,n){return t}}function FR(e){throw e}function LR(e,t,n){return t.parse("/")}const OR={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},VR={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function FA(){const e=be(W0),t=be(Fo),n=be(Hc),i=be(Ct),r=be(Sc),o=be(sh,{optional:!0})??[],s=be(qa,{optional:!0})??{},a=be(RA),l=be(PA,{optional:!0}),u=be(RR,{optional:!0}),c=be(kR,{optional:!0}),d=new Oe(null,e,t,n,i,r,j0(o));return u&&(d.urlHandlingStrategy=u),c&&(d.routeReuseStrategy=c),d.titleStrategy=l??a,function jR(e,t){e.errorHandler&&(t.errorHandler=e.errorHandler),e.malformedUriErrorHandler&&(t.malformedUriErrorHandler=e.malformedUriErrorHandler),e.onSameUrlNavigation&&(t.onSameUrlNavigation=e.onSameUrlNavigation),e.paramsInheritanceStrategy&&(t.paramsInheritanceStrategy=e.paramsInheritanceStrategy),e.relativeLinkResolution&&(t.relativeLinkResolution=e.relativeLinkResolution),e.urlUpdateStrategy&&(t.urlUpdateStrategy=e.urlUpdateStrategy),e.canceledNavigationResolution&&(t.canceledNavigationResolution=e.canceledNavigationResolution)}(s,d),d}let Oe=(()=>{class e{constructor(n,i,r,o,s,a,l){this.rootComponentType=n,this.urlSerializer=i,this.rootContexts=r,this.location=o,this.config=l,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.navigationId=0,this.currentPageId=0,this.isNgZoneEnabled=!1,this.events=new zt,this.errorHandler=FR,this.malformedUriErrorHandler=LR,this.navigated=!1,this.lastSuccessfulId=-1,this.afterPreactivation=()=>k(void 0),this.urlHandlingStrategy=new NR,this.routeReuseStrategy=new TR,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.canceledNavigationResolution="replace",this.configLoader=s.get(ah),this.configLoader.onLoadEndListener=h=>this.triggerEvent(new AP(h)),this.configLoader.onLoadStartListener=h=>this.triggerEvent(new vP(h)),this.ngModule=s.get(di),this.console=s.get(vI);const d=s.get(Re);this.isNgZoneEnabled=d instanceof Re&&Re.isInAngularZone(),this.resetConfig(l),this.currentUrlTree=function GT(){return new yi(new q([],{}),{},null)}(),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=aA(this.currentUrlTree,this.rootComponentType),this.transitions=new Gt({id:0,targetPageId:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}get browserPageId(){return this.location.getState()?.\u0275routerPageId}setupNavigations(n){const i=this.events;return n.pipe(Bn(r=>0!==r.id),K(r=>({...r,extractedUrl:this.urlHandlingStrategy.extract(r.rawUrl)})),rn(r=>{let o=!1,s=!1;return k(r).pipe(Je(a=>{this.currentNavigation={id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),rn(a=>{const l=this.browserUrlTree.toString(),u=!this.navigated||a.extractedUrl.toString()!==l||l!==this.currentUrlTree.toString();if(("reload"===this.onSameUrlNavigation||u)&&this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return LA(a.source)&&(this.browserUrlTree=a.extractedUrl),k(a).pipe(rn(d=>{const h=this.transitions.getValue();return i.next(new Wd(d.id,this.serializeUrl(d.extractedUrl),d.source,d.restoredState)),h!==this.transitions.getValue()?an:Promise.resolve(d)}),function pR(e,t,n,i){return rn(r=>function hR(e,t,n,i,r){return new fR(e,t,n,i,r).apply()}(e,t,n,r.extractedUrl,i).pipe(K(o=>({...r,urlAfterRedirects:o}))))}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),Je(d=>{this.currentNavigation={...this.currentNavigation,finalUrl:d.urlAfterRedirects},r.urlAfterRedirects=d.urlAfterRedirects}),function DR(e,t,n,i,r,o){return Ve(s=>function yR(e,t,n,i,r,o,s="emptyOnly",a="legacy"){return new wR(e,t,n,i,r,s,a,o).recognize().pipe(rn(l=>null===l?function mR(e){return new De(t=>t.error(e))}(new gR):k(l)))}(e,t,n,s.urlAfterRedirects,i.serialize(s.urlAfterRedirects),i,r,o).pipe(K(a=>({...s,targetSnapshot:a}))))}(this.ngModule.injector,this.rootComponentType,this.config,this.urlSerializer,this.paramsInheritanceStrategy,this.relativeLinkResolution),Je(d=>{if(r.targetSnapshot=d.targetSnapshot,"eager"===this.urlUpdateStrategy){if(!d.extras.skipLocationChange){const f=this.urlHandlingStrategy.merge(d.urlAfterRedirects,d.rawUrl);this.setBrowserUrl(f,d)}this.browserUrlTree=d.urlAfterRedirects}const h=new iA(d.id,this.serializeUrl(d.extractedUrl),this.serializeUrl(d.urlAfterRedirects),d.targetSnapshot);i.next(h)}));if(u&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:h,extractedUrl:f,source:p,restoredState:g,extras:m}=a,A=new Wd(h,this.serializeUrl(f),p,g);i.next(A);const M=aA(f,this.rootComponentType).snapshot;return k(r={...a,targetSnapshot:M,urlAfterRedirects:f,extras:{...m,skipLocationChange:!1,replaceUrl:!1}})}return this.rawUrlTree=a.rawUrl,a.resolve(null),an}),Je(a=>{const l=new gP(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot);this.triggerEvent(l)}),K(a=>r={...a,guards:jP(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),function KP(e,t){return Ve(n=>{const{targetSnapshot:i,currentSnapshot:r,guards:{canActivateChecks:o,canDeactivateChecks:s}}=n;return 0===s.length&&0===o.length?k({...n,guardsResult:!0}):function ZP(e,t,n,i){return Ce(e).pipe(Ve(r=>function iR(e,t,n,i,r){const o=t&&t.routeConfig?t.routeConfig.canDeactivate:null;return o&&0!==o.length?k(o.map(a=>{const l=Lo(t)??r,u=gr(a,l);return $n(function qP(e){return e&&jo(e.canDeactivate)}(u)?u.canDeactivate(e,t,n,i):l.runInContext(()=>u(e,t,n,i))).pipe(Un())})).pipe(mr()):k(!0)}(r.component,r.route,n,t,i)),Un(r=>!0!==r,!0))}(s,i,r,e).pipe(Ve(a=>a&&function $P(e){return"boolean"==typeof e}(a)?function YP(e,t,n,i){return Ce(t).pipe(mi(r=>Fd(function eR(e,t){return null!==e&&t&&t(new bP(e)),k(!0)}(r.route.parent,i),function XP(e,t){return null!==e&&t&&t(new DP(e)),k(!0)}(r.route,i),function nR(e,t,n){const i=t[t.length-1],o=t.slice(0,t.length-1).reverse().map(s=>function BP(e){const t=e.routeConfig?e.routeConfig.canActivateChild:null;return t&&0!==t.length?{node:e,guards:t}:null}(s)).filter(s=>null!==s).map(s=>R0(()=>k(s.guards.map(l=>{const u=Lo(s.node)??n,c=gr(l,u);return $n(function WP(e){return e&&jo(e.canActivateChild)}(c)?c.canActivateChild(i,e):u.runInContext(()=>c(i,e))).pipe(Un())})).pipe(mr())));return k(o).pipe(mr())}(e,r.path,n),function tR(e,t,n){const i=t.routeConfig?t.routeConfig.canActivate:null;if(!i||0===i.length)return k(!0);const r=i.map(o=>R0(()=>{const s=Lo(t)??n,a=gr(o,s);return $n(function zP(e){return e&&jo(e.canActivate)}(a)?a.canActivate(t,e):s.runInContext(()=>a(t,e))).pipe(Un())}));return k(r).pipe(mr())}(e,r.route,n))),Un(r=>!0!==r,!0))}(i,o,e,t):k(a)),K(a=>({...n,guardsResult:a})))})}(this.ngModule.injector,a=>this.triggerEvent(a)),Je(a=>{if(r.guardsResult=a.guardsResult,vi(a.guardsResult))throw dA(0,a.guardsResult);const l=new mP(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.triggerEvent(l)}),Bn(a=>!!a.guardsResult||(this.restoreHistory(a),this.cancelNavigationTransition(a,"",3),!1)),oh(a=>{if(a.guards.canActivateChecks.length)return k(a).pipe(Je(l=>{const u=new yP(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(u)}),rn(l=>{let u=!1;return k(l).pipe(function CR(e,t){return Ve(n=>{const{targetSnapshot:i,guards:{canActivateChecks:r}}=n;if(!r.length)return k(n);let o=0;return Ce(r).pipe(mi(s=>function MR(e,t,n,i){const r=e.routeConfig,o=e._resolve;return void 0!==r?.title&&!TA(r)&&(o[Io]=r.title),function ER(e,t,n,i){const r=function SR(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===r.length)return k({});const o={};return Ce(r).pipe(Ve(s=>function IR(e,t,n,i){const r=Lo(t)??i,o=gr(e,r);return $n(o.resolve?o.resolve(t,n):r.runInContext(()=>o(t,n)))}(e[s],t,n,i).pipe(Un(),Je(a=>{o[s]=a}))),Od(1),function BT(e){return K(()=>e)}(o),Hn(s=>nh(s)?an:Eo(s)))}(o,e,t,i).pipe(K(s=>(e._resolvedData=s,e.data=lA(e,n).resolve,r&&TA(r)&&(e.data[Io]=r.title),null)))}(s.route,i,e,t)),Je(()=>o++),Od(1),Ve(s=>o===r.length?k(n):an))})}(this.paramsInheritanceStrategy,this.ngModule.injector),Je({next:()=>u=!0,complete:()=>{u||(this.restoreHistory(l),this.cancelNavigationTransition(l,"",2))}}))}),Je(l=>{const u=new wP(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(u)}))}),oh(a=>{const l=u=>{const c=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&c.push(this.configLoader.loadComponent(u.routeConfig).pipe(Je(d=>{u.component=d}),K(()=>{})));for(const d of u.children)c.push(...l(d));return c};return T0(l(a.targetSnapshot.root)).pipe(xa(),So(1))}),oh(()=>this.afterPreactivation()),K(a=>{const l=function IP(e,t,n){const i=No(e,t._root,n?n._root:void 0);return new sA(i,t)}(this.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return r={...a,targetRouterState:l}}),Je(a=>{this.currentUrlTree=a.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(a.urlAfterRedirects,a.rawUrl),this.routerState=a.targetRouterState,"deferred"===this.urlUpdateStrategy&&(a.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,a),this.browserUrlTree=a.urlAfterRedirects)}),((e,t,n)=>K(i=>(new VP(t,i.targetRouterState,i.currentRouterState,n).activate(e),i)))(this.rootContexts,this.routeReuseStrategy,a=>this.triggerEvent(a)),Je({next(){o=!0},complete(){o=!0}}),Vd(()=>{o||s||this.cancelNavigationTransition(r,"",1),this.currentNavigation?.id===r.id&&(this.currentNavigation=null)}),Hn(a=>{if(s=!0,pA(a)){fA(a)||(this.navigated=!0,this.restoreHistory(r,!0));const l=new Oa(r.id,this.serializeUrl(r.extractedUrl),a.message,a.cancellationCode);if(i.next(l),fA(a)){const u=this.urlHandlingStrategy.merge(a.url,this.rawUrlTree),c={skipLocationChange:r.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||LA(r.source)};this.scheduleNavigation(u,"imperative",null,c,{resolve:r.resolve,reject:r.reject,promise:r.promise})}else r.resolve(!1)}else{this.restoreHistory(r,!0);const l=new nA(r.id,this.serializeUrl(r.extractedUrl),a,r.targetSnapshot??void 0);i.next(l);try{r.resolve(this.errorHandler(a))}catch(u){r.reject(u)}}return an}))}))}resetRootComponentType(n){this.rootComponentType=n,this.routerState.root.component=this.rootComponentType}setTransition(n){this.transitions.next({...this.transitions.value,...n})}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(n=>{const i="popstate"===n.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{const r={replaceUrl:!0},o=n.state?.navigationId?n.state:null;if(o){const a={...o};delete a.navigationId,delete a.\u0275routerPageId,0!==Object.keys(a).length&&(r.state=a)}const s=this.parseUrl(n.url);this.scheduleNavigation(s,i,o,r)},0)}))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(n){this.events.next(n)}resetConfig(n){this.config=n.map(th),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(n,i={}){const{relativeTo:r,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:l}=i,u=r||this.routerState.root,c=l?this.currentUrlTree.fragment:s;let d=null;switch(a){case"merge":d={...this.currentUrlTree.queryParams,...o};break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=o||null}return null!==d&&(d=this.removeEmptyProps(d)),uP(u,this.currentUrlTree,n,d,c??null)}navigateByUrl(n,i={skipLocationChange:!1}){const r=vi(n)?n:this.parseUrl(n),o=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(o,"imperative",null,i)}navigate(n,i={skipLocationChange:!1}){return function BR(e){for(let t=0;t{const o=n[r];return null!=o&&(i[r]=o),i},{})}processNavigations(){this.navigations.subscribe(n=>{this.navigated=!0,this.lastSuccessfulId=n.id,this.currentPageId=n.targetPageId,this.events.next(new Ai(n.id,this.serializeUrl(n.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,this.titleStrategy?.updateTitle(this.routerState.snapshot),n.resolve(!0)},n=>{this.console.warn(`Unhandled Navigation Error: ${n}`)})}scheduleNavigation(n,i,r,o,s){if(this.disposed)return Promise.resolve(!1);let a,l,u;s?(a=s.resolve,l=s.reject,u=s.promise):u=new Promise((h,f)=>{a=h,l=f});const c=++this.navigationId;let d;return"computed"===this.canceledNavigationResolution?(0===this.currentPageId&&(r=this.location.getState()),d=r&&r.\u0275routerPageId?r.\u0275routerPageId:o.replaceUrl||o.skipLocationChange?this.browserPageId??0:(this.browserPageId??0)+1):d=0,this.setTransition({id:c,targetPageId:d,source:i,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:n,extras:o,resolve:a,reject:l,promise:u,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),u.catch(h=>Promise.reject(h))}setBrowserUrl(n,i){const r=this.urlSerializer.serialize(n),o={...i.extras.state,...this.generateNgRouterState(i.id,i.targetPageId)};this.location.isCurrentPathEqualTo(r)||i.extras.replaceUrl?this.location.replaceState(r,"",o):this.location.go(r,"",o)}restoreHistory(n,i=!1){if("computed"===this.canceledNavigationResolution){const r=this.currentPageId-n.targetPageId;"popstate"!==n.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==this.currentNavigation?.finalUrl||0===r?this.currentUrlTree===this.currentNavigation?.finalUrl&&0===r&&(this.resetState(n),this.browserUrlTree=n.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(r)}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(n),this.resetUrlToCurrentUrlTree())}resetState(n){this.routerState=n.currentRouterState,this.currentUrlTree=n.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,n.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}cancelNavigationTransition(n,i,r){const o=new Oa(n.id,this.serializeUrl(n.extractedUrl),i,r);this.triggerEvent(o),n.resolve(!1)}generateNgRouterState(n,i){return"computed"===this.canceledNavigationResolution?{navigationId:n,\u0275routerPageId:i}:{navigationId:n}}}return e.\u0275fac=function(n){Su()},e.\u0275prov=H({token:e,factory:function(){return FA()},providedIn:"root"}),e})();function LA(e){return"imperative"!==e}class OA{}let $R=(()=>{class e{constructor(n,i,r,o,s){this.router=n,this.injector=r,this.preloadingStrategy=o,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(Bn(n=>n instanceof Ai),mi(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(n,i){const r=[];for(const o of i){o.providers&&!o._injector&&(o._injector=Gs(o.providers,n,`Route: ${o.path}`));const s=o._injector??n,a=o._loadedInjector??s;o.loadChildren&&!o._loadedRoutes&&void 0===o.canLoad||o.loadComponent&&!o._loadedComponent?r.push(this.preloadConfig(s,o)):(o.children||o._loadedRoutes)&&r.push(this.processRoutes(a,o.children??o._loadedRoutes))}return Ce(r).pipe(_i())}preloadConfig(n,i){return this.preloadingStrategy.preload(i,()=>{let r;r=i.loadChildren&&void 0===i.canLoad?this.loader.loadChildren(n,i):k(null);const o=r.pipe(Ve(s=>null===s?k(void 0):(i._loadedRoutes=s.routes,i._loadedInjector=s.injector,this.processRoutes(s.injector??n,s.routes))));return i.loadComponent&&!i._loadedComponent?Ce([o,this.loader.loadComponent(i)]).pipe(_i()):o})}}return e.\u0275fac=function(n){return new(n||e)(x(Oe),x(Sc),x(Pn),x(OA),x(ah))},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const ch=new R("");let VA=(()=>{class e{constructor(n,i,r={}){this.router=n,this.viewportScroller=i,this.options=r,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},r.scrollPositionRestoration=r.scrollPositionRestoration||"disabled",r.anchorScrolling=r.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(n=>{n instanceof Wd?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=n.navigationTrigger,this.restoredId=n.restoredState?n.restoredState.navigationId:0):n instanceof Ai&&(this.lastId=n.id,this.scheduleScrollEvent(n,this.router.parseUrl(n.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(n=>{n instanceof rA&&(n.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(n.position):n.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(n.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(n,i){this.router.triggerEvent(new rA(n,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return e.\u0275fac=function(n){Su()},e.\u0275prov=H({token:e,factory:e.\u0275fac}),e})();function yr(e,t){return{\u0275kind:e,\u0275providers:t}}function dh(e){return[{provide:sh,multi:!0,useValue:e}]}function BA(){const e=be(Ct);return t=>{const n=e.get(Zs);if(t!==n.components[0])return;const i=e.get(Oe),r=e.get(UA);1===e.get(hh)&&i.initialNavigation(),e.get(HA,null,P.Optional)?.setUpPreloading(),e.get(ch,null,P.Optional)?.init(),i.resetRootComponentType(n.componentTypes[0]),r.closed||(r.next(),r.unsubscribe())}}const UA=new R("",{factory:()=>new zt}),hh=new R("",{providedIn:"root",factory:()=>1});const HA=new R("");function qR(e){return yr(0,[{provide:HA,useExisting:$R},{provide:OA,useExisting:e}])}const $A=new R("ROUTER_FORROOT_GUARD"),JR=[Hc,{provide:W0,useClass:Bd},{provide:Oe,useFactory:FA},Fo,{provide:Gn,useFactory:function jA(e){return e.routerState.root},deps:[Oe]},ah];function QR(){return new hw("Router",Oe)}let GA=(()=>{class e{constructor(n){}static forRoot(n,i){return{ngModule:e,providers:[JR,[],dh(n),{provide:$A,useFactory:XR,deps:[[Oe,new jr,new Br]]},{provide:qa,useValue:i||{}},i?.useHash?{provide:fi,useClass:a2}:{provide:fi,useClass:Ow},{provide:ch,useFactory:()=>{const e=be(Oe),t=be(Sk),n=be(qa);return n.scrollOffset&&t.setOffset(n.scrollOffset),new VA(e,t,n)}},i?.preloadingStrategy?qR(i.preloadingStrategy).\u0275providers:[],{provide:hw,multi:!0,useFactory:QR},i?.initialNavigation?eN(i):[],[{provide:zA,useFactory:BA},{provide:ow,multi:!0,useExisting:zA}]]}}static forChild(n){return{ngModule:e,providers:[dh(n)]}}}return e.\u0275fac=function(n){return new(n||e)(x($A,8))},e.\u0275mod=qt({type:e}),e.\u0275inj=xt({imports:[Xd]}),e})();function XR(e){return"guarded"}function eN(e){return["disabled"===e.initialNavigation?yr(3,[{provide:Js,multi:!0,useFactory:()=>{const t=be(Oe);return()=>{t.setUpLocationChangeListener()}}},{provide:hh,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?yr(2,[{provide:hh,useValue:0},{provide:Js,multi:!0,deps:[Ct],useFactory:t=>{const n=t.get(o2,Promise.resolve());let i=!1;return()=>n.then(()=>new Promise(o=>{const s=t.get(Oe),a=t.get(UA);(function r(o){t.get(Oe).events.pipe(Bn(a=>a instanceof Ai||a instanceof Oa||a instanceof nA),K(a=>a instanceof Ai||a instanceof Oa&&(0===a.code||1===a.code)&&null),Bn(a=>null!==a),So(1)).subscribe(()=>{o()})})(()=>{o(!0),i=!0}),s.afterPreactivation=()=>(o(!0),i||a.closed?k(void 0):a),s.initialNavigation()}))}}]).\u0275providers:[]]}const zA=new R(""),zn=JSON.parse('[{"name":"Mona Diab","affiliation":"CMU","position":"Director of the Language Technologies Institute","hindex":56,"photo":"./assets/images/mona-diab.jpeg","scholar":"https://scholar.google.com/citations?user=-y6SIhQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mona-diab-55946614/","website":"","twitter":"https://mobile.twitter.com/MonaDiab77","interests":["Responsible AI","Natural Language Processing","Computational Linguistics","Arabic NLP","Cross Lingual/Multilingual Processing","Machine Learning"],"citedby":17441,"lastupdate":"2024-01-02"},{"name":"Abdelrahman Mohamed","affiliation":"Rembrand","position":"Co-Founder","hindex":49,"photo":"./assets/images/abdelrahman-mohamed.jpeg","scholar":"https://scholar.google.ca/citations?user=tJ_PrzgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/abdel-rahman-mohamed-a5808210/","website":"","twitter":"","interests":["Speech Processing","Speech Recognition","Speech Language Processing","Machine Learning"],"citedby":56172,"lastupdate":"2024-01-02"},{"name":"Samhaa R. El-Beltagy","affiliation":"New Giza University","position":"Dean of the School of Information Technology","hindex":25,"photo":"./assets/images/samhaa-el-beltagy.jpeg","scholar":"https://scholar.google.com/citations?user=xdz-3qgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/samhaa-el-beltagy-b410a530","website":"","twitter":"","interests":["Arabic NLP","Text Mining","Information Extraction","Sentiment Analysis","Semantic Annotation"],"citedby":2854,"lastupdate":"2024-01-02"},{"name":"Kareem Darwish","affiliation":"aiXplain","position":"Principal Scientist","hindex":44,"photo":"./assets/images/kareem-darwish.jpeg","scholar":"https://scholar.google.com/citations?user=y7tlR6UAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/kareem-darwish-788b9125","website":"http://kareemdarwish.com/files/","twitter":"https://twitter.com/kareem2darwish","interests":["Arabic NLP","Information Retrieval","Computational Social Science","Natural Language Processing"],"citedby":6408,"lastupdate":"2024-01-02"},{"name":"Ahmed Rafea","affiliation":"American University in Cairo","position":"Professor","hindex":29,"photo":"./assets/images/ahmed-rafea.jpeg","scholar":"https://scholar.google.com/citations?user=szDaQLYAAAAJ&hl=en","linkedin":"","website":"https://www.aucegypt.edu/fac/ahmedrafea","twitter":"","interests":["Natural Language Processing","Machine Translation","Mining Social Media","Text Mining","Knowledge Engineering"],"citedby":3524,"lastupdate":"2024-01-02"},{"name":"Mohsen Rashwan","affiliation":"Cairo University","position":"Professor","hindex":22,"photo":"./assets/images/mohsen-rashwan.jpeg","scholar":"https://scholar.google.com/citations?user=Q4Ic2k0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohsen-rashwan-4719364","website":"","twitter":"","interests":["Machine Learning","Speech Processing","Natural Language Processing","Human Language Technology"],"citedby":1569,"lastupdate":"2024-01-02"},{"name":"Rana el Kaliouby","affiliation":"Smart Eye","position":"Deputy CEO","hindex":44,"photo":"./assets/images/rana-el-kaliouby.jpeg","scholar":"https://scholar.google.com/citations?user=tpg6xzgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/kaliouby/","website":"https://ranaelkaliouby.com/","twitter":"https://twitter.com/kaliouby","interests":["Affective Computing","Emotion AI","Human Perception","Computer Vision","Machine Learning"],"citedby":7165,"lastupdate":"2024-01-02"},{"name":"Mohamed Afify","affiliation":"Microsoft","position":"Principal Researcher","hindex":18,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=1ZIc388AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Translation","Speech Recognition","Natural Language Processing","Adaptation Models","Computational Linguistics","Phonology"],"citedby":1116,"lastupdate":"2024-01-02"},{"name":"Hany Hassan Awadalla","affiliation":"Microsoft","position":"Partner Research Manager","hindex":29,"photo":"./assets/images/hany-hassan.jpeg","scholar":"https://scholar.google.com/citations?user=jqsVHbsAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hany-hassan-awadalla/","website":"https://www.microsoft.com/en-us/research/people/hanyh/","twitter":"https://twitter.com/hany_hassan","interests":["Machine Translation","Machine Learning","Natural Language Processing","Deep Learning","Semi-supervised Learning"],"citedby":3417,"lastupdate":"2024-01-02"},{"name":"Ahmed Tawfik","affiliation":"Microsoft","position":"Principal Data and Applied Science Manager","hindex":11,"photo":"./assets/images/ahmed-tawfik.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=8mRqcrIAAAAJ","linkedin":"https://www.linkedin.com/in/ahmed-tawfik-903a093","website":"https://www.microsoft.com/en-us/research/people/atawfik/","twitter":"","interests":["Machine Translation","Machine Learning","Natural Language Processing","Deep Learning","Text-to-Speech"],"citedby":424,"lastupdate":"2024-01-02"},{"name":"Mohamed Moustafa","affiliation":"Amazon","position":"Applied Science Manager","hindex":19,"photo":"./assets/images/mohamed-moustafa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=QGdReUEAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-n-moustafa/","website":"https://www.aucegypt.edu/fac/mohamedmoustafa","twitter":"","interests":["Computer Vision","Machine Learning","Pattern Recognition","Biometrics","Deep Learning"],"citedby":1733,"lastupdate":"2024-01-02"},{"name":"Wael Hamza","affiliation":"Amazon","position":"Senior Principal Applied Scientist","hindex":23,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=rJnetakAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/wael-hamza-5454b63","website":"","twitter":"","interests":["Natural Language Processing","Machine Learning","Machine Translation","Natural Language Understanding","Speech"],"citedby":3067,"lastupdate":"2024-01-02"},{"name":"Iz Beltagy","affiliation":"Allen Institute for AI","position":"Senior Research Scientist","hindex":29,"photo":"./assets/images/iz-beltagy.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=jkV6H1gAAAAJ","linkedin":"https://www.linkedin.com/in/beltagy","website":"https://beltagy.net/","twitter":"https://twitter.com/i_beltagy","interests":["Natural Language Processing","Machine Learning"],"citedby":11639,"lastupdate":"2024-01-02"},{"name":"Waleed Ammar","affiliation":"Allen Institute for AI","position":"Product Manager","hindex":24,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=4NZ58cQAAAAJ","linkedin":"","website":"https://wammar.github.io","twitter":"","interests":["Natural Language Processing","Machine Learning","Semantic Parsing"],"citedby":4560,"lastupdate":"2024-01-02"},{"name":"Ahmed H. Awadallah","affiliation":"Microsoft Research","position":"Senior Principal Research Manager","hindex":48,"photo":"./assets/images/ahmed-awadallah.jpeg","scholar":"https://scholar.google.com/citations?user=sNGk-9MAAAAJ&hl=en","linkedin":"","website":"https://www.microsoft.com/en-us/research/people/hassanam/","twitter":"","interests":["Natural Language Processing","Machine Learning","Information Retrieval"],"citedby":10802,"lastupdate":"2024-01-02"},{"name":"Hala Mostafa","affiliation":"Raytheon Technologies","position":"Manager","hindex":8,"photo":"./assets/images/hala-mostafa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=zmNFj_EAAAAJ","linkedin":"","website":"http://hmostafa.com/","twitter":"","interests":["Machine Learning"],"citedby":409,"lastupdate":"2024-01-02"},{"name":"Baher Abdulhai","affiliation":"University of Toronto","position":"Professor","hindex":37,"photo":"./assets/images/abdulhai.png","scholar":"https://scholar.google.com/citations?hl=en&user=ezgstIoAAAAJ","linkedin":"https://www.linkedin.com/in/baher-abdulhai-b2460215","website":"https://uttri.utoronto.ca/people/baher-abdulhai/","twitter":"","interests":["Intelligent Transportation Systems","Traffic Control and Management","Evacuation Optimization","Congestion Pricing"],"citedby":5810,"lastupdate":"2024-01-02"},{"name":"Yaser S. Abu-Mostafa","affiliation":"Caltech","position":"Professor","hindex":29,"photo":"./assets/images/yaser-abu-mostafa.jpeg","scholar":"https://www.semanticscholar.org/author/Y.-Abu-Mostafa/1398965769","linkedin":"","website":"https://work.caltech.edu/index.html","twitter":"","interests":["Machine Learning","Artificial Intelligence","Computational Finance","Information and Complexity","Probability and Statistics"],"lastupdate":"","citedby":4141},{"name":"Marwan Torki","affiliation":"Alexandria University","position":"Associate Professor","hindex":20,"photo":"./assets/images/marwan-torki.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=aYLNZT4AAAAJ","linkedin":"","website":"http://eng.staff.alexu.edu.eg/~mtorki/","twitter":"","interests":["Machine Learning","Computer Vision","Deep Learning","Natural Language Processing"],"citedby":2697,"lastupdate":"2024-01-02"},{"name":"Medhat Moussa","affiliation":"University of Guelph","position":"Professor","hindex":23,"photo":"./assets/images/medhat-moussa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=x-2sUG4AAAAJ","linkedin":"https://www.linkedin.com/in/medhat-moussa-3a58713","website":"https://www.uoguelph.ca/engineering/people/medhat-moussa-phd-peng","twitter":"","interests":["Robotics","Machine Learning","Machine Vision","Reconfigurable Computing"],"citedby":1894,"lastupdate":"2024-01-02"},{"name":"Khaled Shaalan","affiliation":"The British University in Dubai","position":"Professor","hindex":57,"photo":"./assets/images/khaled-shaalan.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=keLKdlgAAAAJ","linkedin":"","website":"https://sites.google.com/site/khaledshaalan/publications/full-publication-list","twitter":"","interests":["Artificial Intelligence","Arabic NLP","Computational Linguistics","Natural Language Processing","Knowledge Management"],"citedby":14214,"lastupdate":"2024-01-02"},{"name":"Ossama Emam","affiliation":"IBM","position":"Senior Technical Staff Member","hindex":18,"photo":"./assets/images/ossama-emam.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=3Xa5wWMAAAAJ","linkedin":"https://www.linkedin.com/in/ossama-emam-ph-d-21b4b2124","website":"","twitter":"","interests":["Machine Learning","Information Retrieval","Information Extraction","Mathematical and Statistical Modelling","Pattern Recognition","Speech Technology"],"citedby":1077,"lastupdate":"2024-01-02"},{"name":"Alaa Khamis","affiliation":"General Motors","position":"AI & Smart Mobility Technical Leader","hindex":28,"photo":"./assets/images/alaa-khamis.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=btM72xsAAAAJ","linkedin":"https://www.linkedin.com/in/alaakhamis/","website":"https://www.alaakhamis.org","twitter":"","interests":["Smart Mobility","Autonomous and Connected Vehicles","Cognitive IoT","Machine Learning","Combinatorial Optimization"],"citedby":5095,"lastupdate":"2024-01-02"},{"name":"Alaa Sheta","affiliation":"Southern Connecticut (SCSU)","position":"Professor","hindex":32,"photo":"./assets/images/alaa-sheta.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=x7zJsNoAAAAJ","linkedin":"https://www.linkedin.com/in/alaa-sheta-30577617/","website":"https://sites.google.com/site/profalaasheta/home","twitter":"","interests":["Machine Learning","Data Science","Image Processing","Robotics","Software Engineering"],"citedby":3752,"lastupdate":"2024-01-02"},{"name":"Ahmed K. Farahat","affiliation":"Hitachi America, Ltd. R&D","position":"Principal Research Scientist","hindex":20,"photo":"./assets/images/ahmed-farahat.jpeg","scholar":"https://scholar.google.com/citations?user=5kcdVaYAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/afarahat/","website":"http://www.afarahat.com","twitter":"","interests":["Machine Learning","Data Mining","Industrial AI"],"citedby":1980,"lastupdate":"2024-01-02"},{"name":"Motaz El-Saban","affiliation":"Microsoft","position":"Principal Data & Applied Science Manager","hindex":26,"photo":"./assets/images/motaz-el-saban.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=xHcqzWgAAAAJ","linkedin":"https://www.linkedin.com/in/motazelsaban/","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":2915,"lastupdate":"2024-01-02"},{"name":"Maher Ahmed","affiliation":"Wilfrid Laurier University","position":"Associate Professor","hindex":11,"photo":"./assets/images/maher-ahmed.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=qsJmtkMAAAAJ","linkedin":"https://www.linkedin.com/in/maher-ahmed-5baa9112","website":"https://www.wlu.ca/academics/faculties/faculty-of-science/faculty-profiles/maher-ahmed/index.html","twitter":"","interests":["Pattern Recognition","Image Processing"],"citedby":659,"lastupdate":"2024-01-02"},{"name":"Mohamed S. Kamel","affiliation":"University of Waterloo","position":"Professor - Passed Away (2015)","hindex":65,"photo":"./assets/images/mohamed-kamel.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=6Evj9YwAAAAJ","linkedin":"","website":"","twitter":"","interests":["Pattern Analysis","Machine Intelligence","Image Analysis","Pattern Recognition","Computational Intelligence"],"citedby":22798,"lastupdate":"2024-01-02"},{"name":"Ahmad Abdulkader","affiliation":"Meta","position":"Research And Development Scientist - Passed Away (2021)","hindex":7,"photo":"./assets/images/ahmad-abdulkader.jpeg","scholar":"https://www.semanticscholar.org/author/Ahmad-Abdulkader/1859983","linkedin":"","website":"","twitter":"","interests":["Machine Learning"],"lastupdate":"","citedby":345},{"name":"Ali Elkahky","affiliation":"Meta","position":"Research Scientist","hindex":14,"photo":"./assets/images/ali-elkahky.jpeg","scholar":"https://scholar.google.com/citations?user=KB3S8RoAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ali-elkahky-32711ab/","website":"","twitter":"","interests":["Machine Learning","Natural Language Processing"],"citedby":2201,"lastupdate":"2024-01-02"},{"name":"Ahmed El Kholy","affiliation":"Microsoft","position":"Senior Applied Scientist","hindex":16,"photo":"./assets/images/ahmed-el-kholy.jpeg","scholar":"https://scholar.google.com/citations?user=n4PqfX0AAAAJ&hl=en","linkedin":"","website":"https://www.microsoft.com/en-us/research/people/ahelkhol/","twitter":"","interests":["Machine Learning","Natural Language Processing","Conversational AI"],"citedby":3474,"lastupdate":"2024-01-02"},{"name":"Walid Magdy","affiliation":"University of Edinburgh","position":"Associate Professor","hindex":37,"photo":"./assets/images/walid-magdy.jpeg","scholar":"https://scholar.google.com/citations?user=ACQD8jMAAAAJ&hl=en","linkedin":"","website":"https://homepages.inf.ed.ac.uk/wmagdy/","twitter":"https://twitter.com/Walid_Magdy","interests":["Computational Social Science","Natural Language Processing","Data Mining","Information Retrieval"],"citedby":4254,"lastupdate":"2024-01-02"},{"name":"Ahmed Ali","affiliation":"QCRI","position":"Principal Engineer","hindex":25,"photo":"./assets/images/ahmed-ali.jpeg","scholar":"https://scholar.google.com/citations?user=t0gYEjAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedali08","website":"","twitter":"","interests":["Speech Recognition"],"citedby":2187,"lastupdate":"2024-01-02"},{"name":"Neamat El Gayar","affiliation":"Heriot Watt University","position":"Director & Uni Professor","hindex":17,"photo":"./assets/images/neamat-elgayar.jpg","scholar":"https://scholar.google.com/citations?user=RHDcyz8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/neamat-el-gayar-07b7297a/","website":"","twitter":"https://twitter.com/Neamat11647418","interests":["Neural Networks","Machine Learning","Computational Intelligence","Natural Language Processing"],"citedby":1948,"lastupdate":"2024-01-02"},{"name":"Amir Alansary","affiliation":"Jaguar Land Rover","position":"ML & CV Team Lead","hindex":22,"photo":"./assets/images/amir-alansary.jpeg","scholar":"https://scholar.google.com/citations?user=Sj11Jo8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amiralansary/","website":"","twitter":"","interests":["Computer Vision","Machine Learning","Reinforcement Learning","Autonomous Vehicles Perception and Path Planning","Medical Imaging"],"citedby":1684,"lastupdate":"2024-01-02"},{"name":"Mustafa A Elattar","affiliation":"Intixel & Nile University","position":"Founder & Assistant Professor","hindex":12,"photo":"./assets/images/mustafa-elattar.png","scholar":"https://scholar.google.com/citations?user=BJoskL8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mustafa-elattar-phd-42289112/","website":"https://www.intixel.com/","twitter":"https://twitter.com/3ttar","interests":["Medical Imaging","Artificial Intelligence","Image Analysis"],"citedby":880,"lastupdate":"2024-01-02"},{"name":"Hesham Eraqi","affiliation":"Amazon","position":"Senior Scientist","hindex":10,"photo":"./assets/images/hesham-eraqi.jpg","scholar":"https://scholar.google.com.eg/citations?user=Sk-VfXYAAAAJ","linkedin":"https://www.linkedin.com/in/heshameraqi","website":"https://heshameraqi.github.io","twitter":"","interests":["Geospatial Machine Learning","Autonomous Driving","Deep Learning","Handwriting Recognition"],"citedby":852,"lastupdate":"2024-01-02"},{"name":"Ahmed Alsallab","affiliation":"Microsoft","position":"Principal Applied Science Manager","hindex":19,"photo":"./assets/images/ahmad-al-sallab.jpeg","scholar":"https://scholar.google.com/citations?user=hiEbSZYAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmad-el-sallab-phd-7aa2195a","website":"","twitter":"","interests":["Deep Learning","Computer Vision","Natural Language Processing"],"citedby":3859,"lastupdate":"2024-01-02"},{"name":"Gamaleldin Elsayed","affiliation":"Google Brain","position":"Senior Research Scientist","hindex":15,"photo":"./assets/images/gamaleldin-elsayed.jpeg","scholar":"https://scholar.google.com/citations?user=7PrTPzsAAAAJ&hl=en&oi=ao","linkedin":"","website":"http://www.columbia.edu/~gfa2109/","twitter":"","interests":["Machine Learning","Computer Vision","Computational Neuroscience"],"citedby":2255,"lastupdate":"2024-01-02"},{"name":"Mahmoud Abou-Nasr","affiliation":"Ford Motor Company","position":"Lecturer III","hindex":11,"photo":"./assets/images/mahmoud-abou-nasr.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=qkvufmcAAAAJ","linkedin":"","website":"","twitter":"","interests":["Neural Networks","Data Mining","Deep Learning","Reinforcement Learning","Optimization"],"citedby":363,"lastupdate":"2024-01-02"},{"name":"Mohamed Elhoseiny","affiliation":"KAUST","position":"Assistant Professor","hindex":36,"photo":"./assets/images/mohamed-elhoseiny.png","scholar":"https://scholar.google.com/citations?user=iRBUTOAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-elhoseiny-8a836215","website":"http://www.mohamed-elhoseiny.com/","twitter":"https://twitter.com/moElhoseiny","interests":["Zero-Shot Learning","Few-Shot Learning","Computer Vision","Computational Creativity","Vision and Language"],"citedby":9061,"lastupdate":"2024-01-02"},{"name":"Amr Ahmed","affiliation":"Google","position":"Senior Staff Research Scientist","hindex":40,"photo":"./assets/images/amr-ahmed.png","scholar":"https://scholar.google.com/citations?user=ivUi2T0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amr-ahmed-b998965","website":"https://research.google/people/AmrAhmed/","twitter":"","interests":["Machine Learning","Big Data","User Modeling","Personalization","Content Analysis"],"citedby":11753,"lastupdate":"2024-01-02"},{"name":"Amir Atiya","affiliation":"Cairo University","position":"Professor","hindex":48,"photo":"./assets/images/amir-atiya.jpeg","scholar":"https://scholar.google.com/citations?user=sT6n4zAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amir-atiya-8685b7","website":"https://cairo.academia.edu/AmirAtiya","twitter":"","interests":["Machine Learning","Pattern Classification","Computational Finance"],"citedby":13215,"lastupdate":"2024-01-02"},{"name":"Ramy Eskander","affiliation":"Twitter","position":"Senior Research Scientist","hindex":19,"photo":"./assets/images/ramy-eskander.jpeg","scholar":"https://scholar.google.com/citations?user=4SE1GIgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ramyeskander/","website":"","twitter":"","interests":["NLP","Recommendation Systems","Multilinguality","Low-Resource Languages","Arabic NLP","Unsupervised and Semi-Supervised Learning"],"citedby":1980,"lastupdate":"2024-01-02"},{"name":"Tamer Elsayed","affiliation":"Qatar University","position":"Associate Professor","hindex":32,"photo":"./assets/images/tamer-elsayed.jpeg","scholar":"https://scholar.google.com/citations?user=ekS-yPIAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/tamer-elsayed-a9a71116/","website":"http://qufaculty.qu.edu.qa/telsayed/","twitter":"https://twitter.com/tamer_elsayed","interests":["Information Retrieval","Natural Language Processing","Applied Machine Learning","Big Data Analytics"],"citedby":3257,"lastupdate":"2024-01-02"},{"name":"Mohamed Elbadrashiny","affiliation":"aiXplain","position":"Principal Scientist","hindex":17,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=DppUkNUAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-elbadrashiny-591908b","website":"","twitter":"","interests":["Natural Language Processing","Multimodal Dialog","Large Language Models"],"citedby":1676,"lastupdate":"2024-01-02"},{"name":"Ibrahim Sabek","affiliation":"Univ. of Southern California","position":"Assistant Professor","hindex":11,"photo":"./assets/images/ibrahim-sabek.png","scholar":"https://scholar.google.com/citations?user=R8732voAAAAJ&hl=en","linkedin":"http://www.linkedin.com/pub/ibrahim-sabek/23/422/526","website":"http://people.csail.mit.edu/ibrahimsabek/","twitter":"https://twitter.com/ibrahim_sabek","interests":["Machine Learning for Database Systems","Data Management and Analysis"],"citedby":538,"lastupdate":"2024-01-02"},{"name":"Mostafa Saad Ibrahim","affiliation":"Nvidia","position":"Senior Computer Vision Engineer","hindex":6,"photo":"./assets/images/mostafa-s-ibrahim.jpeg","scholar":"https://scholar.google.com/citations?user=2fSZbmkAAAAJ&hl=en/","linkedin":"https://www.linkedin.com/in/mostafasaad","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":810,"lastupdate":"2024-01-02"},{"name":"Mostafa Elhoushi","affiliation":"Meta","position":"Research Engineer","hindex":12,"photo":"./assets/images/mostafa-elhoushi.jpeg","scholar":"https://scholar.google.ca/citations?user=y_cwSKAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mostafaelhoushi/","website":"","twitter":"","interests":["Machine Learning","Deep Learning","Navigation","Quantum Computing"],"citedby":531,"lastupdate":"2024-01-02"},{"name":"Sameh Khamis","affiliation":"Rembrand","position":"Lead Research Scientist","hindex":23,"photo":"./assets/images/sameh-khamis.jpeg","scholar":"https://scholar.google.com/citations?user=9WgcwYQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/samehkhamis/","website":"https://www.samehkhamis.com","twitter":"","interests":["Machine Learning","Computer Vision","Graphics"],"citedby":4418,"lastupdate":"2024-01-02"},{"name":"Ibrahim Sobh","affiliation":"Valeo","position":"Senior Expert of AI","hindex":11,"photo":"./assets/images/ibrahim-sobh.jpeg","scholar":"https://scholar.google.com.eg/citations?user=SODWkygAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ibrahim-sobh-phd-8681757/","website":"","twitter":"","interests":["Machine Learning","Computer Vision","Autonomous Driving"],"citedby":1715,"lastupdate":"2024-01-02"},{"name":"Aboul Ella Hassanien","affiliation":"Cairo University","position":"Professor","hindex":87,"photo":"./assets/images/aboul-ella-hassanien-ali.jpeg","scholar":"https://scholar.google.com/citations?user=aZ6bcngAAAAJ&hl=en","linkedin":"https://eg.linkedin.com/in/aboul-ella-hassanien-48a9528","website":"","twitter":"","interests":["Artificial Intelligence","Swarm Optimization","IoT","Drones","Metaverses","Biomedical Informatics"],"citedby":33035,"lastupdate":"2024-01-02"},{"name":"Fahmi Khalifa","affiliation":"Mansoura University","position":"Assistant Professor","hindex":50,"photo":"./assets/images/fahmi-khalifa.jpeg","scholar":"https://scholar.google.ca/citations?user=Ua1i31oAAAAJ&hl=fr&oi=ao","linkedin":"","website":"","twitter":"","interests":["Medical Image Analysis","Machine Learning","Pattern Recognition","Image and Signal Processing","Multimedia","Biomedical Informatics"],"citedby":5785,"lastupdate":"2024-01-02"},{"name":"Khaled Fathy Hussein","affiliation":"Assiut University","position":"Head of CS Department","hindex":17,"photo":"./assets/images/khaled-hussain.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=8DgiMfcAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"https://www.aun.edu.eg/fci/khaled-fathy-hussein-saleh","twitter":"","interests":["Computer Vision","Computer Graphics","Neural Networks"],"citedby":1159,"lastupdate":"2024-01-02"},{"name":"Mohamed Nabih Ali","affiliation":"Fondazione Bruno Kessler","position":"Post Doctoral Researcher","hindex":6,"photo":"./assets/images/mohamed-nabih.jpg","scholar":"https://scholar.google.com/citations?user=6VXSI8wAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-nabih-5011b074/","website":"","twitter":"","interests":["Artificial Intelligence","Machine Learning","Deep Learning","Speech Enhancement and Recognition","Biomedical Signal Processing","Image Processing"],"citedby":228,"lastupdate":"2024-01-02"},{"name":"Omar Khattab","affiliation":"Stanford University","position":"PhD Student","hindex":13,"photo":"./assets/images/omar-khattab.jpeg","scholar":"https://scholar.google.com/citations?user=Lwr5ozgAAAAJ&hl=en","linkedin":"","website":"https://omarkhattab.com/","twitter":"https://twitter.com/lateinteraction","interests":["Natural Language Processing","Information Retrieval"],"citedby":3881,"lastupdate":"2024-01-02"},{"name":"Ahmed Elgammal","affiliation":"Rutgers University","position":"Professor","hindex":56,"photo":"./assets/images/ahmed-elgammal.jpeg","scholar":"https://scholar.google.com/citations?user=DxQiCiIAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-elgammal-71667911/","website":"https://sites.rutgers.edu/ahmed-elgammal/","twitter":"https://twitter.com/ahmed_elgammal?lang=en","interests":["Computer Vision"],"citedby":17038,"lastupdate":"2024-01-02"},{"name":"Ahmed El-Kishky","affiliation":"Twitter","position":"Staff ML Researcher","hindex":16,"photo":"./assets/images/ahmed-el-kishky.jpeg","scholar":"https://scholar.google.com/citations?user=A4frpBcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-e-56566b47/","website":"https://ahelk.github.io/","twitter":"","interests":["Machine Learning","NLP","Data Mining","Graph Learning","Recommender Systems"],"citedby":1618,"lastupdate":"2024-01-02"},{"name":"Moustafa Alzantot","affiliation":"Google Research","position":"Senior Engineer","hindex":17,"photo":"./assets/images/moustafa-alzantot.jpeg","scholar":"https://scholar.google.com/citations?user=AusbFkQAAAAJ","linkedin":"https://www.linkedin.com/in/malzantot/","website":"","twitter":"","interests":["Machine Learning","Recommender Systems","Natural Language Processing"],"citedby":4443,"lastupdate":"2024-01-02"},{"name":"Heba Elfardy","affiliation":"Amazon","position":"Senior ML Scientist","hindex":12,"photo":"./assets/images/heba-elfardy.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=L6lzWrYAAAAJ","linkedin":"https://www.linkedin.com/in/heba-elfardy-a0984b2b","website":"","twitter":"","interests":["Natural Language Processing"],"citedby":628,"lastupdate":"2024-01-02"},{"name":"Ahmed Hefny","affiliation":"Cruise","position":"Staff Research Scientist","hindex":13,"photo":"./assets/images/ahmed-hefny.jpeg","scholar":"https://scholar.google.com/citations?user=FAv6Nd8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-hefny","website":"","twitter":"","interests":["Machine Learning"],"citedby":1650,"lastupdate":"2024-01-02"},{"name":"Hady Elsahar","affiliation":"Meta","position":"Research Scientist","hindex":16,"photo":"./assets/images/hady-elsahar.jpeg","scholar":"https://scholar.google.com.eg/citations?user=SbcM6bsAAAAJ&hl=en","linkedin":"","website":"https://www.hadyelsahar.io/","twitter":"https://twitter.com/hadyelsahar","interests":["Natural Language Processing","Machine Learning"],"citedby":2143,"lastupdate":"2024-01-02"},{"name":"Ahmed M. Badawi","affiliation":"Cairo University","position":"Professor","hindex":17,"photo":"./assets/images/ahmed-badawi.jpeg","scholar":"https://scholar.google.com/citations?user=r9pLu6EAAAAJ","linkedin":"https://www.linkedin.com/in/ahmed-badawi-215167a","website":"https://ieeexplore.ieee.org/author/37345733000","twitter":"","interests":["Computer Vision","Biometric","Medical Imaging","Medical Diagnosis","Multimodal Matching","Image Processing","Pattern Recognition","Pattern Classification"],"citedby":1604,"lastupdate":"2024-01-02"},{"name":"Mostafa Badawy","affiliation":"Apple","position":"(AI/ML) Software Engineer (Siri)","hindex":7,"photo":"./assets/images/mostafa-badawy.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=iq8c9CkAAAAJ","linkedin":"https://www.linkedin.com/in/mostafa-gamal-badawy/","website":"","twitter":"","interests":["Machine Learning","Natural Language Processing","Computer Vision","Artificial Intelligence"],"citedby":425,"lastupdate":"2024-01-02"},{"name":"Muhammad AbdulMageed","affiliation":"UBC","position":"Associate Professor","hindex":28,"photo":"./assets/images/muhammad-abdulmageed.jpeg","scholar":"https://scholar.google.com/citations?user=SOjQhl8AAAAJ","linkedin":"","website":"https://mageed.arts.ubc.ca/","twitter":"","interests":["Arabic NLP","Natural Language Processing","Machine Learning"],"citedby":3831,"lastupdate":"2024-01-02"},{"name":"Wael Abd-Almageed","affiliation":"USC","position":"Research Associate Professor","hindex":32,"photo":"./assets/images/wael-abdalmageed.jpeg","scholar":"https://scholar.google.com/citations?user=tRGH8FkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":4367,"lastupdate":"2024-01-02"},{"name":"Youssef Nashed","affiliation":"Stanford University","position":"Staff ML Scientist","hindex":22,"photo":"./assets/images/youssef-nashed.jpeg","scholar":"https://scholar.google.com/citations?user=pQXy90QAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ynashed/","website":"","twitter":"","interests":["Computer Vision","Geometric Deep Learning","Graph Neural Networks"],"citedby":1632,"lastupdate":"2024-01-02"},{"name":"Abubakr Karali","affiliation":"NVIDIA","position":"Senior Solutions Architect","hindex":5,"photo":"./assets/images/abubakr-karali.jpeg","scholar":"https://scholar.google.com/citations?user=ACxQHBUAAAAJ&hl=en","linkedin":"https://se.linkedin.com/in/abubakr-karali-8988486b","website":"","twitter":"","interests":["Computer Vision","Self-Supervised Learning"],"citedby":123,"lastupdate":"2024-01-02"},{"name":"Ahmed Sahlol","affiliation":"Co-founder Tachyhealth","position":"Associate Professor of ML","hindex":16,"photo":"./assets/images/ahmed-sahlol.jpeg","scholar":"https://scholar.google.com/citations?user=JZB2oMQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-sahloul","website":"","twitter":"","interests":["Medical Imaging","Medical NLP","Medical Fraud Detection"],"citedby":1521,"lastupdate":"2024-01-02"},{"name":"Eslam Kamal","affiliation":"Microsoft","position":"Applied Science Manager","hindex":8,"photo":"./assets/images/eslam-kamal.jpeg","scholar":"https://scholar.google.com/citations?user=KRFyxS0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/eslamkamal85","website":"","twitter":"","interests":["NLP","LLMs","Conversational AI","Responsible AI"],"citedby":347,"lastupdate":"2024-01-02"},{"name":"Yehia Elshater","affiliation":"Amazon","position":"Data/Applied Scientist","hindex":5,"photo":"./assets/images/yehia-elshater.jpeg","scholar":"https://scholar.google.com/citations?user=S8MZ9PMAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/yehiaz/","website":"","twitter":"","interests":["Recommendation Engines","NLP","Forecasting"],"citedby":138,"lastupdate":"2024-01-02"},{"name":"Ahmed Rashed","affiliation":"Volkswagen Financial Service","position":"Senior Data Scientist","hindex":6,"photo":"./assets/images/ahmed-rashed.jpeg","scholar":"https://scholar.google.com.eg/citations?user=-wyZHw8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedrashed-ai/","website":"","twitter":"","interests":["Recommender Systems","Graph Mining","Time Series Forecasting"],"citedby":221,"lastupdate":"2024-01-02"},{"name":"Shady Elbassuoni","affiliation":"American University of Beirut","position":"Associate Professor","hindex":23,"photo":"./assets/images/shady-elbassuoni.jpg","scholar":"https://scholar.google.com/citations?user=Fe8iIHMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Computer Vision","Information Retrieval","Public Health and Medicine"],"citedby":2934,"lastupdate":"2024-01-02"},{"name":"Noha Radwan","affiliation":"Inceptive","position":"Researcher","hindex":11,"photo":"./assets/images/noha-radwan.jpeg","scholar":"https://scholar.google.com/citations?user=g98QcZUAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer vision","Deep learning"],"citedby":2119,"lastupdate":"2024-01-02"},{"name":"Radwa ElShawi","affiliation":"Tartu university","position":"Associate Professor","hindex":18,"photo":"./assets/images/radwa-elshawi.jpeg","scholar":"https://scholar.google.de/citations?user=RD5PdpwAAAAJ&hl=en","linkedin":"","website":"https://radwaelshawi.cs.ut.ee/","twitter":"","interests":["Explainable AI","AutoML","health informatics"],"citedby":1707,"lastupdate":"2024-01-02"},{"name":"Ramy Hussein","affiliation":"Stanford University","position":"Machine Learning Researcher","hindex":18,"photo":"./assets/images/ramy-hussein.jpeg","scholar":"https://scholar.google.ca/citations?user=lc3lgegAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ramy-hussein","website":"","twitter":"","interests":["Artificial Intelligence","Computer Vision","Signal/Image Processing","Medical Imaging"],"citedby":1134,"lastupdate":"2024-01-02"},{"name":"Sarah Adel Bargal","affiliation":"Georgetown University","position":"Professor","hindex":16,"photo":"./assets/images/sarah-adel-bargal.jpeg","scholar":"https://scholar.google.com/citations?user=zjlFcrEAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer vision","Deep Learning"],"citedby":2683,"lastupdate":"2024-01-02"},{"name":"Badr AlKhamissi","affiliation":"EPFL","position":"PhD Student","hindex":6,"photo":"./assets/images/badr.jpeg","scholar":"https://scholar.google.com/citations?user=0l9UHtQAAAAJ&hl=en&authuser=1","linkedin":"https://linkedin.com/in/bkhmsi","website":"https://bkhmsi.github.io","twitter":"https://twitter.com/bkhmsi","interests":["Machine Learning","Natural Language Processing","Computational Neuroscience","Computer Vision"],"citedby":145,"lastupdate":"2024-01-02"},{"name":"Moamen AbdelRazek","affiliation":"Royal Bank of Canada","position":"Lead Machine Learning Engineer","hindex":7,"photo":"./assets/images/moamen-abdelrazek.jpg","scholar":"https://scholar.google.com.eg/citations?user=7bcODQ8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/moamen-abdelrazek","website":"https://github.com/moemen95","twitter":"","interests":["NLP","LLMs","Computer Vision","ML Ops"],"citedby":407,"lastupdate":"2024-01-02"},{"name":"Ahmed Magooda","affiliation":"Microsoft","position":"Applied Researcher","hindex":7,"photo":"./assets/images/ahmed-magooda.jpeg","scholar":"https://scholar.google.com.eg/citations?user=x90NynMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["NLP","Deep Learning"],"citedby":318,"lastupdate":"2024-01-02"},{"name":"Aly El Gamal","affiliation":"Amazon","position":"Sr. Applied Scientist","hindex":16,"photo":"./assets/images/aly-elgamal.jpeg","scholar":"https://scholar.google.com/citations?view_op=list_works&hl=en&hl=en&user=x47tshQAAAAJ&sortby=pubdate","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Consumer Engagement","Information Theory"],"citedby":1237,"lastupdate":"2024-01-02"},{"name":"Tamer Basha","affiliation":"BIDMC and Harvard Medical","position":"Postdoctoral Research Fellow","hindex":23,"photo":"./assets/images/tamer-basha.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=C6Hg48cAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"","twitter":"","interests":["Medical Imaging"],"citedby":1898,"lastupdate":"2024-01-02"},{"name":"Momen Negm","affiliation":"Rasheed AI","position":"Co-Founder","hindex":26,"photo":"./assets/images/momen-negm.jpg","scholar":"https://scholar.google.com/citations?user=JJ_RhZEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/momennegm/","website":"","twitter":"https://twitter.com/mo2men","interests":["Computer Vision","Machine Learning"],"citedby":4201,"lastupdate":"2024-01-02"},{"name":"Mostafa Salem","affiliation":"Assiut University","position":"Assistant Professor","hindex":10,"photo":"./assets/images/mostafa-salem.jpeg","scholar":"https://scholar.google.com.eg/citations?user=7P86J5YAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/dr-mostafasalem/","website":"https://mostafasalem.netlify.app/","twitter":"","interests":["Medical Image Analysis","Computer Vision","3D Reconstruction"],"citedby":2107,"lastupdate":"2024-01-02"},{"name":"Noureldin Elmadany","affiliation":"AAST","position":"Assistant Professor","hindex":9,"photo":"./assets/images/nour-elmadany.jpg","scholar":"https://scholar.google.com/citations?user=sy8RRsgAAAAJ&hl=ja","linkedin":"","website":"","twitter":"","interests":["Multimodal Learning","Action Recognition and Anticipation"],"citedby":248,"lastupdate":"2024-01-02"},{"name":"Ahmed Masry","affiliation":"Arteria AI","position":"Data Scientist","hindex":6,"photo":"./assets/images/ahmed-elmasry.jpg","scholar":"https://scholar.google.com/citations?user=XqPX5XcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-masry-ku/","website":"","twitter":"https://twitter.com/Ahmed_Masry97","interests":["NLP","Multimodal Chart & Document Understanding","Computer Vision"],"citedby":190,"lastupdate":"2024-01-02"},{"name":"Sahar Selim","affiliation":"Nile University","position":"Assistant Professor","hindex":7,"photo":"./assets/images/sahar-selim.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=Ynx9NTwAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"https://www.linkedin.com/in/sahar-selim-soussa/?originalSubdomain=eg","website":"","twitter":"","interests":["Machine Learning","Medical Imaging","Brain-Computer Interface","Neural Engineering"],"citedby":268,"lastupdate":"2024-01-02"},{"name":"Ghada Khoriba","affiliation":"Nile University","position":"Associate Professor","hindex":9,"photo":"./assets/images/ghada-khoriba.jpg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=jwTBsIIAAAAJ","linkedin":"https://www.linkedin.com/in/ghada-khoriba-090b72113","website":"https://www.nu.edu.eg/academic-staff/dr-ghada-khoriba","twitter":"","interests":["Medical Image Analysis","Machine Learning","Swarm Algorithms","Computer Vision","NLP","LLMs","Knowledge Graphs."],"citedby":633,"lastupdate":"2024-01-02"},{"name":"Fatma Elzahraa Eid","affiliation":"Broad Institute of MIT and Harvard / Al-Azhar","position":"Biomedical Machine Learning Group Lead","hindex":5,"photo":"./assets/images/fatma-elzahraa.jpeg","scholar":"https://scholar.google.ca/citations?user=Q4RV3MEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/fatma-elzahraa-eid-553b475b/","website":"","twitter":"","interests":["Biomedical ML","Data-driven Protein Engineering","Biological sequence engineering","Data-driven Therapeutics"],"citedby":386,"lastupdate":"2024-01-02"},{"name":"Haitham Elmarakeby","affiliation":"Harvard Medical School / Alazhar University","position":"Instructor / ML Group Lead","hindex":17,"photo":"./assets/images/haitham-elmarakeby.jpeg","scholar":"https://scholar.google.com/citations?user=yg6RHWoAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/haitham-elmarakeby/","website":"https://connects.catalyst.harvard.edu/Profiles/display/Person/162206","twitter":"","interests":["Cancer Machine Learning"],"citedby":1903,"lastupdate":"2024-01-02"},{"name":"Ahmad Taher Azar","affiliation":"Prince Sultan / Benha Uni","position":"Full Professor","hindex":69,"photo":"./assets/images/ahmad-azar.jpeg","scholar":"https://scholar.google.com/citations?user=6gf4UVkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Control Theory & Applications","Robotics","Artificial Intelligence","Reinforcement Learning"],"citedby":18078,"lastupdate":"2024-01-02"},{"name":"Hossam Hassan Ammar","affiliation":"University of Hertfordshire","position":"Assistant Professor of Mechatronics and Robotics, CTO of ITC","hindex":17,"photo":"./assets/images/hossam-ammar.jpeg","scholar":"https://scholar.google.com/citations?user=gxtCFWkAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hossam-ammar-\u060c-phd-mieee-6707317b","website":"","twitter":"","interests":["Machine Learning","Robotics","Automatic Control","Renewable Energy"],"citedby":720,"lastupdate":"2024-01-02"},{"name":"Marwa Mahmoud","affiliation":"University of Glasgow","position":"Assistant Professor","hindex":18,"photo":"./assets/images/marwa-mahmoud.jpeg","scholar":"https://scholar.google.com/citations?user=mYyG4p0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Affective Computing","Computer Vision","Gesture Recognition","Animal Behaviour Understanding"],"citedby":1613,"lastupdate":"2024-01-02"},{"name":"Ahmed Elgohary","affiliation":"Microsoft","position":"Researcher","hindex":17,"photo":"./assets/images/ahmed-elgohary.jpeg","scholar":"https://scholar.google.com/citations?user=WDTv0I4AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing"],"citedby":3543,"lastupdate":"2024-01-02"},{"name":"Amr Sharaf","affiliation":"Microsoft","position":"Researcher","hindex":8,"photo":"./assets/images/amr-sharaf.jpeg","scholar":"https://scholar.google.com/citations?user=It3Gm1EAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Computer Vision","Machine Learning"],"citedby":403,"lastupdate":"2024-01-02"},{"name":"Hazem Rashed","affiliation":"Valeo","position":"Senior Principal ML Research Engineer","hindex":15,"photo":"./assets/images/hasem-rashed.jpg","scholar":"https://scholar.google.com/citations?user=hYdZUowAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hazem-rashed-a9490428/","website":"","twitter":"","interests":["Deep Learning","Computer Vision","Autonomous Driving"],"citedby":942,"lastupdate":"2024-01-02"},{"name":"Mennatullah Siam","affiliation":"Ontario Tech University","position":"Tenure-Track Assistant Professor","hindex":15,"photo":"./assets/images/mennatullah_siam.jpg","scholar":"https://scholar.google.com/citations?user=AVPds3kAAAAJ&hl=en&oi=ao","linkedin":"https://www.linkedin.com/in/mennatullah-siam-6546508a","website":"https://msiam.github.io/homepage/","twitter":"","interests":["Computer Vision","Deep Learning","Fewshot Learning","Video Object Segmentation","Video Understanding","Spatiotemporal Models Interpretability."],"citedby":1377,"lastupdate":"2024-01-02"},{"name":"Hamdy Mubarak","affiliation":"QCRI","position":"Principal Software Engineer","hindex":34,"photo":"./assets/images/hamdy-mubarak.jpeg","scholar":"https://scholar.google.com/citations?user=usvY6qYAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Software Engineering","Information Extraction","Social Media Analysis","Arabic NLP"],"citedby":4065,"lastupdate":"2024-01-02"},{"name":"Mohamed Mokbel","affiliation":"University of Minnesota","position":"Distinguished McKnight University Professor","hindex":58,"photo":"./assets/images/mohamed-mokbel.png","scholar":"https://scholar.google.com/citations?hl=en&user=GHz1ZVIAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-mokbel-4a053130/","website":"https://www.cs.umn.edu/~mokbel","twitter":"","interests":["Database Systems","GIS","Spatial Databases","Spatial Big Data","Mobile Data Management"],"citedby":16198,"lastupdate":"2024-01-02"},{"name":"Ashraf Aboulnaga","affiliation":"QCRI","position":"Chief Scientist","hindex":41,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=47sihrsAAAAJ","linkedin":"","website":"","twitter":"","interests":["Databases","Cloud computing","Graphs"],"citedby":5993,"lastupdate":"2024-01-02"},{"name":"Essam Mansour","affiliation":"Concordia University","position":"Assistant Professor","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=dqgckDgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database systems","data science platforms","distributed/parallel systems","machine learning"],"citedby":1451,"lastupdate":"2024-01-02"},{"name":"Ihab F. Ilyas","affiliation":"University of Waterloo","position":"Professor","hindex":58,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=YG6mTEIAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Databases","Data Management","Data Cleaning","Data Integration","Data Science"],"citedby":13482,"lastupdate":"2024-01-02"},{"name":"Walid G. Aref","affiliation":"Purdue University","position":"Professor","hindex":64,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=vX45evgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database Systems","Spatial Databases","Data Management"],"citedby":16371,"lastupdate":"2024-01-02"},{"name":"Abdurrahman Ghanem","affiliation":"Yelp","position":"Senior Software Engineer","hindex":5,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=XrVeZKgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Mobile Development","Artificial Intelligence","Machine Learning"],"citedby":492,"lastupdate":"2024-01-02"},{"name":"Hossam Hammady","affiliation":"Rayyan Systems Inc.","position":"Vice President of Engineering","hindex":11,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=49pKt_kAAAAJ","linkedin":"","website":"","twitter":"","interests":["cloud computing","distributed systems","machine learning","data analytics"],"citedby":12539,"lastupdate":"2024-01-02"},{"name":"Sherif Abdou","affiliation":"Cairo University","position":"Associate Professor","hindex":20,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=aFYes5MAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["artificial intelligence","Human Language technologies","speech recognition","language modeling","text to speech"],"citedby":1389,"lastupdate":"2024-01-02"},{"name":"Amr Magdy","affiliation":"UC Riverside","position":" Assistant Professor","hindex":18,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=11CMsKsAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Data management","spatial data management","GIS","large-scale data analytics","indexing"],"citedby":1058,"lastupdate":"2024-01-02"},{"name":"Thanaa Ghanem","affiliation":"Metropolitan State University","position":"Metropolitan State University","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=ZUQDHsMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database systems"],"citedby":1277,"lastupdate":"2024-01-02"},{"name":"Mohammed Attia","affiliation":"Google Inc.","position":"Analytical Linguist","hindex":25,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=fvpPkj0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Morphology","syntax","statistical parsing","spell checking","Lexical Functional Grammar"],"citedby":2859,"lastupdate":"2024-01-02"},{"name":"Ahmed Mourad","affiliation":"Apeiros","position":"Apeiros","hindex":10,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=pcibYXwAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Information Retrieval","Evaluation","Natural language Processing","Social Media Analysis"],"citedby":512,"lastupdate":"2024-01-02"},{"name":"Tarek El-Ganainy","affiliation":"Electronic Arts","position":"Electronic Arts","hindex":8,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=CJi5hO0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Information Retrieval","Machine Learning","Virtual Reality"],"citedby":179,"lastupdate":"2024-01-02"},{"name":"Mohamed Hefeeda","affiliation":"Simon Fraser University","position":"Professor","hindex":34,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=0pu-90QAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Multimedia Systems","Computer Networks","Multimedia AI"],"citedby":6109,"lastupdate":"2024-01-02"},{"name":"Mohamed Elgharib","affiliation":"MPI for Informatics","position":"Research Group Leader","hindex":26,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=e1WLgm8AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer Graphics","Computer Vision","Machine Learning","Virtual/Augmented Reality"],"citedby":2864,"lastupdate":"2024-01-02"},{"name":"Tarek Elgamal","affiliation":"LocknSell","position":"Founder & CEO","hindex":9,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=CMrSMisAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Privacy-Preserving ML","Edge computing","Multimedia systems","Machine Learning"],"citedby":476,"lastupdate":"2024-01-02"},{"name":"AbdelRahim A. ElMadany","affiliation":"UBC","position":"PostDoc","hindex":12,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=v3akuNAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/tarek-elgamal/","website":"","twitter":"","interests":["Natural Language Processing","Deep Learning","Computational Social Science","Machine Learning","Speech Act"],"citedby":821,"lastupdate":"2024-01-02"},{"name":"Mohamed Waleed Fakhr","affiliation":"AAST","position":"Professor","hindex":13,"photo":"./assets/images/mohamed-fakhr.jpg","scholar":"https://scholar.google.com/citations?user=37Rfy7sAAAAJ&hl=en","linkedin":"https://eg.linkedin.com/in/mohamed-waleed-fakhr-2b952036","website":"","twitter":"","interests":["Digital Signal Processing","Deep Learning","NLP"],"citedby":711,"lastupdate":"2024-01-02"},{"name":"Mohamed Loey","affiliation":"Benha University","position":"Associate Prof","hindex":19,"photo":"./assets/images/mohamed-loey.jpg","scholar":"https://scholar.google.com/citations?user=_kRSr78AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mloey","website":"https://bu.edu.eg/staff/mloey","twitter":"https://twitter.com/mloey","interests":["Deep Learning","Artificial Intelligence","Machine Learning","Image Processing"],"citedby":3427,"lastupdate":"2024-01-02"},{"name":"Wael Badawy","affiliation":"University of Hertfordshire","position":"Program Lead","hindex":30,"photo":"./assets/images/wael_badawy.jpg","scholar":"https://scholar.google.ca/citations?user=d_6Lp3IAAAAJ&hl=en&oi=ao","linkedin":"https://linkedIn.com/in/waelbadawy","website":"https://waelbadawy.com","twitter":"https://Twitter.com/wbadawy","interests":["Artificial Intelligence","Computer Vision","Cyber Security."],"citedby":4317,"lastupdate":"2024-01-02"},{"name":"Mohamed Salem Elaraby","affiliation":"University of Pittsburgh","position":"PhD Researcher","hindex":7,"photo":"./assets/images/mohamed-elaraby.jpg","scholar":"https://scholar.google.com.eg/citations?user=A5jMCaAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-salem-b25b24b6/","website":"","twitter":"https://twitter.com/MsalemUBC","interests":["Natural Language Processing","Legal Document Summarization","Deep Learning"],"citedby":208,"lastupdate":"2024-01-02"},{"name":"Mohamed Altantawy","affiliation":"Agolo","position":"CTO & Founder","hindex":5,"photo":"./assets/images/mohamed_altantawy.jpeg","scholar":"https://scholar.google.com/citations?user=aelgAPAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/altantawy/","website":"","twitter":"","interests":["Machine Learning","Natural Langauge Processing"],"citedby":195,"lastupdate":"2024-01-02"},{"name":"Muhammad Ali Rushdi","affiliation":"Cairo & New Giza University","position":"Associate Professor","hindex":14,"photo":"./assets/images/muhammad-rushdi.png","scholar":"https://scholar.google.com/citations?user=vDgGLjsAAAAJ&hl=en&oi=ao","linkedin":"https://www.linkedin.com/in/muhammad-rushdi-4817a462/","website":"http://scholar.cu.edu.eg/mrushdi","twitter":"","interests":["Machine learning","Biomedical Signal Processing","Medical Image Analysis","Information Security and Forensics","Computer Vision","Applied Mathematics"],"citedby":584,"lastupdate":"2024-01-02"},{"name":"Mohamed El Banani","affiliation":"University of Michigan Ann Arbor","position":"PhD Student","hindex":6,"photo":"./assets/images/mohamed-elbanani.jpg","scholar":"https://scholar.google.com/citations?user=Iwe1QVEAAAAJ","linkedin":"","website":"https://mbanani.github.io/","twitter":"https://twitter.com/_mbanani","interests":["Computer Vision","Machine Learning","Cognitive Science"],"citedby":113,"lastupdate":"2024-01-02"},{"name":"Mai ElSherief","affiliation":"Northeastern University","position":"Assistant Professor","hindex":13,"photo":"./assets/images/mai-elsherief.png","scholar":"https://scholar.google.com/citations?hl=en&user=Rykl2HkAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"https://www.linkedin.com/in/mai-elsherief-ph-d-38638082","website":"","twitter":"https://twitter.com/mai_elsherief?lang=en","interests":["Social computing","Natural Language Processing","Applied Machine Learning","Information science","Data"],"citedby":1504,"lastupdate":"2024-01-02"},{"name":"Mahmoud Azab","affiliation":"Meta","position":"Research Scientist","hindex":8,"photo":"./assets/images/mohamed-azab.jpeg","scholar":"https://scholar.google.com/citations?user=sQROlqMAAAAJ&hl=en","linkedin":"","website":"","twitter":"https://twitter.com/M_MoNeEb","interests":["Natural Language Processing","Computer Vision","Multimodal Machine Learning"],"citedby":242,"lastupdate":"2024-01-02"},{"name":"Ahmed M. Abdelmoniem","affiliation":"Queen Mary University of London","position":"Assistant Professor","hindex":21,"photo":"./assets/images/ahmed-abdelmoniem.jpg","scholar":"https://scholar.google.com/citations?user=CzfuSJgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedmabdelmoniem/","website":"http://eecs.qmul.ac.uk/~ahmed/","twitter":"","interests":["Distributed Systems","Computer Networks","Machine Learning","Federated Learning"],"citedby":986,"lastupdate":"2024-01-02"},{"name":"Walid Gomaa","affiliation":"Egypt Japan University for Science and Technology","position":"Professor","hindex":19,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=tZ1q2UUAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/walid-gomaa-40a45926?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app","website":"https://sites.google.com/ejust.edu.eg/walid-gomaa/","twitter":"","interests":["Machine learning","Artificial intelligence","Computer Vision"],"citedby":1509,"lastupdate":"2024-01-02"},{"name":"Sameh Alansary","affiliation":"Alexandria University","position":"Professor and head of Phonetics and Linguistics Department","hindex":11,"photo":"./assets/images/sameh-alansary.jpeg","scholar":"https://scholar.google.com/citations?user=dgBdtaUAAAAJ&hl=en&oi=ao","linkedin":"","website":"","twitter":"","interests":["Computational Linguistics","Corpus Linguistics","NLP"],"citedby":464,"lastupdate":"2024-01-02"},{"name":"Mohamed ElHelw","affiliation":"Center for Informatics Science, Nile University","position":"Professort and Center for Informatics Science director","hindex":15,"photo":"./assets/images/default.jpg","scholar":"https://www.researchgate.net/profile/Mohamed-Elhelw","linkedin":"https://www.linkedin.com/in/mohamedelhelw/","website":"","twitter":"","interests":["Computer vision","deep learning"],"citedby":0,"lastupdate":""},{"name":"Ayman Youssef","affiliation":"Electronics Reseach institute","position":"Researcher","hindex":6,"photo":"./assets/images/ayman-youssef.jpeg","scholar":"https://scholar.google.com/citations?user=1RYci-8AAAAJ&hl=en&oi=ao","linkedin":"","website":"","twitter":"","interests":["Applications and Tools of ML","NLP","FPGA Implementations of ML Algorithms"],"citedby":385,"lastupdate":"2024-01-02"},{"name":"Mervat Gheith","affiliation":"Cairo university","position":"Assoc. Prof","hindex":10,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=zhZQaoYAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["AI","NLP"],"citedby":354,"lastupdate":"2024-01-02"},{"name":"Mohamed Ezz","affiliation":"Jouf University, Al Azhar University","position":"Professor","hindex":9,"photo":"./assets/images/moahmed-ezz.jpeg","scholar":"https://scholar.google.com/citations?user=0oVjLe4AAAAJ&hl=ar&oi=ao","linkedin":"https://www.linkedin.com/in/mohamed-ezz-phd-cbap-24122210/","website":"","twitter":"","interests":["Computer Vision","Machine Learning","Natural Language Processing"],"citedby":436,"lastupdate":"2024-01-02"},{"name":"Dr Mohamed Abdelhack","affiliation":"CAMH","position":"PostDoc Fellow","hindex":6,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.co.jp/citations?user=S1TWer4AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mabdelhack?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app","website":"https://mabdelhack.github.io","twitter":"https://x.com/mabdelhack?t=63lEQLFmxGgJjDKH4VKf3A&s=09","interests":["Computational Neuroscience","Machine Learning","Deep Learning","AI"],"citedby":110,"lastupdate":"2024-01-02"},{"name":"El-Sayed M. El-kenawy","affiliation":"Delta Higher Institute of Engineering and Technology","position":"Associate Professor","hindex":42,"photo":"./assets/images/sayed-kenawy.jpeg","scholar":"https://scholar.google.com/citations?user=fA25haEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/sayed-kenawy-162328220","website":"https://sayedkenawy.com/","twitter":"","interests":["Metaheuristics","Optimization","AI","Data Mining","Machine Learning"],"citedby":5542,"lastupdate":"2024-01-02"},{"name":"Waleed A. Yousef","affiliation":"Helwan University / MESC Labs","position":"Associate Professor / Founder","hindex":14,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=dfBOO6oAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":[],"citedby":1349,"lastupdate":"2024-01-02"},{"name":"Omneya Attallah","affiliation":"AASTMT","position":"Associate Professor","hindex":25,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=QpDDpNEAAAAJ","linkedin":"http://linkedin.com/in/omneya-attallah-8729ab129","website":"https://aast.edu/cv.php?ser=50275","twitter":"","interests":["Deep/machine learning","Biomedical Signal Processing","Computer Vision","Pattern Recognition","Medical Imaging","Brain-Computer Interface"],"citedby":1414,"lastupdate":"2024-01-02"}]');let WA=(()=>{class e{constructor(){}getResearchIntersts(n){let i=new Set,r={};for(let a=0;a0;i--){const r=Math.floor(Math.random()*(i+1));[n[i],n[r]]=[n[r],n[i]]}return n}sortAZ(n){return n.sort((i,r)=>i.name.localeCompare(r.name))}sortHIndex(n){return n.sort((i,r)=>r.hindex-i.hindex)}sortCitations(n){return n.sort((i,r)=>r.citedby-i.citedby)}sortShuffle(n){return this.shuffle(n)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=H({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function nN(e,t){if(1&e){const n=to();b(0,"div",30)(1,"input",31),Q("change",function(){return ni(n),ii(Ot().filterInterests())})("ngModelChange",function(r){const s=ni(n).$implicit;return ii(Ot().rinterests[s.key]=r)}),_(),b(2,"label",32),C(3),_()()}if(2&e){const n=t.$implicit,i=Ot();N(1),wn("id","",n.key,"Checkbox"),we("value",n.key),re("ngModel",i.rinterests[n.key]),N(1),wn("for","",n.key,"Checkbox"),N(1),or("",n.key," (",i.rinterestsFreq[n.key],")")}}function iN(e,t){if(1&e&&(b(0,"div",33)(1,"a",34)(2,"div",35),V(3,"img",36),b(4,"span"),C(5),_()()()()),2&e){const n=t.$implicit;N(1),wn("href","#",n.name,"",je),N(2),we("src",n.photo,je),we("alt",n.name),N(2),js(n.name)}}function rN(e,t){if(1&e){const n=to();b(0,"div",37)(1,"div",38)(2,"div")(3,"a",39),Q("click",function(){const o=ni(n).$implicit;return ii(Ot().editProfile(o))}),V(4,"i",40),_()(),V(5,"img",41),b(6,"div",42)(7,"h4",43),C(8),_(),b(9,"h5",44),C(10),_(),b(11,"h6",45),C(12),_(),b(13,"span",46),C(14),co(15,"number"),_(),b(16,"span",46),C(17," h-index: - "),_(),b(18,"div",47)(19,"strong"),C(20,"Research Interests:"),_(),b(21,"p",48),C(22),_()(),V(23,"hr"),b(24,"p",49)(25,"a",50),V(26,"i",51),_(),b(27,"a",50),V(28,"i",52),_(),b(29,"a",50),V(30,"i",53),_(),b(31,"a",50),V(32,"i",54),_()()()()()}if(2&e){const n=t.$implicit;re("hidden",!Ot().en_active),N(1),we("id",n.name),N(4),we("src",n.photo,je),we("alt",n.name),N(3),wt(" ",n.name," "),N(2),wt(" ",n.affiliation," "),N(2),wt(" ",n.position," "),N(1),re("hidden",0==n.hindex),N(1),or(" h-index: ",n.hindex," | Citations: ",ho(15,20,n.citedby)," "),N(2),re("hidden",0!=n.hindex),N(6),wt(" ",n.interests.toString()," "),N(3),we("href",n.website,je),re("hidden",""==n.website),N(2),we("href",n.scholar,je),re("hidden",""==n.scholar),N(2),we("href",n.twitter,je),re("hidden",""==n.twitter),N(2),we("href",n.linkedin,je),re("hidden",""==n.linkedin)}}let oN=(()=>{class e{constructor(n){this.filterService=n,this.title="Egyptians in AI",this.researchers=zn,this.rinterests={},this.rinterestsFreq={},this.profiles=this.researchers,this.searchQuery="",this.en_active=!0,[this.rinterests,this.rinterestsFreq]=this.filterService.getResearchIntersts(zn),this.sortShuffle()}ngOnInit(){}sortAZ(){this.researchers=this.filterService.sortAZ(zn)}sortHIndex(){this.researchers=this.filterService.sortHIndex(zn)}sortCitations(){this.researchers=this.filterService.sortCitations(zn)}sortShuffle(){this.researchers=this.filterService.sortShuffle(zn)}filterProfiles(n){let i=n.target.value.toLowerCase();this.researchers=this.filterService.filterProfiles(i,zn)}filterInterests(){this.researchers=this.filterService.filterInterests(zn,this.rinterests)}checkAllInterests(){for(let n in this.rinterests)this.rinterests[n]=!0;this.researchers=this.profiles}clearAllInterests(){for(let n in this.rinterests)this.rinterests[n]=!1;this.researchers=this.profiles}editProfile(n){let i="https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=pp_url&entry.186050192=Update&entry.1945362270={name}&entry.843703109={affiliation}&entry.1728443742={position}&entry.113990162={gscholar}&entry.1193057171={linkedin}&entry.2083985192={twitter}&entry.1542622457={website}&entry.2030031116={research_interests}";i=i.replace("{name}",n.name),i=i.replace("{affiliation}",n.affiliation),i=i.replace("{position}",n.position),i=i.replace("{gscholar}",n.scholar),i=i.replace("{linkedin}",n.linkedin),i=i.replace("{twitter}",n.twitter),i=i.replace("{website}",n.website),i=i.replace("{research_interests}",n.interests.join(",")),window.open(i,"_blank")}}return e.\u0275fac=function(n){return new(n||e)(v(WA))},e.\u0275cmp=Ci({type:e,selectors:[["app-english"]],decls:54,vars:6,consts:[[1,"row",2,"margin-top","5em","margin-bottom","5em"],[2,"padding","1em"],["href","https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=sf_link"],["href","https://medium.com/@bkhmsi/egyptians-in-ai-research-1ff64c78cc5b"],["id","sort-container",1,"row"],[1,"col-lg-2","col-md-12","col-sm-12"],["target","_blank","href","https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=sf_link",1,"btn","btn-outline-primary","w-100","title"],[1,"fa","fa-pen"],[1,"col-lg-4","col-md-12","col-sm-12"],[1,"col-md-12"],[1,"search"],[1,"fa","fa-search"],["type","text","placeholder","Search By Name",1,"form-control",3,"keyup"],[1,"col-lg-1","col-md-12","col-sm-12"],[1,"btn","btn-outline-secondary","sort-button","w-100","title",3,"click"],[1,"fas","fa-sort-alpha-down"],[1,"btn","btn-outline-success","sort-button","w-100","title",3,"click"],[1,"fa-solid","fa-arrow-down-9-1"],[1,"btn","btn-outline-warning","sort-button","w-100","title",3,"click"],[1,"col-lg-1","col-md-12","col-sm-12","title"],[1,"btn","btn-outline-danger","sort-button","w-100",3,"click"],[1,"fas","fa-shuffle"],[1,"w-100",2,"margin-bottom","1rem"],[1,"btn","btn-link","sort-button",3,"click"],[1,"form-group"],["class","form-check",4,"ngFor","ngForOf"],[2,"width","100%","margin","auto"],["class","col-lg-2 col-md-6 col-sm-12 rgrid",4,"ngFor","ngForOf"],[1,"mt-3","mb-3"],["class","col-lg-3 col-md-6 col-sm-12 mb-4",3,"hidden",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"id","value","ngModel","change","ngModelChange"],[1,"form-check-label",3,"for"],[1,"col-lg-2","col-md-6","col-sm-12","rgrid"],[3,"href"],[1,"card","click-to-top",2,"background-color","whitesmoke","border-width","0.01px","border-radius","0"],["width","40","height","40",1,"rounded-circle","mx-auto",2,"margin","0.5rem",3,"src","alt"],[1,"col-lg-3","col-md-6","col-sm-12","mb-4",3,"hidden"],[1,"card",2,"background-color","whitesmoke",3,"id"],[1,"edit-btn",3,"click"],[1,"fa-solid","fa-pencil"],["width","160","height","160",1,"rounded-circle","mx-auto",2,"margin","0.5rem",3,"src","alt"],[1,"card-body",2,"background-color","#EAECEE"],[1,"card-title","mb-0",2,"font-size","1.4rem"],[1,"card-subtitle","mb-2","text-muted",2,"min-height","2.4em"],[1,"card-text",2,"min-height","2.3em"],[1,"card-text",2,"font-size","0.8rem",3,"hidden"],[2,"min-height","7em"],[1,"card-text",2,"font-size","0.8rem"],[1,"card-text","text-center"],["target","_blank",3,"hidden","href"],[1,"fas","fa-globe",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fas","fa-graduation-cap",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fab","fa-twitter",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fab","fa-linkedin",2,"font-size","1.5rem","color","black","padding-left","0.5rem"]],template:function(n,i){1&n&&(b(0,"div",0)(1,"p",1),C(2," Welcome to Egyptian AI, a website dedicated to showcasing the profiles of prominent Egyptian researchers in the field of Artificial Intelligence. If you believe that someone deserving is missing from our list, we welcome your suggestions. To be considered for inclusion, the only criteria is that the individual must have an "),b(3,"strong"),C(4,"h-index of 5 or higher"),_(),C(5,", as recorded on their Google Scholar profile. You can submit your suggestion by filling out "),b(6,"a",2),C(7,"this form"),_(),C(8,", or request updates for existing profiles. We hope that you find our website informative and inspiring, and we invite you to explore the profiles of our featured researchers. To date, we have included "),b(9,"strong"),C(10),_(),C(11," profiles. Please note, the list is randomly shuffled every time the page is refreshed. Check this "),b(12,"a",3),C(13,"Blog Post"),_(),C(14," to read about the motivation behind building this website. "),_(),b(15,"div",4)(16,"div",5)(17,"a",6),V(18,"i",7),C(19," Nominate Someone "),_()(),b(20,"div",8)(21,"div",9)(22,"div",10),V(23,"i",11),b(24,"input",12),Q("keyup",function(o){return i.filterProfiles(o)}),_()()()(),b(25,"div",13)(26,"button",14),Q("click",function(){return i.sortAZ()}),V(27,"i",15),C(28," AZ "),_()(),b(29,"div",5)(30,"button",16),Q("click",function(){return i.sortHIndex()}),V(31,"i",17),C(32," h-Index "),_()(),b(33,"div",5)(34,"button",18),Q("click",function(){return i.sortCitations()}),V(35,"i",17),C(36," Citations "),_()(),b(37,"div",19)(38,"button",20),Q("click",function(){return i.sortShuffle()}),V(39,"i",21),_()()(),b(40,"details",22)(41,"button",23),Q("click",function(){return i.clearAllInterests()}),C(42," Clear "),_(),b(43,"button",23),Q("click",function(){return i.checkAllInterests()}),C(44," Check All "),_(),b(45,"summary"),C(46,"Filter by Research Interests"),_(),b(47,"div",24),ui(48,nN,4,6,"div",25),co(49,"keyvalue"),_()(),b(50,"div",26),ui(51,iN,6,4,"div",27),_(),V(52,"hr",28),ui(53,rN,33,22,"div",29),_()),2&n&&(N(10),wt(" ",i.profiles.length," "),N(38),re("ngForOf",ho(49,4,i.rinterests)),N(3),re("ngForOf",i.researchers),N(2),re("ngForOf",i.researchers))},dependencies:[Yc,wa,wd,Ia,nd,td]}),e})();const Wn=JSON.parse('[{"name":"Mona Diab","affiliation":"CMU","position":"Director of the Language Technologies Institute","hindex":55,"photo":"./assets/images/mona-diab.jpeg","scholar":"https://scholar.google.com/citations?user=-y6SIhQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mona-diab-55946614/","website":"","twitter":"https://mobile.twitter.com/MonaDiab77","interests":["Responsible AI","Natural Language Processing","Computational Linguistics","Arabic NLP","Cross Lingual/Multilingual Processing","Machine Learning"],"citedby":16301,"lastupdate":"2023-10-14"},{"name":"Abdelrahman Mohamed","affiliation":"Rembrand","position":"Co-Founder","hindex":49,"photo":"./assets/images/abdelrahman-mohamed.jpeg","scholar":"https://scholar.google.ca/citations?user=tJ_PrzgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/abdel-rahman-mohamed-a5808210/","website":"","twitter":"","interests":["Speech Processing","Speech Recognition","Speech Language Processing","Machine Learning"],"citedby":53168,"lastupdate":"2023-10-14"},{"name":"Samhaa R. El-Beltagy","affiliation":"New Giza University","position":"Dean of the School of Information Technology","hindex":25,"photo":"./assets/images/samhaa-el-beltagy.jpeg","scholar":"https://scholar.google.com/citations?user=xdz-3qgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/samhaa-el-beltagy-b410a530","website":"","twitter":"","interests":["Arabic NLP","Text Mining","Information Extraction","Sentiment Analysis","Semantic Annotation"],"citedby":2778,"lastupdate":"2023-10-14"},{"name":"Kareem Darwish","affiliation":"aiXplain","position":"Principal Scientist","hindex":43,"photo":"./assets/images/kareem-darwish.jpeg","scholar":"https://scholar.google.com/citations?user=y7tlR6UAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/kareem-darwish-788b9125","website":"http://kareemdarwish.com/files/","twitter":"https://twitter.com/kareem2darwish","interests":["Arabic NLP","Information Retrieval","Computational Social Science","Natural Language Processing"],"citedby":6173,"lastupdate":"2023-10-14"},{"name":"Ahmed Rafea","affiliation":"American University in Cairo","position":"Professor","hindex":28,"photo":"./assets/images/ahmed-rafea.jpeg","scholar":"https://scholar.google.com/citations?user=szDaQLYAAAAJ&hl=en","linkedin":"","website":"https://www.aucegypt.edu/fac/ahmedrafea","twitter":"","interests":["Natural Language Processing","Machine Translation","Mining Social Media","Text Mining","Knowledge Engineering"],"citedby":3404,"lastupdate":"2023-10-14"},{"name":"Mohsen Rashwan","affiliation":"Cairo University","position":"Professor","hindex":22,"photo":"./assets/images/mohsen-rashwan.jpeg","scholar":"https://scholar.google.com/citations?user=Q4Ic2k0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohsen-rashwan-4719364","website":"","twitter":"","interests":["Machine Learning","Speech Processing","Natural Language Processing","Human Language Technology"],"citedby":1510,"lastupdate":"2023-10-14"},{"name":"Rana el Kaliouby","affiliation":"Smart Eye","position":"Deputy CEO","hindex":44,"photo":"./assets/images/rana-el-kaliouby.jpeg","scholar":"https://scholar.google.com/citations?user=tpg6xzgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/kaliouby/","website":"https://ranaelkaliouby.com/","twitter":"https://twitter.com/kaliouby","interests":["Affective Computing","Emotion AI","Human Perception","Computer Vision","Machine Learning"],"citedby":7011,"lastupdate":"2023-10-14"},{"name":"Mohamed Afify","affiliation":"Microsoft","position":"Principal Researcher","hindex":18,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=1ZIc388AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Translation","Speech Recognition","Natural Language Processing","Adaptation Models","Computational Linguistics","Phonology"],"citedby":1058,"lastupdate":"2023-10-14"},{"name":"Hany Hassan Awadalla","affiliation":"Microsoft","position":"Partner Research Manager","hindex":29,"photo":"./assets/images/hany-hassan.jpeg","scholar":"https://scholar.google.com/citations?user=jqsVHbsAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hany-hassan-awadalla/","website":"https://www.microsoft.com/en-us/research/people/hanyh/","twitter":"https://twitter.com/hany_hassan","interests":["Machine Translation","Machine Learning","Natural Language Processing","Deep Learning","Semi-supervised Learning"],"citedby":3232,"lastupdate":"2023-10-14"},{"name":"Ahmed Tawfik","affiliation":"Microsoft","position":"Principal Data and Applied Science Manager","hindex":11,"photo":"./assets/images/ahmed-tawfik.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=8mRqcrIAAAAJ","linkedin":"https://www.linkedin.com/in/ahmed-tawfik-903a093","website":"https://www.microsoft.com/en-us/research/people/atawfik/","twitter":"","interests":["Machine Translation","Machine Learning","Natural Language Processing","Deep Learning","Text-to-Speech"],"citedby":416,"lastupdate":"2023-10-14"},{"name":"Mohamed Moustafa","affiliation":"Amazon","position":"Applied Science Manager","hindex":18,"photo":"./assets/images/mohamed-moustafa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=QGdReUEAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-n-moustafa/","website":"https://www.aucegypt.edu/fac/mohamedmoustafa","twitter":"","interests":["Computer Vision","Machine Learning","Pattern Recognition","Biometrics","Deep Learning"],"citedby":1642,"lastupdate":"2023-10-14"},{"name":"Wael Hamza","affiliation":"Amazon","position":"Senior Principal Applied Scientist","hindex":23,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=rJnetakAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/wael-hamza-5454b63","website":"","twitter":"","interests":["Natural Language Processing","Machine Learning","Machine Translation","Natural Language Understanding","Speech"],"citedby":2970,"lastupdate":"2023-10-14"},{"name":"Iz Beltagy","affiliation":"Allen Institute for AI","position":"Senior Research Scientist","hindex":27,"photo":"./assets/images/iz-beltagy.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=jkV6H1gAAAAJ","linkedin":"https://www.linkedin.com/in/beltagy","website":"https://beltagy.net/","twitter":"https://twitter.com/i_beltagy","interests":["Natural Language Processing","Machine Learning"],"citedby":10260,"lastupdate":"2023-10-14"},{"name":"Waleed Ammar","affiliation":"Allen Institute for AI","position":"Product Manager","hindex":24,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=4NZ58cQAAAAJ","linkedin":"","website":"https://wammar.github.io","twitter":"","interests":["Natural Language Processing","Machine Learning","Semantic Parsing"],"citedby":4376,"lastupdate":"2023-10-14"},{"name":"Ahmed H. Awadallah","affiliation":"Microsoft Research","position":"Senior Principal Research Manager","hindex":47,"photo":"./assets/images/ahmed-awadallah.jpeg","scholar":"https://scholar.google.com/citations?user=sNGk-9MAAAAJ&hl=en","linkedin":"","website":"https://www.microsoft.com/en-us/research/people/hassanam/","twitter":"","interests":["Natural Language Processing","Machine Learning","Information Retrieval"],"citedby":10220,"lastupdate":"2023-10-14"},{"name":"Hala Mostafa","affiliation":"Raytheon Technologies","position":"Manager","hindex":8,"photo":"./assets/images/hala-mostafa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=zmNFj_EAAAAJ","linkedin":"","website":"http://hmostafa.com/","twitter":"","interests":["Machine Learning"],"citedby":407,"lastupdate":"2023-10-14"},{"name":"Baher Abdulhai","affiliation":"University of Toronto","position":"Professor","hindex":37,"photo":"./assets/images/abdulhai.png","scholar":"https://scholar.google.com/citations?hl=en&user=ezgstIoAAAAJ","linkedin":"https://www.linkedin.com/in/baher-abdulhai-b2460215","website":"https://uttri.utoronto.ca/people/baher-abdulhai/","twitter":"","interests":["Intelligent Transportation Systems","Traffic Control and Management","Evacuation Optimization","Congestion Pricing"],"citedby":5651,"lastupdate":"2023-10-14"},{"name":"Yaser S. Abu-Mostafa","affiliation":"Caltech","position":"Professor","hindex":29,"photo":"./assets/images/yaser-abu-mostafa.jpeg","scholar":"https://www.semanticscholar.org/author/Y.-Abu-Mostafa/1398965769","linkedin":"","website":"https://work.caltech.edu/index.html","twitter":"","interests":["Machine Learning","Artificial Intelligence","Computational Finance","Information and Complexity","Probability and Statistics"],"lastupdate":"","citedby":4141},{"name":"Marwan Torki","affiliation":"Alexandria University","position":"Associate Professor","hindex":20,"photo":"./assets/images/marwan-torki.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=aYLNZT4AAAAJ","linkedin":"","website":"http://eng.staff.alexu.edu.eg/~mtorki/","twitter":"","interests":["Machine Learning","Computer Vision","Deep Learning","Natural Language Processing"],"citedby":2594,"lastupdate":"2023-10-14"},{"name":"Medhat Moussa","affiliation":"University of Guelph","position":"Professor","hindex":22,"photo":"./assets/images/medhat-moussa.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=x-2sUG4AAAAJ","linkedin":"https://www.linkedin.com/in/medhat-moussa-3a58713","website":"https://www.uoguelph.ca/engineering/people/medhat-moussa-phd-peng","twitter":"","interests":["Robotics","Machine Learning","Machine Vision","Reconfigurable Computing"],"citedby":1829,"lastupdate":"2023-10-14"},{"name":"Khaled Shaalan","affiliation":"The British University in Dubai","position":"Professor","hindex":56,"photo":"./assets/images/khaled-shaalan.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=keLKdlgAAAAJ","linkedin":"","website":"https://sites.google.com/site/khaledshaalan/publications/full-publication-list","twitter":"","interests":["Artificial Intelligence","Arabic NLP","Computational Linguistics","Natural Language Processing","Knowledge Management"],"citedby":13479,"lastupdate":"2023-10-14"},{"name":"Ossama Emam","affiliation":"IBM","position":"Senior Technical Staff Member","hindex":18,"photo":"./assets/images/ossama-emam.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=3Xa5wWMAAAAJ","linkedin":"https://www.linkedin.com/in/ossama-emam-ph-d-21b4b2124","website":"","twitter":"","interests":["Machine Learning","Information Retrieval","Information Extraction","Mathematical and Statistical Modelling","Pattern Recognition","Speech Technology"],"citedby":1062,"lastupdate":"2023-10-14"},{"name":"Alaa Khamis","affiliation":"General Motors","position":"AI & Smart Mobility Technical Leader","hindex":28,"photo":"./assets/images/alaa-khamis.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=btM72xsAAAAJ","linkedin":"https://www.linkedin.com/in/alaakhamis/","website":"https://www.alaakhamis.org","twitter":"","interests":["Smart Mobility","Autonomous and Connected Vehicles","Cognitive IoT","Machine Learning","Combinatorial Optimization"],"citedby":4895,"lastupdate":"2023-10-14"},{"name":"Alaa Sheta","affiliation":"Southern Connecticut (SCSU)","position":"Professor","hindex":31,"photo":"./assets/images/alaa-sheta.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=x7zJsNoAAAAJ","linkedin":"https://www.linkedin.com/in/alaa-sheta-30577617/","website":"https://sites.google.com/site/profalaasheta/home","twitter":"","interests":["Machine Learning","Data Science","Image Processing","Robotics","Software Engineering"],"citedby":3657,"lastupdate":"2023-10-14"},{"name":"Ahmed K. Farahat","affiliation":"Hitachi America, Ltd. R&D","position":"Principal Research Scientist","hindex":19,"photo":"./assets/images/ahmed-farahat.jpeg","scholar":"https://scholar.google.com/citations?user=5kcdVaYAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/afarahat/","website":"http://www.afarahat.com","twitter":"","interests":["Machine Learning","Data Mining","Industrial AI"],"citedby":1875,"lastupdate":"2023-10-14"},{"name":"Motaz El-Saban","affiliation":"Microsoft","position":"Principal Data & Applied Science Manager","hindex":26,"photo":"./assets/images/motaz-el-saban.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=xHcqzWgAAAAJ","linkedin":"https://www.linkedin.com/in/motazelsaban/","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":2861,"lastupdate":"2023-10-14"},{"name":"Maher Ahmed","affiliation":"Wilfrid Laurier University","position":"Associate Professor","hindex":11,"photo":"./assets/images/maher-ahmed.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=qsJmtkMAAAAJ","linkedin":"https://www.linkedin.com/in/maher-ahmed-5baa9112","website":"https://www.wlu.ca/academics/faculties/faculty-of-science/faculty-profiles/maher-ahmed/index.html","twitter":"","interests":["Pattern Recognition","Image Processing"],"citedby":652,"lastupdate":"2023-10-14"},{"name":"Mohamed S. Kamel","affiliation":"University of Waterloo","position":"Professor - Passed Away (2015)","hindex":64,"photo":"./assets/images/mohamed-kamel.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=6Evj9YwAAAAJ","linkedin":"","website":"","twitter":"","interests":["Pattern Analysis","Machine Intelligence","Image Analysis","Pattern Recognition","Computational Intelligence"],"citedby":22429,"lastupdate":"2023-10-14"},{"name":"Ahmad Abdulkader","affiliation":"Meta","position":"Research And Development Scientist - Passed Away (2021)","hindex":7,"photo":"./assets/images/ahmad-abdulkader.jpeg","scholar":"https://www.semanticscholar.org/author/Ahmad-Abdulkader/1859983","linkedin":"","website":"","twitter":"","interests":["Machine Learning"],"lastupdate":"","citedby":345},{"name":"Ali Elkahky","affiliation":"Meta","position":"Research Scientist","hindex":14,"photo":"./assets/images/ali-elkahky.jpeg","scholar":"https://scholar.google.com/citations?user=KB3S8RoAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ali-elkahky-32711ab/","website":"","twitter":"","interests":["Machine Learning","Natural Language Processing"],"citedby":2108,"lastupdate":"2023-10-14"},{"name":"Ahmed El Kholy","affiliation":"Microsoft","position":"Senior Applied Scientist","hindex":16,"photo":"./assets/images/ahmed-el-kholy.jpeg","scholar":"https://scholar.google.com/citations?user=n4PqfX0AAAAJ&hl=en","linkedin":"","website":"https://www.microsoft.com/en-us/research/people/ahelkhol/","twitter":"","interests":["Machine Learning","Natural Language Processing","Conversational AI"],"citedby":3246,"lastupdate":"2023-10-14"},{"name":"Walid Magdy","affiliation":"University of Edinburgh","position":"Associate Professor","hindex":37,"photo":"./assets/images/walid-magdy.jpeg","scholar":"https://scholar.google.com/citations?user=ACQD8jMAAAAJ&hl=en","linkedin":"","website":"https://homepages.inf.ed.ac.uk/wmagdy/","twitter":"https://twitter.com/Walid_Magdy","interests":["Computational Social Science","Natural Language Processing","Data Mining","Information Retrieval"],"citedby":4037,"lastupdate":"2023-10-14"},{"name":"Ahmed Ali","affiliation":"QCRI","position":"Principal Engineer","hindex":24,"photo":"./assets/images/ahmed-ali.jpeg","scholar":"https://scholar.google.com/citations?user=t0gYEjAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedali08","website":"","twitter":"","interests":["Speech Recognition"],"citedby":2067,"lastupdate":"2023-10-14"},{"name":"Neamat El Gayar","affiliation":"Heriot Watt University","position":"Director & Uni Professor","hindex":16,"photo":"./assets/images/neamat-elgayar.jpg","scholar":"https://scholar.google.com/citations?user=RHDcyz8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/neamat-el-gayar-07b7297a/","website":"","twitter":"https://twitter.com/Neamat11647418","interests":["Neural Networks","Machine Learning","Computational Intelligence","Natural Language Processing"],"citedby":1881,"lastupdate":"2023-10-14"},{"name":"Amir Alansary","affiliation":"Jaguar Land Rover","position":"ML & CV Team Lead","hindex":21,"photo":"./assets/images/amir-alansary.jpeg","scholar":"https://scholar.google.com/citations?user=Sj11Jo8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amiralansary/","website":"","twitter":"","interests":["Computer Vision","Machine Learning","Reinforcement Learning","Autonomous Vehicles Perception and Path Planning","Medical Imaging"],"citedby":1603,"lastupdate":"2023-10-14"},{"name":"Mustafa A Elattar","affiliation":"Intixel & Nile University","position":"Founder & Assistant Professor","hindex":11,"photo":"./assets/images/mustafa-elattar.png","scholar":"https://scholar.google.com/citations?user=BJoskL8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mustafa-elattar-phd-42289112/","website":"https://www.intixel.com/","twitter":"https://twitter.com/3ttar","interests":["Medical Imaging","Artificial Intelligence","Image Analysis"],"citedby":803,"lastupdate":"2023-10-14"},{"name":"Hesham Eraqi","affiliation":"Amazon","position":"Senior Scientist","hindex":10,"photo":"./assets/images/hesham-eraqi.jpg","scholar":"https://scholar.google.com.eg/citations?user=Sk-VfXYAAAAJ","linkedin":"https://www.linkedin.com/in/heshameraqi","website":"https://heshameraqi.github.io","twitter":"","interests":["Geospatial Machine Learning","Autonomous Driving","Deep Learning","Handwriting Recognition"],"citedby":809,"lastupdate":"2023-10-14"},{"name":"Ahmed Alsallab","affiliation":"Microsoft","position":"Principal Applied Science Manager","hindex":19,"photo":"./assets/images/ahmad-al-sallab.jpeg","scholar":"https://scholar.google.com/citations?user=hiEbSZYAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmad-el-sallab-phd-7aa2195a","website":"","twitter":"","interests":["Deep Learning","Computer Vision","Natural Language Processing"],"citedby":3534,"lastupdate":"2023-10-14"},{"name":"Gamaleldin Elsayed","affiliation":"Google Brain","position":"Senior Research Scientist","hindex":15,"photo":"./assets/images/gamaleldin-elsayed.jpeg","scholar":"https://scholar.google.com/citations?user=7PrTPzsAAAAJ&hl=en&oi=ao","linkedin":"","website":"http://www.columbia.edu/~gfa2109/","twitter":"","interests":["Machine Learning","Computer Vision","Computational Neuroscience"],"citedby":2033,"lastupdate":"2023-10-14"},{"name":"Mahmoud Abou-Nasr","affiliation":"Ford Motor Company","position":"Lecturer III","hindex":11,"photo":"./assets/images/mahmoud-abou-nasr.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=qkvufmcAAAAJ","linkedin":"","website":"","twitter":"","interests":["Neural Networks","Data Mining","Deep Learning","Reinforcement Learning","Optimization"],"citedby":357,"lastupdate":"2023-10-14"},{"name":"Mohamed Elhoseiny","affiliation":"KAUST","position":"Assistant Professor","hindex":34,"photo":"./assets/images/mohamed-elhoseiny.png","scholar":"https://scholar.google.com/citations?user=iRBUTOAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-elhoseiny-8a836215","website":"http://www.mohamed-elhoseiny.com/","twitter":"https://twitter.com/moElhoseiny","interests":["Zero-Shot Learning","Few-Shot Learning","Computer Vision","Computational Creativity","Vision and Language"],"citedby":8011,"lastupdate":"2023-10-14"},{"name":"Amr Ahmed","affiliation":"Google","position":"Senior Staff Research Scientist","hindex":39,"photo":"./assets/images/amr-ahmed.png","scholar":"https://scholar.google.com/citations?user=ivUi2T0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amr-ahmed-b998965","website":"https://research.google/people/AmrAhmed/","twitter":"","interests":["Machine Learning","Big Data","User Modeling","Personalization","Content Analysis"],"citedby":11322,"lastupdate":"2023-10-14"},{"name":"Amir Atiya","affiliation":"Cairo University","position":"Professor","hindex":48,"photo":"./assets/images/amir-atiya.jpeg","scholar":"https://scholar.google.com/citations?user=sT6n4zAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/amir-atiya-8685b7","website":"https://cairo.academia.edu/AmirAtiya","twitter":"","interests":["Machine Learning","Pattern Classification","Computational Finance"],"citedby":12838,"lastupdate":"2023-10-14"},{"name":"Ramy Eskander","affiliation":"Twitter","position":"Senior Research Scientist","hindex":19,"photo":"./assets/images/ramy-eskander.jpeg","scholar":"https://scholar.google.com/citations?user=4SE1GIgAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ramyeskander/","website":"","twitter":"","interests":["NLP","Recommendation Systems","Multilinguality","Low-Resource Languages","Arabic NLP","Unsupervised and Semi-Supervised Learning"],"citedby":1926,"lastupdate":"2023-10-14"},{"name":"Tamer Elsayed","affiliation":"Qatar University","position":"Associate Professor","hindex":30,"photo":"./assets/images/tamer-elsayed.jpeg","scholar":"https://scholar.google.com/citations?user=ekS-yPIAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/tamer-elsayed-a9a71116/","website":"http://qufaculty.qu.edu.qa/telsayed/","twitter":"https://twitter.com/tamer_elsayed","interests":["Information Retrieval","Natural Language Processing","Applied Machine Learning","Big Data Analytics"],"citedby":3081,"lastupdate":"2023-10-14"},{"name":"Mohamed Elbadrashiny","affiliation":"aiXplain","position":"Principal Scientist","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=DppUkNUAAAAJ","linkedin":"https://www.linkedin.com/in/mohamed-elbadrashiny-591908b","website":"","twitter":"","interests":["Natural Language Processing","Multimodal Dialog","Large Language Models"],"citedby":1647,"lastupdate":"2023-10-14"},{"name":"Ibrahim Sabek","affiliation":"Univ. of Southern California","position":"Assistant Professor","hindex":11,"photo":"./assets/images/ibrahim-sabek.png","scholar":"https://scholar.google.com/citations?user=R8732voAAAAJ&hl=en","linkedin":"http://www.linkedin.com/pub/ibrahim-sabek/23/422/526","website":"http://people.csail.mit.edu/ibrahimsabek/","twitter":"https://twitter.com/ibrahim_sabek","interests":["Machine Learning for Database Systems","Data Management and Analysis"],"citedby":525,"lastupdate":"2023-10-14"},{"name":"Mostafa Saad Ibrahim","affiliation":"Nvidia","position":"Senior Computer Vision Engineer","hindex":6,"photo":"./assets/images/mostafa-s-ibrahim.jpeg","scholar":"https://scholar.google.com/citations?user=2fSZbmkAAAAJ&hl=en/","linkedin":"https://www.linkedin.com/in/mostafasaad","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":765,"lastupdate":"2023-10-14"},{"name":"Mostafa Elhoushi","affiliation":"Meta","position":"Research Engineer","hindex":12,"photo":"./assets/images/mostafa-elhoushi.jpeg","scholar":"https://scholar.google.ca/citations?user=y_cwSKAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mostafaelhoushi/","website":"","twitter":"","interests":["Machine Learning","Deep Learning","Navigation","Quantum Computing"],"citedby":497,"lastupdate":"2023-10-14"},{"name":"Sameh Khamis","affiliation":"Rembrand","position":"Lead Research Scientist","hindex":22,"photo":"./assets/images/sameh-khamis.jpeg","scholar":"https://scholar.google.com/citations?user=9WgcwYQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/samehkhamis/","website":"https://www.samehkhamis.com","twitter":"","interests":["Machine Learning","Computer Vision","Graphics"],"citedby":4044,"lastupdate":"2023-10-14"},{"name":"Ibrahim Sobh","affiliation":"Valeo","position":"Senior Expert of AI","hindex":11,"photo":"./assets/images/ibrahim-sobh.jpeg","scholar":"https://scholar.google.com.eg/citations?user=SODWkygAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ibrahim-sobh-phd-8681757/","website":"","twitter":"","interests":["Machine Learning","Computer Vision","Autonomous Driving"],"citedby":1501,"lastupdate":"2023-10-14"},{"name":"Aboul Ella Hassanien","affiliation":"Cairo University","position":"Professor","hindex":85,"photo":"./assets/images/aboul-ella-hassanien-ali.jpeg","scholar":"https://scholar.google.com/citations?user=aZ6bcngAAAAJ&hl=en","linkedin":"https://eg.linkedin.com/in/aboul-ella-hassanien-48a9528","website":"","twitter":"","interests":["Artificial Intelligence","Swarm Optimization","IoT","Drones","Metaverses","Biomedical Informatics"],"citedby":31717,"lastupdate":"2023-10-14"},{"name":"Fahmi Khalifa","affiliation":"Mansoura University","position":"Assistant Professor","hindex":48,"photo":"./assets/images/fahmi-khalifa.jpeg","scholar":"https://scholar.google.ca/citations?user=Ua1i31oAAAAJ&hl=fr&oi=ao","linkedin":"","website":"","twitter":"","interests":["Medical Image Analysis","Machine Learning","Pattern Recognition","Image and Signal Processing","Multimedia","Biomedical Informatics"],"citedby":5472,"lastupdate":"2023-10-14"},{"name":"Khaled Fathy Hussein","affiliation":"Assiut University","position":"Head of CS Department","hindex":17,"photo":"./assets/images/khaled-hussain.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=8DgiMfcAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"https://www.aun.edu.eg/fci/khaled-fathy-hussein-saleh","twitter":"","interests":["Computer Vision","Computer Graphics","Neural Networks"],"citedby":1112,"lastupdate":"2023-10-14"},{"name":"Mohamed Nabih Ali","affiliation":"Fondazione Bruno Kessler","position":"Post Doctoral Researcher","hindex":6,"photo":"./assets/images/mohamed-nabih.jpg","scholar":"https://scholar.google.com/citations?user=6VXSI8wAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-nabih-5011b074/","website":"","twitter":"","interests":["Artificial Intelligence","Machine Learning","Deep Learning","Speech Enhancement and Recognition","Biomedical Signal Processing","Image Processing"],"citedby":213,"lastupdate":"2023-10-14"},{"name":"Omar Khattab","affiliation":"Stanford University","position":"PhD Student","hindex":12,"photo":"./assets/images/omar-khattab.jpeg","scholar":"https://scholar.google.com/citations?user=Lwr5ozgAAAAJ&hl=en","linkedin":"","website":"https://omarkhattab.com/","twitter":"https://twitter.com/lateinteraction","interests":["Natural Language Processing","Information Retrieval"],"citedby":2871,"lastupdate":"2023-10-14"},{"name":"Ahmed Elgammal","affiliation":"Rutgers University","position":"Professor","hindex":55,"photo":"./assets/images/ahmed-elgammal.jpeg","scholar":"https://scholar.google.com/citations?user=DxQiCiIAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-elgammal-71667911/","website":"https://sites.rutgers.edu/ahmed-elgammal/","twitter":"https://twitter.com/ahmed_elgammal?lang=en","interests":["Computer Vision"],"citedby":16665,"lastupdate":"2023-10-14"},{"name":"Ahmed El-Kishky","affiliation":"Twitter","position":"Staff ML Researcher","hindex":16,"photo":"./assets/images/ahmed-el-kishky.jpeg","scholar":"https://scholar.google.com/citations?user=A4frpBcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-e-56566b47/","website":"https://ahelk.github.io/","twitter":"","interests":["Machine Learning","NLP","Data Mining","Graph Learning","Recommender Systems"],"citedby":1482,"lastupdate":"2023-10-14"},{"name":"Moustafa Alzantot","affiliation":"Google Research","position":"Senior Engineer","hindex":17,"photo":"./assets/images/moustafa-alzantot.jpeg","scholar":"https://scholar.google.com/citations?user=AusbFkQAAAAJ","linkedin":"https://www.linkedin.com/in/malzantot/","website":"","twitter":"","interests":["Machine Learning","Recommender Systems","Natural Language Processing"],"citedby":4263,"lastupdate":"2023-10-14"},{"name":"Heba Elfardy","affiliation":"Amazon","position":"Senior ML Scientist","hindex":12,"photo":"./assets/images/heba-elfardy.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=L6lzWrYAAAAJ","linkedin":"https://www.linkedin.com/in/heba-elfardy-a0984b2b","website":"","twitter":"","interests":["Natural Language Processing"],"citedby":607,"lastupdate":"2023-10-14"},{"name":"Ahmed Hefny","affiliation":"Cruise","position":"Staff Research Scientist","hindex":13,"photo":"./assets/images/ahmed-hefny.jpeg","scholar":"https://scholar.google.com/citations?user=FAv6Nd8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-hefny","website":"","twitter":"","interests":["Machine Learning"],"citedby":1586,"lastupdate":"2023-10-14"},{"name":"Hady Elsahar","affiliation":"Meta","position":"Research Scientist","hindex":15,"photo":"./assets/images/hady-elsahar.jpeg","scholar":"https://scholar.google.com.eg/citations?user=SbcM6bsAAAAJ&hl=en","linkedin":"","website":"https://www.hadyelsahar.io/","twitter":"https://twitter.com/hadyelsahar","interests":["Natural Language Processing","Machine Learning"],"citedby":1755,"lastupdate":"2023-10-14"},{"name":"Ahmed M. Badawi","affiliation":"Cairo University","position":"Professor","hindex":17,"photo":"./assets/images/ahmed-badawi.jpeg","scholar":"https://scholar.google.com/citations?user=r9pLu6EAAAAJ","linkedin":"https://www.linkedin.com/in/ahmed-badawi-215167a","website":"https://ieeexplore.ieee.org/author/37345733000","twitter":"","interests":["Computer Vision","Biometric","Medical Imaging","Medical Diagnosis","Multimodal Matching","Image Processing","Pattern Recognition","Pattern Classification"],"citedby":1589,"lastupdate":"2023-10-14"},{"name":"Mostafa Badawy","affiliation":"Apple","position":"(AI/ML) Software Engineer (Siri)","hindex":7,"photo":"./assets/images/mostafa-badawy.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=iq8c9CkAAAAJ","linkedin":"https://www.linkedin.com/in/mostafa-gamal-badawy/","website":"","twitter":"","interests":["Machine Learning","Natural Language Processing","Computer Vision","Artificial Intelligence"],"citedby":407,"lastupdate":"2023-10-14"},{"name":"Muhammad AbdulMageed","affiliation":"UBC","position":"Associate Professor","hindex":26,"photo":"./assets/images/muhammad-abdulmageed.jpeg","scholar":"https://scholar.google.com/citations?user=SOjQhl8AAAAJ","linkedin":"","website":"https://mageed.arts.ubc.ca/","twitter":"","interests":["Arabic NLP","Natural Language Processing","Machine Learning"],"citedby":3515,"lastupdate":"2023-10-14"},{"name":"Wael Abd-Almageed","affiliation":"USC","position":"Research Associate Professor","hindex":31,"photo":"./assets/images/wael-abdalmageed.jpeg","scholar":"https://scholar.google.com/citations?user=tRGH8FkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Computer Vision"],"citedby":4121,"lastupdate":"2023-10-14"},{"name":"Youssef Nashed","affiliation":"Stanford University","position":"Staff ML Scientist","hindex":21,"photo":"./assets/images/youssef-nashed.jpeg","scholar":"https://scholar.google.com/citations?user=pQXy90QAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ynashed/","website":"","twitter":"","interests":["Computer Vision","Geometric Deep Learning","Graph Neural Networks"],"citedby":1554,"lastupdate":"2023-10-14"},{"name":"Abubakr Karali","affiliation":"NVIDIA","position":"Senior Solutions Architect","hindex":5,"photo":"./assets/images/abubakr-karali.jpeg","scholar":"https://scholar.google.com/citations?user=ACxQHBUAAAAJ&hl=en","linkedin":"https://se.linkedin.com/in/abubakr-karali-8988486b","website":"","twitter":"","interests":["Computer Vision","Self-Supervised Learning"],"citedby":119,"lastupdate":"2023-10-14"},{"name":"Ahmed Sahlol","affiliation":"Co-founder Tachyhealth","position":"Associate Professor of ML","hindex":15,"photo":"./assets/images/ahmed-sahlol.jpeg","scholar":"https://scholar.google.com/citations?user=JZB2oMQAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-sahloul","website":"","twitter":"","interests":["Medical Imaging","Medical NLP","Medical Fraud Detection"],"citedby":1428,"lastupdate":"2023-10-14"},{"name":"Eslam Kamal","affiliation":"Microsoft","position":"Applied Science Manager","hindex":8,"photo":"./assets/images/eslam-kamal.jpeg","scholar":"https://scholar.google.com/citations?user=KRFyxS0AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/eslamkamal85","website":"","twitter":"","interests":["NLP","LLMs","Conversational AI","Responsible AI"],"citedby":324,"lastupdate":"2023-10-14"},{"name":"Yehia Elshater","affiliation":"Amazon","position":"Data/Applied Scientist","hindex":5,"photo":"./assets/images/yehia-elshater.jpeg","scholar":"https://scholar.google.com/citations?user=S8MZ9PMAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/yehiaz/","website":"","twitter":"","interests":["Recommendation Engines","NLP","Forecasting"],"citedby":135,"lastupdate":"2023-10-14"},{"name":"Ahmed Rashed","affiliation":"Volkswagen Financial Service","position":"Senior Data Scientist","hindex":6,"photo":"./assets/images/ahmed-rashed.jpeg","scholar":"https://scholar.google.com.eg/citations?user=-wyZHw8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmedrashed-ai/","website":"","twitter":"","interests":["Recommender Systems","Graph Mining","Time Series Forecasting"],"citedby":186,"lastupdate":"2023-10-14"},{"name":"Shady Elbassuoni","affiliation":"American University of Beirut","position":"Associate Professor","hindex":23,"photo":"./assets/images/shady-elbassuoni.jpg","scholar":"https://scholar.google.com/citations?user=Fe8iIHMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Computer Vision","Information Retrieval","Public Health and Medicine"],"citedby":2865,"lastupdate":"2023-10-14"},{"name":"Noha Radwan","affiliation":"Inceptive","position":"Researcher","hindex":11,"photo":"./assets/images/noha-radwan.jpeg","scholar":"https://scholar.google.com/citations?user=g98QcZUAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer vision","Deep learning"],"citedby":1828,"lastupdate":"2023-10-14"},{"name":"Radwa ElShawi","affiliation":"Tartu university","position":"Associate Professor","hindex":17,"photo":"./assets/images/radwa-elshawi.jpeg","scholar":"https://scholar.google.de/citations?user=RD5PdpwAAAAJ&hl=en","linkedin":"","website":"https://radwaelshawi.cs.ut.ee/","twitter":"","interests":["Explainable AI","AutoML","health informatics"],"citedby":1610,"lastupdate":"2023-10-14"},{"name":"Ramy Hussein","affiliation":"Stanford University","position":"Machine Learning Researcher","hindex":18,"photo":"./assets/images/ramy-hussein.jpeg","scholar":"https://scholar.google.ca/citations?user=lc3lgegAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ramy-hussein","website":"","twitter":"","interests":["Artificial Intelligence","Computer Vision","Signal/Image Processing","Medical Imaging"],"citedby":1065,"lastupdate":"2023-10-14"},{"name":"Sarah Adel Bargal","affiliation":"Georgetown University","position":"Professor","hindex":16,"photo":"./assets/images/sarah-adel-bargal.jpeg","scholar":"https://scholar.google.com/citations?user=zjlFcrEAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer vision","Deep Learning"],"citedby":2543,"lastupdate":"2023-10-14"},{"name":"Badr AlKhamissi","affiliation":"EPFL","position":"PhD Student","hindex":6,"photo":"./assets/images/badr.jpeg","scholar":"https://scholar.google.com/citations?user=0l9UHtQAAAAJ&hl=en&authuser=1","linkedin":"https://linkedin.com/in/bkhmsi","website":"https://bkhmsi.github.io","twitter":"https://twitter.com/bkhmsi","interests":["Machine Learning","Natural Language Processing","Computational Neuroscience","Computer Vision"],"citedby":103,"lastupdate":"2023-10-14"},{"name":"Moamen AbdelRazek","affiliation":"Royal Bank of Canada","position":"Lead Machine Learning Engineer","hindex":7,"photo":"./assets/images/moamen-abdelrazek.jpg","scholar":"https://scholar.google.com.eg/citations?user=7bcODQ8AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/moamen-abdelrazek","website":"https://github.com/moemen95","twitter":"","interests":["NLP","LLMs","Computer Vision","ML Ops"],"citedby":384,"lastupdate":"2023-10-14"},{"name":"Ahmed Magooda","affiliation":"Microsoft","position":"Applied Researcher","hindex":7,"photo":"./assets/images/ahmed-magooda.jpeg","scholar":"https://scholar.google.com.eg/citations?user=x90NynMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["NLP","Deep Learning"],"citedby":308,"lastupdate":"2023-10-14"},{"name":"Aly El Gamal","affiliation":"Amazon","position":"Sr. Applied Scientist","hindex":16,"photo":"./assets/images/aly-elgamal.jpeg","scholar":"https://scholar.google.com/citations?view_op=list_works&hl=en&hl=en&user=x47tshQAAAAJ&sortby=pubdate","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Consumer Engagement","Information Theory"],"citedby":1170,"lastupdate":"2023-10-14"},{"name":"Tamer Basha","affiliation":"BIDMC and Harvard Medical","position":"Postdoctoral Research Fellow","hindex":23,"photo":"./assets/images/tamer-basha.jpeg","scholar":"https://scholar.google.com/citations?hl=en&user=C6Hg48cAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"","website":"","twitter":"","interests":["Medical Imaging"],"citedby":1865,"lastupdate":"2023-10-14"},{"name":"Momen Negm","affiliation":"Rasheed AI","position":"Co-Founder","hindex":25,"photo":"./assets/images/momen-negm.jpg","scholar":"https://scholar.google.com/citations?user=JJ_RhZEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/momennegm/","website":"","twitter":"https://twitter.com/mo2men","interests":["Computer Vision","Machine Learning"],"citedby":3807,"lastupdate":"2023-10-14"},{"name":"Mostafa Salem","affiliation":"Assiut University","position":"Assistant Professor","hindex":10,"photo":"./assets/images/mostafa-salem.jpeg","scholar":"https://scholar.google.com.eg/citations?user=7P86J5YAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/dr-mostafasalem/","website":"https://mostafasalem.netlify.app/","twitter":"","interests":["Medical Image Analysis","Computer Vision","3D Reconstruction"],"citedby":1969,"lastupdate":"2023-10-14"},{"name":"Noureldin Elmadany","affiliation":"AAST","position":"Assistant Professor","hindex":9,"photo":"./assets/images/nour-elmadany.jpg","scholar":"https://scholar.google.com/citations?user=sy8RRsgAAAAJ&hl=ja","linkedin":"","website":"","twitter":"","interests":["Multimodal Learning","Action Recognition and Anticipation"],"citedby":239,"lastupdate":"2023-10-14"},{"name":"Ahmed Masry","affiliation":"Arteria AI","position":"Data Scientist","hindex":5,"photo":"./assets/images/ahmed-elmasry.jpg","scholar":"https://scholar.google.com/citations?user=XqPX5XcAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/ahmed-masry-ku/","website":"","twitter":"https://twitter.com/Ahmed_Masry97","interests":["NLP","Multimodal Chart & Document Understanding","Computer Vision"],"citedby":138,"lastupdate":"2023-10-14"},{"name":"Sahar Selim","affiliation":"Nile University","position":"Assistant Professor","hindex":6,"photo":"./assets/images/sahar-selim.jpeg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=Ynx9NTwAAAAJ&view_op=list_works&sortby=pubdate","linkedin":"https://www.linkedin.com/in/sahar-selim-soussa/?originalSubdomain=eg","website":"","twitter":"","interests":["Machine Learning","Medical Imaging","Brain-Computer Interface","Neural Engineering"],"citedby":250,"lastupdate":"2023-10-14"},{"name":"Ghada Khoriba","affiliation":"Nile University","position":"Associate Professor","hindex":9,"photo":"./assets/images/ghada-khoriba.jpg","scholar":"https://scholar.google.com.eg/citations?hl=en&user=jwTBsIIAAAAJ","linkedin":"https://www.linkedin.com/in/ghada-khoriba-090b72113","website":"https://www.nu.edu.eg/academic-staff/dr-ghada-khoriba","twitter":"","interests":["Medical Image Analysis","Machine Learning","Swarm Algorithms","Computer Vision","NLP","LLMs","Knowledge Graphs."],"citedby":597,"lastupdate":"2023-10-14"},{"name":"Fatma Elzahraa Eid","affiliation":"Broad Institute / Al-Azhar","position":"Biomedical Machine Learning Group Lead","hindex":5,"photo":"./assets/images/fatma-elzahraa.jpeg","scholar":"https://scholar.google.ca/citations?user=Q4RV3MEAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/fatma-elzahraa-eid-553b475b/","website":"","twitter":"","interests":["Biomedical ML","Data-driven Protein Engineering","Biological sequence engineering","Data-driven Therapeutics"],"citedby":363,"lastupdate":"2023-10-14"},{"name":"Haitham Elmarakeby","affiliation":"DF/HCC / Alazhar University","position":"Instructor / ML Group Lead","hindex":17,"photo":"./assets/images/haitham-elmarakeby.jpeg","scholar":"https://scholar.google.com/citations?user=yg6RHWoAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/haitham-elmarakeby/","website":"https://connects.catalyst.harvard.edu/Profiles/display/Person/162206","twitter":"","interests":["Cancer Machine Learning"],"citedby":1776,"lastupdate":"2023-10-14"},{"name":"Ahmad Taher Azar","affiliation":"Prince Sultan / Benha Uni","position":"Full Professor","hindex":68,"photo":"./assets/images/ahmad-azar.jpeg","scholar":"https://scholar.google.com/citations?user=6gf4UVkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Control Theory & Applications","Robotics","Artificial Intelligence","Reinforcement Learning"],"citedby":17481,"lastupdate":"2023-10-14"},{"name":"Hossam Hassan Ammar","affiliation":"University of Hertfordshire","position":"Lecturer of Mechatronics and Robotics, CTO of ITC","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=gxtCFWkAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Machine Learning","Robotics","Automatic Control","Renewable Energy"],"citedby":672,"lastupdate":"2023-10-14"},{"name":"Marwa Mahmoud","affiliation":"University of Glasgow","position":"Assistant Professor","hindex":18,"photo":"./assets/images/marwa-mahmoud.jpeg","scholar":"https://scholar.google.com/citations?user=mYyG4p0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Affective Computing","Computer Vision","Gesture Recognition","Animal Behaviour Understanding"],"citedby":1550,"lastupdate":"2023-10-14"},{"name":"Ahmed Elgohary","affiliation":"Microsoft","position":"Researcher","hindex":17,"photo":"./assets/images/ahmed-elgohary.jpeg","scholar":"https://scholar.google.com/citations?user=WDTv0I4AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing"],"citedby":3380,"lastupdate":"2023-10-14"},{"name":"Amr Sharaf","affiliation":"Microsoft","position":"Researcher","hindex":8,"photo":"./assets/images/amr-sharaf.jpeg","scholar":"https://scholar.google.com/citations?user=It3Gm1EAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Computer Vision","Machine Learning"],"citedby":331,"lastupdate":"2023-10-14"},{"name":"Hazem Rashed","affiliation":"Valeo","position":"Senior Principal ML Research Engineer","hindex":15,"photo":"./assets/images/hasem-rashed.jpg","scholar":"https://scholar.google.com/citations?user=hYdZUowAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/hazem-rashed-a9490428/","website":"","twitter":"","interests":["Deep Learning","Computer Vision","Autonomous Driving"],"citedby":893,"lastupdate":"2023-10-14"},{"name":"Mennatullah Siam","affiliation":"Ontario Tech University","position":"Tenure-Track Assistant Professor","hindex":15,"photo":"./assets/images/mennatullah_siam.jpg","scholar":"https://scholar.google.com/citations?user=AVPds3kAAAAJ&hl=en&oi=ao","linkedin":"https://www.linkedin.com/in/mennatullah-siam-6546508a","website":"https://msiam.github.io/homepage/","twitter":"","interests":["Computer Vision","Deep Learning","Fewshot Learning","Video Object Segmentation","Video Understanding","Spatiotemporal Models Interpretability."],"citedby":1323,"lastupdate":"2023-10-14"},{"name":"Hamdy Mubarak","affiliation":"QCRI","position":"Principal Software Engineer","hindex":32,"photo":"./assets/images/hamdy-mubarak.jpeg","scholar":"https://scholar.google.com/citations?user=usvY6qYAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Software Engineering","Information Extraction","Social Media Analysis","Arabic NLP"],"citedby":3753,"lastupdate":"2023-10-14"},{"name":"Mohamed Mokbel","affiliation":"Univ. of Minnesota","position":"Distinguished McKnight University Professor, Univ. of Minnesota","hindex":58,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=GHz1ZVIAAAAJ","linkedin":"","website":"","twitter":"","interests":["Database Systems","GIS","Spatial Databases","Spatial Big Data","Mobile Data Management"],"citedby":15995,"lastupdate":"2023-10-14"},{"name":"Ashraf Aboulnaga","affiliation":"QCRI","position":"Chief Scientist","hindex":41,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=47sihrsAAAAJ","linkedin":"","website":"","twitter":"","interests":["Databases","Cloud computing","Graphs"],"citedby":5864,"lastupdate":"2023-10-14"},{"name":"Essam Mansour","affiliation":"Concordia University","position":"Assistant Professor","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=dqgckDgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database systems","data science platforms","distributed/parallel systems","machine learning"],"citedby":1371,"lastupdate":"2023-10-14"},{"name":"Ihab F. Ilyas","affiliation":"University of Waterloo","position":"Professor","hindex":57,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=YG6mTEIAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Databases","Data Management","Data Cleaning","Data Integration","Data Science"],"citedby":13153,"lastupdate":"2023-10-14"},{"name":"Walid G. Aref","affiliation":"Purdue University","position":"Professor","hindex":63,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=vX45evgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database Systems","Spatial Databases","Data Management"],"citedby":16201,"lastupdate":"2023-10-14"},{"name":"Abdurrahman Ghanem","affiliation":"Yelp","position":"Senior Software Engineer","hindex":5,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=XrVeZKgAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Mobile Development","Artificial Intelligence","Machine Learning"],"citedby":457,"lastupdate":"2023-10-14"},{"name":"Hossam Hammady","affiliation":"Rayyan Systems Inc.","position":"Vice President of Engineering","hindex":11,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?hl=en&user=49pKt_kAAAAJ","linkedin":"","website":"","twitter":"","interests":["cloud computing","distributed systems","machine learning","data analytics"],"citedby":11330,"lastupdate":"2023-10-14"},{"name":"Sherif Abdou","affiliation":"Cairo University","position":"Associate Professor","hindex":19,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=aFYes5MAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["artificial intelligence","Human Language technologies","speech recognition","language modeling","text to speech"],"citedby":1344,"lastupdate":"2023-10-14"},{"name":"Amr Magdy","affiliation":"UC Riverside","position":" Assistant Professor","hindex":16,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=11CMsKsAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Data management","spatial data management","GIS","large-scale data analytics","indexing"],"citedby":842,"lastupdate":"2023-10-14"},{"name":"Thanaa Ghanem","affiliation":"Metropolitan State University","position":"Metropolitan State University","hindex":15,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=ZUQDHsMAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Database systems"],"citedby":1260,"lastupdate":"2023-10-14"},{"name":"Mohammed Attia","affiliation":"Google Inc.","position":"Analytical Linguist","hindex":26,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=fvpPkj0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Morphology","syntax","statistical parsing","spell checking","Lexical Functional Grammar"],"citedby":3251,"lastupdate":"2023-10-14"},{"name":"Ahmed Mourad","affiliation":"Apeiros","position":"Apeiros","hindex":10,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=pcibYXwAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Information Retrieval","Evaluation","Natural language Processing","Social Media Analysis"],"citedby":491,"lastupdate":"2023-10-14"},{"name":"Tarek El-Ganainy","affiliation":"Electronic Arts","position":"Electronic Arts","hindex":8,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=CJi5hO0AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Natural Language Processing","Information Retrieval","Machine Learning","Virtual Reality"],"citedby":177,"lastupdate":"2023-10-14"},{"name":"Mohamed Hefeeda","affiliation":"Simon Fraser University","position":"Professor","hindex":34,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=0pu-90QAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Multimedia Systems","Computer Networks","Multimedia AI"],"citedby":6057,"lastupdate":"2023-10-14"},{"name":"Mohamed Elgharib","affiliation":"MPI for Informatics","position":"Research Group Leader","hindex":25,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=e1WLgm8AAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Computer Graphics","Computer Vision","Machine Learning","Virtual/Augmented Reality"],"citedby":2627,"lastupdate":"2023-10-14"},{"name":"Tarek Elgamal","affiliation":"LocknSell","position":"Founder & CEO","hindex":9,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=CMrSMisAAAAJ&hl=en","linkedin":"","website":"","twitter":"","interests":["Privacy-Preserving ML","Edge computing","Multimedia systems","Machine Learning"],"citedby":448,"lastupdate":"2023-10-14"},{"name":"AbdelRahim A. ElMadany","affiliation":"UBC","position":"PostDoc","hindex":11,"photo":"./assets/images/default.jpg","scholar":"https://scholar.google.com/citations?user=v3akuNAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/tarek-elgamal/","website":"","twitter":"","interests":["Natural Language Processing","Deep Learning","Computational Social Science","Machine Learning","Speech Act"],"citedby":657,"lastupdate":"2023-10-14"},{"name":"Mohamed Waleed Fakhr","affiliation":"AAST","position":"Professor","hindex":13,"photo":"./assets/images/mohamed-fakhr.jpg","scholar":"https://scholar.google.com/citations?user=37Rfy7sAAAAJ&hl=en","linkedin":"https://eg.linkedin.com/in/mohamed-waleed-fakhr-2b952036","website":"","twitter":"","interests":["Digital Signal Processing","Deep Learning","NLP"],"citedby":685,"lastupdate":"2023-10-14"},{"name":"Mohamed Loey","affiliation":"Benha University","position":"Associate Prof","hindex":19,"photo":"./assets/images/mohamed-loey.jpg","scholar":"https://scholar.google.com/citations?user=_kRSr78AAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mloey","website":"https://bu.edu.eg/staff/mloey","twitter":"https://twitter.com/mloey","interests":["Deep Learning","Artificial Intelligence","Machine Learning","Image Processing"],"citedby":3214,"lastupdate":"2023-10-14"},{"name":"Wael Badawy","affiliation":"University of Hertfordshire","position":"Program Lead","hindex":30,"photo":"./assets/images/wael_badawy.jpg","scholar":"https://scholar.google.ca/citations?user=d_6Lp3IAAAAJ&hl=en&oi=ao","linkedin":"https://linkedIn.com/in/waelbadawy","website":"https://waelbadawy.com","twitter":"https://Twitter.com/wbadawy","interests":["Artificial Intelligence","Computer Vision","Cyber Security."],"citedby":4218,"lastupdate":"2023-10-14"},{"name":"Mohamed Salem Elaraby","affiliation":"University of Pittsburgh","position":"PhD Researcher","hindex":6,"photo":"./assets/images/mohamed-elaraby.jpg","scholar":"https://scholar.google.com.eg/citations?user=A5jMCaAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/mohamed-salem-b25b24b6/","website":"","twitter":"https://twitter.com/MsalemUBC","interests":["Natural Language Processing","Legal Document Summarization","Deep Learning"],"citedby":179,"lastupdate":"2023-10-14"},{"name":"Mohamed Altantawy","affiliation":"Agolo","position":"CTO & Founder","hindex":5,"photo":"./assets/images/mohamed_altantawy.jpeg","scholar":"https://scholar.google.com/citations?user=aelgAPAAAAAJ&hl=en","linkedin":"https://www.linkedin.com/in/altantawy/","website":"","twitter":"","interests":["Machine Learning","Natural Langauge Processing"],"citedby":191,"lastupdate":"2023-10-14"},{"name":"Muhammad Ali Rushdi","affiliation":"Cairo & New Giza University","position":"Associate Professor","hindex":13,"photo":"./assets/images/muhammad-rushdi.png","scholar":"https://scholar.google.com/citations?user=vDgGLjsAAAAJ&hl=en&oi=ao","linkedin":"https://www.linkedin.com/in/muhammad-rushdi-4817a462/","website":"http://scholar.cu.edu.eg/mrushdi","twitter":"","interests":["Machine learning","Biomedical Signal Processing","Medical Image Analysis","Information Security and Forensics","Computer Vision","Applied Mathematics"],"citedby":550,"lastupdate":"2023-10-14"}]');function sN(e,t){if(1&e){const n=to();b(0,"div",30)(1,"input",31),Q("change",function(){return ni(n),ii(Ot().filterInterests())})("ngModelChange",function(r){const s=ni(n).$implicit;return ii(Ot().rinterests[s.key]=r)}),_(),b(2,"label",32),C(3),_()()}if(2&e){const n=t.$implicit,i=Ot();N(1),wn("id","",n.key,"Checkbox"),we("value",n.key),re("ngModel",i.rinterests[n.key]),N(1),wn("for","",n.key,"Checkbox"),N(1),or("",n.key," (",i.rinterestsFreq[n.key],")")}}function aN(e,t){if(1&e&&(b(0,"div",33)(1,"a",34)(2,"div",35),V(3,"img",36),b(4,"span"),C(5),_()()()()),2&e){const n=t.$implicit;N(1),wn("href","#",n.name,"",je),N(2),we("src",n.photo,je),we("alt",n.name),N(2),js(n.name)}}function lN(e,t){if(1&e){const n=to();b(0,"div",37)(1,"div",38)(2,"div")(3,"a",39),Q("click",function(){const o=ni(n).$implicit;return ii(Ot().editProfile(o))}),V(4,"i",40),_()(),V(5,"img",41),b(6,"div",42)(7,"h4",43),C(8),_(),b(9,"h5",44),C(10),_(),b(11,"h6",45),C(12),_(),b(13,"span",46),C(14),co(15,"number"),_(),b(16,"span",47),C(17," h-index: - "),_(),b(18,"div",48)(19,"strong"),C(20,"\u0627\u0644\u0627\u0647\u062a\u0645\u0627\u0645\u0627\u062a \u0627\u0644\u0628\u062d\u062b\u064a\u0629:"),_(),b(21,"p",49),C(22),_()(),V(23,"hr"),b(24,"p",50)(25,"a",51),V(26,"i",52),_(),b(27,"a",51),V(28,"i",53),_(),b(29,"a",51),V(30,"i",54),_(),b(31,"a",51),V(32,"i",55),_()()()()()}if(2&e){const n=t.$implicit;re("hidden",!Ot().en_active),N(1),we("id",n.name),N(4),we("src",n.photo,je),we("alt",n.name),N(3),wt(" ",n.name," "),N(2),wt(" ",n.affiliation," "),N(2),wt(" ",n.position," "),N(1),re("hidden",0==n.hindex),N(1),or(" h-index: ",n.hindex," | Citations: ",ho(15,20,n.citedby)," "),N(2),re("hidden",0!=n.hindex),N(6),wt(" ",n.interests.toString()," "),N(3),we("href",n.website,je),re("hidden",""==n.website),N(2),we("href",n.scholar,je),re("hidden",""==n.scholar),N(2),we("href",n.twitter,je),re("hidden",""==n.twitter),N(2),we("href",n.linkedin,je),re("hidden",""==n.linkedin)}}let uN=(()=>{class e{constructor(n){this.filterService=n,this.title="\u0627\u0644\u0645\u0635\u0631\u064a\u064a\u0646 \u0641\u064a \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a",this.researchers=Wn,this.rinterests={},this.rinterestsFreq={},this.profiles=this.researchers,this.searchQuery="",this.en_active=!0,[this.rinterests,this.rinterestsFreq]=this.filterService.getResearchIntersts(Wn),this.sortShuffle()}ngOnInit(){}sortAZ(){this.researchers=this.filterService.sortAZ(Wn)}sortHIndex(){this.researchers=this.filterService.sortHIndex(Wn)}sortCitations(){this.researchers=this.filterService.sortCitations(Wn)}sortShuffle(){this.researchers=this.filterService.sortShuffle(Wn)}filterProfiles(n){let i=n.target.value.toLowerCase();this.researchers=this.filterService.filterProfiles(i,Wn)}filterInterests(){this.researchers=this.filterService.filterInterests(Wn,this.rinterests)}checkAllInterests(){for(let n in this.rinterests)this.rinterests[n]=!0;this.researchers=this.profiles}clearAllInterests(){for(let n in this.rinterests)this.rinterests[n]=!1;this.researchers=this.profiles}editProfile(n){let i="https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=pp_url&entry.186050192=Update&entry.1945362270={name}&entry.843703109={affiliation}&entry.1728443742={position}&entry.113990162={gscholar}&entry.1193057171={linkedin}&entry.2083985192={twitter}&entry.1542622457={website}&entry.2030031116={research_interests}";i=i.replace("{name}",n.name),i=i.replace("{affiliation}",n.affiliation),i=i.replace("{position}",n.position),i=i.replace("{gscholar}",n.scholar),i=i.replace("{linkedin}",n.linkedin),i=i.replace("{twitter}",n.twitter),i=i.replace("{website}",n.website),i=i.replace("{research_interests}",n.interests.join(",")),window.open(i,"_blank")}}return e.\u0275fac=function(n){return new(n||e)(v(WA))},e.\u0275cmp=Ci({type:e,selectors:[["app-arabic"]],decls:51,vars:6,consts:[[1,"row",2,"margin-top","5em","margin-bottom","5em"],[2,"direction","rtl"],["href","https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=sf_link"],["href","https://medium.com/@bkhmsi/egyptians-in-ai-research-1ff64c78cc5b"],["id","sort-container",1,"row",2,"direction","rtl"],[1,"col-lg-2","col-md-12","col-sm-12"],["target","_blank","href","https://docs.google.com/forms/d/e/1FAIpQLSdLaYBQyOzI5gnlGzwOki3b1TJtFjLUeHUKxkGtXQDhHdSreg/viewform?usp=sf_link",1,"btn","btn-outline-primary","w-100","title"],[1,"fa","fa-pen"],[1,"col-lg-4","col-md-12","col-sm-12"],[1,"col-md-12"],[1,"search"],[1,"fa","fa-search"],["type","text","placeholder","\u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0637\u0631\u064a\u0642 \u0627\u0644\u0625\u0633\u0645",1,"form-control",3,"keyup"],[1,"col-lg-1","col-md-12","col-sm-12"],[1,"btn","btn-outline-secondary","sort-button","w-100","title",3,"click"],[1,"fas","fa-sort-alpha-down"],[1,"btn","btn-outline-success","sort-button","w-100","title",3,"click"],[1,"fa-solid","fa-arrow-down-9-1"],[1,"btn","btn-outline-warning","sort-button","w-100","title",3,"click"],[1,"col-lg-1","col-md-12","col-sm-12","title"],[1,"btn","btn-outline-danger","sort-button","w-100",3,"click"],[1,"fas","fa-shuffle"],[1,"w-100",2,"margin-bottom","1rem","direction","rtl"],[1,"btn","btn-link","sort-button",3,"click"],[1,"form-group"],["class","form-check",4,"ngFor","ngForOf"],[2,"width","100%","margin","auto","direction","rtl"],["class","col-lg-2 col-md-6 col-sm-12 rgrid",4,"ngFor","ngForOf"],[1,"mt-3","mb-3"],["class","col-lg-3 col-md-6 col-sm-12 mb-4",3,"hidden",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"id","value","ngModel","change","ngModelChange"],[1,"form-check-label",3,"for"],[1,"col-lg-2","col-md-6","col-sm-12","rgrid"],[3,"href"],[1,"card","click-to-top",2,"background-color","whitesmoke","border-width","0.01px","border-radius","0"],["width","40","height","40",1,"rounded-circle","mx-auto",2,"margin","0.5rem",3,"src","alt"],[1,"col-lg-3","col-md-6","col-sm-12","mb-4",3,"hidden"],[1,"card",2,"background-color","whitesmoke",3,"id"],[1,"edit-btn",3,"click"],[1,"fa-solid","fa-pencil"],["width","160","height","160",1,"rounded-circle","mx-auto",2,"margin","0.5rem",3,"src","alt"],[1,"card-body",2,"background-color","#EAECEE","direction","rtl"],[1,"card-title","mb-0",2,"font-size","1.4rem"],[1,"card-subtitle","mb-2","text-muted"],[1,"card-text",2,"min-height","2.3em"],[1,"card-text",2,"font-size","0.8rem","direction","ltr",3,"hidden"],[1,"card-text",2,"font-size","0.8rem",3,"hidden"],[2,"min-height","7em"],[1,"card-text",2,"font-size","0.8rem"],[1,"card-text","text-center",2,"direction","ltr"],["target","_blank",3,"hidden","href"],[1,"fas","fa-globe",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fas","fa-graduation-cap",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fab","fa-twitter",2,"font-size","1.5rem","color","black","padding-right","0.5rem"],[1,"fab","fa-linkedin",2,"font-size","1.5rem","color","black","padding-left","0.5rem"]],template:function(n,i){1&n&&(b(0,"div",0)(1,"p",1),C(2," \u0645\u0631\u062d\u0628\u064b\u0627 \u0628\u0643\u0645 \u0641\u064a \u0645\u0648\u0642\u0639 \u0627\u0644\u0645\u0635\u0631\u064a\u0648\u0646 \u0641\u064a \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a\u060c \u0648\u0647\u0648 \u0645\u0648\u0642\u0639 \u0645\u062e\u0635\u0635 \u0644\u0639\u0631\u0636 \u0627\u0644\u0628\u0627\u062d\u062b\u064a\u0646 \u0627\u0644\u0645\u0635\u0631\u064a\u064a\u0646 \u0627\u0644\u0628\u0627\u0631\u0632\u064a\u0646 \u0641\u064a \u0645\u062c\u0627\u0644 \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a. \u0625\u0630\u0627 \u0643\u0646\u062a \u062a\u0639\u062a\u0642\u062f \u0623\u0646 \u0634\u062e\u0635\u064b\u0627 \u0645\u0627 \u0645\u0641\u0642\u0648\u062f \u0645\u0646 \u0642\u0627\u0626\u0645\u062a\u0646\u0627\u060c \u0646\u062d\u0646 \u0646\u0631\u062d\u0628 \u0628\u0627\u0642\u062a\u0631\u0627\u062d\u0627\u062a\u0643. \u0644\u0643\u064a \u064a\u062a\u0645 \u0627\u0644\u0646\u0638\u0631 \u0641\u064a \u0625\u0636\u0627\u0641\u062a\u0647\u0645\u060c \u0641\u0625\u0646 \u0627\u0644\u0645\u0639\u064a\u0627\u0631 \u0627\u0644\u0648\u062d\u064a\u062f \u0647\u0648 \u0623\u0646 \u0627\u0644\u0641\u0631\u062f \u064a\u062c\u0628 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0644\u062f\u064a\u0647\nh-index \u0645\u0646 5 \u0623\u0648 \u0623\u0639\u0644\u0649\u060c \u0643\u0645\u0627 \u0645\u0633\u062c\u0644 \u0641\u064a \u0645\u0644\u0641\u0647\u0645 \u0627\u0644\u0634\u062e\u0635\u064a \u0639\u0644\u0649 Google Scholar. \u064a\u0645\u0643\u0646\u0643 \u0625\u0631\u0633\u0627\u0644 \u0627\u0642\u062a\u0631\u0627\u062d\u0643 \u0628\u0645\u0644\u0621 "),b(3,"a",2),C(4," \u0647\u0630\u0627 \u0646\u0645\u0648\u0630\u062c "),_(),C(5," \u060c\u0623\u0648 \u0637\u0644\u0628 \u062a\u062d\u062f\u064a\u062b\u0627\u062a \u0644\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629. \u0646\u0623\u0645\u0644 \u0623\u0646 \u062a\u062c\u062f\u0648\u0627 \u0645\u0648\u0642\u0639\u0646\u0627 \u0645\u0644\u0647\u0645\u064b\u0627\u060c \u0648\u0646\u062d\u0646 \u0646\u062f\u0639\u0648\u0643 \u0644\u0627\u0633\u062a\u0643\u0634\u0627\u0641 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628 \u0627\u0644\u0628\u0627\u062d\u062b\u064a\u0646 \u0627\u0644\u0645\u0645\u064a\u0632\u064a\u0646. \u062d\u062a\u0649 \u0627\u0644\u0622\u0646\u060c \u0642\u0645\u0646\u0627 \u0628\u062a\u0636\u0645\u064a\u0646 "),b(6,"strong"),C(7),_(),C(8," \u0634\u062e\u0635\u0627. \u064a\u0631\u062c\u0649 \u0645\u0644\u0627\u062d\u0638\u0629 \u0623\u0646 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u064a\u062a\u0645 \u062e\u0644\u0637\u0647\u0627 \u0639\u0634\u0648\u0627\u0626\u064a\u064b\u0627 \u0641\u064a \u0643\u0644 \u0645\u0631\u0629 \u064a\u062a\u0645 \u0641\u064a\u0647\u0627 \u062a\u062d\u062f\u064a\u062b \u0627\u0644\u0635\u0641\u062d\u0629. \u0646\u062f\u0639\u0648\u0643 \u0644\u062a\u062d\u0642\u0642 "),b(9,"a",3),C(10," \u0627\u0644\u0645\u062f\u0648\u0646\u0629 "),_(),C(11," \u0647\u0630\u0647 \u0644\u0642\u0631\u0627\u0621\u0629 \u0639\u0646 \u0627\u0644\u0633\u0628\u0628 \u0648\u0631\u0627\u0621 \u0628\u0646\u0627\u0621 \u0647\u0630\u0627 \u0627\u0644\u0645\u0648\u0642\u0639. "),_(),b(12,"div",4)(13,"div",5)(14,"a",6),V(15,"i",7),C(16,"\xa0 \u0631\u0634\u062d \u0623\u062d\u062f "),_()(),b(17,"div",8)(18,"div",9)(19,"div",10),V(20,"i",11),b(21,"input",12),Q("keyup",function(o){return i.filterProfiles(o)}),_()()()(),b(22,"div",13)(23,"button",14),Q("click",function(){return i.sortAZ()}),V(24,"i",15),C(25," \u0623\u064a "),_()(),b(26,"div",5)(27,"button",16),Q("click",function(){return i.sortHIndex()}),V(28,"i",17),C(29," h-Index "),_()(),b(30,"div",5)(31,"button",18),Q("click",function(){return i.sortCitations()}),V(32,"i",17),C(33," Citations "),_()(),b(34,"div",19)(35,"button",20),Q("click",function(){return i.sortShuffle()}),V(36,"i",21),_()()(),b(37,"details",22)(38,"button",23),Q("click",function(){return i.clearAllInterests()}),C(39," Clear "),_(),b(40,"button",23),Q("click",function(){return i.checkAllInterests()}),C(41," Check All "),_(),b(42,"summary"),C(43,"\u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0637\u0631\u064a\u0642 \u0627\u0644\u0627\u0647\u062a\u0645\u0627\u0645\u0627\u062a \u0627\u0644\u0628\u062d\u062b\u064a\u0629"),_(),b(44,"div",24),ui(45,sN,4,6,"div",25),co(46,"keyvalue"),_()(),b(47,"div",26),ui(48,aN,6,4,"div",27),_(),V(49,"hr",28),ui(50,lN,33,22,"div",29),_()),2&n&&(N(7),wt(" ",i.profiles.length," "),N(38),re("ngForOf",ho(46,4,i.rinterests)),N(3),re("ngForOf",i.researchers),N(2),re("ngForOf",i.researchers))},dependencies:[Yc,wa,wd,Ia,nd,td],styles:[".search[_ngcontent-%COMP%] .fa-search[_ngcontent-%COMP%]{position:absolute;top:12px;right:16px}.sort-button[_ngcontent-%COMP%]{float:left}.nav-item[_ngcontent-%COMP%]{float:left;color:#f5f5f5;padding-right:2em}.nav-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer}.nav-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover, .nav-item[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{opacity:50%}"]}),e})(),qA=(()=>{class e{constructor(n,i){this.route=n,this.router=i,this.title="Egyptians in AI",this.en_active=!0}ngOnInit(){this.router.events.subscribe(n=>{if(n instanceof iA){let i=n.url.slice(1);this.changeLang(i)}})}changeLang(n){this.en_active="ar"!=n}}return e.\u0275fac=function(n){return new(n||e)(v(Gn),v(Oe))},e.\u0275cmp=Ci({type:e,selectors:[["app-root"]],decls:93,vars:4,consts:[[1,"navbar","navbar-expand-lg","navbar-dark","fixed-top",3,"hidden"],[1,"container"],[1,"navbar-brand",2,"font-size","2em"],["src","./assets/logo.jpeg","alt","logo","width","64","height","64"],[1,"nav-items",2,"width","60%"],[1,"nav-item"],[1,"fa-solid","fa-language"],[3,"click"],["href","https://github.com/bkhmsi/egyptians-in-ai","target","_blank",1,"nav-link"],[1,"fa-brands","fa-github"],["href","https://bkhmsi.medium.com/egyptians-in-ai-research-1ff64c78cc5b","target","_blank",1,"nav-link"],[1,"fa-brands","fa-medium"],["href","https://www.youtube.com/watch?v=PtdyHfpzodg","target","_blank",1,"nav-link"],[1,"fa-solid","fa-person-chalkboard"],["ngbDropdown","",1,"nav-item","dropdown"],["href","#","id","navbarDropdown","role","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false","ngbDropdownToggle","",1,"nav-link","dropdown-toggle"],[1,"fa-solid","fa-globe"],["aria-labelledby","navbarDropdown","ngbDropdownMenu","",1,"dropdown-menu"],["ngbDropdownItem","","href","#","target","_blank",1,"dropdown-item"],["ngbDropdownItem","","href","https://mohamedelbaha.github.io/moroccans-in-ai/","target","_blank",1,"dropdown-item"],["ngbDropdownItem","","href","https://ahmadmustafaanis.github.io/Pakistanis-in-ai/","target","_blank",1,"dropdown-item"],[1,"navbar","navbar-expand-lg","navbar-dark","fixed-top",2,"direction","rtl",3,"hidden"],[1,"nav-items"],["href","https://github.com/BKHMSI/egyptians-in-ai","target","_blank",1,"nav-link"],[1,"container",2,"margin-top","6em"],[3,"hidden"],[1,"footer","mt-auto","py-3"],["href","https://bkhmsi.github.io"],[2,"float","right"],["href","#"],[1,"fas","fa-arrow-up"]],template:function(n,i){1&n&&(b(0,"nav",0)(1,"div",1)(2,"a",2),V(3,"img",3),C(4," Egyptians in AI Research "),_(),b(5,"div",4)(6,"div",5),V(7,"i",6),C(8,"\xa0 "),b(9,"span",7),Q("click",function(){return i.changeLang("en")}),C(10,"English"),_(),C(11," | "),b(12,"span",7),Q("click",function(){return i.changeLang("ar")}),C(13,"\u0639\u0631\u0628\u064a"),_()(),b(14,"div",5)(15,"span")(16,"a",8),V(17,"i",9),C(18," GitHub"),_()()(),b(19,"div",5)(20,"span")(21,"a",10),V(22,"i",11),C(23," Blog Post"),_()()(),b(24,"div",5)(25,"span")(26,"a",12),V(27,"i",13),C(28," TEDx Talk"),_()()(),b(29,"div",14)(30,"span",15),V(31,"i",16),C(32," X in Y Websites "),_(),b(33,"div",17)(34,"a",18),C(35,"Egyptians in AI"),_(),b(36,"a",19),C(37,"Moroccans in AI"),_(),b(38,"a",20),C(39,"Pakistanis in AI"),_()()()()()(),b(40,"nav",21)(41,"div",1)(42,"a",2),C(43,"\u0627\u0644\u0645\u0635\u0631\u064a\u0648\u0646 \u0641\u064a \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a"),_(),b(44,"div",22)(45,"div",14)(46,"span",15),V(47,"i",16),C(48," X in Y Websites "),_(),b(49,"div",17)(50,"a",18),C(51,"Egyptians in AI"),_(),b(52,"a",19),C(53,"Moroccans in AI"),_(),b(54,"a",20),C(55,"Pakistanis in AI"),_()()(),b(56,"div",5)(57,"span")(58,"a",12),V(59,"i",13),C(60," TEDx Talk"),_()()(),b(61,"div",5)(62,"span")(63,"a",10),C(64," Blog Post "),V(65,"i",11),_()()(),b(66,"div",5)(67,"span")(68,"a",23),C(69," GitHub "),V(70,"i",9),_()()(),b(71,"div",5),V(72,"i",6),C(73,"\xa0 "),b(74,"span",7),Q("click",function(){return i.changeLang("en")}),C(75,"English"),_(),C(76," | "),b(77,"span",7),Q("click",function(){return i.changeLang("ar")}),C(78,"\u0639\u0631\u0628\u064a"),_()()()()(),b(79,"div",24),V(80,"app-english",25)(81,"app-arabic",25),b(82,"footer",26)(83,"div",1)(84,"span"),C(85," Developed and Maintained by "),b(86,"a",27),C(87,"Badr AlKhamissi"),_(),C(88," | Last Update: 2 January 2024"),_(),b(89,"span",28)(90,"a",29),C(91," Back to Top "),V(92,"i",30),_()()()()()),2&n&&(re("hidden",!i.en_active),N(40),re("hidden",i.en_active),N(40),re("hidden",!i.en_active),N(1),re("hidden",i.en_active))},dependencies:[oN,uN],styles:["nav{background-color:#091b2b}footer a{color:#fff}footer span{color:#d0d3d4}.footer{position:fixed;background-color:#1c8394;left:0;bottom:0;width:100%;height:4em}.nav-item{float:right;color:#f5f5f5;padding-left:2em}.nav-item span{cursor:pointer}.nav-item span:hover,.nav-item a:hover{opacity:50%}.sort-button{float:right;margin-left:1em;margin-bottom:1em}.search{position:relative;box-shadow:0 0 40px #3333331a}.search input{text-indent:40px;border:2px solid #d6d4d4}.search input:focus{box-shadow:none;border:2px solid #007bff}.search .fa-search{position:absolute;top:12px;left:16px}.search button{position:absolute;top:5px;right:5px}.blur{background:whitesmoke;filter:blur(.1px)}.rgrid{width:6.5%;display:inline-block}div.click-to-top span{display:none;position:absolute;text-align:center;width:100%;margin:auto;background:white;color:#000;font-size:small}div.click-to-top:hover span{display:block}@media (max-width: 992px){.search{margin-top:1rem;margin-bottom:1rem}.rgrid{width:14%;display:inline-block}}.edit-btn{float:right;color:gray;padding:.5rem}\n"],encapsulation:2}),e})();const cN=[{path:":lang",component:qA}];let dN=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=qt({type:e}),e.\u0275inj=xt({imports:[GA.forRoot(cN),GA]}),e})(),hN=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=qt({type:e,bootstrap:[qA]}),e.\u0275inj=xt({imports:[mx,dN,PT]}),e})();(function VI(){_w=!1})(),gx().bootstrapModule(hN).catch(e=>console.error(e))}},ae=>{ae(ae.s=466)}]); \ No newline at end of file diff --git a/src/app/app.component.html b/src/app/app.component.html index 1f7975e..a751a41 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -107,7 +107,7 @@