Data set Packages

##----------------------------------------------------------------------------------
## data()
##----------------------------------------------------------------------------------
if("hflights" %in% installed.packages() == FALSE)install.packages("hflights")
   library(hflights)
# 미국 휴스턴에서 출발하는 모든 비행기의 2011년 이착륙기록이 수록된 것으로
# 227,496건의 이착륙기록에 대해 21개 항목을 수집한 데이터
if("MASS" %in% installed.packages() == FALSE)install.packages("MASS")
   library(MASS)
if("datasets" %in% installed.packages() == FALSE)install.packages("datasets")
   library(datasets)
data()

Data sets in package ¡®plyr¡¯:

# baseball       Yearly batting records for all
#                major league baseball players
# ozone          Monthly ozone measurements
#                over Central America.
# 
# Data sets in package ¡®reshape¡¯:
# 
# french_fries   Sensory data from a french
#                fries experiment
# smiths         Demo data describing the
#                Smiths
# tips           Tipping data
# 

Data sets in package ¡®dplyr¡¯:

# band_instruments
#                Band membership
# band_instruments2
#                Band membership
# band_members   Band membership
# nasa           NASA spatio-temporal data
# starwars       Starwars characters
# storms         Storm tracks data
# 
# Data sets in package ¡®ggmap¡¯:
# 
# crime          Crime data
# hadley         Highly unofficial ggplot2
#                image
# wind           Wind data from Hurricane Ike
# zips           Zip code data for the Greater
#                Houston Metropolitan Area from
#                the 2000 census
# 
# Data sets in package ¡®ggplot2¡¯:
# 
# diamonds       Prices of 50,000 round cut
#                diamonds
# economics      US economic time series
# economics_long
#                US economic time series
# faithfuld      2d density estimate of Old
#                Faithful data
# luv_colours    'colors()' in Luv space
# midwest        Midwest demographics
# mpg            Fuel economy data from 1999
#                and 2008 for 38 popular models
#                of car
# msleep         An updated and expanded
#                version of the mammals sleep
#                dataset
# presidential   Terms of 11 presidents from
#                Eisenhower to Obama
# seals          Vector field of seal movements
# txhousing      Housing sales in TX

Data sets in package ¡®datasets¡¯:

# 
# AirPassengers
#                Monthly Airline Passenger
#                Numbers 1949-1960
# BJsales        Sales Data with Leading
#                Indicator
# BJsales.lead (BJsales)
#                Sales Data with Leading
#                Indicator
# BOD            Biochemical Oxygen Demand
# CO2            Carbon Dioxide Uptake in Grass
#                Plants
# ChickWeight    Weight versus age of chicks on
#                different diets
# DNase          Elisa assay of DNase
# EuStockMarkets
#                Daily Closing Prices of Major
#                European Stock Indices,
#                1991-1998
# Formaldehyde   Determination of Formaldehyde
# HairEyeColor   Hair and Eye Color of
#                Statistics Students
# Harman23.cor   Harman Example 2.3
# Harman74.cor   Harman Example 7.4
# Indometh       Pharmacokinetics of
#                Indomethacin
# InsectSprays   Effectiveness of Insect Sprays
# JohnsonJohnson
#                Quarterly Earnings per Johnson
#                & Johnson Share
# LakeHuron      Level of Lake Huron 1875-1972
# LifeCycleSavings
#                Intercountry Life-Cycle
#                Savings Data
# Loblolly       Growth of Loblolly pine trees
# Nile           Flow of the River Nile
# Orange         Growth of Orange Trees
# OrchardSprays
#                Potency of Orchard Sprays
# PlantGrowth    Results from an Experiment on
#                Plant Growth
# Puromycin      Reaction Velocity of an
#                Enzymatic Reaction
# Seatbelts      Road Casualties in Great
#                Britain 1969-84
# Theoph         Pharmacokinetics of
#                Theophylline
# Titanic        Survival of passengers on the
#                Titanic
# ToothGrowth    The Effect of Vitamin C on
#                Tooth Growth in Guinea Pigs
# UCBAdmissions
#                Student Admissions at UC
#                Berkeley
# UKDriverDeaths
#                Road Casualties in Great
#                Britain 1969-84
# UKgas          UK Quarterly Gas Consumption
# USAccDeaths    Accidental Deaths in the US
#                1973-1978
# USArrests      Violent Crime Rates by US
#                State
# USJudgeRatings
#                Lawyers' Ratings of State
#                Judges in the US Superior
#                Court
# USPersonalExpenditure
#                Personal Expenditure Data
# UScitiesD      Distances Between European
#                Cities and Between US Cities
# VADeaths       Death Rates in Virginia (1940)
# WWWusage       Internet Usage per Minute
# WorldPhones    The World's Telephones
# ability.cov    Ability and Intelligence Tests
# airmiles       Passenger Miles on Commercial
#                US Airlines, 1937-1960
# airquality     New York Air Quality
#                Measurements
# anscombe       Anscombe's Quartet of
#                'Identical' Simple Linear
#                Regressions
# attenu         The Joyner-Boore Attenuation
#                Data
# attitude       The Chatterjee-Price Attitude
#                Data
# austres        Quarterly Time Series of the
#                Number of Australian Residents
# beaver1 (beavers)
#                Body Temperature Series of Two
#                Beavers
# beaver2 (beavers)
#                Body Temperature Series of Two
#                Beavers
# cars           Speed and Stopping Distances
#                of Cars
# chickwts       Chicken Weights by Feed Type
# co2            Mauna Loa Atmospheric CO2
#                Concentration
# crimtab        Student's 3000 Criminals Data
# discoveries    Yearly Numbers of Important
#                Discoveries
# esoph          Smoking, Alcohol and
#                (O)esophageal Cancer
# euro           Conversion Rates of Euro
#                Currencies
# euro.cross (euro)
#                Conversion Rates of Euro
#                Currencies
# eurodist       Distances Between European
#                Cities and Between US Cities
# faithful       Old Faithful Geyser Data
# fdeaths (UKLungDeaths)
#                Monthly Deaths from Lung
#                Diseases in the UK
# freeny         Freeny's Revenue Data
# freeny.x (freeny)
#                Freeny's Revenue Data
# freeny.y (freeny)
#                Freeny's Revenue Data
# infert         Infertility after Spontaneous
#                and Induced Abortion
# iris           Edgar Anderson's Iris Data
# iris3          Edgar Anderson's Iris Data
# islands        Areas of the World's Major
#                Landmasses
# ldeaths (UKLungDeaths)
#                Monthly Deaths from Lung
#                Diseases in the UK
# lh             Luteinizing Hormone in Blood
#                Samples
# longley        Longley's Economic Regression
#                Data
# lynx           Annual Canadian Lynx trappings
#                1821-1934
# mdeaths (UKLungDeaths)
#                Monthly Deaths from Lung
#                Diseases in the UK
# morley         Michelson Speed of Light Data
# mtcars         Motor Trend Car Road Tests
# nhtemp         Average Yearly Temperatures in
#                New Haven
# nottem         Average Monthly Temperatures
#                at Nottingham, 1920-1939
# npk            Classical N, P, K Factorial
#                Experiment
# occupationalStatus
#                Occupational Status of Fathers
#                and their Sons
# precip         Annual Precipitation in US
#                Cities
# presidents     Quarterly Approval Ratings of
#                US Presidents
# pressure       Vapor Pressure of Mercury as a
#                Function of Temperature
# quakes         Locations of Earthquakes off
#                Fiji
# randu          Random Numbers from
#                Congruential Generator RANDU
# rivers         Lengths of Major North
#                American Rivers
# rock           Measurements on Petroleum Rock
#                Samples
# sleep          Student's Sleep Data
# stack.loss (stackloss)
#                Brownlee's Stack Loss Plant
#                Data
# stack.x (stackloss)
#                Brownlee's Stack Loss Plant
#                Data
# stackloss      Brownlee's Stack Loss Plant
#                Data
# state.abb (state)
#                US State Facts and Figures
# state.area (state)
#                US State Facts and Figures
# state.center (state)
#                US State Facts and Figures
# state.division (state)
#                US State Facts and Figures
# state.name (state)
#                US State Facts and Figures
# state.region (state)
#                US State Facts and Figures
# state.x77 (state)
#                US State Facts and Figures
# sunspot.month
#                Monthly Sunspot Data, from
#                1749 to "Present"
# sunspot.year   Yearly Sunspot Data, 1700-1988
# sunspots       Monthly Sunspot Numbers,
#                1749-1983
# swiss          Swiss Fertility and
#                Socioeconomic Indicators
#                (1888) Data
# treering       Yearly Treering Data,
#                -6000-1979
# trees          Girth, Height and Volume for
#                Black Cherry Trees
# uspop          Populations Recorded by the US
#                Census
# volcano        Topographic Information on
#                Auckland's Maunga Whau Volcano
# warpbreaks     The Number of Breaks in Yarn
#                during Weaving
# women          Average Heights and Weights
#                for American Women
# 

Data sets in package ¡®googleVis¡¯:

# Andrew         Hurricane Andrew: googleVis
#                example data set
# Cairo          Daily temperature data for
#                Cairo
# CityPopularity
#                CityPopularity: googleVis
#                example data set
# Exports        Exports: googleVis example
#                data set
# Fruits         Fruits: googleVis example data
#                set
# OpenClose      OpenClose: googleVis example
#                data set
# Population     Population: googleVis example
#                data set
# Regions        Regions: googleVis example
#                data set
# Stock          Stock: googleVis example data
#                set
# dino           Dinosaur data

Data sets in package ¡®hflights¡¯:

# hflights       Houston flights data
#

Data sets in package ¡®MASS¡¯:

# Aids2          Australian AIDS Survival Data
# Animals        Brain and Body Weights for 28
#                Species
# Boston         Housing Values in Suburbs of
#                Boston
# Cars93         Data from 93 Cars on Sale in
#                the USA in 1993
# Cushings       Diagnostic Tests on Patients
#                with Cushing's Syndrome
# DDT            DDT in Kale
# GAGurine       Level of GAG in Urine of
#                Children
# Insurance      Numbers of Car Insurance
#                claims
# Melanoma       Survival from Malignant
#                Melanoma
# OME            Tests of Auditory Perception
#                in Children with OME
# Pima.te        Diabetes in Pima Indian Women
# Pima.tr        Diabetes in Pima Indian Women
# Pima.tr2       Diabetes in Pima Indian Women
# Rabbit         Blood Pressure in Rabbits
# Rubber         Accelerated Testing of Tyre
#                Rubber
# SP500          Returns of the Standard and
#                Poors 500
# Sitka          Growth Curves for Sitka Spruce
#                Trees in 1988
# Sitka89        Growth Curves for Sitka Spruce
#                Trees in 1989
# Skye           AFM Compositions of Aphyric
#                Skye Lavas
# Traffic        Effect of Swedish Speed Limits
#                on Accidents
# UScereal       Nutritional and Marketing
#                Information on US Cereals
# UScrime        The Effect of Punishment
#                Regimes on Crime Rates
# VA             Veteran's Administration Lung
#                Cancer Trial
# abbey          Determinations of Nickel
#                Content
# accdeaths      Accidental Deaths in the US
#                1973-1978
# anorexia       Anorexia Data on Weight Change
# bacteria       Presence of Bacteria after
#                Drug Treatments
# beav1          Body Temperature Series of
#                Beaver 1
# beav2          Body Temperature Series of
#                Beaver 2
# biopsy         Biopsy Data on Breast Cancer
#                Patients
# birthwt        Risk Factors Associated with
#                Low Infant Birth Weight
# cabbages       Data from a cabbage field
#                trial
# caith          Colours of Eyes and Hair of
#                People in Caithness
# cats           Anatomical Data from Domestic
#                Cats
# cement         Heat Evolved by Setting
#                Cements
# chem           Copper in Wholemeal Flour
# coop           Co-operative Trial in
#                Analytical Chemistry
# cpus           Performance of Computer CPUs
# crabs          Morphological Measurements on
#                Leptograpsus Crabs
# deaths         Monthly Deaths from Lung
#                Diseases in the UK
# drivers        Deaths of Car Drivers in Great
#                Britain 1969-84
# eagles         Foraging Ecology of Bald
#                Eagles
# epil           Seizure Counts for Epileptics
# farms          Ecological Factors in Farm
#                Management
# fgl            Measurements of Forensic Glass
#                Fragments
# forbes         Forbes' Data on Boiling Points
#                in the Alps
# galaxies       Velocities for 82 Galaxies
# gehan          Remission Times of Leukaemia
#                Patients
# genotype       Rat Genotype Data
# geyser         Old Faithful Geyser Data
# gilgais        Line Transect of Soil in
#                Gilgai Territory
# hills          Record Times in Scottish Hill
#                Races
# housing        Frequency Table from a
#                Copenhagen Housing Conditions
#                Survey
# immer          Yields from a Barley Field
#                Trial
# leuk           Survival Times and White Blood
#                Counts for Leukaemia Patients
# mammals        Brain and Body Weights for 62
#                Species of Land Mammals
# mcycle         Data from a Simulated
#                Motorcycle Accident
# menarche       Age of Menarche in Warsaw
# michelson      Michelson's Speed of Light
#                Data
# minn38         Minnesota High School
#                Graduates of 1938
# motors         Accelerated Life Testing of
#                Motorettes
# muscle         Effect of Calcium Chloride on
#                Muscle Contraction in Rat
#                Hearts
# newcomb        Newcomb's Measurements of the
#                Passage Time of Light
# nlschools      Eighth-Grade Pupils in the
#                Netherlands
# npk            Classical N, P, K Factorial
#                Experiment
# npr1           US Naval Petroleum Reserve No.
#                1 data
# oats           Data from an Oats Field Trial
# painters       The Painter's Data of de Piles
# petrol         N. L. Prater's Petrol Refinery
#                Data
# phones         Belgium Phone Calls 1950-1973
# quine          Absenteeism from School in
#                Rural New South Wales
# road           Road Accident Deaths in US
#                States
# rotifer        Numbers of Rotifers by Fluid
#                Density
# ships          Ships Damage Data
# shoes          Shoe wear data of Box, Hunter
#                and Hunter
# shrimp         Percentage of Shrimp in Shrimp
#                Cocktail
# shuttle        Space Shuttle Autolander
#                Problem
# snails         Snail Mortality Data
# steam          The Saturated Steam Pressure
#                Data
# stormer        The Stormer Viscometer Data
# survey         Student Survey Data
# synth.te       Synthetic Classification
#                Problem
# synth.tr       Synthetic Classification
#                Problem
# topo           Spatial Topographic Data
# waders         Counts of Waders at 15 Sites
#                in South Africa
# whiteside      House Insulation: Whiteside's
#                Data
# wtloss         Weight Loss Data from an Obese
#                Patient
# 

Data sets in package ¡®RGA¡¯:


# 
# ga             Lists all columns for a Google
#                Analytics core report type

Data sets in package ¡®stringr¡¯:

# fruit          Sample character vectors for
#                practicing string
#                manipulations.
# sentences      Sample character vectors for
#                practicing string
#                manipulations.
# words          Sample character vectors for
#                practicing string
#                manipulations.

Data sets in package ¡®wordcloud¡¯:

# SOTU           United States State of the
#                Union Addresses (2010 and
#                2011)
# 
# Use ¡®data(package = .packages(all.available = TRUE))¡¯
# to list the data sets in all *available* packages.
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KRGF0YSBzZXQgUGFja2FnZXMNCg0KYGBge3J9DQojIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMjIGRhdGEoKQ0KIyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQppZigiaGZsaWdodHMiICVpbiUgaW5zdGFsbGVkLnBhY2thZ2VzKCkgPT0gRkFMU0UpaW5zdGFsbC5wYWNrYWdlcygiaGZsaWdodHMiKQ0KICAgbGlicmFyeShoZmxpZ2h0cykNCiMg66+46rWtIO2ctOyKpO2EtOyXkOyEnCDstpzrsJztlZjripQg66qo65OgIOu5hO2Wieq4sOydmCAyMDEx64WEIOydtOywqeulmeq4sOuhneydtCDsiJjroZ3rkJwg6rKD7Jy866GcDQojIDIyNyw0OTbqsbTsnZgg7J207LCp66WZ6riw66Gd7JeQIOuMgO2VtCAyMeqwnCDtla3rqqnsnYQg7IiY7KeR7ZWcIOuNsOydtO2EsA0KaWYoIk1BU1MiICVpbiUgaW5zdGFsbGVkLnBhY2thZ2VzKCkgPT0gRkFMU0UpaW5zdGFsbC5wYWNrYWdlcygiTUFTUyIpDQogICBsaWJyYXJ5KE1BU1MpDQppZigiZGF0YXNldHMiICVpbiUgaW5zdGFsbGVkLnBhY2thZ2VzKCkgPT0gRkFMU0UpaW5zdGFsbC5wYWNrYWdlcygiZGF0YXNldHMiKQ0KICAgbGlicmFyeShkYXRhc2V0cykNCmRhdGEoKQ0KYGBgDQpEYXRhIHNldHMgaW4gcGFja2FnZSDCocKucGx5csKhwq86DQpgYGB7cn0NCiMgYmFzZWJhbGwgICAgICAgWWVhcmx5IGJhdHRpbmcgcmVjb3JkcyBmb3IgYWxsDQojICAgICAgICAgICAgICAgIG1ham9yIGxlYWd1ZSBiYXNlYmFsbCBwbGF5ZXJzDQojIG96b25lICAgICAgICAgIE1vbnRobHkgb3pvbmUgbWVhc3VyZW1lbnRzDQojICAgICAgICAgICAgICAgIG92ZXIgQ2VudHJhbCBBbWVyaWNhLg0KIyANCiMgRGF0YSBzZXRzIGluIHBhY2thZ2UgwqHCrnJlc2hhcGXCocKvOg0KIyANCiMgZnJlbmNoX2ZyaWVzICAgU2Vuc29yeSBkYXRhIGZyb20gYSBmcmVuY2gNCiMgICAgICAgICAgICAgICAgZnJpZXMgZXhwZXJpbWVudA0KIyBzbWl0aHMgICAgICAgICBEZW1vIGRhdGEgZGVzY3JpYmluZyB0aGUNCiMgICAgICAgICAgICAgICAgU21pdGhzDQojIHRpcHMgICAgICAgICAgIFRpcHBpbmcgZGF0YQ0KIyANCmBgYA0KDQpEYXRhIHNldHMgaW4gcGFja2FnZSDCocKuZHBseXLCocKvOg0KYGBge3J9DQojIGJhbmRfaW5zdHJ1bWVudHMNCiMgICAgICAgICAgICAgICAgQmFuZCBtZW1iZXJzaGlwDQojIGJhbmRfaW5zdHJ1bWVudHMyDQojICAgICAgICAgICAgICAgIEJhbmQgbWVtYmVyc2hpcA0KIyBiYW5kX21lbWJlcnMgICBCYW5kIG1lbWJlcnNoaXANCiMgbmFzYSAgICAgICAgICAgTkFTQSBzcGF0aW8tdGVtcG9yYWwgZGF0YQ0KIyBzdGFyd2FycyAgICAgICBTdGFyd2FycyBjaGFyYWN0ZXJzDQojIHN0b3JtcyAgICAgICAgIFN0b3JtIHRyYWNrcyBkYXRhDQojIA0KIyBEYXRhIHNldHMgaW4gcGFja2FnZSDCocKuZ2dtYXDCocKvOg0KIyANCiMgY3JpbWUgICAgICAgICAgQ3JpbWUgZGF0YQ0KIyBoYWRsZXkgICAgICAgICBIaWdobHkgdW5vZmZpY2lhbCBnZ3Bsb3QyDQojICAgICAgICAgICAgICAgIGltYWdlDQojIHdpbmQgICAgICAgICAgIFdpbmQgZGF0YSBmcm9tIEh1cnJpY2FuZSBJa2UNCiMgemlwcyAgICAgICAgICAgWmlwIGNvZGUgZGF0YSBmb3IgdGhlIEdyZWF0ZXINCiMgICAgICAgICAgICAgICAgSG91c3RvbiBNZXRyb3BvbGl0YW4gQXJlYSBmcm9tDQojICAgICAgICAgICAgICAgIHRoZSAyMDAwIGNlbnN1cw0KIyANCiMgRGF0YSBzZXRzIGluIHBhY2thZ2UgwqHCrmdncGxvdDLCocKvOg0KIyANCiMgZGlhbW9uZHMgICAgICAgUHJpY2VzIG9mIDUwLDAwMCByb3VuZCBjdXQNCiMgICAgICAgICAgICAgICAgZGlhbW9uZHMNCiMgZWNvbm9taWNzICAgICAgVVMgZWNvbm9taWMgdGltZSBzZXJpZXMNCiMgZWNvbm9taWNzX2xvbmcNCiMgICAgICAgICAgICAgICAgVVMgZWNvbm9taWMgdGltZSBzZXJpZXMNCiMgZmFpdGhmdWxkICAgICAgMmQgZGVuc2l0eSBlc3RpbWF0ZSBvZiBPbGQNCiMgICAgICAgICAgICAgICAgRmFpdGhmdWwgZGF0YQ0KIyBsdXZfY29sb3VycyAgICAnY29sb3JzKCknIGluIEx1diBzcGFjZQ0KIyBtaWR3ZXN0ICAgICAgICBNaWR3ZXN0IGRlbW9ncmFwaGljcw0KIyBtcGcgICAgICAgICAgICBGdWVsIGVjb25vbXkgZGF0YSBmcm9tIDE5OTkNCiMgICAgICAgICAgICAgICAgYW5kIDIwMDggZm9yIDM4IHBvcHVsYXIgbW9kZWxzDQojICAgICAgICAgICAgICAgIG9mIGNhcg0KIyBtc2xlZXAgICAgICAgICBBbiB1cGRhdGVkIGFuZCBleHBhbmRlZA0KIyAgICAgICAgICAgICAgICB2ZXJzaW9uIG9mIHRoZSBtYW1tYWxzIHNsZWVwDQojICAgICAgICAgICAgICAgIGRhdGFzZXQNCiMgcHJlc2lkZW50aWFsICAgVGVybXMgb2YgMTEgcHJlc2lkZW50cyBmcm9tDQojICAgICAgICAgICAgICAgIEVpc2VuaG93ZXIgdG8gT2JhbWENCiMgc2VhbHMgICAgICAgICAgVmVjdG9yIGZpZWxkIG9mIHNlYWwgbW92ZW1lbnRzDQojIHR4aG91c2luZyAgICAgIEhvdXNpbmcgc2FsZXMgaW4gVFgNCmBgYA0KDQpEYXRhIHNldHMgaW4gcGFja2FnZSDCocKuZGF0YXNldHPCocKvOg0KYGBge3J9DQojIA0KIyBBaXJQYXNzZW5nZXJzDQojICAgICAgICAgICAgICAgIE1vbnRobHkgQWlybGluZSBQYXNzZW5nZXINCiMgICAgICAgICAgICAgICAgTnVtYmVycyAxOTQ5LTE5NjANCiMgQkpzYWxlcyAgICAgICAgU2FsZXMgRGF0YSB3aXRoIExlYWRpbmcNCiMgICAgICAgICAgICAgICAgSW5kaWNhdG9yDQojIEJKc2FsZXMubGVhZCAoQkpzYWxlcykNCiMgICAgICAgICAgICAgICAgU2FsZXMgRGF0YSB3aXRoIExlYWRpbmcNCiMgICAgICAgICAgICAgICAgSW5kaWNhdG9yDQojIEJPRCAgICAgICAgICAgIEJpb2NoZW1pY2FsIE94eWdlbiBEZW1hbmQNCiMgQ08yICAgICAgICAgICAgQ2FyYm9uIERpb3hpZGUgVXB0YWtlIGluIEdyYXNzDQojICAgICAgICAgICAgICAgIFBsYW50cw0KIyBDaGlja1dlaWdodCAgICBXZWlnaHQgdmVyc3VzIGFnZSBvZiBjaGlja3Mgb24NCiMgICAgICAgICAgICAgICAgZGlmZmVyZW50IGRpZXRzDQojIEROYXNlICAgICAgICAgIEVsaXNhIGFzc2F5IG9mIEROYXNlDQojIEV1U3RvY2tNYXJrZXRzDQojICAgICAgICAgICAgICAgIERhaWx5IENsb3NpbmcgUHJpY2VzIG9mIE1ham9yDQojICAgICAgICAgICAgICAgIEV1cm9wZWFuIFN0b2NrIEluZGljZXMsDQojICAgICAgICAgICAgICAgIDE5OTEtMTk5OA0KIyBGb3JtYWxkZWh5ZGUgICBEZXRlcm1pbmF0aW9uIG9mIEZvcm1hbGRlaHlkZQ0KIyBIYWlyRXllQ29sb3IgICBIYWlyIGFuZCBFeWUgQ29sb3Igb2YNCiMgICAgICAgICAgICAgICAgU3RhdGlzdGljcyBTdHVkZW50cw0KIyBIYXJtYW4yMy5jb3IgICBIYXJtYW4gRXhhbXBsZSAyLjMNCiMgSGFybWFuNzQuY29yICAgSGFybWFuIEV4YW1wbGUgNy40DQojIEluZG9tZXRoICAgICAgIFBoYXJtYWNva2luZXRpY3Mgb2YNCiMgICAgICAgICAgICAgICAgSW5kb21ldGhhY2luDQojIEluc2VjdFNwcmF5cyAgIEVmZmVjdGl2ZW5lc3Mgb2YgSW5zZWN0IFNwcmF5cw0KIyBKb2huc29uSm9obnNvbg0KIyAgICAgICAgICAgICAgICBRdWFydGVybHkgRWFybmluZ3MgcGVyIEpvaG5zb24NCiMgICAgICAgICAgICAgICAgJiBKb2huc29uIFNoYXJlDQojIExha2VIdXJvbiAgICAgIExldmVsIG9mIExha2UgSHVyb24gMTg3NS0xOTcyDQojIExpZmVDeWNsZVNhdmluZ3MNCiMgICAgICAgICAgICAgICAgSW50ZXJjb3VudHJ5IExpZmUtQ3ljbGUNCiMgICAgICAgICAgICAgICAgU2F2aW5ncyBEYXRhDQojIExvYmxvbGx5ICAgICAgIEdyb3d0aCBvZiBMb2Jsb2xseSBwaW5lIHRyZWVzDQojIE5pbGUgICAgICAgICAgIEZsb3cgb2YgdGhlIFJpdmVyIE5pbGUNCiMgT3JhbmdlICAgICAgICAgR3Jvd3RoIG9mIE9yYW5nZSBUcmVlcw0KIyBPcmNoYXJkU3ByYXlzDQojICAgICAgICAgICAgICAgIFBvdGVuY3kgb2YgT3JjaGFyZCBTcHJheXMNCiMgUGxhbnRHcm93dGggICAgUmVzdWx0cyBmcm9tIGFuIEV4cGVyaW1lbnQgb24NCiMgICAgICAgICAgICAgICAgUGxhbnQgR3Jvd3RoDQojIFB1cm9teWNpbiAgICAgIFJlYWN0aW9uIFZlbG9jaXR5IG9mIGFuDQojICAgICAgICAgICAgICAgIEVuenltYXRpYyBSZWFjdGlvbg0KIyBTZWF0YmVsdHMgICAgICBSb2FkIENhc3VhbHRpZXMgaW4gR3JlYXQNCiMgICAgICAgICAgICAgICAgQnJpdGFpbiAxOTY5LTg0DQojIFRoZW9waCAgICAgICAgIFBoYXJtYWNva2luZXRpY3Mgb2YNCiMgICAgICAgICAgICAgICAgVGhlb3BoeWxsaW5lDQojIFRpdGFuaWMgICAgICAgIFN1cnZpdmFsIG9mIHBhc3NlbmdlcnMgb24gdGhlDQojICAgICAgICAgICAgICAgIFRpdGFuaWMNCiMgVG9vdGhHcm93dGggICAgVGhlIEVmZmVjdCBvZiBWaXRhbWluIEMgb24NCiMgICAgICAgICAgICAgICAgVG9vdGggR3Jvd3RoIGluIEd1aW5lYSBQaWdzDQojIFVDQkFkbWlzc2lvbnMNCiMgICAgICAgICAgICAgICAgU3R1ZGVudCBBZG1pc3Npb25zIGF0IFVDDQojICAgICAgICAgICAgICAgIEJlcmtlbGV5DQojIFVLRHJpdmVyRGVhdGhzDQojICAgICAgICAgICAgICAgIFJvYWQgQ2FzdWFsdGllcyBpbiBHcmVhdA0KIyAgICAgICAgICAgICAgICBCcml0YWluIDE5NjktODQNCiMgVUtnYXMgICAgICAgICAgVUsgUXVhcnRlcmx5IEdhcyBDb25zdW1wdGlvbg0KIyBVU0FjY0RlYXRocyAgICBBY2NpZGVudGFsIERlYXRocyBpbiB0aGUgVVMNCiMgICAgICAgICAgICAgICAgMTk3My0xOTc4DQojIFVTQXJyZXN0cyAgICAgIFZpb2xlbnQgQ3JpbWUgUmF0ZXMgYnkgVVMNCiMgICAgICAgICAgICAgICAgU3RhdGUNCiMgVVNKdWRnZVJhdGluZ3MNCiMgICAgICAgICAgICAgICAgTGF3eWVycycgUmF0aW5ncyBvZiBTdGF0ZQ0KIyAgICAgICAgICAgICAgICBKdWRnZXMgaW4gdGhlIFVTIFN1cGVyaW9yDQojICAgICAgICAgICAgICAgIENvdXJ0DQojIFVTUGVyc29uYWxFeHBlbmRpdHVyZQ0KIyAgICAgICAgICAgICAgICBQZXJzb25hbCBFeHBlbmRpdHVyZSBEYXRhDQojIFVTY2l0aWVzRCAgICAgIERpc3RhbmNlcyBCZXR3ZWVuIEV1cm9wZWFuDQojICAgICAgICAgICAgICAgIENpdGllcyBhbmQgQmV0d2VlbiBVUyBDaXRpZXMNCiMgVkFEZWF0aHMgICAgICAgRGVhdGggUmF0ZXMgaW4gVmlyZ2luaWEgKDE5NDApDQojIFdXV3VzYWdlICAgICAgIEludGVybmV0IFVzYWdlIHBlciBNaW51dGUNCiMgV29ybGRQaG9uZXMgICAgVGhlIFdvcmxkJ3MgVGVsZXBob25lcw0KIyBhYmlsaXR5LmNvdiAgICBBYmlsaXR5IGFuZCBJbnRlbGxpZ2VuY2UgVGVzdHMNCiMgYWlybWlsZXMgICAgICAgUGFzc2VuZ2VyIE1pbGVzIG9uIENvbW1lcmNpYWwNCiMgICAgICAgICAgICAgICAgVVMgQWlybGluZXMsIDE5MzctMTk2MA0KIyBhaXJxdWFsaXR5ICAgICBOZXcgWW9yayBBaXIgUXVhbGl0eQ0KIyAgICAgICAgICAgICAgICBNZWFzdXJlbWVudHMNCiMgYW5zY29tYmUgICAgICAgQW5zY29tYmUncyBRdWFydGV0IG9mDQojICAgICAgICAgICAgICAgICdJZGVudGljYWwnIFNpbXBsZSBMaW5lYXINCiMgICAgICAgICAgICAgICAgUmVncmVzc2lvbnMNCiMgYXR0ZW51ICAgICAgICAgVGhlIEpveW5lci1Cb29yZSBBdHRlbnVhdGlvbg0KIyAgICAgICAgICAgICAgICBEYXRhDQojIGF0dGl0dWRlICAgICAgIFRoZSBDaGF0dGVyamVlLVByaWNlIEF0dGl0dWRlDQojICAgICAgICAgICAgICAgIERhdGENCiMgYXVzdHJlcyAgICAgICAgUXVhcnRlcmx5IFRpbWUgU2VyaWVzIG9mIHRoZQ0KIyAgICAgICAgICAgICAgICBOdW1iZXIgb2YgQXVzdHJhbGlhbiBSZXNpZGVudHMNCiMgYmVhdmVyMSAoYmVhdmVycykNCiMgICAgICAgICAgICAgICAgQm9keSBUZW1wZXJhdHVyZSBTZXJpZXMgb2YgVHdvDQojICAgICAgICAgICAgICAgIEJlYXZlcnMNCiMgYmVhdmVyMiAoYmVhdmVycykNCiMgICAgICAgICAgICAgICAgQm9keSBUZW1wZXJhdHVyZSBTZXJpZXMgb2YgVHdvDQojICAgICAgICAgICAgICAgIEJlYXZlcnMNCiMgY2FycyAgICAgICAgICAgU3BlZWQgYW5kIFN0b3BwaW5nIERpc3RhbmNlcw0KIyAgICAgICAgICAgICAgICBvZiBDYXJzDQojIGNoaWNrd3RzICAgICAgIENoaWNrZW4gV2VpZ2h0cyBieSBGZWVkIFR5cGUNCiMgY28yICAgICAgICAgICAgTWF1bmEgTG9hIEF0bW9zcGhlcmljIENPMg0KIyAgICAgICAgICAgICAgICBDb25jZW50cmF0aW9uDQojIGNyaW10YWIgICAgICAgIFN0dWRlbnQncyAzMDAwIENyaW1pbmFscyBEYXRhDQojIGRpc2NvdmVyaWVzICAgIFllYXJseSBOdW1iZXJzIG9mIEltcG9ydGFudA0KIyAgICAgICAgICAgICAgICBEaXNjb3Zlcmllcw0KIyBlc29waCAgICAgICAgICBTbW9raW5nLCBBbGNvaG9sIGFuZA0KIyAgICAgICAgICAgICAgICAoTyllc29waGFnZWFsIENhbmNlcg0KIyBldXJvICAgICAgICAgICBDb252ZXJzaW9uIFJhdGVzIG9mIEV1cm8NCiMgICAgICAgICAgICAgICAgQ3VycmVuY2llcw0KIyBldXJvLmNyb3NzIChldXJvKQ0KIyAgICAgICAgICAgICAgICBDb252ZXJzaW9uIFJhdGVzIG9mIEV1cm8NCiMgICAgICAgICAgICAgICAgQ3VycmVuY2llcw0KIyBldXJvZGlzdCAgICAgICBEaXN0YW5jZXMgQmV0d2VlbiBFdXJvcGVhbg0KIyAgICAgICAgICAgICAgICBDaXRpZXMgYW5kIEJldHdlZW4gVVMgQ2l0aWVzDQojIGZhaXRoZnVsICAgICAgIE9sZCBGYWl0aGZ1bCBHZXlzZXIgRGF0YQ0KIyBmZGVhdGhzIChVS0x1bmdEZWF0aHMpDQojICAgICAgICAgICAgICAgIE1vbnRobHkgRGVhdGhzIGZyb20gTHVuZw0KIyAgICAgICAgICAgICAgICBEaXNlYXNlcyBpbiB0aGUgVUsNCiMgZnJlZW55ICAgICAgICAgRnJlZW55J3MgUmV2ZW51ZSBEYXRhDQojIGZyZWVueS54IChmcmVlbnkpDQojICAgICAgICAgICAgICAgIEZyZWVueSdzIFJldmVudWUgRGF0YQ0KIyBmcmVlbnkueSAoZnJlZW55KQ0KIyAgICAgICAgICAgICAgICBGcmVlbnkncyBSZXZlbnVlIERhdGENCiMgaW5mZXJ0ICAgICAgICAgSW5mZXJ0aWxpdHkgYWZ0ZXIgU3BvbnRhbmVvdXMNCiMgICAgICAgICAgICAgICAgYW5kIEluZHVjZWQgQWJvcnRpb24NCiMgaXJpcyAgICAgICAgICAgRWRnYXIgQW5kZXJzb24ncyBJcmlzIERhdGENCiMgaXJpczMgICAgICAgICAgRWRnYXIgQW5kZXJzb24ncyBJcmlzIERhdGENCiMgaXNsYW5kcyAgICAgICAgQXJlYXMgb2YgdGhlIFdvcmxkJ3MgTWFqb3INCiMgICAgICAgICAgICAgICAgTGFuZG1hc3Nlcw0KIyBsZGVhdGhzIChVS0x1bmdEZWF0aHMpDQojICAgICAgICAgICAgICAgIE1vbnRobHkgRGVhdGhzIGZyb20gTHVuZw0KIyAgICAgICAgICAgICAgICBEaXNlYXNlcyBpbiB0aGUgVUsNCiMgbGggICAgICAgICAgICAgTHV0ZWluaXppbmcgSG9ybW9uZSBpbiBCbG9vZA0KIyAgICAgICAgICAgICAgICBTYW1wbGVzDQojIGxvbmdsZXkgICAgICAgIExvbmdsZXkncyBFY29ub21pYyBSZWdyZXNzaW9uDQojICAgICAgICAgICAgICAgIERhdGENCiMgbHlueCAgICAgICAgICAgQW5udWFsIENhbmFkaWFuIEx5bnggdHJhcHBpbmdzDQojICAgICAgICAgICAgICAgIDE4MjEtMTkzNA0KIyBtZGVhdGhzIChVS0x1bmdEZWF0aHMpDQojICAgICAgICAgICAgICAgIE1vbnRobHkgRGVhdGhzIGZyb20gTHVuZw0KIyAgICAgICAgICAgICAgICBEaXNlYXNlcyBpbiB0aGUgVUsNCiMgbW9ybGV5ICAgICAgICAgTWljaGVsc29uIFNwZWVkIG9mIExpZ2h0IERhdGENCiMgbXRjYXJzICAgICAgICAgTW90b3IgVHJlbmQgQ2FyIFJvYWQgVGVzdHMNCiMgbmh0ZW1wICAgICAgICAgQXZlcmFnZSBZZWFybHkgVGVtcGVyYXR1cmVzIGluDQojICAgICAgICAgICAgICAgIE5ldyBIYXZlbg0KIyBub3R0ZW0gICAgICAgICBBdmVyYWdlIE1vbnRobHkgVGVtcGVyYXR1cmVzDQojICAgICAgICAgICAgICAgIGF0IE5vdHRpbmdoYW0sIDE5MjAtMTkzOQ0KIyBucGsgICAgICAgICAgICBDbGFzc2ljYWwgTiwgUCwgSyBGYWN0b3JpYWwNCiMgICAgICAgICAgICAgICAgRXhwZXJpbWVudA0KIyBvY2N1cGF0aW9uYWxTdGF0dXMNCiMgICAgICAgICAgICAgICAgT2NjdXBhdGlvbmFsIFN0YXR1cyBvZiBGYXRoZXJzDQojICAgICAgICAgICAgICAgIGFuZCB0aGVpciBTb25zDQojIHByZWNpcCAgICAgICAgIEFubnVhbCBQcmVjaXBpdGF0aW9uIGluIFVTDQojICAgICAgICAgICAgICAgIENpdGllcw0KIyBwcmVzaWRlbnRzICAgICBRdWFydGVybHkgQXBwcm92YWwgUmF0aW5ncyBvZg0KIyAgICAgICAgICAgICAgICBVUyBQcmVzaWRlbnRzDQojIHByZXNzdXJlICAgICAgIFZhcG9yIFByZXNzdXJlIG9mIE1lcmN1cnkgYXMgYQ0KIyAgICAgICAgICAgICAgICBGdW5jdGlvbiBvZiBUZW1wZXJhdHVyZQ0KIyBxdWFrZXMgICAgICAgICBMb2NhdGlvbnMgb2YgRWFydGhxdWFrZXMgb2ZmDQojICAgICAgICAgICAgICAgIEZpamkNCiMgcmFuZHUgICAgICAgICAgUmFuZG9tIE51bWJlcnMgZnJvbQ0KIyAgICAgICAgICAgICAgICBDb25ncnVlbnRpYWwgR2VuZXJhdG9yIFJBTkRVDQojIHJpdmVycyAgICAgICAgIExlbmd0aHMgb2YgTWFqb3IgTm9ydGgNCiMgICAgICAgICAgICAgICAgQW1lcmljYW4gUml2ZXJzDQojIHJvY2sgICAgICAgICAgIE1lYXN1cmVtZW50cyBvbiBQZXRyb2xldW0gUm9jaw0KIyAgICAgICAgICAgICAgICBTYW1wbGVzDQojIHNsZWVwICAgICAgICAgIFN0dWRlbnQncyBTbGVlcCBEYXRhDQojIHN0YWNrLmxvc3MgKHN0YWNrbG9zcykNCiMgICAgICAgICAgICAgICAgQnJvd25sZWUncyBTdGFjayBMb3NzIFBsYW50DQojICAgICAgICAgICAgICAgIERhdGENCiMgc3RhY2sueCAoc3RhY2tsb3NzKQ0KIyAgICAgICAgICAgICAgICBCcm93bmxlZSdzIFN0YWNrIExvc3MgUGxhbnQNCiMgICAgICAgICAgICAgICAgRGF0YQ0KIyBzdGFja2xvc3MgICAgICBCcm93bmxlZSdzIFN0YWNrIExvc3MgUGxhbnQNCiMgICAgICAgICAgICAgICAgRGF0YQ0KIyBzdGF0ZS5hYmIgKHN0YXRlKQ0KIyAgICAgICAgICAgICAgICBVUyBTdGF0ZSBGYWN0cyBhbmQgRmlndXJlcw0KIyBzdGF0ZS5hcmVhIChzdGF0ZSkNCiMgICAgICAgICAgICAgICAgVVMgU3RhdGUgRmFjdHMgYW5kIEZpZ3VyZXMNCiMgc3RhdGUuY2VudGVyIChzdGF0ZSkNCiMgICAgICAgICAgICAgICAgVVMgU3RhdGUgRmFjdHMgYW5kIEZpZ3VyZXMNCiMgc3RhdGUuZGl2aXNpb24gKHN0YXRlKQ0KIyAgICAgICAgICAgICAgICBVUyBTdGF0ZSBGYWN0cyBhbmQgRmlndXJlcw0KIyBzdGF0ZS5uYW1lIChzdGF0ZSkNCiMgICAgICAgICAgICAgICAgVVMgU3RhdGUgRmFjdHMgYW5kIEZpZ3VyZXMNCiMgc3RhdGUucmVnaW9uIChzdGF0ZSkNCiMgICAgICAgICAgICAgICAgVVMgU3RhdGUgRmFjdHMgYW5kIEZpZ3VyZXMNCiMgc3RhdGUueDc3IChzdGF0ZSkNCiMgICAgICAgICAgICAgICAgVVMgU3RhdGUgRmFjdHMgYW5kIEZpZ3VyZXMNCiMgc3Vuc3BvdC5tb250aA0KIyAgICAgICAgICAgICAgICBNb250aGx5IFN1bnNwb3QgRGF0YSwgZnJvbQ0KIyAgICAgICAgICAgICAgICAxNzQ5IHRvICJQcmVzZW50Ig0KIyBzdW5zcG90LnllYXIgICBZZWFybHkgU3Vuc3BvdCBEYXRhLCAxNzAwLTE5ODgNCiMgc3Vuc3BvdHMgICAgICAgTW9udGhseSBTdW5zcG90IE51bWJlcnMsDQojICAgICAgICAgICAgICAgIDE3NDktMTk4Mw0KIyBzd2lzcyAgICAgICAgICBTd2lzcyBGZXJ0aWxpdHkgYW5kDQojICAgICAgICAgICAgICAgIFNvY2lvZWNvbm9taWMgSW5kaWNhdG9ycw0KIyAgICAgICAgICAgICAgICAoMTg4OCkgRGF0YQ0KIyB0cmVlcmluZyAgICAgICBZZWFybHkgVHJlZXJpbmcgRGF0YSwNCiMgICAgICAgICAgICAgICAgLTYwMDAtMTk3OQ0KIyB0cmVlcyAgICAgICAgICBHaXJ0aCwgSGVpZ2h0IGFuZCBWb2x1bWUgZm9yDQojICAgICAgICAgICAgICAgIEJsYWNrIENoZXJyeSBUcmVlcw0KIyB1c3BvcCAgICAgICAgICBQb3B1bGF0aW9ucyBSZWNvcmRlZCBieSB0aGUgVVMNCiMgICAgICAgICAgICAgICAgQ2Vuc3VzDQojIHZvbGNhbm8gICAgICAgIFRvcG9ncmFwaGljIEluZm9ybWF0aW9uIG9uDQojICAgICAgICAgICAgICAgIEF1Y2tsYW5kJ3MgTWF1bmdhIFdoYXUgVm9sY2Fubw0KIyB3YXJwYnJlYWtzICAgICBUaGUgTnVtYmVyIG9mIEJyZWFrcyBpbiBZYXJuDQojICAgICAgICAgICAgICAgIGR1cmluZyBXZWF2aW5nDQojIHdvbWVuICAgICAgICAgIEF2ZXJhZ2UgSGVpZ2h0cyBhbmQgV2VpZ2h0cw0KIyAgICAgICAgICAgICAgICBmb3IgQW1lcmljYW4gV29tZW4NCiMgDQpgYGANCkRhdGEgc2V0cyBpbiBwYWNrYWdlIMKhwq5nb29nbGVWaXPCocKvOg0KYGBge3J9DQojIEFuZHJldyAgICAgICAgIEh1cnJpY2FuZSBBbmRyZXc6IGdvb2dsZVZpcw0KIyAgICAgICAgICAgICAgICBleGFtcGxlIGRhdGEgc2V0DQojIENhaXJvICAgICAgICAgIERhaWx5IHRlbXBlcmF0dXJlIGRhdGEgZm9yDQojICAgICAgICAgICAgICAgIENhaXJvDQojIENpdHlQb3B1bGFyaXR5DQojICAgICAgICAgICAgICAgIENpdHlQb3B1bGFyaXR5OiBnb29nbGVWaXMNCiMgICAgICAgICAgICAgICAgZXhhbXBsZSBkYXRhIHNldA0KIyBFeHBvcnRzICAgICAgICBFeHBvcnRzOiBnb29nbGVWaXMgZXhhbXBsZQ0KIyAgICAgICAgICAgICAgICBkYXRhIHNldA0KIyBGcnVpdHMgICAgICAgICBGcnVpdHM6IGdvb2dsZVZpcyBleGFtcGxlIGRhdGENCiMgICAgICAgICAgICAgICAgc2V0DQojIE9wZW5DbG9zZSAgICAgIE9wZW5DbG9zZTogZ29vZ2xlVmlzIGV4YW1wbGUNCiMgICAgICAgICAgICAgICAgZGF0YSBzZXQNCiMgUG9wdWxhdGlvbiAgICAgUG9wdWxhdGlvbjogZ29vZ2xlVmlzIGV4YW1wbGUNCiMgICAgICAgICAgICAgICAgZGF0YSBzZXQNCiMgUmVnaW9ucyAgICAgICAgUmVnaW9uczogZ29vZ2xlVmlzIGV4YW1wbGUNCiMgICAgICAgICAgICAgICAgZGF0YSBzZXQNCiMgU3RvY2sgICAgICAgICAgU3RvY2s6IGdvb2dsZVZpcyBleGFtcGxlIGRhdGENCiMgICAgICAgICAgICAgICAgc2V0DQojIGRpbm8gICAgICAgICAgIERpbm9zYXVyIGRhdGENCmBgYA0KRGF0YSBzZXRzIGluIHBhY2thZ2UgwqHCrmhmbGlnaHRzwqHCrzoNCmBgYHtyfQ0KIyBoZmxpZ2h0cyAgICAgICBIb3VzdG9uIGZsaWdodHMgZGF0YQ0KIw0KYGBgDQoNCkRhdGEgc2V0cyBpbiBwYWNrYWdlIMKhwq5NQVNTwqHCrzoNCmBgYHtyfQ0KIyBBaWRzMiAgICAgICAgICBBdXN0cmFsaWFuIEFJRFMgU3Vydml2YWwgRGF0YQ0KIyBBbmltYWxzICAgICAgICBCcmFpbiBhbmQgQm9keSBXZWlnaHRzIGZvciAyOA0KIyAgICAgICAgICAgICAgICBTcGVjaWVzDQojIEJvc3RvbiAgICAgICAgIEhvdXNpbmcgVmFsdWVzIGluIFN1YnVyYnMgb2YNCiMgICAgICAgICAgICAgICAgQm9zdG9uDQojIENhcnM5MyAgICAgICAgIERhdGEgZnJvbSA5MyBDYXJzIG9uIFNhbGUgaW4NCiMgICAgICAgICAgICAgICAgdGhlIFVTQSBpbiAxOTkzDQojIEN1c2hpbmdzICAgICAgIERpYWdub3N0aWMgVGVzdHMgb24gUGF0aWVudHMNCiMgICAgICAgICAgICAgICAgd2l0aCBDdXNoaW5nJ3MgU3luZHJvbWUNCiMgRERUICAgICAgICAgICAgRERUIGluIEthbGUNCiMgR0FHdXJpbmUgICAgICAgTGV2ZWwgb2YgR0FHIGluIFVyaW5lIG9mDQojICAgICAgICAgICAgICAgIENoaWxkcmVuDQojIEluc3VyYW5jZSAgICAgIE51bWJlcnMgb2YgQ2FyIEluc3VyYW5jZQ0KIyAgICAgICAgICAgICAgICBjbGFpbXMNCiMgTWVsYW5vbWEgICAgICAgU3Vydml2YWwgZnJvbSBNYWxpZ25hbnQNCiMgICAgICAgICAgICAgICAgTWVsYW5vbWENCiMgT01FICAgICAgICAgICAgVGVzdHMgb2YgQXVkaXRvcnkgUGVyY2VwdGlvbg0KIyAgICAgICAgICAgICAgICBpbiBDaGlsZHJlbiB3aXRoIE9NRQ0KIyBQaW1hLnRlICAgICAgICBEaWFiZXRlcyBpbiBQaW1hIEluZGlhbiBXb21lbg0KIyBQaW1hLnRyICAgICAgICBEaWFiZXRlcyBpbiBQaW1hIEluZGlhbiBXb21lbg0KIyBQaW1hLnRyMiAgICAgICBEaWFiZXRlcyBpbiBQaW1hIEluZGlhbiBXb21lbg0KIyBSYWJiaXQgICAgICAgICBCbG9vZCBQcmVzc3VyZSBpbiBSYWJiaXRzDQojIFJ1YmJlciAgICAgICAgIEFjY2VsZXJhdGVkIFRlc3Rpbmcgb2YgVHlyZQ0KIyAgICAgICAgICAgICAgICBSdWJiZXINCiMgU1A1MDAgICAgICAgICAgUmV0dXJucyBvZiB0aGUgU3RhbmRhcmQgYW5kDQojICAgICAgICAgICAgICAgIFBvb3JzIDUwMA0KIyBTaXRrYSAgICAgICAgICBHcm93dGggQ3VydmVzIGZvciBTaXRrYSBTcHJ1Y2UNCiMgICAgICAgICAgICAgICAgVHJlZXMgaW4gMTk4OA0KIyBTaXRrYTg5ICAgICAgICBHcm93dGggQ3VydmVzIGZvciBTaXRrYSBTcHJ1Y2UNCiMgICAgICAgICAgICAgICAgVHJlZXMgaW4gMTk4OQ0KIyBTa3llICAgICAgICAgICBBRk0gQ29tcG9zaXRpb25zIG9mIEFwaHlyaWMNCiMgICAgICAgICAgICAgICAgU2t5ZSBMYXZhcw0KIyBUcmFmZmljICAgICAgICBFZmZlY3Qgb2YgU3dlZGlzaCBTcGVlZCBMaW1pdHMNCiMgICAgICAgICAgICAgICAgb24gQWNjaWRlbnRzDQojIFVTY2VyZWFsICAgICAgIE51dHJpdGlvbmFsIGFuZCBNYXJrZXRpbmcNCiMgICAgICAgICAgICAgICAgSW5mb3JtYXRpb24gb24gVVMgQ2VyZWFscw0KIyBVU2NyaW1lICAgICAgICBUaGUgRWZmZWN0IG9mIFB1bmlzaG1lbnQNCiMgICAgICAgICAgICAgICAgUmVnaW1lcyBvbiBDcmltZSBSYXRlcw0KIyBWQSAgICAgICAgICAgICBWZXRlcmFuJ3MgQWRtaW5pc3RyYXRpb24gTHVuZw0KIyAgICAgICAgICAgICAgICBDYW5jZXIgVHJpYWwNCiMgYWJiZXkgICAgICAgICAgRGV0ZXJtaW5hdGlvbnMgb2YgTmlja2VsDQojICAgICAgICAgICAgICAgIENvbnRlbnQNCiMgYWNjZGVhdGhzICAgICAgQWNjaWRlbnRhbCBEZWF0aHMgaW4gdGhlIFVTDQojICAgICAgICAgICAgICAgIDE5NzMtMTk3OA0KIyBhbm9yZXhpYSAgICAgICBBbm9yZXhpYSBEYXRhIG9uIFdlaWdodCBDaGFuZ2UNCiMgYmFjdGVyaWEgICAgICAgUHJlc2VuY2Ugb2YgQmFjdGVyaWEgYWZ0ZXINCiMgICAgICAgICAgICAgICAgRHJ1ZyBUcmVhdG1lbnRzDQojIGJlYXYxICAgICAgICAgIEJvZHkgVGVtcGVyYXR1cmUgU2VyaWVzIG9mDQojICAgICAgICAgICAgICAgIEJlYXZlciAxDQojIGJlYXYyICAgICAgICAgIEJvZHkgVGVtcGVyYXR1cmUgU2VyaWVzIG9mDQojICAgICAgICAgICAgICAgIEJlYXZlciAyDQojIGJpb3BzeSAgICAgICAgIEJpb3BzeSBEYXRhIG9uIEJyZWFzdCBDYW5jZXINCiMgICAgICAgICAgICAgICAgUGF0aWVudHMNCiMgYmlydGh3dCAgICAgICAgUmlzayBGYWN0b3JzIEFzc29jaWF0ZWQgd2l0aA0KIyAgICAgICAgICAgICAgICBMb3cgSW5mYW50IEJpcnRoIFdlaWdodA0KIyBjYWJiYWdlcyAgICAgICBEYXRhIGZyb20gYSBjYWJiYWdlIGZpZWxkDQojICAgICAgICAgICAgICAgIHRyaWFsDQojIGNhaXRoICAgICAgICAgIENvbG91cnMgb2YgRXllcyBhbmQgSGFpciBvZg0KIyAgICAgICAgICAgICAgICBQZW9wbGUgaW4gQ2FpdGhuZXNzDQojIGNhdHMgICAgICAgICAgIEFuYXRvbWljYWwgRGF0YSBmcm9tIERvbWVzdGljDQojICAgICAgICAgICAgICAgIENhdHMNCiMgY2VtZW50ICAgICAgICAgSGVhdCBFdm9sdmVkIGJ5IFNldHRpbmcNCiMgICAgICAgICAgICAgICAgQ2VtZW50cw0KIyBjaGVtICAgICAgICAgICBDb3BwZXIgaW4gV2hvbGVtZWFsIEZsb3VyDQojIGNvb3AgICAgICAgICAgIENvLW9wZXJhdGl2ZSBUcmlhbCBpbg0KIyAgICAgICAgICAgICAgICBBbmFseXRpY2FsIENoZW1pc3RyeQ0KIyBjcHVzICAgICAgICAgICBQZXJmb3JtYW5jZSBvZiBDb21wdXRlciBDUFVzDQojIGNyYWJzICAgICAgICAgIE1vcnBob2xvZ2ljYWwgTWVhc3VyZW1lbnRzIG9uDQojICAgICAgICAgICAgICAgIExlcHRvZ3JhcHN1cyBDcmFicw0KIyBkZWF0aHMgICAgICAgICBNb250aGx5IERlYXRocyBmcm9tIEx1bmcNCiMgICAgICAgICAgICAgICAgRGlzZWFzZXMgaW4gdGhlIFVLDQojIGRyaXZlcnMgICAgICAgIERlYXRocyBvZiBDYXIgRHJpdmVycyBpbiBHcmVhdA0KIyAgICAgICAgICAgICAgICBCcml0YWluIDE5NjktODQNCiMgZWFnbGVzICAgICAgICAgRm9yYWdpbmcgRWNvbG9neSBvZiBCYWxkDQojICAgICAgICAgICAgICAgIEVhZ2xlcw0KIyBlcGlsICAgICAgICAgICBTZWl6dXJlIENvdW50cyBmb3IgRXBpbGVwdGljcw0KIyBmYXJtcyAgICAgICAgICBFY29sb2dpY2FsIEZhY3RvcnMgaW4gRmFybQ0KIyAgICAgICAgICAgICAgICBNYW5hZ2VtZW50DQojIGZnbCAgICAgICAgICAgIE1lYXN1cmVtZW50cyBvZiBGb3JlbnNpYyBHbGFzcw0KIyAgICAgICAgICAgICAgICBGcmFnbWVudHMNCiMgZm9yYmVzICAgICAgICAgRm9yYmVzJyBEYXRhIG9uIEJvaWxpbmcgUG9pbnRzDQojICAgICAgICAgICAgICAgIGluIHRoZSBBbHBzDQojIGdhbGF4aWVzICAgICAgIFZlbG9jaXRpZXMgZm9yIDgyIEdhbGF4aWVzDQojIGdlaGFuICAgICAgICAgIFJlbWlzc2lvbiBUaW1lcyBvZiBMZXVrYWVtaWENCiMgICAgICAgICAgICAgICAgUGF0aWVudHMNCiMgZ2Vub3R5cGUgICAgICAgUmF0IEdlbm90eXBlIERhdGENCiMgZ2V5c2VyICAgICAgICAgT2xkIEZhaXRoZnVsIEdleXNlciBEYXRhDQojIGdpbGdhaXMgICAgICAgIExpbmUgVHJhbnNlY3Qgb2YgU29pbCBpbg0KIyAgICAgICAgICAgICAgICBHaWxnYWkgVGVycml0b3J5DQojIGhpbGxzICAgICAgICAgIFJlY29yZCBUaW1lcyBpbiBTY290dGlzaCBIaWxsDQojICAgICAgICAgICAgICAgIFJhY2VzDQojIGhvdXNpbmcgICAgICAgIEZyZXF1ZW5jeSBUYWJsZSBmcm9tIGENCiMgICAgICAgICAgICAgICAgQ29wZW5oYWdlbiBIb3VzaW5nIENvbmRpdGlvbnMNCiMgICAgICAgICAgICAgICAgU3VydmV5DQojIGltbWVyICAgICAgICAgIFlpZWxkcyBmcm9tIGEgQmFybGV5IEZpZWxkDQojICAgICAgICAgICAgICAgIFRyaWFsDQojIGxldWsgICAgICAgICAgIFN1cnZpdmFsIFRpbWVzIGFuZCBXaGl0ZSBCbG9vZA0KIyAgICAgICAgICAgICAgICBDb3VudHMgZm9yIExldWthZW1pYSBQYXRpZW50cw0KIyBtYW1tYWxzICAgICAgICBCcmFpbiBhbmQgQm9keSBXZWlnaHRzIGZvciA2Mg0KIyAgICAgICAgICAgICAgICBTcGVjaWVzIG9mIExhbmQgTWFtbWFscw0KIyBtY3ljbGUgICAgICAgICBEYXRhIGZyb20gYSBTaW11bGF0ZWQNCiMgICAgICAgICAgICAgICAgTW90b3JjeWNsZSBBY2NpZGVudA0KIyBtZW5hcmNoZSAgICAgICBBZ2Ugb2YgTWVuYXJjaGUgaW4gV2Fyc2F3DQojIG1pY2hlbHNvbiAgICAgIE1pY2hlbHNvbidzIFNwZWVkIG9mIExpZ2h0DQojICAgICAgICAgICAgICAgIERhdGENCiMgbWlubjM4ICAgICAgICAgTWlubmVzb3RhIEhpZ2ggU2Nob29sDQojICAgICAgICAgICAgICAgIEdyYWR1YXRlcyBvZiAxOTM4DQojIG1vdG9ycyAgICAgICAgIEFjY2VsZXJhdGVkIExpZmUgVGVzdGluZyBvZg0KIyAgICAgICAgICAgICAgICBNb3RvcmV0dGVzDQojIG11c2NsZSAgICAgICAgIEVmZmVjdCBvZiBDYWxjaXVtIENobG9yaWRlIG9uDQojICAgICAgICAgICAgICAgIE11c2NsZSBDb250cmFjdGlvbiBpbiBSYXQNCiMgICAgICAgICAgICAgICAgSGVhcnRzDQojIG5ld2NvbWIgICAgICAgIE5ld2NvbWIncyBNZWFzdXJlbWVudHMgb2YgdGhlDQojICAgICAgICAgICAgICAgIFBhc3NhZ2UgVGltZSBvZiBMaWdodA0KIyBubHNjaG9vbHMgICAgICBFaWdodGgtR3JhZGUgUHVwaWxzIGluIHRoZQ0KIyAgICAgICAgICAgICAgICBOZXRoZXJsYW5kcw0KIyBucGsgICAgICAgICAgICBDbGFzc2ljYWwgTiwgUCwgSyBGYWN0b3JpYWwNCiMgICAgICAgICAgICAgICAgRXhwZXJpbWVudA0KIyBucHIxICAgICAgICAgICBVUyBOYXZhbCBQZXRyb2xldW0gUmVzZXJ2ZSBOby4NCiMgICAgICAgICAgICAgICAgMSBkYXRhDQojIG9hdHMgICAgICAgICAgIERhdGEgZnJvbSBhbiBPYXRzIEZpZWxkIFRyaWFsDQojIHBhaW50ZXJzICAgICAgIFRoZSBQYWludGVyJ3MgRGF0YSBvZiBkZSBQaWxlcw0KIyBwZXRyb2wgICAgICAgICBOLiBMLiBQcmF0ZXIncyBQZXRyb2wgUmVmaW5lcnkNCiMgICAgICAgICAgICAgICAgRGF0YQ0KIyBwaG9uZXMgICAgICAgICBCZWxnaXVtIFBob25lIENhbGxzIDE5NTAtMTk3Mw0KIyBxdWluZSAgICAgICAgICBBYnNlbnRlZWlzbSBmcm9tIFNjaG9vbCBpbg0KIyAgICAgICAgICAgICAgICBSdXJhbCBOZXcgU291dGggV2FsZXMNCiMgcm9hZCAgICAgICAgICAgUm9hZCBBY2NpZGVudCBEZWF0aHMgaW4gVVMNCiMgICAgICAgICAgICAgICAgU3RhdGVzDQojIHJvdGlmZXIgICAgICAgIE51bWJlcnMgb2YgUm90aWZlcnMgYnkgRmx1aWQNCiMgICAgICAgICAgICAgICAgRGVuc2l0eQ0KIyBzaGlwcyAgICAgICAgICBTaGlwcyBEYW1hZ2UgRGF0YQ0KIyBzaG9lcyAgICAgICAgICBTaG9lIHdlYXIgZGF0YSBvZiBCb3gsIEh1bnRlcg0KIyAgICAgICAgICAgICAgICBhbmQgSHVudGVyDQojIHNocmltcCAgICAgICAgIFBlcmNlbnRhZ2Ugb2YgU2hyaW1wIGluIFNocmltcA0KIyAgICAgICAgICAgICAgICBDb2NrdGFpbA0KIyBzaHV0dGxlICAgICAgICBTcGFjZSBTaHV0dGxlIEF1dG9sYW5kZXINCiMgICAgICAgICAgICAgICAgUHJvYmxlbQ0KIyBzbmFpbHMgICAgICAgICBTbmFpbCBNb3J0YWxpdHkgRGF0YQ0KIyBzdGVhbSAgICAgICAgICBUaGUgU2F0dXJhdGVkIFN0ZWFtIFByZXNzdXJlDQojICAgICAgICAgICAgICAgIERhdGENCiMgc3Rvcm1lciAgICAgICAgVGhlIFN0b3JtZXIgVmlzY29tZXRlciBEYXRhDQojIHN1cnZleSAgICAgICAgIFN0dWRlbnQgU3VydmV5IERhdGENCiMgc3ludGgudGUgICAgICAgU3ludGhldGljIENsYXNzaWZpY2F0aW9uDQojICAgICAgICAgICAgICAgIFByb2JsZW0NCiMgc3ludGgudHIgICAgICAgU3ludGhldGljIENsYXNzaWZpY2F0aW9uDQojICAgICAgICAgICAgICAgIFByb2JsZW0NCiMgdG9wbyAgICAgICAgICAgU3BhdGlhbCBUb3BvZ3JhcGhpYyBEYXRhDQojIHdhZGVycyAgICAgICAgIENvdW50cyBvZiBXYWRlcnMgYXQgMTUgU2l0ZXMNCiMgICAgICAgICAgICAgICAgaW4gU291dGggQWZyaWNhDQojIHdoaXRlc2lkZSAgICAgIEhvdXNlIEluc3VsYXRpb246IFdoaXRlc2lkZSdzDQojICAgICAgICAgICAgICAgIERhdGENCiMgd3Rsb3NzICAgICAgICAgV2VpZ2h0IExvc3MgRGF0YSBmcm9tIGFuIE9iZXNlDQojICAgICAgICAgICAgICAgIFBhdGllbnQNCiMgDQpgYGANCg0KRGF0YSBzZXRzIGluIHBhY2thZ2UgwqHCrlJHQcKhwq86DQpgYGB7cn0NCg0KIyANCiMgZ2EgICAgICAgICAgICAgTGlzdHMgYWxsIGNvbHVtbnMgZm9yIGEgR29vZ2xlDQojICAgICAgICAgICAgICAgIEFuYWx5dGljcyBjb3JlIHJlcG9ydCB0eXBlDQpgYGANCg0KRGF0YSBzZXRzIGluIHBhY2thZ2UgwqHCrnN0cmluZ3LCocKvOg0KYGBge3J9DQojIGZydWl0ICAgICAgICAgIFNhbXBsZSBjaGFyYWN0ZXIgdmVjdG9ycyBmb3INCiMgICAgICAgICAgICAgICAgcHJhY3RpY2luZyBzdHJpbmcNCiMgICAgICAgICAgICAgICAgbWFuaXB1bGF0aW9ucy4NCiMgc2VudGVuY2VzICAgICAgU2FtcGxlIGNoYXJhY3RlciB2ZWN0b3JzIGZvcg0KIyAgICAgICAgICAgICAgICBwcmFjdGljaW5nIHN0cmluZw0KIyAgICAgICAgICAgICAgICBtYW5pcHVsYXRpb25zLg0KIyB3b3JkcyAgICAgICAgICBTYW1wbGUgY2hhcmFjdGVyIHZlY3RvcnMgZm9yDQojICAgICAgICAgICAgICAgIHByYWN0aWNpbmcgc3RyaW5nDQojICAgICAgICAgICAgICAgIG1hbmlwdWxhdGlvbnMuDQpgYGANCkRhdGEgc2V0cyBpbiBwYWNrYWdlIMKhwq53b3JkY2xvdWTCocKvOg0KYGBge3J9DQojIFNPVFUgICAgICAgICAgIFVuaXRlZCBTdGF0ZXMgU3RhdGUgb2YgdGhlDQojICAgICAgICAgICAgICAgIFVuaW9uIEFkZHJlc3NlcyAoMjAxMCBhbmQNCiMgICAgICAgICAgICAgICAgMjAxMSkNCiMgDQpgYGANCg0KYGBge3J9DQojIFVzZSDCocKuZGF0YShwYWNrYWdlID0gLnBhY2thZ2VzKGFsbC5hdmFpbGFibGUgPSBUUlVFKSnCocKvDQojIHRvIGxpc3QgdGhlIGRhdGEgc2V0cyBpbiBhbGwgKmF2YWlsYWJsZSogcGFja2FnZXMuDQpgYGANCg0K