{"data":{"id":"10.5061/dryad.xsj3tx9jt","type":"dois","attributes":{"doi":"10.5061/dryad.xsj3tx9jt","prefix":"10.5061","suffix":"dryad.xsj3tx9jt","identifiers":[],"alternateIdentifiers":[],"creators":[{"name":"Dawson, Ted","nameType":"Personal","givenName":"Ted","familyName":"Dawson","affiliation":["Johns Hopkins Medicine"],"nameIdentifiers":[{"schemeUri":"https://orcid.org","nameIdentifier":"https://orcid.org/0000-0002-6459-0893","nameIdentifierScheme":"ORCID"}]},{"name":"Karuppagounder, Senthilkumar","nameType":"Personal","givenName":"Senthilkumar","familyName":"Karuppagounder","affiliation":["Johns Hopkins Medicine"],"nameIdentifiers":[]},{"name":"Wang, Hu","nameType":"Personal","givenName":"Hu","familyName":"Wang","affiliation":["Johns Hopkins Medicine"],"nameIdentifiers":[]},{"name":"Kelly, Terence","nameType":"Personal","givenName":"Terence","familyName":"Kelly","affiliation":["Inhibikase Therapeutics (United States)"],"nameIdentifiers":[]},{"name":"Rush, Roger","nameType":"Personal","givenName":"Roger","familyName":"Rush","affiliation":["Inhibikase Therapeutics (United States)"],"nameIdentifiers":[]},{"name":"Nguyen, Richard","nameType":"Personal","givenName":"Richard","familyName":"Nguyen","affiliation":["Johns Hopkins Medicine"],"nameIdentifiers":[]},{"name":"Bisen, Shivani","nameType":"Personal","givenName":"Shivani","familyName":"Bisen","affiliation":["Johns Hopkins Medicine"],"nameIdentifiers":[]},{"name":"Yamashita, Yoko","nameType":"Personal","givenName":"Yoko","familyName":"Yamashita","affiliation":["Johns Hopkins Medicine"],"nameIdentifiers":[]},{"name":"Sloan, Nicholas","nameType":"Personal","givenName":"Nicholas","familyName":"Sloan","affiliation":["Johns Hopkins Medicine"],"nameIdentifiers":[]},{"name":"Dang, Brianna","nameType":"Personal","givenName":"Brianna","familyName":"Dang","affiliation":["Johns Hopkins Medicine"],"nameIdentifiers":[]},{"name":"Sigmon, Alexander","nameType":"Personal","givenName":"Alexander","familyName":"Sigmon","affiliation":["Johns Hopkins Medicine"],"nameIdentifiers":[]},{"name":"Lee, Hyeun Woo","nameType":"Personal","givenName":"Hyeun Woo","familyName":"Lee","affiliation":["Johns Hopkins Medicine"],"nameIdentifiers":[]},{"name":"Lee, Shirley","nameType":"Personal","givenName":"Shirley","familyName":"Lee","affiliation":["Johns Hopkins Medicine"],"nameIdentifiers":[]},{"name":"Watkins, Leslie","nameType":"Personal","givenName":"Leslie","familyName":"Watkins","affiliation":["Johns Hopkins Medicine"],"nameIdentifiers":[]},{"name":"Kim, Erica","nameType":"Personal","givenName":"Erica","familyName":"Kim","affiliation":["Johns Hopkins Medicine"],"nameIdentifiers":[]},{"name":"Brahmachari, Saurav","nameType":"Personal","givenName":"Saurav","familyName":"Brahmachari","affiliation":["Johns Hopkins Medicine"],"nameIdentifiers":[]},{"name":"Kumar, Manoj","nameType":"Personal","givenName":"Manoj","familyName":"Kumar","affiliation":["Johns Hopkins Medicine"],"nameIdentifiers":[]},{"name":"Werner, Milton","nameType":"Personal","givenName":"Milton","familyName":"Werner","affiliation":["Inhibikase Therapeutics (United States)"],"nameIdentifiers":[]},{"name":"Dawson, Valina","nameType":"Personal","givenName":"Valina","familyName":"Dawson","affiliation":["Johns Hopkins Medicine"],"nameIdentifiers":[{"schemeUri":"https://orcid.org","nameIdentifier":"https://orcid.org/0000-0002-2915-3970","nameIdentifierScheme":"ORCID"}]}],"titles":[{"title":"The c-Abl inhibitor IkT-148009 therapeutically suppresses neurodegeneration in models of heritable and sporadic Parkinson’s Disease"}],"publisher":"Dryad","container":{},"publicationYear":2022,"subjects":[{"subject":"Parkinsons disease"},{"subject":"Neuroprotection"},{"subject":"Preclinical studies"},{"subject":"c-abl inhibitor"},{"subject":"FOS: Basic medicine","schemeUri":"https://web-archive.oecd.org/2012-06-15/138575-38235147.pdf","subjectScheme":"fos"},{"subject":"FOS: Basic medicine","schemeUri":"http://www.oecd.org/science/inno/38235147.pdf","subjectScheme":"Fields of Science and Technology (FOS)"}],"contributors":[{"name":"Johns Hopkins Medicine","affiliation":[],"contributorType":"Sponsor","nameIdentifiers":[]}],"dates":[{"date":"2022-08-09T14:07:05Z","dateType":"Submitted"},{"date":"2022-08-30T00:00:00Z","dateType":"Issued"},{"date":"2022-08-30T00:00:00Z","dateType":"Available"},{"date":"2022-12-05T00:00:00Z","dateType":"Updated"}],"language":"en","types":{"ris":"DATA","bibtex":"misc","citeproc":"dataset","schemaOrg":"Dataset","resourceType":"dataset","resourceTypeGeneral":"Dataset"},"relatedIdentifiers":[{"relationType":"IsCitedBy","relatedIdentifier":"10.1126/scitranslmed.abp9352","relatedIdentifierType":"DOI"}],"relatedItems":[],"sizes":["8520974883 bytes"],"formats":[],"version":"4","rightsList":[{"rights":"Creative Commons Zero v1.0 Universal","rightsUri":"https://creativecommons.org/publicdomain/zero/1.0/legalcode","schemeUri":"https://spdx.org/licenses/","rightsIdentifier":"cc0-1.0","rightsIdentifierScheme":"SPDX"}],"descriptions":[{"description":"Parkinson’s Disease (PD) is the second most prevalent neurodegenerative\n disease of the central nervous system, with an estimated 5,000,000 cases\n worldwide. PD pathology is characterized by the accumulation of\n misfolded a-synuclein, which is thought to play a critical role in the\n etiopathogenesis of the disease. Animal models of PD suggest that\n activation of the Abelson Tyrosine Kinase, or c-Abl, plays an essential\n role in the initiation and progression of a-synuclein pathology and\n initiates processes leading to the degeneration of dopaminergic and\n non-dopaminergic neurons. Given the essential role of c-Abl in the\n disease, a proprietary c-Abl inhibitor library was developed to identify\n potent, orally bioavailable c-Abl inhibitors capable of crossing the\n blood-brain barrier based on pre-defined characteristics, leading to the\n discovery of IkT-148009. IkT-148009 is a selective, potent,\n brain-penetrant c-Abl inhibitor with a favorable toxicology profile that\n was analyzed for therapeutic potential in animal models of slowly\n progressive, a-synuclein-dependent disease. In models of both inherited\n and sporadic Parkinson’s disease in the mouse, IkT-148009 suppressed c-Abl\n activation to baseline and substantially protected neurons from\n degeneration when administered therapeutically by once daily oral gavage\n beginning four weeks after disease initiation. Recovery of normal\n behavioral function in diseased mice occurred within 8 weeks of initiating\n treatment and occurred concomitantly with a substantial reduction of\n a-synuclein pathology in the brain. These disease-modifying outcomes in\n mice suggest IkT-148009 has the potential to be a disease-modifying\n therapy in human disease.","descriptionType":"Abstract"},{"description":"\u003cstrong\u003eStudy Design\u003c/strong\u003e: The\n \u003cem\u003ein-silico\u003c/em\u003e design method known as\n RAMP\u003csup\u003eTM\u003c/sup\u003e was applied to design and develop inhibitors\n of the non-receptor Abelson tyrosine kinases c-Abl1 (c-Abl) and c-Abl2/Arg\n as described in Supplementary Materials. Three candidate molecules emerged\n from RAMP\u003csup\u003eTM\u003c/sup\u003e that were first screened in a\n modification of the pre-exposure prophylaxis MPTP model of Parkinsonism\n and subsequently compared to the commercial inhibitors nilotinib and\n dasatinib in the same model. Following the selection of one candidate\n inhibitor, IkT-148009, a model of slowly progressive inherited disease\n using the clinical mutation A53T of a-synuclein and a model of slowly\n progressive sporadic disease using pre-formed fibrils (PFFs) were utilized\n to evaluate the therapeutic activity of daily oral administration of\n IkT-148009 as a modifier of neurodegeneration, markers of\n neuroinflammation and a-synuclein pathology. The number of animals\n utilized in each sub-study described was not determined by power analysis,\n rather, was determined by minimizing the number of animals used while\n enabling measures of statistical significance as described below. Details\n of the measurements of neuroanatomy and neurological function in both\n progressive disease models are described in Supplementary\n Materials. \u003cstrong\u003eRAMP\u003csup\u003eTM\u003c/sup\u003e\n and Initial Screening of Drug Properties\u003c/strong\u003e:\n RAMP\u003csup\u003eTM\u003c/sup\u003e begins with a template molecule whose\n properties are aligned with the desired outcome. In this case, a virtual\n library was constructed in which substituted five or six-membered rings\n were attached to the anticancer agent Imatinib using SmiLib. The library\n consisted of five-and six-membered aryl and heterocycle substituents with\n and without branched aliphatic and polar substitutions ortho- or para-to\n the site of attachment. The library was designed and enumerated to capture\n all potential isomers and mono-substitution patterns. When appropriate,\n tautomers and ionized species were also included. The libraries were\n imported into PyRx minimized and prepared as Autodock ligands. Visual\n inspection of the resulting molecules was necessary to catch occasional\n compilation errors. A minimized structure of substituted template\n molecules was docked into the crystal structure of c-Abl (PDB: 1IEP) as\n the initial basis for the search space. 1IEP was prepared for Autodock\n using the tools in PyRx, to include manual editing to retain 4 water\n molecules found in the Imatinib binding site. PyRx was used as the front\n end to run Autodock Vina for the various libraries.\n  Over 2500 compound/conformation profiles were generated with\n Autodock Vina. The docked poses of the Imatinib derivatives were visually\n inspected energy-minimized and found to be consistent with the crystal\n structure as well as known Structure-Activity Relationships (SAR) around\n drugs in this class. Candidate molecules were synthesized as previously\n described and pharmacology properties were assessed. In particular, the\n kinase inhibition IC\u003csub\u003e50\u003c/sub\u003e values were measured for\n on-target enzymes of the Abelson Tyrosine Kinase family (c-Abl1,\n c-Abl2/Arg, c-Kit, PDGFRa/b) and off-target kinase inhibition was measured\n with the KinaseProfiler\u003csup\u003eTM\u003c/sup\u003e screen (Cerep Eurofins)\n at 500 nM IkT-148009. In addition, the in vitro human liver microsome\n half-life and Caco-2 permeability were measured to assess metabolic\n stability and oral absorption characteristics. Rank-ordered candidates\n were then screened for their ability to be orally absorbed with high\n bioavailability in C57Bl/6 mice, high plasma exposures and then the most\n promising candidates were analyzed in the MPTP Screening Model described\n below to assess c-Abl inhibition in mouse brain in the context of an acute\n neurotoxin. \n \u003cstrong\u003ePharmacokinetics\u003c/strong\u003e: Single dose and\n 7-day multiple dose pharmacokinetics were measured at 50, 100, and 200\n mg/kg/day in plasma and whole brain. Briefly, 9-week-old male C57Bl/6 mice\n (n=3 per timepoint) were administered IV IkT-148009 (10 mg/kg in water)\n through the tail vein or orally at 50, 100 or 200 mg/kg/day in water (5\n mL/kg). Plasma sampling was done at 0.083, 0.25, 0.5, 1, 2, 4, 8, and 24\n hr. post-dose after IV and at. 0.5, 1, 2, 4, 8, 12, and 24 hr. post-dose\n after oral. Following blood collection, the whole brain was harvested\n immediately, rinsed in cold distilled water to remove blood, and weighed.\n Each whole brain was homogenized using pre-cooled water at the ratio of\n 1:4. Dosing solutions were analyzed to measure the accuracy of drug\n delivery IV or oral. Plasma and brain concentrations were determined using\n LC/MS-MS methodology. Plasma concentration versus time data were analyzed\n by non-compartmental approaches using the Phoenix WinNonlin 6.3 software\n program. Values for clearance (CL\u003csub\u003ep\u003c/sub\u003e), volume of\n distribution (Vd\u003csub\u003ess\u003c/sub\u003e), peak plasma concentration\n (C\u003csub\u003emax\u003c/sub\u003e), the time to maximum plasma concentration\n (T\u003csub\u003emax\u003c/sub\u003e), terminal elimination half-life\n (T\u003csub\u003e½\u003c/sub\u003e), area under the time-concentration curve from\n time zero to the last time point measured\n (AUC\u003csub\u003e(0-t)\u003c/sub\u003e), area under the time-concentration curve\n from time zero to time infinity (AUC\u003csub\u003e(0-inf)\u003c/sub\u003e), mean\n residence time from time zero to the last time point measured (MRT(0-t)),\n mean residence time from time zero to time infinity\n (MRT\u003csub\u003e(0-inf)\u003c/sub\u003e), and bioavailability (%F) were\n determined. Brain concentration versus time data were also analyzed by the\n same non-compartmental approach to derive exposure parameters\n (C\u003csub\u003emax\u003c/sub\u003e, T\u003csub\u003emax\u003c/sub\u003e,\n T\u003csub\u003e½\u003c/sub\u003e, AUC\u003csub\u003e(0-t)\u003c/sub\u003e,\n AUC\u003csub\u003e(0-inf)\u003c/sub\u003e) including brain penetrance.\n \u003cstrong\u003eScreening of c-Abl inhibitor\n candidates\u003c/strong\u003e: A modification of the MPTP mouse model was used\n for screening studies of drug candidates for c-Abl target engagement in\n the brain in the context of neurodegenerative disease. Drug candidates or\n vehicle were administered orally in 8-9 week old male C57BL/6 mice for\n pretreated three days followed by MPTP\n (1-Methyl-4-phenyl-1,2,3,6-tetrahydropyridine hydrochloride, CAS #\n 23007-85-4) injections on day 4 (20mg/kg every 2 hours x 4). Twenty-four\n hours later mice were euthanized, and brain samples were collected for\n target engagement studies. Mice (n = 5 per group) were divided into\n treatment groups as follows: Control Plus Placebo, MPTP Plus Placebo, MPTP\n Plus IkT-148009 (100 mg/kg/day), MPTP Plus IkT-148032 (100 mg/kg/day) and\n MPTP Plus IkT-1427 (100 mg/kg/day). All drug treatment groups were\n co-administered Elacridar (100mg/kg) a P-glycoprotein inhibitor, to ensure\n passage across the blood-brain barrier. Selected drug\n candidates were also screened against the commercial c-Abl inhibitors\n Nilotinib and Dasatinib to evaluate any potential improvement in brain\n penetration relative to inhibitors that have limited potential to cross\n the blood-brain barrier. Mice (n = 5 per group) were divided into 5\n treatment groups: (1) Saline/placebo, (2) MPTP treatment alone, (3)\n Nilotinib (25mg/kg/day) plus with MPTP treatment, (4) Dasatinib\n (25mg/kg/day) with MPTP treatment and (5) IkT-148009 (100 mg/kg/day) +\n Elacridar (100 mg/kg) with MPTP treatment. Nilotinib and Dasatinib were\n solubilized in a vehicle containing 10% N-Methyl-2-pyrrolidone (NMP) and\n 90% polyethylene glycol 300 (PEG 300); candidate inhibitors were dissolved\n in buffered or unbuffered water as appropriate.\n \u003cstrong\u003ePre-exposure prophylaxis study of IkT-148009 in the\n MPTP mouse model\u003c/strong\u003e: Selection of IkT-148009 from the MPTP\n screening studies was followed by functional assessment of IkT-148009 in a\n pre-exposure prophylaxis MPTP model in which IkT-148009 treatment daily\n for three days preceded MPTP intra-peritoneal (i.p.) injection (20 mg/kg).\n IkT-148009 treatment resumed after the MPTP dosing day for an additional 7\n days. The mice (n = 10 per group) were divided into 4 treatment groups as\n follows: Control (Saline/Placebo), MPTP (placebo), Saline Plus IkT-148009\n (100 mg/kg/day), and IkT-148009 (100 mg/kg) before and after MPTP\n treatment (see schematic in Fig. 3a). The Saline and MPTP groups were\n pre-treated with placebo or IkT-148009 daily for 3 days by oral gavage. On\n the 4th day, the Saline and IkT-148009 groups received four i.p.\n injections of Saline. The MPTP and IkT-148009 plus MPTP groups received\n four i.p. injections of MPTP (20 mg/kg free base) at 2 hr. intervals.\n Following day 4th, Saline and MPTP groups received only vehicle for an\n additional 7 days. IkT-148009 alone and IkT-148009 plus MPTP groups\n received one week of IkT-148009 daily. Behavioral tests were performed on\n day 10. In each group, five mice were sacrificed on day 11 to collect the\n brain samples for neurochemical, biochemical. Five mice per group were\n perfused brains for immunohistochemistry studies.\n \u003cstrong\u003eConditional hA53T-α-synuclein progressive disease\n model\u003c/strong\u003e: The therapeutic effect of IkT-148009 was evaluated\n in the TetP-A53T α-synuclein mice. The treatment groups as follows: (1)\n Vehicle + WT-tTA-Placebo (n=15), (2) Vehicle + tet A53T-tTA (n=14), (3)\n IkT-148009 (100 mg/kg) + WT-tTA-Placebo (n=13), (4) IkT-148009 (100 mg/kg)\n + tet A53T-tTA (n=13), (5) IkT-148009 (50 mg/kg) + Elacridar (100 mg/kg) +\n tet A53T-tTA (n=14), and (6) IkT-148009 (100 mg/kg) + Elacridar (100\n mg/kg) + tet A53T-tTA (n=15). Oral administration (p.o.) of IkT-148009 or\n Vehicle were initiated one month after tTA virus injections and\n continuously administered for five months until mice were euthanized for\n sample collections. Amphetamine-induced stereotypic rotation was performed\n at 3 and 6 months. At 6 months, mice were sacrificed, and brains were\n removed for western blot and monoamine analysis. For TH-stereology and\n immunofluorescence analysis, mice were perfused, and the brain was\n processed for immunohistochemistry.\n \u003cstrong\u003eStereotaxic intranigral virus\n injection\u003c/strong\u003e: Stereotaxic injection was performed to inject\n AAV-tTA to drive the tetracycline-inducible promotor. Briefly, 8-week-old\n mice of indicated genotypes were anesthetized with a cocktail of ketamine\n and xylazine. Anesthetized mice were gently placed on the mouse\n stereotaxic frame and incisions were made on the scalp to exposure bregma\n point on the skull. The frame installed with Hamilton syringe (2µl, point\n style 3) were guided to respective coordinates to target SNpc\n (anteroposterior, 3.2 mm from bregma; mediolateral, 1.3 mm; dorsoventral,\n 4.3 mm) unilaterally stereotaxic injection was performed. The Hamilton\n syringe was loaded with AAV virus particle and mouse was infused with 2µl\n virus particle (at a rate of 0.2 µl/min for 10min duration). The needle\n was placed on the injection site for five minutes for the complete\n absorption of the particles and then gentle retracted needle. Surgery was\n completed by suturing of skin and applying the antibiotic cream for the\n wound healing process. The mice were removed from the stereotaxic frame\n and placed on the heated recovery cage and once the mice completed\n recovered they were then moved to a home cage. The animal was monitored\n and post-care was provided to all the animals. \n \u003cstrong\u003ea-Synuclein Pre-formed Fibril Progressive Disease\n Model\u003c/strong\u003e: C57Bl/6 mice were purchased (Jackson Labs) and\n random numbers were generated using GraphPad software (web-based) for\n mouse identification and for the blinded study. Mice were divided into\n four treatment groups (n= 15 to 18 mice/group) as follows., (1) PBS/\n Placebo (2) PBS / IkT-148009 (3) a-Syn-PFF/ Placebo, and (4) a-Syn-PFF/\n IkT-148009. One month after the PBS or PFF injection, mice were treated\n with Placebo or IkT-148009 (100 mg/kg, once a day, five days per week) for\n up to six months of age by oral administration (p.o.). Behavioral studies\n including the Pole test and Grip Strength, as well as bodyweight were\n conducted at 3 and 6 months of age. At six months, mice were euthanized to\n collect the brain samples. Seven to ten mice were perfused, brains were\n sectioned and processed for histological studies. Similarly, eight to ten\n mice were sacrificed for biochemical and neurochemical studies. A blinded\n study protocol was followed during all experiment procedures to acquire\n the data. \u003cstrong\u003eα-Syn-PFF preparation and\n use\u003c/strong\u003e: Recombinant mouse α-Syn-PFFs were made as described\n previously. Briefly, BL21-competent E. coli were transformed with\n full-length mouse α-Syn grown overnight in the starter culture, and for\n bulk production, the mixture was grown in the Terrific broth with\n overnight shaking at 37°C. The culture was spun down and bacterial pellets\n were resuspended in ice-cold high-salt buffer (1 mM EDTA, 1mM PMSF, and\n protease inhibitors). Pellets were sonicated on ice, boiled at 100°C for\n 15min, then the resultant mixture was spun at 6000 x g and the supernatant\n was collected. The supernatant was dialyzed in dialysis buffer (10 mM Tris\n (pH 7.6), 50 mM NaCl, 1 mM EDTA) for buffer exchange for an hour at room\n temperature, then the supernatant was further dialyzed. in fresh dialysis\n buffer overnight at 4 °C. The overnight protein sample was concentrated\n with a centrifuge filter (3.5 kDa cutoff, Amicon) and collected samples\n were filtered using a 0.22 µm syringe filter and loaded into FPLC\n connected to a Superdex 200 SEC column for separation. Relevant fractions\n of α-synuclein were buffer exchanged (10 mM Tris, pH 7.6, 25 mM NaCl, 1 mM\n EDTA) and further purified by anion-exchange chromatography (Hi-Trap Q HP)\n and fractions were collected, analyzed, and exchanged into 50 mM NaCl\n buffer yielding purified α-synuclein stored at -80 °C. Bacterial endotoxin\n was removed using the Toxineraser\u003csup\u003eTM\u003c/sup\u003e endotoxin\n removal kit (Genscript\u003csup\u003e®\u003c/sup\u003e, Cat # L00338). To prepare\n fibrils, monomer protein was thawed quickly and diluted to 5 mg/mL in PBS,\n and the monomer was agitated continually for one week (1,000 rpm, 37 °C)\n to form the fibrils and stored at -80 °C. On the day of striatal surgery,\n α-synuclein-PFFs were thawed at room temperature and diluted to 2.5 mg/mL\n and then sonicated (on ice) at 30% amplitude for 120 seconds (1s on/off)\n with a probe-tip sonicator (Branson Digital Sonifier, Danbury, CT,\n USA). \u003cstrong\u003eStereotactic surgery for\n intrastriatal αSyn-PFF injections\u003c/strong\u003e: The male C57BL/6 mice\n (2-3 months old) were anesthetized with a cocktail of ketamine HCL\n (100mg/kg)/xylazine (10mh/kg) i.p. injections, secured with ear bars into\n a stereotactic frame. The skull was exposed via a scalp incision to locate\n bregma and holes in the skull were made at the following coordinates +0.2\n mm (AP), +2 mm (ML), and -2.6 mm (DV). Hamilton syringe (10µl, point style\n 3) installed in the stereotaxic frame were loaded with PBS or α-Syn-PFF.\n Probe was gently lowered into the respective injection site. The according\n group mice either received 2 µl of PBS or α-Syn-PFF injections (αSyn-PFF\n at 2.5 µg/µl) into the right striatum. The probe was kept at the injection\n site for 5min before retracting and followed by the closure of the sutures\n and applying antibiotic ointment. Animal were placed in the recovery\n chamber before moving into the home cage.\n \u003cstrong\u003eBehavioral studies\u003c/strong\u003e:\n \u003cstrong\u003eAmphetamine-induced stereotypic\n rotation\u003c/strong\u003e: At three- and six-month time-point, to quantify\n the number of amphetamine-induced stereotypic rotation the different\n treatment group mice were injected with amphetamine (AMPH) (5mg/kg, i.p.).\n After AMPH injection, the mice were placed into a glass beaker (5 L) of\n 20-cm diameter, and video was recorded for 20 minutes to observe\n AMPH-induced rotation. The video recording was scored by lab personnel\n blinded to the study, animal genotype, and treatments. The major criteria\n in determining the rotation is when the mice complete ipsilateral full\n complete rotations (clockwise). \u003cstrong\u003eGrip\n strength test\u003c/strong\u003e: The grip strength test was used to measure\n neuromuscular strength in the treatment group mice by using Bioseb grip\n strength test device (BIO-GS3, Pinellas Park, FL) as previously described.\n Mice were gently placed on a metal grid to grab the metal grid by either\n forelimb (forepaw) alone or the forelimb and hindlimbs. The subject is\n placed on the grid, holding tail by the examiner records the forward\n pulling force in the horizontal plane. The grid is connected to a force\n transducer which records the maximal pulling force (in grams).\n \u003cstrong\u003ePole test\u003c/strong\u003e: Animals were acclimatized\n in the procedure room for 30 min prior to the experiments. The pole is\n made up 2.5 ft metal rod with 9 mm diameter and wrapped with bandage\n gauze. Briefly, the mice were placed on the top of the pole (3 inch from\n the top of the pole) facing the head-up. The time taken to turn the whole\n body towards the face-down position (Turn time) and the total time taken\n to reach the base (Descending time) of the pole was recorded. Before the\n actual test, the mice were trained for two consecutive days and each\n training session consists of three test trials. The maximum cut-off\n (allowed time) of time to complete the test was 120 sec. Results were\n expressed in total time (in sec).\n \u003cstrong\u003eBiochemical Studies\u003c/strong\u003e:\n \u003cstrong\u003eTissue lysate preparation\u003c/strong\u003e: Brain\n lysates were prepared as described previously with some modifications.\n Soluble fractions were made by homogenization of tissue in brain lysis\n buffer (10 mM Tris-HCl, pH 7.4, 150 mM NaCl, 5 mM EDTA, 0.5% Nonidet P-40,\n Phosphatase Inhibitor (Roche), and complete protease inhibitor (Roche)).\n Briefly, the brain tissue was homogenated by PTFE pestle with steel shaft\n Tissue grinder homogenizer (1ml) connected with handheld Cordless motor.\n The samples were homogenized with 1:10 (wt./vol) soluble lysis buffer on\n ice for about 20 stoke with homogenizer. The homogenate was collected and\n centrifuged for 30 minutes at 4 °C, 15000 x g, and the resulting\n supernatant (soluble) fractions were carefully transferred to\n microcentrifuge tube. The pellet was washed with soluble lysis buffer spin\n down max at cold and the supernatant was discarded. To the resulting\n pellet insoluble lysis buffer (contains 10 mM Tris-HCl, pH 7.4, 150 mM\n NaCl, 5 mM EDTA, 0.5% Nonidet P-40, 2% SDS and 0.5% sodium deoxycholate,\n Phosphatase Inhibitor (Roche), and complete protease inhibitor (Roche))\n were added and resuspended and then sonicated (30% amplitude 5sec ON, 3sec\n OFF for 3 cycle) on ice. The homogenate was centrifuged at max for 30 min,\n and the resulting supernatant was collected. Protein levels in tissue\n lysates were quantified using a Pierce BCA protein assay kit (Thermo\n Scientific). \u003cstrong\u003eWestern blot\n analysis\u003c/strong\u003e: The detergent-soluble, or detergent-insoluble\n samples were normalized based on the protein concentration, boiled in 2x\n Laemmle buffer, and loaded. The samples were electrophoresed on 4-20%\n SDS-PAGE and transferred to nitrocellulose membranes. Membranes were\n blocked with 5% BSA or 5% nonfat dry milk (wt./vol) in TBS-T and incubated\n with primary antibodies overnight at 4°C. On day two, washed blots were\n incubated with secondary antibody conjugated with HRP and the signal was\n detected using chemiluminescent substrates. For detecting using Odyssey\n CLx, blots were probed with secondary antibodies conjugated with infrared\n dyes (680nm and 800nm) and scanned using an Odyssey CLx (LiCor).\n \u003cstrong\u003eImmunohistochemistry\u003c/strong\u003e: Anesthetized\n mice were perfused with ice-cold phosphate-buffered saline (PBS, pH 7.4).\n Brains were removed and post fixed for 2 days in 4% paraformaldehyde/PBS\n solution. Brains were embedded with 30% sucrose/PBS (pH 7.4) for 2 days,\n then frozen brain blocks were prepared on dry ice. The blocks were\n sectioned with a temperature-controlled cryostat (Leica CM 3050s) and\n serial coronal sections of 50 μm sections were collected. Free-floating\n sections were incubated with 3% H2O2 washed and blocked with 4% normal\n goat serum/PBS plus 0.2% Triton X-100 and incubated with an antibody\n against TH (NB300-109, 1:2000, rabbit polyclonal; Novus Biologicals)\n followed by incubation with biotin-conjugated anti-rabbit antibody\n (anti-rabbit polyclonal; Vector Labs), VECTASTAIN Elite ABC-HRP kit\n (Vector Laboratories, PK-6101, RRID: AB_2336820) and SigmaFast DAB\n Peroxidase Substrate (Sigma-Aldrich, Cat # D4293, CAS no. 91-95-2). A\n standard staining protocol was used for counterstaining with Nissl (0.09%\n thionin). \u003cstrong\u003eStereology analysis and fiber\n density\u003c/strong\u003e: Stereo Investigator (Micro Bright-Field,\n RRID:SCR_002526) software was to use to count the number of TH-positive\n and Nissl positive neurons. By using optical fractionators workflow, we\n draw the contour area around the SNpc region using 2.5x and counted the\n neurons at 100x (oil) magnification. This is an unbiased method for cell\n counting was carried out by using a computer-assisted image analysis\n system consisting of an Axioplan 2 imaging microscope (Zeiss), motorized\n stage (Ludl Electronics), and a color camera (Optronics). Serial striatal\n sections were processed for TH staining following the same procedure as\n above except no Nissl staining was carried out. Images were acquired using\n the Axiophot 2 Imaging brightfield microscope (Zeiss). Fiber density in\n the striatum was quantified by optical density (OD). ImageJ\n (RRID:SCR_003070) software (NIH) was used to analyze the OD as previously\n described. \u003cstrong\u003eImmunofluorescence\n analysis\u003c/strong\u003e: Immunofluorescence staining for phosphorylated\n a-synuclein (S129 and Y39) was performed in the regions of SNpc and cortex\n of mouse brain sections. Coronal brain sections were initially treated\n with 1x IHC Antigen retrieval solution (high pH, Invitrogen) at 85°C for\n 15min, then sections were washed with PBS. The sections were blocked for\n 30 min with 10% goat serum (Sigma-Aldrich, Cat no. S26-M) plus 0.3% Triton\n X-100 in PBS and then sections were incubated with indicated antibodies\n for overnight at 4°C. On day 2, the sections were brief washed 3 times\n with PBS-T and incubated with corresponding secondary antibodies\n conjugated with fluorescent dyes (Alexa Fluor 555–conjugated goat antibody\n to mouse IgG and Alexa Fluor 488–conjugated goat antibody to rabbit IgG)\n and counter stained with DAPI for nucleus. Sections washed and covered by\n a coverslip with using Shandon IMMU-MOUNT media (Thermo Fisher Scientific,\n Cat no. 9990402). Mounted slides were dried, and Images were obtained\n using a confocal microscope (Zeiss Confocal LSM 880) and image analysis\n was performed using ZEN Digital Imaging for Light Microscopy\n (RRID:SCR_013672). \u003cstrong\u003eNeurochemical\n Studies\u003c/strong\u003e:\n \u003cstrong\u003eHPLC\u003c/strong\u003e: Striatal biogenic amines were\n measured using high-performance liquid chromatography (HPLC) with\n electrochemical detection (ECD). As in previous work, striatal tissue was\n thawed from -80 °C storage and sonicated in ice-cold 0.01 mM perchloric\n acid with 0.01% EDTA (wt./vol). To control for volume errors, DHBA was\n included as the internal standard. Sonicated samples are centrifuged at\n 15,000 x g for 30 minutes at 4 °C. Supernatant was collected and filtered\n with a 0.2 µm filter, then 20 µL per sample was separated (mobile phase)\n with an HPLC column (Atlantis T3 3 μm reverse phase column). Eluted\n compounds were analyzed using a dual-channel Coulochem III electrochemical\n detector (Model 5300, ESA Inc, Chelmsford, MA, USA). Pellets were\n homogenized and total protein was quantified to estimate protein to\n normalize for tissue mass. \n \u003cstrong\u003eMPP\u003csup\u003e+\u003c/sup\u003e\n analysis\u003c/strong\u003e: For MPP\u003csup\u003e+\u003c/sup\u003e measurements,\n mice were injected with four doses of saline or MPTP (20 mg/kg, 2h\n interval) and mice were euthanized 2 h after the final injection. As\n previously described MPP\u003csup\u003e+\u003c/sup\u003e levels in the striatum\n were detected using HPLC-UV. Striatal tissues were sonicated in 1:10\n volumes of 5% trichloroacetic acid and the samples were centrifuged at\n 14,000 rpm for 20 min and the supernatant was injected onto a\n cation-exchange Ultracyl- CS column (Beckman). The mobile phase consisted\n of 90% of a solution of 0.1M acetic acid and 75 mM triethylamine·HCl\n (pH 2.35 adjusted with formic acid) and 10% acetonitrile. The LC pump\n (Antec leyden model LC110) flow rate was 1.0 mL and UV detector (Kanuer\n model S2550) were set at 295 nm. Results were presented as μg/mg\n protein. \u003cstrong\u003eStatistical\n analysis\u003c/strong\u003e: The animals used in the study were randomized,\n and random numbers were generated using the GraphPad software. The study\n design and treatment were blinded to personnel feeding the placebo or\n active pharmaceutical ingredient. Lab personnel were blinded to the\n disease state and treatment given throughout each sub-study. Western Blot\n band intensities were quantified using ImageJ software (National Institute\n of Health, USA), and the normalized to b-actin. Statistical analysis was\n performed with GraphPad Prism (Version 8) software. Bar graphs were\n generated using GraphPad Prism and expressed with mean ± standard error.\n Statistical significance was determined by performing a one-way analysis\n of variance (ANOVA) or two-way ANOVA followed by Tukey, Bonferroni posthoc\n analysis to enable multiple comparisons with respective to disease or\n treatment groups. Respective p values are denoted in the figures, and p\n values lower than 0.05 were considered statistically significant.\n Quantitative data are expressed as the mean ± standard error from the\n mean.","descriptionType":"Methods"},{"description":"Zen lite Graphpad Prism\n ImageJ Adobe Iliustrator","descriptionType":"Other"}],"geoLocations":[],"fundingReferences":[{"schemeUri":"https://ror.org","funderName":"National Institute of Neurological Disorders and Stroke","awardNumber":"R44NS103695","funderIdentifier":"https://ror.org/01s5ya894","funderIdentifierType":"ROR"},{"schemeUri":"https://ror.org","funderName":"Michael J. Fox Foundation","awardNumber":"13682","funderIdentifier":"https://ror.org/03arq3225","funderIdentifierType":"ROR"}],"xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00L21ldGFkYXRhLnhzZCI+CiAgPGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTA2MS9EUllBRC5YU0ozVFg5SlQ8L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPkRhd3NvbiwgVGVkPC9jcmVhdG9yTmFtZT4KICAgICAgPG5hbWVJZGVudGlmaWVyIG5hbWVJZGVudGlmaWVyU2NoZW1lPSJPUkNJRCIgc2NoZW1lVVJJPSJodHRwOi8vb3JjaWQub3JnLyI+MDAwMC0wMDAyLTY0NTktMDg5MzwvbmFtZUlkZW50aWZpZXI+CiAgICAgIDxhZmZpbGlhdGlvbiBhZmZpbGlhdGlvbklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wMzd6Z24zNTQiIGFmZmlsaWF0aW9uSWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZyI+Sm9obnMgSG9wa2lucyBNZWRpY2luZTwvYWZmaWxpYXRpb24+CiAgICA8L2NyZWF0b3I+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lIG5hbWVUeXBlPSJQZXJzb25hbCI+S2FydXBwYWdvdW5kZXIsIFNlbnRoaWxrdW1hcjwvY3JlYXRvck5hbWU+CiAgICAgIDxhZmZpbGlhdGlvbiBhZmZpbGlhdGlvbklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wMzd6Z24zNTQiIGFmZmlsaWF0aW9uSWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZyI+Sm9obnMgSG9wa2lucyBNZWRpY2luZTwvYWZmaWxpYXRpb24+CiAgICA8L2NyZWF0b3I+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lIG5hbWVUeXBlPSJQZXJzb25hbCI+V2FuZywgSHU8L2NyZWF0b3JOYW1lPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDM3emduMzU0IiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPkpvaG5zIEhvcGtpbnMgTWVkaWNpbmU8L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPktlbGx5LCBUZXJlbmNlPC9jcmVhdG9yTmFtZT4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzAwMGh2YTYyOSIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnIj5JbmhpYmlrYXNlIFRoZXJhcGV1dGljcyAoVW5pdGVkIFN0YXRlcyk8L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPlJ1c2gsIFJvZ2VyPC9jcmVhdG9yTmFtZT4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzAwMGh2YTYyOSIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnIj5JbmhpYmlrYXNlIFRoZXJhcGV1dGljcyAoVW5pdGVkIFN0YXRlcyk8L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPk5ndXllbiwgUmljaGFyZDwvY3JlYXRvck5hbWU+CiAgICAgIDxhZmZpbGlhdGlvbiBhZmZpbGlhdGlvbklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wMzd6Z24zNTQiIGFmZmlsaWF0aW9uSWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZyI+Sm9obnMgSG9wa2lucyBNZWRpY2luZTwvYWZmaWxpYXRpb24+CiAgICA8L2NyZWF0b3I+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lIG5hbWVUeXBlPSJQZXJzb25hbCI+QmlzZW4sIFNoaXZhbmk8L2NyZWF0b3JOYW1lPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDM3emduMzU0IiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPkpvaG5zIEhvcGtpbnMgTWVkaWNpbmU8L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPllhbWFzaGl0YSwgWW9rbzwvY3JlYXRvck5hbWU+CiAgICAgIDxhZmZpbGlhdGlvbiBhZmZpbGlhdGlvbklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wMzd6Z24zNTQiIGFmZmlsaWF0aW9uSWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZyI+Sm9obnMgSG9wa2lucyBNZWRpY2luZTwvYWZmaWxpYXRpb24+CiAgICA8L2NyZWF0b3I+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lIG5hbWVUeXBlPSJQZXJzb25hbCI+U2xvYW4sIE5pY2hvbGFzPC9jcmVhdG9yTmFtZT4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzAzN3pnbjM1NCIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnIj5Kb2hucyBIb3BraW5zIE1lZGljaW5lPC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5EYW5nLCBCcmlhbm5hPC9jcmVhdG9yTmFtZT4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzAzN3pnbjM1NCIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnIj5Kb2hucyBIb3BraW5zIE1lZGljaW5lPC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5TaWdtb24sIEFsZXhhbmRlcjwvY3JlYXRvck5hbWU+CiAgICAgIDxhZmZpbGlhdGlvbiBhZmZpbGlhdGlvbklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wMzd6Z24zNTQiIGFmZmlsaWF0aW9uSWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZyI+Sm9obnMgSG9wa2lucyBNZWRpY2luZTwvYWZmaWxpYXRpb24+CiAgICA8L2NyZWF0b3I+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lIG5hbWVUeXBlPSJQZXJzb25hbCI+TGVlLCBIeWV1biBXb288L2NyZWF0b3JOYW1lPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDM3emduMzU0IiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPkpvaG5zIEhvcGtpbnMgTWVkaWNpbmU8L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPkxlZSwgU2hpcmxleTwvY3JlYXRvck5hbWU+CiAgICAgIDxhZmZpbGlhdGlvbiBhZmZpbGlhdGlvbklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wMzd6Z24zNTQiIGFmZmlsaWF0aW9uSWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZyI+Sm9obnMgSG9wa2lucyBNZWRpY2luZTwvYWZmaWxpYXRpb24+CiAgICA8L2NyZWF0b3I+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lIG5hbWVUeXBlPSJQZXJzb25hbCI+V2F0a2lucywgTGVzbGllPC9jcmVhdG9yTmFtZT4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzAzN3pnbjM1NCIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnIj5Kb2hucyBIb3BraW5zIE1lZGljaW5lPC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5LaW0sIEVyaWNhPC9jcmVhdG9yTmFtZT4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzAzN3pnbjM1NCIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnIj5Kb2hucyBIb3BraW5zIE1lZGljaW5lPC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5CcmFobWFjaGFyaSwgU2F1cmF2PC9jcmVhdG9yTmFtZT4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzAzN3pnbjM1NCIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnIj5Kb2hucyBIb3BraW5zIE1lZGljaW5lPC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5LdW1hciwgTWFub2o8L2NyZWF0b3JOYW1lPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDM3emduMzU0IiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPkpvaG5zIEhvcGtpbnMgTWVkaWNpbmU8L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPldlcm5lciwgTWlsdG9uPC9jcmVhdG9yTmFtZT4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzAwMGh2YTYyOSIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnIj5JbmhpYmlrYXNlIFRoZXJhcGV1dGljcyAoVW5pdGVkIFN0YXRlcyk8L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPkRhd3NvbiwgVmFsaW5hPC9jcmVhdG9yTmFtZT4KICAgICAgPG5hbWVJZGVudGlmaWVyIG5hbWVJZGVudGlmaWVyU2NoZW1lPSJPUkNJRCIgc2NoZW1lVVJJPSJodHRwOi8vb3JjaWQub3JnLyI+MDAwMC0wMDAyLTI5MTUtMzk3MDwvbmFtZUlkZW50aWZpZXI+CiAgICAgIDxhZmZpbGlhdGlvbiBhZmZpbGlhdGlvbklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wMzd6Z24zNTQiIGFmZmlsaWF0aW9uSWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZyI+Sm9obnMgSG9wa2lucyBNZWRpY2luZTwvYWZmaWxpYXRpb24+CiAgICA8L2NyZWF0b3I+CiAgPC9jcmVhdG9ycz4KICA8dGl0bGVzPgogICAgPHRpdGxlPgogICAgICBUaGUgYy1BYmwgaW5oaWJpdG9yIElrVC0xNDgwMDkgdGhlcmFwZXV0aWNhbGx5IHN1cHByZXNzZXMKICAgICAgbmV1cm9kZWdlbmVyYXRpb24gaW4gbW9kZWxzIG9mIGhlcml0YWJsZSBhbmQgc3BvcmFkaWMgUGFya2luc29u4oCZcyBEaXNlYXNlCiAgICA8L3RpdGxlPgogIDwvdGl0bGVzPgogIDxwdWJsaXNoZXIgcHVibGlzaGVySWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzAweDZoNW45NSIgcHVibGlzaGVySWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZy8iPkRyeWFkPC9wdWJsaXNoZXI+CiAgPHJlc291cmNlVHlwZSByZXNvdXJjZVR5cGVHZW5lcmFsPSJEYXRhc2V0Ij5kYXRhc2V0PC9yZXNvdXJjZVR5cGU+CiAgPHB1YmxpY2F0aW9uWWVhcj4yMDIyPC9wdWJsaWNhdGlvblllYXI+CiAgPHN1YmplY3RzPgogICAgPHN1YmplY3Q+UGFya2luc29ucyBkaXNlYXNlPC9zdWJqZWN0PgogICAgPHN1YmplY3Q+TmV1cm9wcm90ZWN0aW9uPC9zdWJqZWN0PgogICAgPHN1YmplY3Q+UHJlY2xpbmljYWwgc3R1ZGllczwvc3ViamVjdD4KICAgIDxzdWJqZWN0PmMtYWJsIGluaGliaXRvcjwvc3ViamVjdD4KICAgIDxzdWJqZWN0IHN1YmplY3RTY2hlbWU9ImZvcyIgc2NoZW1lVVJJPSJodHRwczovL3dlYi1hcmNoaXZlLm9lY2Qub3JnLzIwMTItMDYtMTUvMTM4NTc1LTM4MjM1MTQ3LnBkZiI+Rk9TOiBCYXNpYyBtZWRpY2luZTwvc3ViamVjdD4KICA8L3N1YmplY3RzPgogIDxmdW5kaW5nUmVmZXJlbmNlcz4KICAgIDxmdW5kaW5nUmVmZXJlbmNlPgogICAgICA8ZnVuZGVyTmFtZT5OYXRpb25hbCBJbnN0aXR1dGUgb2YgTmV1cm9sb2dpY2FsIERpc29yZGVycyBhbmQgU3Ryb2tlPC9mdW5kZXJOYW1lPgogICAgICA8ZnVuZGVySWRlbnRpZmllciBmdW5kZXJJZGVudGlmaWVyVHlwZT0iUk9SIj5odHRwczovL3Jvci5vcmcvMDFzNXlhODk0PC9mdW5kZXJJZGVudGlmaWVyPgogICAgICA8YXdhcmROdW1iZXI+UjQ0TlMxMDM2OTU8L2F3YXJkTnVtYmVyPgogICAgPC9mdW5kaW5nUmVmZXJlbmNlPgogICAgPGZ1bmRpbmdSZWZlcmVuY2U+CiAgICAgIDxmdW5kZXJOYW1lPk1pY2hhZWwgSi4gRm94IEZvdW5kYXRpb248L2Z1bmRlck5hbWU+CiAgICAgIDxmdW5kZXJJZGVudGlmaWVyIGZ1bmRlcklkZW50aWZpZXJUeXBlPSJST1IiPmh0dHBzOi8vcm9yLm9yZy8wM2FycTMyMjU8L2Z1bmRlcklkZW50aWZpZXI+CiAgICAgIDxhd2FyZE51bWJlcj4xMzY4MjwvYXdhcmROdW1iZXI+CiAgICA8L2Z1bmRpbmdSZWZlcmVuY2U+CiAgPC9mdW5kaW5nUmVmZXJlbmNlcz4KICA8Y29udHJpYnV0b3JzPgogICAgPGNvbnRyaWJ1dG9yIGNvbnRyaWJ1dG9yVHlwZT0iU3BvbnNvciI+CiAgICAgIDxjb250cmlidXRvck5hbWU+Sm9obnMgSG9wa2lucyBNZWRpY2luZTwvY29udHJpYnV0b3JOYW1lPgogICAgPC9jb250cmlidXRvcj4KICA8L2NvbnRyaWJ1dG9ycz4KICA8ZGF0ZXM+CiAgICA8ZGF0ZSBkYXRlVHlwZT0iU3VibWl0dGVkIj4yMDIyLTA4LTA5VDE0OjA3OjA1WjwvZGF0ZT4KICAgIDxkYXRlIGRhdGVUeXBlPSJJc3N1ZWQiPjIwMjItMDgtMzBUMDA6MDA6MDBaPC9kYXRlPgogICAgPGRhdGUgZGF0ZVR5cGU9IkF2YWlsYWJsZSI+MjAyMi0wOC0zMFQwMDowMDowMFo8L2RhdGU+CiAgICA8ZGF0ZSBkYXRlVHlwZT0iVXBkYXRlZCI+MjAyMi0xMi0wNVQwMDowMDowMFo8L2RhdGU+CiAgPC9kYXRlcz4KICA8bGFuZ3VhZ2U+ZW48L2xhbmd1YWdlPgogIDxyZWxhdGVkSWRlbnRpZmllcnM+CiAgICA8cmVsYXRlZElkZW50aWZpZXIgcmVsYXRpb25UeXBlPSJJc0NpdGVkQnkiIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iRE9JIj5odHRwczovL2RvaS5vcmcvMTAuMTEyNi9zY2l0cmFuc2xtZWQuYWJwOTM1MjwvcmVsYXRlZElkZW50aWZpZXI+CiAgPC9yZWxhdGVkSWRlbnRpZmllcnM+CiAgPHNpemVzPgogICAgPHNpemU+ODUyMDk3NDg4MyBieXRlczwvc2l6ZT4KICA8L3NpemVzPgogIDx2ZXJzaW9uPjQ8L3ZlcnNpb24+CiAgPHJpZ2h0c0xpc3Q+CiAgICA8cmlnaHRzIHJpZ2h0c1VSST0iaHR0cHM6Ly9zcGR4Lm9yZy9saWNlbnNlcy9DQzAtMS4wLmh0bWwiPkNyZWF0aXZlIENvbW1vbnMgWmVybyB2MS4wIFVuaXZlcnNhbDwvcmlnaHRzPgogIDwvcmlnaHRzTGlzdD4KICA8ZGVzY3JpcHRpb25zPgogICAgPGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iQWJzdHJhY3QiPgogICAgICBQYXJraW5zb27igJlzIERpc2Vhc2UgKFBEKSBpcyB0aGUgc2Vjb25kIG1vc3QgcHJldmFsZW50IG5ldXJvZGVnZW5lcmF0aXZlCiAgICAgIGRpc2Vhc2Ugb2YgdGhlIGNlbnRyYWwgbmVydm91cyBzeXN0ZW0sIHdpdGggYW4gZXN0aW1hdGVkIDUsMDAwLDAwMCBjYXNlcwogICAgICB3b3JsZHdpZGUuJmFtcDtuYnNwO1BEIHBhdGhvbG9neSBpcyBjaGFyYWN0ZXJpemVkIGJ5IHRoZSBhY2N1bXVsYXRpb24gb2YKICAgICAgbWlzZm9sZGVkIGEtc3ludWNsZWluLCB3aGljaCBpcyB0aG91Z2h0IHRvIHBsYXkgYSBjcml0aWNhbCByb2xlIGluIHRoZQogICAgICBldGlvcGF0aG9nZW5lc2lzIG9mIHRoZSBkaXNlYXNlLiBBbmltYWwgbW9kZWxzIG9mIFBEIHN1Z2dlc3QgdGhhdAogICAgICBhY3RpdmF0aW9uIG9mIHRoZSBBYmVsc29uIFR5cm9zaW5lIEtpbmFzZSwgb3IgYy1BYmwsIHBsYXlzIGFuIGVzc2VudGlhbAogICAgICByb2xlIGluIHRoZSBpbml0aWF0aW9uIGFuZCBwcm9ncmVzc2lvbiBvZiBhLXN5bnVjbGVpbiBwYXRob2xvZ3kgYW5kCiAgICAgIGluaXRpYXRlcyBwcm9jZXNzZXMgbGVhZGluZyB0byB0aGUgZGVnZW5lcmF0aW9uIG9mIGRvcGFtaW5lcmdpYyBhbmQKICAgICAgbm9uLWRvcGFtaW5lcmdpYyBuZXVyb25zLiBHaXZlbiB0aGUgZXNzZW50aWFsIHJvbGUgb2YgYy1BYmwgaW4gdGhlCiAgICAgIGRpc2Vhc2UsIGEgcHJvcHJpZXRhcnkgYy1BYmwgaW5oaWJpdG9yIGxpYnJhcnkgd2FzIGRldmVsb3BlZCB0byBpZGVudGlmeQogICAgICBwb3RlbnQsIG9yYWxseSBiaW9hdmFpbGFibGUgYy1BYmwgaW5oaWJpdG9ycyBjYXBhYmxlIG9mIGNyb3NzaW5nIHRoZQogICAgICBibG9vZC1icmFpbiBiYXJyaWVyIGJhc2VkIG9uIHByZS1kZWZpbmVkIGNoYXJhY3RlcmlzdGljcywgbGVhZGluZyB0byB0aGUKICAgICAgZGlzY292ZXJ5IG9mIElrVC0xNDgwMDkuIElrVC0xNDgwMDkgaXMgYSBzZWxlY3RpdmUsIHBvdGVudCwKICAgICAgYnJhaW4tcGVuZXRyYW50IGMtQWJsIGluaGliaXRvciB3aXRoIGEgZmF2b3JhYmxlIHRveGljb2xvZ3kgcHJvZmlsZSB0aGF0CiAgICAgIHdhcyBhbmFseXplZCBmb3IgdGhlcmFwZXV0aWMgcG90ZW50aWFsIGluIGFuaW1hbCBtb2RlbHMgb2Ygc2xvd2x5CiAgICAgIHByb2dyZXNzaXZlLCBhLXN5bnVjbGVpbi1kZXBlbmRlbnQgZGlzZWFzZS4gSW4gbW9kZWxzIG9mIGJvdGggaW5oZXJpdGVkCiAgICAgIGFuZCBzcG9yYWRpYyBQYXJraW5zb27igJlzIGRpc2Vhc2UgaW4gdGhlIG1vdXNlLCBJa1QtMTQ4MDA5IHN1cHByZXNzZWQgYy1BYmwKICAgICAgYWN0aXZhdGlvbiB0byBiYXNlbGluZSBhbmQgc3Vic3RhbnRpYWxseSBwcm90ZWN0ZWQgbmV1cm9ucyBmcm9tCiAgICAgIGRlZ2VuZXJhdGlvbiB3aGVuIGFkbWluaXN0ZXJlZCB0aGVyYXBldXRpY2FsbHkgYnkgb25jZSBkYWlseSBvcmFsIGdhdmFnZQogICAgICBiZWdpbm5pbmcgZm91ciB3ZWVrcyBhZnRlciBkaXNlYXNlIGluaXRpYXRpb24uIFJlY292ZXJ5IG9mIG5vcm1hbAogICAgICBiZWhhdmlvcmFsIGZ1bmN0aW9uIGluIGRpc2Vhc2VkIG1pY2Ugb2NjdXJyZWQgd2l0aGluIDggd2Vla3Mgb2YgaW5pdGlhdGluZwogICAgICB0cmVhdG1lbnQgYW5kIG9jY3VycmVkIGNvbmNvbWl0YW50bHkgd2l0aCBhIHN1YnN0YW50aWFsIHJlZHVjdGlvbiBvZgogICAgICBhLXN5bnVjbGVpbiBwYXRob2xvZ3kgaW4gdGhlIGJyYWluLiBUaGVzZSBkaXNlYXNlLW1vZGlmeWluZyBvdXRjb21lcyBpbgogICAgICBtaWNlIHN1Z2dlc3QgSWtULTE0ODAwOSBoYXMgdGhlIHBvdGVudGlhbCB0byBiZSBhIGRpc2Vhc2UtbW9kaWZ5aW5nCiAgICAgIHRoZXJhcHkgaW4gaHVtYW4gZGlzZWFzZS4KICAgIDwvZGVzY3JpcHRpb24+CiAgICA8ZGVzY3JpcHRpb24gZGVzY3JpcHRpb25UeXBlPSJNZXRob2RzIj4KICAgICAgJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtTdHVkeSBEZXNpZ24mbHQ7L3N0cm9uZyZndDs6IFRoZQogICAgICAmbHQ7ZW0mZ3Q7aW4tc2lsaWNvJmx0Oy9lbSZndDsgZGVzaWduIG1ldGhvZCBrbm93biBhcwogICAgICBSQU1QJmx0O3N1cCZndDtUTSZsdDsvc3VwJmd0OyB3YXMgYXBwbGllZCB0byBkZXNpZ24gYW5kIGRldmVsb3AgaW5oaWJpdG9ycwogICAgICBvZiB0aGUgbm9uLXJlY2VwdG9yIEFiZWxzb24gdHlyb3NpbmUga2luYXNlcyBjLUFibDEgKGMtQWJsKSBhbmQgYy1BYmwyL0FyZwogICAgICBhcyBkZXNjcmliZWQgaW4gU3VwcGxlbWVudGFyeSBNYXRlcmlhbHMuIFRocmVlIGNhbmRpZGF0ZSBtb2xlY3VsZXMgZW1lcmdlZAogICAgICBmcm9tIFJBTVAmbHQ7c3VwJmd0O1RNJmx0Oy9zdXAmZ3Q7IHRoYXQgd2VyZSBmaXJzdCBzY3JlZW5lZCBpbiBhCiAgICAgIG1vZGlmaWNhdGlvbiBvZiB0aGUgcHJlLWV4cG9zdXJlIHByb3BoeWxheGlzIE1QVFAgbW9kZWwgb2YgUGFya2luc29uaXNtCiAgICAgIGFuZCBzdWJzZXF1ZW50bHkgY29tcGFyZWQgdG8gdGhlIGNvbW1lcmNpYWwgaW5oaWJpdG9ycyBuaWxvdGluaWIgYW5kCiAgICAgIGRhc2F0aW5pYiBpbiB0aGUgc2FtZSBtb2RlbC4gRm9sbG93aW5nIHRoZSBzZWxlY3Rpb24gb2Ygb25lIGNhbmRpZGF0ZQogICAgICBpbmhpYml0b3IsIElrVC0xNDgwMDksIGEgbW9kZWwgb2Ygc2xvd2x5IHByb2dyZXNzaXZlIGluaGVyaXRlZCBkaXNlYXNlCiAgICAgIHVzaW5nIHRoZSBjbGluaWNhbCBtdXRhdGlvbiBBNTNUIG9mIGEtc3ludWNsZWluIGFuZCBhIG1vZGVsIG9mIHNsb3dseQogICAgICBwcm9ncmVzc2l2ZSBzcG9yYWRpYyBkaXNlYXNlIHVzaW5nIHByZS1mb3JtZWQgZmlicmlscyAoUEZGcynCoHdlcmUgdXRpbGl6ZWQKICAgICAgdG8gZXZhbHVhdGUgdGhlIHRoZXJhcGV1dGljIGFjdGl2aXR5IG9mIGRhaWx5IG9yYWwgYWRtaW5pc3RyYXRpb24gb2YKICAgICAgSWtULTE0ODAwOSBhcyBhIG1vZGlmaWVyIG9mIG5ldXJvZGVnZW5lcmF0aW9uLCBtYXJrZXJzIG9mCiAgICAgIG5ldXJvaW5mbGFtbWF0aW9uIGFuZCBhLXN5bnVjbGVpbiBwYXRob2xvZ3kuIFRoZSBudW1iZXIgb2YgYW5pbWFscwogICAgICB1dGlsaXplZCBpbiBlYWNoIHN1Yi1zdHVkeSBkZXNjcmliZWQgd2FzIG5vdCBkZXRlcm1pbmVkIGJ5IHBvd2VyIGFuYWx5c2lzLAogICAgICByYXRoZXIsIHdhcyBkZXRlcm1pbmVkIGJ5IG1pbmltaXppbmcgdGhlIG51bWJlciBvZiBhbmltYWxzIHVzZWQgd2hpbGUKICAgICAgZW5hYmxpbmcgbWVhc3VyZXMgb2Ygc3RhdGlzdGljYWwgc2lnbmlmaWNhbmNlIGFzIGRlc2NyaWJlZCBiZWxvdy4gRGV0YWlscwogICAgICBvZiB0aGUgbWVhc3VyZW1lbnRzIG9mIG5ldXJvYW5hdG9teSBhbmQgbmV1cm9sb2dpY2FsIGZ1bmN0aW9uIGluIGJvdGgKICAgICAgcHJvZ3Jlc3NpdmUgZGlzZWFzZSBtb2RlbHMgYXJlIGRlc2NyaWJlZCBpbiBTdXBwbGVtZW50YXJ5CiAgICAgIE1hdGVyaWFscy4mbHQ7L3AmZ3Q7ICZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7UkFNUCZsdDtzdXAmZ3Q7VE0mbHQ7L3N1cCZndDsKICAgICAgYW5kIEluaXRpYWwgU2NyZWVuaW5nIG9mIERydWcgUHJvcGVydGllcyZsdDsvc3Ryb25nJmd0OzoKICAgICAgUkFNUCZsdDtzdXAmZ3Q7VE0mbHQ7L3N1cCZndDsgYmVnaW5zIHdpdGggYSB0ZW1wbGF0ZSBtb2xlY3VsZSB3aG9zZQogICAgICBwcm9wZXJ0aWVzIGFyZSBhbGlnbmVkIHdpdGggdGhlIGRlc2lyZWQgb3V0Y29tZS4gSW4gdGhpcyBjYXNlLCBhIHZpcnR1YWwKICAgICAgbGlicmFyeSB3YXMgY29uc3RydWN0ZWQgaW4gd2hpY2ggc3Vic3RpdHV0ZWQgZml2ZSBvciBzaXgtbWVtYmVyZWQgcmluZ3MKICAgICAgd2VyZSBhdHRhY2hlZCB0byB0aGUgYW50aWNhbmNlciBhZ2VudCBJbWF0aW5pYiB1c2luZyBTbWlMaWIuIFRoZSBsaWJyYXJ5CiAgICAgIGNvbnNpc3RlZCBvZiBmaXZlLWFuZCBzaXgtbWVtYmVyZWQgYXJ5bCBhbmQgaGV0ZXJvY3ljbGUgc3Vic3RpdHVlbnRzIHdpdGgKICAgICAgYW5kIHdpdGhvdXQgYnJhbmNoZWQgYWxpcGhhdGljIGFuZCBwb2xhciBzdWJzdGl0dXRpb25zIG9ydGhvLSBvciBwYXJhLXRvCiAgICAgIHRoZSBzaXRlIG9mIGF0dGFjaG1lbnQuIFRoZSBsaWJyYXJ5IHdhcyBkZXNpZ25lZCBhbmQgZW51bWVyYXRlZCB0byBjYXB0dXJlCiAgICAgIGFsbCBwb3RlbnRpYWwgaXNvbWVycyBhbmQgbW9uby1zdWJzdGl0dXRpb24gcGF0dGVybnMuIFdoZW4gYXBwcm9wcmlhdGUsCiAgICAgIHRhdXRvbWVycyBhbmQgaW9uaXplZCBzcGVjaWVzIHdlcmUgYWxzbyBpbmNsdWRlZC4gVGhlIGxpYnJhcmllcyB3ZXJlCiAgICAgIGltcG9ydGVkIGludG8gUHlSeCBtaW5pbWl6ZWQgYW5kIHByZXBhcmVkIGFzIEF1dG9kb2NrIGxpZ2FuZHMuIFZpc3VhbAogICAgICBpbnNwZWN0aW9uIG9mIHRoZSByZXN1bHRpbmcgbW9sZWN1bGVzIHdhcyBuZWNlc3NhcnkgdG8gY2F0Y2ggb2NjYXNpb25hbAogICAgICBjb21waWxhdGlvbiBlcnJvcnMuIEEgbWluaW1pemVkIHN0cnVjdHVyZSBvZiBzdWJzdGl0dXRlZCB0ZW1wbGF0ZQogICAgICBtb2xlY3VsZXMgd2FzIGRvY2tlZCBpbnRvIHRoZSBjcnlzdGFsIHN0cnVjdHVyZSBvZiBjLUFibCAoUERCOiAxSUVQKSBhcwogICAgICB0aGUgaW5pdGlhbCBiYXNpcyBmb3IgdGhlIHNlYXJjaCBzcGFjZS4gMUlFUCB3YXMgcHJlcGFyZWQgZm9yIEF1dG9kb2NrCiAgICAgIHVzaW5nIHRoZSB0b29scyBpbiBQeVJ4LCB0byBpbmNsdWRlIG1hbnVhbCBlZGl0aW5nIHRvIHJldGFpbiA0IHdhdGVyCiAgICAgIG1vbGVjdWxlcyBmb3VuZCBpbiB0aGUgSW1hdGluaWIgYmluZGluZyBzaXRlLiBQeVJ4IHdhcyB1c2VkIGFzIHRoZSBmcm9udAogICAgICBlbmQgdG8gcnVuIEF1dG9kb2NrIFZpbmHCoGZvciB0aGUgdmFyaW91cyBsaWJyYXJpZXMuJmx0Oy9wJmd0OwogICAgICAmbHQ7cCZndDvCoE92ZXIgMjUwMCBjb21wb3VuZC9jb25mb3JtYXRpb24gcHJvZmlsZXMgd2VyZSBnZW5lcmF0ZWQgd2l0aAogICAgICBBdXRvZG9jayBWaW5hLiBUaGUgZG9ja2VkIHBvc2VzIG9mIHRoZSBJbWF0aW5pYiBkZXJpdmF0aXZlcyB3ZXJlIHZpc3VhbGx5CiAgICAgIGluc3BlY3RlZCBlbmVyZ3ktbWluaW1pemVkIGFuZCBmb3VuZCB0byBiZSBjb25zaXN0ZW50IHdpdGggdGhlIGNyeXN0YWwKICAgICAgc3RydWN0dXJlIGFzIHdlbGwgYXMga25vd24gU3RydWN0dXJlLUFjdGl2aXR5IFJlbGF0aW9uc2hpcHMgKFNBUikgYXJvdW5kCiAgICAgIGRydWdzIGluIHRoaXMgY2xhc3MuIENhbmRpZGF0ZSBtb2xlY3VsZXMgd2VyZSBzeW50aGVzaXplZCBhcyBwcmV2aW91c2x5CiAgICAgIGRlc2NyaWJlZCBhbmQgcGhhcm1hY29sb2d5IHByb3BlcnRpZXMgd2VyZSBhc3Nlc3NlZC4gSW4gcGFydGljdWxhciwgdGhlCiAgICAgIGtpbmFzZSBpbmhpYml0aW9uIElDJmx0O3N1YiZndDs1MCZsdDsvc3ViJmd0OyB2YWx1ZXMgd2VyZSBtZWFzdXJlZCBmb3IKICAgICAgb24tdGFyZ2V0IGVuenltZXMgb2YgdGhlIEFiZWxzb24gVHlyb3NpbmUgS2luYXNlIGZhbWlseSAoYy1BYmwxLAogICAgICBjLUFibDIvQXJnLCBjLUtpdCwgUERHRlJhL2IpIGFuZCBvZmYtdGFyZ2V0IGtpbmFzZSBpbmhpYml0aW9uIHdhcyBtZWFzdXJlZAogICAgICB3aXRoIHRoZSBLaW5hc2VQcm9maWxlciZsdDtzdXAmZ3Q7VE0mbHQ7L3N1cCZndDsgc2NyZWVuIChDZXJlcCBFdXJvZmlucykKICAgICAgYXQgNTAwIG5NIElrVC0xNDgwMDkuIEluIGFkZGl0aW9uLCB0aGUgaW4gdml0cm8gaHVtYW4gbGl2ZXIgbWljcm9zb21lCiAgICAgIGhhbGYtbGlmZSBhbmQgQ2Fjby0yIHBlcm1lYWJpbGl0eSB3ZXJlIG1lYXN1cmVkIHRvIGFzc2VzcyBtZXRhYm9saWMKICAgICAgc3RhYmlsaXR5IGFuZCBvcmFsIGFic29ycHRpb24gY2hhcmFjdGVyaXN0aWNzLiBSYW5rLW9yZGVyZWQgY2FuZGlkYXRlcwogICAgICB3ZXJlIHRoZW4gc2NyZWVuZWQgZm9yIHRoZWlyIGFiaWxpdHkgdG8gYmUgb3JhbGx5IGFic29yYmVkIHdpdGggaGlnaAogICAgICBiaW9hdmFpbGFiaWxpdHkgaW4gQzU3QmwvNiBtaWNlLCBoaWdoIHBsYXNtYSBleHBvc3VyZXMgYW5kIHRoZW4gdGhlIG1vc3QKICAgICAgcHJvbWlzaW5nIGNhbmRpZGF0ZXMgd2VyZSBhbmFseXplZCBpbiB0aGUgTVBUUCBTY3JlZW5pbmcgTW9kZWwgZGVzY3JpYmVkCiAgICAgIGJlbG93IHRvIGFzc2VzcyBjLUFibCBpbmhpYml0aW9uIGluIG1vdXNlIGJyYWluIGluIHRoZSBjb250ZXh0IG9mIGFuIGFjdXRlCiAgICAgIG5ldXJvdG94aW4uwqAmbHQ7L3AmZ3Q7CiAgICAgICZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7UGhhcm1hY29raW5ldGljcyZsdDsvc3Ryb25nJmd0OzogU2luZ2xlIGRvc2UgYW5kCiAgICAgIDctZGF5IG11bHRpcGxlIGRvc2UgcGhhcm1hY29raW5ldGljcyB3ZXJlIG1lYXN1cmVkIGF0IDUwLCAxMDAsIGFuZCAyMDAKICAgICAgbWcva2cvZGF5IGluIHBsYXNtYSBhbmQgd2hvbGUgYnJhaW4uIEJyaWVmbHksIDktd2Vlay1vbGQgbWFsZSBDNTdCbC82IG1pY2UKICAgICAgKG49MyBwZXIgdGltZXBvaW50KSB3ZXJlIGFkbWluaXN0ZXJlZCBJViBJa1QtMTQ4MDA5ICgxMCBtZy9rZyBpbiB3YXRlcikKICAgICAgdGhyb3VnaCB0aGUgdGFpbCB2ZWluIG9yIG9yYWxseSBhdCA1MCwgMTAwIG9yIDIwMCBtZy9rZy9kYXkgaW4gd2F0ZXIgKDUKICAgICAgbUwva2cpLiBQbGFzbWEgc2FtcGxpbmcgd2FzIGRvbmUgYXQgMC4wODMsIDAuMjUsIDAuNSwgMSwgMiwgNCwgOCwgYW5kIDI0CiAgICAgIGhyLiBwb3N0LWRvc2UgYWZ0ZXIgSVYgYW5kIGF0LiAwLjUsIDEsIDIsIDQsIDgsIDEyLCBhbmQgMjQgaHIuIHBvc3QtZG9zZQogICAgICBhZnRlciBvcmFsLiBGb2xsb3dpbmcgYmxvb2QgY29sbGVjdGlvbiwgdGhlIHdob2xlIGJyYWluIHdhcyBoYXJ2ZXN0ZWQKICAgICAgaW1tZWRpYXRlbHksIHJpbnNlZCBpbiBjb2xkIGRpc3RpbGxlZCB3YXRlciB0byByZW1vdmUgYmxvb2QsIGFuZCB3ZWlnaGVkLgogICAgICBFYWNoIHdob2xlIGJyYWluIHdhcyBob21vZ2VuaXplZCB1c2luZyBwcmUtY29vbGVkIHdhdGVyIGF0IHRoZSByYXRpbyBvZgogICAgICAxOjQuIERvc2luZyBzb2x1dGlvbnMgd2VyZSBhbmFseXplZCB0byBtZWFzdXJlIHRoZSBhY2N1cmFjeSBvZiBkcnVnCiAgICAgIGRlbGl2ZXJ5IElWIG9yIG9yYWwuIFBsYXNtYSBhbmQgYnJhaW4gY29uY2VudHJhdGlvbnMgd2VyZSBkZXRlcm1pbmVkIHVzaW5nCiAgICAgIExDL01TLU1TIG1ldGhvZG9sb2d5LiBQbGFzbWEgY29uY2VudHJhdGlvbiB2ZXJzdXMgdGltZSBkYXRhIHdlcmUgYW5hbHl6ZWQKICAgICAgYnkgbm9uLWNvbXBhcnRtZW50YWwgYXBwcm9hY2hlcyB1c2luZyB0aGUgUGhvZW5peCBXaW5Ob25saW4gNi4zIHNvZnR3YXJlCiAgICAgIHByb2dyYW0uIFZhbHVlcyBmb3IgY2xlYXJhbmNlIChDTCZsdDtzdWImZ3Q7cCZsdDsvc3ViJmd0OyksIHZvbHVtZSBvZgogICAgICBkaXN0cmlidXRpb24gKFZkJmx0O3N1YiZndDtzcyZsdDsvc3ViJmd0OyksIHBlYWsgcGxhc21hIGNvbmNlbnRyYXRpb24KICAgICAgKEMmbHQ7c3ViJmd0O21heCZsdDsvc3ViJmd0OyksIHRoZSB0aW1lIHRvIG1heGltdW0gcGxhc21hIGNvbmNlbnRyYXRpb24KICAgICAgKFQmbHQ7c3ViJmd0O21heCZsdDsvc3ViJmd0OyksIHRlcm1pbmFsIGVsaW1pbmF0aW9uIGhhbGYtbGlmZQogICAgICAoVCZsdDtzdWImZ3Q7wr0mbHQ7L3N1YiZndDspLCBhcmVhIHVuZGVyIHRoZSB0aW1lLWNvbmNlbnRyYXRpb24gY3VydmUgZnJvbQogICAgICB0aW1lIHplcm8gdG8gdGhlIGxhc3QgdGltZSBwb2ludCBtZWFzdXJlZAogICAgICAoQVVDJmx0O3N1YiZndDsoMC10KSZsdDsvc3ViJmd0OyksIGFyZWEgdW5kZXIgdGhlIHRpbWUtY29uY2VudHJhdGlvbiBjdXJ2ZQogICAgICBmcm9tIHRpbWUgemVybyB0byB0aW1lIGluZmluaXR5IChBVUMmbHQ7c3ViJmd0OygwLWluZikmbHQ7L3N1YiZndDspLCBtZWFuCiAgICAgIHJlc2lkZW5jZSB0aW1lIGZyb20gdGltZSB6ZXJvIHRvIHRoZSBsYXN0IHRpbWUgcG9pbnQgbWVhc3VyZWQgKE1SVCgwLXQpKSwKICAgICAgbWVhbiByZXNpZGVuY2UgdGltZSBmcm9tIHRpbWUgemVybyB0byB0aW1lIGluZmluaXR5CiAgICAgIChNUlQmbHQ7c3ViJmd0OygwLWluZikmbHQ7L3N1YiZndDspLCBhbmQgYmlvYXZhaWxhYmlsaXR5ICglRikgd2VyZQogICAgICBkZXRlcm1pbmVkLiBCcmFpbiBjb25jZW50cmF0aW9uIHZlcnN1cyB0aW1lIGRhdGEgd2VyZSBhbHNvIGFuYWx5emVkIGJ5IHRoZQogICAgICBzYW1lIG5vbi1jb21wYXJ0bWVudGFsIGFwcHJvYWNoIHRvIGRlcml2ZSBleHBvc3VyZSBwYXJhbWV0ZXJzCiAgICAgIChDJmx0O3N1YiZndDttYXgmbHQ7L3N1YiZndDssIFQmbHQ7c3ViJmd0O21heCZsdDsvc3ViJmd0OywKICAgICAgVCZsdDtzdWImZ3Q7wr0mbHQ7L3N1YiZndDssIEFVQyZsdDtzdWImZ3Q7KDAtdCkmbHQ7L3N1YiZndDssCiAgICAgIEFVQyZsdDtzdWImZ3Q7KDAtaW5mKSZsdDsvc3ViJmd0OykgaW5jbHVkaW5nIGJyYWluIHBlbmV0cmFuY2UuJmx0Oy9wJmd0OwogICAgICAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1NjcmVlbmluZyBvZiBjLUFibCBpbmhpYml0b3IKICAgICAgY2FuZGlkYXRlcyZsdDsvc3Ryb25nJmd0OzogQSBtb2RpZmljYXRpb24gb2YgdGhlIE1QVFAgbW91c2UgbW9kZWwgd2FzIHVzZWQKICAgICAgZm9yIHNjcmVlbmluZyBzdHVkaWVzIG9mIGRydWcgY2FuZGlkYXRlcyBmb3IgYy1BYmwgdGFyZ2V0IGVuZ2FnZW1lbnQgaW4KICAgICAgdGhlIGJyYWluIGluIHRoZSBjb250ZXh0IG9mIG5ldXJvZGVnZW5lcmF0aXZlIGRpc2Vhc2UuIERydWcgY2FuZGlkYXRlcyBvcgogICAgICB2ZWhpY2xlIHdlcmUgYWRtaW5pc3RlcmVkIG9yYWxseSBpbiA4LTkgd2VlayBvbGQgbWFsZSBDNTdCTC82IG1pY2UgZm9yCiAgICAgIHByZXRyZWF0ZWQgdGhyZWUgZGF5cyBmb2xsb3dlZCBieSBNUFRQCiAgICAgICgxLU1ldGh5bC00LXBoZW55bC0xLDIsMyw2LXRldHJhaHlkcm9weXJpZGluZSBoeWRyb2NobG9yaWRlLCBDQVMgIwogICAgICAyMzAwNy04NS00KSBpbmplY3Rpb25zIG9uIGRheSA0ICgyMG1nL2tnIGV2ZXJ5IDIgaG91cnMgeCA0KS4gVHdlbnR5LWZvdXIKICAgICAgaG91cnMgbGF0ZXIgbWljZSB3ZXJlIGV1dGhhbml6ZWQsIGFuZCBicmFpbiBzYW1wbGVzIHdlcmUgY29sbGVjdGVkIGZvcgogICAgICB0YXJnZXQgZW5nYWdlbWVudCBzdHVkaWVzLiBNaWNlIChuID0gNSBwZXIgZ3JvdXApIHdlcmUgZGl2aWRlZCBpbnRvCiAgICAgIHRyZWF0bWVudCBncm91cHMgYXMgZm9sbG93czogQ29udHJvbCBQbHVzIFBsYWNlYm8sIE1QVFAgUGx1cyBQbGFjZWJvLCBNUFRQCiAgICAgIFBsdXMgSWtULTE0ODAwOSAoMTAwIG1nL2tnL2RheSksIE1QVFAgUGx1cyBJa1QtMTQ4MDMyICgxMDAgbWcva2cvZGF5KSBhbmQKICAgICAgTVBUUCBQbHVzIElrVC0xNDI3ICgxMDAgbWcva2cvZGF5KS4gQWxsIGRydWcgdHJlYXRtZW50IGdyb3VwcyB3ZXJlCiAgICAgIGNvLWFkbWluaXN0ZXJlZCBFbGFjcmlkYXIgKDEwMG1nL2tnKSBhIFAtZ2x5Y29wcm90ZWluIGluaGliaXRvciwgdG8gZW5zdXJlCiAgICAgIHBhc3NhZ2UgYWNyb3NzIHRoZSBibG9vZC1icmFpbiBiYXJyaWVyLiZsdDsvcCZndDsgJmx0O3AmZ3Q7U2VsZWN0ZWQgZHJ1ZwogICAgICBjYW5kaWRhdGVzIHdlcmUgYWxzbyBzY3JlZW5lZCBhZ2FpbnN0IHRoZSBjb21tZXJjaWFsIGMtQWJsIGluaGliaXRvcnMKICAgICAgTmlsb3RpbmliIGFuZCBEYXNhdGluaWIgdG8gZXZhbHVhdGUgYW55IHBvdGVudGlhbCBpbXByb3ZlbWVudCBpbiBicmFpbgogICAgICBwZW5ldHJhdGlvbiByZWxhdGl2ZSB0byBpbmhpYml0b3JzIHRoYXQgaGF2ZSBsaW1pdGVkIHBvdGVudGlhbCB0byBjcm9zcwogICAgICB0aGUgYmxvb2QtYnJhaW4gYmFycmllci4gTWljZSAobiA9IDUgcGVyIGdyb3VwKSB3ZXJlIGRpdmlkZWQgaW50byA1CiAgICAgIHRyZWF0bWVudCBncm91cHM6ICgxKSBTYWxpbmUvcGxhY2VibywgKDIpIE1QVFAgdHJlYXRtZW50IGFsb25lLCAoMykKICAgICAgTmlsb3RpbmliICgyNW1nL2tnL2RheSkgcGx1cyB3aXRoIE1QVFAgdHJlYXRtZW50LCAoNCkgRGFzYXRpbmliCiAgICAgICgyNW1nL2tnL2RheSkgd2l0aCBNUFRQIHRyZWF0bWVudCBhbmQgKDUpIElrVC0xNDgwMDkgKDEwMCBtZy9rZy9kYXkpICsKICAgICAgRWxhY3JpZGFyICgxMDAgbWcva2cpIHdpdGggTVBUUCB0cmVhdG1lbnQuIE5pbG90aW5pYiBhbmQgRGFzYXRpbmliIHdlcmUKICAgICAgc29sdWJpbGl6ZWQgaW4gYSB2ZWhpY2xlIGNvbnRhaW5pbmcgMTAlIE4tTWV0aHlsLTItcHlycm9saWRvbmUgKE5NUCkgYW5kCiAgICAgIDkwJSBwb2x5ZXRoeWxlbmUgZ2x5Y29sIDMwMCAoUEVHIDMwMCk7IGNhbmRpZGF0ZSBpbmhpYml0b3JzIHdlcmUgZGlzc29sdmVkCiAgICAgIGluIGJ1ZmZlcmVkIG9yIHVuYnVmZmVyZWQgd2F0ZXIgYXMgYXBwcm9wcmlhdGUuJmx0Oy9wJmd0OwogICAgICAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1ByZS1leHBvc3VyZSBwcm9waHlsYXhpcyBzdHVkeSBvZiBJa1QtMTQ4MDA5IGluIHRoZQogICAgICBNUFRQIG1vdXNlIG1vZGVsJmx0Oy9zdHJvbmcmZ3Q7OiBTZWxlY3Rpb24gb2YgSWtULTE0ODAwOSBmcm9tIHRoZSBNUFRQCiAgICAgIHNjcmVlbmluZyBzdHVkaWVzIHdhcyBmb2xsb3dlZCBieSBmdW5jdGlvbmFsIGFzc2Vzc21lbnQgb2YgSWtULTE0ODAwOSBpbiBhCiAgICAgIHByZS1leHBvc3VyZSBwcm9waHlsYXhpcyBNUFRQIG1vZGVsIGluIHdoaWNoIElrVC0xNDgwMDkgdHJlYXRtZW50IGRhaWx5CiAgICAgIGZvciB0aHJlZSBkYXlzIHByZWNlZGVkIE1QVFAgaW50cmEtcGVyaXRvbmVhbCAoaS5wLikgaW5qZWN0aW9uICgyMCBtZy9rZykuCiAgICAgIElrVC0xNDgwMDkgdHJlYXRtZW50IHJlc3VtZWQgYWZ0ZXIgdGhlIE1QVFAgZG9zaW5nIGRheSBmb3IgYW4gYWRkaXRpb25hbCA3CiAgICAgIGRheXMuIFRoZSBtaWNlIChuID0gMTAgcGVyIGdyb3VwKSB3ZXJlIGRpdmlkZWQgaW50byA0IHRyZWF0bWVudCBncm91cHMgYXMKICAgICAgZm9sbG93czogQ29udHJvbCAoU2FsaW5lL1BsYWNlYm8pLCBNUFRQIChwbGFjZWJvKSwgU2FsaW5lIFBsdXMgSWtULTE0ODAwOQogICAgICAoMTAwIG1nL2tnL2RheSksIGFuZCBJa1QtMTQ4MDA5ICgxMDAgbWcva2cpIGJlZm9yZSBhbmQgYWZ0ZXIgTVBUUAogICAgICB0cmVhdG1lbnQgKHNlZSBzY2hlbWF0aWMgaW4gRmlnLiAzYSkuIFRoZSBTYWxpbmUgYW5kIE1QVFAgZ3JvdXBzIHdlcmUKICAgICAgcHJlLXRyZWF0ZWQgd2l0aCBwbGFjZWJvIG9yIElrVC0xNDgwMDkgZGFpbHkgZm9yIDMgZGF5cyBieSBvcmFsIGdhdmFnZS4gT24KICAgICAgdGhlIDR0aCBkYXksIHRoZSBTYWxpbmUgYW5kIElrVC0xNDgwMDkgZ3JvdXBzIHJlY2VpdmVkIGZvdXIgaS5wLgogICAgICBpbmplY3Rpb25zIG9mIFNhbGluZS4gVGhlIE1QVFAgYW5kIElrVC0xNDgwMDkgcGx1cyBNUFRQIGdyb3VwcyByZWNlaXZlZAogICAgICBmb3VyIGkucC4gaW5qZWN0aW9ucyBvZiBNUFRQICgyMOKAhW1nL2tnIGZyZWUgYmFzZSkgYXQgMuKAhWhyLiBpbnRlcnZhbHMuCiAgICAgIEZvbGxvd2luZyBkYXkgNHRoLCBTYWxpbmUgYW5kIE1QVFAgZ3JvdXBzIHJlY2VpdmVkIG9ubHkgdmVoaWNsZSBmb3IgYW4KICAgICAgYWRkaXRpb25hbCA3IGRheXMuIElrVC0xNDgwMDkgYWxvbmUgYW5kIElrVC0xNDgwMDkgcGx1cyBNUFRQIGdyb3VwcwogICAgICByZWNlaXZlZCBvbmUgd2VlayBvZiBJa1QtMTQ4MDA5IGRhaWx5LiBCZWhhdmlvcmFsIHRlc3RzIHdlcmUgcGVyZm9ybWVkIG9uCiAgICAgIGRheSAxMC4gSW4gZWFjaCBncm91cCwgZml2ZSBtaWNlIHdlcmUgc2FjcmlmaWNlZCBvbiBkYXkgMTEgdG8gY29sbGVjdCB0aGUKICAgICAgYnJhaW4gc2FtcGxlcyBmb3IgbmV1cm9jaGVtaWNhbCwgYmlvY2hlbWljYWwuIEZpdmUgbWljZSBwZXIgZ3JvdXAgd2VyZQogICAgICBwZXJmdXNlZCBicmFpbnMgZm9yIGltbXVub2hpc3RvY2hlbWlzdHJ5IHN0dWRpZXMuJmx0Oy9wJmd0OwogICAgICAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0NvbmRpdGlvbmFsIGhBNTNULc6xLXN5bnVjbGVpbiBwcm9ncmVzc2l2ZSBkaXNlYXNlCiAgICAgIG1vZGVsJmx0Oy9zdHJvbmcmZ3Q7OsKgVGhlIHRoZXJhcGV1dGljIGVmZmVjdCBvZiBJa1QtMTQ4MDA5IHdhcyBldmFsdWF0ZWQKICAgICAgaW4gdGhlIFRldFAtQTUzVCDOsS1zeW51Y2xlaW4gbWljZS4gVGhlIHRyZWF0bWVudCBncm91cHMgYXMgZm9sbG93czogKDEpCiAgICAgIFZlaGljbGUgKyBXVC10VEEtUGxhY2VibyAobj0xNSksICgyKSBWZWhpY2xlICsgdGV0IEE1M1QtdFRBIChuPTE0KSwgKDMpCiAgICAgIElrVC0xNDgwMDkgKDEwMCBtZy9rZykgKyBXVC10VEEtUGxhY2VibyAobj0xMyksICg0KSBJa1QtMTQ4MDA5ICgxMDAgbWcva2cpCiAgICAgICsgdGV0IEE1M1QtdFRBIChuPTEzKSwgKDUpIElrVC0xNDgwMDkgKDUwIG1nL2tnKSArIEVsYWNyaWRhciAoMTAwIG1nL2tnKSArCiAgICAgIHRldCBBNTNULXRUQSAobj0xNCksIGFuZCAoNikgSWtULTE0ODAwOSAoMTAwIG1nL2tnKSArIEVsYWNyaWRhciAoMTAwCiAgICAgIG1nL2tnKSArIHRldCBBNTNULXRUQSAobj0xNSkuIE9yYWwgYWRtaW5pc3RyYXRpb24gKHAuby4pIG9mIElrVC0xNDgwMDkgb3IKICAgICAgVmVoaWNsZSB3ZXJlIGluaXRpYXRlZCBvbmUgbW9udGggYWZ0ZXIgdFRBIHZpcnVzIGluamVjdGlvbnMgYW5kCiAgICAgIGNvbnRpbnVvdXNseSBhZG1pbmlzdGVyZWQgZm9yIGZpdmUgbW9udGhzIHVudGlsIG1pY2Ugd2VyZSBldXRoYW5pemVkIGZvcgogICAgICBzYW1wbGUgY29sbGVjdGlvbnMuIEFtcGhldGFtaW5lLWluZHVjZWQgc3RlcmVvdHlwaWMgcm90YXRpb24gd2FzIHBlcmZvcm1lZAogICAgICBhdCAzIGFuZCA2IG1vbnRocy4gQXQgNiBtb250aHMsIG1pY2Ugd2VyZSBzYWNyaWZpY2VkLCBhbmQgYnJhaW5zIHdlcmUKICAgICAgcmVtb3ZlZCBmb3Igd2VzdGVybiBibG90IGFuZCBtb25vYW1pbmUgYW5hbHlzaXMuIEZvciBUSC1zdGVyZW9sb2d5IGFuZAogICAgICBpbW11bm9mbHVvcmVzY2VuY2UgYW5hbHlzaXMsIG1pY2Ugd2VyZSBwZXJmdXNlZCwgYW5kIHRoZSBicmFpbiB3YXMKICAgICAgcHJvY2Vzc2VkIGZvciBpbW11bm9oaXN0b2NoZW1pc3RyeS4mbHQ7L3AmZ3Q7CiAgICAgICZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7U3RlcmVvdGF4aWMgaW50cmFuaWdyYWwgdmlydXMKICAgICAgaW5qZWN0aW9uJmx0Oy9zdHJvbmcmZ3Q7OiBTdGVyZW90YXhpYyBpbmplY3Rpb24gd2FzIHBlcmZvcm1lZCB0byBpbmplY3QKICAgICAgQUFWLXRUQSB0byBkcml2ZSB0aGUgdGV0cmFjeWNsaW5lLWluZHVjaWJsZSBwcm9tb3Rvci4gQnJpZWZseSwgOC13ZWVrLW9sZAogICAgICBtaWNlIG9mIGluZGljYXRlZCBnZW5vdHlwZXMgd2VyZSBhbmVzdGhldGl6ZWQgd2l0aCBhIGNvY2t0YWlsIG9mIGtldGFtaW5lCiAgICAgIGFuZCB4eWxhemluZS4gQW5lc3RoZXRpemVkIG1pY2Ugd2VyZSBnZW50bHkgcGxhY2VkIG9uIHRoZSBtb3VzZQogICAgICBzdGVyZW90YXhpYyBmcmFtZSBhbmQgaW5jaXNpb25zIHdlcmUgbWFkZSBvbiB0aGUgc2NhbHAgdG8gZXhwb3N1cmUgYnJlZ21hCiAgICAgIHBvaW50IG9uIHRoZSBza3VsbC4gVGhlIGZyYW1lIGluc3RhbGxlZCB3aXRoIEhhbWlsdG9uIHN5cmluZ2UgKDLCtWwsIHBvaW50CiAgICAgIHN0eWxlIDMpIHdlcmUgZ3VpZGVkIHRvIHJlc3BlY3RpdmUgY29vcmRpbmF0ZXMgdG8gdGFyZ2V0IFNOcGMKICAgICAgKGFudGVyb3Bvc3RlcmlvciwgMy4yIG1tIGZyb20gYnJlZ21hOyBtZWRpb2xhdGVyYWwsIDEuMyBtbTsgZG9yc292ZW50cmFsLAogICAgICA0LjMgbW0pIHVuaWxhdGVyYWxseSBzdGVyZW90YXhpYyBpbmplY3Rpb24gd2FzIHBlcmZvcm1lZC4gVGhlIEhhbWlsdG9uCiAgICAgIHN5cmluZ2Ugd2FzIGxvYWRlZCB3aXRoIEFBViB2aXJ1cyBwYXJ0aWNsZSBhbmQgbW91c2Ugd2FzIGluZnVzZWQgd2l0aCAywrVsCiAgICAgIHZpcnVzIHBhcnRpY2xlIChhdCBhIHJhdGUgb2YgMC4yIMK1bC9taW4gZm9yIDEwbWluIGR1cmF0aW9uKS4gVGhlIG5lZWRsZQogICAgICB3YXMgcGxhY2VkIG9uIHRoZSBpbmplY3Rpb24gc2l0ZSBmb3IgZml2ZSBtaW51dGVzIGZvciB0aGUgY29tcGxldGUKICAgICAgYWJzb3JwdGlvbiBvZiB0aGUgcGFydGljbGVzIGFuZCB0aGVuIGdlbnRsZSByZXRyYWN0ZWQgbmVlZGxlLiBTdXJnZXJ5IHdhcwogICAgICBjb21wbGV0ZWQgYnkgc3V0dXJpbmcgb2Ygc2tpbiBhbmQgYXBwbHlpbmcgdGhlIGFudGliaW90aWMgY3JlYW0gZm9yIHRoZQogICAgICB3b3VuZCBoZWFsaW5nIHByb2Nlc3MuIFRoZSBtaWNlIHdlcmUgcmVtb3ZlZCBmcm9tIHRoZSBzdGVyZW90YXhpYyBmcmFtZQogICAgICBhbmQgcGxhY2VkIG9uIHRoZSBoZWF0ZWQgcmVjb3ZlcnkgY2FnZSBhbmQgb25jZSB0aGUgbWljZSBjb21wbGV0ZWQKICAgICAgcmVjb3ZlcmVkIHRoZXkgd2VyZSB0aGVuIG1vdmVkIHRvIGEgaG9tZSBjYWdlLiBUaGUgYW5pbWFsIHdhcyBtb25pdG9yZWQKICAgICAgYW5kIHBvc3QtY2FyZSB3YXMgcHJvdmlkZWQgdG8gYWxsIHRoZSBhbmltYWxzLsKgJmx0Oy9wJmd0OwogICAgICAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O2EtU3ludWNsZWluIFByZS1mb3JtZWQgRmlicmlsIFByb2dyZXNzaXZlIERpc2Vhc2UKICAgICAgTW9kZWwmbHQ7L3N0cm9uZyZndDs6IEM1N0JsLzYgbWljZSB3ZXJlIHB1cmNoYXNlZCAoSmFja3NvbiBMYWJzKSBhbmQKICAgICAgcmFuZG9tIG51bWJlcnMgd2VyZSBnZW5lcmF0ZWQgdXNpbmcgR3JhcGhQYWQgc29mdHdhcmUgKHdlYi1iYXNlZCkgZm9yCiAgICAgIG1vdXNlIGlkZW50aWZpY2F0aW9uIGFuZCBmb3IgdGhlIGJsaW5kZWQgc3R1ZHkuIE1pY2Ugd2VyZSBkaXZpZGVkIGludG8KICAgICAgZm91ciB0cmVhdG1lbnQgZ3JvdXBzIChuPSAxNSB0byAxOCBtaWNlL2dyb3VwKSBhcyBmb2xsb3dzLiwgKDEpIFBCUy8KICAgICAgUGxhY2VibyAoMikgUEJTIC8gSWtULTE0ODAwOSAoMykgYS1TeW4tUEZGLyBQbGFjZWJvLCBhbmQgKDQpIGEtU3luLVBGRi8KICAgICAgSWtULTE0ODAwOS4gT25lIG1vbnRoIGFmdGVyIHRoZSBQQlMgb3IgUEZGIGluamVjdGlvbiwgbWljZSB3ZXJlIHRyZWF0ZWQKICAgICAgd2l0aCBQbGFjZWJvIG9yIElrVC0xNDgwMDkgKDEwMCBtZy9rZywgb25jZSBhIGRheSwgZml2ZSBkYXlzIHBlciB3ZWVrKSBmb3IKICAgICAgdXAgdG8gc2l4IG1vbnRocyBvZiBhZ2UgYnkgb3JhbCBhZG1pbmlzdHJhdGlvbiAocC5vLikuIEJlaGF2aW9yYWwgc3R1ZGllcwogICAgICBpbmNsdWRpbmcgdGhlIFBvbGUgdGVzdCBhbmQgR3JpcCBTdHJlbmd0aCwgYXMgd2VsbCBhcyBib2R5d2VpZ2h0IHdlcmUKICAgICAgY29uZHVjdGVkIGF0IDMgYW5kIDYgbW9udGhzIG9mIGFnZS4gQXQgc2l4IG1vbnRocywgbWljZSB3ZXJlIGV1dGhhbml6ZWQgdG8KICAgICAgY29sbGVjdCB0aGUgYnJhaW4gc2FtcGxlcy4gU2V2ZW4gdG8gdGVuIG1pY2Ugd2VyZSBwZXJmdXNlZCwgYnJhaW5zIHdlcmUKICAgICAgc2VjdGlvbmVkIGFuZCBwcm9jZXNzZWQgZm9yIGhpc3RvbG9naWNhbCBzdHVkaWVzLiBTaW1pbGFybHksIGVpZ2h0IHRvIHRlbgogICAgICBtaWNlIHdlcmUgc2FjcmlmaWNlZCBmb3IgYmlvY2hlbWljYWwgYW5kIG5ldXJvY2hlbWljYWwgc3R1ZGllcy4gQSBibGluZGVkCiAgICAgIHN0dWR5IHByb3RvY29sIHdhcyBmb2xsb3dlZCBkdXJpbmcgYWxsIGV4cGVyaW1lbnQgcHJvY2VkdXJlcyB0byBhY3F1aXJlCiAgICAgIHRoZSBkYXRhLiZsdDsvcCZndDsgJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDvOsS1TeW4tUEZGIHByZXBhcmF0aW9uIGFuZAogICAgICB1c2UmbHQ7L3N0cm9uZyZndDs6IFJlY29tYmluYW50IG1vdXNlIM6xLVN5bi1QRkZzIHdlcmUgbWFkZSBhcyBkZXNjcmliZWQKICAgICAgcHJldmlvdXNseS4gQnJpZWZseSwgQkwyMS1jb21wZXRlbnQgRS4gY29saSB3ZXJlIHRyYW5zZm9ybWVkIHdpdGgKICAgICAgZnVsbC1sZW5ndGggbW91c2UgzrEtU3luIGdyb3duIG92ZXJuaWdodCBpbiB0aGUgc3RhcnRlciBjdWx0dXJlLCBhbmQgZm9yCiAgICAgIGJ1bGsgcHJvZHVjdGlvbiwgdGhlIG1peHR1cmUgd2FzIGdyb3duIGluIHRoZSBUZXJyaWZpYyBicm90aCB3aXRoCiAgICAgIG92ZXJuaWdodCBzaGFraW5nIGF0IDM3wrBDLiBUaGUgY3VsdHVyZSB3YXMgc3B1biBkb3duIGFuZCBiYWN0ZXJpYWwgcGVsbGV0cwogICAgICB3ZXJlIHJlc3VzcGVuZGVkIGluIGljZS1jb2xkIGhpZ2gtc2FsdCBidWZmZXIgKDEgbU0gRURUQSwgMW1NIFBNU0YsIGFuZAogICAgICBwcm90ZWFzZSBpbmhpYml0b3JzKS4gUGVsbGV0cyB3ZXJlIHNvbmljYXRlZCBvbiBpY2UsIGJvaWxlZCBhdCAxMDDCsEMgZm9yCiAgICAgIDE1bWluLCB0aGVuIHRoZSByZXN1bHRhbnQgbWl4dHVyZSB3YXMgc3B1biBhdCA2MDAwIHggZyBhbmQgdGhlIHN1cGVybmF0YW50CiAgICAgIHdhcyBjb2xsZWN0ZWQuIFRoZSBzdXBlcm5hdGFudCB3YXMgZGlhbHl6ZWQgaW4gZGlhbHlzaXMgYnVmZmVyICgxMCBtTSBUcmlzCiAgICAgIChwSCA3LjYpLCA1MCBtTSBOYUNsLCAxIG1NIEVEVEEpIGZvciBidWZmZXIgZXhjaGFuZ2UgZm9yIGFuIGhvdXIgYXQgcm9vbQogICAgICB0ZW1wZXJhdHVyZSwgdGhlbiB0aGUgc3VwZXJuYXRhbnQgd2FzIGZ1cnRoZXIgZGlhbHl6ZWQuIGluIGZyZXNoIGRpYWx5c2lzCiAgICAgIGJ1ZmZlciBvdmVybmlnaHQgYXQgNCDCsEMuIFRoZSBvdmVybmlnaHQgcHJvdGVpbiBzYW1wbGUgd2FzIGNvbmNlbnRyYXRlZAogICAgICB3aXRoIGEgY2VudHJpZnVnZSBmaWx0ZXIgKDMuNSBrRGEgY3V0b2ZmLCBBbWljb24pIGFuZCBjb2xsZWN0ZWQgc2FtcGxlcwogICAgICB3ZXJlIGZpbHRlcmVkIHVzaW5nIGEgMC4yMiDCtW0gc3lyaW5nZSBmaWx0ZXIgYW5kIGxvYWRlZCBpbnRvIEZQTEMKICAgICAgY29ubmVjdGVkIHRvIGEgU3VwZXJkZXggMjAwIFNFQyBjb2x1bW4gZm9yIHNlcGFyYXRpb24uIFJlbGV2YW50IGZyYWN0aW9ucwogICAgICBvZiDOsS1zeW51Y2xlaW4gd2VyZSBidWZmZXIgZXhjaGFuZ2VkICgxMCBtTSBUcmlzLCBwSCA3LjYsIDI1IG1NIE5hQ2wsIDEgbU0KICAgICAgRURUQSkgYW5kIGZ1cnRoZXIgcHVyaWZpZWQgYnkgYW5pb24tZXhjaGFuZ2UgY2hyb21hdG9ncmFwaHkgKEhpLVRyYXAgUSBIUCkKICAgICAgYW5kIGZyYWN0aW9ucyB3ZXJlIGNvbGxlY3RlZCwgYW5hbHl6ZWQsIGFuZCBleGNoYW5nZWQgaW50byA1MCBtTSBOYUNsCiAgICAgIGJ1ZmZlciB5aWVsZGluZyBwdXJpZmllZCDOsS1zeW51Y2xlaW4gc3RvcmVkIGF0IC04MCDCsEMuIEJhY3RlcmlhbCBlbmRvdG94aW4KICAgICAgd2FzIHJlbW92ZWQgdXNpbmcgdGhlIFRveGluZXJhc2VyJmx0O3N1cCZndDtUTSZsdDsvc3VwJmd0OyBlbmRvdG94aW4KICAgICAgcmVtb3ZhbCBraXQgKEdlbnNjcmlwdCZsdDtzdXAmZ3Q7wq4mbHQ7L3N1cCZndDssIENhdCAjIEwwMDMzOCkuIFRvIHByZXBhcmUKICAgICAgZmlicmlscywgbW9ub21lciBwcm90ZWluIHdhcyB0aGF3ZWQgcXVpY2tseSBhbmQgZGlsdXRlZCB0byA1IG1nL21MIGluIFBCUywKICAgICAgYW5kIHRoZSBtb25vbWVyIHdhcyBhZ2l0YXRlZCBjb250aW51YWxseSBmb3Igb25lIHdlZWsgKDEsMDAwIHJwbSwgMzcgwrBDKQogICAgICB0byBmb3JtIHRoZSBmaWJyaWxzIGFuZCBzdG9yZWQgYXQgLTgwIMKwQy4gT24gdGhlIGRheSBvZiBzdHJpYXRhbCBzdXJnZXJ5LAogICAgICDOsS1zeW51Y2xlaW4tUEZGcyB3ZXJlIHRoYXdlZCBhdCByb29tIHRlbXBlcmF0dXJlIGFuZCBkaWx1dGVkIHRvIDIuNSBtZy9tTAogICAgICBhbmQgdGhlbiBzb25pY2F0ZWQgKG9uIGljZSkgYXQgMzAlIGFtcGxpdHVkZSBmb3IgMTIwIHNlY29uZHMgKDFzIG9uL29mZikKICAgICAgd2l0aCBhIHByb2JlLXRpcCBzb25pY2F0b3IgKEJyYW5zb24gRGlnaXRhbCBTb25pZmllciwgRGFuYnVyeSwgQ1QsCiAgICAgIFVTQSkuJmx0Oy9wJmd0OyAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1N0ZXJlb3RhY3RpYyBzdXJnZXJ5IGZvcgogICAgICBpbnRyYXN0cmlhdGFsIM6xU3luLVBGRiBpbmplY3Rpb25zJmx0Oy9zdHJvbmcmZ3Q7OiBUaGUgbWFsZSBDNTdCTC82IG1pY2UKICAgICAgKDItMyBtb250aHMgb2xkKSB3ZXJlIGFuZXN0aGV0aXplZCB3aXRoIGEgY29ja3RhaWwgb2Yga2V0YW1pbmUgSENMCiAgICAgICgxMDBtZy9rZykveHlsYXppbmUgKDEwbWgva2cpIGkucC4gaW5qZWN0aW9ucywgc2VjdXJlZCB3aXRoIGVhciBiYXJzIGludG8KICAgICAgYSBzdGVyZW90YWN0aWMgZnJhbWUuIFRoZSBza3VsbCB3YXMgZXhwb3NlZCB2aWEgYSBzY2FscCBpbmNpc2lvbiB0byBsb2NhdGUKICAgICAgYnJlZ21hIGFuZCBob2xlcyBpbiB0aGUgc2t1bGwgd2VyZSBtYWRlIGF0IHRoZSBmb2xsb3dpbmcgY29vcmRpbmF0ZXMgKzAuMgogICAgICBtbSAoQVApLCArMiBtbSAoTUwpLCBhbmQgLTIuNiBtbSAoRFYpLiBIYW1pbHRvbiBzeXJpbmdlICgxMMK1bCwgcG9pbnQgc3R5bGUKICAgICAgMykgaW5zdGFsbGVkIGluIHRoZSBzdGVyZW90YXhpYyBmcmFtZSB3ZXJlIGxvYWRlZCB3aXRoIFBCUyBvciDOsS1TeW4tUEZGLgogICAgICBQcm9iZSB3YXMgZ2VudGx5IGxvd2VyZWQgaW50byB0aGUgcmVzcGVjdGl2ZSBpbmplY3Rpb24gc2l0ZS4gVGhlIGFjY29yZGluZwogICAgICBncm91cCBtaWNlIGVpdGhlciByZWNlaXZlZCAyIMK1bCBvZiBQQlMgb3IgzrEtU3luLVBGRiBpbmplY3Rpb25zICjOsVN5bi1QRkYKICAgICAgYXQgMi41IMK1Zy/CtWwpIGludG8gdGhlIHJpZ2h0IHN0cmlhdHVtLiBUaGUgcHJvYmUgd2FzIGtlcHQgYXQgdGhlIGluamVjdGlvbgogICAgICBzaXRlIGZvciA1bWluIGJlZm9yZSByZXRyYWN0aW5nIGFuZCBmb2xsb3dlZCBieSB0aGUgY2xvc3VyZSBvZiB0aGUgc3V0dXJlcwogICAgICBhbmQgYXBwbHlpbmcgYW50aWJpb3RpYyBvaW50bWVudC4gQW5pbWFsIHdlcmUgcGxhY2VkIGluIHRoZSByZWNvdmVyeQogICAgICBjaGFtYmVyIGJlZm9yZSBtb3ZpbmcgaW50byB0aGUgaG9tZSBjYWdlLiZsdDsvcCZndDsKICAgICAgJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtCZWhhdmlvcmFsIHN0dWRpZXMmbHQ7L3N0cm9uZyZndDs6Jmx0Oy9wJmd0OwogICAgICAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0FtcGhldGFtaW5lLWluZHVjZWQgc3RlcmVvdHlwaWMKICAgICAgcm90YXRpb24mbHQ7L3N0cm9uZyZndDs6IEF0IHRocmVlLSBhbmQgc2l4LW1vbnRoIHRpbWUtcG9pbnQsIHRvIHF1YW50aWZ5CiAgICAgIHRoZSBudW1iZXIgb2YgYW1waGV0YW1pbmUtaW5kdWNlZCBzdGVyZW90eXBpYyByb3RhdGlvbiB0aGUgZGlmZmVyZW50CiAgICAgIHRyZWF0bWVudCBncm91cCBtaWNlIHdlcmUgaW5qZWN0ZWQgd2l0aCBhbXBoZXRhbWluZSAoQU1QSCkgKDVtZy9rZywgaS5wLikuCiAgICAgIEFmdGVyIEFNUEggaW5qZWN0aW9uLCB0aGUgbWljZSB3ZXJlIHBsYWNlZCBpbnRvIGEgZ2xhc3MgYmVha2VyICg1IEwpIG9mCiAgICAgIDIwLWNtIGRpYW1ldGVyLCBhbmQgdmlkZW8gd2FzIHJlY29yZGVkIGZvciAyMCBtaW51dGVzIHRvIG9ic2VydmUKICAgICAgQU1QSC1pbmR1Y2VkIHJvdGF0aW9uLiBUaGUgdmlkZW8gcmVjb3JkaW5nIHdhcyBzY29yZWQgYnkgbGFiIHBlcnNvbm5lbAogICAgICBibGluZGVkIHRvIHRoZSBzdHVkeSwgYW5pbWFsIGdlbm90eXBlLCBhbmQgdHJlYXRtZW50cy4gVGhlIG1ham9yIGNyaXRlcmlhCiAgICAgIGluIGRldGVybWluaW5nIHRoZSByb3RhdGlvbiBpcyB3aGVuIHRoZSBtaWNlIGNvbXBsZXRlIGlwc2lsYXRlcmFsIGZ1bGwKICAgICAgY29tcGxldGUgcm90YXRpb25zIChjbG9ja3dpc2UpLiZsdDsvcCZndDsgJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtHcmlwCiAgICAgIHN0cmVuZ3RoIHRlc3QmbHQ7L3N0cm9uZyZndDs6IFRoZSBncmlwIHN0cmVuZ3RoIHRlc3Qgd2FzIHVzZWQgdG8gbWVhc3VyZQogICAgICBuZXVyb211c2N1bGFyIHN0cmVuZ3RoIGluIHRoZSB0cmVhdG1lbnQgZ3JvdXAgbWljZSBieSB1c2luZyBCaW9zZWIgZ3JpcAogICAgICBzdHJlbmd0aCB0ZXN0IGRldmljZSAoQklPLUdTMywgUGluZWxsYXMgUGFyaywgRkwpIGFzIHByZXZpb3VzbHkgZGVzY3JpYmVkLgogICAgICBNaWNlIHdlcmUgZ2VudGx5IHBsYWNlZCBvbiBhIG1ldGFsIGdyaWQgdG8gZ3JhYiB0aGUgbWV0YWwgZ3JpZCBieSBlaXRoZXIKICAgICAgZm9yZWxpbWIgKGZvcmVwYXcpIGFsb25lIG9yIHRoZSBmb3JlbGltYiBhbmQgaGluZGxpbWJzLiBUaGUgc3ViamVjdCBpcwogICAgICBwbGFjZWQgb24gdGhlIGdyaWQsIGhvbGRpbmcgdGFpbCBieSB0aGUgZXhhbWluZXIgcmVjb3JkcyB0aGUgZm9yd2FyZAogICAgICBwdWxsaW5nIGZvcmNlIGluIHRoZSBob3Jpem9udGFsIHBsYW5lLiBUaGUgZ3JpZCBpcyBjb25uZWN0ZWQgdG8gYSBmb3JjZQogICAgICB0cmFuc2R1Y2VyIHdoaWNoIHJlY29yZHMgdGhlIG1heGltYWwgcHVsbGluZyBmb3JjZSAoaW4gZ3JhbXMpLiZsdDsvcCZndDsKICAgICAgJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtQb2xlIHRlc3QmbHQ7L3N0cm9uZyZndDs6IEFuaW1hbHMgd2VyZSBhY2NsaW1hdGl6ZWQKICAgICAgaW4gdGhlIHByb2NlZHVyZSByb29tIGZvciAzMOKAhW1pbiBwcmlvciB0byB0aGUgZXhwZXJpbWVudHMuIFRoZSBwb2xlIGlzCiAgICAgIG1hZGUgdXAgMi41IGZ0IG1ldGFsIHJvZCB3aXRoIDnigIVtbSBkaWFtZXRlciBhbmQgd3JhcHBlZCB3aXRoIGJhbmRhZ2UKICAgICAgZ2F1emUuIEJyaWVmbHksIHRoZSBtaWNlIHdlcmUgcGxhY2VkIG9uIHRoZSB0b3Agb2YgdGhlIHBvbGUgKDMgaW5jaCBmcm9tCiAgICAgIHRoZSB0b3Agb2YgdGhlIHBvbGUpIGZhY2luZyB0aGUgaGVhZC11cC4gVGhlIHRpbWUgdGFrZW4gdG8gdHVybiB0aGUgd2hvbGUKICAgICAgYm9keSB0b3dhcmRzIHRoZSBmYWNlLWRvd24gcG9zaXRpb24gKFR1cm4gdGltZSkgYW5kIHRoZSB0b3RhbCB0aW1lIHRha2VuCiAgICAgIHRvIHJlYWNoIHRoZSBiYXNlIChEZXNjZW5kaW5nIHRpbWUpIG9mIHRoZSBwb2xlIHdhcyByZWNvcmRlZC4gQmVmb3JlIHRoZQogICAgICBhY3R1YWwgdGVzdCwgdGhlIG1pY2Ugd2VyZSB0cmFpbmVkIGZvciB0d28gY29uc2VjdXRpdmUgZGF5cyBhbmQgZWFjaAogICAgICB0cmFpbmluZyBzZXNzaW9uIGNvbnNpc3RzIG9mIHRocmVlIHRlc3QgdHJpYWxzLiBUaGUgbWF4aW11bSBjdXQtb2ZmCiAgICAgIChhbGxvd2VkIHRpbWUpIG9mIHRpbWUgdG8gY29tcGxldGUgdGhlIHRlc3Qgd2FzIDEyMOKAhXNlYy4gUmVzdWx0cyB3ZXJlCiAgICAgIGV4cHJlc3NlZCBpbiB0b3RhbCB0aW1lIChpbiBzZWMpLiZsdDsvcCZndDsKICAgICAgJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtCaW9jaGVtaWNhbCBTdHVkaWVzJmx0Oy9zdHJvbmcmZ3Q7OiZsdDsvcCZndDsKICAgICAgJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtUaXNzdWUgbHlzYXRlIHByZXBhcmF0aW9uJmx0Oy9zdHJvbmcmZ3Q7OiBCcmFpbgogICAgICBseXNhdGVzIHdlcmUgcHJlcGFyZWQgYXMgZGVzY3JpYmVkIHByZXZpb3VzbHkgd2l0aCBzb21lIG1vZGlmaWNhdGlvbnMuCiAgICAgIFNvbHVibGUgZnJhY3Rpb25zIHdlcmUgbWFkZSBieSBob21vZ2VuaXphdGlvbiBvZiB0aXNzdWUgaW4gYnJhaW4gbHlzaXMKICAgICAgYnVmZmVyICgxMCBtTSBUcmlzLUhDbCwgcEggNy40LCAxNTAgbU0gTmFDbCwgNSBtTSBFRFRBLCAwLjUlIE5vbmlkZXQgUC00MCwKICAgICAgUGhvc3BoYXRhc2UgSW5oaWJpdG9yIChSb2NoZSksIGFuZCBjb21wbGV0ZSBwcm90ZWFzZSBpbmhpYml0b3IgKFJvY2hlKSkuCiAgICAgIEJyaWVmbHksIHRoZSBicmFpbiB0aXNzdWUgd2FzIGhvbW9nZW5hdGVkIGJ5IFBURkUgcGVzdGxlIHdpdGggc3RlZWwgc2hhZnQKICAgICAgVGlzc3VlIGdyaW5kZXIgaG9tb2dlbml6ZXIgKDFtbCkgY29ubmVjdGVkIHdpdGggaGFuZGhlbGQgQ29yZGxlc3MgbW90b3IuCiAgICAgIFRoZSBzYW1wbGVzIHdlcmUgaG9tb2dlbml6ZWQgd2l0aCAxOjEwICh3dC4vdm9sKSBzb2x1YmxlIGx5c2lzIGJ1ZmZlciBvbgogICAgICBpY2UgZm9yIGFib3V0IDIwIHN0b2tlIHdpdGggaG9tb2dlbml6ZXIuIFRoZSBob21vZ2VuYXRlIHdhcyBjb2xsZWN0ZWQgYW5kCiAgICAgIGNlbnRyaWZ1Z2VkIGZvciAzMCBtaW51dGVzIGF0IDQgwrBDLCAxNTAwMCB4IGcsIGFuZCB0aGUgcmVzdWx0aW5nCiAgICAgIHN1cGVybmF0YW50IChzb2x1YmxlKSBmcmFjdGlvbnMgd2VyZSBjYXJlZnVsbHkgdHJhbnNmZXJyZWQgdG8KICAgICAgbWljcm9jZW50cmlmdWdlIHR1YmUuIFRoZSBwZWxsZXQgd2FzIHdhc2hlZCB3aXRoIHNvbHVibGUgbHlzaXMgYnVmZmVyIHNwaW4KICAgICAgZG93biBtYXggYXQgY29sZCBhbmQgdGhlIHN1cGVybmF0YW50IHdhcyBkaXNjYXJkZWQuIFRvIHRoZSByZXN1bHRpbmcKICAgICAgcGVsbGV0IGluc29sdWJsZSBseXNpcyBidWZmZXIgKGNvbnRhaW5zIDEwIG1NIFRyaXMtSENsLCBwSCA3LjQsIDE1MCBtTQogICAgICBOYUNsLCA1IG1NIEVEVEEsIDAuNSUgTm9uaWRldCBQLTQwLCAyJSBTRFMgYW5kIDAuNSUgc29kaXVtIGRlb3h5Y2hvbGF0ZSwKICAgICAgUGhvc3BoYXRhc2UgSW5oaWJpdG9yIChSb2NoZSksIGFuZCBjb21wbGV0ZSBwcm90ZWFzZSBpbmhpYml0b3IgKFJvY2hlKSkKICAgICAgd2VyZSBhZGRlZCBhbmQgcmVzdXNwZW5kZWQgYW5kIHRoZW4gc29uaWNhdGVkICgzMCUgYW1wbGl0dWRlIDVzZWMgT04sIDNzZWMKICAgICAgT0ZGIGZvciAzIGN5Y2xlKSBvbiBpY2UuIFRoZSBob21vZ2VuYXRlIHdhcyBjZW50cmlmdWdlZCBhdCBtYXggZm9yIDMwIG1pbiwKICAgICAgYW5kIHRoZSByZXN1bHRpbmcgc3VwZXJuYXRhbnQgd2FzIGNvbGxlY3RlZC4gUHJvdGVpbiBsZXZlbHMgaW4gdGlzc3VlCiAgICAgIGx5c2F0ZXMgd2VyZSBxdWFudGlmaWVkIHVzaW5nIGEgUGllcmNlIEJDQSBwcm90ZWluIGFzc2F5IGtpdCAoVGhlcm1vCiAgICAgIFNjaWVudGlmaWMpLiZsdDsvcCZndDsgJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtXZXN0ZXJuIGJsb3QKICAgICAgYW5hbHlzaXMmbHQ7L3N0cm9uZyZndDs6IFRoZSBkZXRlcmdlbnQtc29sdWJsZSwgb3IgZGV0ZXJnZW50LWluc29sdWJsZQogICAgICBzYW1wbGVzIHdlcmUgbm9ybWFsaXplZCBiYXNlZCBvbiB0aGUgcHJvdGVpbiBjb25jZW50cmF0aW9uLCBib2lsZWQgaW4gMngKICAgICAgTGFlbW1sZSBidWZmZXIsIGFuZCBsb2FkZWQuIFRoZSBzYW1wbGVzIHdlcmUgZWxlY3Ryb3Bob3Jlc2VkIG9uIDQtMjAlCiAgICAgIFNEUy1QQUdFIGFuZCB0cmFuc2ZlcnJlZCB0byBuaXRyb2NlbGx1bG9zZSBtZW1icmFuZXMuIE1lbWJyYW5lcyB3ZXJlCiAgICAgIGJsb2NrZWQgd2l0aCA1JSBCU0Egb3IgNSUgbm9uZmF0IGRyeSBtaWxrICh3dC4vdm9sKSBpbiBUQlMtVCBhbmQgaW5jdWJhdGVkCiAgICAgIHdpdGggcHJpbWFyeSBhbnRpYm9kaWVzIG92ZXJuaWdodCBhdCA0wrBDLiBPbiBkYXkgdHdvLCB3YXNoZWQgYmxvdHMgd2VyZQogICAgICBpbmN1YmF0ZWQgd2l0aCBzZWNvbmRhcnkgYW50aWJvZHkgY29uanVnYXRlZCB3aXRoIEhSUCBhbmQgdGhlIHNpZ25hbCB3YXMKICAgICAgZGV0ZWN0ZWQgdXNpbmcgY2hlbWlsdW1pbmVzY2VudCBzdWJzdHJhdGVzLiBGb3IgZGV0ZWN0aW5nIHVzaW5nIE9keXNzZXkKICAgICAgQ0x4LCBibG90cyB3ZXJlIHByb2JlZCB3aXRoIHNlY29uZGFyeSBhbnRpYm9kaWVzIGNvbmp1Z2F0ZWQgd2l0aCBpbmZyYXJlZAogICAgICBkeWVzICg2ODBubSBhbmQgODAwbm0pIGFuZCBzY2FubmVkIHVzaW5nIGFuIE9keXNzZXkgQ0x4IChMaUNvcikuJmx0Oy9wJmd0OwogICAgICAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0ltbXVub2hpc3RvY2hlbWlzdHJ5Jmx0Oy9zdHJvbmcmZ3Q7OiBBbmVzdGhldGl6ZWQKICAgICAgbWljZSB3ZXJlIHBlcmZ1c2VkIHdpdGggaWNlLWNvbGQgcGhvc3BoYXRlLWJ1ZmZlcmVkIHNhbGluZSAoUEJTLCBwSCA3LjQpLgogICAgICBCcmFpbnMgd2VyZSByZW1vdmVkIGFuZCBwb3N0IGZpeGVkIGZvciAyIGRheXMgaW4gNCUgcGFyYWZvcm1hbGRlaHlkZS9QQlMKICAgICAgc29sdXRpb24uIEJyYWlucyB3ZXJlIGVtYmVkZGVkIHdpdGggMzAlIHN1Y3Jvc2UvUEJTIChwSCA3LjQpIGZvciAyIGRheXMsCiAgICAgIHRoZW4gZnJvemVuIGJyYWluIGJsb2NrcyB3ZXJlIHByZXBhcmVkIG9uIGRyeSBpY2UuIFRoZSBibG9ja3Mgd2VyZQogICAgICBzZWN0aW9uZWQgd2l0aCBhIHRlbXBlcmF0dXJlLWNvbnRyb2xsZWQgY3J5b3N0YXQgKExlaWNhIENNIDMwNTBzKSBhbmQKICAgICAgc2VyaWFsIGNvcm9uYWwgc2VjdGlvbnMgb2YgNTDigIXOvG0gc2VjdGlvbnMgd2VyZSBjb2xsZWN0ZWQuIEZyZWUtZmxvYXRpbmcKICAgICAgc2VjdGlvbnMgd2VyZSBpbmN1YmF0ZWQgd2l0aCAzJSBIMk8yIHdhc2hlZCBhbmQgYmxvY2tlZCB3aXRoIDQlIG5vcm1hbAogICAgICBnb2F0IHNlcnVtL1BCUyBwbHVzIDAuMiUgVHJpdG9uIFgtMTAwIGFuZCBpbmN1YmF0ZWQgd2l0aCBhbiBhbnRpYm9keQogICAgICBhZ2FpbnN0IFRIIChOQjMwMC0xMDksIDE6MjAwMCwgcmFiYml0IHBvbHljbG9uYWw7IE5vdnVzIEJpb2xvZ2ljYWxzKQogICAgICBmb2xsb3dlZCBieSBpbmN1YmF0aW9uIHdpdGggYmlvdGluLWNvbmp1Z2F0ZWQgYW50aS1yYWJiaXQgYW50aWJvZHkKICAgICAgKGFudGktcmFiYml0IHBvbHljbG9uYWw7IFZlY3RvciBMYWJzKSwgVkVDVEFTVEFJTiBFbGl0ZSBBQkMtSFJQIGtpdAogICAgICAoVmVjdG9yIExhYm9yYXRvcmllcywgUEstNjEwMSwgUlJJRDogQUJfMjMzNjgyMCkgYW5kIFNpZ21hRmFzdCBEQUIKICAgICAgUGVyb3hpZGFzZSBTdWJzdHJhdGUgKFNpZ21hLUFsZHJpY2gsIENhdCAjIEQ0MjkzLCBDQVMgbm8uIDkxLTk1LTIpLiBBCiAgICAgIHN0YW5kYXJkIHN0YWluaW5nIHByb3RvY29sIHdhcyB1c2VkIGZvciBjb3VudGVyc3RhaW5pbmcgd2l0aCBOaXNzbCAoMC4wOSUKICAgICAgdGhpb25pbikuJmx0Oy9wJmd0OyAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1N0ZXJlb2xvZ3kgYW5hbHlzaXMgYW5kIGZpYmVyCiAgICAgIGRlbnNpdHkmbHQ7L3N0cm9uZyZndDs6IFN0ZXJlbyBJbnZlc3RpZ2F0b3IgKE1pY3JvIEJyaWdodC1GaWVsZCwKICAgICAgUlJJRDpTQ1JfMDAyNTI2KSBzb2Z0d2FyZSB3YXMgdG8gdXNlIHRvIGNvdW50IHRoZSBudW1iZXIgb2YgVEgtcG9zaXRpdmUKICAgICAgYW5kIE5pc3NsIHBvc2l0aXZlIG5ldXJvbnMuIEJ5IHVzaW5nIG9wdGljYWwgZnJhY3Rpb25hdG9ycyB3b3JrZmxvdywgd2UKICAgICAgZHJhdyB0aGUgY29udG91ciBhcmVhIGFyb3VuZCB0aGUgU05wYyByZWdpb24gdXNpbmcgMi41eCBhbmQgY291bnRlZCB0aGUKICAgICAgbmV1cm9ucyBhdCAxMDB4IChvaWwpIG1hZ25pZmljYXRpb24uIFRoaXMgaXMgYW4gdW5iaWFzZWQgbWV0aG9kIGZvciBjZWxsCiAgICAgIGNvdW50aW5nIHdhcyBjYXJyaWVkIG91dCBieSB1c2luZyBhIGNvbXB1dGVyLWFzc2lzdGVkIGltYWdlIGFuYWx5c2lzCiAgICAgIHN5c3RlbSBjb25zaXN0aW5nIG9mIGFuIEF4aW9wbGFuIDIgaW1hZ2luZyBtaWNyb3Njb3BlIChaZWlzcyksIG1vdG9yaXplZAogICAgICBzdGFnZSAoTHVkbCBFbGVjdHJvbmljcyksIGFuZCBhIGNvbG9yIGNhbWVyYSAoT3B0cm9uaWNzKS4gU2VyaWFsIHN0cmlhdGFsCiAgICAgIHNlY3Rpb25zIHdlcmUgcHJvY2Vzc2VkIGZvciBUSCBzdGFpbmluZyBmb2xsb3dpbmcgdGhlIHNhbWUgcHJvY2VkdXJlIGFzCiAgICAgIGFib3ZlIGV4Y2VwdCBubyBOaXNzbCBzdGFpbmluZyB3YXMgY2FycmllZCBvdXQuIEltYWdlcyB3ZXJlIGFjcXVpcmVkIHVzaW5nCiAgICAgIHRoZSBBeGlvcGhvdCAyIEltYWdpbmcgYnJpZ2h0ZmllbGQgbWljcm9zY29wZSAoWmVpc3MpLiBGaWJlciBkZW5zaXR5IGluCiAgICAgIHRoZSBzdHJpYXR1bSB3YXMgcXVhbnRpZmllZCBieSBvcHRpY2FsIGRlbnNpdHkgKE9EKS4gSW1hZ2VKCiAgICAgIChSUklEOlNDUl8wMDMwNzApIHNvZnR3YXJlIChOSUgpIHdhcyB1c2VkIHRvIGFuYWx5emUgdGhlIE9EIGFzIHByZXZpb3VzbHkKICAgICAgZGVzY3JpYmVkLiZsdDsvcCZndDsgJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtJbW11bm9mbHVvcmVzY2VuY2UKICAgICAgYW5hbHlzaXMmbHQ7L3N0cm9uZyZndDs6IEltbXVub2ZsdW9yZXNjZW5jZSBzdGFpbmluZyBmb3IgcGhvc3Bob3J5bGF0ZWQKICAgICAgYS1zeW51Y2xlaW4gKFMxMjkgYW5kIFkzOSkgd2FzIHBlcmZvcm1lZCBpbiB0aGUgcmVnaW9ucyBvZiBTTnBjIGFuZCBjb3J0ZXgKICAgICAgb2YgbW91c2UgYnJhaW4gc2VjdGlvbnMuIENvcm9uYWwgYnJhaW4gc2VjdGlvbnMgd2VyZSBpbml0aWFsbHkgdHJlYXRlZAogICAgICB3aXRoIDF4IElIQyBBbnRpZ2VuIHJldHJpZXZhbCBzb2x1dGlvbiAoaGlnaCBwSCwgSW52aXRyb2dlbikgYXQgODXCsEMgZm9yCiAgICAgIDE1bWluLCB0aGVuIHNlY3Rpb25zIHdlcmUgd2FzaGVkIHdpdGggUEJTLiBUaGUgc2VjdGlvbnMgd2VyZSBibG9ja2VkIGZvcgogICAgICAzMCBtaW4gd2l0aCAxMCUgZ29hdCBzZXJ1bSAoU2lnbWEtQWxkcmljaCwgQ2F0IG5vLiBTMjYtTSkgcGx1cyAwLjMlIFRyaXRvbgogICAgICBYLTEwMCBpbiBQQlMgYW5kIHRoZW4gc2VjdGlvbnMgd2VyZSBpbmN1YmF0ZWQgd2l0aCBpbmRpY2F0ZWQgYW50aWJvZGllcwogICAgICBmb3Igb3Zlcm5pZ2h0IGF0IDTCsEMuIE9uIGRheSAyLCB0aGUgc2VjdGlvbnMgd2VyZSBicmllZiB3YXNoZWQgMyB0aW1lcwogICAgICB3aXRoIFBCUy1UIGFuZCBpbmN1YmF0ZWQgd2l0aCBjb3JyZXNwb25kaW5nIHNlY29uZGFyeSBhbnRpYm9kaWVzCiAgICAgIGNvbmp1Z2F0ZWQgd2l0aCBmbHVvcmVzY2VudCBkeWVzIChBbGV4YSBGbHVvciA1NTXigJNjb25qdWdhdGVkIGdvYXQgYW50aWJvZHkKICAgICAgdG8gbW91c2UgSWdHIGFuZCBBbGV4YSBGbHVvciA0ODjigJNjb25qdWdhdGVkIGdvYXQgYW50aWJvZHkgdG8gcmFiYml0IElnRykKICAgICAgYW5kIGNvdW50ZXIgc3RhaW5lZCB3aXRoIERBUEkgZm9yIG51Y2xldXMuIFNlY3Rpb25zIHdhc2hlZCBhbmQgY292ZXJlZCBieQogICAgICBhIGNvdmVyc2xpcCB3aXRoIHVzaW5nIFNoYW5kb24gSU1NVS1NT1VOVCBtZWRpYSAoVGhlcm1vIEZpc2hlciBTY2llbnRpZmljLAogICAgICBDYXQgbm8uIDk5OTA0MDIpLiBNb3VudGVkIHNsaWRlcyB3ZXJlIGRyaWVkLCBhbmQgSW1hZ2VzIHdlcmUgb2J0YWluZWQKICAgICAgdXNpbmcgYSBjb25mb2NhbCBtaWNyb3Njb3BlIChaZWlzcyBDb25mb2NhbCBMU00gODgwKSBhbmQgaW1hZ2UgYW5hbHlzaXMKICAgICAgd2FzIHBlcmZvcm1lZCB1c2luZyBaRU4gRGlnaXRhbCBJbWFnaW5nIGZvciBMaWdodCBNaWNyb3Njb3B5CiAgICAgIChSUklEOlNDUl8wMTM2NzIpLiZsdDsvcCZndDsgJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtOZXVyb2NoZW1pY2FsCiAgICAgIFN0dWRpZXMmbHQ7L3N0cm9uZyZndDs6Jmx0Oy9wJmd0OwogICAgICAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0hQTEMmbHQ7L3N0cm9uZyZndDs6IFN0cmlhdGFsIGJpb2dlbmljIGFtaW5lcyB3ZXJlCiAgICAgIG1lYXN1cmVkIHVzaW5nIGhpZ2gtcGVyZm9ybWFuY2UgbGlxdWlkIGNocm9tYXRvZ3JhcGh5IChIUExDKSB3aXRoCiAgICAgIGVsZWN0cm9jaGVtaWNhbCBkZXRlY3Rpb24gKEVDRCkuIEFzIGluIHByZXZpb3VzIHdvcmssIHN0cmlhdGFsIHRpc3N1ZSB3YXMKICAgICAgdGhhd2VkIGZyb20gLTgwIMKwQyBzdG9yYWdlIGFuZCBzb25pY2F0ZWQgaW4gaWNlLWNvbGQgMC4wMSBtTSBwZXJjaGxvcmljCiAgICAgIGFjaWQgd2l0aCAwLjAxJSBFRFRBICh3dC4vdm9sKS4gVG8gY29udHJvbCBmb3Igdm9sdW1lIGVycm9ycywgREhCQSB3YXMKICAgICAgaW5jbHVkZWQgYXMgdGhlIGludGVybmFsIHN0YW5kYXJkLiBTb25pY2F0ZWQgc2FtcGxlcyBhcmUgY2VudHJpZnVnZWQgYXQKICAgICAgMTUsMDAwIHggZyBmb3IgMzAgbWludXRlcyBhdCA0IMKwQy4gU3VwZXJuYXRhbnQgd2FzIGNvbGxlY3RlZCBhbmQgZmlsdGVyZWQKICAgICAgd2l0aCBhIDAuMiDCtW0gZmlsdGVyLCB0aGVuIDIwIMK1TCBwZXIgc2FtcGxlIHdhcyBzZXBhcmF0ZWQgKG1vYmlsZSBwaGFzZSkKICAgICAgd2l0aCBhbiBIUExDIGNvbHVtbiAoQXRsYW50aXMgVDMgMyDOvG0gcmV2ZXJzZSBwaGFzZSBjb2x1bW4pLiBFbHV0ZWQKICAgICAgY29tcG91bmRzIHdlcmUgYW5hbHl6ZWQgdXNpbmcgYSBkdWFsLWNoYW5uZWwgQ291bG9jaGVtIElJSSBlbGVjdHJvY2hlbWljYWwKICAgICAgZGV0ZWN0b3IgKE1vZGVsIDUzMDAsIEVTQSBJbmMsIENoZWxtc2ZvcmQsIE1BLCBVU0EpLiBQZWxsZXRzIHdlcmUKICAgICAgaG9tb2dlbml6ZWQgYW5kIHRvdGFsIHByb3RlaW4gd2FzIHF1YW50aWZpZWQgdG8gZXN0aW1hdGUgcHJvdGVpbiB0bwogICAgICBub3JtYWxpemUgZm9yIHRpc3N1ZSBtYXNzLsKgJmx0Oy9wJmd0OwogICAgICAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O01QUCZsdDtzdXAmZ3Q7KyZsdDsvc3VwJmd0OwogICAgICBhbmFseXNpcyZsdDsvc3Ryb25nJmd0OzogRm9yIE1QUCZsdDtzdXAmZ3Q7KyZsdDsvc3VwJmd0OyBtZWFzdXJlbWVudHMsCiAgICAgIG1pY2Ugd2VyZSBpbmplY3RlZCB3aXRoIGZvdXIgZG9zZXMgb2Ygc2FsaW5lIG9yIE1QVFAgKDIwIG1nL2tnLCAyaAogICAgICBpbnRlcnZhbCkgYW5kIG1pY2Ugd2VyZSBldXRoYW5pemVkIDIgaCBhZnRlciB0aGUgZmluYWwgaW5qZWN0aW9uLiBBcwogICAgICBwcmV2aW91c2x5IGRlc2NyaWJlZCBNUFAmbHQ7c3VwJmd0OysmbHQ7L3N1cCZndDsgbGV2ZWxzIGluIHRoZSBzdHJpYXR1bQogICAgICB3ZXJlIGRldGVjdGVkIHVzaW5nIEhQTEMtVVYuIFN0cmlhdGFsIHRpc3N1ZXMgd2VyZSBzb25pY2F0ZWQgaW4gMToxMAogICAgICB2b2x1bWVzIG9mIDUlIHRyaWNobG9yb2FjZXRpYyBhY2lkIGFuZCB0aGUgc2FtcGxlcyB3ZXJlIGNlbnRyaWZ1Z2VkIGF0CiAgICAgIDE0LDAwMOKAhXJwbSBmb3IgMjDigIVtaW4gYW5kIHRoZSBzdXBlcm5hdGFudCB3YXMgaW5qZWN0ZWQgb250byBhCiAgICAgIGNhdGlvbi1leGNoYW5nZSBVbHRyYWN5bC0gQ1MgY29sdW1uIChCZWNrbWFuKS4gVGhlIG1vYmlsZSBwaGFzZSBjb25zaXN0ZWQKICAgICAgb2YgOTAlIG9mIGEgc29sdXRpb24gb2YgMC4xTSBhY2V0aWMgYWNpZCBhbmQgNzXigIVtTSB0cmlldGh5bGFtaW5lwrdIQ2wKICAgICAgKHBI4oCFMi4zNSBhZGp1c3RlZCB3aXRoIGZvcm1pYyBhY2lkKSBhbmQgMTAlIGFjZXRvbml0cmlsZS4gVGhlIExDIHB1bXAKICAgICAgKEFudGVjIGxleWRlbiBtb2RlbCBMQzExMCkgZmxvdyByYXRlIHdhcyAxLjDigIVtTCBhbmQgVVYgZGV0ZWN0b3IgKEthbnVlcgogICAgICBtb2RlbCBTMjU1MCkgd2VyZSBzZXQgYXQgMjk14oCFbm0uIFJlc3VsdHMgd2VyZSBwcmVzZW50ZWQgYXMgzrxnL21nCiAgICAgIHByb3RlaW4uJmx0Oy9wJmd0OyAmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1N0YXRpc3RpY2FsCiAgICAgIGFuYWx5c2lzJmx0Oy9zdHJvbmcmZ3Q7OiBUaGUgYW5pbWFscyB1c2VkIGluIHRoZSBzdHVkeSB3ZXJlIHJhbmRvbWl6ZWQsCiAgICAgIGFuZCByYW5kb20gbnVtYmVycyB3ZXJlIGdlbmVyYXRlZCB1c2luZyB0aGUgR3JhcGhQYWQgc29mdHdhcmUuIFRoZSBzdHVkeQogICAgICBkZXNpZ24gYW5kIHRyZWF0bWVudCB3ZXJlIGJsaW5kZWQgdG8gcGVyc29ubmVsIGZlZWRpbmcgdGhlIHBsYWNlYm8gb3IKICAgICAgYWN0aXZlIHBoYXJtYWNldXRpY2FsIGluZ3JlZGllbnQuIExhYiBwZXJzb25uZWwgd2VyZSBibGluZGVkIHRvIHRoZQogICAgICBkaXNlYXNlIHN0YXRlIGFuZCB0cmVhdG1lbnQgZ2l2ZW4gdGhyb3VnaG91dCBlYWNoIHN1Yi1zdHVkeS4gV2VzdGVybiBCbG90CiAgICAgIGJhbmQgaW50ZW5zaXRpZXMgd2VyZSBxdWFudGlmaWVkIHVzaW5nIEltYWdlSiBzb2Z0d2FyZSAoTmF0aW9uYWwgSW5zdGl0dXRlCiAgICAgIG9mIEhlYWx0aCwgVVNBKSwgYW5kIHRoZSBub3JtYWxpemVkIHRvIGItYWN0aW4uIFN0YXRpc3RpY2FsIGFuYWx5c2lzIHdhcwogICAgICBwZXJmb3JtZWQgd2l0aCBHcmFwaFBhZCBQcmlzbSAoVmVyc2lvbiA4KSBzb2Z0d2FyZS4gQmFyIGdyYXBocyB3ZXJlCiAgICAgIGdlbmVyYXRlZCB1c2luZyBHcmFwaFBhZCBQcmlzbSBhbmQgZXhwcmVzc2VkIHdpdGggbWVhbiDCsSBzdGFuZGFyZCBlcnJvci4KICAgICAgU3RhdGlzdGljYWwgc2lnbmlmaWNhbmNlIHdhcyBkZXRlcm1pbmVkIGJ5IHBlcmZvcm1pbmcgYSBvbmUtd2F5IGFuYWx5c2lzCiAgICAgIG9mIHZhcmlhbmNlIChBTk9WQSkgb3IgdHdvLXdheSBBTk9WQSBmb2xsb3dlZCBieSBUdWtleSwgQm9uZmVycm9uaSBwb3N0aG9jCiAgICAgIGFuYWx5c2lzIHRvIGVuYWJsZSBtdWx0aXBsZSBjb21wYXJpc29ucyB3aXRoIHJlc3BlY3RpdmUgdG8gZGlzZWFzZSBvcgogICAgICB0cmVhdG1lbnQgZ3JvdXBzLiBSZXNwZWN0aXZlIHAgdmFsdWVzIGFyZSBkZW5vdGVkIGluIHRoZSBmaWd1cmVzLCBhbmQgcAogICAgICB2YWx1ZXMgbG93ZXIgdGhhbiAwLjA1IHdlcmUgY29uc2lkZXJlZCBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50LgogICAgICBRdWFudGl0YXRpdmUgZGF0YSBhcmUgZXhwcmVzc2VkIGFzIHRoZSBtZWFuIMKxIHN0YW5kYXJkIGVycm9yIGZyb20gdGhlCiAgICAgIG1lYW4uJmx0Oy9wJmd0OwogICAgPC9kZXNjcmlwdGlvbj4KICAgIDxkZXNjcmlwdGlvbiBkZXNjcmlwdGlvblR5cGU9Ik90aGVyIj4KICAgICAgJmx0O3AmZ3Q7WmVuIGxpdGUmbHQ7L3AmZ3Q7ICZsdDtwJmd0O0dyYXBocGFkIFByaXNtJmx0Oy9wJmd0OwogICAgICAmbHQ7cCZndDtJbWFnZUombHQ7L3AmZ3Q7ICZsdDtwJmd0O0Fkb2JlIElsaXVzdHJhdG9yJmx0Oy9wJmd0OwogICAgPC9kZXNjcmlwdGlvbj4KICA8L2Rlc2NyaXB0aW9ucz4KPC9yZXNvdXJjZT4=","url":"https://datadryad.org/dataset/doi:10.5061/dryad.xsj3tx9jt","contentUrl":null,"metadataVersion":9,"schemaVersion":"http://datacite.org/schema/kernel-4","source":"mds","isActive":true,"state":"findable","reason":null,"viewCount":876,"viewsOverTime":[{"yearMonth":"2022-08","total":3},{"yearMonth":"2022-09","total":14},{"yearMonth":"2022-10","total":16},{"yearMonth":"2022-11","total":14},{"yearMonth":"2022-12","total":5},{"yearMonth":"2023-01","total":59},{"yearMonth":"2023-02","total":11},{"yearMonth":"2023-03","total":26},{"yearMonth":"2023-04","total":26},{"yearMonth":"2023-05","total":25},{"yearMonth":"2023-06","total":31},{"yearMonth":"2023-07","total":31},{"yearMonth":"2023-08","total":68},{"yearMonth":"2023-09","total":63},{"yearMonth":"2023-10","total":32},{"yearMonth":"2023-11","total":33},{"yearMonth":"2023-12","total":15},{"yearMonth":"2024-01","total":14},{"yearMonth":"2024-02","total":21},{"yearMonth":"2024-03","total":28},{"yearMonth":"2024-04","total":22},{"yearMonth":"2024-05","total":26},{"yearMonth":"2024-06","total":25},{"yearMonth":"2024-07","total":25},{"yearMonth":"2024-08","total":13},{"yearMonth":"2024-10","total":17},{"yearMonth":"2024-11","total":24},{"yearMonth":"2025-01","total":17},{"yearMonth":"2025-02","total":18},{"yearMonth":"2025-04","total":19},{"yearMonth":"2025-05","total":23},{"yearMonth":"2025-07","total":30},{"yearMonth":"2025-08","total":10},{"yearMonth":"2025-09","total":25},{"yearMonth":"2025-10","total":21},{"yearMonth":"2025-12","total":4},{"yearMonth":"2026-01","total":4},{"yearMonth":"2026-02","total":2},{"yearMonth":"2026-03","total":8},{"yearMonth":"2026-05","total":8}],"downloadCount":41,"downloadsOverTime":[{"yearMonth":"2022-09","total":1},{"yearMonth":"2022-11","total":1},{"yearMonth":"2023-01","total":9},{"yearMonth":"2023-03","total":1},{"yearMonth":"2023-04","total":1},{"yearMonth":"2023-07","total":2},{"yearMonth":"2023-08","total":1},{"yearMonth":"2023-09","total":2},{"yearMonth":"2023-10","total":4},{"yearMonth":"2023-11","total":2},{"yearMonth":"2023-12","total":2},{"yearMonth":"2024-01","total":0},{"yearMonth":"2024-02","total":1},{"yearMonth":"2024-03","total":1},{"yearMonth":"2024-04","total":2},{"yearMonth":"2024-05","total":0},{"yearMonth":"2024-06","total":0},{"yearMonth":"2024-07","total":2},{"yearMonth":"2024-08","total":0},{"yearMonth":"2024-10","total":1},{"yearMonth":"2024-11","total":1},{"yearMonth":"2025-01","total":0},{"yearMonth":"2025-02","total":1},{"yearMonth":"2025-04","total":1},{"yearMonth":"2025-05","total":1},{"yearMonth":"2025-07","total":0},{"yearMonth":"2025-08","total":0},{"yearMonth":"2025-09","total":0},{"yearMonth":"2025-10","total":0},{"yearMonth":"2025-12","total":0},{"yearMonth":"2026-01","total":2},{"yearMonth":"2026-02","total":1},{"yearMonth":"2026-03","total":1},{"yearMonth":"2026-05","total":0}],"referenceCount":0,"citationCount":1,"citationsOverTime":[{"year":"2026","total":1}],"partCount":0,"partOfCount":0,"versionCount":0,"versionOfCount":0,"created":"2022-08-30T14:03:04.000Z","registered":"2022-08-30T14:03:05.000Z","published":"2022","updated":"2026-01-28T11:06:37.000Z"},"relationships":{"client":{"data":{"id":"dryad.dryad","type":"clients"}},"provider":{"data":{"id":"dryad","type":"providers"}},"media":{"data":{"id":"10.5061/dryad.xsj3tx9jt","type":"media"}},"references":{"data":[]},"citations":{"data":[{"id":"10.1126/scitranslmed.abp9352","type":"dois"}]},"parts":{"data":[]},"partOf":{"data":[]},"versions":{"data":[]},"versionOf":{"data":[]}}}}