{"id":35351,"date":"2026-05-20T10:57:00","date_gmt":"2026-05-20T08:57:00","guid":{"rendered":"https:\/\/www.greenuso.com\/blog\/?p=35351"},"modified":"2026-05-14T12:35:10","modified_gmt":"2026-05-14T10:35:10","slug":"batch-cooking","status":"publish","type":"post","link":"https:\/\/www.greenuso.com\/blog\/batch-cooking\/","title":{"rendered":"Batch cooking: organize your kitchen and save time with healthy recipes for a successful weekly menu \ud83e\udd57"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Batch cooking allows you to organize meals for the week in a single cooking session. This way, you save time, reduce daily stress, and ensure that your diet is more varied and healthy. With good planning and simple recipes, having meals ready for each day is possible and much easier than it seems.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Content<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999999;color:#999999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999999;color:#999999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#What_is_Batch_Cooking_and_Why_is_it_Trending\" >What is Batch Cooking and Why is it Trending?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Trend_in_Healthy_Eating\" >Trend in Healthy Eating<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Advantages_of_Batch_Cooking\" >Advantages of Batch Cooking<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Optimization_of_Weekly_Time_by_Cooking_in_Bulk\" >Optimization of Weekly Time by Cooking in Bulk<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Efficient_Planning_for_a_Balanced_and_Varied_Menu\" >Efficient Planning for a Balanced and Varied Menu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Significant_Reduction_of_Food_Waste\" >Significant Reduction of Food Waste<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Economic_Benefit_How_Batch_Cooking_Reduces_Costs\" >Economic Benefit: How Batch Cooking Reduces Costs<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#How_to_Organize_Your_Kitchen_for_Batch_Cooking\" >How to Organize Your Kitchen for Batch Cooking<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Check_Your_Pantry_and_Fridge\" >Check Your Pantry and Fridge<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Plan_a_Healthy_Weekly_Menu\" >Plan a Healthy Weekly Menu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Prepare_an_Effective_Shopping_List\" >Prepare an Effective Shopping List<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Organize_Utensils_for_Efficient_Cooking\" >Organize Utensils for Efficient Cooking<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Steps_for_Successful_Batch_Cooking\" >Steps for Successful Batch Cooking<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Strategies_to_Plan_the_Weekly_Menu_Adequately\" >Strategies to Plan the Weekly Menu Adequately<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Mass_Preparation_of_Food_Bases\" >Mass Preparation of Food Bases<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Efficient_Use_of_the_Oven_and_Simultaneous_Cookings\" >Efficient Use of the Oven and Simultaneous Cookings<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Managing_Cooking_Times_to_Maximize_Productivity\" >Managing Cooking Times to Maximize Productivity<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Preservation_Methods_to_Prolong_the_Life_of_Prepared_Foods\" >Preservation Methods to Prolong the Life of Prepared Foods<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Batch_Cooking_Recipes_Healthy_Weekly_Menu\" >Batch Cooking Recipes: Healthy Weekly Menu<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Main_Course_Suggestions_for_Each_Day\" >Main Course Suggestions for Each Day<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Inclusive_Vegan_and_Vegetarian_Recipe_Options\" >Inclusive Vegan and Vegetarian Recipe Options<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Dressing_and_Sauce_Recipes_to_Diversify_Flavors\" >Dressing and Sauce Recipes to Diversify Flavors<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Suggestions_for_Nutritious_Creams_Purees_and_Cold_Soups\" >Suggestions for Nutritious Creams, Purees, and Cold Soups<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Vegetable_Preparations_Stir-fries_Boiled_and_Roasted\" >Vegetable Preparations: Stir-fries, Boiled, and Roasted<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Practical_Tips_for_Perfect_Batch_Cooking\" >Practical Tips for Perfect Batch Cooking<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Tips_to_Maximize_Time_Savings_in_the_Kitchen\" >Tips to Maximize Time Savings in the Kitchen<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Techniques_for_Properly_Preserving_Prepared_Foods\" >Techniques for Properly Preserving Prepared Foods<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Methods_of_Storage_Organization_and_Labeling\" >Methods of Storage Organization and Labeling<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/www.greenuso.com\/blog\/batch-cooking\/#Strategies_to_Reuse_Leftovers_and_Maintain_Menu_Interest\" >Strategies to Reuse Leftovers and Maintain Menu Interest<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_is_Batch_Cooking_and_Why_is_it_Trending\"><\/span>What is Batch Cooking and Why is it Trending?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Batch cooking<\/strong> consists of dedicating a few hours, usually on the weekend, to cook and prepare several meals for the entire week in bulk. It involves planning the menu in advance and making different dishes or bases such as roasted vegetables, grains, legumes, or proteins. These preparations are stored in airtight containers in the fridge or freezer, ready to be combined and assembled into varied dishes each day without having to cook from scratch.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Main Advantages of Batch Cooking<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Time-saving:<\/strong> Centralizing the cooking into one session frees up hours throughout the week. It simplifies daily tasks and avoids the constant question of what to eat.<\/li>\n\n\n\n<li><strong>Stress reduction:<\/strong> Planning in advance and having meals ready decreases daily pressure and helps maintain a consistent diet, even on unexpected busy days.<\/li>\n\n\n\n<li><strong>Efficient organization:<\/strong> Batch cooking facilitates control of the food in the pantry and fridge. It allows for buying just enough, better use of fresh ingredients, and minimizes food waste.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Trend_in_Healthy_Eating\"><\/span>Trend in Healthy Eating<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The rise of batch cooking is in response to the need for a healthier and more organized life. Cooking in batches encourages designing balanced menus that include vegetables, legumes, proteins, and grains, promoting variety and the consumption of fresh products.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In recent years, the trend towards batch cooking has grown among those seeking to optimize their time while still eating well. Inspiration and recipes are shared on social media and online groups, consolidating the practice as a realistic option to maintain a healthy diet with little effort during the week. Additionally, this technique supports sustainable values, as it helps reduce waste and simplifies the use of energy and resources in the kitchen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>In summary:<\/strong> Batch cooking is on the rise because it facilitates having a varied weekly menu, saves time, improves organization, and responds to a growing interest in food health and sustainability.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Advantages_of_Batch_Cooking\"><\/span>Advantages of Batch Cooking<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Batch cooking offers key benefits when organizing your weekly menu and improving your relationship with cooking and food.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Optimization_of_Weekly_Time_by_Cooking_in_Bulk\"><\/span>Optimization of Weekly Time by Cooking in Bulk<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">By preparing multiple meals in a single session, you save time every day. You don\u2019t need to think about daily menus or spend long periods cooking when you have less energy. This system frees up several hours a week that you can spend on yourself or your family.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Advantages in Organization:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Less time spent in the kitchen during the week<\/li>\n\n\n\n<li>Reduction of unforeseen events and emergencies due to the lack of prepared meals<\/li>\n\n\n\n<li>More flexibility to adapt the menu to any changes<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Efficient_Planning_for_a_Balanced_and_Varied_Menu\"><\/span>Efficient Planning for a Balanced and Varied Menu<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Batch cooking requires selecting varied recipes and foods before you start cooking. This advance planning improves your diet, as it allows you to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Include more vegetables, legumes, and fruits in your diet<\/li>\n\n\n\n<li>Ensure the balance of proteins, carbohydrates, and healthy fats<\/li>\n\n\n\n<li>Avoid repeating dishes or resorting to less healthy food due to lack of time<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Organizing bulk preparations also helps adapt portions and meals to the nutritional needs of different household members.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Significant_Reduction_of_Food_Waste\"><\/span>Significant Reduction of Food Waste<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">By adjusting shopping and recipes to the planned menu, more ingredients are utilized. Preparing the week&#8217;s food according to what&#8217;s in the pantry or fridge reduces the amount of food that ends up in the trash.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Key Points of Batch Cooking to Limit Waste:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use the most perishable products first<\/li>\n\n\n\n<li>Store leftover portions for consumption on later days<\/li>\n\n\n\n<li>Recipes designed to use up less common foods<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Economic_Benefit_How_Batch_Cooking_Reduces_Costs\"><\/span>Economic Benefit: How Batch Cooking Reduces Costs<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Batch cooking also represents a direct saving for your pocket. Preparing weekly menus helps buy only what\u2019s necessary and take advantage of offers on fresh products in larger quantities.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How you save:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>By reducing waste, less is bought<\/li>\n\n\n\n<li>It avoids the temptation of ordering takeout or buying expensive prepared dishes<\/li>\n\n\n\n<li>Basic ingredients in large quantities are usually more economical<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ultimately, batch cooking allows you to control spending, optimize shopping, and make better use of food, becoming an effective tool for both health and household economy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_Organize_Your_Kitchen_for_Batch_Cooking\"><\/span>How to Organize Your Kitchen for Batch Cooking<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Preparing the environment before starting batch cooking is key to making the whole process fast, comfortable, and efficient.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Check_Your_Pantry_and_Fridge\"><\/span>Check Your Pantry and Fridge<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Before planning any menu, it&#8217;s important to know exactly what foods you have at home. This avoids unnecessary purchases, makes use of products nearing expiration, and reduces waste. Do a visual check and note down essential ingredients, especially fresh and perishable ones.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Plan_a_Healthy_Weekly_Menu\"><\/span>Plan a Healthy Weekly Menu<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Design a simple, varied, and balanced menu for the entire week. Consider the combination of:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Seasonal vegetables<\/li>\n\n\n\n<li>Legumes and whole grains<\/li>\n\n\n\n<li>Healthy proteins (animal or plant-based)<\/li>\n\n\n\n<li>Dishes that can be reinvented with different dressings or side dishes<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Choose compatible recipes that allow for reusing bases and distribute the ingredients to optimize their use in various meals. Such planning helps maintain a balanced diet and avoids monotony.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Prepare_an_Effective_Shopping_List\"><\/span>Prepare an Effective Shopping List<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">With the menu in hand and the pantry checked, make a tailored shopping list:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Note down specific foods and exact quantities to avoid excess<\/li>\n\n\n\n<li>Prioritize <a href=\"https:\/\/www.greenuso.com\/blog\/locally-produced-food\/\" data-type=\"link\" data-id=\"https:\/\/www.greenuso.com\/blog\/locally-produced-food\/\">fresh and seasonal products<\/a>, adjusting according to what you already have<\/li>\n\n\n\n<li>Include airtight containers and storage bags if needed<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This precise list prevents forgetfulness and unnecessary spending and speeds up your visit to the supermarket.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Organize_Utensils_for_Efficient_Cooking\"><\/span>Organize Utensils for Efficient Cooking<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Having an ordered kitchen before you start makes batch cooking much easier. Prepare everything necessary:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pots, pans, oven trays, and steamer<\/li>\n\n\n\n<li>Well-sharpened knives and cutting boards<\/li>\n\n\n\n<li>Storage containers, preferably made from reusable materials<\/li>\n\n\n\n<li>Spatulas, tongs, and basic utensils<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Place items at hand according to the order you will use them. This reduces stops, optimizes parallel cooking, and keeps the space clean and uncluttered.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With this prior organization, batch cooking becomes a simple task, even for beginners. Once the routine is underway, the whole process becomes even more natural and efficient week after week.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1707\" src=\"https:\/\/www.greenuso.com\/blog\/wp-content\/uploads\/person-practicing-batch-cooking-with-healthy-food-3-scaled.jpg\" alt=\"With batch cooking, organize your meals for the week\" class=\"wp-image-35411\" srcset=\"https:\/\/www.greenuso.com\/blog\/wp-content\/uploads\/person-practicing-batch-cooking-with-healthy-food-3-scaled.jpg 2560w, https:\/\/www.greenuso.com\/blog\/wp-content\/uploads\/person-practicing-batch-cooking-with-healthy-food-3-300x200.jpg 300w, https:\/\/www.greenuso.com\/blog\/wp-content\/uploads\/person-practicing-batch-cooking-with-healthy-food-3-768x512.jpg 768w, https:\/\/www.greenuso.com\/blog\/wp-content\/uploads\/person-practicing-batch-cooking-with-healthy-food-3-1024x683.jpg 1024w, https:\/\/www.greenuso.com\/blog\/wp-content\/uploads\/person-practicing-batch-cooking-with-healthy-food-3-1536x1024.jpg 1536w, https:\/\/www.greenuso.com\/blog\/wp-content\/uploads\/person-practicing-batch-cooking-with-healthy-food-3-2048x1365.jpg 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Steps_for_Successful_Batch_Cooking\"><\/span>Steps for Successful Batch Cooking<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Following a well-structured methodology makes batch cooking simple and efficient. Here are the keys to conducting a productive session and obtaining varied meals that are ready each week.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Strategies_to_Plan_the_Weekly_Menu_Adequately\"><\/span>Strategies to Plan the Weekly Menu Adequately<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Check what you have:<\/strong> Review the contents of the pantry and fridge before creating the menu to utilize ingredients and avoid duplicate purchases.<\/li>\n\n\n\n<li><strong>Select compatible recipes:<\/strong> Choose dishes that share ingredients or base preparations, such as roasted vegetables, cooked grains, or sauces, to simplify the work and multiply possible combinations.<\/li>\n\n\n\n<li><strong>Design varied menus:<\/strong> Alternate proteins, types of vegetables, and grains, and think of options that allow for both cold and hot dishes.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Mass_Preparation_of_Food_Bases\"><\/span>Mass Preparation of Food Bases<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Divide the cooking into blocks:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Grains:<\/strong> Prepare rice, quinoa, or pasta in large enough quantities for several meals.<\/li>\n\n\n\n<li><strong>Proteins:<\/strong> Cook legumes, eggs, meats, or tofu to distribute across different dishes of the week.<\/li>\n\n\n\n<li><strong>Vegetables:<\/strong> Roast trays of vegetables, steam vegetables or make saut\u00e9ed bases.<br>These bases allow for creating complete and quick dishes by combining them as needed, adding different seasonings.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Efficient_Use_of_the_Oven_and_Simultaneous_Cookings\"><\/span>Efficient Use of the Oven and Simultaneous Cookings<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Take advantage of the oven capacity to roast multiple vegetables or proteins simultaneously, distributing the food on trays.<\/li>\n\n\n\n<li>Cook in parallel on the stove and oven, using large pots and different methods (steam, oven, skillet) simultaneously.<\/li>\n\n\n\n<li>Organize the order of preparations so that while grains are cooking, you can move on with the rest of the ingredients.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Managing_Cooking_Times_to_Maximize_Productivity\"><\/span>Managing Cooking Times to Maximize Productivity<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Cook what takes longer first:<\/strong> Start with foods that require more time, like roasts or stews.<\/li>\n\n\n\n<li><strong>Divide tasks:<\/strong> Prepare and cut all the ingredients before turning on the heat. This reduces interruptions and improves the pace.<\/li>\n\n\n\n<li><strong>Use timers:<\/strong> Control the cooking of each preparation to avoid overcooking and optimize the total time.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Preservation_Methods_to_Prolong_the_Life_of_Prepared_Foods\"><\/span>Preservation Methods to Prolong the Life of Prepared Foods<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Store dishes in airtight containers, preferably reusable glass as recommended by Greenuse, to maintain freshness and avoid cross-contamination.<\/li>\n\n\n\n<li>Divide portions into individual or family servings to ease consumption.<\/li>\n\n\n\n<li>Let cool well before placing in the fridge or freezer.<\/li>\n\n\n\n<li>Label containers with the date and contents to better monitor and ensure food safety.<\/li>\n\n\n\n<li>Freeze dishes or bases you don\u2019t plan to consume in less than three days. This maintains the texture and flavor of preparations.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">By applying these steps, batch cooking becomes a simple yet highly effective routine for having always homemade, varied, and ready-to-serve meals.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Batch_Cooking_Recipes_Healthy_Weekly_Menu\"><\/span>Batch Cooking Recipes: Healthy Weekly Menu<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Batch cooking allows you to enjoy a complete, varied, and balanced weekly menu with different options suited to all tastes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Main_Course_Suggestions_for_Each_Day\"><\/span>Main Course Suggestions for Each Day<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">To organize the week, it&#8217;s useful to combine base preparations and alternate food families. Example of a weekly menu:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Monday:<\/strong> Lentil stew with vegetables and brown rice<\/li>\n\n\n\n<li><strong>Tuesday:<\/strong> Roast chicken with potatoes and green leaf salad<\/li>\n\n\n\n<li><strong>Wednesday:<\/strong> Chickpea stew with spinach and hard-boiled egg<\/li>\n\n\n\n<li><strong>Thursday:<\/strong> Steamed hake with broccoli and roasted sweet potatoes<\/li>\n\n\n\n<li><strong>Friday:<\/strong> Stir-fried tofu and mushrooms with rice noodles<\/li>\n\n\n\n<li><strong>Saturday:<\/strong> Homemade ratatouille with turkey fillets or tempeh<\/li>\n\n\n\n<li><strong>Sunday:<\/strong> Hummus with carrot sticks and chickpea salad<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Alternate prepared bases (legumes, rice, pasta, or vegetables) to save time without losing variety.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Inclusive_Vegan_and_Vegetarian_Recipe_Options\"><\/span>Inclusive Vegan and Vegetarian Recipe Options<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Batch cooking is easily adaptable to plant-based diets. Some ideas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lentil and oats meatballs<\/li>\n\n\n\n<li>Chickpea and pumpkin curry<\/li>\n\n\n\n<li>Stir-fry tofu with seasonal vegetables<\/li>\n\n\n\n<li>Bean and carrot burgers<\/li>\n\n\n\n<li>Cold salad with whole wheat pasta, cherry tomatoes, olives, and basil<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">These dishes are rich in plant protein and fiber and keep well in the fridge for several days.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Dressing_and_Sauce_Recipes_to_Diversify_Flavors\"><\/span>Dressing and Sauce Recipes to Diversify Flavors<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Preparing a selection of base sauces transforms dishes. Some proposals:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Classic vinaigrette with olive oil, vinegar, and mustard<\/li>\n\n\n\n<li>Yogurt sauce with dill and lemon<\/li>\n\n\n\n<li>Tahini with lemon juice and garlic<\/li>\n\n\n\n<li>Basil or arugula pesto<\/li>\n\n\n\n<li>Homemade tomato sauce<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Preserving several sauces in small jars allows for personalizing each dish according to the day.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Suggestions_for_Nutritious_Creams_Purees_and_Cold_Soups\"><\/span>Suggestions for Nutritious Creams, Purees, and Cold Soups<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Creams and soups add variety and help complete the menu:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zucchini and leek cream with whole-wheat croutons<\/li>\n\n\n\n<li>Traditional gazpacho or tomato salmorejo<\/li>\n\n\n\n<li>Carrot and ginger puree<\/li>\n\n\n\n<li>Cold cucumber and yogurt soup<\/li>\n\n\n\n<li>Cauliflower and apple cream<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">These options can be taken either cold or hot and are prepared in large quantities.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Vegetable_Preparations_Stir-fries_Boiled_and_Roasted\"><\/span>Vegetable Preparations: Stir-fries, Boiled, and Roasted<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Steamed or roasted vegetables are essential due to their preservation and versatility. Some ideas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Oven-baked vegetable tray: eggplant, zucchini, peppers, and onion<\/li>\n\n\n\n<li>Boiled cauliflower and broccoli as a side dish or tortilla base<\/li>\n\n\n\n<li>Stir-fries of carrots, green beans, and garlic<\/li>\n\n\n\n<li>Roasted sweet potato and beetroot<\/li>\n\n\n\n<li>Saut\u00e9ed spinach with chickpeas<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Keeping vegetables in separate containers allows for mixing and adapting according to lunch or dinner, ensuring a healthy diet throughout the week.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Practical_Tips_for_Perfect_Batch_Cooking\"><\/span>Practical Tips for Perfect Batch Cooking<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Achieving efficient and varied batch cooking depends on small details in organization, storage, and creativity in the kitchen. Here are insights to make the most out of batch preparation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Tips_to_Maximize_Time_Savings_in_the_Kitchen\"><\/span>Tips to Maximize Time Savings in the Kitchen<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Prepare all ingredients beforehand:<\/strong> Wash, peel, and cut the vegetables all at once to speed up the cooking.<\/li>\n\n\n\n<li><strong>Use multiple heat sources at once:<\/strong> Cook in the oven, pot, and pan simultaneously to optimize idle times.<\/li>\n\n\n\n<li><strong>Group similar preparations:<\/strong> Roast different vegetables simultaneously or boil several grains together and separate them afterward, as long as the times are compatible.<\/li>\n\n\n\n<li><strong>Use multipurpose utensils:<\/strong> A powerful blender or a large pot allows you to prepare more quantities in less time.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Techniques_for_Properly_Preserving_Prepared_Foods\"><\/span>Techniques for Properly Preserving Prepared Foods<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Store dishes in airtight and resistant containers to maintain freshness and avoid contamination.<\/li>\n\n\n\n<li>It&#8217;s important to let foods cool before covering and storing them in the fridge or freezer.<\/li>\n\n\n\n<li>Separate into individual or family portions to take out only what&#8217;s needed for each meal, prolonging preservation.<\/li>\n\n\n\n<li>For frozen foods, leave space in the container for liquid expansion and use containers suitable for low temperatures.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Methods_of_Storage_Organization_and_Labeling\"><\/span>Methods of Storage Organization and Labeling<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Always label containers:<\/strong> Write down the preparation date and content on each container. This helps consume first what\u2019s more at risk of spoiling.<\/li>\n\n\n\n<li><strong>Organize fridge and freezer by categories:<\/strong> Put the most perishable items in view and order by type: proteins, vegetables, sauces, grains.<\/li>\n\n\n\n<li>Use transparent containers or those with windows to identify at a glance what you have and avoid duplicities.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Strategies_to_Reuse_Leftovers_and_Maintain_Menu_Interest\"><\/span>Strategies to Reuse Leftovers and Maintain Menu Interest<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Turn leftovers into new dishes: grilled vegetables for a frittata, previous day&#8217;s rice into a warm salad, or legumes into a spiced cream.<\/li>\n\n\n\n<li>Change textures and flavors using different dressings or base sauces.<\/li>\n\n\n\n<li>Freeze preparations you won\u2019t consume in two to three days.<\/li>\n\n\n\n<li>If you have small amounts of various preparations, combine into a varied bowl-type Buddha bowl, mixing bases, proteins, and vegetables.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">With these tips, your batch cooking will be more practical, safe, and varied, allowing a healthy diet and avoiding monotony throughout the week.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Batch cooking allows you to organize meals for the week in a single cooking session. This way, you save time, reduce daily stress, and ensure that your diet is more varied and heal\u2026<\/p>\n","protected":false},"author":1,"featured_media":35369,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"{\"document\":\"AAAH0Yaz9RuaF+UYBooDjMcEARg8AgECCkpQyMsEmssEBgQQUkqoAwEBCAJCAEgApgkBAQgCQkgAqgEBAQgCQgBIALoOAQEIAkIASAC0AQEBCABIDgIBAQgCSgC6BQEBCAJKAKIFAQEIAkrsC5QSAQEIAkJIAD4BAQgCQgBIAJwIAQEIAkIASACeDgEBCAJCAEgAvgYBAQgCQkgAhgEBAQgCQgBIAIQEAQEIAkJIAKwBAQEIAkIASACcCAEBCAJCAEgAqgEBAQgASA4CAQEIAkoAqgEBAQgCSgCuAgEBCAJK6ASYBgEBCAJCSACyAQEBCAJCAEgAtgQBAQgASA4CAQEIAkoAgAIBAQgCSgCMAgEBCAJK3ASCBwEBCAJCAEgAhAQBAQgCQkgAlgEBAQgCQgBIALQGAQEIAkIASACKAgEBCABIDgIBAQgCSgCaAQEBCAJKALgBAQEIAkriA4gFAQEIAkJIALIBAQEIAkIASACGBgEBCAJCAEgAjgEBAQgASA4CAQEIAkoAkAEBAQgCSgCuAgEBCAJKzgSeBgEBCAJCAEgAqAUBAQgCQkgArAEBAQgCQgBIAIoEAQEIAkJIAIgBAQEIAkIASAC2CAEBCAJCSACEAQEBCAJCAEgAigMBAQgASA4CAQEIAkoANAEBCAJKAD4BAQgCSgCeAQEBCAJK4AO4BQEBCAJCAEgAkAYBAQgCQkgAlAEBAQgCQgBIAKoCAQEIAEgOAgEBCAJKAIgCAQEIAhYCBAMALNYBALYCAQEIAkrOBYgHAQEIAkIASACuAwEBCAJCSACeAQEBCAJCAEgApAMBAQgASA4CAQEIAkoAlAEBAQgCSgCeAQEBCAJKAIQCAQEIAkrGBZoGAQEIAkIASACCBQEBCAJCAEgAkAYBAQgCQkgAlAEBAQgCQgBIAIgGAQEIAkJIAKoBAQEIAEgOAgEBCAJKAJAFAQEIAkoAuAYBAQgCStgMlhEBAQgCQkgAjAEBAQgCQgBIAJABAQEIAEgOAgEBCAJKAJgDAQEIAkoArgMBAQgCStYHjg4BAQgCQkgAtgEBAQgASA4CAQEIAkoAhgQBAQgCSgC4AwEBCAJKzgiIDAEBCAJCSACuAQEBCABIDgIBAQgCSgCoAwEBCAJKAK4EAQEIAkrmCKAMAQEIAkJIAIQCAQEIAEgOAgEBCAJKAKwEAQEIAkoAnAIBAQgCSgC6AQEBCAJKALgCAQEIAkrKDJgQAQEIAkIASAC2BAEBCAJCSACkAQEBCAJCAEgAiAQBAQgCQkgAmAEBAQgCQgBIALwDAQEIAEgOAgEBCAJKAJQCAQEIAkoAogIBAQgCSgCiAgEBCAJKAK4CAQEIAkoAngIBAQgCSgCoAgEBCAJK3A+0EQEBCAJCAEgAmAMBAQgCQkgAqgEBAQgCQgBIAJgCAQEIAEgOAgEBCAJKAIABAQEIAkoAggEBAQgCSgCaAQEBCAJKADwBAQgCSugEgAcBAQgCQgBIAI4DAQEIAkJIAK4BAQEIAkIASACgAgEBCABIDgIBAQgCSgC+AQEBCAJKAI4BAQEIAkoAkgEBAQgCSgA6AQEIAkroBaAGAQEIAkIASACSAwEBCAJCSACCAgEBCAJCAEgAggIBAQgASA4CAQEIAkoAsAEBAQgCSgCeAQEBCAJKADwBAQgCSgCIAQEBCAJK4gWmBgEBCAJCAEgAuAIBAQgCQkgAvgEBAQgCQgBIAJYDAQEIAEgOAgEBCAJKAJACAQEIAkoAjAIBAQgCSgCqAQEBCAJKAJABAQEIAkrmB7AIAQEIAkIASAC4BAEBCAJCSACgAQEBCAJCAEgAiAYBAQgCQkgAqAEBAQgASA4CAQEIAkoAhgQBAQgCSgCABAEBCAJKAL4FAQEIAkrUDqQSAQEIAkJIALIBAQEIAEgOAgEBCAJKAI4DAQEIAkoAhAMBAQgCSgCyAwEBCAJK1AqMDgEBCAJCSACoAQEBCABIDgIBAQgCSgCSBQEBCAJKAIIFAQEIAkrkCowOAQEIAkJIAIACAQEIAEgOAgEBCAJKAKAEAQEIAkoAmAIBAQgCSgCEAgEBCAJKzAmoDQEBCAJCAEgAsgQBAQgCQkgArAEBAQgCQgBIAKQDAQEIAkJIAIoBAQEIAEgOAgEBCAJKAJQIAQEIAkoAigcBAQgCSu4PoBQBAQgCQkgAtAEBAQgASA4CAQEIAkoAjAQBAQgCSgCcBAEBCAJKAJIEAQEIAkoAggUBAQgCSswSuhUBAQgCQgBIAJgEAQEIAkJIAIgCAQEIAEgOAgEBCAJKAIIGAQEIAkoAuAQBAQgCSgC2BAEBCAJKwBC+FAEBCAJCAEj4Uo5XAQEIAQBIAgQCAQQWAgQDAb4FtKQCvAKcL7a+A9ScBuJXBAIBBJhXAkqEpwbCpwYCwmUEAgEEposHAsD+BgCoBKz+BgEBCAJKAKAEAQEIAkoAmAIBAQgCSgCEAgEBCAJK\/psHBAIBBKKSBwLkkAeqngfqngfSEAQCAQSgrgcC1qAHALYBgqEHAQEIAkoAkgUBAQgCSgCCBQEBCAJKxr0HBAIBBJKyBwLssAeWvwfWvwf6DwQCAQS0zgcC6sAHAJ4BlsEHAQEIAkoAjgMBAQgCSgCEAwEBCAJKALIDAQEIAkr83AcEAgEEmNIHAujQB5LfB9LfB9wUBAIBBJLzBwLw4AcAqAGc4QcBAQgCSgCGBAEBCAJKAIAEAQEIAkoAvgUBAQgCStqFCAQCAQS29gcC0PUHkogI0ogI9gcEAgEErI8IAuSJCKqLCOyLCADuBwQCAQS+kggC3pEIhJgIxpgI3gYEAgEEiJ4IAtCZCI6bCNCbCADuDQQCAQSiqAgC9J8IAK4EoKAIAQEIAkoAkAIBAQgCSgCMAgEBCAJKAKoBAQEIAkoAkAEBAQgCSvC4CAQCAQS6sAgC5q0ItLYI9LYIANoFBAIBBLK7CAL0uQiovQjqvQj8BAQCAQSKwggC0r8IrsEI8MEIAOQJBAIBBLjKCALUxAgArgKAxQgBAQgCSgCwAQEBCAJKAJ4BAQEIAkoAPAEBCAJKAIgBAQEIAkru1QgEAgEEvM8IAvzNCIDVCMDVCADKBAQCAQSu2AgC7NYIjNkIztkI2gUEAgEEjN4IAvraCJrdCNzdCAD4CQQCAQS45ggC2uAIAIgDhuEIAQEIAkoAvgEBAQgCSgCOAQEBCAJKAJIBAQEIAkoAOgEBCAJK7PIIBAIBBLTsCALW6giU8QjU8QgA1AQEAgEEjPUIAt7zCJz2CN72CMIFBAIBBIT7CAL29wiC+gjE+ggA1AoEAgEEvIMJAv78CACEA6r9CAEBCAJKAIABAQEIAkoAggEBAQgCSgCaAQEBCAJKADwBAQgCSuSOCQQCAQSsiQkC1ocJtI4J9I4JAMgEBAIBBKCSCQL2kAmskwnukwnIBQQCAQSamAkCwpUJipcJzJcJANIVBAIBBIKsCQLQmgkAjgO8mgkBAQgCSgCUAgEBCAJKAKICAQEIAkoAogIBAQgCSgCuAgEBCAJKAJ4CAQEIAkoAqAIBAQgCSszDCQQCAQSgswkC5q8JuMEJ+MEJANoFBAIBBLbGCQLexQm4yQn6yQnmBQQCAQSEzwkC\/MoJsswJ9MwJAPIFBAIBBIrSCQLm0AmM1QnO1QngBgQCAQSS2wkC3NYJntgJ4NgJANQVBAIBBJjtCQLC3QkArASu3QkBAQgCSgCsBAEBCAJKAJwCAQEIAkoAugEBAQgCSgC4AgEBCAJK9oAKBAIBBJz0CQLa8gmQgwrQgwrqDgQCAQSekQoCwIUKALoBrIUKAQEIAkoAqAMBAQgCSgCuBAEBCAJK0J4KBAIBBJqVCgLukwqsoArsoAr8DQQCAQSMrgoCxqIKAKQBsqIKAQEIAkoAhgQBAQgCSgC4AwEBCAJK2LoKBAIBBLqxCgLGsAqsvArsvArKEAQCAQSazAoCzr4KAKwBur4KAQEIAkoAmAMBAQgCSgCuAwEBCAJK0NcKBAIBBKrPCgLczgqI3QrI3QoA4gIEAgEEjt8KAsLeCrDfCvLfCugSBAIBBL7xCgLq4AoAggGW4QoBAQgCSgCQBQEBCAJKALgGAQEIAkrmgQsEAgEEvvQKAtbzCoqFC8qFC\/gHBAIBBKaMCwLehgumiAvoiAsA4gcEAgEEro8LAtqOC4CVC8KVC8ggAgQDACz4xQECUACS7QaYMpzqBYgI7rMC2N4KvokN1ooNGgLiyAS82xHgCbIRjAjk7xEfvroI7LcIAQOkjQYCBAMALIynBZgyAQC2vgOmqwKgCdEbKAAhAScABAAnAAEAJwAoBicAKBohACgAJwAHACgDJwAoACcAqAChACEBqAGnAAQAKACHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwEEACgBJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoACcAhwAoAicBBAAoAScAhwAoAicBBAAoAScAhwAoAicBBAAoAScAhwAoAicBBAAoACcAhwAoAicBBAAoAScAhwAoAicBBAAoACcAhwAoAicBBAAoAScAhwAoAicBBAAoAScAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAEnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwEEACgBJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoACcAhwAoAicBBAAoAScAhwAoAicBBAAoAScAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAEnAIcAKAInAQQAKAAnAIcAKAInAQQAKAEnAIcAKAInAQQAKAAnAIcAKAInAQQAKAEnAIcAKAInAQQAKAAnAIcAKAInAQQAKAEnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoAScAhwAoAicBBAAoACcAhwAoAicBBAAoAScAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEAIQFJwCHACgCJwEEACcAhwAoAicBBAAoAScAhwAoAicBBAAoACcAhwAoAicBBAAoAScAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgBJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoACcAhwAoAicBBAAoAScAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoACcAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoAScAhwAoAicBBAAoACcAhwAoAicBBAAoAScAhwAoAicBBAAoACcAhwAoAicBBAAoAScAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoACcAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoAScAhwAoAicBBAAoACcAhwAoAicBBAAoAScAhwAoAicBBAAoACcAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAEnAIcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoAScAxwAoAicBKAEnAKgBKAAnACgEqAVBAMQAwQDEAcEAqAIoACcAKASoAacABACoAygAJwAoBKgBKAEHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAqAEoACcAKASoAScABAAoAKgBKAAnACgEqAEoAQcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAKgBKAAnACgEqAEnAAQAKACoASgAJwAoBKgBKAEHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAqAEoACcAKASoAScABAAoAKgBKAAnACgEqAEoAQcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCoASgAJwAoBKgBJwAEACgAqAEoACcAKASoAacABAAoAagBKAAnACgEqAGnAAQAKACoASgAJwAoBKgBpwAEACgBqAEoACcAKASoASgBBwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCoASgAJwAoBKgBJwAEACgBqAEoACcAKASoAacABAAoAKgBKAAnACgEqAGnAAQAKAGoASgAJwAoBKgBKAEHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAKgBKAAnACgEqAEnAAQAKAGoASgAJwAoBKgBpwAEACgAqAEoACcAKASoAacABAAoAagBKAAnACgEqAEoAQcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAqAEoACcAKASoAScABAAoAagBKAAnACgEqAGnAAQAKACoASgAJwAoBKgBpwAEACgBqAEoACcAKASoASgBBwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCoASgAJwAoBKgBJwAEACgBqAEoACcAKASoAacABAAoAKgBKAAnACgEqAGnAAQAKAGoASgAJwAoBKgBKAEHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAqAEoACcAKASoAScABAAoAagBKAAnACgEqAGnAAQAKACoASgAJwAoBKgBpwAEACgBqAEoACcAKASoAacABAAoAKgBKAAnACgEqAGnAAQAKAGoASgAJwAoBKgBKAEHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAKgBKAAnACgEqAEnAAQAKACoASgAJwAoBKgBKAEHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCoASgAJwAoBKgBJwAEACgAqAEoACcAKASoASgBBwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAqAEoACcAKASoAScABAAoAKgBKAAnACgEqAEoAQcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAKgBKAAnACgEqAEnAAQAKAGoASgAJwAoBKgBpwAEACgAqAEoACcAKASoASgBBwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAqAEoACcAKASoAScABAAoAKgBKAAnACgEqAGnAAQAKAGoASgAJwAoBKgBpwAEACgAxAWoASgBxAHBAMQBKACoAMEAqAKEAKgAxACo4aUEgpEEc3RhdGV2ZXJzaW9uZG9jdW1lbnRkYXRlZG9jdW1lbnRzdGF0dXNkb2N1bWVudHRpdGxlQmF0Y2ggY29va2luZzogb3JnYW5pemUgeW91ciBraXRjaGVuIGFuZCBzYXZlIHRpbWUgd2l0aCBoZWFsdGh5IHJlY2lwZXMgZm9yIGEgc3VjY2Vzc2Z1bCB3ZWVrbHkgbWVudWRvY3VtZW50Y29udGVudGRvY3VtZW50ZXhjZXJwdGRvY3VtZW50YXV0aG9yZG9jdW1lbnRmZWF0dXJlZF9tZWRpYWRvY3VtZW50Y29tbWVudF9zdGF0dXNkb2N1bWVudHBpbmdfc3RhdHVzZG9jdW1lbnRzdGlja3lkb2N1bWVudHRlbXBsYXRlZG9jdW1lbnRmb3JtYXRkb2N1bWVudG1ldGFzaXRlLXNpZGViYXItbGF5b3V0c2l0ZS1jb250ZW50LWxheW91dGFzdC1zaXRlLWNvbnRlbnQtbGF5b3V0c2l0ZS1jb250ZW50LXN0eWxlc2l0ZS1zaWRlYmFyLXN0eWxlYXN0LWdsb2JhbC1oZWFkZXItZGlzcGxheWFzdC1iYW5uZXItdGl0bGUtdmlzaWJpbGl0eWFzdC1tYWluLWhlYWRlci1kaXNwbGF5YXN0LWhmYi1hYm92ZS1oZWFkZXItZGlzcGxheWFzdC1oZmItYmVsb3ctaGVhZGVyLWRpc3BsYXlhc3QtaGZiLW1vYmlsZS1oZWFkZXItZGlzcGxheXNpdGUtcG9zdC10aXRsZWFzdC1icmVhZGNydW1icy1jb250ZW50YXN0LWZlYXR1cmVkLWltZ2Zvb3Rlci1zbWwtbGF5b3V0YXN0LWRpc2FibGUtcmVsYXRlZC1wb3N0c3RoZW1lLXRyYW5zcGFyZW50LWhlYWRlci1tZXRhYWR2LWhlYWRlci1pZC1tZXRhc3RpY2staGVhZGVyLW1ldGFoZWFkZXItYWJvdmUtc3RpY2stbWV0YWhlYWRlci1tYWluLXN0aWNrLW1ldGFoZWFkZXItYmVsb3ctc3RpY2stbWV0YWFzdHJhLW1pZ3JhdGUtbWV0YS1sYXlvdXRzYXN0LXBhZ2UtYmFja2dyb3VuZC1lbmFibGVkYXN0LXBhZ2UtYmFja2dyb3VuZC1tZXRhYXN0LWNvbnRlbnQtYmFja2dyb3VuZC1tZXRhZm9vdG5vdGVzZG9jdW1lbnRjYXRlZ29yaWVzZG9jdW1lbnR0YWdzZG9jdW1lbnRibG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRpbm5lckJsb2Nrc3N0YXRlc2F2ZWRBdHN0YXRlc2F2ZWRCeUJhdGNoIENvb2tpbmc6IE9yZ2FuaXplIFlvdXIgS2l0Y2hlbiBhbmQgU2F2ZSBUaW1lIHdpdGggSGVhbHRoeSBSZWNpcGVzIGZvciBhIFN1Y2Nlc3NmdWwgV2Vla2x5IE1lbnVsZXZlbGNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEJhdGNoIGNvb2tpbmcgYWxsb3dzIHlvdSB0byBvcmdhbml6ZSBtZWFscyBmb3IgdGhlIHdlZWsgaW4gYSBzaW5nbGUgY29va2luZyBzZXNzaW9uLiBUaGlzIHdheSwgeW91IHNhdmUgdGltZSwgcmVkdWNlIGRhaWx5IHN0cmVzcywgYW5kIGVuc3VyZSB0aGF0IHlvdXIgZGlldCBpcyBtb3JlIHZhcmllZCBhbmQgaGVhbHRoeS4gV2l0aCBnb29kIHBsYW5uaW5nIGFuZCBzaW1wbGUgcmVjaXBlcywgaGF2aW5nIG1lYWxzIHJlYWR5IGZvciBlYWNoIGRheSBpcyBwb3NzaWJsZSBhbmQgbXVjaCBlYXNpZXIgdGhhbiBpdCBzZWVtcy5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFdoYXQgaXMgQmF0Y2ggQ29va2luZyBhbmQgV2h5IGlzIGl0IFRyZW5kaW5nP2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkJhdGNoIGNvb2tpbmc8L3N0cm9uZz4gY29uc2lzdHMgb2YgZGVkaWNhdGluZyBhIGZldyBob3VycywgdXN1YWxseSBvbiB0aGUgd2Vla2VuZCwgdG8gY29vayBhbmQgcHJlcGFyZSBzZXZlcmFsIG1lYWxzIGZvciB0aGUgZW50aXJlIHdlZWsgaW4gYnVsay4gSXQgaW52b2x2ZXMgcGxhbm5pbmcgdGhlIG1lbnUgaW4gYWR2YW5jZSBhbmQgbWFraW5nIGRpZmZlcmVudCBkaXNoZXMgb3IgYmFzZXMgc3VjaCBhcyByb2FzdGVkIHZlZ2V0YWJsZXMsIGdyYWlucywgbGVndW1lcywgb3IgcHJvdGVpbnMuIFRoZXNlIHByZXBhcmF0aW9ucyBhcmUgc3RvcmVkIGluIGFpcnRpZ2h0IGNvbnRhaW5lcnMgaW4gdGhlIGZyaWRnZSBvciBmcmVlemVyLCByZWFkeSB0byBiZSBjb21iaW5lZCBhbmQgYXNzZW1ibGVkIGludG8gdmFyaWVkIGRpc2hlcyBlYWNoIGRheSB3aXRob3V0IGhhdmluZyB0byBjb29rIGZyb20gc2NyYXRjaC5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+TWFpbiBBZHZhbnRhZ2VzIG9mIEJhdGNoIENvb2tpbmc8L3N0cm9uZz5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5UaW1lLXNhdmluZzo8L3N0cm9uZz4gQ2VudHJhbGl6aW5nIHRoZSBjb29raW5nIGludG8gb25lIHNlc3Npb24gZnJlZXMgdXAgaG91cnMgdGhyb3VnaG91dCB0aGUgd2Vlay4gSXQgc2ltcGxpZmllcyBkYWlseSB0YXNrcyBhbmQgYXZvaWRzIHRoZSBjb25zdGFudCBxdWVzdGlvbiBvZiB3aGF0IHRvIGVhdC5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+U3RyZXNzIHJlZHVjdGlvbjo8L3N0cm9uZz4gUGxhbm5pbmcgaW4gYWR2YW5jZSBhbmQgaGF2aW5nIG1lYWxzIHJlYWR5IGRlY3JlYXNlcyBkYWlseSBwcmVzc3VyZSBhbmQgaGVscHMgbWFpbnRhaW4gYSBjb25zaXN0ZW50IGRpZXQsIGV2ZW4gb24gdW5leHBlY3RlZCBidXN5IGRheXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkVmZmljaWVudCBvcmdhbml6YXRpb246PC9zdHJvbmc+IEJhdGNoIGNvb2tpbmcgZmFjaWxpdGF0ZXMgY29udHJvbCBvZiB0aGUgZm9vZCBpbiB0aGUgcGFudHJ5IGFuZCBmcmlkZ2UuIEl0IGFsbG93cyBmb3IgYnV5aW5nIGp1c3QgZW5vdWdoLCBiZXR0ZXIgdXNlIG9mIGZyZXNoIGluZ3JlZGllbnRzLCBhbmQgbWluaW1pemVzIGZvb2Qgd2FzdGUuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUcmVuZCBpbiBIZWFsdGh5IEVhdGluZ2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGUgcmlzZSBvZiBiYXRjaCBjb29raW5nIGlzIGluIHJlc3BvbnNlIHRvIHRoZSBuZWVkIGZvciBhIGhlYWx0aGllciBhbmQgbW9yZSBvcmdhbml6ZWQgbGlmZS4gQ29va2luZyBpbiBiYXRjaGVzIGVuY291cmFnZXMgZGVzaWduaW5nIGJhbGFuY2VkIG1lbnVzIHRoYXQgaW5jbHVkZSB2ZWdldGFibGVzLCBsZWd1bWVzLCBwcm90ZWlucywgYW5kIGdyYWlucywgcHJvbW90aW5nIHZhcmlldHkgYW5kIHRoZSBjb25zdW1wdGlvbiBvZiBmcmVzaCBwcm9kdWN0cy5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEluIHJlY2VudCB5ZWFycywgdGhlIHRyZW5kIHRvd2FyZHMgYmF0Y2ggY29va2luZyBoYXMgZ3Jvd24gYW1vbmcgdGhvc2Ugc2Vla2luZyB0byBvcHRpbWl6ZSB0aGVpciB0aW1lIHdoaWxlIHN0aWxsIGVhdGluZyB3ZWxsLiBJbnNwaXJhdGlvbiBhbmQgcmVjaXBlcyBhcmUgc2hhcmVkIG9uIHNvY2lhbCBtZWRpYSBhbmQgb25saW5lIGdyb3VwcywgY29uc29saWRhdGluZyB0aGUgcHJhY3RpY2UgYXMgYSByZWFsaXN0aWMgb3B0aW9uIHRvIG1haW50YWluIGEgaGVhbHRoeSBkaWV0IHdpdGggbGl0dGxlIGVmZm9ydCBkdXJpbmcgdGhlIHdlZWsuIEFkZGl0aW9uYWxseSwgdGhpcyB0ZWNobmlxdWUgc3VwcG9ydHMgc3VzdGFpbmFibGUgdmFsdWVzLCBhcyBpdCBoZWxwcyByZWR1Y2Ugd2FzdGUgYW5kIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiBlbmVyZ3kgYW5kIHJlc291cmNlcyBpbiB0aGUga2l0Y2hlbi5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+SW4gc3VtbWFyeTo8L3N0cm9uZz4gQmF0Y2ggY29va2luZyBpcyBvbiB0aGUgcmlzZSBiZWNhdXNlIGl0IGZhY2lsaXRhdGVzIGhhdmluZyBhIHZhcmllZCB3ZWVrbHkgbWVudSwgc2F2ZXMgdGltZSwgaW1wcm92ZXMgb3JnYW5pemF0aW9uLCBhbmQgcmVzcG9uZHMgdG8gYSBncm93aW5nIGludGVyZXN0IGluIGZvb2QgaGVhbHRoIGFuZCBzdXN0YWluYWJpbGl0eS5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEFkdmFudGFnZXMgb2YgQmF0Y2ggQ29va2luZ2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRCYXRjaCBjb29raW5nIG9mZmVycyBrZXkgYmVuZWZpdHMgd2hlbiBvcmdhbml6aW5nIHlvdXIgd2Vla2x5IG1lbnUgYW5kIGltcHJvdmluZyB5b3VyIHJlbGF0aW9uc2hpcCB3aXRoIGNvb2tpbmcgYW5kIGZvb2QuZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRPcHRpbWl6YXRpb24gb2YgV2Vla2x5IFRpbWUgYnkgQ29va2luZyBpbiBCdWxrbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEJ5IHByZXBhcmluZyBtdWx0aXBsZSBtZWFscyBpbiBhIHNpbmdsZSBzZXNzaW9uLCB5b3Ugc2F2ZSB0aW1lIGV2ZXJ5IGRheS4gWW91IGRvbuKAmXQgbmVlZCB0byB0aGluayBhYm91dCBkYWlseSBtZW51cyBvciBzcGVuZCBsb25nIHBlcmlvZHMgY29va2luZyB3aGVuIHlvdSBoYXZlIGxlc3MgZW5lcmd5LiBUaGlzIHN5c3RlbSBmcmVlcyB1cCBzZXZlcmFsIGhvdXJzIGEgd2VlayB0aGF0IHlvdSBjYW4gc3BlbmQgb24geW91cnNlbGYgb3IgeW91ciBmYW1pbHkuZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkFkdmFudGFnZXMgaW4gT3JnYW5pemF0aW9uOjwvc3Ryb25nPmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRMZXNzIHRpbWUgc3BlbnQgaW4gdGhlIGtpdGNoZW4gZHVyaW5nIHRoZSB3ZWVraW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRSZWR1Y3Rpb24gb2YgdW5mb3Jlc2VlbiBldmVudHMgYW5kIGVtZXJnZW5jaWVzIGR1ZSB0byB0aGUgbGFjayBvZiBwcmVwYXJlZCBtZWFsc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TW9yZSBmbGV4aWJpbGl0eSB0byBhZGFwdCB0aGUgbWVudSB0byBhbnkgY2hhbmdlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RWZmaWNpZW50IFBsYW5uaW5nIGZvciBhIEJhbGFuY2VkIGFuZCBWYXJpZWQgTWVudWxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRCYXRjaCBjb29raW5nIHJlcXVpcmVzIHNlbGVjdGluZyB2YXJpZWQgcmVjaXBlcyBhbmQgZm9vZHMgYmVmb3JlIHlvdSBzdGFydCBjb29raW5nLiBUaGlzIGFkdmFuY2UgcGxhbm5pbmcgaW1wcm92ZXMgeW91ciBkaWV0LCBhcyBpdCBhbGxvd3MgeW91IHRvOmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbmNsdWRlIG1vcmUgdmVnZXRhYmxlcywgbGVndW1lcywgYW5kIGZydWl0cyBpbiB5b3VyIGRpZXRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEVuc3VyZSB0aGUgYmFsYW5jZSBvZiBwcm90ZWlucywgY2FyYm9oeWRyYXRlcywgYW5kIGhlYWx0aHkgZmF0c2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QXZvaWQgcmVwZWF0aW5nIGRpc2hlcyBvciByZXNvcnRpbmcgdG8gbGVzcyBoZWFsdGh5IGZvb2QgZHVlIHRvIGxhY2sgb2YgdGltZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50T3JnYW5pemluZyBidWxrIHByZXBhcmF0aW9ucyBhbHNvIGhlbHBzIGFkYXB0IHBvcnRpb25zIGFuZCBtZWFscyB0byB0aGUgbnV0cml0aW9uYWwgbmVlZHMgb2YgZGlmZmVyZW50IGhvdXNlaG9sZCBtZW1iZXJzLmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U2lnbmlmaWNhbnQgUmVkdWN0aW9uIG9mIEZvb2QgV2FzdGVsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QnkgYWRqdXN0aW5nIHNob3BwaW5nIGFuZCByZWNpcGVzIHRvIHRoZSBwbGFubmVkIG1lbnUsIG1vcmUgaW5ncmVkaWVudHMgYXJlIHV0aWxpemVkLiBQcmVwYXJpbmcgdGhlIHdlZWsncyBmb29kIGFjY29yZGluZyB0byB3aGF0J3MgaW4gdGhlIHBhbnRyeSBvciBmcmlkZ2UgcmVkdWNlcyB0aGUgYW1vdW50IG9mIGZvb2QgdGhhdCBlbmRzIHVwIGluIHRoZSB0cmFzaC5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+S2V5IFBvaW50cyBvZiBCYXRjaCBDb29raW5nIHRvIExpbWl0IFdhc3RlOjwvc3Ryb25nPmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRVc2UgdGhlIG1vc3QgcGVyaXNoYWJsZSBwcm9kdWN0cyBmaXJzdGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U3RvcmUgbGVmdG92ZXIgcG9ydGlvbnMgZm9yIGNvbnN1bXB0aW9uIG9uIGxhdGVyIGRheXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFJlY2lwZXMgZGVzaWduZWQgdG8gdXNlIHVwIGxlc3MgY29tbW9uIGZvb2RzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRFY29ub21pYyBCZW5lZml0OiBIb3cgQmF0Y2ggQ29va2luZyBSZWR1Y2VzIENvc3RzbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEJhdGNoIGNvb2tpbmcgYWxzbyByZXByZXNlbnRzIGEgZGlyZWN0IHNhdmluZyBmb3IgeW91ciBwb2NrZXQuIFByZXBhcmluZyB3ZWVrbHkgbWVudXMgaGVscHMgYnV5IG9ubHkgd2hhdOKAmXMgbmVjZXNzYXJ5IGFuZCB0YWtlIGFkdmFudGFnZSBvZiBvZmZlcnMgb24gZnJlc2ggcHJvZHVjdHMgaW4gbGFyZ2VyIHF1YW50aXRpZXMuZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkhvdyB5b3Ugc2F2ZTo8L3N0cm9uZz5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QnkgcmVkdWNpbmcgd2FzdGUsIGxlc3MgaXMgYm91Z2h0aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJdCBhdm9pZHMgdGhlIHRlbXB0YXRpb24gb2Ygb3JkZXJpbmcgdGFrZW91dCBvciBidXlpbmcgZXhwZW5zaXZlIHByZXBhcmVkIGRpc2hlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QmFzaWMgaW5ncmVkaWVudHMgaW4gbGFyZ2UgcXVhbnRpdGllcyBhcmUgdXN1YWxseSBtb3JlIGVjb25vbWljYWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFVsdGltYXRlbHksIGJhdGNoIGNvb2tpbmcgYWxsb3dzIHlvdSB0byBjb250cm9sIHNwZW5kaW5nLCBvcHRpbWl6ZSBzaG9wcGluZywgYW5kIG1ha2UgYmV0dGVyIHVzZSBvZiBmb29kLCBiZWNvbWluZyBhbiBlZmZlY3RpdmUgdG9vbCBmb3IgYm90aCBoZWFsdGggYW5kIGhvdXNlaG9sZCBlY29ub215LmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SG93IHRvIE9yZ2FuaXplIFlvdXIgS2l0Y2hlbiBmb3IgQmF0Y2ggQ29va2luZ2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRQcmVwYXJpbmcgdGhlIGVudmlyb25tZW50IGJlZm9yZSBzdGFydGluZyBiYXRjaCBjb29raW5nIGlzIGtleSB0byBtYWtpbmcgdGhlIHdob2xlIHByb2Nlc3MgZmFzdCwgY29tZm9ydGFibGUsIGFuZCBlZmZpY2llbnQuZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDaGVjayBZb3VyIFBhbnRyeSBhbmQgRnJpZGdlbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEJlZm9yZSBwbGFubmluZyBhbnkgbWVudSwgaXQncyBpbXBvcnRhbnQgdG8ga25vdyBleGFjdGx5IHdoYXQgZm9vZHMgeW91IGhhdmUgYXQgaG9tZS4gVGhpcyBhdm9pZHMgdW5uZWNlc3NhcnkgcHVyY2hhc2VzLCBtYWtlcyB1c2Ugb2YgcHJvZHVjdHMgbmVhcmluZyBleHBpcmF0aW9uLCBhbmQgcmVkdWNlcyB3YXN0ZS4gRG8gYSB2aXN1YWwgY2hlY2sgYW5kIG5vdGUgZG93biBlc3NlbnRpYWwgaW5ncmVkaWVudHMsIGVzcGVjaWFsbHkgZnJlc2ggYW5kIHBlcmlzaGFibGUgb25lcy5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFBsYW4gYSBIZWFsdGh5IFdlZWtseSBNZW51bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudERlc2lnbiBhIHNpbXBsZSwgdmFyaWVkLCBhbmQgYmFsYW5jZWQgbWVudSBmb3IgdGhlIGVudGlyZSB3ZWVrLiBDb25zaWRlciB0aGUgY29tYmluYXRpb24gb2Y6ZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFNlYXNvbmFsIHZlZ2V0YWJsZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudExlZ3VtZXMgYW5kIHdob2xlIGdyYWluc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SGVhbHRoeSBwcm90ZWlucyAoYW5pbWFsIG9yIHBsYW50LWJhc2VkKWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RGlzaGVzIHRoYXQgY2FuIGJlIHJlaW52ZW50ZWQgd2l0aCBkaWZmZXJlbnQgZHJlc3NpbmdzIG9yIHNpZGUgZGlzaGVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDaG9vc2UgY29tcGF0aWJsZSByZWNpcGVzIHRoYXQgYWxsb3cgZm9yIHJldXNpbmcgYmFzZXMgYW5kIGRpc3RyaWJ1dGUgdGhlIGluZ3JlZGllbnRzIHRvIG9wdGltaXplIHRoZWlyIHVzZSBpbiB2YXJpb3VzIG1lYWxzLiBTdWNoIHBsYW5uaW5nIGhlbHBzIG1haW50YWluIGEgYmFsYW5jZWQgZGlldCBhbmQgYXZvaWRzIG1vbm90b255LmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50UHJlcGFyZSBhbiBFZmZlY3RpdmUgU2hvcHBpbmcgTGlzdGxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRXaXRoIHRoZSBtZW51IGluIGhhbmQgYW5kIHRoZSBwYW50cnkgY2hlY2tlZCwgbWFrZSBhIHRhaWxvcmVkIHNob3BwaW5nIGxpc3Q6ZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE5vdGUgZG93biBzcGVjaWZpYyBmb29kcyBhbmQgZXhhY3QgcXVhbnRpdGllcyB0byBhdm9pZCBleGNlc3Npbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFByaW9yaXRpemUgZnJlc2ggYW5kIHNlYXNvbmFsIHByb2R1Y3RzLCBhZGp1c3RpbmcgYWNjb3JkaW5nIHRvIHdoYXQgeW91IGFscmVhZHkgaGF2ZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SW5jbHVkZSBhaXJ0aWdodCBjb250YWluZXJzIGFuZCBzdG9yYWdlIGJhZ3MgaWYgbmVlZGVkaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIHByZWNpc2UgbGlzdCBwcmV2ZW50cyBmb3JnZXRmdWxuZXNzIGFuZCB1bm5lY2Vzc2FyeSBzcGVuZGluZyBhbmQgc3BlZWRzIHVwIHlvdXIgdmlzaXQgdG8gdGhlIHN1cGVybWFya2V0LmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50T3JnYW5pemUgVXRlbnNpbHMgZm9yIEVmZmljaWVudCBDb29raW5nbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEhhdmluZyBhbiBvcmRlcmVkIGtpdGNoZW4gYmVmb3JlIHlvdSBzdGFydCBtYWtlcyBiYXRjaCBjb29raW5nIG11Y2ggZWFzaWVyLiBQcmVwYXJlIGV2ZXJ5dGhpbmcgbmVjZXNzYXJ5OmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRQb3RzLCBwYW5zLCBvdmVuIHRyYXlzLCBhbmQgc3RlYW1lcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V2VsbC1zaGFycGVuZWQga25pdmVzIGFuZCBjdXR0aW5nIGJvYXJkc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U3RvcmFnZSBjb250YWluZXJzLCBwcmVmZXJhYmx5IG1hZGUgZnJvbSByZXVzYWJsZSBtYXRlcmlhbHNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFNwYXR1bGFzLCB0b25ncywgYW5kIGJhc2ljIHV0ZW5zaWxzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRQbGFjZSBpdGVtcyBhdCBoYW5kIGFjY29yZGluZyB0byB0aGUgb3JkZXIgeW91IHdpbGwgdXNlIHRoZW0uIFRoaXMgcmVkdWNlcyBzdG9wcywgb3B0aW1pemVzIHBhcmFsbGVsIGNvb2tpbmcsIGFuZCBrZWVwcyB0aGUgc3BhY2UgY2xlYW4gYW5kIHVuY2x1dHRlcmVkLmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V2l0aCB0aGlzIHByaW9yIG9yZ2FuaXphdGlvbiwgYmF0Y2ggY29va2luZyBiZWNvbWVzIGEgc2ltcGxlIHRhc2ssIGV2ZW4gZm9yIGJlZ2lubmVycy4gT25jZSB0aGUgcm91dGluZSBpcyB1bmRlcndheSwgdGhlIHdob2xlIHByb2Nlc3MgYmVjb21lcyBldmVuIG1vcmUgbmF0dXJhbCBhbmQgZWZmaWNpZW50IHdlZWsgYWZ0ZXIgd2Vlay5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFN0ZXBzIGZvciBTdWNjZXNzZnVsIEJhdGNoIENvb2tpbmdsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Rm9sbG93aW5nIGEgd2VsbC1zdHJ1Y3R1cmVkIG1ldGhvZG9sb2d5IG1ha2VzIGJhdGNoIGNvb2tpbmcgc2ltcGxlIGFuZCBlZmZpY2llbnQuIEhlcmUgYXJlIHRoZSBrZXlzIHRvIGNvbmR1Y3RpbmcgYSBwcm9kdWN0aXZlIHNlc3Npb24gYW5kIG9idGFpbmluZyB2YXJpZWQgbWVhbHMgdGhhdCBhcmUgcmVhZHkgZWFjaCB3ZWVrLmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U3RyYXRlZ2llcyB0byBQbGFuIHRoZSBXZWVrbHkgTWVudSBBZGVxdWF0ZWx5bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5DaGVjayB3aGF0IHlvdSBoYXZlOjwvc3Ryb25nPiBSZXZpZXcgdGhlIGNvbnRlbnRzIG9mIHRoZSBwYW50cnkgYW5kIGZyaWRnZSBiZWZvcmUgY3JlYXRpbmcgdGhlIG1lbnUgdG8gdXRpbGl6ZSBpbmdyZWRpZW50cyBhbmQgYXZvaWQgZHVwbGljYXRlIHB1cmNoYXNlcy5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+U2VsZWN0IGNvbXBhdGlibGUgcmVjaXBlczo8L3N0cm9uZz4gQ2hvb3NlIGRpc2hlcyB0aGF0IHNoYXJlIGluZ3JlZGllbnRzIG9yIGJhc2UgcHJlcGFyYXRpb25zLCBzdWNoIGFzIHJvYXN0ZWQgdmVnZXRhYmxlcywgY29va2VkIGdyYWlucywgb3Igc2F1Y2VzLCB0byBzaW1wbGlmeSB0aGUgd29yayBhbmQgbXVsdGlwbHkgcG9zc2libGUgY29tYmluYXRpb25zLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5EZXNpZ24gdmFyaWVkIG1lbnVzOjwvc3Ryb25nPiBBbHRlcm5hdGUgcHJvdGVpbnMsIHR5cGVzIG9mIHZlZ2V0YWJsZXMsIGFuZCBncmFpbnMsIGFuZCB0aGluayBvZiBvcHRpb25zIHRoYXQgYWxsb3cgZm9yIGJvdGggY29sZCBhbmQgaG90IGRpc2hlcy5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE1hc3MgUHJlcGFyYXRpb24gb2YgRm9vZCBCYXNlc2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREaXZpZGUgdGhlIGNvb2tpbmcgaW50byBibG9ja3M6ZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+R3JhaW5zOjwvc3Ryb25nPiBQcmVwYXJlIHJpY2UsIHF1aW5vYSwgb3IgcGFzdGEgaW4gbGFyZ2UgZW5vdWdoIHF1YW50aXRpZXMgZm9yIHNldmVyYWwgbWVhbHMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlByb3RlaW5zOjwvc3Ryb25nPiBDb29rIGxlZ3VtZXMsIGVnZ3MsIG1lYXRzLCBvciB0b2Z1IHRvIGRpc3RyaWJ1dGUgYWNyb3NzIGRpZmZlcmVudCBkaXNoZXMgb2YgdGhlIHdlZWsuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlZlZ2V0YWJsZXM6PC9zdHJvbmc+IFJvYXN0IHRyYXlzIG9mIHZlZ2V0YWJsZXMsIHN0ZWFtIHZlZ2V0YWJsZXMgb3IgbWFrZSBzYXV0w6llZCBiYXNlcy48YnI+VGhlc2UgYmFzZXMgYWxsb3cgZm9yIGNyZWF0aW5nIGNvbXBsZXRlIGFuZCBxdWljayBkaXNoZXMgYnkgY29tYmluaW5nIHRoZW0gYXMgbmVlZGVkLCBhZGRpbmcgZGlmZmVyZW50IHNlYXNvbmluZ3MuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRFZmZpY2llbnQgVXNlIG9mIHRoZSBPdmVuIGFuZCBTaW11bHRhbmVvdXMgQ29va2luZ3NsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUYWtlIGFkdmFudGFnZSBvZiB0aGUgb3ZlbiBjYXBhY2l0eSB0byByb2FzdCBtdWx0aXBsZSB2ZWdldGFibGVzIG9yIHByb3RlaW5zIHNpbXVsdGFuZW91c2x5LCBkaXN0cmlidXRpbmcgdGhlIGZvb2Qgb24gdHJheXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb29rIGluIHBhcmFsbGVsIG9uIHRoZSBzdG92ZSBhbmQgb3ZlbiwgdXNpbmcgbGFyZ2UgcG90cyBhbmQgZGlmZmVyZW50IG1ldGhvZHMgKHN0ZWFtLCBvdmVuLCBza2lsbGV0KSBzaW11bHRhbmVvdXNseS5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE9yZ2FuaXplIHRoZSBvcmRlciBvZiBwcmVwYXJhdGlvbnMgc28gdGhhdCB3aGlsZSBncmFpbnMgYXJlIGNvb2tpbmcsIHlvdSBjYW4gbW92ZSBvbiB3aXRoIHRoZSByZXN0IG9mIHRoZSBpbmdyZWRpZW50cy5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE1hbmFnaW5nIENvb2tpbmcgVGltZXMgdG8gTWF4aW1pemUgUHJvZHVjdGl2aXR5bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5Db29rIHdoYXQgdGFrZXMgbG9uZ2VyIGZpcnN0Ojwvc3Ryb25nPiBTdGFydCB3aXRoIGZvb2RzIHRoYXQgcmVxdWlyZSBtb3JlIHRpbWUsIGxpa2Ugcm9hc3RzIG9yIHN0ZXdzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5EaXZpZGUgdGFza3M6PC9zdHJvbmc+IFByZXBhcmUgYW5kIGN1dCBhbGwgdGhlIGluZ3JlZGllbnRzIGJlZm9yZSB0dXJuaW5nIG9uIHRoZSBoZWF0LiBUaGlzIHJlZHVjZXMgaW50ZXJydXB0aW9ucyBhbmQgaW1wcm92ZXMgdGhlIHBhY2UuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlVzZSB0aW1lcnM6PC9zdHJvbmc+IENvbnRyb2wgdGhlIGNvb2tpbmcgb2YgZWFjaCBwcmVwYXJhdGlvbiB0byBhdm9pZCBvdmVyY29va2luZyBhbmQgb3B0aW1pemUgdGhlIHRvdGFsIHRpbWUuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRQcmVzZXJ2YXRpb24gTWV0aG9kcyB0byBQcm9sb25nIHRoZSBMaWZlIG9mIFByZXBhcmVkIEZvb2RzbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U3RvcmUgZGlzaGVzIGluIGFpcnRpZ2h0IGNvbnRhaW5lcnMsIHByZWZlcmFibHkgcmV1c2FibGUgZ2xhc3MgYXMgcmVjb21tZW5kZWQgYnkgR3JlZW51c2UsIHRvIG1haW50YWluIGZyZXNobmVzcyBhbmQgYXZvaWQgY3Jvc3MtY29udGFtaW5hdGlvbi5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudERpdmlkZSBwb3J0aW9ucyBpbnRvIGluZGl2aWR1YWwgb3IgZmFtaWx5IHNlcnZpbmdzIHRvIGVhc2UgY29uc3VtcHRpb24uaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRMZXQgY29vbCB3ZWxsIGJlZm9yZSBwbGFjaW5nIGluIHRoZSBmcmlkZ2Ugb3IgZnJlZXplci5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudExhYmVsIGNvbnRhaW5lcnMgd2l0aCB0aGUgZGF0ZSBhbmQgY29udGVudHMgdG8gYmV0dGVyIG1vbml0b3IgYW5kIGVuc3VyZSBmb29kIHNhZmV0eS5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEZyZWV6ZSBkaXNoZXMgb3IgYmFzZXMgeW91IGRvbuKAmXQgcGxhbiB0byBjb25zdW1lIGluIGxlc3MgdGhhbiB0aHJlZSBkYXlzLiBUaGlzIG1haW50YWlucyB0aGUgdGV4dHVyZSBhbmQgZmxhdm9yIG9mIHByZXBhcmF0aW9ucy5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEJ5IGFwcGx5aW5nIHRoZXNlIHN0ZXBzLCBiYXRjaCBjb29raW5nIGJlY29tZXMgYSBzaW1wbGUgeWV0IGhpZ2hseSBlZmZlY3RpdmUgcm91dGluZSBmb3IgaGF2aW5nIGFsd2F5cyBob21lbWFkZSwgdmFyaWVkLCBhbmQgcmVhZHktdG8tc2VydmUgbWVhbHMuZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRCYXRjaCBDb29raW5nIFJlY2lwZXM6IEhlYWx0aHkgV2Vla2x5IE1lbnVsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QmF0Y2ggY29va2luZyBhbGxvd3MgeW91IHRvIGVuam95IGEgY29tcGxldGUsIHZhcmllZCwgYW5kIGJhbGFuY2VkIHdlZWtseSBtZW51IHdpdGggZGlmZmVyZW50IG9wdGlvbnMgc3VpdGVkIHRvIGFsbCB0YXN0ZXMuZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRNYWluIENvdXJzZSBTdWdnZXN0aW9ucyBmb3IgRWFjaCBEYXlsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VG8gb3JnYW5pemUgdGhlIHdlZWssIGl0J3MgdXNlZnVsIHRvIGNvbWJpbmUgYmFzZSBwcmVwYXJhdGlvbnMgYW5kIGFsdGVybmF0ZSBmb29kIGZhbWlsaWVzLiBFeGFtcGxlIG9mIGEgd2Vla2x5IG1lbnU6ZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+TW9uZGF5Ojwvc3Ryb25nPiBMZW50aWwgc3RldyB3aXRoIHZlZ2V0YWJsZXMgYW5kIGJyb3duIHJpY2Vpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+VHVlc2RheTo8L3N0cm9uZz4gUm9hc3QgY2hpY2tlbiB3aXRoIHBvdGF0b2VzIGFuZCBncmVlbiBsZWFmIHNhbGFkaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPldlZG5lc2RheTo8L3N0cm9uZz4gQ2hpY2twZWEgc3RldyB3aXRoIHNwaW5hY2ggYW5kIGhhcmQtYm9pbGVkIGVnZ2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5UaHVyc2RheTo8L3N0cm9uZz4gU3RlYW1lZCBoYWtlIHdpdGggYnJvY2NvbGkgYW5kIHJvYXN0ZWQgc3dlZXQgcG90YXRvZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+RnJpZGF5Ojwvc3Ryb25nPiBTdGlyLWZyaWVkIHRvZnUgYW5kIG11c2hyb29tcyB3aXRoIHJpY2Ugbm9vZGxlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5TYXR1cmRheTo8L3N0cm9uZz4gSG9tZW1hZGUgcmF0YXRvdWlsbGUgd2l0aCB0dXJrZXkgZmlsbGV0cyBvciB0ZW1wZWhpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+U3VuZGF5Ojwvc3Ryb25nPiBIdW1tdXMgd2l0aCBjYXJyb3Qgc3RpY2tzIGFuZCBjaGlja3BlYSBzYWxhZGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QWx0ZXJuYXRlIHByZXBhcmVkIGJhc2VzIChsZWd1bWVzLCByaWNlLCBwYXN0YSwgb3IgdmVnZXRhYmxlcykgdG8gc2F2ZSB0aW1lIHdpdGhvdXQgbG9zaW5nIHZhcmlldHkuZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbmNsdXNpdmUgVmVnYW4gYW5kIFZlZ2V0YXJpYW4gUmVjaXBlIE9wdGlvbnNsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QmF0Y2ggY29va2luZyBpcyBlYXNpbHkgYWRhcHRhYmxlIHRvIHBsYW50LWJhc2VkIGRpZXRzLiBTb21lIGlkZWFzOmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRMZW50aWwgYW5kIG9hdHMgbWVhdGJhbGxzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDaGlja3BlYSBhbmQgcHVtcGtpbiBjdXJyeWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U3Rpci1mcnkgdG9mdSB3aXRoIHNlYXNvbmFsIHZlZ2V0YWJsZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEJlYW4gYW5kIGNhcnJvdCBidXJnZXJzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb2xkIHNhbGFkIHdpdGggd2hvbGUgd2hlYXQgcGFzdGEsIGNoZXJyeSB0b21hdG9lcywgb2xpdmVzLCBhbmQgYmFzaWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoZXNlIGRpc2hlcyBhcmUgcmljaCBpbiBwbGFudCBwcm90ZWluIGFuZCBmaWJlciBhbmQga2VlcCB3ZWxsIGluIHRoZSBmcmlkZ2UgZm9yIHNldmVyYWwgZGF5cy5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudERyZXNzaW5nIGFuZCBTYXVjZSBSZWNpcGVzIHRvIERpdmVyc2lmeSBGbGF2b3JzbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFByZXBhcmluZyBhIHNlbGVjdGlvbiBvZiBiYXNlIHNhdWNlcyB0cmFuc2Zvcm1zIGRpc2hlcy4gU29tZSBwcm9wb3NhbHM6ZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENsYXNzaWMgdmluYWlncmV0dGUgd2l0aCBvbGl2ZSBvaWwsIHZpbmVnYXIsIGFuZCBtdXN0YXJkaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRZb2d1cnQgc2F1Y2Ugd2l0aCBkaWxsIGFuZCBsZW1vbmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGFoaW5pIHdpdGggbGVtb24ganVpY2UgYW5kIGdhcmxpY2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QmFzaWwgb3IgYXJ1Z3VsYSBwZXN0b2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SG9tZW1hZGUgdG9tYXRvIHNhdWNlaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRQcmVzZXJ2aW5nIHNldmVyYWwgc2F1Y2VzIGluIHNtYWxsIGphcnMgYWxsb3dzIGZvciBwZXJzb25hbGl6aW5nIGVhY2ggZGlzaCBhY2NvcmRpbmcgdG8gdGhlIGRheS5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFN1Z2dlc3Rpb25zIGZvciBOdXRyaXRpb3VzIENyZWFtcywgUHVyZWVzLCBhbmQgQ29sZCBTb3Vwc2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDcmVhbXMgYW5kIHNvdXBzIGFkZCB2YXJpZXR5IGFuZCBoZWxwIGNvbXBsZXRlIHRoZSBtZW51OmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRadWNjaGluaSBhbmQgbGVlayBjcmVhbSB3aXRoIHdob2xlLXdoZWF0IGNyb3V0b25zaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUcmFkaXRpb25hbCBnYXpwYWNobyBvciB0b21hdG8gc2FsbW9yZWpvaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDYXJyb3QgYW5kIGdpbmdlciBwdXJlZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q29sZCBjdWN1bWJlciBhbmQgeW9ndXJ0IHNvdXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENhdWxpZmxvd2VyIGFuZCBhcHBsZSBjcmVhbWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhlc2Ugb3B0aW9ucyBjYW4gYmUgdGFrZW4gZWl0aGVyIGNvbGQgb3IgaG90IGFuZCBhcmUgcHJlcGFyZWQgaW4gbGFyZ2UgcXVhbnRpdGllcy5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFZlZ2V0YWJsZSBQcmVwYXJhdGlvbnM6IFN0aXItZnJpZXMsIEJvaWxlZCwgYW5kIFJvYXN0ZWRsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U3RlYW1lZCBvciByb2FzdGVkIHZlZ2V0YWJsZXMgYXJlIGVzc2VudGlhbCBkdWUgdG8gdGhlaXIgcHJlc2VydmF0aW9uIGFuZCB2ZXJzYXRpbGl0eS4gU29tZSBpZGVhczpkcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50T3Zlbi1iYWtlZCB2ZWdldGFibGUgdHJheTogZWdncGxhbnQsIHp1Y2NoaW5pLCBwZXBwZXJzLCBhbmQgb25pb25pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEJvaWxlZCBjYXVsaWZsb3dlciBhbmQgYnJvY2NvbGkgYXMgYSBzaWRlIGRpc2ggb3IgdG9ydGlsbGEgYmFzZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U3Rpci1mcmllcyBvZiBjYXJyb3RzLCBncmVlbiBiZWFucywgYW5kIGdhcmxpY2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Um9hc3RlZCBzd2VldCBwb3RhdG8gYW5kIGJlZXRyb290aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTYXV0w6llZCBzcGluYWNoIHdpdGggY2hpY2twZWFzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRLZWVwaW5nIHZlZ2V0YWJsZXMgaW4gc2VwYXJhdGUgY29udGFpbmVycyBhbGxvd3MgZm9yIG1peGluZyBhbmQgYWRhcHRpbmcgYWNjb3JkaW5nIHRvIGx1bmNoIG9yIGRpbm5lciwgZW5zdXJpbmcgYSBoZWFsdGh5IGRpZXQgdGhyb3VnaG91dCB0aGUgd2Vlay5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFByYWN0aWNhbCBUaXBzIGZvciBQZXJmZWN0IEJhdGNoIENvb2tpbmdsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QWNoaWV2aW5nIGVmZmljaWVudCBhbmQgdmFyaWVkIGJhdGNoIGNvb2tpbmcgZGVwZW5kcyBvbiBzbWFsbCBkZXRhaWxzIGluIG9yZ2FuaXphdGlvbiwgc3RvcmFnZSwgYW5kIGNyZWF0aXZpdHkgaW4gdGhlIGtpdGNoZW4uIEhlcmUgYXJlIGluc2lnaHRzIHRvIG1ha2UgdGhlIG1vc3Qgb3V0IG9mIGJhdGNoIHByZXBhcmF0aW9uLmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGlwcyB0byBNYXhpbWl6ZSBUaW1lIFNhdmluZ3MgaW4gdGhlIEtpdGNoZW5sZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlByZXBhcmUgYWxsIGluZ3JlZGllbnRzIGJlZm9yZWhhbmQ6PC9zdHJvbmc+IFdhc2gsIHBlZWwsIGFuZCBjdXQgdGhlIHZlZ2V0YWJsZXMgYWxsIGF0IG9uY2UgdG8gc3BlZWQgdXAgdGhlIGNvb2tpbmcuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlVzZSBtdWx0aXBsZSBoZWF0IHNvdXJjZXMgYXQgb25jZTo8L3N0cm9uZz4gQ29vayBpbiB0aGUgb3ZlbiwgcG90LCBhbmQgcGFuIHNpbXVsdGFuZW91c2x5IHRvIG9wdGltaXplIGlkbGUgdGltZXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkdyb3VwIHNpbWlsYXIgcHJlcGFyYXRpb25zOjwvc3Ryb25nPiBSb2FzdCBkaWZmZXJlbnQgdmVnZXRhYmxlcyBzaW11bHRhbmVvdXNseSBvciBib2lsIHNldmVyYWwgZ3JhaW5zIHRvZ2V0aGVyIGFuZCBzZXBhcmF0ZSB0aGVtIGFmdGVyd2FyZCwgYXMgbG9uZyBhcyB0aGUgdGltZXMgYXJlIGNvbXBhdGlibGUuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlVzZSBtdWx0aXB1cnBvc2UgdXRlbnNpbHM6PC9zdHJvbmc+IEEgcG93ZXJmdWwgYmxlbmRlciBvciBhIGxhcmdlIHBvdCBhbGxvd3MgeW91IHRvIHByZXBhcmUgbW9yZSBxdWFudGl0aWVzIGluIGxlc3MgdGltZS5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRlY2huaXF1ZXMgZm9yIFByb3Blcmx5IFByZXNlcnZpbmcgUHJlcGFyZWQgRm9vZHNsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTdG9yZSBkaXNoZXMgaW4gYWlydGlnaHQgYW5kIHJlc2lzdGFudCBjb250YWluZXJzIHRvIG1haW50YWluIGZyZXNobmVzcyBhbmQgYXZvaWQgY29udGFtaW5hdGlvbi5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEl0J3MgaW1wb3J0YW50IHRvIGxldCBmb29kcyBjb29sIGJlZm9yZSBjb3ZlcmluZyBhbmQgc3RvcmluZyB0aGVtIGluIHRoZSBmcmlkZ2Ugb3IgZnJlZXplci5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFNlcGFyYXRlIGludG8gaW5kaXZpZHVhbCBvciBmYW1pbHkgcG9ydGlvbnMgdG8gdGFrZSBvdXQgb25seSB3aGF0J3MgbmVlZGVkIGZvciBlYWNoIG1lYWwsIHByb2xvbmdpbmcgcHJlc2VydmF0aW9uLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Rm9yIGZyb3plbiBmb29kcywgbGVhdmUgc3BhY2UgaW4gdGhlIGNvbnRhaW5lciBmb3IgbGlxdWlkIGV4cGFuc2lvbiBhbmQgdXNlIGNvbnRhaW5lcnMgc3VpdGFibGUgZm9yIGxvdyB0ZW1wZXJhdHVyZXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRNZXRob2RzIG9mIFN0b3JhZ2UgT3JnYW5pemF0aW9uIGFuZCBMYWJlbGluZ2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+QWx3YXlzIGxhYmVsIGNvbnRhaW5lcnM6PC9zdHJvbmc+IFdyaXRlIGRvd24gdGhlIHByZXBhcmF0aW9uIGRhdGUgYW5kIGNvbnRlbnQgb24gZWFjaCBjb250YWluZXIuIFRoaXMgaGVscHMgY29uc3VtZSBmaXJzdCB3aGF04oCZcyBtb3JlIGF0IHJpc2sgb2Ygc3BvaWxpbmcuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPk9yZ2FuaXplIGZyaWRnZSBhbmQgZnJlZXplciBieSBjYXRlZ29yaWVzOjwvc3Ryb25nPiBQdXQgdGhlIG1vc3QgcGVyaXNoYWJsZSBpdGVtcyBpbiB2aWV3IGFuZCBvcmRlciBieSB0eXBlOiBwcm90ZWlucywgdmVnZXRhYmxlcywgc2F1Y2VzLCBncmFpbnMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRVc2UgdHJhbnNwYXJlbnQgY29udGFpbmVycyBvciB0aG9zZSB3aXRoIHdpbmRvd3MgdG8gaWRlbnRpZnkgYXQgYSBnbGFuY2Ugd2hhdCB5b3UgaGF2ZSBhbmQgYXZvaWQgZHVwbGljaXRpZXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTdHJhdGVnaWVzIHRvIFJldXNlIExlZnRvdmVycyBhbmQgTWFpbnRhaW4gTWVudSBJbnRlcmVzdGxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFR1cm4gbGVmdG92ZXJzIGludG8gbmV3IGRpc2hlczogZ3JpbGxlZCB2ZWdldGFibGVzIGZvciBhIGZyaXR0YXRhLCBwcmV2aW91cyBkYXkncyByaWNlIGludG8gYSB3YXJtIHNhbGFkLCBvciBsZWd1bWVzIGludG8gYSBzcGljZWQgY3JlYW0uaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDaGFuZ2UgdGV4dHVyZXMgYW5kIGZsYXZvcnMgdXNpbmcgZGlmZmVyZW50IGRyZXNzaW5ncyBvciBiYXNlIHNhdWNlcy5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEZyZWV6ZSBwcmVwYXJhdGlvbnMgeW91IHdvbuKAmXQgY29uc3VtZSBpbiB0d28gdG8gdGhyZWUgZGF5cy5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudElmIHlvdSBoYXZlIHNtYWxsIGFtb3VudHMgb2YgdmFyaW91cyBwcmVwYXJhdGlvbnMsIGNvbWJpbmUgaW50byBhIHZhcmllZCBib3dsLXR5cGUgQnVkZGhhIGJvd2wsIG1peGluZyBiYXNlcywgcHJvdGVpbnMsIGFuZCB2ZWdldGFibGVzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V2l0aCB0aGVzZSB0aXBzLCB5b3VyIGJhdGNoIGNvb2tpbmcgd2lsbCBiZSBtb3JlIHByYWN0aWNhbCwgc2FmZSwgYW5kIHZhcmllZCwgYWxsb3dpbmcgYSBoZWFsdGh5IGRpZXQgYW5kIGF2b2lkaW5nIG1vbm90b255IHRocm91Z2hvdXQgdGhlIHdlZWsuZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRGcmVxdWVudGx5IEFza2VkIFF1ZXN0aW9ucyBBYm91dCBCYXRjaCBDb29raW5nbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEJlbG93LCBjb21tb24gcXVlc3Rpb25zIGFyZSByZXNvbHZlZCBmb3IgbWF4aW1pemluZyB0aGUgYmVuZWZpdHMgb2YgYmF0Y2ggY29va2luZyBzYWZlbHkgYW5kIHByYWN0aWNhbGx5LmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U2hlbGYgTGlmZSBvZiBQcmVwYXJlZCBEaXNoZXNsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkluIHRoZSBmcmlkZ2U6PC9zdHJvbmc+IENvb2tlZCBkaXNoZXMgcmVtYWluIGluIGdvb2QgY29uZGl0aW9uIGZvciAzIHRvIDUgZGF5cyBpZiBzdG9yZWQgaW4gYWlydGlnaHQgY29udGFpbmVycyBhbmQgYXQgdGhlIHJpZ2h0IHRlbXBlcmF0dXJlLiBTdGV3cywgY3JlYW1zLCBhbmQgZ3JhaW5zIGxhc3QgdXAgdG8gNCBkYXlzLCB3aGlsZSBtZWF0cyBhbmQgZmlzaCBzaG91bGQgaWRlYWxseSBiZSBjb25zdW1lZCB3aXRoaW4gMi0zIGRheXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkluIHRoZSBmcmVlemVyOjwvc3Ryb25nPiBQcmVwYXJhdGlvbnMgY2FuIGJlIHN0b3JlZCBmb3IgdXAgdG8gMiBvciAzIG1vbnRocyB3aXRob3V0IGxvc2luZyBmbGF2b3Igb3IgdGV4dHVyZS4gSXTigJlzIHByZWZlcmFibGUgdG8gc2VwYXJhdGUgaW50byBwb3J0aW9ucyBhbmQgbGFiZWwgd2l0aCB0aGUgZGF0ZSB0byBjb25zdW1lIGJlZm9yZSB0aGlzIHBlcmlvZCBleHBpcmVzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5TYXVjZXMgYW5kIGRyZXNzaW5nczo8L3N0cm9uZz4gQmVzdCBpbiBzbWFsbCBjb250YWluZXJzLCBiZXR3ZWVuIDMgYW5kIDUgZGF5cyByZWZyaWdlcmF0ZWQuIElmIHRoZXkgY29udGFpbiBkYWlyeSBvciBlZ2dzLCBjb25zdW1lIHNvb25lci5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudElkZWFsIEZvb2RzIGZvciBCYXRjaCBDb29raW5nIGFuZCBUaGVpciBQcm9wZXJ0aWVzbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5MZWd1bWVzOjwvc3Ryb25nPiBTdWl0YWJsZSBmb3IgYnVsayBwcmVwYXJhdGlvbiBhbmQgdG8gYmUgdXNlZCBjb2xkIG9yIGhvdC4gUmljaCBpbiBmaWJlciwgcGxhbnQgcHJvdGVpbiwgYW5kIG1pbmVyYWxzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5XaG9sZSBncmFpbnM6PC9zdHJvbmc+IFJpY2UsIHF1aW5vYSwgbWlsbGV0LCBidWxndXIsIGFuZCBvdGhlcnMgYXJlIGVhc3kgdG8gc3RvcmUgYW5kIGNvbWJpbmUgaW4gbWFpbiBkaXNoZXMsIHNhbGFkcywgb3Igc2lkZXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlZlZ2V0YWJsZXMgYW5kIHJvb3RzOjwvc3Ryb25nPiBXb3JrIHdlbGwgcm9hc3RlZCwgc3RlYW1lZCwgb3IgYm9pbGVkLiBBZGFwdCB0byBtYW55IHJlY2lwZXMgYW5kIHByb3ZpZGUgYSB2aXRhbWluIHZhcmlldHkuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlBsYW50IGFuZCBhbmltYWwgcHJvdGVpbnM6PC9zdHJvbmc+IEVnZ3MsIHRvZnUsIGZpc2gsIG9yIGxlYW4gbWVhdHMgYXJlIGNvb2tlZCBpbiBxdWFudGl0eSBhbmQgYWxsb3cgZm9yIHJlYWR5IG1lYWxzIG9yIHJldXNlIGluIHNlY29uZGFyeSBkaXNoZXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkNyZWFtcyBhbmQgc291cHM6PC9zdHJvbmc+IEtlZXAgd2VsbCBmb3Igc2V2ZXJhbCBkYXlzLCBhcmUgdmVyc2F0aWxlLCBhbmQgaGVscCBjb21wbGV0ZSB0aGUgd2Vla2x5IGRpZXQuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGVzZSBmb29kcyBzdGFuZCBvdXQgZm9yIHRoZWlyIGdvb2QgcHJlc2VydmF0aW9uLCBlYXNlIG9mIHByZXBhcmF0aW9uLCBhbmQgY29tYmluYXRpb24gcG9zc2liaWxpdGllcywgZmFjaWxpdGF0aW5nIGJhbGFuY2VkIG1lbnVzLmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QWRhcHRhdGlvbnMgZm9yIEFwcGx5aW5nIEJhdGNoIENvb2tpbmcgd2l0aCBUaW1lIENvbnN0cmFpbnRzbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5EaXZpZGUgdGhlIHByb2Nlc3M6PC9zdHJvbmc+IElmIHlvdSBkb27igJl0IGhhdmUgc2V2ZXJhbCBob3VycyBpbiBvbmUgZ28sIGRldm90ZSAyMC0zMCBtaW51dGVzIGF0IGRpZmZlcmVudCB0aW1lcyBvZiB0aGUgd2VlayB0byBwcmVwYXJlIHBvcnRpb25zLCBjb29rIGdyYWlucywgb3Igcm9hc3QgdmVnZXRhYmxlcy5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+Q29vayB3aGlsZSBkb2luZyBvdGhlciB0YXNrczo8L3N0cm9uZz4gVXNlIHRoZSBvdmVuIGFuZCBwb3RzIGZvciBtdWx0aXRhc2tpbmcsIGV2ZW4gd2hpbGUgdGlkeWluZyB1cCB0aGUga2l0Y2hlbiBvciBwcmVwYXJpbmcgdGhlIGRheSdzIG1lYWwuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlF1aWNrIGFuZCBiYXNpYyByZWNpcGVzOjwvc3Ryb25nPiBDaG9vc2Ugc2ltcGxlIHByZXBhcmF0aW9ucyBmb3IgYnVzaWVyIGRheXMsIGxpa2UgYmxlbmRlciBjcmVhbXMsIGNvbXBsZXRlIHNhbGFkcywgb3IgdmVnZXRhYmxlIHN0aXItZnJpZXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkFkanVzdCBxdWFudGl0aWVzOjwvc3Ryb25nPiBQcmVwYXJlIHNtYWxsZXIgYW1vdW50cyBpZiB5b3VyIHRpbWUgb3Igc3BhY2UgaXMgbGltaXRlZCwgZm9jdXNpbmcgb24gc3RhcGxlIGRpc2hlcyB5b3UgY2FuIHZhcnkgaW4gZGlmZmVyZW50IGZvcm1zLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V2l0aCB0aGVzZSBhbnN3ZXJzLCBiYXRjaCBjb29raW5nIGJlY29tZXMgYWNjZXNzaWJsZSBldmVuIHdpdGggdGlnaHQgc2NoZWR1bGVzLCBlbnN1cmluZyBhIHZhcmllZCBhbmQgcHJhY3RpY2FsIGRpZXQgd2Vlay10by13ZWVrLmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb248IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QmF0Y2ggY29va2luZyBhbGxvd3MgeW91IHRvIG9yZ2FuaXplIG1lYWxzIGZvciB0aGUgd2VlayBpbiBhIHNpbmdsZSBjb29raW5nIHNlc3Npb24uIFRoaXMgd2F5LCB5b3Ugc2F2ZSB0aW1lLCByZWR1Y2UgZGFpbHkgc3RyZXNzLCBhbmQgZW5zdXJlIHRoYXQgeW91ciBkaWV0IGlzIG1vcmUgdmFyaWVkIGFuZCBoZWFsdGh5LiBXaXRoIGdvb2QgcGxhbm5pbmcgYW5kIHNpbXBsZSByZWNpcGVzLCBoYXZpbmcgbWVhbHMgcmVhZHkgZm9yIGVhY2ggZGF5IGlzIHBvc3NpYmxlIGFuZCBtdWNoIGVhc2llciB0aGFuIGl0IHNlZW1zLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPldoYXQgaXMgQmF0Y2ggQ29va2luZyBhbmQgV2h5IGlzIGl0IFRyZW5kaW5nPzwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5CYXRjaCBjb29raW5nPC9zdHJvbmc+IGNvbnNpc3RzIG9mIGRlZGljYXRpbmcgYSBmZXcgaG91cnMsIHVzdWFsbHkgb24gdGhlIHdlZWtlbmQsIHRvIGNvb2sgYW5kIHByZXBhcmUgc2V2ZXJhbCBtZWFscyBmb3IgdGhlIGVudGlyZSB3ZWVrIGluIGJ1bGsuIEl0IGludm9sdmVzIHBsYW5uaW5nIHRoZSBtZW51IGluIGFkdmFuY2UgYW5kIG1ha2luZyBkaWZmZXJlbnQgZGlzaGVzIG9yIGJhc2VzIHN1Y2ggYXMgcm9hc3RlZCB2ZWdldGFibGVzLCBncmFpbnMsIGxlZ3VtZXMsIG9yIHByb3RlaW5zLiBUaGVzZSBwcmVwYXJhdGlvbnMgYXJlIHN0b3JlZCBpbiBhaXJ0aWdodCBjb250YWluZXJzIGluIHRoZSBmcmlkZ2Ugb3IgZnJlZXplciwgcmVhZHkgdG8gYmUgY29tYmluZWQgYW5kIGFzc2VtYmxlZCBpbnRvIHZhcmllZCBkaXNoZXMgZWFjaCBkYXkgd2l0aG91dCBoYXZpbmcgdG8gY29vayBmcm9tIHNjcmF0Y2guPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5NYWluIEFkdmFudGFnZXMgb2YgQmF0Y2ggQ29va2luZzwvc3Ryb25nPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5UaW1lLXNhdmluZzo8L3N0cm9uZz4gQ2VudHJhbGl6aW5nIHRoZSBjb29raW5nIGludG8gb25lIHNlc3Npb24gZnJlZXMgdXAgaG91cnMgdGhyb3VnaG91dCB0aGUgd2Vlay4gSXQgc2ltcGxpZmllcyBkYWlseSB0YXNrcyBhbmQgYXZvaWRzIHRoZSBjb25zdGFudCBxdWVzdGlvbiBvZiB3aGF0IHRvIGVhdC48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+U3RyZXNzIHJlZHVjdGlvbjo8L3N0cm9uZz4gUGxhbm5pbmcgaW4gYWR2YW5jZSBhbmQgaGF2aW5nIG1lYWxzIHJlYWR5IGRlY3JlYXNlcyBkYWlseSBwcmVzc3VyZSBhbmQgaGVscHMgbWFpbnRhaW4gYSBjb25zaXN0ZW50IGRpZXQsIGV2ZW4gb24gdW5leHBlY3RlZCBidXN5IGRheXMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPkVmZmljaWVudCBvcmdhbml6YXRpb246PC9zdHJvbmc+IEJhdGNoIGNvb2tpbmcgZmFjaWxpdGF0ZXMgY29udHJvbCBvZiB0aGUgZm9vZCBpbiB0aGUgcGFudHJ5IGFuZCBmcmlkZ2UuIEl0IGFsbG93cyBmb3IgYnV5aW5nIGp1c3QgZW5vdWdoLCBiZXR0ZXIgdXNlIG9mIGZyZXNoIGluZ3JlZGllbnRzLCBhbmQgbWluaW1pemVzIGZvb2Qgd2FzdGUuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+VHJlbmQgaW4gSGVhbHRoeSBFYXRpbmc8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoZSByaXNlIG9mIGJhdGNoIGNvb2tpbmcgaXMgaW4gcmVzcG9uc2UgdG8gdGhlIG5lZWQgZm9yIGEgaGVhbHRoaWVyIGFuZCBtb3JlIG9yZ2FuaXplZCBsaWZlLiBDb29raW5nIGluIGJhdGNoZXMgZW5jb3VyYWdlcyBkZXNpZ25pbmcgYmFsYW5jZWQgbWVudXMgdGhhdCBpbmNsdWRlIHZlZ2V0YWJsZXMsIGxlZ3VtZXMsIHByb3RlaW5zLCBhbmQgZ3JhaW5zLCBwcm9tb3RpbmcgdmFyaWV0eSBhbmQgdGhlIGNvbnN1bXB0aW9uIG9mIGZyZXNoIHByb2R1Y3RzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkluIHJlY2VudCB5ZWFycywgdGhlIHRyZW5kIHRvd2FyZHMgYmF0Y2ggY29va2luZyBoYXMgZ3Jvd24gYW1vbmcgdGhvc2Ugc2Vla2luZyB0byBvcHRpbWl6ZSB0aGVpciB0aW1lIHdoaWxlIHN0aWxsIGVhdGluZyB3ZWxsLiBJbnNwaXJhdGlvbiBhbmQgcmVjaXBlcyBhcmUgc2hhcmVkIG9uIHNvY2lhbCBtZWRpYSBhbmQgb25saW5lIGdyb3VwcywgY29uc29saWRhdGluZyB0aGUgcHJhY3RpY2UgYXMgYSByZWFsaXN0aWMgb3B0aW9uIHRvIG1haW50YWluIGEgaGVhbHRoeSBkaWV0IHdpdGggbGl0dGxlIGVmZm9ydCBkdXJpbmcgdGhlIHdlZWsuIEFkZGl0aW9uYWxseSwgdGhpcyB0ZWNobmlxdWUgc3VwcG9ydHMgc3VzdGFpbmFibGUgdmFsdWVzLCBhcyBpdCBoZWxwcyByZWR1Y2Ugd2FzdGUgYW5kIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiBlbmVyZ3kgYW5kIHJlc291cmNlcyBpbiB0aGUga2l0Y2hlbi48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPkluIHN1bW1hcnk6PC9zdHJvbmc+IEJhdGNoIGNvb2tpbmcgaXMgb24gdGhlIHJpc2UgYmVjYXVzZSBpdCBmYWNpbGl0YXRlcyBoYXZpbmcgYSB2YXJpZWQgd2Vla2x5IG1lbnUsIHNhdmVzIHRpbWUsIGltcHJvdmVzIG9yZ2FuaXphdGlvbiwgYW5kIHJlc3BvbmRzIHRvIGEgZ3Jvd2luZyBpbnRlcmVzdCBpbiBmb29kIGhlYWx0aCBhbmQgc3VzdGFpbmFiaWxpdHkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+QWR2YW50YWdlcyBvZiBCYXRjaCBDb29raW5nPC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5CYXRjaCBjb29raW5nIG9mZmVycyBrZXkgYmVuZWZpdHMgd2hlbiBvcmdhbml6aW5nIHlvdXIgd2Vla2x5IG1lbnUgYW5kIGltcHJvdmluZyB5b3VyIHJlbGF0aW9uc2hpcCB3aXRoIGNvb2tpbmcgYW5kIGZvb2QuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+T3B0aW1pemF0aW9uIG9mIFdlZWtseSBUaW1lIGJ5IENvb2tpbmcgaW4gQnVsazwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QnkgcHJlcGFyaW5nIG11bHRpcGxlIG1lYWxzIGluIGEgc2luZ2xlIHNlc3Npb24sIHlvdSBzYXZlIHRpbWUgZXZlcnkgZGF5LiBZb3UgZG9u4oCZdCBuZWVkIHRvIHRoaW5rIGFib3V0IGRhaWx5IG1lbnVzIG9yIHNwZW5kIGxvbmcgcGVyaW9kcyBjb29raW5nIHdoZW4geW91IGhhdmUgbGVzcyBlbmVyZ3kuIFRoaXMgc3lzdGVtIGZyZWVzIHVwIHNldmVyYWwgaG91cnMgYSB3ZWVrIHRoYXQgeW91IGNhbiBzcGVuZCBvbiB5b3Vyc2VsZiBvciB5b3VyIGZhbWlseS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPkFkdmFudGFnZXMgaW4gT3JnYW5pemF0aW9uOjwvc3Ryb25nPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+TGVzcyB0aW1lIHNwZW50IGluIHRoZSBraXRjaGVuIGR1cmluZyB0aGUgd2VlazwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+UmVkdWN0aW9uIG9mIHVuZm9yZXNlZW4gZXZlbnRzIGFuZCBlbWVyZ2VuY2llcyBkdWUgdG8gdGhlIGxhY2sgb2YgcHJlcGFyZWQgbWVhbHM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPk1vcmUgZmxleGliaWxpdHkgdG8gYWRhcHQgdGhlIG1lbnUgdG8gYW55IGNoYW5nZXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5FZmZpY2llbnQgUGxhbm5pbmcgZm9yIGEgQmFsYW5jZWQgYW5kIFZhcmllZCBNZW51PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5CYXRjaCBjb29raW5nIHJlcXVpcmVzIHNlbGVjdGluZyB2YXJpZWQgcmVjaXBlcyBhbmQgZm9vZHMgYmVmb3JlIHlvdSBzdGFydCBjb29raW5nLiBUaGlzIGFkdmFuY2UgcGxhbm5pbmcgaW1wcm92ZXMgeW91ciBkaWV0LCBhcyBpdCBhbGxvd3MgeW91IHRvOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+SW5jbHVkZSBtb3JlIHZlZ2V0YWJsZXMsIGxlZ3VtZXMsIGFuZCBmcnVpdHMgaW4geW91ciBkaWV0PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5FbnN1cmUgdGhlIGJhbGFuY2Ugb2YgcHJvdGVpbnMsIGNhcmJvaHlkcmF0ZXMsIGFuZCBoZWFsdGh5IGZhdHM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkF2b2lkIHJlcGVhdGluZyBkaXNoZXMgb3IgcmVzb3J0aW5nIHRvIGxlc3MgaGVhbHRoeSBmb29kIGR1ZSB0byBsYWNrIG9mIHRpbWU8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Pcmdhbml6aW5nIGJ1bGsgcHJlcGFyYXRpb25zIGFsc28gaGVscHMgYWRhcHQgcG9ydGlvbnMgYW5kIG1lYWxzIHRvIHRoZSBudXRyaXRpb25hbCBuZWVkcyBvZiBkaWZmZXJlbnQgaG91c2Vob2xkIG1lbWJlcnMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+U2lnbmlmaWNhbnQgUmVkdWN0aW9uIG9mIEZvb2QgV2FzdGU8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkJ5IGFkanVzdGluZyBzaG9wcGluZyBhbmQgcmVjaXBlcyB0byB0aGUgcGxhbm5lZCBtZW51LCBtb3JlIGluZ3JlZGllbnRzIGFyZSB1dGlsaXplZC4gUHJlcGFyaW5nIHRoZSB3ZWVrJ3MgZm9vZCBhY2NvcmRpbmcgdG8gd2hhdCdzIGluIHRoZSBwYW50cnkgb3IgZnJpZGdlIHJlZHVjZXMgdGhlIGFtb3VudCBvZiBmb29kIHRoYXQgZW5kcyB1cCBpbiB0aGUgdHJhc2guPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5LZXkgUG9pbnRzIG9mIEJhdGNoIENvb2tpbmcgdG8gTGltaXQgV2FzdGU6PC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5Vc2UgdGhlIG1vc3QgcGVyaXNoYWJsZSBwcm9kdWN0cyBmaXJzdDwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+U3RvcmUgbGVmdG92ZXIgcG9ydGlvbnMgZm9yIGNvbnN1bXB0aW9uIG9uIGxhdGVyIGRheXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlJlY2lwZXMgZGVzaWduZWQgdG8gdXNlIHVwIGxlc3MgY29tbW9uIGZvb2RzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+RWNvbm9taWMgQmVuZWZpdDogSG93IEJhdGNoIENvb2tpbmcgUmVkdWNlcyBDb3N0czwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QmF0Y2ggY29va2luZyBhbHNvIHJlcHJlc2VudHMgYSBkaXJlY3Qgc2F2aW5nIGZvciB5b3VyIHBvY2tldC4gUHJlcGFyaW5nIHdlZWtseSBtZW51cyBoZWxwcyBidXkgb25seSB3aGF04oCZcyBuZWNlc3NhcnkgYW5kIHRha2UgYWR2YW50YWdlIG9mIG9mZmVycyBvbiBmcmVzaCBwcm9kdWN0cyBpbiBsYXJnZXIgcXVhbnRpdGllcy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPkhvdyB5b3Ugc2F2ZTo8L3N0cm9uZz48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkJ5IHJlZHVjaW5nIHdhc3RlLCBsZXNzIGlzIGJvdWdodDwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+SXQgYXZvaWRzIHRoZSB0ZW1wdGF0aW9uIG9mIG9yZGVyaW5nIHRha2VvdXQgb3IgYnV5aW5nIGV4cGVuc2l2ZSBwcmVwYXJlZCBkaXNoZXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkJhc2ljIGluZ3JlZGllbnRzIGluIGxhcmdlIHF1YW50aXRpZXMgYXJlIHVzdWFsbHkgbW9yZSBlY29ub21pY2FsPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VWx0aW1hdGVseSwgYmF0Y2ggY29va2luZyBhbGxvd3MgeW91IHRvIGNvbnRyb2wgc3BlbmRpbmcsIG9wdGltaXplIHNob3BwaW5nLCBhbmQgbWFrZSBiZXR0ZXIgdXNlIG9mIGZvb2QsIGJlY29taW5nIGFuIGVmZmVjdGl2ZSB0b29sIGZvciBib3RoIGhlYWx0aCBhbmQgaG91c2Vob2xkIGVjb25vbXkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+SG93IHRvIE9yZ2FuaXplIFlvdXIgS2l0Y2hlbiBmb3IgQmF0Y2ggQ29va2luZzwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+UHJlcGFyaW5nIHRoZSBlbnZpcm9ubWVudCBiZWZvcmUgc3RhcnRpbmcgYmF0Y2ggY29va2luZyBpcyBrZXkgdG8gbWFraW5nIHRoZSB3aG9sZSBwcm9jZXNzIGZhc3QsIGNvbWZvcnRhYmxlLCBhbmQgZWZmaWNpZW50LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPkNoZWNrIFlvdXIgUGFudHJ5IGFuZCBGcmlkZ2U8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkJlZm9yZSBwbGFubmluZyBhbnkgbWVudSwgaXQncyBpbXBvcnRhbnQgdG8ga25vdyBleGFjdGx5IHdoYXQgZm9vZHMgeW91IGhhdmUgYXQgaG9tZS4gVGhpcyBhdm9pZHMgdW5uZWNlc3NhcnkgcHVyY2hhc2VzLCBtYWtlcyB1c2Ugb2YgcHJvZHVjdHMgbmVhcmluZyBleHBpcmF0aW9uLCBhbmQgcmVkdWNlcyB3YXN0ZS4gRG8gYSB2aXN1YWwgY2hlY2sgYW5kIG5vdGUgZG93biBlc3NlbnRpYWwgaW5ncmVkaWVudHMsIGVzcGVjaWFsbHkgZnJlc2ggYW5kIHBlcmlzaGFibGUgb25lcy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5QbGFuIGEgSGVhbHRoeSBXZWVrbHkgTWVudTwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+RGVzaWduIGEgc2ltcGxlLCB2YXJpZWQsIGFuZCBiYWxhbmNlZCBtZW51IGZvciB0aGUgZW50aXJlIHdlZWsuIENvbnNpZGVyIHRoZSBjb21iaW5hdGlvbiBvZjo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlNlYXNvbmFsIHZlZ2V0YWJsZXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkxlZ3VtZXMgYW5kIHdob2xlIGdyYWluczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+SGVhbHRoeSBwcm90ZWlucyAoYW5pbWFsIG9yIHBsYW50LWJhc2VkKTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+RGlzaGVzIHRoYXQgY2FuIGJlIHJlaW52ZW50ZWQgd2l0aCBkaWZmZXJlbnQgZHJlc3NpbmdzIG9yIHNpZGUgZGlzaGVzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+Q2hvb3NlIGNvbXBhdGlibGUgcmVjaXBlcyB0aGF0IGFsbG93IGZvciByZXVzaW5nIGJhc2VzIGFuZCBkaXN0cmlidXRlIHRoZSBpbmdyZWRpZW50cyB0byBvcHRpbWl6ZSB0aGVpciB1c2UgaW4gdmFyaW91cyBtZWFscy4gU3VjaCBwbGFubmluZyBoZWxwcyBtYWludGFpbiBhIGJhbGFuY2VkIGRpZXQgYW5kIGF2b2lkcyBtb25vdG9ueS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5QcmVwYXJlIGFuIEVmZmVjdGl2ZSBTaG9wcGluZyBMaXN0PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5XaXRoIHRoZSBtZW51IGluIGhhbmQgYW5kIHRoZSBwYW50cnkgY2hlY2tlZCwgbWFrZSBhIHRhaWxvcmVkIHNob3BwaW5nIGxpc3Q6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5Ob3RlIGRvd24gc3BlY2lmaWMgZm9vZHMgYW5kIGV4YWN0IHF1YW50aXRpZXMgdG8gYXZvaWQgZXhjZXNzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+SW5jbHVkZSBhaXJ0aWdodCBjb250YWluZXJzIGFuZCBzdG9yYWdlIGJhZ3MgaWYgbmVlZGVkPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBwcmVjaXNlIGxpc3QgcHJldmVudHMgZm9yZ2V0ZnVsbmVzcyBhbmQgdW5uZWNlc3Nhcnkgc3BlbmRpbmcgYW5kIHNwZWVkcyB1cCB5b3VyIHZpc2l0IHRvIHRoZSBzdXBlcm1hcmtldC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5Pcmdhbml6ZSBVdGVuc2lscyBmb3IgRWZmaWNpZW50IENvb2tpbmc8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkhhdmluZyBhbiBvcmRlcmVkIGtpdGNoZW4gYmVmb3JlIHlvdSBzdGFydCBtYWtlcyBiYXRjaCBjb29raW5nIG11Y2ggZWFzaWVyLiBQcmVwYXJlIGV2ZXJ5dGhpbmcgbmVjZXNzYXJ5OjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+UG90cywgcGFucywgb3ZlbiB0cmF5cywgYW5kIHN0ZWFtZXI8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPldlbGwtc2hhcnBlbmVkIGtuaXZlcyBhbmQgY3V0dGluZyBib2FyZHM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlN0b3JhZ2UgY29udGFpbmVycywgcHJlZmVyYWJseSBtYWRlIGZyb20gcmV1c2FibGUgbWF0ZXJpYWxzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5TcGF0dWxhcywgdG9uZ3MsIGFuZCBiYXNpYyB1dGVuc2lsczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlBsYWNlIGl0ZW1zIGF0IGhhbmQgYWNjb3JkaW5nIHRvIHRoZSBvcmRlciB5b3Ugd2lsbCB1c2UgdGhlbS4gVGhpcyByZWR1Y2VzIHN0b3BzLCBvcHRpbWl6ZXMgcGFyYWxsZWwgY29va2luZywgYW5kIGtlZXBzIHRoZSBzcGFjZSBjbGVhbiBhbmQgdW5jbHV0dGVyZWQuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+V2l0aCB0aGlzIHByaW9yIG9yZ2FuaXphdGlvbiwgYmF0Y2ggY29va2luZyBiZWNvbWVzIGEgc2ltcGxlIHRhc2ssIGV2ZW4gZm9yIGJlZ2lubmVycy4gT25jZSB0aGUgcm91dGluZSBpcyB1bmRlcndheSwgdGhlIHdob2xlIHByb2Nlc3MgYmVjb21lcyBldmVuIG1vcmUgbmF0dXJhbCBhbmQgZWZmaWNpZW50IHdlZWsgYWZ0ZXIgd2Vlay48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5TdGVwcyBmb3IgU3VjY2Vzc2Z1bCBCYXRjaCBDb29raW5nPC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Gb2xsb3dpbmcgYSB3ZWxsLXN0cnVjdHVyZWQgbWV0aG9kb2xvZ3kgbWFrZXMgYmF0Y2ggY29va2luZyBzaW1wbGUgYW5kIGVmZmljaWVudC4gSGVyZSBhcmUgdGhlIGtleXMgdG8gY29uZHVjdGluZyBhIHByb2R1Y3RpdmUgc2Vzc2lvbiBhbmQgb2J0YWluaW5nIHZhcmllZCBtZWFscyB0aGF0IGFyZSByZWFkeSBlYWNoIHdlZWsuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+U3RyYXRlZ2llcyB0byBQbGFuIHRoZSBXZWVrbHkgTWVudSBBZGVxdWF0ZWx5PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+Q2hlY2sgd2hhdCB5b3UgaGF2ZTo8L3N0cm9uZz4gUmV2aWV3IHRoZSBjb250ZW50cyBvZiB0aGUgcGFudHJ5IGFuZCBmcmlkZ2UgYmVmb3JlIGNyZWF0aW5nIHRoZSBtZW51IHRvIHV0aWxpemUgaW5ncmVkaWVudHMgYW5kIGF2b2lkIGR1cGxpY2F0ZSBwdXJjaGFzZXMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPlNlbGVjdCBjb21wYXRpYmxlIHJlY2lwZXM6PC9zdHJvbmc+IENob29zZSBkaXNoZXMgdGhhdCBzaGFyZSBpbmdyZWRpZW50cyBvciBiYXNlIHByZXBhcmF0aW9ucywgc3VjaCBhcyByb2FzdGVkIHZlZ2V0YWJsZXMsIGNvb2tlZCBncmFpbnMsIG9yIHNhdWNlcywgdG8gc2ltcGxpZnkgdGhlIHdvcmsgYW5kIG11bHRpcGx5IHBvc3NpYmxlIGNvbWJpbmF0aW9ucy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+RGVzaWduIHZhcmllZCBtZW51czo8L3N0cm9uZz4gQWx0ZXJuYXRlIHByb3RlaW5zLCB0eXBlcyBvZiB2ZWdldGFibGVzLCBhbmQgZ3JhaW5zLCBhbmQgdGhpbmsgb2Ygb3B0aW9ucyB0aGF0IGFsbG93IGZvciBib3RoIGNvbGQgYW5kIGhvdCBkaXNoZXMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+TWFzcyBQcmVwYXJhdGlvbiBvZiBGb29kIEJhc2VzPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5EaXZpZGUgdGhlIGNvb2tpbmcgaW50byBibG9ja3M6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPkdyYWluczo8L3N0cm9uZz4gUHJlcGFyZSByaWNlLCBxdWlub2EsIG9yIHBhc3RhIGluIGxhcmdlIGVub3VnaCBxdWFudGl0aWVzIGZvciBzZXZlcmFsIG1lYWxzLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5Qcm90ZWluczo8L3N0cm9uZz4gQ29vayBsZWd1bWVzLCBlZ2dzLCBtZWF0cywgb3IgdG9mdSB0byBkaXN0cmlidXRlIGFjcm9zcyBkaWZmZXJlbnQgZGlzaGVzIG9mIHRoZSB3ZWVrLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5WZWdldGFibGVzOjwvc3Ryb25nPiBSb2FzdCB0cmF5cyBvZiB2ZWdldGFibGVzLCBzdGVhbSB2ZWdldGFibGVzIG9yIG1ha2Ugc2F1dMOpZWQgYmFzZXMuPGJyPlRoZXNlIGJhc2VzIGFsbG93IGZvciBjcmVhdGluZyBjb21wbGV0ZSBhbmQgcXVpY2sgZGlzaGVzIGJ5IGNvbWJpbmluZyB0aGVtIGFzIG5lZWRlZCwgYWRkaW5nIGRpZmZlcmVudCBzZWFzb25pbmdzLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPkVmZmljaWVudCBVc2Ugb2YgdGhlIE92ZW4gYW5kIFNpbXVsdGFuZW91cyBDb29raW5nczwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5UYWtlIGFkdmFudGFnZSBvZiB0aGUgb3ZlbiBjYXBhY2l0eSB0byByb2FzdCBtdWx0aXBsZSB2ZWdldGFibGVzIG9yIHByb3RlaW5zIHNpbXVsdGFuZW91c2x5LCBkaXN0cmlidXRpbmcgdGhlIGZvb2Qgb24gdHJheXMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5Db29rIGluIHBhcmFsbGVsIG9uIHRoZSBzdG92ZSBhbmQgb3ZlbiwgdXNpbmcgbGFyZ2UgcG90cyBhbmQgZGlmZmVyZW50IG1ldGhvZHMgKHN0ZWFtLCBvdmVuLCBza2lsbGV0KSBzaW11bHRhbmVvdXNseS48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPk9yZ2FuaXplIHRoZSBvcmRlciBvZiBwcmVwYXJhdGlvbnMgc28gdGhhdCB3aGlsZSBncmFpbnMgYXJlIGNvb2tpbmcsIHlvdSBjYW4gbW92ZSBvbiB3aXRoIHRoZSByZXN0IG9mIHRoZSBpbmdyZWRpZW50cy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5NYW5hZ2luZyBDb29raW5nIFRpbWVzIHRvIE1heGltaXplIFByb2R1Y3Rpdml0eTwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPkNvb2sgd2hhdCB0YWtlcyBsb25nZXIgZmlyc3Q6PC9zdHJvbmc+IFN0YXJ0IHdpdGggZm9vZHMgdGhhdCByZXF1aXJlIG1vcmUgdGltZSwgbGlrZSByb2FzdHMgb3Igc3Rld3MuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPkRpdmlkZSB0YXNrczo8L3N0cm9uZz4gUHJlcGFyZSBhbmQgY3V0IGFsbCB0aGUgaW5ncmVkaWVudHMgYmVmb3JlIHR1cm5pbmcgb24gdGhlIGhlYXQuIFRoaXMgcmVkdWNlcyBpbnRlcnJ1cHRpb25zIGFuZCBpbXByb3ZlcyB0aGUgcGFjZS48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+VXNlIHRpbWVyczo8L3N0cm9uZz4gQ29udHJvbCB0aGUgY29va2luZyBvZiBlYWNoIHByZXBhcmF0aW9uIHRvIGF2b2lkIG92ZXJjb29raW5nIGFuZCBvcHRpbWl6ZSB0aGUgdG90YWwgdGltZS48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5QcmVzZXJ2YXRpb24gTWV0aG9kcyB0byBQcm9sb25nIHRoZSBMaWZlIG9mIFByZXBhcmVkIEZvb2RzPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlN0b3JlIGRpc2hlcyBpbiBhaXJ0aWdodCBjb250YWluZXJzLCBwcmVmZXJhYmx5IHJldXNhYmxlIGdsYXNzIGFzIHJlY29tbWVuZGVkIGJ5IEdyZWVudXNlLCB0byBtYWludGFpbiBmcmVzaG5lc3MgYW5kIGF2b2lkIGNyb3NzLWNvbnRhbWluYXRpb24uPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5EaXZpZGUgcG9ydGlvbnMgaW50byBpbmRpdmlkdWFsIG9yIGZhbWlseSBzZXJ2aW5ncyB0byBlYXNlIGNvbnN1bXB0aW9uLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+TGV0IGNvb2wgd2VsbCBiZWZvcmUgcGxhY2luZyBpbiB0aGUgZnJpZGdlIG9yIGZyZWV6ZXIuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5MYWJlbCBjb250YWluZXJzIHdpdGggdGhlIGRhdGUgYW5kIGNvbnRlbnRzIHRvIGJldHRlciBtb25pdG9yIGFuZCBlbnN1cmUgZm9vZCBzYWZldHkuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5GcmVlemUgZGlzaGVzIG9yIGJhc2VzIHlvdSBkb27igJl0IHBsYW4gdG8gY29uc3VtZSBpbiBsZXNzIHRoYW4gdGhyZWUgZGF5cy4gVGhpcyBtYWludGFpbnMgdGhlIHRleHR1cmUgYW5kIGZsYXZvciBvZiBwcmVwYXJhdGlvbnMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QnkgYXBwbHlpbmcgdGhlc2Ugc3RlcHMsIGJhdGNoIGNvb2tpbmcgYmVjb21lcyBhIHNpbXBsZSB5ZXQgaGlnaGx5IGVmZmVjdGl2ZSByb3V0aW5lIGZvciBoYXZpbmcgYWx3YXlzIGhvbWVtYWRlLCB2YXJpZWQsIGFuZCByZWFkeS10by1zZXJ2ZSBtZWFscy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5CYXRjaCBDb29raW5nIFJlY2lwZXM6IEhlYWx0aHkgV2Vla2x5IE1lbnU8L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkJhdGNoIGNvb2tpbmcgYWxsb3dzIHlvdSB0byBlbmpveSBhIGNvbXBsZXRlLCB2YXJpZWQsIGFuZCBiYWxhbmNlZCB3ZWVrbHkgbWVudSB3aXRoIGRpZmZlcmVudCBvcHRpb25zIHN1aXRlZCB0byBhbGwgdGFzdGVzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPk1haW4gQ291cnNlIFN1Z2dlc3Rpb25zIGZvciBFYWNoIERheTwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VG8gb3JnYW5pemUgdGhlIHdlZWssIGl0J3MgdXNlZnVsIHRvIGNvbWJpbmUgYmFzZSBwcmVwYXJhdGlvbnMgYW5kIGFsdGVybmF0ZSBmb29kIGZhbWlsaWVzLiBFeGFtcGxlIG9mIGEgd2Vla2x5IG1lbnU6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPk1vbmRheTo8L3N0cm9uZz4gTGVudGlsIHN0ZXcgd2l0aCB2ZWdldGFibGVzIGFuZCBicm93biByaWNlPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPlR1ZXNkYXk6PC9zdHJvbmc+IFJvYXN0IGNoaWNrZW4gd2l0aCBwb3RhdG9lcyBhbmQgZ3JlZW4gbGVhZiBzYWxhZDwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5XZWRuZXNkYXk6PC9zdHJvbmc+IENoaWNrcGVhIHN0ZXcgd2l0aCBzcGluYWNoIGFuZCBoYXJkLWJvaWxlZCBlZ2c8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+VGh1cnNkYXk6PC9zdHJvbmc+IFN0ZWFtZWQgaGFrZSB3aXRoIGJyb2Njb2xpIGFuZCByb2FzdGVkIHN3ZWV0IHBvdGF0b2VzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPkZyaWRheTo8L3N0cm9uZz4gU3Rpci1mcmllZCB0b2Z1IGFuZCBtdXNocm9vbXMgd2l0aCByaWNlIG5vb2RsZXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+U2F0dXJkYXk6PC9zdHJvbmc+IEhvbWVtYWRlIHJhdGF0b3VpbGxlIHdpdGggdHVya2V5IGZpbGxldHMgb3IgdGVtcGVoPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPlN1bmRheTo8L3N0cm9uZz4gSHVtbXVzIHdpdGggY2Fycm90IHN0aWNrcyBhbmQgY2hpY2twZWEgc2FsYWQ8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5BbHRlcm5hdGUgcHJlcGFyZWQgYmFzZXMgKGxlZ3VtZXMsIHJpY2UsIHBhc3RhLCBvciB2ZWdldGFibGVzKSB0byBzYXZlIHRpbWUgd2l0aG91dCBsb3NpbmcgdmFyaWV0eS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5JbmNsdXNpdmUgVmVnYW4gYW5kIFZlZ2V0YXJpYW4gUmVjaXBlIE9wdGlvbnM8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkJhdGNoIGNvb2tpbmcgaXMgZWFzaWx5IGFkYXB0YWJsZSB0byBwbGFudC1iYXNlZCBkaWV0cy4gU29tZSBpZGVhczo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkxlbnRpbCBhbmQgb2F0cyBtZWF0YmFsbHM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkNoaWNrcGVhIGFuZCBwdW1wa2luIGN1cnJ5PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5TdGlyLWZyeSB0b2Z1IHdpdGggc2Vhc29uYWwgdmVnZXRhYmxlczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+QmVhbiBhbmQgY2Fycm90IGJ1cmdlcnM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkNvbGQgc2FsYWQgd2l0aCB3aG9sZSB3aGVhdCBwYXN0YSwgY2hlcnJ5IHRvbWF0b2VzLCBvbGl2ZXMsIGFuZCBiYXNpbDwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoZXNlIGRpc2hlcyBhcmUgcmljaCBpbiBwbGFudCBwcm90ZWluIGFuZCBmaWJlciBhbmQga2VlcCB3ZWxsIGluIHRoZSBmcmlkZ2UgZm9yIHNldmVyYWwgZGF5cy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5EcmVzc2luZyBhbmQgU2F1Y2UgUmVjaXBlcyB0byBEaXZlcnNpZnkgRmxhdm9yczwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+UHJlcGFyaW5nIGEgc2VsZWN0aW9uIG9mIGJhc2Ugc2F1Y2VzIHRyYW5zZm9ybXMgZGlzaGVzLiBTb21lIHByb3Bvc2Fsczo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkNsYXNzaWMgdmluYWlncmV0dGUgd2l0aCBvbGl2ZSBvaWwsIHZpbmVnYXIsIGFuZCBtdXN0YXJkPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5Zb2d1cnQgc2F1Y2Ugd2l0aCBkaWxsIGFuZCBsZW1vbjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+VGFoaW5pIHdpdGggbGVtb24ganVpY2UgYW5kIGdhcmxpYzwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+QmFzaWwgb3IgYXJ1Z3VsYSBwZXN0bzwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+SG9tZW1hZGUgdG9tYXRvIHNhdWNlPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+UHJlc2VydmluZyBzZXZlcmFsIHNhdWNlcyBpbiBzbWFsbCBqYXJzIGFsbG93cyBmb3IgcGVyc29uYWxpemluZyBlYWNoIGRpc2ggYWNjb3JkaW5nIHRvIHRoZSBkYXkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+U3VnZ2VzdGlvbnMgZm9yIE51dHJpdGlvdXMgQ3JlYW1zLCBQdXJlZXMsIGFuZCBDb2xkIFNvdXBzPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5DcmVhbXMgYW5kIHNvdXBzIGFkZCB2YXJpZXR5IGFuZCBoZWxwIGNvbXBsZXRlIHRoZSBtZW51OjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+WnVjY2hpbmkgYW5kIGxlZWsgY3JlYW0gd2l0aCB3aG9sZS13aGVhdCBjcm91dG9uczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+VHJhZGl0aW9uYWwgZ2F6cGFjaG8gb3IgdG9tYXRvIHNhbG1vcmVqbzwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+Q2Fycm90IGFuZCBnaW5nZXIgcHVyZWU8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkNvbGQgY3VjdW1iZXIgYW5kIHlvZ3VydCBzb3VwPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5DYXVsaWZsb3dlciBhbmQgYXBwbGUgY3JlYW08L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGVzZSBvcHRpb25zIGNhbiBiZSB0YWtlbiBlaXRoZXIgY29sZCBvciBob3QgYW5kIGFyZSBwcmVwYXJlZCBpbiBsYXJnZSBxdWFudGl0aWVzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPlZlZ2V0YWJsZSBQcmVwYXJhdGlvbnM6IFN0aXItZnJpZXMsIEJvaWxlZCwgYW5kIFJvYXN0ZWQ8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlN0ZWFtZWQgb3Igcm9hc3RlZCB2ZWdldGFibGVzIGFyZSBlc3NlbnRpYWwgZHVlIHRvIHRoZWlyIHByZXNlcnZhdGlvbiBhbmQgdmVyc2F0aWxpdHkuIFNvbWUgaWRlYXM6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5PdmVuLWJha2VkIHZlZ2V0YWJsZSB0cmF5OiBlZ2dwbGFudCwgenVjY2hpbmksIHBlcHBlcnMsIGFuZCBvbmlvbjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+Qm9pbGVkIGNhdWxpZmxvd2VyIGFuZCBicm9jY29saSBhcyBhIHNpZGUgZGlzaCBvciB0b3J0aWxsYSBiYXNlPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5TdGlyLWZyaWVzIG9mIGNhcnJvdHMsIGdyZWVuIGJlYW5zLCBhbmQgZ2FybGljPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5Sb2FzdGVkIHN3ZWV0IHBvdGF0byBhbmQgYmVldHJvb3Q8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlNhdXTDqWVkIHNwaW5hY2ggd2l0aCBjaGlja3BlYXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5LZWVwaW5nIHZlZ2V0YWJsZXMgaW4gc2VwYXJhdGUgY29udGFpbmVycyBhbGxvd3MgZm9yIG1peGluZyBhbmQgYWRhcHRpbmcgYWNjb3JkaW5nIHRvIGx1bmNoIG9yIGRpbm5lciwgZW5zdXJpbmcgYSBoZWFsdGh5IGRpZXQgdGhyb3VnaG91dCB0aGUgd2Vlay48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5QcmFjdGljYWwgVGlwcyBmb3IgUGVyZmVjdCBCYXRjaCBDb29raW5nPC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5BY2hpZXZpbmcgZWZmaWNpZW50IGFuZCB2YXJpZWQgYmF0Y2ggY29va2luZyBkZXBlbmRzIG9uIHNtYWxsIGRldGFpbHMgaW4gb3JnYW5pemF0aW9uLCBzdG9yYWdlLCBhbmQgY3JlYXRpdml0eSBpbiB0aGUga2l0Y2hlbi4gSGVyZSBhcmUgaW5zaWdodHMgdG8gbWFrZSB0aGUgbW9zdCBvdXQgb2YgYmF0Y2ggcHJlcGFyYXRpb24uPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+VGlwcyB0byBNYXhpbWl6ZSBUaW1lIFNhdmluZ3MgaW4gdGhlIEtpdGNoZW48L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5QcmVwYXJlIGFsbCBpbmdyZWRpZW50cyBiZWZvcmVoYW5kOjwvc3Ryb25nPiBXYXNoLCBwZWVsLCBhbmQgY3V0IHRoZSB2ZWdldGFibGVzIGFsbCBhdCBvbmNlIHRvIHNwZWVkIHVwIHRoZSBjb29raW5nLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5Vc2UgbXVsdGlwbGUgaGVhdCBzb3VyY2VzIGF0IG9uY2U6PC9zdHJvbmc+IENvb2sgaW4gdGhlIG92ZW4sIHBvdCwgYW5kIHBhbiBzaW11bHRhbmVvdXNseSB0byBvcHRpbWl6ZSBpZGxlIHRpbWVzLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5Hcm91cCBzaW1pbGFyIHByZXBhcmF0aW9uczo8L3N0cm9uZz4gUm9hc3QgZGlmZmVyZW50IHZlZ2V0YWJsZXMgc2ltdWx0YW5lb3VzbHkgb3IgYm9pbCBzZXZlcmFsIGdyYWlucyB0b2dldGhlciBhbmQgc2VwYXJhdGUgdGhlbSBhZnRlcndhcmQsIGFzIGxvbmcgYXMgdGhlIHRpbWVzIGFyZSBjb21wYXRpYmxlLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5Vc2UgbXVsdGlwdXJwb3NlIHV0ZW5zaWxzOjwvc3Ryb25nPiBBIHBvd2VyZnVsIGJsZW5kZXIgb3IgYSBsYXJnZSBwb3QgYWxsb3dzIHlvdSB0byBwcmVwYXJlIG1vcmUgcXVhbnRpdGllcyBpbiBsZXNzIHRpbWUuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+VGVjaG5pcXVlcyBmb3IgUHJvcGVybHkgUHJlc2VydmluZyBQcmVwYXJlZCBGb29kczwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5TdG9yZSBkaXNoZXMgaW4gYWlydGlnaHQgYW5kIHJlc2lzdGFudCBjb250YWluZXJzIHRvIG1haW50YWluIGZyZXNobmVzcyBhbmQgYXZvaWQgY29udGFtaW5hdGlvbi48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkl0J3MgaW1wb3J0YW50IHRvIGxldCBmb29kcyBjb29sIGJlZm9yZSBjb3ZlcmluZyBhbmQgc3RvcmluZyB0aGVtIGluIHRoZSBmcmlkZ2Ugb3IgZnJlZXplci48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlNlcGFyYXRlIGludG8gaW5kaXZpZHVhbCBvciBmYW1pbHkgcG9ydGlvbnMgdG8gdGFrZSBvdXQgb25seSB3aGF0J3MgbmVlZGVkIGZvciBlYWNoIG1lYWwsIHByb2xvbmdpbmcgcHJlc2VydmF0aW9uLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+Rm9yIGZyb3plbiBmb29kcywgbGVhdmUgc3BhY2UgaW4gdGhlIGNvbnRhaW5lciBmb3IgbGlxdWlkIGV4cGFuc2lvbiBhbmQgdXNlIGNvbnRhaW5lcnMgc3VpdGFibGUgZm9yIGxvdyB0ZW1wZXJhdHVyZXMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+TWV0aG9kcyBvZiBTdG9yYWdlIE9yZ2FuaXphdGlvbiBhbmQgTGFiZWxpbmc8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5BbHdheXMgbGFiZWwgY29udGFpbmVyczo8L3N0cm9uZz4gV3JpdGUgZG93biB0aGUgcHJlcGFyYXRpb24gZGF0ZSBhbmQgY29udGVudCBvbiBlYWNoIGNvbnRhaW5lci4gVGhpcyBoZWxwcyBjb25zdW1lIGZpcnN0IHdoYXTigJlzIG1vcmUgYXQgcmlzayBvZiBzcG9pbGluZy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+T3JnYW5pemUgZnJpZGdlIGFuZCBmcmVlemVyIGJ5IGNhdGVnb3JpZXM6PC9zdHJvbmc+IFB1dCB0aGUgbW9zdCBwZXJpc2hhYmxlIGl0ZW1zIGluIHZpZXcgYW5kIG9yZGVyIGJ5IHR5cGU6IHByb3RlaW5zLCB2ZWdldGFibGVzLCBzYXVjZXMsIGdyYWlucy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlVzZSB0cmFuc3BhcmVudCBjb250YWluZXJzIG9yIHRob3NlIHdpdGggd2luZG93cyB0byBpZGVudGlmeSBhdCBhIGdsYW5jZSB3aGF0IHlvdSBoYXZlIGFuZCBhdm9pZCBkdXBsaWNpdGllcy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5TdHJhdGVnaWVzIHRvIFJldXNlIExlZnRvdmVycyBhbmQgTWFpbnRhaW4gTWVudSBJbnRlcmVzdDwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5UdXJuIGxlZnRvdmVycyBpbnRvIG5ldyBkaXNoZXM6IGdyaWxsZWQgdmVnZXRhYmxlcyBmb3IgYSBmcml0dGF0YSwgcHJldmlvdXMgZGF5J3MgcmljZSBpbnRvIGEgd2FybSBzYWxhZCwgb3IgbGVndW1lcyBpbnRvIGEgc3BpY2VkIGNyZWFtLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+Q2hhbmdlIHRleHR1cmVzIGFuZCBmbGF2b3JzIHVzaW5nIGRpZmZlcmVudCBkcmVzc2luZ3Mgb3IgYmFzZSBzYXVjZXMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5GcmVlemUgcHJlcGFyYXRpb25zIHlvdSB3b27igJl0IGNvbnN1bWUgaW4gdHdvIHRvIHRocmVlIGRheXMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5JZiB5b3UgaGF2ZSBzbWFsbCBhbW91bnRzIG9mIHZhcmlvdXMgcHJlcGFyYXRpb25zLCBjb21iaW5lIGludG8gYSB2YXJpZWQgYm93bC10eXBlIEJ1ZGRoYSBib3dsLCBtaXhpbmcgYmFzZXMsIHByb3RlaW5zLCBhbmQgdmVnZXRhYmxlcy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5XaXRoIHRoZXNlIHRpcHMsIHlvdXIgYmF0Y2ggY29va2luZyB3aWxsIGJlIG1vcmUgcHJhY3RpY2FsLCBzYWZlLCBhbmQgdmFyaWVkLCBhbGxvd2luZyBhIGhlYWx0aHkgZGlldCBhbmQgYXZvaWRpbmcgbW9ub3RvbnkgdGhyb3VnaG91dCB0aGUgd2Vlay48L3A+CmFsdGNhcHRpb25pZGxpbmt1cmxzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbldpdGggdGhlc2UgdGlwcywgeW91ciBiYXRjaCBjb29raW5nIHdpbGwgYmUgbW9yZSBwcmFjdGljYWwsIHNhZmUsIGFuZCB2YXJpZWQsIGFsbG93aW5nIGEgaGVhbHRoeSBkaWV0IGFuZCBhdm9pZGluZyBtb25vdG9ueSB0aHJvdWdob3V0IHRoZSB3ZWVrLmFsdGNhcHRpb25pZGxpbmt1cmxzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbm9yZGVyZWR2YWx1ZXNjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUdXJuIGxlZnRvdmVycyBpbnRvIG5ldyBkaXNoZXM6IGdyaWxsZWQgdmVnZXRhYmxlcyBmb3IgYSBmcml0dGF0YSwgcHJldmlvdXMgZGF5J3MgcmljZSBpbnRvIGEgd2FybSBzYWxhZCwgb3IgbGVndW1lcyBpbnRvIGEgc3BpY2VkIGNyZWFtLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q2hhbmdlIHRleHR1cmVzIGFuZCBmbGF2b3JzIHVzaW5nIGRpZmZlcmVudCBkcmVzc2luZ3Mgb3IgYmFzZSBzYXVjZXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRGcmVlemUgcHJlcGFyYXRpb25zIHlvdSB3b27igJl0IGNvbnN1bWUgaW4gdHdvIHRvIHRocmVlIGRheXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJZiB5b3UgaGF2ZSBzbWFsbCBhbW91bnRzIG9mIHZhcmlvdXMgcHJlcGFyYXRpb25zLCBjb21iaW5lIGludG8gYSB2YXJpZWQgYm93bC10eXBlIEJ1ZGRoYSBib3dsLCBtaXhpbmcgYmFzZXMsIHByb3RlaW5zLCBhbmQgdmVnZXRhYmxlcy5pbm5lckJsb2Nrc2FsdGNhcHRpb25pZGxpbmt1cmxzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbmNvbnRlbnRTdHJhdGVnaWVzIHRvIFJldXNlIExlZnRvdmVycyBhbmQgTWFpbnRhaW4gTWVudSBJbnRlcmVzdGxldmVsYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9ub3JkZXJlZHZhbHVlc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+QWx3YXlzIGxhYmVsIGNvbnRhaW5lcnM6PC9zdHJvbmc+IFdyaXRlIGRvd24gdGhlIHByZXBhcmF0aW9uIGRhdGUgYW5kIGNvbnRlbnQgb24gZWFjaCBjb250YWluZXIuIFRoaXMgaGVscHMgY29uc3VtZSBmaXJzdCB3aGF04oCZcyBtb3JlIGF0IHJpc2sgb2Ygc3BvaWxpbmcuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPk9yZ2FuaXplIGZyaWRnZSBhbmQgZnJlZXplciBieSBjYXRlZ29yaWVzOjwvc3Ryb25nPiBQdXQgdGhlIG1vc3QgcGVyaXNoYWJsZSBpdGVtcyBpbiB2aWV3IGFuZCBvcmRlciBieSB0eXBlOiBwcm90ZWlucywgdmVnZXRhYmxlcywgc2F1Y2VzLCBncmFpbnMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRVc2UgdHJhbnNwYXJlbnQgY29udGFpbmVycyBvciB0aG9zZSB3aXRoIHdpbmRvd3MgdG8gaWRlbnRpZnkgYXQgYSBnbGFuY2Ugd2hhdCB5b3UgaGF2ZSBhbmQgYXZvaWQgZHVwbGljaXRpZXMuaW5uZXJCbG9ja3NhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25jb250ZW50TWV0aG9kcyBvZiBTdG9yYWdlIE9yZ2FuaXphdGlvbiBhbmQgTGFiZWxpbmdsZXZlbGFsdGNhcHRpb25pZGxpbmt1cmxzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbm9yZGVyZWR2YWx1ZXNjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTdG9yZSBkaXNoZXMgaW4gYWlydGlnaHQgYW5kIHJlc2lzdGFudCBjb250YWluZXJzIHRvIG1haW50YWluIGZyZXNobmVzcyBhbmQgYXZvaWQgY29udGFtaW5hdGlvbi5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEl0J3MgaW1wb3J0YW50IHRvIGxldCBmb29kcyBjb29sIGJlZm9yZSBjb3ZlcmluZyBhbmQgc3RvcmluZyB0aGVtIGluIHRoZSBmcmlkZ2Ugb3IgZnJlZXplci5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFNlcGFyYXRlIGludG8gaW5kaXZpZHVhbCBvciBmYW1pbHkgcG9ydGlvbnMgdG8gdGFrZSBvdXQgb25seSB3aGF0J3MgbmVlZGVkIGZvciBlYWNoIG1lYWwsIHByb2xvbmdpbmcgcHJlc2VydmF0aW9uLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Rm9yIGZyb3plbiBmb29kcywgbGVhdmUgc3BhY2UgaW4gdGhlIGNvbnRhaW5lciBmb3IgbGlxdWlkIGV4cGFuc2lvbiBhbmQgdXNlIGNvbnRhaW5lcnMgc3VpdGFibGUgZm9yIGxvdyB0ZW1wZXJhdHVyZXMuaW5uZXJCbG9ja3NhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25jb250ZW50VGVjaG5pcXVlcyBmb3IgUHJvcGVybHkgUHJlc2VydmluZyBQcmVwYXJlZCBGb29kc2xldmVsYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9ub3JkZXJlZHZhbHVlc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+UHJlcGFyZSBhbGwgaW5ncmVkaWVudHMgYmVmb3JlaGFuZDo8L3N0cm9uZz4gV2FzaCwgcGVlbCwgYW5kIGN1dCB0aGUgdmVnZXRhYmxlcyBhbGwgYXQgb25jZSB0byBzcGVlZCB1cCB0aGUgY29va2luZy5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+VXNlIG11bHRpcGxlIGhlYXQgc291cmNlcyBhdCBvbmNlOjwvc3Ryb25nPiBDb29rIGluIHRoZSBvdmVuLCBwb3QsIGFuZCBwYW4gc2ltdWx0YW5lb3VzbHkgdG8gb3B0aW1pemUgaWRsZSB0aW1lcy5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+R3JvdXAgc2ltaWxhciBwcmVwYXJhdGlvbnM6PC9zdHJvbmc+IFJvYXN0IGRpZmZlcmVudCB2ZWdldGFibGVzIHNpbXVsdGFuZW91c2x5IG9yIGJvaWwgc2V2ZXJhbCBncmFpbnMgdG9nZXRoZXIgYW5kIHNlcGFyYXRlIHRoZW0gYWZ0ZXJ3YXJkLCBhcyBsb25nIGFzIHRoZSB0aW1lcyBhcmUgY29tcGF0aWJsZS5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+VXNlIG11bHRpcHVycG9zZSB1dGVuc2lsczo8L3N0cm9uZz4gQSBwb3dlcmZ1bCBibGVuZGVyIG9yIGEgbGFyZ2UgcG90IGFsbG93cyB5b3UgdG8gcHJlcGFyZSBtb3JlIHF1YW50aXRpZXMgaW4gbGVzcyB0aW1lLmlubmVyQmxvY2tzYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uY29udGVudFRpcHMgdG8gTWF4aW1pemUgVGltZSBTYXZpbmdzIGluIHRoZSBLaXRjaGVubGV2ZWxhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25BY2hpZXZpbmcgZWZmaWNpZW50IGFuZCB2YXJpZWQgYmF0Y2ggY29va2luZyBkZXBlbmRzIG9uIHNtYWxsIGRldGFpbHMgaW4gb3JnYW5pemF0aW9uLCBzdG9yYWdlLCBhbmQgY3JlYXRpdml0eSBpbiB0aGUga2l0Y2hlbi4gSGVyZSBhcmUgaW5zaWdodHMgdG8gbWFrZSB0aGUgbW9zdCBvdXQgb2YgYmF0Y2ggcHJlcGFyYXRpb24uZHJvcENhcHBsYWNlaG9sZGVyYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uUHJhY3RpY2FsIFRpcHMgZm9yIFBlcmZlY3QgQmF0Y2ggQ29va2luZ2xldmVsYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uS2VlcGluZyB2ZWdldGFibGVzIGluIHNlcGFyYXRlIGNvbnRhaW5lcnMgYWxsb3dzIGZvciBtaXhpbmcgYW5kIGFkYXB0aW5nIGFjY29yZGluZyB0byBsdW5jaCBvciBkaW5uZXIsIGVuc3VyaW5nIGEgaGVhbHRoeSBkaWV0IHRocm91Z2hvdXQgdGhlIHdlZWsuZHJvcENhcHBsYWNlaG9sZGVyYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9ub3JkZXJlZHZhbHVlc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE92ZW4tYmFrZWQgdmVnZXRhYmxlIHRyYXk6IGVnZ3BsYW50LCB6dWNjaGluaSwgcGVwcGVycywgYW5kIG9uaW9uaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRCb2lsZWQgY2F1bGlmbG93ZXIgYW5kIGJyb2Njb2xpIGFzIGEgc2lkZSBkaXNoIG9yIHRvcnRpbGxhIGJhc2Vpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFN0aXItZnJpZXMgb2YgY2Fycm90cywgZ3JlZW4gYmVhbnMsIGFuZCBnYXJsaWNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFJvYXN0ZWQgc3dlZXQgcG90YXRvIGFuZCBiZWV0cm9vdGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U2F1dMOpZWQgc3BpbmFjaCB3aXRoIGNoaWNrcGVhc2lubmVyQmxvY2tzYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uY29udGVudFN0ZWFtZWQgb3Igcm9hc3RlZCB2ZWdldGFibGVzIGFyZSBlc3NlbnRpYWwgZHVlIHRvIHRoZWlyIHByZXNlcnZhdGlvbiBhbmQgdmVyc2F0aWxpdHkuIFNvbWUgaWRlYXM6ZHJvcENhcHBsYWNlaG9sZGVyYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uVmVnZXRhYmxlIFByZXBhcmF0aW9uczogU3Rpci1mcmllcywgQm9pbGVkLCBhbmQgUm9hc3RlZGxldmVsYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uVGhlc2Ugb3B0aW9ucyBjYW4gYmUgdGFrZW4gZWl0aGVyIGNvbGQgb3IgaG90IGFuZCBhcmUgcHJlcGFyZWQgaW4gbGFyZ2UgcXVhbnRpdGllcy5kcm9wQ2FwcGxhY2Vob2xkZXJhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25vcmRlcmVkdmFsdWVzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50WnVjY2hpbmkgYW5kIGxlZWsgY3JlYW0gd2l0aCB3aG9sZS13aGVhdCBjcm91dG9uc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VHJhZGl0aW9uYWwgZ2F6cGFjaG8gb3IgdG9tYXRvIHNhbG1vcmVqb2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q2Fycm90IGFuZCBnaW5nZXIgcHVyZWVpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENvbGQgY3VjdW1iZXIgYW5kIHlvZ3VydCBzb3VwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDYXVsaWZsb3dlciBhbmQgYXBwbGUgY3JlYW1pbm5lckJsb2Nrc2FsdGNhcHRpb25pZGxpbmt1cmxzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbmNvbnRlbnRDcmVhbXMgYW5kIHNvdXBzIGFkZCB2YXJpZXR5IGFuZCBoZWxwIGNvbXBsZXRlIHRoZSBtZW51OmRyb3BDYXBwbGFjZWhvbGRlcmFsdGNhcHRpb25pZGxpbmt1cmxzaXplU2x1Z2xpbmtEZXN0aW5hdGlvblN1Z2dlc3Rpb25zIGZvciBOdXRyaXRpb3VzIENyZWFtcywgUHVyZWVzLCBhbmQgQ29sZCBTb3Vwc2xldmVsYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uUHJlc2VydmluZyBzZXZlcmFsIHNhdWNlcyBpbiBzbWFsbCBqYXJzIGFsbG93cyBmb3IgcGVyc29uYWxpemluZyBlYWNoIGRpc2ggYWNjb3JkaW5nIHRvIHRoZSBkYXkuZHJvcENhcHBsYWNlaG9sZGVyYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9ub3JkZXJlZHZhbHVlc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENsYXNzaWMgdmluYWlncmV0dGUgd2l0aCBvbGl2ZSBvaWwsIHZpbmVnYXIsIGFuZCBtdXN0YXJkaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRZb2d1cnQgc2F1Y2Ugd2l0aCBkaWxsIGFuZCBsZW1vbmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGFoaW5pIHdpdGggbGVtb24ganVpY2UgYW5kIGdhcmxpY2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QmFzaWwgb3IgYXJ1Z3VsYSBwZXN0b2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SG9tZW1hZGUgdG9tYXRvIHNhdWNlaW5uZXJCbG9ja3NhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25jb250ZW50UHJlcGFyaW5nIGEgc2VsZWN0aW9uIG9mIGJhc2Ugc2F1Y2VzIHRyYW5zZm9ybXMgZGlzaGVzLiBTb21lIHByb3Bvc2Fsczpkcm9wQ2FwcGxhY2Vob2xkZXJhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25EcmVzc2luZyBhbmQgU2F1Y2UgUmVjaXBlcyB0byBEaXZlcnNpZnkgRmxhdm9yc2xldmVsYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uVGhlc2UgZGlzaGVzIGFyZSByaWNoIGluIHBsYW50IHByb3RlaW4gYW5kIGZpYmVyIGFuZCBrZWVwIHdlbGwgaW4gdGhlIGZyaWRnZSBmb3Igc2V2ZXJhbCBkYXlzLmRyb3BDYXBwbGFjZWhvbGRlcmFsdGNhcHRpb25pZGxpbmt1cmxzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbm9yZGVyZWR2YWx1ZXNjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRMZW50aWwgYW5kIG9hdHMgbWVhdGJhbGxzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDaGlja3BlYSBhbmQgcHVtcGtpbiBjdXJyeWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U3Rpci1mcnkgdG9mdSB3aXRoIHNlYXNvbmFsIHZlZ2V0YWJsZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEJlYW4gYW5kIGNhcnJvdCBidXJnZXJzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb2xkIHNhbGFkIHdpdGggd2hvbGUgd2hlYXQgcGFzdGEsIGNoZXJyeSB0b21hdG9lcywgb2xpdmVzLCBhbmQgYmFzaWxpbm5lckJsb2Nrc2FsdGNhcHRpb25pZGxpbmt1cmxzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbmNvbnRlbnRCYXRjaCBjb29raW5nIGlzIGVhc2lseSBhZGFwdGFibGUgdG8gcGxhbnQtYmFzZWQgZGlldHMuIFNvbWUgaWRlYXM6ZHJvcENhcHBsYWNlaG9sZGVyYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uSW5jbHVzaXZlIFZlZ2FuIGFuZCBWZWdldGFyaWFuIFJlY2lwZSBPcHRpb25zbGV2ZWxhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25BbHRlcm5hdGUgcHJlcGFyZWQgYmFzZXMgKGxlZ3VtZXMsIHJpY2UsIHBhc3RhLCBvciB2ZWdldGFibGVzKSB0byBzYXZlIHRpbWUgd2l0aG91dCBsb3NpbmcgdmFyaWV0eS5kcm9wQ2FwcGxhY2Vob2xkZXJhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25vcmRlcmVkdmFsdWVzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5Nb25kYXk6PC9zdHJvbmc+IExlbnRpbCBzdGV3IHdpdGggdmVnZXRhYmxlcyBhbmQgYnJvd24gcmljZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5UdWVzZGF5Ojwvc3Ryb25nPiBSb2FzdCBjaGlja2VuIHdpdGggcG90YXRvZXMgYW5kIGdyZWVuIGxlYWYgc2FsYWRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+V2VkbmVzZGF5Ojwvc3Ryb25nPiBDaGlja3BlYSBzdGV3IHdpdGggc3BpbmFjaCBhbmQgaGFyZC1ib2lsZWQgZWdnaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlRodXJzZGF5Ojwvc3Ryb25nPiBTdGVhbWVkIGhha2Ugd2l0aCBicm9jY29saSBhbmQgcm9hc3RlZCBzd2VldCBwb3RhdG9lc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5GcmlkYXk6PC9zdHJvbmc+IFN0aXItZnJpZWQgdG9mdSBhbmQgbXVzaHJvb21zIHdpdGggcmljZSBub29kbGVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlNhdHVyZGF5Ojwvc3Ryb25nPiBIb21lbWFkZSByYXRhdG91aWxsZSB3aXRoIHR1cmtleSBmaWxsZXRzIG9yIHRlbXBlaGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5TdW5kYXk6PC9zdHJvbmc+IEh1bW11cyB3aXRoIGNhcnJvdCBzdGlja3MgYW5kIGNoaWNrcGVhIHNhbGFkaW5uZXJCbG9ja3NhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25jb250ZW50VG8gb3JnYW5pemUgdGhlIHdlZWssIGl0J3MgdXNlZnVsIHRvIGNvbWJpbmUgYmFzZSBwcmVwYXJhdGlvbnMgYW5kIGFsdGVybmF0ZSBmb29kIGZhbWlsaWVzLiBFeGFtcGxlIG9mIGEgd2Vla2x5IG1lbnU6ZHJvcENhcHBsYWNlaG9sZGVyYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uTWFpbiBDb3Vyc2UgU3VnZ2VzdGlvbnMgZm9yIEVhY2ggRGF5bGV2ZWxhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25CYXRjaCBjb29raW5nIGFsbG93cyB5b3UgdG8gZW5qb3kgYSBjb21wbGV0ZSwgdmFyaWVkLCBhbmQgYmFsYW5jZWQgd2Vla2x5IG1lbnUgd2l0aCBkaWZmZXJlbnQgb3B0aW9ucyBzdWl0ZWQgdG8gYWxsIHRhc3Rlcy5kcm9wQ2FwcGxhY2Vob2xkZXJhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25CYXRjaCBDb29raW5nIFJlY2lwZXM6IEhlYWx0aHkgV2Vla2x5IE1lbnVsZXZlbGFsdGNhcHRpb25pZGxpbmt1cmxzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbkJ5IGFwcGx5aW5nIHRoZXNlIHN0ZXBzLCBiYXRjaCBjb29raW5nIGJlY29tZXMgYSBzaW1wbGUgeWV0IGhpZ2hseSBlZmZlY3RpdmUgcm91dGluZSBmb3IgaGF2aW5nIGFsd2F5cyBob21lbWFkZSwgdmFyaWVkLCBhbmQgcmVhZHktdG8tc2VydmUgbWVhbHMuZHJvcENhcHBsYWNlaG9sZGVyYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9ub3JkZXJlZHZhbHVlc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFN0b3JlIGRpc2hlcyBpbiBhaXJ0aWdodCBjb250YWluZXJzLCBwcmVmZXJhYmx5IHJldXNhYmxlIGdsYXNzIGFzIHJlY29tbWVuZGVkIGJ5IEdyZWVudXNlLCB0byBtYWludGFpbiBmcmVzaG5lc3MgYW5kIGF2b2lkIGNyb3NzLWNvbnRhbWluYXRpb24uaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREaXZpZGUgcG9ydGlvbnMgaW50byBpbmRpdmlkdWFsIG9yIGZhbWlseSBzZXJ2aW5ncyB0byBlYXNlIGNvbnN1bXB0aW9uLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TGV0IGNvb2wgd2VsbCBiZWZvcmUgcGxhY2luZyBpbiB0aGUgZnJpZGdlIG9yIGZyZWV6ZXIuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRMYWJlbCBjb250YWluZXJzIHdpdGggdGhlIGRhdGUgYW5kIGNvbnRlbnRzIHRvIGJldHRlciBtb25pdG9yIGFuZCBlbnN1cmUgZm9vZCBzYWZldHkuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRGcmVlemUgZGlzaGVzIG9yIGJhc2VzIHlvdSBkb27igJl0IHBsYW4gdG8gY29uc3VtZSBpbiBsZXNzIHRoYW4gdGhyZWUgZGF5cy4gVGhpcyBtYWludGFpbnMgdGhlIHRleHR1cmUgYW5kIGZsYXZvciBvZiBwcmVwYXJhdGlvbnMuaW5uZXJCbG9ja3NhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25jb250ZW50UHJlc2VydmF0aW9uIE1ldGhvZHMgdG8gUHJvbG9uZyB0aGUgTGlmZSBvZiBQcmVwYXJlZCBGb29kc2xldmVsYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9ub3JkZXJlZHZhbHVlc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+Q29vayB3aGF0IHRha2VzIGxvbmdlciBmaXJzdDo8L3N0cm9uZz4gU3RhcnQgd2l0aCBmb29kcyB0aGF0IHJlcXVpcmUgbW9yZSB0aW1lLCBsaWtlIHJvYXN0cyBvciBzdGV3cy5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+RGl2aWRlIHRhc2tzOjwvc3Ryb25nPiBQcmVwYXJlIGFuZCBjdXQgYWxsIHRoZSBpbmdyZWRpZW50cyBiZWZvcmUgdHVybmluZyBvbiB0aGUgaGVhdC4gVGhpcyByZWR1Y2VzIGludGVycnVwdGlvbnMgYW5kIGltcHJvdmVzIHRoZSBwYWNlLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5Vc2UgdGltZXJzOjwvc3Ryb25nPiBDb250cm9sIHRoZSBjb29raW5nIG9mIGVhY2ggcHJlcGFyYXRpb24gdG8gYXZvaWQgb3ZlcmNvb2tpbmcgYW5kIG9wdGltaXplIHRoZSB0b3RhbCB0aW1lLmlubmVyQmxvY2tzYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uY29udGVudE1hbmFnaW5nIENvb2tpbmcgVGltZXMgdG8gTWF4aW1pemUgUHJvZHVjdGl2aXR5bGV2ZWxhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25vcmRlcmVkdmFsdWVzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIG92ZW4gY2FwYWNpdHkgdG8gcm9hc3QgbXVsdGlwbGUgdmVnZXRhYmxlcyBvciBwcm90ZWlucyBzaW11bHRhbmVvdXNseSwgZGlzdHJpYnV0aW5nIHRoZSBmb29kIG9uIHRyYXlzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q29vayBpbiBwYXJhbGxlbCBvbiB0aGUgc3RvdmUgYW5kIG92ZW4sIHVzaW5nIGxhcmdlIHBvdHMgYW5kIGRpZmZlcmVudCBtZXRob2RzIChzdGVhbSwgb3Zlbiwgc2tpbGxldCkgc2ltdWx0YW5lb3VzbHkuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRPcmdhbml6ZSB0aGUgb3JkZXIgb2YgcHJlcGFyYXRpb25zIHNvIHRoYXQgd2hpbGUgZ3JhaW5zIGFyZSBjb29raW5nLCB5b3UgY2FuIG1vdmUgb24gd2l0aCB0aGUgcmVzdCBvZiB0aGUgaW5ncmVkaWVudHMuaW5uZXJCbG9ja3NhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25jb250ZW50RWZmaWNpZW50IFVzZSBvZiB0aGUgT3ZlbiBhbmQgU2ltdWx0YW5lb3VzIENvb2tpbmdzbGV2ZWxhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25vcmRlcmVkdmFsdWVzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5HcmFpbnM6PC9zdHJvbmc+IFByZXBhcmUgcmljZSwgcXVpbm9hLCBvciBwYXN0YSBpbiBsYXJnZSBlbm91Z2ggcXVhbnRpdGllcyBmb3Igc2V2ZXJhbCBtZWFscy5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+UHJvdGVpbnM6PC9zdHJvbmc+IENvb2sgbGVndW1lcywgZWdncywgbWVhdHMsIG9yIHRvZnUgdG8gZGlzdHJpYnV0ZSBhY3Jvc3MgZGlmZmVyZW50IGRpc2hlcyBvZiB0aGUgd2Vlay5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+VmVnZXRhYmxlczo8L3N0cm9uZz4gUm9hc3QgdHJheXMgb2YgdmVnZXRhYmxlcywgc3RlYW0gdmVnZXRhYmxlcyBvciBtYWtlIHNhdXTDqWVkIGJhc2VzLjxicj5UaGVzZSBiYXNlcyBhbGxvdyBmb3IgY3JlYXRpbmcgY29tcGxldGUgYW5kIHF1aWNrIGRpc2hlcyBieSBjb21iaW5pbmcgdGhlbSBhcyBuZWVkZWQsIGFkZGluZyBkaWZmZXJlbnQgc2Vhc29uaW5ncy5pbm5lckJsb2Nrc2FsdGNhcHRpb25pZGxpbmt1cmxzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbmNvbnRlbnREaXZpZGUgdGhlIGNvb2tpbmcgaW50byBibG9ja3M6ZHJvcENhcHBsYWNlaG9sZGVyYWx0Y2FwdGlvbmlkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uTWFzcyBQcmVwYXJhdGlvbiBvZiBGb29kIEJhc2VzbGV2ZWxhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25vcmRlcmVkdmFsdWVzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5DaGVjayB3aGF0IHlvdSBoYXZlOjwvc3Ryb25nPiBSZXZpZXcgdGhlIGNvbnRlbnRzIG9mIHRoZSBwYW50cnkgYW5kIGZyaWRnZSBiZWZvcmUgY3JlYXRpbmcgdGhlIG1lbnUgdG8gdXRpbGl6ZSBpbmdyZWRpZW50cyBhbmQgYXZvaWQgZHVwbGljYXRlIHB1cmNoYXNlcy5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+U2VsZWN0IGNvbXBhdGlibGUgcmVjaXBlczo8L3N0cm9uZz4gQ2hvb3NlIGRpc2hlcyB0aGF0IHNoYXJlIGluZ3JlZGllbnRzIG9yIGJhc2UgcHJlcGFyYXRpb25zLCBzdWNoIGFzIHJvYXN0ZWQgdmVnZXRhYmxlcywgY29va2VkIGdyYWlucywgb3Igc2F1Y2VzLCB0byBzaW1wbGlmeSB0aGUgd29yayBhbmQgbXVsdGlwbHkgcG9zc2libGUgY29tYmluYXRpb25zLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5EZXNpZ24gdmFyaWVkIG1lbnVzOjwvc3Ryb25nPiBBbHRlcm5hdGUgcHJvdGVpbnMsIHR5cGVzIG9mIHZlZ2V0YWJsZXMsIGFuZCBncmFpbnMsIGFuZCB0aGluayBvZiBvcHRpb25zIHRoYXQgYWxsb3cgZm9yIGJvdGggY29sZCBhbmQgaG90IGRpc2hlcy5pbm5lckJsb2Nrc2FsdGNhcHRpb25pZGxpbmt1cmxzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbmNvbnRlbnRTdHJhdGVnaWVzIHRvIFBsYW4gdGhlIFdlZWtseSBNZW51IEFkZXF1YXRlbHlsZXZlbGFsdGNhcHRpb25pZGxpbmt1cmxzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbkZvbGxvd2luZyBhIHdlbGwtc3RydWN0dXJlZCBtZXRob2RvbG9neSBtYWtlcyBiYXRjaCBjb29raW5nIHNpbXBsZSBhbmQgZWZmaWNpZW50LiBIZXJlIGFyZSB0aGUga2V5cyB0byBjb25kdWN0aW5nIGEgcHJvZHVjdGl2ZSBzZXNzaW9uIGFuZCBvYnRhaW5pbmcgdmFyaWVkIG1lYWxzIHRoYXQgYXJlIHJlYWR5IGVhY2ggd2Vlay5kcm9wQ2FwcGxhY2Vob2xkZXJhbHRjYXB0aW9uaWRsaW5rdXJsc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25TdGVwcyBmb3IgU3VjY2Vzc2Z1bCBCYXRjaCBDb29raW5nbGV2ZWw8YSBocmU9Imh0dHBzOi8vd3d3LmdlbnVvLmNvbS9ibG9nL2xvY2FsbHktcHJvZHVjZWQtZm9vZC8iIGRhdGEtdHlwZT0ibGluayIgZGF0YS1pZD0idHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy9sb2NhbGx5LXByb2R1Y2VkLWZvb2QvIj5mcmVzaDwvYT5kcm9wQ2FwcGxhY2Vob2xkZXI8bGk+UHJpb3JpdGl6ZSA8YSBocmVmPSJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy9sb2NhbGx5LXByb2R1Y2VkLWZvb2QvIiBkYXRhLXR5cGU9ImxpbmsiIGRhdGEtaWQ9Imh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL2xvY2FsbHktcHJvZHVjZWQtZm9vZC8iPmZyZXNoIGFuZCBzZWFzb25hbCBwcm9kdWN0czwvYT4sIGFkanVzdGluZyBhY2NvcmRpbmcgdG8gd2hhdCB5b3UgYWxyZWFkeSBoYXZlPC9saT4KPCEtLSB3cDppbWFnZSB7ImlkIjozNTQxMSwic2l6ZVNsdWciOiJsYXJnZSIsImxpbmtEZXN0aW5hdGlvbiI6Im5vbmUifSAtLT4KPCEtLSAvd3A6aW1hZ2UgLS0+Cgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+ZG9jdW1lbnRzbHVnIPCfpZc8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGciIGFsdD0iV2l0aCBiYXRjaCBjb29raW5nLCBvcmdhbml6ZSB5b3VyIG1lYWxzIGZvciB0aGUgd2VlayIgY2xhc3M9IndwLWltYWdlLTM1NDExIi8+PC9maWd1cmU+CgUHCAQIBggFpAEIBwgHCAYIDggOCAsIBkgBBggEUwAXUgAZGxdcAB0PFxARGR0SERcWFxobGBsJCAoIBAgGCAcPBAoHCwUHBQekAQUIBwQKB6oEB0sACAcECgctBQsIBwQKB5QHB0sACAcECgcxB0sACAcECgcGCwgHBAoHtgILCAcECgeqAgsIBwQKB40DCwgHBAoHFwULCAcECgeFBAdLAAgHBAoHhgcHSwAIBwQKB5YDB0sACAcECgcbBQsIBwQKB7kBB0sACAcECgcuBQsIBwQKB4UEB0sACAcECgcsB0sACAcECgcGCwgHBAoHLgsIBwQKB5ABCwgHBAoHMQsIBwQKBzEFCwgHBAoHkgIHSwAIBwQKBwYLCAcECgc5CwgHBAoHPwsIBwQKB4wBCwgHBAoHuQEHSwAIBwQKByMFCwgHBAoHkQMHSwAIBwQKBzwHSwAIBwQKBwYLCAcECgcmCwgHBAoHNQsIBwQKBywLCAcECgcxBQsIBwQKB7oCB0sACAcECgceB0sACAcECgcGCwgHBAoHIQsIBwQKB5ABCwgHBAoHgQELCAcECgerAgdLAAgHBAoHLgULCAcECge8AQdLAAgHBAoHHAULCAcECgeSBAdLAAgHBAoHGgULCAcECgecAQdLAAgHBAoHBgsIBwQKBxMLCAcECgcYCwgHBAoHKAsIBwQKB4UBCwgHBAoHvwIHSwAIBwQKByIFCwgHBAoHjAEHSwAIBwQKBwYLCAcECgc9CwgHBAoHCwECQQAWLgsIBwQKBzYLCAcECgeuAQdLAAgHBAoHJwULCAcECgepAQdLAAgHBAoHBgsIBwQKByMLCAcECgcoCwgHBAoHOwsIBwQKByMLCAcECgeYAgdLAAgHBAoHvwIHSwAIBwQKByIFCwgHBAoHuwIHSwAIBwQKBy0FCwgHBAoHBgsIBwQKB6ECCwgHBAoHlQMLCAcECgeYAgsIBwQKBx4FCwgHBAoHHwdLAAgHBAoHBgsIBwQKB6UBCwgHBAoHsAELCAcECgeVAwsIBwQKBzMFCwgHBAoHBgsIBwQKB7wBCwgHBAoHtQELCAcECge2AQsIBwQKBy8FCwgHBAoHBgsIBwQKB60BCwgHBAoHkAILCAcECge2AQsIBwQKBzoFCwgHBAoHBgsIBwQKB48CCwgHBAoHhwELCAcECgc2CwgHBAoHlQELCAcECgeAAgsIBwQKB5ICB0sACAcECgcqBQsIBwQKB7sBB0sACAcECgckBQsIBwQKB7UBB0sACAcECgcGCwgHBAoHgwELCAcECgeKAQsIBwQKB4oBCwgHBAoHkAELCAcECgeIAQsIBwQKB40BCwgHBAoHhQELCAcECgejAQdLAAgHBAoHLQULCAcECgeDAQdLAAgHBAoHBgsIBwQKBxkLCAcECgcaCwgHBAoHJgsIBwQKBxcLCAcECgeFAQsIBwQKB54BB0sACAcECgcvBQsIBwQKB4cBB0sACAcECgcGCwgHBAoHOAsIBwQKByALCAcECgciCwgHBAoHFgsIBwQKBxULCAcECgegAQdLAAgHBAoHOQULCAcECgc4B0sACAcECgcGCwgHBAoHMQsIBwQKBygLCAcECgcXCwgHBAoHHQsIBwQKBxsLCAcECgeTAQdLAAgHBAoHNwULCAcECgeiAQdLAAgHBAoHBgsIBwQKB4EBCwgHBAoHPwsIBwQKBy4LCAcECgchCwgHBAoHHgsIBwQKB5MCB0sACAcECgcoBQsIBwQKB7sCB0sACAcECgcsBQsIBwQKBwYLCAcECge8AQsIBwQKB7kBCwgHBAoHuAILCAcECgeBAgsIBwQKBzEFCwgHBAoHBgsIBwQKB6ABCwgHBAoHmwELCAcECgeyAQsIBwQKB7UBCwgHBAoHLAULCAcECgcGCwgHBAoHogILCAcECgeaAgsIBwQKB60BCwgHBAoHOAULCAcECgcGCwgHBAoHiQILCAcECgeFAQsIBwQKBzsLCAcECgeHAgsIBwQKB5ACB0sACAcECgcuBQsIBwQKB6kBB0sACAcECgcdBQsIBwQKBwYLCAcECgeDBAsIBwQKB54DCwgHBAoHkgILCAcECgcyBQsIBwQKBwYLCAcECge\/AQsIBwQKB4cCCwgHBAoHggILCAcECgeaAgsIBwQKB7ABCwgHBAoHgwIHSwAIBwQKBzwFCwgHBAoHBgsIBwQKB7oCCwgHBAoHlQILCAcECgeUAgsIBwQKB5gCCwgHBAoHggIHSwAIBwQKRwBLAAMHAgQDCA+akgGuF5vfAQMHAgQDCA+QAgMHAgQDCA8HBggHBAoHiQILCAcECgeFAQsIBwQKBzsLCAcECgeHAgsDBwIEAwgPBzgFAwcCBAMIDwcGCAcECgeiAgsIBwQKB5oCCwgHBAoHrQELAwcCBAMIDwcsBQMHAgQDCA8HBggHBAoHoAELCAcECgebAQsIBwQKB7IBCwgHBAoHtQELAwcCBAMIDwcxBQMHAgQDCA8HBggHBAoHvAELCAcECge5AQsIBwQKB7gCCwgHBAoHgQILAwcCBAMIDwcsBQMHAgQDCA+7AgcLAwcCBAMIDygFAwcCBAMID5MCBwsDBwIEAwgPBwYIBwQKB4EBCwgHBAoHPwsIBwQKBy4LCAcECgchCwgHBAoHHgsDBwIEAwgPB6IBBwsDBwIEAwgPNwUDBwIEAwgPkwEHCwMHAgQDCA8HBggHBAoHMQsIBwQKBygLCAcECgcXCwgHBAoHHQsIBwQKBxsLAwcCBAMIDwc4BwsDBwIEAwgPOQUDBwIEAwgPoAEHCwMHAgQDCA8HBggHBAoHOAsIBwQKByALCAcECgciCwgHBAoHFgsIBwQKBxULAwcCBAMIDweHAQcLAwcCBAMIDy8FAwcCBAMID54BBwsDBwIEAwgPBwYIBwQKBxkLCAcECgcaCwgHBAoHJgsIBwQKBxcLCAcECgeFAQsDBwIEAwgPB4MBBwsDBwIEAwgPLQUDBwIEAwgPowEHCwMHAgQDCA8HBggHBAoHgwELCAcECgeKAQsIBwQKB4oBCwgHBAoHkAELCAcECgeIAQsIBwQKB40BCwgHBAoHhQELAwcCBAMIDwe1AQcLAwcCBAMIDyQFAwcCBAMID7sBBwsDBwIEAwgPKgUDBwIEAwgPkgIHCwMHAgQDCA8HBggHBAoHjwILCAcECgeHAQsIBwQKBzYLCAcECgeVAQsIBwQKB4ACCwMHAgQDCA8HOgUDBwIEAwgPBwYIBwQKB60BCwgHBAoHkAILCAcECge2AQsDBwIEAwgPBy8FAwcCBAMIDwcGCAcECge8AQsIBwQKB7UBCwgHBAoHtgELAwcCBAMIDwczBQMHAgQDCA8HBggHBAoHpQELCAcECgewAQsIBwQKB5UDCwMHAgQDCA8HHwcLAwcCBAMIDx4FAwcCBAMIDwcGCAcECgehAgsIBwQKB5UDCwgHBAoHmAILAwcCBAMIDwctBQMHAgQDCA+7AgcLAwcCBAMIDyIFBg8DPToEBwuxA4sBFBYIBAOEBBYBAwAAAQAAAAEIABoBAgAHAQEAgxMBmQhCAQEAQQAAAkEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBCAkEAAgBBAAIAQQACAEEAAgBCAUEAAgBBAAIAQQACAEIBQQACAEEAAgBBAAIAQQACAEIBQQACAEEAAgBBAAIAQQACAEIHQQACAEEAAgBBAAIAQQACAEEAAgBCBUEAAgBBAAIAQQACAEEAAgBBAAIAQgVBAAIAQQACAEEAAgBBAAIAQQACAEIFQQACAEEAAgBBAAIAQQACAEEAAgBCBUEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBCCUEAAgBBAAIAQQACAEEAAgBBAAIAQgFBAAIAQQACAEEAAgBCAUEAAgBBAAIAQQACAEIBQQACAEEAAgBBAAIAQgNBAAIAQQACAEEAAgBCBBxBAZ2jAkHBBr0CngGFBUHXBYQEQQCCBEECAkEAAZwXAH0BfQF9qagEdwRvcGVudwRvcGVueXcAdwhzdGFuZGFyZHcHZGVmYXVsdHcAdwdkZWZhdWx0dwdkZWZhdWx0dwdkZWZhdWx0dwB3AHcAdwB3AHcAdwB3AHcAdwB3AHcAdwB3AHcAdwB3AHcHZGVmYXVsdHcHZGVmYXVsdHYDB2Rlc2t0b3B2DBBiYWNrZ3JvdW5kLWNvbG9ydxl2YXIoLS1hc3QtZ2xvYmFsLWNvbG9yLTQpEGJhY2tncm91bmQtaW1hZ2V3ABFiYWNrZ3JvdW5kLXJlcGVhdHcGcmVwZWF0E2JhY2tncm91bmQtcG9zaXRpb253DWNlbnRlciBjZW50ZXIPYmFja2dyb3VuZC1zaXpldwRhdXRvFWJhY2tncm91bmQtYXR0YWNobWVudHcGc2Nyb2xsD2JhY2tncm91bmQtdHlwZXcAEGJhY2tncm91bmQtbWVkaWF3AAxvdmVybGF5LXR5cGV3AA1vdmVybGF5LWNvbG9ydwAPb3ZlcmxheS1vcGFjaXR5dwAQb3ZlcmxheS1ncmFkaWVudHcABnRhYmxldHYMEGJhY2tncm91bmQtY29sb3J3ABBiYWNrZ3JvdW5kLWltYWdldwARYmFja2dyb3VuZC1yZXBlYXR3BnJlcGVhdBNiYWNrZ3JvdW5kLXBvc2l0aW9udw1jZW50ZXIgY2VudGVyD2JhY2tncm91bmQtc2l6ZXcEYXV0bxViYWNrZ3JvdW5kLWF0dGFjaG1lbnR3BnNjcm9sbA9iYWNrZ3JvdW5kLXR5cGV3ABBiYWNrZ3JvdW5kLW1lZGlhdwAMb3ZlcmxheS10eXBldwANb3ZlcmxheS1jb2xvcncAD292ZXJsYXktb3BhY2l0eXcAEG92ZXJsYXktZ3JhZGllbnR3AAZtb2JpbGV2DBBiYWNrZ3JvdW5kLWNvbG9ydwAQYmFja2dyb3VuZC1pbWFnZXcAEWJhY2tncm91bmQtcmVwZWF0dwZyZXBlYXQTYmFja2dyb3VuZC1wb3NpdGlvbncNY2VudGVyIGNlbnRlcg9iYWNrZ3JvdW5kLXNpemV3BGF1dG8VYmFja2dyb3VuZC1hdHRhY2htZW50dwZzY3JvbGwPYmFja2dyb3VuZC10eXBldwAQYmFja2dyb3VuZC1tZWRpYXcADG92ZXJsYXktdHlwZXcADW92ZXJsYXktY29sb3J3AA9vdmVybGF5LW9wYWNpdHl3ABBvdmVybGF5LWdyYWRpZW50dwB2AwdkZXNrdG9wdgwQYmFja2dyb3VuZC1jb2xvcncZdmFyKC0tYXN0LWdsb2JhbC1jb2xvci01KRBiYWNrZ3JvdW5kLWltYWdldwARYmFja2dyb3VuZC1yZXBlYXR3BnJlcGVhdBNiYWNrZ3JvdW5kLXBvc2l0aW9udw1jZW50ZXIgY2VudGVyD2JhY2tncm91bmQtc2l6ZXcEYXV0bxViYWNrZ3JvdW5kLWF0dGFjaG1lbnR3BnNjcm9sbA9iYWNrZ3JvdW5kLXR5cGV3ABBiYWNrZ3JvdW5kLW1lZGlhdwAMb3ZlcmxheS10eXBldwANb3ZlcmxheS1jb2xvcncAD292ZXJsYXktb3BhY2l0eXcAEG92ZXJsYXktZ3JhZGllbnR3AAZ0YWJsZXR2DBBiYWNrZ3JvdW5kLWNvbG9ydxl2YXIoLS1hc3QtZ2xvYmFsLWNvbG9yLTUpEGJhY2tncm91bmQtaW1hZ2V3ABFiYWNrZ3JvdW5kLXJlcGVhdHcGcmVwZWF0E2JhY2tncm91bmQtcG9zaXRpb253DWNlbnRlciBjZW50ZXIPYmFja2dyb3VuZC1zaXpldwRhdXRvFWJhY2tncm91bmQtYXR0YWNobWVudHcGc2Nyb2xsD2JhY2tncm91bmQtdHlwZXcAEGJhY2tncm91bmQtbWVkaWF3AAxvdmVybGF5LXR5cGV3AA1vdmVybGF5LWNvbG9ydwAPb3ZlcmxheS1vcGFjaXR5dwAQb3ZlcmxheS1ncmFkaWVudHcABm1vYmlsZXYMEGJhY2tncm91bmQtY29sb3J3GXZhcigtLWFzdC1nbG9iYWwtY29sb3ItNSkQYmFja2dyb3VuZC1pbWFnZXcAEWJhY2tncm91bmQtcmVwZWF0dwZyZXBlYXQTYmFja2dyb3VuZC1wb3NpdGlvbncNY2VudGVyIGNlbnRlcg9iYWNrZ3JvdW5kLXNpemV3BGF1dG8VYmFja2dyb3VuZC1hdHRhY2htZW50dwZzY3JvbGwPYmFja2dyb3VuZC10eXBldwAQYmFja2dyb3VuZC1tZWRpYXcADG92ZXJsYXktdHlwZXcADW92ZXJsYXktY29sb3J3AA9vdmVybGF5LW9wYWNpdHl3ABBvdmVybGF5LWdyYWRpZW50dwB3AHUAdyQ1OGMzYjIxNy0zZTc2LTQ4YjctOWU3OS0yNGY3ODVmYmJiOWV4d8+TATxoMT5CYXRjaCBDb29raW5nOiBPcmdhbml6ZSBZb3VyIEtpdGNoZW4gYW5kIFNhdmUgVGltZSB3aXRoIEhlYWx0aHkgUmVjaXBlcyBmb3IgYSBTdWNjZXNzZnVsIFdlZWtseSBNZW51PC9oMT4KPHA+QmF0Y2ggY29va2luZyBhbGxvd3MgeW91IHRvIG9yZ2FuaXplIG1lYWxzIGZvciB0aGUgd2VlayBpbiBhIHNpbmdsZSBjb29raW5nIHNlc3Npb24uIFRoaXMgd2F5LCB5b3Ugc2F2ZSB0aW1lLCByZWR1Y2UgZGFpbHkgc3RyZXNzLCBhbmQgZW5zdXJlIHRoYXQgeW91ciBkaWV0IGlzIG1vcmUgdmFyaWVkIGFuZCBoZWFsdGh5LiBXaXRoIGdvb2QgcGxhbm5pbmcgYW5kIHNpbXBsZSByZWNpcGVzLCBoYXZpbmcgbWVhbHMgcmVhZHkgZm9yIGVhY2ggZGF5IGlzIHBvc3NpYmxlIGFuZCBtdWNoIGVhc2llciB0aGFuIGl0IHNlZW1zLjwvcD4KPGgyPldoYXQgaXMgQmF0Y2ggQ29va2luZyBhbmQgV2h5IGlzIGl0IFRyZW5kaW5nPzwvaDI+CjxwPjxzdHJvbmc+QmF0Y2ggY29va2luZzwvc3Ryb25nPiBjb25zaXN0cyBvZiBkZWRpY2F0aW5nIGEgZmV3IGhvdXJzLCB1c3VhbGx5IG9uIHRoZSB3ZWVrZW5kLCB0byBjb29rIGFuZCBwcmVwYXJlIHNldmVyYWwgbWVhbHMgZm9yIHRoZSBlbnRpcmUgd2VlayBpbiBidWxrLiBJdCBpbnZvbHZlcyBwbGFubmluZyB0aGUgbWVudSBpbiBhZHZhbmNlIGFuZCBtYWtpbmcgZGlmZmVyZW50IGRpc2hlcyBvciBiYXNlcyBzdWNoIGFzIHJvYXN0ZWQgdmVnZXRhYmxlcywgZ3JhaW5zLCBsZWd1bWVzLCBvciBwcm90ZWlucy4gVGhlc2UgcHJlcGFyYXRpb25zIGFyZSBzdG9yZWQgaW4gYWlydGlnaHQgY29udGFpbmVycyBpbiB0aGUgZnJpZGdlIG9yIGZyZWV6ZXIsIHJlYWR5IHRvIGJlIGNvbWJpbmVkIGFuZCBhc3NlbWJsZWQgaW50byB2YXJpZWQgZGlzaGVzIGVhY2ggZGF5IHdpdGhvdXQgaGF2aW5nIHRvIGNvb2sgZnJvbSBzY3JhdGNoLjwvcD4KPHA+PHN0cm9uZz5NYWluIEFkdmFudGFnZXMgb2YgQmF0Y2ggQ29va2luZzwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PHN0cm9uZz5UaW1lLXNhdmluZzo8L3N0cm9uZz4gQ2VudHJhbGl6aW5nIHRoZSBjb29raW5nIGludG8gb25lIHNlc3Npb24gZnJlZXMgdXAgaG91cnMgdGhyb3VnaG91dCB0aGUgd2Vlay4gSXQgc2ltcGxpZmllcyBkYWlseSB0YXNrcyBhbmQgYXZvaWRzIHRoZSBjb25zdGFudCBxdWVzdGlvbiBvZiB3aGF0IHRvIGVhdC48L2xpPgo8bGk+PHN0cm9uZz5TdHJlc3MgcmVkdWN0aW9uOjwvc3Ryb25nPiBQbGFubmluZyBpbiBhZHZhbmNlIGFuZCBoYXZpbmcgbWVhbHMgcmVhZHkgZGVjcmVhc2VzIGRhaWx5IHByZXNzdXJlIGFuZCBoZWxwcyBtYWludGFpbiBhIGNvbnNpc3RlbnQgZGlldCwgZXZlbiBvbiB1bmV4cGVjdGVkIGJ1c3kgZGF5cy48L2xpPgo8bGk+PHN0cm9uZz5FZmZpY2llbnQgb3JnYW5pemF0aW9uOjwvc3Ryb25nPiBCYXRjaCBjb29raW5nIGZhY2lsaXRhdGVzIGNvbnRyb2wgb2YgdGhlIGZvb2QgaW4gdGhlIHBhbnRyeSBhbmQgZnJpZGdlLiBJdCBhbGxvd3MgZm9yIGJ1eWluZyBqdXN0IGVub3VnaCwgYmV0dGVyIHVzZSBvZiBmcmVzaCBpbmdyZWRpZW50cywgYW5kIG1pbmltaXplcyBmb29kIHdhc3RlLjwvbGk+CjwvdWw+CjxoMz5UcmVuZCBpbiBIZWFsdGh5IEVhdGluZzwvaDM+CjxwPlRoZSByaXNlIG9mIGJhdGNoIGNvb2tpbmcgaXMgaW4gcmVzcG9uc2UgdG8gdGhlIG5lZWQgZm9yIGEgaGVhbHRoaWVyIGFuZCBtb3JlIG9yZ2FuaXplZCBsaWZlLiBDb29raW5nIGluIGJhdGNoZXMgZW5jb3VyYWdlcyBkZXNpZ25pbmcgYmFsYW5jZWQgbWVudXMgdGhhdCBpbmNsdWRlIHZlZ2V0YWJsZXMsIGxlZ3VtZXMsIHByb3RlaW5zLCBhbmQgZ3JhaW5zLCBwcm9tb3RpbmcgdmFyaWV0eSBhbmQgdGhlIGNvbnN1bXB0aW9uIG9mIGZyZXNoIHByb2R1Y3RzLjwvcD4KPHA+SW4gcmVjZW50IHllYXJzLCB0aGUgdHJlbmQgdG93YXJkcyBiYXRjaCBjb29raW5nIGhhcyBncm93biBhbW9uZyB0aG9zZSBzZWVraW5nIHRvIG9wdGltaXplIHRoZWlyIHRpbWUgd2hpbGUgc3RpbGwgZWF0aW5nIHdlbGwuIEluc3BpcmF0aW9uIGFuZCByZWNpcGVzIGFyZSBzaGFyZWQgb24gc29jaWFsIG1lZGlhIGFuZCBvbmxpbmUgZ3JvdXBzLCBjb25zb2xpZGF0aW5nIHRoZSBwcmFjdGljZSBhcyBhIHJlYWxpc3RpYyBvcHRpb24gdG8gbWFpbnRhaW4gYSBoZWFsdGh5IGRpZXQgd2l0aCBsaXR0bGUgZWZmb3J0IGR1cmluZyB0aGUgd2Vlay4gQWRkaXRpb25hbGx5LCB0aGlzIHRlY2huaXF1ZSBzdXBwb3J0cyBzdXN0YWluYWJsZSB2YWx1ZXMsIGFzIGl0IGhlbHBzIHJlZHVjZSB3YXN0ZSBhbmQgc2ltcGxpZmllcyB0aGUgdXNlIG9mIGVuZXJneSBhbmQgcmVzb3VyY2VzIGluIHRoZSBraXRjaGVuLjwvcD4KPHA+PHN0cm9uZz5JbiBzdW1tYXJ5Ojwvc3Ryb25nPiBCYXRjaCBjb29raW5nIGlzIG9uIHRoZSByaXNlIGJlY2F1c2UgaXQgZmFjaWxpdGF0ZXMgaGF2aW5nIGEgdmFyaWVkIHdlZWtseSBtZW51LCBzYXZlcyB0aW1lLCBpbXByb3ZlcyBvcmdhbml6YXRpb24sIGFuZCByZXNwb25kcyB0byBhIGdyb3dpbmcgaW50ZXJlc3QgaW4gZm9vZCBoZWFsdGggYW5kIHN1c3RhaW5hYmlsaXR5LjwvcD4KPGgyPkFkdmFudGFnZXMgb2YgQmF0Y2ggQ29va2luZzwvaDI+CjxwPkJhdGNoIGNvb2tpbmcgb2ZmZXJzIGtleSBiZW5lZml0cyB3aGVuIG9yZ2FuaXppbmcgeW91ciB3ZWVrbHkgbWVudSBhbmQgaW1wcm92aW5nIHlvdXIgcmVsYXRpb25zaGlwIHdpdGggY29va2luZyBhbmQgZm9vZC48L3A+CjxoMz5PcHRpbWl6YXRpb24gb2YgV2Vla2x5IFRpbWUgYnkgQ29va2luZyBpbiBCdWxrPC9oMz4KPHA+QnkgcHJlcGFyaW5nIG11bHRpcGxlIG1lYWxzIGluIGEgc2luZ2xlIHNlc3Npb24sIHlvdSBzYXZlIHRpbWUgZXZlcnkgZGF5LiBZb3UgZG9u4oCZdCBuZWVkIHRvIHRoaW5rIGFib3V0IGRhaWx5IG1lbnVzIG9yIHNwZW5kIGxvbmcgcGVyaW9kcyBjb29raW5nIHdoZW4geW91IGhhdmUgbGVzcyBlbmVyZ3kuIFRoaXMgc3lzdGVtIGZyZWVzIHVwIHNldmVyYWwgaG91cnMgYSB3ZWVrIHRoYXQgeW91IGNhbiBzcGVuZCBvbiB5b3Vyc2VsZiBvciB5b3VyIGZhbWlseS48L3A+CjxwPjxzdHJvbmc+QWR2YW50YWdlcyBpbiBPcmdhbml6YXRpb246PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5MZXNzIHRpbWUgc3BlbnQgaW4gdGhlIGtpdGNoZW4gZHVyaW5nIHRoZSB3ZWVrPC9saT4KPGxpPlJlZHVjdGlvbiBvZiB1bmZvcmVzZWVuIGV2ZW50cyBhbmQgZW1lcmdlbmNpZXMgZHVlIHRvIHRoZSBsYWNrIG9mIHByZXBhcmVkIG1lYWxzPC9saT4KPGxpPk1vcmUgZmxleGliaWxpdHkgdG8gYWRhcHQgdGhlIG1lbnUgdG8gYW55IGNoYW5nZXM8L2xpPgo8L3VsPgo8aDM+RWZmaWNpZW50IFBsYW5uaW5nIGZvciBhIEJhbGFuY2VkIGFuZCBWYXJpZWQgTWVudTwvaDM+CjxwPkJhdGNoIGNvb2tpbmcgcmVxdWlyZXMgc2VsZWN0aW5nIHZhcmllZCByZWNpcGVzIGFuZCBmb29kcyBiZWZvcmUgeW91IHN0YXJ0IGNvb2tpbmcuIFRoaXMgYWR2YW5jZSBwbGFubmluZyBpbXByb3ZlcyB5b3VyIGRpZXQsIGFzIGl0IGFsbG93cyB5b3UgdG86PC9wPgo8dWw+CjxsaT5JbmNsdWRlIG1vcmUgdmVnZXRhYmxlcywgbGVndW1lcywgYW5kIGZydWl0cyBpbiB5b3VyIGRpZXQ8L2xpPgo8bGk+RW5zdXJlIHRoZSBiYWxhbmNlIG9mIHByb3RlaW5zLCBjYXJib2h5ZHJhdGVzLCBhbmQgaGVhbHRoeSBmYXRzPC9saT4KPGxpPkF2b2lkIHJlcGVhdGluZyBkaXNoZXMgb3IgcmVzb3J0aW5nIHRvIGxlc3MgaGVhbHRoeSBmb29kIGR1ZSB0byBsYWNrIG9mIHRpbWU8L2xpPgo8L3VsPgo8cD5Pcmdhbml6aW5nIGJ1bGsgcHJlcGFyYXRpb25zIGFsc28gaGVscHMgYWRhcHQgcG9ydGlvbnMgYW5kIG1lYWxzIHRvIHRoZSBudXRyaXRpb25hbCBuZWVkcyBvZiBkaWZmZXJlbnQgaG91c2Vob2xkIG1lbWJlcnMuPC9wPgo8aDM+U2lnbmlmaWNhbnQgUmVkdWN0aW9uIG9mIEZvb2QgV2FzdGU8L2gzPgo8cD5CeSBhZGp1c3Rpbmcgc2hvcHBpbmcgYW5kIHJlY2lwZXMgdG8gdGhlIHBsYW5uZWQgbWVudSwgbW9yZSBpbmdyZWRpZW50cyBhcmUgdXRpbGl6ZWQuIFByZXBhcmluZyB0aGUgd2VlaydzIGZvb2QgYWNjb3JkaW5nIHRvIHdoYXQncyBpbiB0aGUgcGFudHJ5IG9yIGZyaWRnZSByZWR1Y2VzIHRoZSBhbW91bnQgb2YgZm9vZCB0aGF0IGVuZHMgdXAgaW4gdGhlIHRyYXNoLjwvcD4KPHA+PHN0cm9uZz5LZXkgUG9pbnRzIG9mIEJhdGNoIENvb2tpbmcgdG8gTGltaXQgV2FzdGU6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5Vc2UgdGhlIG1vc3QgcGVyaXNoYWJsZSBwcm9kdWN0cyBmaXJzdDwvbGk+CjxsaT5TdG9yZSBsZWZ0b3ZlciBwb3J0aW9ucyBmb3IgY29uc3VtcHRpb24gb24gbGF0ZXIgZGF5czwvbGk+CjxsaT5SZWNpcGVzIGRlc2lnbmVkIHRvIHVzZSB1cCBsZXNzIGNvbW1vbiBmb29kczwvbGk+CjwvdWw+CjxoMz5FY29ub21pYyBCZW5lZml0OiBIb3cgQmF0Y2ggQ29va2luZyBSZWR1Y2VzIENvc3RzPC9oMz4KPHA+QmF0Y2ggY29va2luZyBhbHNvIHJlcHJlc2VudHMgYSBkaXJlY3Qgc2F2aW5nIGZvciB5b3VyIHBvY2tldC4gUHJlcGFyaW5nIHdlZWtseSBtZW51cyBoZWxwcyBidXkgb25seSB3aGF04oCZcyBuZWNlc3NhcnkgYW5kIHRha2UgYWR2YW50YWdlIG9mIG9mZmVycyBvbiBmcmVzaCBwcm9kdWN0cyBpbiBsYXJnZXIgcXVhbnRpdGllcy48L3A+CjxwPjxzdHJvbmc+SG93IHlvdSBzYXZlOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+QnkgcmVkdWNpbmcgd2FzdGUsIGxlc3MgaXMgYm91Z2h0PC9saT4KPGxpPkl0IGF2b2lkcyB0aGUgdGVtcHRhdGlvbiBvZiBvcmRlcmluZyB0YWtlb3V0IG9yIGJ1eWluZyBleHBlbnNpdmUgcHJlcGFyZWQgZGlzaGVzPC9saT4KPGxpPkJhc2ljIGluZ3JlZGllbnRzIGluIGxhcmdlIHF1YW50aXRpZXMgYXJlIHVzdWFsbHkgbW9yZSBlY29ub21pY2FsPC9saT4KPC91bD4KPHA+VWx0aW1hdGVseSwgYmF0Y2ggY29va2luZyBhbGxvd3MgeW91IHRvIGNvbnRyb2wgc3BlbmRpbmcsIG9wdGltaXplIHNob3BwaW5nLCBhbmQgbWFrZSBiZXR0ZXIgdXNlIG9mIGZvb2QsIGJlY29taW5nIGFuIGVmZmVjdGl2ZSB0b29sIGZvciBib3RoIGhlYWx0aCBhbmQgaG91c2Vob2xkIGVjb25vbXkuPC9wPgo8aDI+SG93IHRvIE9yZ2FuaXplIFlvdXIgS2l0Y2hlbiBmb3IgQmF0Y2ggQ29va2luZzwvaDI+CjxwPlByZXBhcmluZyB0aGUgZW52aXJvbm1lbnQgYmVmb3JlIHN0YXJ0aW5nIGJhdGNoIGNvb2tpbmcgaXMga2V5IHRvIG1ha2luZyB0aGUgd2hvbGUgcHJvY2VzcyBmYXN0LCBjb21mb3J0YWJsZSwgYW5kIGVmZmljaWVudC48L3A+CjxoMz5DaGVjayBZb3VyIFBhbnRyeSBhbmQgRnJpZGdlPC9oMz4KPHA+QmVmb3JlIHBsYW5uaW5nIGFueSBtZW51LCBpdCdzIGltcG9ydGFudCB0byBrbm93IGV4YWN0bHkgd2hhdCBmb29kcyB5b3UgaGF2ZSBhdCBob21lLiBUaGlzIGF2b2lkcyB1bm5lY2Vzc2FyeSBwdXJjaGFzZXMsIG1ha2VzIHVzZSBvZiBwcm9kdWN0cyBuZWFyaW5nIGV4cGlyYXRpb24sIGFuZCByZWR1Y2VzIHdhc3RlLiBEbyBhIHZpc3VhbCBjaGVjayBhbmQgbm90ZSBkb3duIGVzc2VudGlhbCBpbmdyZWRpZW50cywgZXNwZWNpYWxseSBmcmVzaCBhbmQgcGVyaXNoYWJsZSBvbmVzLjwvcD4KPGgzPlBsYW4gYSBIZWFsdGh5IFdlZWtseSBNZW51PC9oMz4KPHA+RGVzaWduIGEgc2ltcGxlLCB2YXJpZWQsIGFuZCBiYWxhbmNlZCBtZW51IGZvciB0aGUgZW50aXJlIHdlZWsuIENvbnNpZGVyIHRoZSBjb21iaW5hdGlvbiBvZjo8L3A+Cjx1bD4KPGxpPlNlYXNvbmFsIHZlZ2V0YWJsZXM8L2xpPgo8bGk+TGVndW1lcyBhbmQgd2hvbGUgZ3JhaW5zPC9saT4KPGxpPkhlYWx0aHkgcHJvdGVpbnMgKGFuaW1hbCBvciBwbGFudC1iYXNlZCk8L2xpPgo8bGk+RGlzaGVzIHRoYXQgY2FuIGJlIHJlaW52ZW50ZWQgd2l0aCBkaWZmZXJlbnQgZHJlc3NpbmdzIG9yIHNpZGUgZGlzaGVzPC9saT4KPC91bD4KPHA+Q2hvb3NlIGNvbXBhdGlibGUgcmVjaXBlcyB0aGF0IGFsbG93IGZvciByZXVzaW5nIGJhc2VzIGFuZCBkaXN0cmlidXRlIHRoZSBpbmdyZWRpZW50cyB0byBvcHRpbWl6ZSB0aGVpciB1c2UgaW4gdmFyaW91cyBtZWFscy4gU3VjaCBwbGFubmluZyBoZWxwcyBtYWludGFpbiBhIGJhbGFuY2VkIGRpZXQgYW5kIGF2b2lkcyBtb25vdG9ueS48L3A+CjxoMz5QcmVwYXJlIGFuIEVmZmVjdGl2ZSBTaG9wcGluZyBMaXN0PC9oMz4KPHA+V2l0aCB0aGUgbWVudSBpbiBoYW5kIGFuZCB0aGUgcGFudHJ5IGNoZWNrZWQsIG1ha2UgYSB0YWlsb3JlZCBzaG9wcGluZyBsaXN0OjwvcD4KPHVsPgo8bGk+Tm90ZSBkb3duIHNwZWNpZmljIGZvb2RzIGFuZCBleGFjdCBxdWFudGl0aWVzIHRvIGF2b2lkIGV4Y2VzczwvbGk+CjxsaT5Qcmlvcml0aXplIGZyZXNoIGFuZCBzZWFzb25hbCBwcm9kdWN0cywgYWRqdXN0aW5nIGFjY29yZGluZyB0byB3aGF0IHlvdSBhbHJlYWR5IGhhdmU8L2xpPgo8bGk+SW5jbHVkZSBhaXJ0aWdodCBjb250YWluZXJzIGFuZCBzdG9yYWdlIGJhZ3MgaWYgbmVlZGVkPC9saT4KPC91bD4KPHA+VGhpcyBwcmVjaXNlIGxpc3QgcHJldmVudHMgZm9yZ2V0ZnVsbmVzcyBhbmQgdW5uZWNlc3Nhcnkgc3BlbmRpbmcgYW5kIHNwZWVkcyB1cCB5b3VyIHZpc2l0IHRvIHRoZSBzdXBlcm1hcmtldC48L3A+CjxoMz5Pcmdhbml6ZSBVdGVuc2lscyBmb3IgRWZmaWNpZW50IENvb2tpbmc8L2gzPgo8cD5IYXZpbmcgYW4gb3JkZXJlZCBraXRjaGVuIGJlZm9yZSB5b3Ugc3RhcnQgbWFrZXMgYmF0Y2ggY29va2luZyBtdWNoIGVhc2llci4gUHJlcGFyZSBldmVyeXRoaW5nIG5lY2Vzc2FyeTo8L3A+Cjx1bD4KPGxpPlBvdHMsIHBhbnMsIG92ZW4gdHJheXMsIGFuZCBzdGVhbWVyPC9saT4KPGxpPldlbGwtc2hhcnBlbmVkIGtuaXZlcyBhbmQgY3V0dGluZyBib2FyZHM8L2xpPgo8bGk+U3RvcmFnZSBjb250YWluZXJzLCBwcmVmZXJhYmx5IG1hZGUgZnJvbSByZXVzYWJsZSBtYXRlcmlhbHM8L2xpPgo8bGk+U3BhdHVsYXMsIHRvbmdzLCBhbmQgYmFzaWMgdXRlbnNpbHM8L2xpPgo8L3VsPgo8cD5QbGFjZSBpdGVtcyBhdCBoYW5kIGFjY29yZGluZyB0byB0aGUgb3JkZXIgeW91IHdpbGwgdXNlIHRoZW0uIFRoaXMgcmVkdWNlcyBzdG9wcywgb3B0aW1pemVzIHBhcmFsbGVsIGNvb2tpbmcsIGFuZCBrZWVwcyB0aGUgc3BhY2UgY2xlYW4gYW5kIHVuY2x1dHRlcmVkLjwvcD4KPHA+V2l0aCB0aGlzIHByaW9yIG9yZ2FuaXphdGlvbiwgYmF0Y2ggY29va2luZyBiZWNvbWVzIGEgc2ltcGxlIHRhc2ssIGV2ZW4gZm9yIGJlZ2lubmVycy4gT25jZSB0aGUgcm91dGluZSBpcyB1bmRlcndheSwgdGhlIHdob2xlIHByb2Nlc3MgYmVjb21lcyBldmVuIG1vcmUgbmF0dXJhbCBhbmQgZWZmaWNpZW50IHdlZWsgYWZ0ZXIgd2Vlay48L3A+CjxoMj5TdGVwcyBmb3IgU3VjY2Vzc2Z1bCBCYXRjaCBDb29raW5nPC9oMj4KPHA+Rm9sbG93aW5nIGEgd2VsbC1zdHJ1Y3R1cmVkIG1ldGhvZG9sb2d5IG1ha2VzIGJhdGNoIGNvb2tpbmcgc2ltcGxlIGFuZCBlZmZpY2llbnQuIEhlcmUgYXJlIHRoZSBrZXlzIHRvIGNvbmR1Y3RpbmcgYSBwcm9kdWN0aXZlIHNlc3Npb24gYW5kIG9idGFpbmluZyB2YXJpZWQgbWVhbHMgdGhhdCBhcmUgcmVhZHkgZWFjaCB3ZWVrLjwvcD4KPGgzPlN0cmF0ZWdpZXMgdG8gUGxhbiB0aGUgV2Vla2x5IE1lbnUgQWRlcXVhdGVseTwvaDM+Cjx1bD4KPGxpPjxzdHJvbmc+Q2hlY2sgd2hhdCB5b3UgaGF2ZTo8L3N0cm9uZz4gUmV2aWV3IHRoZSBjb250ZW50cyBvZiB0aGUgcGFudHJ5IGFuZCBmcmlkZ2UgYmVmb3JlIGNyZWF0aW5nIHRoZSBtZW51IHRvIHV0aWxpemUgaW5ncmVkaWVudHMgYW5kIGF2b2lkIGR1cGxpY2F0ZSBwdXJjaGFzZXMuPC9saT4KPGxpPjxzdHJvbmc+U2VsZWN0IGNvbXBhdGlibGUgcmVjaXBlczo8L3N0cm9uZz4gQ2hvb3NlIGRpc2hlcyB0aGF0IHNoYXJlIGluZ3JlZGllbnRzIG9yIGJhc2UgcHJlcGFyYXRpb25zLCBzdWNoIGFzIHJvYXN0ZWQgdmVnZXRhYmxlcywgY29va2VkIGdyYWlucywgb3Igc2F1Y2VzLCB0byBzaW1wbGlmeSB0aGUgd29yayBhbmQgbXVsdGlwbHkgcG9zc2libGUgY29tYmluYXRpb25zLjwvbGk+CjxsaT48c3Ryb25nPkRlc2lnbiB2YXJpZWQgbWVudXM6PC9zdHJvbmc+IEFsdGVybmF0ZSBwcm90ZWlucywgdHlwZXMgb2YgdmVnZXRhYmxlcywgYW5kIGdyYWlucywgYW5kIHRoaW5rIG9mIG9wdGlvbnMgdGhhdCBhbGxvdyBmb3IgYm90aCBjb2xkIGFuZCBob3QgZGlzaGVzLjwvbGk+CjwvdWw+CjxoMz5NYXNzIFByZXBhcmF0aW9uIG9mIEZvb2QgQmFzZXM8L2gzPgo8cD5EaXZpZGUgdGhlIGNvb2tpbmcgaW50byBibG9ja3M6PC9wPgo8dWw+CjxsaT48c3Ryb25nPkdyYWluczo8L3N0cm9uZz4gUHJlcGFyZSByaWNlLCBxdWlub2EsIG9yIHBhc3RhIGluIGxhcmdlIGVub3VnaCBxdWFudGl0aWVzIGZvciBzZXZlcmFsIG1lYWxzLjwvbGk+CjxsaT48c3Ryb25nPlByb3RlaW5zOjwvc3Ryb25nPiBDb29rIGxlZ3VtZXMsIGVnZ3MsIG1lYXRzLCBvciB0b2Z1IHRvIGRpc3RyaWJ1dGUgYWNyb3NzIGRpZmZlcmVudCBkaXNoZXMgb2YgdGhlIHdlZWsuPC9saT4KPGxpPjxzdHJvbmc+VmVnZXRhYmxlczo8L3N0cm9uZz4gUm9hc3QgdHJheXMgb2YgdmVnZXRhYmxlcywgc3RlYW0gdmVnZXRhYmxlcyBvciBtYWtlIHNhdXTDqWVkIGJhc2VzLjxiciAvPlRoZXNlIGJhc2VzIGFsbG93IGZvciBjcmVhdGluZyBjb21wbGV0ZSBhbmQgcXVpY2sgZGlzaGVzIGJ5IGNvbWJpbmluZyB0aGVtIGFzIG5lZWRlZCwgYWRkaW5nIGRpZmZlcmVudCBzZWFzb25pbmdzLjwvbGk+CjwvdWw+CjxoMz5FZmZpY2llbnQgVXNlIG9mIHRoZSBPdmVuIGFuZCBTaW11bHRhbmVvdXMgQ29va2luZ3M8L2gzPgo8dWw+CjxsaT5UYWtlIGFkdmFudGFnZSBvZiB0aGUgb3ZlbiBjYXBhY2l0eSB0byByb2FzdCBtdWx0aXBsZSB2ZWdldGFibGVzIG9yIHByb3RlaW5zIHNpbXVsdGFuZW91c2x5LCBkaXN0cmlidXRpbmcgdGhlIGZvb2Qgb24gdHJheXMuPC9saT4KPGxpPkNvb2sgaW4gcGFyYWxsZWwgb24gdGhlIHN0b3ZlIGFuZCBvdmVuLCB1c2luZyBsYXJnZSBwb3RzIGFuZCBkaWZmZXJlbnQgbWV0aG9kcyAoc3RlYW0sIG92ZW4sIHNraWxsZXQpIHNpbXVsdGFuZW91c2x5LjwvbGk+CjxsaT5Pcmdhbml6ZSB0aGUgb3JkZXIgb2YgcHJlcGFyYXRpb25zIHNvIHRoYXQgd2hpbGUgZ3JhaW5zIGFyZSBjb29raW5nLCB5b3UgY2FuIG1vdmUgb24gd2l0aCB0aGUgcmVzdCBvZiB0aGUgaW5ncmVkaWVudHMuPC9saT4KPC91bD4KPGgzPk1hbmFnaW5nIENvb2tpbmcgVGltZXMgdG8gTWF4aW1pemUgUHJvZHVjdGl2aXR5PC9oMz4KPHVsPgo8bGk+PHN0cm9uZz5Db29rIHdoYXQgdGFrZXMgbG9uZ2VyIGZpcnN0Ojwvc3Ryb25nPiBTdGFydCB3aXRoIGZvb2RzIHRoYXQgcmVxdWlyZSBtb3JlIHRpbWUsIGxpa2Ugcm9hc3RzIG9yIHN0ZXdzLjwvbGk+CjxsaT48c3Ryb25nPkRpdmlkZSB0YXNrczo8L3N0cm9uZz4gUHJlcGFyZSBhbmQgY3V0IGFsbCB0aGUgaW5ncmVkaWVudHMgYmVmb3JlIHR1cm5pbmcgb24gdGhlIGhlYXQuIFRoaXMgcmVkdWNlcyBpbnRlcnJ1cHRpb25zIGFuZCBpbXByb3ZlcyB0aGUgcGFjZS48L2xpPgo8bGk+PHN0cm9uZz5Vc2UgdGltZXJzOjwvc3Ryb25nPiBDb250cm9sIHRoZSBjb29raW5nIG9mIGVhY2ggcHJlcGFyYXRpb24gdG8gYXZvaWQgb3ZlcmNvb2tpbmcgYW5kIG9wdGltaXplIHRoZSB0b3RhbCB0aW1lLjwvbGk+CjwvdWw+CjxoMz5QcmVzZXJ2YXRpb24gTWV0aG9kcyB0byBQcm9sb25nIHRoZSBMaWZlIG9mIFByZXBhcmVkIEZvb2RzPC9oMz4KPHVsPgo8bGk+U3RvcmUgZGlzaGVzIGluIGFpcnRpZ2h0IGNvbnRhaW5lcnMsIHByZWZlcmFibHkgcmV1c2FibGUgZ2xhc3MgYXMgcmVjb21tZW5kZWQgYnkgR3JlZW51c2UsIHRvIG1haW50YWluIGZyZXNobmVzcyBhbmQgYXZvaWQgY3Jvc3MtY29udGFtaW5hdGlvbi48L2xpPgo8bGk+RGl2aWRlIHBvcnRpb25zIGludG8gaW5kaXZpZHVhbCBvciBmYW1pbHkgc2VydmluZ3MgdG8gZWFzZSBjb25zdW1wdGlvbi48L2xpPgo8bGk+TGV0IGNvb2wgd2VsbCBiZWZvcmUgcGxhY2luZyBpbiB0aGUgZnJpZGdlIG9yIGZyZWV6ZXIuPC9saT4KPGxpPkxhYmVsIGNvbnRhaW5lcnMgd2l0aCB0aGUgZGF0ZSBhbmQgY29udGVudHMgdG8gYmV0dGVyIG1vbml0b3IgYW5kIGVuc3VyZSBmb29kIHNhZmV0eS48L2xpPgo8bGk+RnJlZXplIGRpc2hlcyBvciBiYXNlcyB5b3UgZG9u4oCZdCBwbGFuIHRvIGNvbnN1bWUgaW4gbGVzcyB0aGFuIHRocmVlIGRheXMuIFRoaXMgbWFpbnRhaW5zIHRoZSB0ZXh0dXJlIGFuZCBmbGF2b3Igb2YgcHJlcGFyYXRpb25zLjwvbGk+CjwvdWw+CjxwPkJ5IGFwcGx5aW5nIHRoZXNlIHN0ZXBzLCBiYXRjaCBjb29raW5nIGJlY29tZXMgYSBzaW1wbGUgeWV0IGhpZ2hseSBlZmZlY3RpdmUgcm91dGluZSBmb3IgaGF2aW5nIGFsd2F5cyBob21lbWFkZSwgdmFyaWVkLCBhbmQgcmVhZHktdG8tc2VydmUgbWVhbHMuPC9wPgo8aDI+QmF0Y2ggQ29va2luZyBSZWNpcGVzOiBIZWFsdGh5IFdlZWtseSBNZW51PC9oMj4KPHA+QmF0Y2ggY29va2luZyBhbGxvd3MgeW91IHRvIGVuam95IGEgY29tcGxldGUsIHZhcmllZCwgYW5kIGJhbGFuY2VkIHdlZWtseSBtZW51IHdpdGggZGlmZmVyZW50IG9wdGlvbnMgc3VpdGVkIHRvIGFsbCB0YXN0ZXMuPC9wPgo8aDM+TWFpbiBDb3Vyc2UgU3VnZ2VzdGlvbnMgZm9yIEVhY2ggRGF5PC9oMz4KPHA+VG8gb3JnYW5pemUgdGhlIHdlZWssIGl0J3MgdXNlZnVsIHRvIGNvbWJpbmUgYmFzZSBwcmVwYXJhdGlvbnMgYW5kIGFsdGVybmF0ZSBmb29kIGZhbWlsaWVzLiBFeGFtcGxlIG9mIGEgd2Vla2x5IG1lbnU6PC9wPgo8dWw+CjxsaT48c3Ryb25nPk1vbmRheTo8L3N0cm9uZz4gTGVudGlsIHN0ZXcgd2l0aCB2ZWdldGFibGVzIGFuZCBicm93biByaWNlPC9saT4KPGxpPjxzdHJvbmc+VHVlc2RheTo8L3N0cm9uZz4gUm9hc3QgY2hpY2tlbiB3aXRoIHBvdGF0b2VzIGFuZCBncmVlbiBsZWFmIHNhbGFkPC9saT4KPGxpPjxzdHJvbmc+V2VkbmVzZGF5Ojwvc3Ryb25nPiBDaGlja3BlYSBzdGV3IHdpdGggc3BpbmFjaCBhbmQgaGFyZC1ib2lsZWQgZWdnPC9saT4KPGxpPjxzdHJvbmc+VGh1cnNkYXk6PC9zdHJvbmc+IFN0ZWFtZWQgaGFrZSB3aXRoIGJyb2Njb2xpIGFuZCByb2FzdGVkIHN3ZWV0IHBvdGF0b2VzPC9saT4KPGxpPjxzdHJvbmc+RnJpZGF5Ojwvc3Ryb25nPiBTdGlyLWZyaWVkIHRvZnUgYW5kIG11c2hyb29tcyB3aXRoIHJpY2Ugbm9vZGxlczwvbGk+CjxsaT48c3Ryb25nPlNhdHVyZGF5Ojwvc3Ryb25nPiBIb21lbWFkZSByYXRhdG91aWxsZSB3aXRoIHR1cmtleSBmaWxsZXRzIG9yIHRlbXBlaDwvbGk+CjxsaT48c3Ryb25nPlN1bmRheTo8L3N0cm9uZz4gSHVtbXVzIHdpdGggY2Fycm90IHN0aWNrcyBhbmQgY2hpY2twZWEgc2FsYWQ8L2xpPgo8L3VsPgo8cD5BbHRlcm5hdGUgcHJlcGFyZWQgYmFzZXMgKGxlZ3VtZXMsIHJpY2UsIHBhc3RhLCBvciB2ZWdldGFibGVzKSB0byBzYXZlIHRpbWUgd2l0aG91dCBsb3NpbmcgdmFyaWV0eS48L3A+CjxoMz5JbmNsdXNpdmUgVmVnYW4gYW5kIFZlZ2V0YXJpYW4gUmVjaXBlIE9wdGlvbnM8L2gzPgo8cD5CYXRjaCBjb29raW5nIGlzIGVhc2lseSBhZGFwdGFibGUgdG8gcGxhbnQtYmFzZWQgZGlldHMuIFNvbWUgaWRlYXM6PC9wPgo8dWw+CjxsaT5MZW50aWwgYW5kIG9hdHMgbWVhdGJhbGxzPC9saT4KPGxpPkNoaWNrcGVhIGFuZCBwdW1wa2luIGN1cnJ5PC9saT4KPGxpPlN0aXItZnJ5IHRvZnUgd2l0aCBzZWFzb25hbCB2ZWdldGFibGVzPC9saT4KPGxpPkJlYW4gYW5kIGNhcnJvdCBidXJnZXJzPC9saT4KPGxpPkNvbGQgc2FsYWQgd2l0aCB3aG9sZSB3aGVhdCBwYXN0YSwgY2hlcnJ5IHRvbWF0b2VzLCBvbGl2ZXMsIGFuZCBiYXNpbDwvbGk+CjwvdWw+CjxwPlRoZXNlIGRpc2hlcyBhcmUgcmljaCBpbiBwbGFudCBwcm90ZWluIGFuZCBmaWJlciBhbmQga2VlcCB3ZWxsIGluIHRoZSBmcmlkZ2UgZm9yIHNldmVyYWwgZGF5cy48L3A+CjxoMz5EcmVzc2luZyBhbmQgU2F1Y2UgUmVjaXBlcyB0byBEaXZlcnNpZnkgRmxhdm9yczwvaDM+CjxwPlByZXBhcmluZyBhIHNlbGVjdGlvbiBvZiBiYXNlIHNhdWNlcyB0cmFuc2Zvcm1zIGRpc2hlcy4gU29tZSBwcm9wb3NhbHM6PC9wPgo8dWw+CjxsaT5DbGFzc2ljIHZpbmFpZ3JldHRlIHdpdGggb2xpdmUgb2lsLCB2aW5lZ2FyLCBhbmQgbXVzdGFyZDwvbGk+CjxsaT5Zb2d1cnQgc2F1Y2Ugd2l0aCBkaWxsIGFuZCBsZW1vbjwvbGk+CjxsaT5UYWhpbmkgd2l0aCBsZW1vbiBqdWljZSBhbmQgZ2FybGljPC9saT4KPGxpPkJhc2lsIG9yIGFydWd1bGEgcGVzdG88L2xpPgo8bGk+SG9tZW1hZGUgdG9tYXRvIHNhdWNlPC9saT4KPC91bD4KPHA+UHJlc2VydmluZyBzZXZlcmFsIHNhdWNlcyBpbiBzbWFsbCBqYXJzIGFsbG93cyBmb3IgcGVyc29uYWxpemluZyBlYWNoIGRpc2ggYWNjb3JkaW5nIHRvIHRoZSBkYXkuPC9wPgo8aDM+U3VnZ2VzdGlvbnMgZm9yIE51dHJpdGlvdXMgQ3JlYW1zLCBQdXJlZXMsIGFuZCBDb2xkIFNvdXBzPC9oMz4KPHA+Q3JlYW1zIGFuZCBzb3VwcyBhZGQgdmFyaWV0eSBhbmQgaGVscCBjb21wbGV0ZSB0aGUgbWVudTo8L3A+Cjx1bD4KPGxpPlp1Y2NoaW5pIGFuZCBsZWVrIGNyZWFtIHdpdGggd2hvbGUtd2hlYXQgY3JvdXRvbnM8L2xpPgo8bGk+VHJhZGl0aW9uYWwgZ2F6cGFjaG8gb3IgdG9tYXRvIHNhbG1vcmVqbzwvbGk+CjxsaT5DYXJyb3QgYW5kIGdpbmdlciBwdXJlZTwvbGk+CjxsaT5Db2xkIGN1Y3VtYmVyIGFuZCB5b2d1cnQgc291cDwvbGk+CjxsaT5DYXVsaWZsb3dlciBhbmQgYXBwbGUgY3JlYW08L2xpPgo8L3VsPgo8cD5UaGVzZSBvcHRpb25zIGNhbiBiZSB0YWtlbiBlaXRoZXIgY29sZCBvciBob3QgYW5kIGFyZSBwcmVwYXJlZCBpbiBsYXJnZSBxdWFudGl0aWVzLjwvcD4KPGgzPlZlZ2V0YWJsZSBQcmVwYXJhdGlvbnM6IFN0aXItZnJpZXMsIEJvaWxlZCwgYW5kIFJvYXN0ZWQ8L2gzPgo8cD5TdGVhbWVkIG9yIHJvYXN0ZWQgdmVnZXRhYmxlcyBhcmUgZXNzZW50aWFsIGR1ZSB0byB0aGVpciBwcmVzZXJ2YXRpb24gYW5kIHZlcnNhdGlsaXR5LiBTb21lIGlkZWFzOjwvcD4KPHVsPgo8bGk+T3Zlbi1iYWtlZCB2ZWdldGFibGUgdHJheTogZWdncGxhbnQsIHp1Y2NoaW5pLCBwZXBwZXJzLCBhbmQgb25pb248L2xpPgo8bGk+Qm9pbGVkIGNhdWxpZmxvd2VyIGFuZCBicm9jY29saSBhcyBhIHNpZGUgZGlzaCBvciB0b3J0aWxsYSBiYXNlPC9saT4KPGxpPlN0aXItZnJpZXMgb2YgY2Fycm90cywgZ3JlZW4gYmVhbnMsIGFuZCBnYXJsaWM8L2xpPgo8bGk+Um9hc3RlZCBzd2VldCBwb3RhdG8gYW5kIGJlZXRyb290PC9saT4KPGxpPlNhdXTDqWVkIHNwaW5hY2ggd2l0aCBjaGlja3BlYXM8L2xpPgo8L3VsPgo8cD5LZWVwaW5nIHZlZ2V0YWJsZXMgaW4gc2VwYXJhdGUgY29udGFpbmVycyBhbGxvd3MgZm9yIG1peGluZyBhbmQgYWRhcHRpbmcgYWNjb3JkaW5nIHRvIGx1bmNoIG9yIGRpbm5lciwgZW5zdXJpbmcgYSBoZWFsdGh5IGRpZXQgdGhyb3VnaG91dCB0aGUgd2Vlay48L3A+CjxoMj5QcmFjdGljYWwgVGlwcyBmb3IgUGVyZmVjdCBCYXRjaCBDb29raW5nPC9oMj4KPHA+QWNoaWV2aW5nIGVmZmljaWVudCBhbmQgdmFyaWVkIGJhdGNoIGNvb2tpbmcgZGVwZW5kcyBvbiBzbWFsbCBkZXRhaWxzIGluIG9yZ2FuaXphdGlvbiwgc3RvcmFnZSwgYW5kIGNyZWF0aXZpdHkgaW4gdGhlIGtpdGNoZW4uIEhlcmUgYXJlIGluc2lnaHRzIHRvIG1ha2UgdGhlIG1vc3Qgb3V0IG9mIGJhdGNoIHByZXBhcmF0aW9uLjwvcD4KPGgzPlRpcHMgdG8gTWF4aW1pemUgVGltZSBTYXZpbmdzIGluIHRoZSBLaXRjaGVuPC9oMz4KPHVsPgo8bGk+PHN0cm9uZz5QcmVwYXJlIGFsbCBpbmdyZWRpZW50cyBiZWZvcmVoYW5kOjwvc3Ryb25nPiBXYXNoLCBwZWVsLCBhbmQgY3V0IHRoZSB2ZWdldGFibGVzIGFsbCBhdCBvbmNlIHRvIHNwZWVkIHVwIHRoZSBjb29raW5nLjwvbGk+CjxsaT48c3Ryb25nPlVzZSBtdWx0aXBsZSBoZWF0IHNvdXJjZXMgYXQgb25jZTo8L3N0cm9uZz4gQ29vayBpbiB0aGUgb3ZlbiwgcG90LCBhbmQgcGFuIHNpbXVsdGFuZW91c2x5IHRvIG9wdGltaXplIGlkbGUgdGltZXMuPC9saT4KPGxpPjxzdHJvbmc+R3JvdXAgc2ltaWxhciBwcmVwYXJhdGlvbnM6PC9zdHJvbmc+IFJvYXN0IGRpZmZlcmVudCB2ZWdldGFibGVzIHNpbXVsdGFuZW91c2x5IG9yIGJvaWwgc2V2ZXJhbCBncmFpbnMgdG9nZXRoZXIgYW5kIHNlcGFyYXRlIHRoZW0gYWZ0ZXJ3YXJkLCBhcyBsb25nIGFzIHRoZSB0aW1lcyBhcmUgY29tcGF0aWJsZS48L2xpPgo8bGk+PHN0cm9uZz5Vc2UgbXVsdGlwdXJwb3NlIHV0ZW5zaWxzOjwvc3Ryb25nPiBBIHBvd2VyZnVsIGJsZW5kZXIgb3IgYSBsYXJnZSBwb3QgYWxsb3dzIHlvdSB0byBwcmVwYXJlIG1vcmUgcXVhbnRpdGllcyBpbiBsZXNzIHRpbWUuPC9saT4KPC91bD4KPGgzPlRlY2huaXF1ZXMgZm9yIFByb3Blcmx5IFByZXNlcnZpbmcgUHJlcGFyZWQgRm9vZHM8L2gzPgo8dWw+CjxsaT5TdG9yZSBkaXNoZXMgaW4gYWlydGlnaHQgYW5kIHJlc2lzdGFudCBjb250YWluZXJzIHRvIG1haW50YWluIGZyZXNobmVzcyBhbmQgYXZvaWQgY29udGFtaW5hdGlvbi48L2xpPgo8bGk+SXQncyBpbXBvcnRhbnQgdG8gbGV0IGZvb2RzIGNvb2wgYmVmb3JlIGNvdmVyaW5nIGFuZCBzdG9yaW5nIHRoZW0gaW4gdGhlIGZyaWRnZSBvciBmcmVlemVyLjwvbGk+CjxsaT5TZXBhcmF0ZSBpbnRvIGluZGl2aWR1YWwgb3IgZmFtaWx5IHBvcnRpb25zIHRvIHRha2Ugb3V0IG9ubHkgd2hhdCdzIG5lZWRlZCBmb3IgZWFjaCBtZWFsLCBwcm9sb25naW5nIHByZXNlcnZhdGlvbi48L2xpPgo8bGk+Rm9yIGZyb3plbiBmb29kcywgbGVhdmUgc3BhY2UgaW4gdGhlIGNvbnRhaW5lciBmb3IgbGlxdWlkIGV4cGFuc2lvbiBhbmQgdXNlIGNvbnRhaW5lcnMgc3VpdGFibGUgZm9yIGxvdyB0ZW1wZXJhdHVyZXMuPC9saT4KPC91bD4KPGgzPk1ldGhvZHMgb2YgU3RvcmFnZSBPcmdhbml6YXRpb24gYW5kIExhYmVsaW5nPC9oMz4KPHVsPgo8bGk+PHN0cm9uZz5BbHdheXMgbGFiZWwgY29udGFpbmVyczo8L3N0cm9uZz4gV3JpdGUgZG93biB0aGUgcHJlcGFyYXRpb24gZGF0ZSBhbmQgY29udGVudCBvbiBlYWNoIGNvbnRhaW5lci4gVGhpcyBoZWxwcyBjb25zdW1lIGZpcnN0IHdoYXTigJlzIG1vcmUgYXQgcmlzayBvZiBzcG9pbGluZy48L2xpPgo8bGk+PHN0cm9uZz5Pcmdhbml6ZSBmcmlkZ2UgYW5kIGZyZWV6ZXIgYnkgY2F0ZWdvcmllczo8L3N0cm9uZz4gUHV0IHRoZSBtb3N0IHBlcmlzaGFibGUgaXRlbXMgaW4gdmlldyBhbmQgb3JkZXIgYnkgdHlwZTogcHJvdGVpbnMsIHZlZ2V0YWJsZXMsIHNhdWNlcywgZ3JhaW5zLjwvbGk+CjxsaT5Vc2UgdHJhbnNwYXJlbnQgY29udGFpbmVycyBvciB0aG9zZSB3aXRoIHdpbmRvd3MgdG8gaWRlbnRpZnkgYXQgYSBnbGFuY2Ugd2hhdCB5b3UgaGF2ZSBhbmQgYXZvaWQgZHVwbGljaXRpZXMuPC9saT4KPC91bD4KPGgzPlN0cmF0ZWdpZXMgdG8gUmV1c2UgTGVmdG92ZXJzIGFuZCBNYWludGFpbiBNZW51IEludGVyZXN0PC9oMz4KPHVsPgo8bGk+VHVybiBsZWZ0b3ZlcnMgaW50byBuZXcgZGlzaGVzOiBncmlsbGVkIHZlZ2V0YWJsZXMgZm9yIGEgZnJpdHRhdGEsIHByZXZpb3VzIGRheSdzIHJpY2UgaW50byBhIHdhcm0gc2FsYWQsIG9yIGxlZ3VtZXMgaW50byBhIHNwaWNlZCBjcmVhbS48L2xpPgo8bGk+Q2hhbmdlIHRleHR1cmVzIGFuZCBmbGF2b3JzIHVzaW5nIGRpZmZlcmVudCBkcmVzc2luZ3Mgb3IgYmFzZSBzYXVjZXMuPC9saT4KPGxpPkZyZWV6ZSBwcmVwYXJhdGlvbnMgeW91IHdvbuKAmXQgY29uc3VtZSBpbiB0d28gdG8gdGhyZWUgZGF5cy48L2xpPgo8bGk+SWYgeW91IGhhdmUgc21hbGwgYW1vdW50cyBvZiB2YXJpb3VzIHByZXBhcmF0aW9ucywgY29tYmluZSBpbnRvIGEgdmFyaWVkIGJvd2wtdHlwZSBCdWRkaGEgYm93bCwgbWl4aW5nIGJhc2VzLCBwcm90ZWlucywgYW5kIHZlZ2V0YWJsZXMuPC9saT4KPC91bD4KPHA+V2l0aCB0aGVzZSB0aXBzLCB5b3VyIGJhdGNoIGNvb2tpbmcgd2lsbCBiZSBtb3JlIHByYWN0aWNhbCwgc2FmZSwgYW5kIHZhcmllZCwgYWxsb3dpbmcgYSBoZWFsdGh5IGRpZXQgYW5kIGF2b2lkaW5nIG1vbm90b255IHRocm91Z2hvdXQgdGhlIHdlZWsuPC9wPgo8aDI+RnJlcXVlbnRseSBBc2tlZCBRdWVzdGlvbnMgQWJvdXQgQmF0Y2ggQ29va2luZzwvaDI+CjxwPkJlbG93LCBjb21tb24gcXVlc3Rpb25zIGFyZSByZXNvbHZlZCBmb3IgbWF4aW1pemluZyB0aGUgYmVuZWZpdHMgb2YgYmF0Y2ggY29va2luZyBzYWZlbHkgYW5kIHByYWN0aWNhbGx5LjwvcD4KPGgzPlNoZWxmIExpZmUgb2YgUHJlcGFyZWQgRGlzaGVzPC9oMz4KPHVsPgo8bGk+PHN0cm9uZz5JbiB0aGUgZnJpZGdlOjwvc3Ryb25nPiBDb29rZWQgZGlzaGVzIHJlbWFpbiBpbiBnb29kIGNvbmRpdGlvbiBmb3IgMyB0byA1IGRheXMgaWYgc3RvcmVkIGluIGFpcnRpZ2h0IGNvbnRhaW5lcnMgYW5kIGF0IHRoZSByaWdodCB0ZW1wZXJhdHVyZS4gU3Rld3MsIGNyZWFtcywgYW5kIGdyYWlucyBsYXN0IHVwIHRvIDQgZGF5cywgd2hpbGUgbWVhdHMgYW5kIGZpc2ggc2hvdWxkIGlkZWFsbHkgYmUgY29uc3VtZWQgd2l0aGluIDItMyBkYXlzLjwvbGk+CjxsaT48c3Ryb25nPkluIHRoZSBmcmVlemVyOjwvc3Ryb25nPiBQcmVwYXJhdGlvbnMgY2FuIGJlIHN0b3JlZCBmb3IgdXAgdG8gMiBvciAzIG1vbnRocyB3aXRob3V0IGxvc2luZyBmbGF2b3Igb3IgdGV4dHVyZS4gSXTigJlzIHByZWZlcmFibGUgdG8gc2VwYXJhdGUgaW50byBwb3J0aW9ucyBhbmQgbGFiZWwgd2l0aCB0aGUgZGF0ZSB0byBjb25zdW1lIGJlZm9yZSB0aGlzIHBlcmlvZCBleHBpcmVzLjwvbGk+CjxsaT48c3Ryb25nPlNhdWNlcyBhbmQgZHJlc3NpbmdzOjwvc3Ryb25nPiBCZXN0IGluIHNtYWxsIGNvbnRhaW5lcnMsIGJldHdlZW4gMyBhbmQgNSBkYXlzIHJlZnJpZ2VyYXRlZC4gSWYgdGhleSBjb250YWluIGRhaXJ5IG9yIGVnZ3MsIGNvbnN1bWUgc29vbmVyLjwvbGk+CjwvdWw+CjxoMz5JZGVhbCBGb29kcyBmb3IgQmF0Y2ggQ29va2luZyBhbmQgVGhlaXIgUHJvcGVydGllczwvaDM+Cjx1bD4KPGxpPjxzdHJvbmc+TGVndW1lczo8L3N0cm9uZz4gU3VpdGFibGUgZm9yIGJ1bGsgcHJlcGFyYXRpb24gYW5kIHRvIGJlIHVzZWQgY29sZCBvciBob3QuIFJpY2ggaW4gZmliZXIsIHBsYW50IHByb3RlaW4sIGFuZCBtaW5lcmFscy48L2xpPgo8bGk+PHN0cm9uZz5XaG9sZSBncmFpbnM6PC9zdHJvbmc+IFJpY2UsIHF1aW5vYSwgbWlsbGV0LCBidWxndXIsIGFuZCBvdGhlcnMgYXJlIGVhc3kgdG8gc3RvcmUgYW5kIGNvbWJpbmUgaW4gbWFpbiBkaXNoZXMsIHNhbGFkcywgb3Igc2lkZXMuPC9saT4KPGxpPjxzdHJvbmc+VmVnZXRhYmxlcyBhbmQgcm9vdHM6PC9zdHJvbmc+IFdvcmsgd2VsbCByb2FzdGVkLCBzdGVhbWVkLCBvciBib2lsZWQuIEFkYXB0IHRvIG1hbnkgcmVjaXBlcyBhbmQgcHJvdmlkZSBhIHZpdGFtaW4gdmFyaWV0eS48L2xpPgo8bGk+PHN0cm9uZz5QbGFudCBhbmQgYW5pbWFsIHByb3RlaW5zOjwvc3Ryb25nPiBFZ2dzLCB0b2Z1LCBmaXNoLCBvciBsZWFuIG1lYXRzIGFyZSBjb29rZWQgaW4gcXVhbnRpdHkgYW5kIGFsbG93IGZvciByZWFkeSBtZWFscyBvciByZXVzZSBpbiBzZWNvbmRhcnkgZGlzaGVzLjwvbGk+CjxsaT48c3Ryb25nPkNyZWFtcyBhbmQgc291cHM6PC9zdHJvbmc+IEtlZXAgd2VsbCBmb3Igc2V2ZXJhbCBkYXlzLCBhcmUgdmVyc2F0aWxlLCBhbmQgaGVscCBjb21wbGV0ZSB0aGUgd2Vla2x5IGRpZXQuPC9saT4KPC91bD4KPHA+VGhlc2UgZm9vZHMgc3RhbmQgb3V0IGZvciB0aGVpciBnb29kIHByZXNlcnZhdGlvbiwgZWFzZSBvZiBwcmVwYXJhdGlvbiwgYW5kIGNvbWJpbmF0aW9uIHBvc3NpYmlsaXRpZXMsIGZhY2lsaXRhdGluZyBiYWxhbmNlZCBtZW51cy48L3A+CjxoMz5BZGFwdGF0aW9ucyBmb3IgQXBwbHlpbmcgQmF0Y2ggQ29va2luZyB3aXRoIFRpbWUgQ29uc3RyYWludHM8L2gzPgo8dWw+CjxsaT48c3Ryb25nPkRpdmlkZSB0aGUgcHJvY2Vzczo8L3N0cm9uZz4gSWYgeW91IGRvbuKAmXQgaGF2ZSBzZXZlcmFsIGhvdXJzIGluIG9uZSBnbywgZGV2b3RlIDIwLTMwIG1pbnV0ZXMgYXQgZGlmZmVyZW50IHRpbWVzIG9mIHRoZSB3ZWVrIHRvIHByZXBhcmUgcG9ydGlvbnMsIGNvb2sgZ3JhaW5zLCBvciByb2FzdCB2ZWdldGFibGVzLjwvbGk+CjxsaT48c3Ryb25nPkNvb2sgd2hpbGUgZG9pbmcgb3RoZXIgdGFza3M6PC9zdHJvbmc+IFVzZSB0aGUgb3ZlbiBhbmQgcG90cyBmb3IgbXVsdGl0YXNraW5nLCBldmVuIHdoaWxlIHRpZHlpbmcgdXAgdGhlIGtpdGNoZW4gb3IgcHJlcGFyaW5nIHRoZSBkYXkncyBtZWFsLjwvbGk+CjxsaT48c3Ryb25nPlF1aWNrIGFuZCBiYXNpYyByZWNpcGVzOjwvc3Ryb25nPiBDaG9vc2Ugc2ltcGxlIHByZXBhcmF0aW9ucyBmb3IgYnVzaWVyIGRheXMsIGxpa2UgYmxlbmRlciBjcmVhbXMsIGNvbXBsZXRlIHNhbGFkcywgb3IgdmVnZXRhYmxlIHN0aXItZnJpZXMuPC9saT4KPGxpPjxzdHJvbmc+QWRqdXN0IHF1YW50aXRpZXM6PC9zdHJvbmc+IFByZXBhcmUgc21hbGxlciBhbW91bnRzIGlmIHlvdXIgdGltZSBvciBzcGFjZSBpcyBsaW1pdGVkLCBmb2N1c2luZyBvbiBzdGFwbGUgZGlzaGVzIHlvdSBjYW4gdmFyeSBpbiBkaWZmZXJlbnQgZm9ybXMuPC9saT4KPC91bD4KPHA+V2l0aCB0aGVzZSBhbnN3ZXJzLCBiYXRjaCBjb29raW5nIGJlY29tZXMgYWNjZXNzaWJsZSBldmVuIHdpdGggdGlnaHQgc2NoZWR1bGVzLCBlbnN1cmluZyBhIHZhcmllZCBhbmQgcHJhY3RpY2FsIGRpZXQgd2Vlay10by13ZWVrLjwvcD53DWNvcmUvZnJlZWZvcm13z5MBPGgxPkJhdGNoIENvb2tpbmc6IE9yZ2FuaXplIFlvdXIgS2l0Y2hlbiBhbmQgU2F2ZSBUaW1lIHdpdGggSGVhbHRoeSBSZWNpcGVzIGZvciBhIFN1Y2Nlc3NmdWwgV2Vla2x5IE1lbnU8L2gxPgo8cD5CYXRjaCBjb29raW5nIGFsbG93cyB5b3UgdG8gb3JnYW5pemUgbWVhbHMgZm9yIHRoZSB3ZWVrIGluIGEgc2luZ2xlIGNvb2tpbmcgc2Vzc2lvbi4gVGhpcyB3YXksIHlvdSBzYXZlIHRpbWUsIHJlZHVjZSBkYWlseSBzdHJlc3MsIGFuZCBlbnN1cmUgdGhhdCB5b3VyIGRpZXQgaXMgbW9yZSB2YXJpZWQgYW5kIGhlYWx0aHkuIFdpdGggZ29vZCBwbGFubmluZyBhbmQgc2ltcGxlIHJlY2lwZXMsIGhhdmluZyBtZWFscyByZWFkeSBmb3IgZWFjaCBkYXkgaXMgcG9zc2libGUgYW5kIG11Y2ggZWFzaWVyIHRoYW4gaXQgc2VlbXMuPC9wPgo8aDI+V2hhdCBpcyBCYXRjaCBDb29raW5nIGFuZCBXaHkgaXMgaXQgVHJlbmRpbmc\/PC9oMj4KPHA+PHN0cm9uZz5CYXRjaCBjb29raW5nPC9zdHJvbmc+IGNvbnNpc3RzIG9mIGRlZGljYXRpbmcgYSBmZXcgaG91cnMsIHVzdWFsbHkgb24gdGhlIHdlZWtlbmQsIHRvIGNvb2sgYW5kIHByZXBhcmUgc2V2ZXJhbCBtZWFscyBmb3IgdGhlIGVudGlyZSB3ZWVrIGluIGJ1bGsuIEl0IGludm9sdmVzIHBsYW5uaW5nIHRoZSBtZW51IGluIGFkdmFuY2UgYW5kIG1ha2luZyBkaWZmZXJlbnQgZGlzaGVzIG9yIGJhc2VzIHN1Y2ggYXMgcm9hc3RlZCB2ZWdldGFibGVzLCBncmFpbnMsIGxlZ3VtZXMsIG9yIHByb3RlaW5zLiBUaGVzZSBwcmVwYXJhdGlvbnMgYXJlIHN0b3JlZCBpbiBhaXJ0aWdodCBjb250YWluZXJzIGluIHRoZSBmcmlkZ2Ugb3IgZnJlZXplciwgcmVhZHkgdG8gYmUgY29tYmluZWQgYW5kIGFzc2VtYmxlZCBpbnRvIHZhcmllZCBkaXNoZXMgZWFjaCBkYXkgd2l0aG91dCBoYXZpbmcgdG8gY29vayBmcm9tIHNjcmF0Y2guPC9wPgo8cD48c3Ryb25nPk1haW4gQWR2YW50YWdlcyBvZiBCYXRjaCBDb29raW5nPC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48c3Ryb25nPlRpbWUtc2F2aW5nOjwvc3Ryb25nPiBDZW50cmFsaXppbmcgdGhlIGNvb2tpbmcgaW50byBvbmUgc2Vzc2lvbiBmcmVlcyB1cCBob3VycyB0aHJvdWdob3V0IHRoZSB3ZWVrLiBJdCBzaW1wbGlmaWVzIGRhaWx5IHRhc2tzIGFuZCBhdm9pZHMgdGhlIGNvbnN0YW50IHF1ZXN0aW9uIG9mIHdoYXQgdG8gZWF0LjwvbGk+CjxsaT48c3Ryb25nPlN0cmVzcyByZWR1Y3Rpb246PC9zdHJvbmc+IFBsYW5uaW5nIGluIGFkdmFuY2UgYW5kIGhhdmluZyBtZWFscyByZWFkeSBkZWNyZWFzZXMgZGFpbHkgcHJlc3N1cmUgYW5kIGhlbHBzIG1haW50YWluIGEgY29uc2lzdGVudCBkaWV0LCBldmVuIG9uIHVuZXhwZWN0ZWQgYnVzeSBkYXlzLjwvbGk+CjxsaT48c3Ryb25nPkVmZmljaWVudCBvcmdhbml6YXRpb246PC9zdHJvbmc+IEJhdGNoIGNvb2tpbmcgZmFjaWxpdGF0ZXMgY29udHJvbCBvZiB0aGUgZm9vZCBpbiB0aGUgcGFudHJ5IGFuZCBmcmlkZ2UuIEl0IGFsbG93cyBmb3IgYnV5aW5nIGp1c3QgZW5vdWdoLCBiZXR0ZXIgdXNlIG9mIGZyZXNoIGluZ3JlZGllbnRzLCBhbmQgbWluaW1pemVzIGZvb2Qgd2FzdGUuPC9saT4KPC91bD4KPGgzPlRyZW5kIGluIEhlYWx0aHkgRWF0aW5nPC9oMz4KPHA+VGhlIHJpc2Ugb2YgYmF0Y2ggY29va2luZyBpcyBpbiByZXNwb25zZSB0byB0aGUgbmVlZCBmb3IgYSBoZWFsdGhpZXIgYW5kIG1vcmUgb3JnYW5pemVkIGxpZmUuIENvb2tpbmcgaW4gYmF0Y2hlcyBlbmNvdXJhZ2VzIGRlc2lnbmluZyBiYWxhbmNlZCBtZW51cyB0aGF0IGluY2x1ZGUgdmVnZXRhYmxlcywgbGVndW1lcywgcHJvdGVpbnMsIGFuZCBncmFpbnMsIHByb21vdGluZyB2YXJpZXR5IGFuZCB0aGUgY29uc3VtcHRpb24gb2YgZnJlc2ggcHJvZHVjdHMuPC9wPgo8cD5JbiByZWNlbnQgeWVhcnMsIHRoZSB0cmVuZCB0b3dhcmRzIGJhdGNoIGNvb2tpbmcgaGFzIGdyb3duIGFtb25nIHRob3NlIHNlZWtpbmcgdG8gb3B0aW1pemUgdGhlaXIgdGltZSB3aGlsZSBzdGlsbCBlYXRpbmcgd2VsbC4gSW5zcGlyYXRpb24gYW5kIHJlY2lwZXMgYXJlIHNoYXJlZCBvbiBzb2NpYWwgbWVkaWEgYW5kIG9ubGluZSBncm91cHMsIGNvbnNvbGlkYXRpbmcgdGhlIHByYWN0aWNlIGFzIGEgcmVhbGlzdGljIG9wdGlvbiB0byBtYWludGFpbiBhIGhlYWx0aHkgZGlldCB3aXRoIGxpdHRsZSBlZmZvcnQgZHVyaW5nIHRoZSB3ZWVrLiBBZGRpdGlvbmFsbHksIHRoaXMgdGVjaG5pcXVlIHN1cHBvcnRzIHN1c3RhaW5hYmxlIHZhbHVlcywgYXMgaXQgaGVscHMgcmVkdWNlIHdhc3RlIGFuZCBzaW1wbGlmaWVzIHRoZSB1c2Ugb2YgZW5lcmd5IGFuZCByZXNvdXJjZXMgaW4gdGhlIGtpdGNoZW4uPC9wPgo8cD48c3Ryb25nPkluIHN1bW1hcnk6PC9zdHJvbmc+IEJhdGNoIGNvb2tpbmcgaXMgb24gdGhlIHJpc2UgYmVjYXVzZSBpdCBmYWNpbGl0YXRlcyBoYXZpbmcgYSB2YXJpZWQgd2Vla2x5IG1lbnUsIHNhdmVzIHRpbWUsIGltcHJvdmVzIG9yZ2FuaXphdGlvbiwgYW5kIHJlc3BvbmRzIHRvIGEgZ3Jvd2luZyBpbnRlcmVzdCBpbiBmb29kIGhlYWx0aCBhbmQgc3VzdGFpbmFiaWxpdHkuPC9wPgo8aDI+QWR2YW50YWdlcyBvZiBCYXRjaCBDb29raW5nPC9oMj4KPHA+QmF0Y2ggY29va2luZyBvZmZlcnMga2V5IGJlbmVmaXRzIHdoZW4gb3JnYW5pemluZyB5b3VyIHdlZWtseSBtZW51IGFuZCBpbXByb3ZpbmcgeW91ciByZWxhdGlvbnNoaXAgd2l0aCBjb29raW5nIGFuZCBmb29kLjwvcD4KPGgzPk9wdGltaXphdGlvbiBvZiBXZWVrbHkgVGltZSBieSBDb29raW5nIGluIEJ1bGs8L2gzPgo8cD5CeSBwcmVwYXJpbmcgbXVsdGlwbGUgbWVhbHMgaW4gYSBzaW5nbGUgc2Vzc2lvbiwgeW91IHNhdmUgdGltZSBldmVyeSBkYXkuIFlvdSBkb27igJl0IG5lZWQgdG8gdGhpbmsgYWJvdXQgZGFpbHkgbWVudXMgb3Igc3BlbmQgbG9uZyBwZXJpb2RzIGNvb2tpbmcgd2hlbiB5b3UgaGF2ZSBsZXNzIGVuZXJneS4gVGhpcyBzeXN0ZW0gZnJlZXMgdXAgc2V2ZXJhbCBob3VycyBhIHdlZWsgdGhhdCB5b3UgY2FuIHNwZW5kIG9uIHlvdXJzZWxmIG9yIHlvdXIgZmFtaWx5LjwvcD4KPHA+PHN0cm9uZz5BZHZhbnRhZ2VzIGluIE9yZ2FuaXphdGlvbjo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPkxlc3MgdGltZSBzcGVudCBpbiB0aGUga2l0Y2hlbiBkdXJpbmcgdGhlIHdlZWs8L2xpPgo8bGk+UmVkdWN0aW9uIG9mIHVuZm9yZXNlZW4gZXZlbnRzIGFuZCBlbWVyZ2VuY2llcyBkdWUgdG8gdGhlIGxhY2sgb2YgcHJlcGFyZWQgbWVhbHM8L2xpPgo8bGk+TW9yZSBmbGV4aWJpbGl0eSB0byBhZGFwdCB0aGUgbWVudSB0byBhbnkgY2hhbmdlczwvbGk+CjwvdWw+CjxoMz5FZmZpY2llbnQgUGxhbm5pbmcgZm9yIGEgQmFsYW5jZWQgYW5kIFZhcmllZCBNZW51PC9oMz4KPHA+QmF0Y2ggY29va2luZyByZXF1aXJlcyBzZWxlY3RpbmcgdmFyaWVkIHJlY2lwZXMgYW5kIGZvb2RzIGJlZm9yZSB5b3Ugc3RhcnQgY29va2luZy4gVGhpcyBhZHZhbmNlIHBsYW5uaW5nIGltcHJvdmVzIHlvdXIgZGlldCwgYXMgaXQgYWxsb3dzIHlvdSB0bzo8L3A+Cjx1bD4KPGxpPkluY2x1ZGUgbW9yZSB2ZWdldGFibGVzLCBsZWd1bWVzLCBhbmQgZnJ1aXRzIGluIHlvdXIgZGlldDwvbGk+CjxsaT5FbnN1cmUgdGhlIGJhbGFuY2Ugb2YgcHJvdGVpbnMsIGNhcmJvaHlkcmF0ZXMsIGFuZCBoZWFsdGh5IGZhdHM8L2xpPgo8bGk+QXZvaWQgcmVwZWF0aW5nIGRpc2hlcyBvciByZXNvcnRpbmcgdG8gbGVzcyBoZWFsdGh5IGZvb2QgZHVlIHRvIGxhY2sgb2YgdGltZTwvbGk+CjwvdWw+CjxwPk9yZ2FuaXppbmcgYnVsayBwcmVwYXJhdGlvbnMgYWxzbyBoZWxwcyBhZGFwdCBwb3J0aW9ucyBhbmQgbWVhbHMgdG8gdGhlIG51dHJpdGlvbmFsIG5lZWRzIG9mIGRpZmZlcmVudCBob3VzZWhvbGQgbWVtYmVycy48L3A+CjxoMz5TaWduaWZpY2FudCBSZWR1Y3Rpb24gb2YgRm9vZCBXYXN0ZTwvaDM+CjxwPkJ5IGFkanVzdGluZyBzaG9wcGluZyBhbmQgcmVjaXBlcyB0byB0aGUgcGxhbm5lZCBtZW51LCBtb3JlIGluZ3JlZGllbnRzIGFyZSB1dGlsaXplZC4gUHJlcGFyaW5nIHRoZSB3ZWVrJ3MgZm9vZCBhY2NvcmRpbmcgdG8gd2hhdCdzIGluIHRoZSBwYW50cnkgb3IgZnJpZGdlIHJlZHVjZXMgdGhlIGFtb3VudCBvZiBmb29kIHRoYXQgZW5kcyB1cCBpbiB0aGUgdHJhc2guPC9wPgo8cD48c3Ryb25nPktleSBQb2ludHMgb2YgQmF0Y2ggQ29va2luZyB0byBMaW1pdCBXYXN0ZTo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPlVzZSB0aGUgbW9zdCBwZXJpc2hhYmxlIHByb2R1Y3RzIGZpcnN0PC9saT4KPGxpPlN0b3JlIGxlZnRvdmVyIHBvcnRpb25zIGZvciBjb25zdW1wdGlvbiBvbiBsYXRlciBkYXlzPC9saT4KPGxpPlJlY2lwZXMgZGVzaWduZWQgdG8gdXNlIHVwIGxlc3MgY29tbW9uIGZvb2RzPC9saT4KPC91bD4KPGgzPkVjb25vbWljIEJlbmVmaXQ6IEhvdyBCYXRjaCBDb29raW5nIFJlZHVjZXMgQ29zdHM8L2gzPgo8cD5CYXRjaCBjb29raW5nIGFsc28gcmVwcmVzZW50cyBhIGRpcmVjdCBzYXZpbmcgZm9yIHlvdXIgcG9ja2V0LiBQcmVwYXJpbmcgd2Vla2x5IG1lbnVzIGhlbHBzIGJ1eSBvbmx5IHdoYXTigJlzIG5lY2Vzc2FyeSBhbmQgdGFrZSBhZHZhbnRhZ2Ugb2Ygb2ZmZXJzIG9uIGZyZXNoIHByb2R1Y3RzIGluIGxhcmdlciBxdWFudGl0aWVzLjwvcD4KPHA+PHN0cm9uZz5Ib3cgeW91IHNhdmU6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5CeSByZWR1Y2luZyB3YXN0ZSwgbGVzcyBpcyBib3VnaHQ8L2xpPgo8bGk+SXQgYXZvaWRzIHRoZSB0ZW1wdGF0aW9uIG9mIG9yZGVyaW5nIHRha2VvdXQgb3IgYnV5aW5nIGV4cGVuc2l2ZSBwcmVwYXJlZCBkaXNoZXM8L2xpPgo8bGk+QmFzaWMgaW5ncmVkaWVudHMgaW4gbGFyZ2UgcXVhbnRpdGllcyBhcmUgdXN1YWxseSBtb3JlIGVjb25vbWljYWw8L2xpPgo8L3VsPgo8cD5VbHRpbWF0ZWx5LCBiYXRjaCBjb29raW5nIGFsbG93cyB5b3UgdG8gY29udHJvbCBzcGVuZGluZywgb3B0aW1pemUgc2hvcHBpbmcsIGFuZCBtYWtlIGJldHRlciB1c2Ugb2YgZm9vZCwgYmVjb21pbmcgYW4gZWZmZWN0aXZlIHRvb2wgZm9yIGJvdGggaGVhbHRoIGFuZCBob3VzZWhvbGQgZWNvbm9teS48L3A+CjxoMj5Ib3cgdG8gT3JnYW5pemUgWW91ciBLaXRjaGVuIGZvciBCYXRjaCBDb29raW5nPC9oMj4KPHA+UHJlcGFyaW5nIHRoZSBlbnZpcm9ubWVudCBiZWZvcmUgc3RhcnRpbmcgYmF0Y2ggY29va2luZyBpcyBrZXkgdG8gbWFraW5nIHRoZSB3aG9sZSBwcm9jZXNzIGZhc3QsIGNvbWZvcnRhYmxlLCBhbmQgZWZmaWNpZW50LjwvcD4KPGgzPkNoZWNrIFlvdXIgUGFudHJ5IGFuZCBGcmlkZ2U8L2gzPgo8cD5CZWZvcmUgcGxhbm5pbmcgYW55IG1lbnUsIGl0J3MgaW1wb3J0YW50IHRvIGtub3cgZXhhY3RseSB3aGF0IGZvb2RzIHlvdSBoYXZlIGF0IGhvbWUuIFRoaXMgYXZvaWRzIHVubmVjZXNzYXJ5IHB1cmNoYXNlcywgbWFrZXMgdXNlIG9mIHByb2R1Y3RzIG5lYXJpbmcgZXhwaXJhdGlvbiwgYW5kIHJlZHVjZXMgd2FzdGUuIERvIGEgdmlzdWFsIGNoZWNrIGFuZCBub3RlIGRvd24gZXNzZW50aWFsIGluZ3JlZGllbnRzLCBlc3BlY2lhbGx5IGZyZXNoIGFuZCBwZXJpc2hhYmxlIG9uZXMuPC9wPgo8aDM+UGxhbiBhIEhlYWx0aHkgV2Vla2x5IE1lbnU8L2gzPgo8cD5EZXNpZ24gYSBzaW1wbGUsIHZhcmllZCwgYW5kIGJhbGFuY2VkIG1lbnUgZm9yIHRoZSBlbnRpcmUgd2Vlay4gQ29uc2lkZXIgdGhlIGNvbWJpbmF0aW9uIG9mOjwvcD4KPHVsPgo8bGk+U2Vhc29uYWwgdmVnZXRhYmxlczwvbGk+CjxsaT5MZWd1bWVzIGFuZCB3aG9sZSBncmFpbnM8L2xpPgo8bGk+SGVhbHRoeSBwcm90ZWlucyAoYW5pbWFsIG9yIHBsYW50LWJhc2VkKTwvbGk+CjxsaT5EaXNoZXMgdGhhdCBjYW4gYmUgcmVpbnZlbnRlZCB3aXRoIGRpZmZlcmVudCBkcmVzc2luZ3Mgb3Igc2lkZSBkaXNoZXM8L2xpPgo8L3VsPgo8cD5DaG9vc2UgY29tcGF0aWJsZSByZWNpcGVzIHRoYXQgYWxsb3cgZm9yIHJldXNpbmcgYmFzZXMgYW5kIGRpc3RyaWJ1dGUgdGhlIGluZ3JlZGllbnRzIHRvIG9wdGltaXplIHRoZWlyIHVzZSBpbiB2YXJpb3VzIG1lYWxzLiBTdWNoIHBsYW5uaW5nIGhlbHBzIG1haW50YWluIGEgYmFsYW5jZWQgZGlldCBhbmQgYXZvaWRzIG1vbm90b255LjwvcD4KPGgzPlByZXBhcmUgYW4gRWZmZWN0aXZlIFNob3BwaW5nIExpc3Q8L2gzPgo8cD5XaXRoIHRoZSBtZW51IGluIGhhbmQgYW5kIHRoZSBwYW50cnkgY2hlY2tlZCwgbWFrZSBhIHRhaWxvcmVkIHNob3BwaW5nIGxpc3Q6PC9wPgo8dWw+CjxsaT5Ob3RlIGRvd24gc3BlY2lmaWMgZm9vZHMgYW5kIGV4YWN0IHF1YW50aXRpZXMgdG8gYXZvaWQgZXhjZXNzPC9saT4KPGxpPlByaW9yaXRpemUgZnJlc2ggYW5kIHNlYXNvbmFsIHByb2R1Y3RzLCBhZGp1c3RpbmcgYWNjb3JkaW5nIHRvIHdoYXQgeW91IGFscmVhZHkgaGF2ZTwvbGk+CjxsaT5JbmNsdWRlIGFpcnRpZ2h0IGNvbnRhaW5lcnMgYW5kIHN0b3JhZ2UgYmFncyBpZiBuZWVkZWQ8L2xpPgo8L3VsPgo8cD5UaGlzIHByZWNpc2UgbGlzdCBwcmV2ZW50cyBmb3JnZXRmdWxuZXNzIGFuZCB1bm5lY2Vzc2FyeSBzcGVuZGluZyBhbmQgc3BlZWRzIHVwIHlvdXIgdmlzaXQgdG8gdGhlIHN1cGVybWFya2V0LjwvcD4KPGgzPk9yZ2FuaXplIFV0ZW5zaWxzIGZvciBFZmZpY2llbnQgQ29va2luZzwvaDM+CjxwPkhhdmluZyBhbiBvcmRlcmVkIGtpdGNoZW4gYmVmb3JlIHlvdSBzdGFydCBtYWtlcyBiYXRjaCBjb29raW5nIG11Y2ggZWFzaWVyLiBQcmVwYXJlIGV2ZXJ5dGhpbmcgbmVjZXNzYXJ5OjwvcD4KPHVsPgo8bGk+UG90cywgcGFucywgb3ZlbiB0cmF5cywgYW5kIHN0ZWFtZXI8L2xpPgo8bGk+V2VsbC1zaGFycGVuZWQga25pdmVzIGFuZCBjdXR0aW5nIGJvYXJkczwvbGk+CjxsaT5TdG9yYWdlIGNvbnRhaW5lcnMsIHByZWZlcmFibHkgbWFkZSBmcm9tIHJldXNhYmxlIG1hdGVyaWFsczwvbGk+CjxsaT5TcGF0dWxhcywgdG9uZ3MsIGFuZCBiYXNpYyB1dGVuc2lsczwvbGk+CjwvdWw+CjxwPlBsYWNlIGl0ZW1zIGF0IGhhbmQgYWNjb3JkaW5nIHRvIHRoZSBvcmRlciB5b3Ugd2lsbCB1c2UgdGhlbS4gVGhpcyByZWR1Y2VzIHN0b3BzLCBvcHRpbWl6ZXMgcGFyYWxsZWwgY29va2luZywgYW5kIGtlZXBzIHRoZSBzcGFjZSBjbGVhbiBhbmQgdW5jbHV0dGVyZWQuPC9wPgo8cD5XaXRoIHRoaXMgcHJpb3Igb3JnYW5pemF0aW9uLCBiYXRjaCBjb29raW5nIGJlY29tZXMgYSBzaW1wbGUgdGFzaywgZXZlbiBmb3IgYmVnaW5uZXJzLiBPbmNlIHRoZSByb3V0aW5lIGlzIHVuZGVyd2F5LCB0aGUgd2hvbGUgcHJvY2VzcyBiZWNvbWVzIGV2ZW4gbW9yZSBuYXR1cmFsIGFuZCBlZmZpY2llbnQgd2VlayBhZnRlciB3ZWVrLjwvcD4KPGgyPlN0ZXBzIGZvciBTdWNjZXNzZnVsIEJhdGNoIENvb2tpbmc8L2gyPgo8cD5Gb2xsb3dpbmcgYSB3ZWxsLXN0cnVjdHVyZWQgbWV0aG9kb2xvZ3kgbWFrZXMgYmF0Y2ggY29va2luZyBzaW1wbGUgYW5kIGVmZmljaWVudC4gSGVyZSBhcmUgdGhlIGtleXMgdG8gY29uZHVjdGluZyBhIHByb2R1Y3RpdmUgc2Vzc2lvbiBhbmQgb2J0YWluaW5nIHZhcmllZCBtZWFscyB0aGF0IGFyZSByZWFkeSBlYWNoIHdlZWsuPC9wPgo8aDM+U3RyYXRlZ2llcyB0byBQbGFuIHRoZSBXZWVrbHkgTWVudSBBZGVxdWF0ZWx5PC9oMz4KPHVsPgo8bGk+PHN0cm9uZz5DaGVjayB3aGF0IHlvdSBoYXZlOjwvc3Ryb25nPiBSZXZpZXcgdGhlIGNvbnRlbnRzIG9mIHRoZSBwYW50cnkgYW5kIGZyaWRnZSBiZWZvcmUgY3JlYXRpbmcgdGhlIG1lbnUgdG8gdXRpbGl6ZSBpbmdyZWRpZW50cyBhbmQgYXZvaWQgZHVwbGljYXRlIHB1cmNoYXNlcy48L2xpPgo8bGk+PHN0cm9uZz5TZWxlY3QgY29tcGF0aWJsZSByZWNpcGVzOjwvc3Ryb25nPiBDaG9vc2UgZGlzaGVzIHRoYXQgc2hhcmUgaW5ncmVkaWVudHMgb3IgYmFzZSBwcmVwYXJhdGlvbnMsIHN1Y2ggYXMgcm9hc3RlZCB2ZWdldGFibGVzLCBjb29rZWQgZ3JhaW5zLCBvciBzYXVjZXMsIHRvIHNpbXBsaWZ5IHRoZSB3b3JrIGFuZCBtdWx0aXBseSBwb3NzaWJsZSBjb21iaW5hdGlvbnMuPC9saT4KPGxpPjxzdHJvbmc+RGVzaWduIHZhcmllZCBtZW51czo8L3N0cm9uZz4gQWx0ZXJuYXRlIHByb3RlaW5zLCB0eXBlcyBvZiB2ZWdldGFibGVzLCBhbmQgZ3JhaW5zLCBhbmQgdGhpbmsgb2Ygb3B0aW9ucyB0aGF0IGFsbG93IGZvciBib3RoIGNvbGQgYW5kIGhvdCBkaXNoZXMuPC9saT4KPC91bD4KPGgzPk1hc3MgUHJlcGFyYXRpb24gb2YgRm9vZCBCYXNlczwvaDM+CjxwPkRpdmlkZSB0aGUgY29va2luZyBpbnRvIGJsb2Nrczo8L3A+Cjx1bD4KPGxpPjxzdHJvbmc+R3JhaW5zOjwvc3Ryb25nPiBQcmVwYXJlIHJpY2UsIHF1aW5vYSwgb3IgcGFzdGEgaW4gbGFyZ2UgZW5vdWdoIHF1YW50aXRpZXMgZm9yIHNldmVyYWwgbWVhbHMuPC9saT4KPGxpPjxzdHJvbmc+UHJvdGVpbnM6PC9zdHJvbmc+IENvb2sgbGVndW1lcywgZWdncywgbWVhdHMsIG9yIHRvZnUgdG8gZGlzdHJpYnV0ZSBhY3Jvc3MgZGlmZmVyZW50IGRpc2hlcyBvZiB0aGUgd2Vlay48L2xpPgo8bGk+PHN0cm9uZz5WZWdldGFibGVzOjwvc3Ryb25nPiBSb2FzdCB0cmF5cyBvZiB2ZWdldGFibGVzLCBzdGVhbSB2ZWdldGFibGVzIG9yIG1ha2Ugc2F1dMOpZWQgYmFzZXMuPGJyIC8+VGhlc2UgYmFzZXMgYWxsb3cgZm9yIGNyZWF0aW5nIGNvbXBsZXRlIGFuZCBxdWljayBkaXNoZXMgYnkgY29tYmluaW5nIHRoZW0gYXMgbmVlZGVkLCBhZGRpbmcgZGlmZmVyZW50IHNlYXNvbmluZ3MuPC9saT4KPC91bD4KPGgzPkVmZmljaWVudCBVc2Ugb2YgdGhlIE92ZW4gYW5kIFNpbXVsdGFuZW91cyBDb29raW5nczwvaDM+Cjx1bD4KPGxpPlRha2UgYWR2YW50YWdlIG9mIHRoZSBvdmVuIGNhcGFjaXR5IHRvIHJvYXN0IG11bHRpcGxlIHZlZ2V0YWJsZXMgb3IgcHJvdGVpbnMgc2ltdWx0YW5lb3VzbHksIGRpc3RyaWJ1dGluZyB0aGUgZm9vZCBvbiB0cmF5cy48L2xpPgo8bGk+Q29vayBpbiBwYXJhbGxlbCBvbiB0aGUgc3RvdmUgYW5kIG92ZW4sIHVzaW5nIGxhcmdlIHBvdHMgYW5kIGRpZmZlcmVudCBtZXRob2RzIChzdGVhbSwgb3Zlbiwgc2tpbGxldCkgc2ltdWx0YW5lb3VzbHkuPC9saT4KPGxpPk9yZ2FuaXplIHRoZSBvcmRlciBvZiBwcmVwYXJhdGlvbnMgc28gdGhhdCB3aGlsZSBncmFpbnMgYXJlIGNvb2tpbmcsIHlvdSBjYW4gbW92ZSBvbiB3aXRoIHRoZSByZXN0IG9mIHRoZSBpbmdyZWRpZW50cy48L2xpPgo8L3VsPgo8aDM+TWFuYWdpbmcgQ29va2luZyBUaW1lcyB0byBNYXhpbWl6ZSBQcm9kdWN0aXZpdHk8L2gzPgo8dWw+CjxsaT48c3Ryb25nPkNvb2sgd2hhdCB0YWtlcyBsb25nZXIgZmlyc3Q6PC9zdHJvbmc+IFN0YXJ0IHdpdGggZm9vZHMgdGhhdCByZXF1aXJlIG1vcmUgdGltZSwgbGlrZSByb2FzdHMgb3Igc3Rld3MuPC9saT4KPGxpPjxzdHJvbmc+RGl2aWRlIHRhc2tzOjwvc3Ryb25nPiBQcmVwYXJlIGFuZCBjdXQgYWxsIHRoZSBpbmdyZWRpZW50cyBiZWZvcmUgdHVybmluZyBvbiB0aGUgaGVhdC4gVGhpcyByZWR1Y2VzIGludGVycnVwdGlvbnMgYW5kIGltcHJvdmVzIHRoZSBwYWNlLjwvbGk+CjxsaT48c3Ryb25nPlVzZSB0aW1lcnM6PC9zdHJvbmc+IENvbnRyb2wgdGhlIGNvb2tpbmcgb2YgZWFjaCBwcmVwYXJhdGlvbiB0byBhdm9pZCBvdmVyY29va2luZyBhbmQgb3B0aW1pemUgdGhlIHRvdGFsIHRpbWUuPC9saT4KPC91bD4KPGgzPlByZXNlcnZhdGlvbiBNZXRob2RzIHRvIFByb2xvbmcgdGhlIExpZmUgb2YgUHJlcGFyZWQgRm9vZHM8L2gzPgo8dWw+CjxsaT5TdG9yZSBkaXNoZXMgaW4gYWlydGlnaHQgY29udGFpbmVycywgcHJlZmVyYWJseSByZXVzYWJsZSBnbGFzcyBhcyByZWNvbW1lbmRlZCBieSBHcmVlbnVzZSwgdG8gbWFpbnRhaW4gZnJlc2huZXNzIGFuZCBhdm9pZCBjcm9zcy1jb250YW1pbmF0aW9uLjwvbGk+CjxsaT5EaXZpZGUgcG9ydGlvbnMgaW50byBpbmRpdmlkdWFsIG9yIGZhbWlseSBzZXJ2aW5ncyB0byBlYXNlIGNvbnN1bXB0aW9uLjwvbGk+CjxsaT5MZXQgY29vbCB3ZWxsIGJlZm9yZSBwbGFjaW5nIGluIHRoZSBmcmlkZ2Ugb3IgZnJlZXplci48L2xpPgo8bGk+TGFiZWwgY29udGFpbmVycyB3aXRoIHRoZSBkYXRlIGFuZCBjb250ZW50cyB0byBiZXR0ZXIgbW9uaXRvciBhbmQgZW5zdXJlIGZvb2Qgc2FmZXR5LjwvbGk+CjxsaT5GcmVlemUgZGlzaGVzIG9yIGJhc2VzIHlvdSBkb27igJl0IHBsYW4gdG8gY29uc3VtZSBpbiBsZXNzIHRoYW4gdGhyZWUgZGF5cy4gVGhpcyBtYWludGFpbnMgdGhlIHRleHR1cmUgYW5kIGZsYXZvciBvZiBwcmVwYXJhdGlvbnMuPC9saT4KPC91bD4KPHA+QnkgYXBwbHlpbmcgdGhlc2Ugc3RlcHMsIGJhdGNoIGNvb2tpbmcgYmVjb21lcyBhIHNpbXBsZSB5ZXQgaGlnaGx5IGVmZmVjdGl2ZSByb3V0aW5lIGZvciBoYXZpbmcgYWx3YXlzIGhvbWVtYWRlLCB2YXJpZWQsIGFuZCByZWFkeS10by1zZXJ2ZSBtZWFscy48L3A+CjxoMj5CYXRjaCBDb29raW5nIFJlY2lwZXM6IEhlYWx0aHkgV2Vla2x5IE1lbnU8L2gyPgo8cD5CYXRjaCBjb29raW5nIGFsbG93cyB5b3UgdG8gZW5qb3kgYSBjb21wbGV0ZSwgdmFyaWVkLCBhbmQgYmFsYW5jZWQgd2Vla2x5IG1lbnUgd2l0aCBkaWZmZXJlbnQgb3B0aW9ucyBzdWl0ZWQgdG8gYWxsIHRhc3Rlcy48L3A+CjxoMz5NYWluIENvdXJzZSBTdWdnZXN0aW9ucyBmb3IgRWFjaCBEYXk8L2gzPgo8cD5UbyBvcmdhbml6ZSB0aGUgd2VlaywgaXQncyB1c2VmdWwgdG8gY29tYmluZSBiYXNlIHByZXBhcmF0aW9ucyBhbmQgYWx0ZXJuYXRlIGZvb2QgZmFtaWxpZXMuIEV4YW1wbGUgb2YgYSB3ZWVrbHkgbWVudTo8L3A+Cjx1bD4KPGxpPjxzdHJvbmc+TW9uZGF5Ojwvc3Ryb25nPiBMZW50aWwgc3RldyB3aXRoIHZlZ2V0YWJsZXMgYW5kIGJyb3duIHJpY2U8L2xpPgo8bGk+PHN0cm9uZz5UdWVzZGF5Ojwvc3Ryb25nPiBSb2FzdCBjaGlja2VuIHdpdGggcG90YXRvZXMgYW5kIGdyZWVuIGxlYWYgc2FsYWQ8L2xpPgo8bGk+PHN0cm9uZz5XZWRuZXNkYXk6PC9zdHJvbmc+IENoaWNrcGVhIHN0ZXcgd2l0aCBzcGluYWNoIGFuZCBoYXJkLWJvaWxlZCBlZ2c8L2xpPgo8bGk+PHN0cm9uZz5UaHVyc2RheTo8L3N0cm9uZz4gU3RlYW1lZCBoYWtlIHdpdGggYnJvY2NvbGkgYW5kIHJvYXN0ZWQgc3dlZXQgcG90YXRvZXM8L2xpPgo8bGk+PHN0cm9uZz5GcmlkYXk6PC9zdHJvbmc+IFN0aXItZnJpZWQgdG9mdSBhbmQgbXVzaHJvb21zIHdpdGggcmljZSBub29kbGVzPC9saT4KPGxpPjxzdHJvbmc+U2F0dXJkYXk6PC9zdHJvbmc+IEhvbWVtYWRlIHJhdGF0b3VpbGxlIHdpdGggdHVya2V5IGZpbGxldHMgb3IgdGVtcGVoPC9saT4KPGxpPjxzdHJvbmc+U3VuZGF5Ojwvc3Ryb25nPiBIdW1tdXMgd2l0aCBjYXJyb3Qgc3RpY2tzIGFuZCBjaGlja3BlYSBzYWxhZDwvbGk+CjwvdWw+CjxwPkFsdGVybmF0ZSBwcmVwYXJlZCBiYXNlcyAobGVndW1lcywgcmljZSwgcGFzdGEsIG9yIHZlZ2V0YWJsZXMpIHRvIHNhdmUgdGltZSB3aXRob3V0IGxvc2luZyB2YXJpZXR5LjwvcD4KPGgzPkluY2x1c2l2ZSBWZWdhbiBhbmQgVmVnZXRhcmlhbiBSZWNpcGUgT3B0aW9uczwvaDM+CjxwPkJhdGNoIGNvb2tpbmcgaXMgZWFzaWx5IGFkYXB0YWJsZSB0byBwbGFudC1iYXNlZCBkaWV0cy4gU29tZSBpZGVhczo8L3A+Cjx1bD4KPGxpPkxlbnRpbCBhbmQgb2F0cyBtZWF0YmFsbHM8L2xpPgo8bGk+Q2hpY2twZWEgYW5kIHB1bXBraW4gY3Vycnk8L2xpPgo8bGk+U3Rpci1mcnkgdG9mdSB3aXRoIHNlYXNvbmFsIHZlZ2V0YWJsZXM8L2xpPgo8bGk+QmVhbiBhbmQgY2Fycm90IGJ1cmdlcnM8L2xpPgo8bGk+Q29sZCBzYWxhZCB3aXRoIHdob2xlIHdoZWF0IHBhc3RhLCBjaGVycnkgdG9tYXRvZXMsIG9saXZlcywgYW5kIGJhc2lsPC9saT4KPC91bD4KPHA+VGhlc2UgZGlzaGVzIGFyZSByaWNoIGluIHBsYW50IHByb3RlaW4gYW5kIGZpYmVyIGFuZCBrZWVwIHdlbGwgaW4gdGhlIGZyaWRnZSBmb3Igc2V2ZXJhbCBkYXlzLjwvcD4KPGgzPkRyZXNzaW5nIGFuZCBTYXVjZSBSZWNpcGVzIHRvIERpdmVyc2lmeSBGbGF2b3JzPC9oMz4KPHA+UHJlcGFyaW5nIGEgc2VsZWN0aW9uIG9mIGJhc2Ugc2F1Y2VzIHRyYW5zZm9ybXMgZGlzaGVzLiBTb21lIHByb3Bvc2Fsczo8L3A+Cjx1bD4KPGxpPkNsYXNzaWMgdmluYWlncmV0dGUgd2l0aCBvbGl2ZSBvaWwsIHZpbmVnYXIsIGFuZCBtdXN0YXJkPC9saT4KPGxpPllvZ3VydCBzYXVjZSB3aXRoIGRpbGwgYW5kIGxlbW9uPC9saT4KPGxpPlRhaGluaSB3aXRoIGxlbW9uIGp1aWNlIGFuZCBnYXJsaWM8L2xpPgo8bGk+QmFzaWwgb3IgYXJ1Z3VsYSBwZXN0bzwvbGk+CjxsaT5Ib21lbWFkZSB0b21hdG8gc2F1Y2U8L2xpPgo8L3VsPgo8cD5QcmVzZXJ2aW5nIHNldmVyYWwgc2F1Y2VzIGluIHNtYWxsIGphcnMgYWxsb3dzIGZvciBwZXJzb25hbGl6aW5nIGVhY2ggZGlzaCBhY2NvcmRpbmcgdG8gdGhlIGRheS48L3A+CjxoMz5TdWdnZXN0aW9ucyBmb3IgTnV0cml0aW91cyBDcmVhbXMsIFB1cmVlcywgYW5kIENvbGQgU291cHM8L2gzPgo8cD5DcmVhbXMgYW5kIHNvdXBzIGFkZCB2YXJpZXR5IGFuZCBoZWxwIGNvbXBsZXRlIHRoZSBtZW51OjwvcD4KPHVsPgo8bGk+WnVjY2hpbmkgYW5kIGxlZWsgY3JlYW0gd2l0aCB3aG9sZS13aGVhdCBjcm91dG9uczwvbGk+CjxsaT5UcmFkaXRpb25hbCBnYXpwYWNobyBvciB0b21hdG8gc2FsbW9yZWpvPC9saT4KPGxpPkNhcnJvdCBhbmQgZ2luZ2VyIHB1cmVlPC9saT4KPGxpPkNvbGQgY3VjdW1iZXIgYW5kIHlvZ3VydCBzb3VwPC9saT4KPGxpPkNhdWxpZmxvd2VyIGFuZCBhcHBsZSBjcmVhbTwvbGk+CjwvdWw+CjxwPlRoZXNlIG9wdGlvbnMgY2FuIGJlIHRha2VuIGVpdGhlciBjb2xkIG9yIGhvdCBhbmQgYXJlIHByZXBhcmVkIGluIGxhcmdlIHF1YW50aXRpZXMuPC9wPgo8aDM+VmVnZXRhYmxlIFByZXBhcmF0aW9uczogU3Rpci1mcmllcywgQm9pbGVkLCBhbmQgUm9hc3RlZDwvaDM+CjxwPlN0ZWFtZWQgb3Igcm9hc3RlZCB2ZWdldGFibGVzIGFyZSBlc3NlbnRpYWwgZHVlIHRvIHRoZWlyIHByZXNlcnZhdGlvbiBhbmQgdmVyc2F0aWxpdHkuIFNvbWUgaWRlYXM6PC9wPgo8dWw+CjxsaT5PdmVuLWJha2VkIHZlZ2V0YWJsZSB0cmF5OiBlZ2dwbGFudCwgenVjY2hpbmksIHBlcHBlcnMsIGFuZCBvbmlvbjwvbGk+CjxsaT5Cb2lsZWQgY2F1bGlmbG93ZXIgYW5kIGJyb2Njb2xpIGFzIGEgc2lkZSBkaXNoIG9yIHRvcnRpbGxhIGJhc2U8L2xpPgo8bGk+U3Rpci1mcmllcyBvZiBjYXJyb3RzLCBncmVlbiBiZWFucywgYW5kIGdhcmxpYzwvbGk+CjxsaT5Sb2FzdGVkIHN3ZWV0IHBvdGF0byBhbmQgYmVldHJvb3Q8L2xpPgo8bGk+U2F1dMOpZWQgc3BpbmFjaCB3aXRoIGNoaWNrcGVhczwvbGk+CjwvdWw+CjxwPktlZXBpbmcgdmVnZXRhYmxlcyBpbiBzZXBhcmF0ZSBjb250YWluZXJzIGFsbG93cyBmb3IgbWl4aW5nIGFuZCBhZGFwdGluZyBhY2NvcmRpbmcgdG8gbHVuY2ggb3IgZGlubmVyLCBlbnN1cmluZyBhIGhlYWx0aHkgZGlldCB0aHJvdWdob3V0IHRoZSB3ZWVrLjwvcD4KPGgyPlByYWN0aWNhbCBUaXBzIGZvciBQZXJmZWN0IEJhdGNoIENvb2tpbmc8L2gyPgo8cD5BY2hpZXZpbmcgZWZmaWNpZW50IGFuZCB2YXJpZWQgYmF0Y2ggY29va2luZyBkZXBlbmRzIG9uIHNtYWxsIGRldGFpbHMgaW4gb3JnYW5pemF0aW9uLCBzdG9yYWdlLCBhbmQgY3JlYXRpdml0eSBpbiB0aGUga2l0Y2hlbi4gSGVyZSBhcmUgaW5zaWdodHMgdG8gbWFrZSB0aGUgbW9zdCBvdXQgb2YgYmF0Y2ggcHJlcGFyYXRpb24uPC9wPgo8aDM+VGlwcyB0byBNYXhpbWl6ZSBUaW1lIFNhdmluZ3MgaW4gdGhlIEtpdGNoZW48L2gzPgo8dWw+CjxsaT48c3Ryb25nPlByZXBhcmUgYWxsIGluZ3JlZGllbnRzIGJlZm9yZWhhbmQ6PC9zdHJvbmc+IFdhc2gsIHBlZWwsIGFuZCBjdXQgdGhlIHZlZ2V0YWJsZXMgYWxsIGF0IG9uY2UgdG8gc3BlZWQgdXAgdGhlIGNvb2tpbmcuPC9saT4KPGxpPjxzdHJvbmc+VXNlIG11bHRpcGxlIGhlYXQgc291cmNlcyBhdCBvbmNlOjwvc3Ryb25nPiBDb29rIGluIHRoZSBvdmVuLCBwb3QsIGFuZCBwYW4gc2ltdWx0YW5lb3VzbHkgdG8gb3B0aW1pemUgaWRsZSB0aW1lcy48L2xpPgo8bGk+PHN0cm9uZz5Hcm91cCBzaW1pbGFyIHByZXBhcmF0aW9uczo8L3N0cm9uZz4gUm9hc3QgZGlmZmVyZW50IHZlZ2V0YWJsZXMgc2ltdWx0YW5lb3VzbHkgb3IgYm9pbCBzZXZlcmFsIGdyYWlucyB0b2dldGhlciBhbmQgc2VwYXJhdGUgdGhlbSBhZnRlcndhcmQsIGFzIGxvbmcgYXMgdGhlIHRpbWVzIGFyZSBjb21wYXRpYmxlLjwvbGk+CjxsaT48c3Ryb25nPlVzZSBtdWx0aXB1cnBvc2UgdXRlbnNpbHM6PC9zdHJvbmc+IEEgcG93ZXJmdWwgYmxlbmRlciBvciBhIGxhcmdlIHBvdCBhbGxvd3MgeW91IHRvIHByZXBhcmUgbW9yZSBxdWFudGl0aWVzIGluIGxlc3MgdGltZS48L2xpPgo8L3VsPgo8aDM+VGVjaG5pcXVlcyBmb3IgUHJvcGVybHkgUHJlc2VydmluZyBQcmVwYXJlZCBGb29kczwvaDM+Cjx1bD4KPGxpPlN0b3JlIGRpc2hlcyBpbiBhaXJ0aWdodCBhbmQgcmVzaXN0YW50IGNvbnRhaW5lcnMgdG8gbWFpbnRhaW4gZnJlc2huZXNzIGFuZCBhdm9pZCBjb250YW1pbmF0aW9uLjwvbGk+CjxsaT5JdCdzIGltcG9ydGFudCB0byBsZXQgZm9vZHMgY29vbCBiZWZvcmUgY292ZXJpbmcgYW5kIHN0b3JpbmcgdGhlbSBpbiB0aGUgZnJpZGdlIG9yIGZyZWV6ZXIuPC9saT4KPGxpPlNlcGFyYXRlIGludG8gaW5kaXZpZHVhbCBvciBmYW1pbHkgcG9ydGlvbnMgdG8gdGFrZSBvdXQgb25seSB3aGF0J3MgbmVlZGVkIGZvciBlYWNoIG1lYWwsIHByb2xvbmdpbmcgcHJlc2VydmF0aW9uLjwvbGk+CjxsaT5Gb3IgZnJvemVuIGZvb2RzLCBsZWF2ZSBzcGFjZSBpbiB0aGUgY29udGFpbmVyIGZvciBsaXF1aWQgZXhwYW5zaW9uIGFuZCB1c2UgY29udGFpbmVycyBzdWl0YWJsZSBmb3IgbG93IHRlbXBlcmF0dXJlcy48L2xpPgo8L3VsPgo8aDM+TWV0aG9kcyBvZiBTdG9yYWdlIE9yZ2FuaXphdGlvbiBhbmQgTGFiZWxpbmc8L2gzPgo8dWw+CjxsaT48c3Ryb25nPkFsd2F5cyBsYWJlbCBjb250YWluZXJzOjwvc3Ryb25nPiBXcml0ZSBkb3duIHRoZSBwcmVwYXJhdGlvbiBkYXRlIGFuZCBjb250ZW50IG9uIGVhY2ggY29udGFpbmVyLiBUaGlzIGhlbHBzIGNvbnN1bWUgZmlyc3Qgd2hhdOKAmXMgbW9yZSBhdCByaXNrIG9mIHNwb2lsaW5nLjwvbGk+CjxsaT48c3Ryb25nPk9yZ2FuaXplIGZyaWRnZSBhbmQgZnJlZXplciBieSBjYXRlZ29yaWVzOjwvc3Ryb25nPiBQdXQgdGhlIG1vc3QgcGVyaXNoYWJsZSBpdGVtcyBpbiB2aWV3IGFuZCBvcmRlciBieSB0eXBlOiBwcm90ZWlucywgdmVnZXRhYmxlcywgc2F1Y2VzLCBncmFpbnMuPC9saT4KPGxpPlVzZSB0cmFuc3BhcmVudCBjb250YWluZXJzIG9yIHRob3NlIHdpdGggd2luZG93cyB0byBpZGVudGlmeSBhdCBhIGdsYW5jZSB3aGF0IHlvdSBoYXZlIGFuZCBhdm9pZCBkdXBsaWNpdGllcy48L2xpPgo8L3VsPgo8aDM+U3RyYXRlZ2llcyB0byBSZXVzZSBMZWZ0b3ZlcnMgYW5kIE1haW50YWluIE1lbnUgSW50ZXJlc3Q8L2gzPgo8dWw+CjxsaT5UdXJuIGxlZnRvdmVycyBpbnRvIG5ldyBkaXNoZXM6IGdyaWxsZWQgdmVnZXRhYmxlcyBmb3IgYSBmcml0dGF0YSwgcHJldmlvdXMgZGF5J3MgcmljZSBpbnRvIGEgd2FybSBzYWxhZCwgb3IgbGVndW1lcyBpbnRvIGEgc3BpY2VkIGNyZWFtLjwvbGk+CjxsaT5DaGFuZ2UgdGV4dHVyZXMgYW5kIGZsYXZvcnMgdXNpbmcgZGlmZmVyZW50IGRyZXNzaW5ncyBvciBiYXNlIHNhdWNlcy48L2xpPgo8bGk+RnJlZXplIHByZXBhcmF0aW9ucyB5b3Ugd29u4oCZdCBjb25zdW1lIGluIHR3byB0byB0aHJlZSBkYXlzLjwvbGk+CjxsaT5JZiB5b3UgaGF2ZSBzbWFsbCBhbW91bnRzIG9mIHZhcmlvdXMgcHJlcGFyYXRpb25zLCBjb21iaW5lIGludG8gYSB2YXJpZWQgYm93bC10eXBlIEJ1ZGRoYSBib3dsLCBtaXhpbmcgYmFzZXMsIHByb3RlaW5zLCBhbmQgdmVnZXRhYmxlcy48L2xpPgo8L3VsPgo8cD5XaXRoIHRoZXNlIHRpcHMsIHlvdXIgYmF0Y2ggY29va2luZyB3aWxsIGJlIG1vcmUgcHJhY3RpY2FsLCBzYWZlLCBhbmQgdmFyaWVkLCBhbGxvd2luZyBhIGhlYWx0aHkgZGlldCBhbmQgYXZvaWRpbmcgbW9ub3RvbnkgdGhyb3VnaG91dCB0aGUgd2Vlay48L3A+CjxoMj5GcmVxdWVudGx5IEFza2VkIFF1ZXN0aW9ucyBBYm91dCBCYXRjaCBDb29raW5nPC9oMj4KPHA+QmVsb3csIGNvbW1vbiBxdWVzdGlvbnMgYXJlIHJlc29sdmVkIGZvciBtYXhpbWl6aW5nIHRoZSBiZW5lZml0cyBvZiBiYXRjaCBjb29raW5nIHNhZmVseSBhbmQgcHJhY3RpY2FsbHkuPC9wPgo8aDM+U2hlbGYgTGlmZSBvZiBQcmVwYXJlZCBEaXNoZXM8L2gzPgo8dWw+CjxsaT48c3Ryb25nPkluIHRoZSBmcmlkZ2U6PC9zdHJvbmc+IENvb2tlZCBkaXNoZXMgcmVtYWluIGluIGdvb2QgY29uZGl0aW9uIGZvciAzIHRvIDUgZGF5cyBpZiBzdG9yZWQgaW4gYWlydGlnaHQgY29udGFpbmVycyBhbmQgYXQgdGhlIHJpZ2h0IHRlbXBlcmF0dXJlLiBTdGV3cywgY3JlYW1zLCBhbmQgZ3JhaW5zIGxhc3QgdXAgdG8gNCBkYXlzLCB3aGlsZSBtZWF0cyBhbmQgZmlzaCBzaG91bGQgaWRlYWxseSBiZSBjb25zdW1lZCB3aXRoaW4gMi0zIGRheXMuPC9saT4KPGxpPjxzdHJvbmc+SW4gdGhlIGZyZWV6ZXI6PC9zdHJvbmc+IFByZXBhcmF0aW9ucyBjYW4gYmUgc3RvcmVkIGZvciB1cCB0byAyIG9yIDMgbW9udGhzIHdpdGhvdXQgbG9zaW5nIGZsYXZvciBvciB0ZXh0dXJlLiBJdOKAmXMgcHJlZmVyYWJsZSB0byBzZXBhcmF0ZSBpbnRvIHBvcnRpb25zIGFuZCBsYWJlbCB3aXRoIHRoZSBkYXRlIHRvIGNvbnN1bWUgYmVmb3JlIHRoaXMgcGVyaW9kIGV4cGlyZXMuPC9saT4KPGxpPjxzdHJvbmc+U2F1Y2VzIGFuZCBkcmVzc2luZ3M6PC9zdHJvbmc+IEJlc3QgaW4gc21hbGwgY29udGFpbmVycywgYmV0d2VlbiAzIGFuZCA1IGRheXMgcmVmcmlnZXJhdGVkLiBJZiB0aGV5IGNvbnRhaW4gZGFpcnkgb3IgZWdncywgY29uc3VtZSBzb29uZXIuPC9saT4KPC91bD4KPGgzPklkZWFsIEZvb2RzIGZvciBCYXRjaCBDb29raW5nIGFuZCBUaGVpciBQcm9wZXJ0aWVzPC9oMz4KPHVsPgo8bGk+PHN0cm9uZz5MZWd1bWVzOjwvc3Ryb25nPiBTdWl0YWJsZSBmb3IgYnVsayBwcmVwYXJhdGlvbiBhbmQgdG8gYmUgdXNlZCBjb2xkIG9yIGhvdC4gUmljaCBpbiBmaWJlciwgcGxhbnQgcHJvdGVpbiwgYW5kIG1pbmVyYWxzLjwvbGk+CjxsaT48c3Ryb25nPldob2xlIGdyYWluczo8L3N0cm9uZz4gUmljZSwgcXVpbm9hLCBtaWxsZXQsIGJ1bGd1ciwgYW5kIG90aGVycyBhcmUgZWFzeSB0byBzdG9yZSBhbmQgY29tYmluZSBpbiBtYWluIGRpc2hlcywgc2FsYWRzLCBvciBzaWRlcy48L2xpPgo8bGk+PHN0cm9uZz5WZWdldGFibGVzIGFuZCByb290czo8L3N0cm9uZz4gV29yayB3ZWxsIHJvYXN0ZWQsIHN0ZWFtZWQsIG9yIGJvaWxlZC4gQWRhcHQgdG8gbWFueSByZWNpcGVzIGFuZCBwcm92aWRlIGEgdml0YW1pbiB2YXJpZXR5LjwvbGk+CjxsaT48c3Ryb25nPlBsYW50IGFuZCBhbmltYWwgcHJvdGVpbnM6PC9zdHJvbmc+IEVnZ3MsIHRvZnUsIGZpc2gsIG9yIGxlYW4gbWVhdHMgYXJlIGNvb2tlZCBpbiBxdWFudGl0eSBhbmQgYWxsb3cgZm9yIHJlYWR5IG1lYWxzIG9yIHJldXNlIGluIHNlY29uZGFyeSBkaXNoZXMuPC9saT4KPGxpPjxzdHJvbmc+Q3JlYW1zIGFuZCBzb3Vwczo8L3N0cm9uZz4gS2VlcCB3ZWxsIGZvciBzZXZlcmFsIGRheXMsIGFyZSB2ZXJzYXRpbGUsIGFuZCBoZWxwIGNvbXBsZXRlIHRoZSB3ZWVrbHkgZGlldC48L2xpPgo8L3VsPgo8cD5UaGVzZSBmb29kcyBzdGFuZCBvdXQgZm9yIHRoZWlyIGdvb2QgcHJlc2VydmF0aW9uLCBlYXNlIG9mIHByZXBhcmF0aW9uLCBhbmQgY29tYmluYXRpb24gcG9zc2liaWxpdGllcywgZmFjaWxpdGF0aW5nIGJhbGFuY2VkIG1lbnVzLjwvcD4KPGgzPkFkYXB0YXRpb25zIGZvciBBcHBseWluZyBCYXRjaCBDb29raW5nIHdpdGggVGltZSBDb25zdHJhaW50czwvaDM+Cjx1bD4KPGxpPjxzdHJvbmc+RGl2aWRlIHRoZSBwcm9jZXNzOjwvc3Ryb25nPiBJZiB5b3UgZG9u4oCZdCBoYXZlIHNldmVyYWwgaG91cnMgaW4gb25lIGdvLCBkZXZvdGUgMjAtMzAgbWludXRlcyBhdCBkaWZmZXJlbnQgdGltZXMgb2YgdGhlIHdlZWsgdG8gcHJlcGFyZSBwb3J0aW9ucywgY29vayBncmFpbnMsIG9yIHJvYXN0IHZlZ2V0YWJsZXMuPC9saT4KPGxpPjxzdHJvbmc+Q29vayB3aGlsZSBkb2luZyBvdGhlciB0YXNrczo8L3N0cm9uZz4gVXNlIHRoZSBvdmVuIGFuZCBwb3RzIGZvciBtdWx0aXRhc2tpbmcsIGV2ZW4gd2hpbGUgdGlkeWluZyB1cCB0aGUga2l0Y2hlbiBvciBwcmVwYXJpbmcgdGhlIGRheSdzIG1lYWwuPC9saT4KPGxpPjxzdHJvbmc+UXVpY2sgYW5kIGJhc2ljIHJlY2lwZXM6PC9zdHJvbmc+IENob29zZSBzaW1wbGUgcHJlcGFyYXRpb25zIGZvciBidXNpZXIgZGF5cywgbGlrZSBibGVuZGVyIGNyZWFtcywgY29tcGxldGUgc2FsYWRzLCBvciB2ZWdldGFibGUgc3Rpci1mcmllcy48L2xpPgo8bGk+PHN0cm9uZz5BZGp1c3QgcXVhbnRpdGllczo8L3N0cm9uZz4gUHJlcGFyZSBzbWFsbGVyIGFtb3VudHMgaWYgeW91ciB0aW1lIG9yIHNwYWNlIGlzIGxpbWl0ZWQsIGZvY3VzaW5nIG9uIHN0YXBsZSBkaXNoZXMgeW91IGNhbiB2YXJ5IGluIGRpZmZlcmVudCBmb3Jtcy48L2xpPgo8L3VsPgo8cD5XaXRoIHRoZXNlIGFuc3dlcnMsIGJhdGNoIGNvb2tpbmcgYmVjb21lcyBhY2Nlc3NpYmxlIGV2ZW4gd2l0aCB0aWdodCBzY2hlZHVsZXMsIGVuc3VyaW5nIGEgdmFyaWVkIGFuZCBwcmFjdGljYWwgZGlldCB3ZWVrLXRvLXdlZWsuPC9wPncDc2V0dyRhMTE2Y2E5Mi1kZmVmLTQ3MTItYjkwNS1mZDZjYTg4ZTI1M2N3DGNvcmUvaGVhZGluZ30BdyRkOTU1ZTQyYy0yOGVkLTRhOTItODZkZi01ZjczOGIyMjQyNDZ4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNWE2YzdlNDItNDM0MC00YWVmLTlmZDktNzJhNjQ2NTdmMmM0eHcMY29yZS9oZWFkaW5nfQJ3JDVhODY1NmM3LWJhYjUtNDc0Ny1iNmY2LWEwMGY5OGUxYzliMnh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyRjNzZkMjNiZi0yMjNjLTQ2NGEtODBlNy1kOTY1ZGU0MGM1YmJ4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckYjczYmNhMDEtNDMzYS00NDFmLWJhYWMtYWQyMTg2YzJkMTg1eHcJY29yZS9saXN0eXcAdyQ5NWRiYzNlOS05MTJlLTRiNGEtOWExYi04NWRhOTU0MDlhYmR4dw5jb3JlL2xpc3QtaXRlbXckM2Y3OTVlYzgtNmZmMi00M2QyLWJjYjYtZGZhMWEwYmVlNDQ4eHcOY29yZS9saXN0LWl0ZW13JGY1MDlkZDcwLTg1NGYtNDg0NC04ZmJlLTE2ZjFkMWZkNTBjOXh3DmNvcmUvbGlzdC1pdGVtdyQ5ZmRkOTc2ZS01ZDc5LTRhZmYtOWY5OS1kYTU2YjM3Y2E5MTR4dwxjb3JlL2hlYWRpbmd9A3ckZTlmMTlhZWItYTE3OS00YWM1LWExNGUtOTYzYWI0YzU5ZDA4eHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JGM1NjJhMWI1LWZhNmItNGM5ZC1iNTUzLTFjZWQ2ZjVkMDg0Y3h3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQ5MzA4MGQ3Zi03YjM2LTQ5Y2MtYjE2YS05ZTAzYmMzYTkzZDd4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNWEzODdkM2UtNzBhOS00ZGJjLWE4NzAtNzJhMTg0NWIzMjExeHcMY29yZS9oZWFkaW5nfQJ3JGYxMDBkY2Y0LTU1ZWYtNGVjMC04MjIxLTkxNThiYTJmYjc5OXh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQxOGVjNmQ0Yi04OGZiLTRhYTEtODAwYi02MDlmOGRmZmM2YzB4dwxjb3JlL2hlYWRpbmd9A3ckNmQ2OWVjMDktODE1Yi00YzI1LWI2NTctOGJiZmE3OTFkNTI4eHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JDYzMGNiMmQwLTA3NjEtNGM2OS04YmFhLWFlMjFlNTUxOWFjN3h3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQxNDkxNGVhMi01ZTQyLTRlOWItOWVmMS1iNjJlYTEyMzBlNjd4dwljb3JlL2xpc3R5dwB3JDgwYTBhM2RjLTdjNGMtNGQ1Mi1hODEyLTlmY2EyNzk2NTAzOHh3DmNvcmUvbGlzdC1pdGVtdyRmN2JlZjIzMi0zZDRjLTQ3NDItOGViZi0xY2I3MjRmMWFmM2V4dw5jb3JlL2xpc3QtaXRlbXckZmJmY2ExMWEtYzI5ZS00NTcwLTg5ZmQtZWYzY2Q3YmQxNzUyeHcOY29yZS9saXN0LWl0ZW13JGYxNjI1Nzc4LTFkNDUtNGEzMi05N2Y2LTA3YzA0NWMxYjAxYnh3DGNvcmUvaGVhZGluZ30DdyQ4NjdhNDUzNy01YWFlLTRlNDQtOTg0NS05ODBkYjgwOTc2MTV4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNzRkNjVhMWMtZjQ3My00Yjg2LTkwNzgtYWRhOGRhNDRiMjFieHcJY29yZS9saXN0eXcAdyQ5NGE4YjljYi1mNmY3LTRkMjgtYTg3My0yNTg5OTdiYTVmZjJ4dw5jb3JlL2xpc3QtaXRlbXckMDU0OGE1ZmMtOGFmMi00MGRmLTg5N2YtZDJhMTNlMDZjMmVieHcOY29yZS9saXN0LWl0ZW13JDc4ZDgyZTExLTQwNjktNGRhZC04OWQ5LWMyMTAxNGE0MWY0OHh3DmNvcmUvbGlzdC1pdGVtdyRmNzRiNDU3Mi1hZTM1LTQ4ZjYtYTAzZi05MjVkZGMzZjRlNmJ4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckMTgzZmZkNzctODc5OC00MTI2LWI2YWQtMWZhMjE0NWVjMjU0eHcMY29yZS9oZWFkaW5nfQN3JGI4YWJlYjhlLWZiMGEtNDlmNS1iNzk4LTdkZTU2YTdjOWQ5Y3h3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQwY2MxMGNlYy1jY2YyLTQ0NWEtYWJmZS1mNTljNzYxNzAyNjZ4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckMDY4MDgwZjctMWM3Mi00MTA5LTliZDYtNzhlZmU3NGIzNjMzeHcJY29yZS9saXN0eXcAdyRkNWE3MjJhYy03ZGQ3LTQ3ZDgtYjQ2OC00N2VkOTYwNDAxMTF4dw5jb3JlL2xpc3QtaXRlbXckMjEzNGYxNTYtOWMwYy00ZDA3LThiNzEtZTZlMjYyMTUzNzQweHcOY29yZS9saXN0LWl0ZW13JDUyZjQ4NzM4LWM0NTktNDUyYi05YjRhLWQwMWQ3N2QwOGZkMXh3DmNvcmUvbGlzdC1pdGVtdyQxYjJiOWM1OC0wMjkzLTQ4MjctYTM4My00MmE1NTlmMTBiMDR4dwxjb3JlL2hlYWRpbmd9A3ckZTdmYmQ4NTgtMDcyOC00NDM1LTk4YjAtMDQyMGEyMTRkZmY3eHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JGZjYmI1YzRkLWYyOTctNDg1YS04ZmFjLTA5NWI5ZjI3ODA5NHh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyRmNmU2YWNkNC1jZjFjLTQ4ODgtOTcwMC05YTFlODYyODAwMmN4dwljb3JlL2xpc3R5dwB3JGY1Zjg4YTgxLWEyZjMtNGI2ZC1iMjgzLWYxNTZhMWUxZWNiMnh3DmNvcmUvbGlzdC1pdGVtdyRmYmRkMjJiMC03YTYwLTQ0ZjctOGJjOC1kNDk5ZmYxNDI1ZGR4dw5jb3JlL2xpc3QtaXRlbXckMDUzNTg2NmEtMzM3NC00MjQ0LWIzNmMtYWFkMjFhYTNiZjU0eHcOY29yZS9saXN0LWl0ZW13JDAzMzAyZDA3LTY0MzgtNDA1Zi1hN2VjLTkwMTA0ZTkxYTZhMnh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQ1ZGUyMDIyMS1mZWM4LTQ3NGUtOGZkMy0yYTczNmViMDA5NDF4dwxjb3JlL2hlYWRpbmd9AnckMWY3OGZjY2UtOTdlOS00MDExLTkzNGYtODdkZWEzYjU1YWYweHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JGU3NGFhNDg5LTQzYWQtNDhjMy1iYTBmLTljYzA4ZTFkYTU4ZHh3DGNvcmUvaGVhZGluZ30DdyRkNDRhOWE0NS0xYmQwLTRmMTctYjFjNi01Mjc4NmUwM2M0ZmF4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckZDM0Mzg5YTQtOGM0MS00NzNhLWE2OGItNzEwMTc0NTAwY2Q5eHcMY29yZS9oZWFkaW5nfQN3JDk2MTk3OTRkLTVkODQtNGI5MS04YjMxLTFjZTkwYjA0YzEyNnh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQzODE0YzYwZS1kODYyLTQxMGItODZiOC01NzA4NDgzNWQ3NTd4dwljb3JlL2xpc3R5dwB3JDkxOGM2ZTdiLWIwN2UtNDAxMi1hODk1LTQ4ZDU3ZTc1MDI5Mnh3DmNvcmUvbGlzdC1pdGVtdyQ3ZGQ0ZWUwMC0zMzUxLTRhODMtYTY5ZC02MjhhMDNhODk4MGR4dw5jb3JlL2xpc3QtaXRlbXckYTA4ZGFjNzAtMGM0ZC00N2IwLTlhODAtNjhhMWNkYjFkNzY1eHcOY29yZS9saXN0LWl0ZW13JGQ1MDQxYjE5LWZiN2EtNGRjMC1iYWQwLWRmOWM4YmMxMzI3OXh3DmNvcmUvbGlzdC1pdGVtdyQxMTIxZTJkNy0yNzZiLTQwNzQtODY4OC04NDdmZTBmNTFiMDl4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckZjMxMTJjYzktNjg1Ni00ODUzLWIxZGEtNDNlZjJiMmFlOThjeHcMY29yZS9oZWFkaW5nfQN3JDJjNmM3OGY2LTA2NDktNDkxOC1iMGNjLWQ2YWFjZjQzNjUxZHh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyRjYjZmMTJkOC01MzRkLTQ0MmMtOGNlYy1iOWU5MjQ4M2I2MTR4dwljb3JlL2xpc3R5dwB3JDU4ZGQyOTg5LWE2YjktNGJiZS04MDNiLTQzZWYxNzliYzQwNnh3DmNvcmUvbGlzdC1pdGVtdyQwY2ZlNDA1Ni0xZWFlLTQ1OWEtYjhhYy0xYmRiMWNmNDIwZTl4dw5jb3JlL2xpc3QtaXRlbXckNDVjNTA0N2ItYWUzZi00MjVkLWI4NGEtMzdlMjYzYzQwZGMyeHcOY29yZS9saXN0LWl0ZW13JGE5MjI5ZDBlLTBhNDAtNDFiZi04NGQ1LTQ5ZGFiYTcwOWVhNHh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyRkMjVmZGY3NS1hN2EyLTQ1NWQtOWEzOS00YmNjNGEwMzg4MzJ4dwxjb3JlL2hlYWRpbmd9A3ckODI0ODFkY2QtNjc2Ny00NDBhLTgxYmUtZWM3MTRhOTg5MWZmeHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JGI2YjhhN2Y1LTBjMGUtNDE5MS1hNDg0LTFjMTlhYjM2MTBmOXh3CWNvcmUvbGlzdHl3AHckMzEwNDIwNTYtNGZlMi00YzVmLTg2ZDktOTM2ZWYwMDQ5ZjdjeHcOY29yZS9saXN0LWl0ZW13JDYxYzlhYWFhLTVmN2ItNDNmYi04OWJmLWM4YTA3NTQ5MTk4Mnh3DmNvcmUvbGlzdC1pdGVtdyRkZjQyNzJjMS05M2M0LTRhZmItYWVhMC1mMjgxMmQ5MzIwZTJ4dw5jb3JlL2xpc3QtaXRlbXckNmE3Y2U3NjUtNTAwZi00ODQwLTllNmEtOGY4YjE3NmU4OTRleHcOY29yZS9saXN0LWl0ZW13JGRhY2QzMmY1LTBlMjctNGM0Mi1iYjVlLWI1MmEzNDVlODI0MHh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyRlNWJmOGIzNi03ODRhLTRhMTktYjMzNy1jMmViMjJiZTM5MWF4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckMzRlNmQ3YWQtOGJjZi00Y2M5LTkzYjAtYTQ3NDAzNmYzYmYyeHcMY29yZS9oZWFkaW5nfQJ3JDIwM2VjN2FmLTUzNzYtNDc2OS05YjU2LTQ4ZjFlOTE2MTNlMHh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQ5MjQzNDkxNS0wNDYyLTQ0Y2QtODY5ZC03ZDgzOTRiYTg3N2J4dwxjb3JlL2hlYWRpbmd9A3ckN2E4NjZjODUtZDMwMC00MjE3LWI5OTgtYjFhZjhhNjQ0YmM4eHcJY29yZS9saXN0eXcAdyQ4ZjAzMzc3ZS1mYjVmLTRlNDEtODM3ZS0wMmU3ODQwMmIwNzd4dw5jb3JlL2xpc3QtaXRlbXckMzIxY2MxZDctZjkzNC00NTc2LWI0NzItZmNmODkyMzY5NDlmeHcOY29yZS9saXN0LWl0ZW13JGEwNzM2YmM5LWE4MzQtNGYxZS05MGYzLWEzNTU0ZjU2N2IxZXh3DmNvcmUvbGlzdC1pdGVtdyRmMGM5ZWUxOC1hNDZmLTQ1ZjAtOTcyNi1jZDI4YWVjNzFmZjl4dwxjb3JlL2hlYWRpbmd9A3ckODNjNTAzOWQtNDllMy00Y2QyLTg2MGMtMGQwYjQ1MTE3ODUxeHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JDdjNjdlYTRjLWFhNDgtNGZkNy04Nzg3LTg1YjY5ZjE5ZGVlN3h3CWNvcmUvbGlzdHl3AHckMWUyZjBlMTItNWYyOS00OWI0LWJhNmYtNmZhOWM0ZWFkZDlheHcOY29yZS9saXN0LWl0ZW13JDliNmQ2MDVmLTAxYzAtNDAwMi05M2FiLWE3NzgwYjllMDMzMXh3DmNvcmUvbGlzdC1pdGVtdyQzNzJmNGI5NC0yZWQ3LTRjMTQtYjAxZi00ZjBjYmFjMGMyZDF4dw5jb3JlL2xpc3QtaXRlbXckMGZlOTkwNGMtMDhmMS00MTFhLTkyZTktYWUzMTIzZjllMGEzeHcMY29yZS9oZWFkaW5nfQN3JGJkYWJlNDE3LTI1NTQtNDhmMi05MTI0LTNiODg0ZTlmZmE4Znh3CWNvcmUvbGlzdHl3AHckMGQwNjFmNmQtZDliYi00ZmJjLWFiOGEtOGYzODE2N2QzNTVkeHcOY29yZS9saXN0LWl0ZW13JDdlNzYzYzgxLTU1YmUtNGI2My1iYjM2LTEyMWYyOTlmY2Y2Y3h3DmNvcmUvbGlzdC1pdGVtdyQxNzRmZDQ3OS00NmRmLTQ5YjEtYTZlZS0zNjM1OTFiMzdjZmN4dw5jb3JlL2xpc3QtaXRlbXckMWEyNWIyMTktZDNhMy00OWJlLWIzM2QtODBlNjdkN2UyZTJkeHcMY29yZS9oZWFkaW5nfQN3JGI1M2Q5YmU1LTc4ZmQtNGE3NC05NGEzLTk5ZDA0MzU5ZDU0ZXh3CWNvcmUvbGlzdHl3AHckYjMwMjM1Y2QtOTBiNS00YzE3LWFiZDQtYTg1N2JmNTg3NDI2eHcOY29yZS9saXN0LWl0ZW13JGFlZDYxN2I4LWEyZjktNDg4OS1iYTUyLTljNDk0MTUwMDhlZXh3DmNvcmUvbGlzdC1pdGVtdyRiOGIyYjZlMi1mMmY4LTQwNjUtOGMxOC1iNDQwYjU4ZmFiZTN4dw5jb3JlL2xpc3QtaXRlbXckMGQ0ZWFmYjItOTQwMy00NzQwLWJiMGMtNGMwZmI1OWMzY2RheHcMY29yZS9oZWFkaW5nfQN3JDY3MTU5NGI1LWRkNDMtNGE0Ny05MWJjLWMyNDVmYzNmN2ZlMHh3CWNvcmUvbGlzdHl3AHckM2M2MDUyNTMtYWU3ZS00YzU4LTliNTEtMzhmOWFlYWQ0MWQ5eHcOY29yZS9saXN0LWl0ZW13JDZkZDZiNzQxLTRjZGItNDY4NS05MjYzLWY1MDQ5NWQ1MjEwNXh3DmNvcmUvbGlzdC1pdGVtdyRlOGUyYzFlYS0zZTMxLTQ5OTUtYjA0MC0zNmFiMjIxZTRlYWR4dw5jb3JlL2xpc3QtaXRlbXckMmY0MjBhYTgtMmYzNC00ZTE0LWFkZGEtNDg4ZTc0NTNhZjQ5eHcOY29yZS9saXN0LWl0ZW13JDFhMDRjZGFhLTYxZjItNGU1MC1hOWRlLWY5NzZjNDc2NTc2OHh3DmNvcmUvbGlzdC1pdGVtdyQyNjBjYjY3Zi05NDZlLTRjMTgtOWFiNy1kNjg4YzgzOWJjZGV4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckMzNhYTZjODQtNWVjMS00ZWI4LTlmZTYtYzdlZjc3ZTU1OTVieHcMY29yZS9oZWFkaW5nfQJ3JDZjNTA2N2ZmLWFiZmItNDNhNS1hZjA5LWFhZDAyMjI2MjUyOHh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQ0MWQ4MmQyZC1lNzQzLTQ2ODktOWQ5My04ZmMzOWMwMDMwZDN4dwxjb3JlL2hlYWRpbmd9A3ckOTRhODhjYjktNzQzNi00M2MwLTgxYmYtODZmMjIwMTRlZTE4eHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JDBmZjVkY2VjLWEwYzYtNDk3Ny05YmU2LWQ0OGNmOGMwMWMzZnh3CWNvcmUvbGlzdHl3AHckYzRhYThhOWYtNmU3Mi00YWQ4LWI3NzEtYjgwMGE1OWNkM2ExeHcOY29yZS9saXN0LWl0ZW13JGRkMzQ1NDJlLTU2MzAtNGQzYi04YWU1LTk0YTk0NGNjZjkxNnh3DmNvcmUvbGlzdC1pdGVtdyQ5ZjJmOGE3My0zZTgyLTRiYTEtODMzZi00ZDU3MTQxNzI0MWJ4dw5jb3JlL2xpc3QtaXRlbXckMzRmYmQ4MmYtNzZmMS00MjQyLWJiMjAtM2VjYmNlNTMzNDc4eHcOY29yZS9saXN0LWl0ZW13JGQxMTRiZmFhLWYwM2UtNGM5MC1iYjg0LWE3ZGM2ZDkwYmEzMXh3DmNvcmUvbGlzdC1pdGVtdyQwMDE5YmYzMC0zZDY4LTQ2ODYtODM5NC1iODg5ZTQ0OGJiMzd4dw5jb3JlL2xpc3QtaXRlbXckN2U1ODdmMWUtNjVlNC00M2JhLTg5MmQtOGFhMGUyNjA5MTU1eHcOY29yZS9saXN0LWl0ZW13JGUzMTg1MWMwLTAzMmEtNDRjMS1iYTdiLTcxM2U1OGViYTliMnh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyRkODlhZWQ0Ny0wN2MyLTQ2OGYtOWI2Ni0yMjk1OTYwM2YxZDZ4dwxjb3JlL2hlYWRpbmd9A3ckMjhhYTA2ZjMtM2ZlOC00NWVkLTgzYjctYzUxYzM0ZDQwZDA1eHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JDU1ZjYxMzc2LWU3ZWQtNDYwNS1iMGZhLTBjNDAzYjIzNGU1Y3h3CWNvcmUvbGlzdHl3AHckNDRiNDc1OTYtMDk4ZS00MWVjLWEzYTMtYmEwODdkZjIyYjNheHcOY29yZS9saXN0LWl0ZW13JDk0MzMyMjJlLTNiMWMtNGFkNy04NTJjLTg0ODE2ZTZhNzExY3h3DmNvcmUvbGlzdC1pdGVtdyRhZjBiNzY2ZS1mNDUwLTRmOWUtOWM2NC04N2ZhNzY5NDViYmZ4dw5jb3JlL2xpc3QtaXRlbXckYzJiZGEzYWEtNDc0MC00MzE0LWJlNmEtZDNlMDI2OThjZTE3eHcOY29yZS9saXN0LWl0ZW13JGYzYzU4ZGEyLTk2MDctNDQ2Yi05Mjc0LWQ3MGM4ZDU4MjBlMnh3DmNvcmUvbGlzdC1pdGVtdyRiZGFkMDFjYS1hZjk4LTQ3MjctOTg4MS1hZTViZWEwODVkYmF4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckMjBkNzFjOTYtN2EzMC00M2RiLWE5YjAtYjkwMDk2NTNiY2FkeHcMY29yZS9oZWFkaW5nfQN3JGVmNzJjN2Q1LTE0MzktNGNjMy04MDViLWE0MzNhNTFmODhkM3h3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyRmNGExZDIwMC03Yzc0LTQ1ZDItYjQ4NS0xOWU4NzNmOTJkZDd4dwljb3JlL2xpc3R5dwB3JGQ0NWRlNzE0LTE2NGQtNGVlOC1hNTM2LWY1YmVjNjRjMGZjYnh3DmNvcmUvbGlzdC1pdGVtdyRlMGYyMzhjZi02ZmVhLTRjNDctYTlhZi04NDJmZjMwZGEyOTh4dw5jb3JlL2xpc3QtaXRlbXckMzEzMDg1MTAtMDgxYy00YzJiLTg3ZTMtNWE5NDI1YmRhZjYweHcOY29yZS9saXN0LWl0ZW13JGJhMDBjNzJiLTdmZTMtNDNlZS1hMTcxLWFhZjNjZGM4ODhlNXh3DmNvcmUvbGlzdC1pdGVtdyRkYjAwMWQ2OC02MWI4LTQzYTctYTg3Zi0yZTZhOTFmNjczODZ4dw5jb3JlL2xpc3QtaXRlbXckMWY4YjE3NDYtZjg0NC00ZDZjLTkyMWYtZTFjMDJmZDEzNTc4eHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JDllNjM4YjBjLTQ2ODctNGMyNy1hZjkzLWY4M2FmMjkzOTk3NHh3DGNvcmUvaGVhZGluZ30DdyRmNmU3NjgyYi1lMDU3LTQ5ZjMtYTZjNi00MTg1MDZiNzU1MmV4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNjZlYWM3NGItMGJhYS00ZGM3LThiMjEtNmE0NGUyZjIzZTA0eHcJY29yZS9saXN0eXcAdyRhYThjNDFhNS1iMTJlLTQwNjUtYjVkNi1mMTU0YzFlMDYzM2V4dw5jb3JlL2xpc3QtaXRlbXckZjdlMTgxZTEtOGQyNy00Y2NkLWE0N2MtYTBiZGQ3NzI4MmZjeHcOY29yZS9saXN0LWl0ZW13JGExZTgwOWJkLTczZmItNDI3ZS04NGE0LTgzOWFjYWI4ZTk5OHh3DmNvcmUvbGlzdC1pdGVtdyQ5NmM2ZWE2Ni02MGZiLTQ1YjMtYjJmYS1kMDY3ZDM5Njk0YWZ4dw5jb3JlL2xpc3QtaXRlbXckMGM4NzE0ZTUtOThlOC00Y2E5LTg3ZmYtNTQ3NWE5OTAyMWFleHcOY29yZS9saXN0LWl0ZW13JGZlN2QxN2ExLTEyMmEtNDViMC04ODNlLTY5YTg1ZTcwYTY0MXh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQxN2M2MGRiOC04ZDFlLTQ5ZmMtODVmOC0yNzA1YWZjNDI3MDR4dwxjb3JlL2hlYWRpbmd9A3ckZjI3ZDJlNDMtYjBhMi00MThjLWIzNzktMTFiNGMzYzRhZTYzeHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JDM2OTUzY2QzLTUxYTctNGMxZi05MmJlLThkZDg4NzRlMjVjZHh3CWNvcmUvbGlzdHl3AHckMDQxM2JiZGQtYjZmYy00OTU0LWIzNTctY2E3ZmFlZmRjN2E0eHcOY29yZS9saXN0LWl0ZW13JGUyODRkMmNmLTQ3NDMtNDJiNC1iNjM5LWQ1YzNkNzkzYjgwOXh3DmNvcmUvbGlzdC1pdGVtdyQ1MzM2ZWU5ZC1kNjIxLTQ3MTEtYWUxOS1mMTQwYTZhNTNiMjN4dw5jb3JlL2xpc3QtaXRlbXckMGZiYWMzNmQtZGE5OC00YzRkLTk5MTYtZWNlNTc1NzQxZjgxeHcOY29yZS9saXN0LWl0ZW13JDlhZWIyZmUxLTA5YzgtNDAzNy04MmExLWZkMWQ5ZTRmMzZkN3h3DmNvcmUvbGlzdC1pdGVtdyQwYTk0NDM2Yi0zYWFjLTQwZjAtODRiMC02MjcxNjg5MzRiY2V4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckMTMzN2NiZDgtMGE2OS00ZmExLWI5Y2YtZTkyMTM2OTE3MmY2eHcMY29yZS9oZWFkaW5nfQJ3JGU1ODM3OTA4LTVmY2ItNDYzNi05MjEzLWE1ZTdlYTdkMzEzOXh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyRlNWJjODhhOC03YmE3LTRhNDEtYTAzNy04YTkyNjVhMGFiNzN4dwxjb3JlL2hlYWRpbmd9A3ckMjY2ZTM1ODktMjY0My00NzgxLWJlMDQtZDA5NTMwODM0NmU5eHcJY29yZS9saXN0eXcAdyRlODhhOWZjYi1lYzFjLTQwMmItYjkwOS02MTU4YWRhOWNiMDZ4dw5jb3JlL2xpc3QtaXRlbXckZmYyNWM1ZTQtZDY5NC00MzJiLWJiN2ItMmE1NDk0OTlmZWIzeHcOY29yZS9saXN0LWl0ZW13JDZlN2E1NzJlLWRhOGQtNGJiMS1iODMzLTBkZDMyYzkzNDRiOHh3DmNvcmUvbGlzdC1pdGVtdyQyMTAwNTgxYS05MTgyLTRiMDMtYmIzMy0zN2VhMDllNDcyYzB4dw5jb3JlL2xpc3QtaXRlbXckYTQxM2RkNmUtZjFiNC00MmIwLTlhMWEtZTkxYjhjZTkyNDk1eHcMY29yZS9oZWFkaW5nfQN3JGNiODU1ZmU3LWIwZWYtNGNmMi1hZDNlLTUyMmE3NzA3NTllYXh3CWNvcmUvbGlzdHl3AHckZTM1MGRlMWQtMWQ0NS00NTIzLTkwODktYzUyMWQ1ZDUxNjNleHcOY29yZS9saXN0LWl0ZW13JGJjOThjNTNmLWZjNWQtNDQ4ZC05NTIyLWM2ODAyNDBjOTk2Mnh3DmNvcmUvbGlzdC1pdGVtdyRkODgzZmRjOC1hNmNmLTRlMDktOTE5NS1mNDNiNTkxZGM0NGF4dw5jb3JlL2xpc3QtaXRlbXckMThhNDRlZDAtNWMyMS00YTJkLTg2ZjItZjg2NTg1OWVhYWM4eHcOY29yZS9saXN0LWl0ZW13JDlhMmI2MWRlLWYzZDctNDMzNy1hYzFlLTFkY2YyNDkyNTA2NHh3DGNvcmUvaGVhZGluZ30DdyQ4NGU2YTI1ZC1lMGQxLTQ4NzEtODA5YS1kNDUyNzUxMWRiNDN4dwljb3JlL2xpc3R5dwB3JDI5MmY1NjVkLWE3MmUtNDhlOC1iM2EzLWU3YWNmMzYxZDI0Y3h3DmNvcmUvbGlzdC1pdGVtdyQ4N2MxODYyZi04MjAxLTQxNjgtOTgxYS1kZjJiZDU0ZjcyNDl4dw5jb3JlL2xpc3QtaXRlbXckYzFkYzg5NDMtNjlkMy00NDk1LTgyYTMtNTVlYzViMjE1OGFieHcOY29yZS9saXN0LWl0ZW13JGE2YTAzM2ViLWFkYzctNDlkNi04OGIxLWQyMTlmYTRmZjNjMHh3DGNvcmUvaGVhZGluZ30DdyQ4MjRjYTVlMi0yMTBiLTQwZDUtODgyNi1mM2E2ODNmODM2ZGR4dwljb3JlL2xpc3R5dwB3JGIxMWFhYmY3LTEzN2UtNGFiZi1hZGU3LTMzMGRhN2I5YWVkYnh3DmNvcmUvbGlzdC1pdGVtdyQ1MDM2MzQzOC05Y2I3LTQ5ZWItYTExMi1mZGI1ZThiY2NlZWF4dw5jb3JlL2xpc3QtaXRlbXckZTU0NGIzY2EtY2Y2Yi00MjA2LWE2YWItNDkzYzBkOWNlMjNjeHcOY29yZS9saXN0LWl0ZW13JDRjOThkMWRiLWFiZjEtNDdkMi05NmQzLTI0MzAyZjJhYzg1Ynh3DmNvcmUvbGlzdC1pdGVtdyRiNWZiMDY5OC01ZmM0LTRhZWEtOWY1OS1mYmVhYzdhOGY4ZTV4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckODNjYzU0MGMtODgxMi00MTYzLWFlOWMtZjM3MTRiNGZkNmE5eHcMY29yZS9oZWFkaW5nfQJ3JDZkMzJjODc0LTZlMDQtNDllNi04MTJiLTIzYmU4YmI0ZDAzZHh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQ0MzI4OTRlMS1iMThkLTRiYmUtODVmNy1lYTBjM2E4Yzc4NWJ4dwxjb3JlL2hlYWRpbmd9A3ckNWIzZjcxNmUtY2I5MS00Y2RiLWFkMzUtODNjNWE4ZTlhZDAweHcJY29yZS9saXN0eXcAdyQ4NGY5MmVkOS1lN2MxLTQwYWQtYTY4YS04NjFkMTFkM2UwZTJ4dw5jb3JlL2xpc3QtaXRlbXckODI0YTY1ODUtYTNhZC00NTdiLTk2OTgtMmIwYzg2NzRlOWY1eHcOY29yZS9saXN0LWl0ZW13JDFkNzVkMWJiLWY1NmYtNGMwNi05ZjkxLWMwYWUwZmEwYTU3N3h3DmNvcmUvbGlzdC1pdGVtdyRmN2Y1ODdhZS1hZTJjLTQ2NTItOGRmMS03ZDVlYTUwNGQ3MWJ4dwxjb3JlL2hlYWRpbmd9A3ckYmNlYjI3NDAtNGNhNS00ZjEyLTkxMDYtYjRhYzYyMTJmNmEweHcJY29yZS9saXN0eXcAdyRlN2E1YWNjOS1mNmVkLTQ5YTYtOTA0ZS0xY2U5OWQ1NzUzYzB4dw5jb3JlL2xpc3QtaXRlbXckOTRmM2RkOTItNjZmMS00YTg1LWFjYjItZWIzMzZhZTc5YWRleHcOY29yZS9saXN0LWl0ZW13JDRiMWRhMWNkLWUxYTYtNDhlMC05MDg4LWYwN2VkMTBiMzNjOXh3DmNvcmUvbGlzdC1pdGVtdyRiMWMzOWU1Ni1lMjc5LTRjMDktOGFjZi1lMzQ2ZjI0NWE4MWZ4dw5jb3JlL2xpc3QtaXRlbXckYzA1NTIzZmUtYTZmYi00ZGRhLThkNjYtNzM2MGJhOTFiYmU1eHcOY29yZS9saXN0LWl0ZW13JGYwZmRjNzA4LWIwZWUtNGJhNS1hNzNlLTJjNGNmNDI2NzViNXh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyRmM2E1OTMxZS03YmJkLTQ5NjctODM5My05ZmY0ZmQyNjQ0NzR4dwxjb3JlL2hlYWRpbmd9A3ckYWFiZGZiYWYtY2QwYy00NDEwLTkxYjItZjI0ZjhlNDc0OTQ2eHcJY29yZS9saXN0eXcAdyQyYTdiMDcwZC0zOWRlLTQ5MWUtYjc5ZC1iYmJjNzMxYTk0NGJ4dw5jb3JlL2xpc3QtaXRlbXckMDFjY2M3NGMtYzIzMC00MTczLWEwNzYtY2ZhNGViZDg4MmZjeHcOY29yZS9saXN0LWl0ZW13JDJmNzM0OWNkLTk0YjgtNGVmMi1hZjRlLTA3NmFjMGJlMjc3N3h3DmNvcmUvbGlzdC1pdGVtdyRiYzZlNzdkNC1jNzgxLTQ4MzktOTFlMS04ZTNmZmVkYmE2YTd4dw5jb3JlL2xpc3QtaXRlbXckZGIwNWJiZjYtZjAyNC00N2JkLTlmMGYtMjNmZjYzY2NjNzUyeHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JGJiYjA1OWZlLTVjZmEtNGMwOC1hM2I0LTFiMzViMDljNzA2YXh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQ1NGNkZmM5Mi1jZjZkLTRkZGItOWUyZi02MzA4YzBlN2U3M2R3CmNvcmUvaW1hZ2V3AH2TqQR3Mmh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nLz9hdHRhY2htZW50X2lkPTM1NDExd2hodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvcGVyc29uLXByYWN0aWNpbmctYmF0Y2gtY29va2luZy13aXRoLWhlYWx0aHktZm9vZC0zLmpwZ3cEZnVsbHcEbm9uZXdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdld2hodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvcGVyc29uLXByYWN0aWNpbmctYmF0Y2gtY29va2luZy13aXRoLWhlYWx0aHktZm9vZC0zLmpwZ3cEZnVsbHdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrdyQ1NGNkZmM5Mi1jZjZkLTRkZGItOWUyZi02MzA4YzBlN2U3M2R3CmNvcmUvaW1hZ2V3NFdpdGggYmF0Y2ggY29va2luZywgb3JnYW5pemUgeW91ciBtZWFscyBmb3IgdGhlIHdlZWt9k6kEdzJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy8\/YXR0YWNobWVudF9pZD0zNTQxMXdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdldwRub25ldyRiNWZiMDY5OC01ZmM0LTRhZWEtOWY1OS1mYmVhYzdhOGY4ZTV3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQ1NGNkZmM5Mi1jZjZkLTRkZGItOWUyZi02MzA4YzBlN2U3M2R3CmNvcmUvaW1hZ2V3NFdpdGggYmF0Y2ggY29va2luZywgb3JnYW5pemUgeW91ciBtZWFscyBmb3IgdGhlIHdlZWt9k6kEdzJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy8\/YXR0YWNobWVudF9pZD0zNTQxMXdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdldwRub25ldyQ4MjRjYTVlMi0yMTBiLTQwZDUtODgyNi1mM2E2ODNmODM2ZGR3CWNvcmUvbGlzdHl3AHckYjExYWFiZjctMTM3ZS00YWJmLWFkZTctMzMwZGE3YjlhZWRieHcOY29yZS9saXN0LWl0ZW13JDUwMzYzNDM4LTljYjctNDllYi1hMTEyLWZkYjVlOGJjY2VlYXh3DmNvcmUvbGlzdC1pdGVtdyRlNTQ0YjNjYS1jZjZiLTQyMDYtYTZhYi00OTNjMGQ5Y2UyM2N4dw5jb3JlL2xpc3QtaXRlbXckNGM5OGQxZGItYWJmMS00N2QyLTk2ZDMtMjQzMDJmMmFjODVieHcOY29yZS9saXN0LWl0ZW13JDU0Y2RmYzkyLWNmNmQtNGRkYi05ZTJmLTYzMDhjMGU3ZTczZHcKY29yZS9pbWFnZXc0V2l0aCBiYXRjaCBjb29raW5nLCBvcmdhbml6ZSB5b3VyIG1lYWxzIGZvciB0aGUgd2Vla32TqQR3Mmh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nLz9hdHRhY2htZW50X2lkPTM1NDExd3FodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvcGVyc29uLXByYWN0aWNpbmctYmF0Y2gtY29va2luZy13aXRoLWhlYWx0aHktZm9vZC0zLTEwMjR4NjgzLmpwZ3cFbGFyZ2V3BG5vbmV3JGE2YTAzM2ViLWFkYzctNDlkNi04OGIxLWQyMTlmYTRmZjNjMHcMY29yZS9oZWFkaW5nfQN3JDU0Y2RmYzkyLWNmNmQtNGRkYi05ZTJmLTYzMDhjMGU3ZTczZHcKY29yZS9pbWFnZXc0V2l0aCBiYXRjaCBjb29raW5nLCBvcmdhbml6ZSB5b3VyIG1lYWxzIGZvciB0aGUgd2Vla32TqQR3Mmh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nLz9hdHRhY2htZW50X2lkPTM1NDExd3FodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvcGVyc29uLXByYWN0aWNpbmctYmF0Y2gtY29va2luZy13aXRoLWhlYWx0aHktZm9vZC0zLTEwMjR4NjgzLmpwZ3cFbGFyZ2V3BG5vbmV3JDg0ZTZhMjVkLWUwZDEtNDg3MS04MDlhLWQ0NTI3NTExZGI0M3cJY29yZS9saXN0eXcAdyQyOTJmNTY1ZC1hNzJlLTQ4ZTgtYjNhMy1lN2FjZjM2MWQyNGN4dw5jb3JlL2xpc3QtaXRlbXckODdjMTg2MmYtODIwMS00MTY4LTk4MWEtZGYyYmQ1NGY3MjQ5eHcOY29yZS9saXN0LWl0ZW13JGMxZGM4OTQzLTY5ZDMtNDQ5NS04MmEzLTU1ZWM1YjIxNThhYnh3DmNvcmUvbGlzdC1pdGVtdyQ1NGNkZmM5Mi1jZjZkLTRkZGItOWUyZi02MzA4YzBlN2U3M2R3CmNvcmUvaW1hZ2V3NFdpdGggYmF0Y2ggY29va2luZywgb3JnYW5pemUgeW91ciBtZWFscyBmb3IgdGhlIHdlZWt9k6kEdzJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy8\/YXR0YWNobWVudF9pZD0zNTQxMXdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdldwRub25ldyQ5YTJiNjFkZS1mM2Q3LTQzMzctYWMxZS0xZGNmMjQ5MjUwNjR3DGNvcmUvaGVhZGluZ30DdyQ1NGNkZmM5Mi1jZjZkLTRkZGItOWUyZi02MzA4YzBlN2U3M2R3CmNvcmUvaW1hZ2V3NFdpdGggYmF0Y2ggY29va2luZywgb3JnYW5pemUgeW91ciBtZWFscyBmb3IgdGhlIHdlZWt9k6kEdzJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy8\/YXR0YWNobWVudF9pZD0zNTQxMXdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdldwRub25ldyRjYjg1NWZlNy1iMGVmLTRjZjItYWQzZS01MjJhNzcwNzU5ZWF3CWNvcmUvbGlzdHl3AHckZTM1MGRlMWQtMWQ0NS00NTIzLTkwODktYzUyMWQ1ZDUxNjNleHcOY29yZS9saXN0LWl0ZW13JGJjOThjNTNmLWZjNWQtNDQ4ZC05NTIyLWM2ODAyNDBjOTk2Mnh3DmNvcmUvbGlzdC1pdGVtdyRkODgzZmRjOC1hNmNmLTRlMDktOTE5NS1mNDNiNTkxZGM0NGF4dw5jb3JlL2xpc3QtaXRlbXckMThhNDRlZDAtNWMyMS00YTJkLTg2ZjItZjg2NTg1OWVhYWM4eHcOY29yZS9saXN0LWl0ZW13JDU0Y2RmYzkyLWNmNmQtNGRkYi05ZTJmLTYzMDhjMGU3ZTczZHcKY29yZS9pbWFnZXc0V2l0aCBiYXRjaCBjb29raW5nLCBvcmdhbml6ZSB5b3VyIG1lYWxzIGZvciB0aGUgd2Vla32TqQR3Mmh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nLz9hdHRhY2htZW50X2lkPTM1NDExd3FodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvcGVyc29uLXByYWN0aWNpbmctYmF0Y2gtY29va2luZy13aXRoLWhlYWx0aHktZm9vZC0zLTEwMjR4NjgzLmpwZ3cFbGFyZ2V3BG5vbmV3JGE0MTNkZDZlLWYxYjQtNDJiMC05YTFhLWU5MWI4Y2U5MjQ5NXcMY29yZS9oZWFkaW5nfQN3JDU0Y2RmYzkyLWNmNmQtNGRkYi05ZTJmLTYzMDhjMGU3ZTczZHcKY29yZS9pbWFnZXc0V2l0aCBiYXRjaCBjb29raW5nLCBvcmdhbml6ZSB5b3VyIG1lYWxzIGZvciB0aGUgd2Vla32TqQR3Mmh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nLz9hdHRhY2htZW50X2lkPTM1NDExd3FodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvcGVyc29uLXByYWN0aWNpbmctYmF0Y2gtY29va2luZy13aXRoLWhlYWx0aHktZm9vZC0zLTEwMjR4NjgzLmpwZ3cFbGFyZ2V3BG5vbmV3JDI2NmUzNTg5LTI2NDMtNDc4MS1iZTA0LWQwOTUzMDgzNDZlOXcJY29yZS9saXN0eXcAdyRlODhhOWZjYi1lYzFjLTQwMmItYjkwOS02MTU4YWRhOWNiMDZ4dw5jb3JlL2xpc3QtaXRlbXckZmYyNWM1ZTQtZDY5NC00MzJiLWJiN2ItMmE1NDk0OTlmZWIzeHcOY29yZS9saXN0LWl0ZW13JDZlN2E1NzJlLWRhOGQtNGJiMS1iODMzLTBkZDMyYzkzNDRiOHh3DmNvcmUvbGlzdC1pdGVtdyQyMTAwNTgxYS05MTgyLTRiMDMtYmIzMy0zN2VhMDllNDcyYzB4dw5jb3JlL2xpc3QtaXRlbXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckZTViYzg4YTgtN2JhNy00YTQxLWEwMzctOGE5MjY1YTBhYjczdwxjb3JlL2hlYWRpbmd9A3ckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckZTU4Mzc5MDgtNWZjYi00NjM2LTkyMTMtYTVlN2VhN2QzMTM5dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckMTMzN2NiZDgtMGE2OS00ZmExLWI5Y2YtZTkyMTM2OTE3MmY2dwxjb3JlL2hlYWRpbmd9AnckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckMGE5NDQzNmItM2FhYy00MGYwLTg0YjAtNjI3MTY4OTM0YmNldw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckMzY5NTNjZDMtNTFhNy00YzFmLTkyYmUtOGRkODg3NGUyNWNkdwljb3JlL2xpc3R5dwB3JDA0MTNiYmRkLWI2ZmMtNDk1NC1iMzU3LWNhN2ZhZWZkYzdhNHh3DmNvcmUvbGlzdC1pdGVtdyRlMjg0ZDJjZi00NzQzLTQyYjQtYjYzOS1kNWMzZDc5M2I4MDl4dw5jb3JlL2xpc3QtaXRlbXckNTMzNmVlOWQtZDYyMS00NzExLWFlMTktZjE0MGE2YTUzYjIzeHcOY29yZS9saXN0LWl0ZW13JDBmYmFjMzZkLWRhOTgtNGM0ZC05OTE2LWVjZTU3NTc0MWY4MXh3DmNvcmUvbGlzdC1pdGVtdyQ5YWViMmZlMS0wOWM4LTQwMzctODJhMS1mZDFkOWU0ZjM2ZDd4dw5jb3JlL2xpc3QtaXRlbXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckZjI3ZDJlNDMtYjBhMi00MThjLWIzNzktMTFiNGMzYzRhZTYzdw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckMTdjNjBkYjgtOGQxZS00OWZjLTg1ZjgtMjcwNWFmYzQyNzA0dwxjb3JlL2hlYWRpbmd9A3ckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckZmU3ZDE3YTEtMTIyYS00NWIwLTg4M2UtNjlhODVlNzBhNjQxdw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckNjZlYWM3NGItMGJhYS00ZGM3LThiMjEtNmE0NGUyZjIzZTA0dwljb3JlL2xpc3R5dwB3JGFhOGM0MWE1LWIxMmUtNDA2NS1iNWQ2LWYxNTRjMWUwNjMzZXh3DmNvcmUvbGlzdC1pdGVtdyRmN2UxODFlMS04ZDI3LTRjY2QtYTQ3Yy1hMGJkZDc3MjgyZmN4dw5jb3JlL2xpc3QtaXRlbXckYTFlODA5YmQtNzNmYi00MjdlLTg0YTQtODM5YWNhYjhlOTk4eHcOY29yZS9saXN0LWl0ZW13JDk2YzZlYTY2LTYwZmItNDViMy1iMmZhLWQwNjdkMzk2OTRhZnh3DmNvcmUvbGlzdC1pdGVtdyQwYzg3MTRlNS05OGU4LTRjYTktODdmZi01NDc1YTk5MDIxYWV4dw5jb3JlL2xpc3QtaXRlbXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckZjZlNzY4MmItZTA1Ny00OWYzLWE2YzYtNDE4NTA2Yjc1NTJldw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckOWU2MzhiMGMtNDY4Ny00YzI3LWFmOTMtZjgzYWYyOTM5OTc0dwxjb3JlL2hlYWRpbmd9A3ckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckMWY4YjE3NDYtZjg0NC00ZDZjLTkyMWYtZTFjMDJmZDEzNTc4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckZjRhMWQyMDAtN2M3NC00NWQyLWI0ODUtMTllODczZjkyZGQ3dwljb3JlL2xpc3R5dwB3JGQ0NWRlNzE0LTE2NGQtNGVlOC1hNTM2LWY1YmVjNjRjMGZjYnh3DmNvcmUvbGlzdC1pdGVtdyRlMGYyMzhjZi02ZmVhLTRjNDctYTlhZi04NDJmZjMwZGEyOTh4dw5jb3JlL2xpc3QtaXRlbXckMzEzMDg1MTAtMDgxYy00YzJiLTg3ZTMtNWE5NDI1YmRhZjYweHcOY29yZS9saXN0LWl0ZW13JGJhMDBjNzJiLTdmZTMtNDNlZS1hMTcxLWFhZjNjZGM4ODhlNXh3DmNvcmUvbGlzdC1pdGVtdyRkYjAwMWQ2OC02MWI4LTQzYTctYTg3Zi0yZTZhOTFmNjczODZ4dw5jb3JlL2xpc3QtaXRlbXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckZWY3MmM3ZDUtMTQzOS00Y2MzLTgwNWItYTQzM2E1MWY4OGQzdw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckMjBkNzFjOTYtN2EzMC00M2RiLWE5YjAtYjkwMDk2NTNiY2Fkdwxjb3JlL2hlYWRpbmd9A3ckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckYmRhZDAxY2EtYWY5OC00NzI3LTk4ODEtYWU1YmVhMDg1ZGJhdw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckNTVmNjEzNzYtZTdlZC00NjA1LWIwZmEtMGM0MDNiMjM0ZTVjdwljb3JlL2xpc3R5dwB3JDQ0YjQ3NTk2LTA5OGUtNDFlYy1hM2EzLWJhMDg3ZGYyMmIzYXh3DmNvcmUvbGlzdC1pdGVtdyQ5NDMzMjIyZS0zYjFjLTRhZDctODUyYy04NDgxNmU2YTcxMWN4dw5jb3JlL2xpc3QtaXRlbXckYWYwYjc2NmUtZjQ1MC00ZjllLTljNjQtODdmYTc2OTQ1YmJmeHcOY29yZS9saXN0LWl0ZW13JGMyYmRhM2FhLTQ3NDAtNDMxNC1iZTZhLWQzZTAyNjk4Y2UxN3h3DmNvcmUvbGlzdC1pdGVtdyRmM2M1OGRhMi05NjA3LTQ0NmItOTI3NC1kNzBjOGQ1ODIwZTJ4dw5jb3JlL2xpc3QtaXRlbXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckMjhhYTA2ZjMtM2ZlOC00NWVkLTgzYjctYzUxYzM0ZDQwZDA1dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckZDg5YWVkNDctMDdjMi00NjhmLTliNjYtMjI5NTk2MDNmMWQ2dwxjb3JlL2hlYWRpbmd9A3ckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckZTMxODUxYzAtMDMyYS00NGMxLWJhN2ItNzEzZTU4ZWJhOWIydw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckMGZmNWRjZWMtYTBjNi00OTc3LTliZTYtZDQ4Y2Y4YzAxYzNmdwljb3JlL2xpc3R5dwB3JGM0YWE4YTlmLTZlNzItNGFkOC1iNzcxLWI4MDBhNTljZDNhMXh3DmNvcmUvbGlzdC1pdGVtdyRkZDM0NTQyZS01NjMwLTRkM2ItOGFlNS05NGE5NDRjY2Y5MTZ4dw5jb3JlL2xpc3QtaXRlbXckOWYyZjhhNzMtM2U4Mi00YmExLTgzM2YtNGQ1NzE0MTcyNDFieHcOY29yZS9saXN0LWl0ZW13JDM0ZmJkODJmLTc2ZjEtNDI0Mi1iYjIwLTNlY2JjZTUzMzQ3OHh3DmNvcmUvbGlzdC1pdGVtdyRkMTE0YmZhYS1mMDNlLTRjOTAtYmI4NC1hN2RjNmQ5MGJhMzF4dw5jb3JlL2xpc3QtaXRlbXckMDAxOWJmMzAtM2Q2OC00Njg2LTgzOTQtYjg4OWU0NDhiYjM3eHcOY29yZS9saXN0LWl0ZW13JDdlNTg3ZjFlLTY1ZTQtNDNiYS04OTJkLThhYTBlMjYwOTE1NXh3DmNvcmUvbGlzdC1pdGVtdyQ1NGNkZmM5Mi1jZjZkLTRkZGItOWUyZi02MzA4YzBlN2U3M2R3CmNvcmUvaW1hZ2V3NFdpdGggYmF0Y2ggY29va2luZywgb3JnYW5pemUgeW91ciBtZWFscyBmb3IgdGhlIHdlZWt9k6kEdzJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy8\/YXR0YWNobWVudF9pZD0zNTQxMXdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdldwRub25ldyQ5NGE4OGNiOS03NDM2LTQzYzAtODFiZi04NmYyMjAxNGVlMTh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQ1NGNkZmM5Mi1jZjZkLTRkZGItOWUyZi02MzA4YzBlN2U3M2R3CmNvcmUvaW1hZ2V3NFdpdGggYmF0Y2ggY29va2luZywgb3JnYW5pemUgeW91ciBtZWFscyBmb3IgdGhlIHdlZWt9k6kEdzJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy8\/YXR0YWNobWVudF9pZD0zNTQxMXdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdldwRub25ldyQ0MWQ4MmQyZC1lNzQzLTQ2ODktOWQ5My04ZmMzOWMwMDMwZDN3DGNvcmUvaGVhZGluZ30DdyQ1NGNkZmM5Mi1jZjZkLTRkZGItOWUyZi02MzA4YzBlN2U3M2R3CmNvcmUvaW1hZ2V3NFdpdGggYmF0Y2ggY29va2luZywgb3JnYW5pemUgeW91ciBtZWFscyBmb3IgdGhlIHdlZWt9k6kEdzJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy8\/YXR0YWNobWVudF9pZD0zNTQxMXdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdldwRub25ldyQ2YzUwNjdmZi1hYmZiLTQzYTUtYWYwOS1hYWQwMjIyNjI1Mjh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQ1NGNkZmM5Mi1jZjZkLTRkZGItOWUyZi02MzA4YzBlN2U3M2R3CmNvcmUvaW1hZ2V3NFdpdGggYmF0Y2ggY29va2luZywgb3JnYW5pemUgeW91ciBtZWFscyBmb3IgdGhlIHdlZWt9k6kEdzJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy8\/YXR0YWNobWVudF9pZD0zNTQxMXdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdldwRub25ldyQzM2FhNmM4NC01ZWMxLTRlYjgtOWZlNi1jN2VmNzdlNTU5NWJ3DGNvcmUvaGVhZGluZ30CdyQ1NGNkZmM5Mi1jZjZkLTRkZGItOWUyZi02MzA4YzBlN2U3M2R3CmNvcmUvaW1hZ2V3NFdpdGggYmF0Y2ggY29va2luZywgb3JnYW5pemUgeW91ciBtZWFscyBmb3IgdGhlIHdlZWt9k6kEdzJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy8\/YXR0YWNobWVudF9pZD0zNTQxMXdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdldwRub25ldyQyNjBjYjY3Zi05NDZlLTRjMTgtOWFiNy1kNjg4YzgzOWJjZGV3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQ1NGNkZmM5Mi1jZjZkLTRkZGItOWUyZi02MzA4YzBlN2U3M2R3CmNvcmUvaW1hZ2V3NFdpdGggYmF0Y2ggY29va2luZywgb3JnYW5pemUgeW91ciBtZWFscyBmb3IgdGhlIHdlZWt9k6kEdzJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy8\/YXR0YWNobWVudF9pZD0zNTQxMXdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdldwRub25ldyQ2NzE1OTRiNS1kZDQzLTRhNDctOTFiYy1jMjQ1ZmMzZjdmZTB3CWNvcmUvbGlzdHl3AHckM2M2MDUyNTMtYWU3ZS00YzU4LTliNTEtMzhmOWFlYWQ0MWQ5eHcOY29yZS9saXN0LWl0ZW13JDZkZDZiNzQxLTRjZGItNDY4NS05MjYzLWY1MDQ5NWQ1MjEwNXh3DmNvcmUvbGlzdC1pdGVtdyRlOGUyYzFlYS0zZTMxLTQ5OTUtYjA0MC0zNmFiMjIxZTRlYWR4dw5jb3JlL2xpc3QtaXRlbXckMmY0MjBhYTgtMmYzNC00ZTE0LWFkZGEtNDg4ZTc0NTNhZjQ5eHcOY29yZS9saXN0LWl0ZW13JDFhMDRjZGFhLTYxZjItNGU1MC1hOWRlLWY5NzZjNDc2NTc2OHh3DmNvcmUvbGlzdC1pdGVtdyQ1NGNkZmM5Mi1jZjZkLTRkZGItOWUyZi02MzA4YzBlN2U3M2R3CmNvcmUvaW1hZ2V3NFdpdGggYmF0Y2ggY29va2luZywgb3JnYW5pemUgeW91ciBtZWFscyBmb3IgdGhlIHdlZWt9k6kEdzJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy8\/YXR0YWNobWVudF9pZD0zNTQxMXdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdldwRub25ldyQwZDRlYWZiMi05NDAzLTQ3NDAtYmIwYy00YzBmYjU5YzNjZGF3DGNvcmUvaGVhZGluZ30DdyQ1NGNkZmM5Mi1jZjZkLTRkZGItOWUyZi02MzA4YzBlN2U3M2R3CmNvcmUvaW1hZ2V3NFdpdGggYmF0Y2ggY29va2luZywgb3JnYW5pemUgeW91ciBtZWFscyBmb3IgdGhlIHdlZWt9k6kEdzJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy8\/YXR0YWNobWVudF9pZD0zNTQxMXdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdldwRub25ldyRiNTNkOWJlNS03OGZkLTRhNzQtOTRhMy05OWQwNDM1OWQ1NGV3CWNvcmUvbGlzdHl3AHckYjMwMjM1Y2QtOTBiNS00YzE3LWFiZDQtYTg1N2JmNTg3NDI2eHcOY29yZS9saXN0LWl0ZW13JGFlZDYxN2I4LWEyZjktNDg4OS1iYTUyLTljNDk0MTUwMDhlZXh3DmNvcmUvbGlzdC1pdGVtdyRiOGIyYjZlMi1mMmY4LTQwNjUtOGMxOC1iNDQwYjU4ZmFiZTN4dw5jb3JlL2xpc3QtaXRlbXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckMWEyNWIyMTktZDNhMy00OWJlLWIzM2QtODBlNjdkN2UyZTJkdwxjb3JlL2hlYWRpbmd9A3ckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckYmRhYmU0MTctMjU1NC00OGYyLTkxMjQtM2I4ODRlOWZmYThmdwljb3JlL2xpc3R5dwB3JDBkMDYxZjZkLWQ5YmItNGZiYy1hYjhhLThmMzgxNjdkMzU1ZHh3DmNvcmUvbGlzdC1pdGVtdyQ3ZTc2M2M4MS01NWJlLTRiNjMtYmIzNi0xMjFmMjk5ZmNmNmN4dw5jb3JlL2xpc3QtaXRlbXckMTc0ZmQ0NzktNDZkZi00OWIxLWE2ZWUtMzYzNTkxYjM3Y2ZjeHcOY29yZS9saXN0LWl0ZW13JDU0Y2RmYzkyLWNmNmQtNGRkYi05ZTJmLTYzMDhjMGU3ZTczZHcKY29yZS9pbWFnZXc0V2l0aCBiYXRjaCBjb29raW5nLCBvcmdhbml6ZSB5b3VyIG1lYWxzIGZvciB0aGUgd2Vla32TqQR3Mmh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nLz9hdHRhY2htZW50X2lkPTM1NDExd3FodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvcGVyc29uLXByYWN0aWNpbmctYmF0Y2gtY29va2luZy13aXRoLWhlYWx0aHktZm9vZC0zLTEwMjR4NjgzLmpwZ3cFbGFyZ2V3BG5vbmV3JDBmZTk5MDRjLTA4ZjEtNDExYS05MmU5LWFlMzEyM2Y5ZTBhM3cMY29yZS9oZWFkaW5nfQN3JDU0Y2RmYzkyLWNmNmQtNGRkYi05ZTJmLTYzMDhjMGU3ZTczZHcKY29yZS9pbWFnZXc0V2l0aCBiYXRjaCBjb29raW5nLCBvcmdhbml6ZSB5b3VyIG1lYWxzIGZvciB0aGUgd2Vla32TqQR3Mmh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nLz9hdHRhY2htZW50X2lkPTM1NDExd3FodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvcGVyc29uLXByYWN0aWNpbmctYmF0Y2gtY29va2luZy13aXRoLWhlYWx0aHktZm9vZC0zLTEwMjR4NjgzLmpwZ3cFbGFyZ2V3BG5vbmV3JDdjNjdlYTRjLWFhNDgtNGZkNy04Nzg3LTg1YjY5ZjE5ZGVlN3cJY29yZS9saXN0eXcAdyQxZTJmMGUxMi01ZjI5LTQ5YjQtYmE2Zi02ZmE5YzRlYWRkOWF4dw5jb3JlL2xpc3QtaXRlbXckOWI2ZDYwNWYtMDFjMC00MDAyLTkzYWItYTc3ODBiOWUwMzMxeHcOY29yZS9saXN0LWl0ZW13JDM3MmY0Yjk0LTJlZDctNGMxNC1iMDFmLTRmMGNiYWMwYzJkMXh3DmNvcmUvbGlzdC1pdGVtdyQ1NGNkZmM5Mi1jZjZkLTRkZGItOWUyZi02MzA4YzBlN2U3M2R3CmNvcmUvaW1hZ2V3NFdpdGggYmF0Y2ggY29va2luZywgb3JnYW5pemUgeW91ciBtZWFscyBmb3IgdGhlIHdlZWt9k6kEdzJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy8\/YXR0YWNobWVudF9pZD0zNTQxMXdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdldwRub25ldyQ4M2M1MDM5ZC00OWUzLTRjZDItODYwYy0wZDBiNDUxMTc4NTF3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQ1NGNkZmM5Mi1jZjZkLTRkZGItOWUyZi02MzA4YzBlN2U3M2R3CmNvcmUvaW1hZ2V3NFdpdGggYmF0Y2ggY29va2luZywgb3JnYW5pemUgeW91ciBtZWFscyBmb3IgdGhlIHdlZWt9k6kEdzJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy8\/YXR0YWNobWVudF9pZD0zNTQxMXdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdldwRub25ldyRmMGM5ZWUxOC1hNDZmLTQ1ZjAtOTcyNi1jZDI4YWVjNzFmZjl3DGNvcmUvaGVhZGluZ30DdyQ1NGNkZmM5Mi1jZjZkLTRkZGItOWUyZi02MzA4YzBlN2U3M2R3CmNvcmUvaW1hZ2V3NFdpdGggYmF0Y2ggY29va2luZywgb3JnYW5pemUgeW91ciBtZWFscyBmb3IgdGhlIHdlZWt9k6kEdzJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy8\/YXR0YWNobWVudF9pZD0zNTQxMXdxaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL3BlcnNvbi1wcmFjdGljaW5nLWJhdGNoLWNvb2tpbmctd2l0aC1oZWFsdGh5LWZvb2QtMy0xMDI0eDY4My5qcGd3BWxhcmdldwRub25ldyQ3YTg2NmM4NS1kMzAwLTQyMTctYjk5OC1iMWFmOGE2NDRiYzh3CWNvcmUvbGlzdHl3AHckOGYwMzM3N2UtZmI1Zi00ZTQxLTgzN2UtMDJlNzg0MDJiMDc3eHcOY29yZS9saXN0LWl0ZW13JDMyMWNjMWQ3LWY5MzQtNDU3Ni1iNDcyLWZjZjg5MjM2OTQ5Znh3DmNvcmUvbGlzdC1pdGVtdyRhMDczNmJjOS1hODM0LTRmMWUtOTBmMy1hMzU1NGY1NjdiMWV4dw5jb3JlL2xpc3QtaXRlbXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckOTI0MzQ5MTUtMDQ2Mi00NGNkLTg2OWQtN2Q4Mzk0YmE4Nzdidwxjb3JlL2hlYWRpbmd9A3ckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckMjAzZWM3YWYtNTM3Ni00NzY5LTliNTYtNDhmMWU5MTYxM2Uwdw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNTRjZGZjOTItY2Y2ZC00ZGRiLTllMmYtNjMwOGMwZTdlNzNkdwpjb3JlL2ltYWdldzRXaXRoIGJhdGNoIGNvb2tpbmcsIG9yZ2FuaXplIHlvdXIgbWVhbHMgZm9yIHRoZSB3ZWVrfZOpBHcyaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvP2F0dGFjaG1lbnRfaWQ9MzU0MTF3cWh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wZXJzb24tcHJhY3RpY2luZy1iYXRjaC1jb29raW5nLXdpdGgtaGVhbHRoeS1mb29kLTMtMTAyNHg2ODMuanBndwVsYXJnZXcEbm9uZXckMzRlNmQ3YWQtOGJjZi00Y2M5LTkzYjAtYTQ3NDAzNmYzYmYydwxjb3JlL2hlYWRpbmd9AnckOWM4ZjU5ZmQtOWM1OC00MzFlLTgyOTEtMTQwYTg1ZGRhMjEwdw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXcNYmF0Y2gtY29va2luZ3cTMjAyNi0wNS0xNFQxMjozNDozMnUCfa8BfSd7QnniYNZjgAB7QevqzDIgAAB3EzIwMjYtMDUtMjBUMTI6MzQ6MzJ3EzIwMjYtMDUtMjBUMDA6MzQ6MDB3EzIwMjYtMDUtMjBUMTA6MzQ6MDB3EzIwMjYtMDUtMjBUMTA6NTc6MDB3BmZ1dHVyZQGRw9n6DdoBAQFm3JEBHwAEAAIHAWqQOAABAAEjAgABAAG9AQIAAQABLgIAAQABAQGiBAEAAQABHwIAAQABIQIAAQABAQG+AwEAAQABNAIAAQABAQH7AgEAAQABMAIAAQABAQGHAwEAAQABOwIAAQABAQGDBAEAAQABlAECAAEAASsCAAEAAX0CAAEAASUCAAEAAXcCAAEAAQEBsQQBAAEAAWUCAAEAAS4CAAEAAUUCAAEAAQEB1wEBAAEAAWACAAEAATACAAEAAUkCAAEAAQEBxwEBAAEAAWICAAEAAToCAAEAAToCAAEAAQEBygEBAAEAAVUCAAEAATgCAAEAAWQCAAEAAQEBjwIBAAEAAZUBAgABAAEpAgABAAG9AQIAAQABLQIAAQABAQHJBAEAAQABMgIAAQABAQG9AwEAAQABLQIAAQABAQG9AwEAAQABOQIAAQABAQGrAwEAAQABkgEBzRQBAAEAAQIBywGaSV3Je84ClQEIsAMIPAjCAwgwCMIDCDUIzgQIMAjAAQgsCJgBCJQCCGcIOwhYCM8BCD0IPQhlCMwBCEwIMwhjCNwBCEgIMQhoCLYECHoIKAiAAQguCJcBCIgECD4IjAMIMwiAAwg3CMMDCCQIIginBAgxCIIDA7wCgwIrggIGAIQCAQ==\",\"updateId\":238808997}","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[39,111],"tags":[],"class_list":["post-35351","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","category-sustainable-lifestyle"],"_links":{"self":[{"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/posts\/35351","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/comments?post=35351"}],"version-history":[{"count":3,"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/posts\/35351\/revisions"}],"predecessor-version":[{"id":35421,"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/posts\/35351\/revisions\/35421"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/media\/35369"}],"wp:attachment":[{"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/media?parent=35351"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/categories?post=35351"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/tags?post=35351"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}