CINXE.COM
Episode 294 Hannah's Induced VBAC due to Preeclampsia + More on the Pelvic Floor with Co-host Rebecca - The VBAC Link | Podcast on Spotify
<!doctype html><html class="mobile-web-player" lang="en" dir="ltr"><head><meta charSet="utf-8"/><title>Episode 294 Hannah's Induced VBAC due to Preeclampsia + More on the Pelvic Floor with Co-host Rebecca - The VBAC Link | Podcast on Spotify</title><meta property="og:site_name" content="Spotify"/><meta property="fb:app_id" content="174829003346"/><link rel="icon" sizes="32x32" type="image/png" href="https://open.spotifycdn.com/cdn/images/favicon32.b64ecc03.png"/><link rel="icon" sizes="16x16" type="image/png" href="https://open.spotifycdn.com/cdn/images/favicon16.1c487bff.png"/><link rel="icon" href="https://open.spotifycdn.com/cdn/images/favicon.0f31d2ea.ico"/><meta http-equiv="X-UA-Compatible" content="IE=9"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="https://encore.scdn.co/fonts/SpotifyMixUI-Regular-cc3b1de388efa4cbca6c75cebc24585e.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link rel="preload" href="https://encore.scdn.co/fonts/SpotifyMixUITitleVariable-8769ccfde3379b7ebcadd9529b49d0cc.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link rel="preload" href="https://encore.scdn.co/fonts/SpotifyMixUITitle-Bold-37290f1de77f297fcc26d71e9afcf43f.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link rel="preload" href="https://encore.scdn.co/fonts/SpotifyMixUI-Bold-4264b799009b1db5c491778b1bc8e5b7.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link rel="preload" href="https://encore.scdn.co/fonts/SpotifyMixUITitleVariable-8769ccfde3379b7ebcadd9529b49d0cc.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link rel="preload" href="https://encore.scdn.co/fonts/SpotifyMixUITitle-Extrabold-ba6c73cd7f82c81e49cf2204017803ed.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><meta name="description" content="Listen to this episode from The VBAC Link on Spotify. Meagan has a new co-host today! Rebecca, a pelvic floor physical therapist and a VBAC Link doula located in Georgia joins Meagan while our friend Hannah from North Carolina shares her birth stories. This episode stresses again the true importance of not just a supportive provider, but of a supportive practice including hospital policies, the team of rotating providers, and the nurses. Hannah shows how her borderline preeclamptic symptoms were treated very differently between her first and second births. Her first practice had many red flags she didn’t notice until her second practice showed green flag after green flag throughout her entire journey. Rebecca also shares her expertise surrounding pelvic floor PT– who needs it and how it can impact birth outcomes. She also debunks myths about small pelvises and talks in depth about scar tissue. Both women share such valuable tips that we know you will love!Real Food for Pregnancy by Lily NicholsNeeded WebsiteHow to VBAC: The Ultimate Prep Course for ParentsFull Transcript under Episode Details 03:11 Review of the Week05:13 Hannah’s stories08:17 Higher blood pressure readings and induction10:26 Induction due to high blood pressure readings11:52 Interventions and not being able to move during labor16:50 Hannah’s C-section19:36 Rebecca’s thoughts about pelvic bone structure22:42 Second pregnancy29:01 A medically necessary induction33:27 Ending the first full day of induction38:03 Pushing for 20 minutes39:59 Hannah’s advice to listeners - provider support and nutrition44:17 Small pelvises and scar tissue50:13 Other scar tissue that can affect positioningMeagan: Hey, hey Women of Strength. It is Meagan and guess what? We have a cohost today, a new cohost who has never been with us and we are so excited that she is joining us. We have Rebecca Goldberg on our podcast today. Hello, Rebecca. Rebecca: Hello. Meagan: Thank you for taking the time and being with us. Rebecca: Yeah. I really love the resources and the community and I’m just thrilled to be here. Meagan: Well, we are excited and for anyone wondering who Rebecca is, she is an amazing human being. She actually does a lot in pelvic PT and is one of our VBAC-certified doulas. She’s in Georgia. Rebecca: Yep. I’m in Atlanta, the Decatur area. Meagan: Decatur area. Is that where you serve mainly? Rebecca: Yeah. I have people who come to me from all over. Some people are traveling up to an hour or an hour and a half, but I actually can go to people’s homes who are directly in my area. So, people who are post-C-section, I can come to you as early as the day you are discharged. I can work with you deal with pain, make sure you know what needs to happen, and help you do all of the things. That’s where my passion really lies. Meagan: I love that. I love that and for VBAC, how early for pelvic floor and stuff? How early can you start working with them? Rebecca: As soon as they have gotten home. If they are planning on getting pregnant again, we can start building that into what our plans are so that we are starting that process earlier rather than later and you’re more likely to have results that when you are ready to get pregnant, you can just get pregnant. Meagan: Love it. Awesome. Well, thank you, thank you for being here. 03:11 Review of the WeekMeagan: You guys, as usual, we have a Review of the Week. You don’t have to listen to me stumble upon the review. Rebecca will read it. I’m sure she will do a lot better than I normally do. Rebecca: Well, this review is from Apple Podcasts and it’s from semicrunchyyogi. I love that name. The review says, “My personal VBAC journey was actually directly influenced by Meagan Heaton, one of the hosts on this podcast. She was my doula with my second baby, my 10-pound VBAC baby.” Whoa. Meagan: Woo, yeah. Rebecca: “When she started this podcast, I knew it would be something special. I will always be passionate about VBAC and making sure women are given options, respect, and support through their birth journeys. This podcast does just that. This podcast is so needed and addresses important myths about VBAC and birth. Thank you so much, Julie and Meagan, for using your passion to support other women. You two are amazing examples of Women of Strength.” And then there’s a heart. Meagan: Aww, I love that. Thank you semicrunchyyogi. Rebecca: Yogi, yeah. Meagan: That is awesome. Thank you so much. 05:13 Hannah’s storiesMeagan: Okay, you guys. We have our friend, Hannah, from North Carolina so if you are from North Carolina, listen up. I feel like it’s so important for us to start talking about where all of these Women of Strength are coming from because there are so many of us out there in the world who want to know where these people are because finding a supportive provider we know can be challenging. We have our friend, Hannah, from North Carolina sharing her amazing VBAC story. For anyone wondering a little bit more in relation to her story, she had preeclampsia I think actually with her both. Is that correct? Hannah: Yeah. With my first, they qualified it as gestational hypertension and then my second was preeclampsia. Meagan: So your VBAC was actually preeclamptic. Hannah: Yes. Meagan: Awesome. Okay. That is something that we see a lot in our community. People are wondering if VBAC is possible with preeclampsia. We don’t actually have a lot of stories on the podcast. In fact, you may be one of the first actually sharing in almost 300 episodes which is kind of sad. Hannah: Wow. Meagan: So we are really excited to talk about this, and you did have that CPD diagnosis like so many of us. Yeah. I’m going to welcome you on to share your stories. Hannah: Yeah, well thank you so much for having me. I’ve been listening for a while and I’m so excited to be here. I do live in the Triangle region of North Carolina. I’m just south of Raleigh in a town called Fuquay-Varina. A lot of people probably won’t recognize that name, but if you are in the Raleigh/Durham/Chapel Hill area, I do have a great recommendation for a supportive provider there. Meagan: Is that more of a rural area? Hannah: It used to be pretty rural and just in the last 10-15 years, it’s exploded. We’re getting a Target and that’s a big deal for us. Meagan: Yay! Every place is better with a Target. Hannah: Yes. Yes. Agreed. Meagan: Awesome. Okay, yeah. Let’s hear about your 6-year-old, the one that you just started listening to the podcast after. Hannah: Yeah. Yeah, just to jump in, I had my first son in July of 2017 and I was a first-time mom. I went to a midwife practice, but they were midwives who delivered at the hospital that was closest to where I lived. I had been seeing them for a few years just for my general well-woman check-up. I liked them. I felt like I had a good rapport with them, so I stuck with that. My pregnancy was good. I was working full-time. I was a traveling salesperson at the time. That got to be a little tricky towards the end. In my third trimester, I started swelling. They were like, “Oh, we just need to keep an eye on this. It could be normal. If it gets coupled with high blood pressure, then it might be concerning.” 08:17 Higher blood pressure readings and inductionHannah: Around 35 weeks, I did have high blood pressure readings. Just on the side, I have a history of white coat syndrome even as a teenager. My blood pressure would shoot up in the office so that’s always been an issue for me and I was concerned about that for pregnancy because I knew high blood pressure, pregnancy, high risk, and I was hoping for an intervention-free birth in the hospital. Meagan: Yeah. Hannah: I did all of the things, I thought. I had a doula. I had read Ina May Gaskin. Meagan: Guide to Childbirth. Hannah: Yes. I did HypnoBabies. Meagan: You were very prepared. Hannah: Yes. I felt very prepared but I think I didn’t have the understanding. I just heard midwife and I just thought, “Oh, natural birth.” I didn’t research the hospital too much so I just didn’t know what I didn’t know. At 35 weeks, they diagnosed me with gestational hypertension. They were pretty aggressive in their management of it. They told me, “You are done working. You are not going back to work. You are on bedrest.” Basically, they said, “You can shower, use the bathroom, and make yourself food, but other than that, you should be lying down and we will definitely induce you by your due date at the latest.” Meagan: Do you remember what your readings were reflecting at that time? Hannah: Yes. I think in the office, it would be maybe 140/85 or 90 but then at home, I had my own cuff and they were reading normal like 118/70 and stuff like that. Meagan: Interesting. So definitely some white coat syndrome maybe and then they were pushing the induction when overall, your pressures were probably pretty regular. Hannah: Yes. That was just, I don’t know. It was hard to know what was the right thing to do in that situation because I was a first-time mom. I don’t want to put my baby at risk. Eventually, they agreed to induce me. I went in the night before my due date. I had been going in for extra monitoring. I had NSTs and biophysical profiles, so everything was good. They just, because I had that gestational hypertension label, they wanted me to deliver by my due date. I did go into the hospital the night before my due date. I think I was maybe a centimeter dilated, 50% effaced. I did the whole Foley bulb overnight. They thought, “Oh, that’s going to stay in for 12 hours.” They put it in and then within an hour and a half, it comes out and I’m 4 centimeters dilated. Meagan: That’s awesome.Hannah: Yeah. It got off to a good note. They were like, “Oh, this is going to go great. You’re going to do great tomorrow.” I’m like, “Oh, okay.” I tried to get sleep. Everyone knows in the hospital even with an ambian, you don’t sleep. My doula came the next morning. I believe they started Pitocin around 7:00 AM. I really was hoping not to get the epidural. I just had this fear of that cascade of interventions. I did know about that and I just felt like, “Okay. I’m going to try to do everything I can to keep that from happening,” because a C-section was something I was very fearful of. I’m an only child. My mom delivered me via C-section. It was a hard delivery and I just had always had a fear of that being my story. 11:52 Interventions and not being able to move during laborHannah: Things were going fine on the Pitocin. I was working through the contractions. They were just very odd. They didn’t want me out of the bed. Thankfully, I did have my doula there. She was like, “Just stand next to the bed. Sit on the birth ball,” but they were just treating me like someone with severe preeclampsia would be treated and that just was not my case. Even they didn’t really want me getting up to go to the bathroom a lot. They were telling me I couldn’t walk the halls. I couldn’t use the shower. It was very odd. So around noon, the midwife says, “Hey, I want to break your water.” I said, “I’m really not comfortable with that. I think I’m making a whole lot of progress. I’ve only been on Pitocin for a few hours. I’d really not have my water broken.” She says, “Well, you’re here to be induced for a reason. We need to speed this up, so I would really like to break your water.” Meagan: Oh dear. Hannah: Yeah. That’s really where things started going downhill for me. I didn’t really understand at the time, a doula can’t say, “Hey, she said she doesn’t want that done. She doesn’t want that.” But I also didn’t really get the support I needed I guess in that moment when I was vulnerable. I didn’t really have anyone to say, “Hey, do you want to talk for a minute and come back to this?” So I did agree. I mean, I guess verbally I agreed. I didn’t feel like I was agreeing, but she broke my water and after that, I just remember things intensified so much. I remember by around 3:00 PM being in excruciating pain and that’s when I asked for the epidural. It took two hours for them to bring it. I finally got the epidural and I just immediately fell asleep because we had been there for probably 20 hours at this point.Meagan: Were you feeling any specific discomfort in the back? Were there any signs that maybe baby would have been in a poor position after the floodgates opened? Hannah: It’s interesting. That actually will come up once the C-section is performed. We were told at my– I think I had a biophysical profile at 39 weeks and the tech was like, “Oh, your baby is posterior,” but I didn’t really understand what that meant. But when he was delivered, they did say he was in the anterior position, so I just remember contractions being unbearable and I think it was because of the level of Pitocin I was on. They just ramped it up. I even remember at one point, the midwife saying to me– so once I had the epidural, I’m laying down resting, I had asked for a peanut ball, but no one really helped me with it. My doula tried to but I don’t know. The nurse I got that day was not very helpful. Then my poor husband is usually my rock. He is so strong, but he just was like a deer in the headlights because it was his first time going through this and it was just rough. Hannah: So finally, that night at 8:00 PM, the midwife comes and checks. She’s like, “Yeah, you’re still only 4 centimeters dilated. I think the baby is developing a caput.” How do you say it? Meagan: A caput. Which is interesting. At 4 centimeters, do you remember how low your baby was? Because at 4 centimeters, baby getting caput, baby must have been coming low.Hannah: And that’s the thing, he wasn’t. He was still at a -2 station. Meagan: Huh. So not even engaged. Hannah: Yeah. So I don’t know. She was like, “You know, I really think you need a C-section. I think your pelvis is too small.” I was like, “Okay. Wow. That was not something I’d ever been told in all of these years of going to this practice.” She was like, “So that would be my recommendation. I could give you one more hour.” I said, “Okay.” I’m crying at this point. I’m like, “In your professional opinion, do you think an hour would make a difference?” She said, “No.” Again, I did ultimately agree to that C-section. I signed off on it, but I was very upset. This isn’t what I want. I was honestly so out of it at this point. It’s hard to remember some of it. Yeah. As soon as I agreed, they came in there. They give you the form. They are wheeling you down the hall. There was never really an issue of my baby being in distress. It just was kind of like, “Oh, you’ve been here for a while. You’re not progressing. Let’s just go ahead and do a C-section,” and then her commenting that my pelvis was too small. 16:50 Hannah’s C-sectionHannah: I go to the operating room. Everything goes pretty standard, but my husband does go to stand up when they are delivering the baby. He was like, “Great. I wanted to see it.” As the doctor goes to pull the baby out, she says, “Oh. I’ve never seen this before.” She’s been in practice for 25 years. It turned out my son had the umbilical cord wrapped around both hands and both feet and then that was together. Meagan: Oh. Hannah: She said, “Oh, your baby is tied.” Meagan: Wow. Hannah: Yeah, so it’s like, “Okay. It does make sense why he wasn’t descending.”Meagan: Yeah. Hannah: He’s good. I’m good. I did have a hard recovery. They tried to show him to me. I start vomiting on the operating table and then it just gets blurry from there. It was just really hard. I don’t remember holding him for the first time in the recovery room. All of it is very blurry until the next morning. Yeah, but overall, recovery went well. I had a very hard time breastfeeding him. He was a very, very tense baby– tongue tie, lip tie, and all of that, so that was stressful. Meagan: Man, you had a lot. That was a lot. Hannah: Yeah. It was hard. Meagan: Yeah. It’s kind of interesting because knowing that, “Oh, yeah your baby was really wound up in here,” that would make more sense than just diagnosing you with CPD. Hannah: Yes. That’s what I thought. I was like, “Okay.” The midwife was saying that during labor. Maybe she just thought that because I wasn’t progressing, baby wasn’t descending. So then at my six-week checkup, I asked to see the doctor who delivered my son in the surgery. I saw her and I was just debriefing with her. I said, “Do you think that was the reason he couldn’t come out?” She was like, “Yeah, probably.” But then she didn’t even really examine me. I had to ask. I was like, “Are you going to check my C-section scar? Are you going to do an internal? What am I here for?” She was like, “Yeah, fine. I can do that.” She goes, “Oh, no. You have a flat pubic bone. You shouldn’t even try to have a VBAC,” then basically walks out of the room as I’m crying. Meagan: Oh my gosh. I have a question for Rebecca in here and pelvic floor and stuff. Do you see flat pubic bones and is that truly something that causes an issue?19:36 Rebecca’s thoughts about pelvic bone structureRebecca: I can’t imagine so. I mean, if you think about the way that the baby comes down, the pubic bones are not super involved. You have the pubic symphysis which is the little cartilage between the pubic bones. That gets soft just like all of our other joints due to relaxin and that makes everything moveable. There are people who even have that separate. The shape of the pubic bones– it just seems a little bit odd to me. Meagan: Yeah. Yeah. Interesting. I mean, I’m thinking that I can put my fingers exactly where I felt when mine did start to separate and I have a wonky pelvis too. My pelvis goes all funky. It’s just so interesting to me to always hear that providers jump right to, “Your bones are not good enough.”Hannah: Yeah. Yeah. That was so hard to hear because it was like, “Oh, something is wrong with me. It’s my fault.” Then a midwife who I was closer with there, when I saw her when my baby was about 6 months old for just my annual exam, I asked her about that comment. She said, “Oh, I think what she was saying is you have a narrow pelvic arch.” Okay. Meagan: Okay, all right. 22:42 Second pregnancyMeagan: Did you go into this next pregnancy feeling doubtful of your pelvis?Hannah: Oh absolutely. Yes. Yeah. I definitely was very nervous. I mean, I remember searching through groups on Facebook or the Babysitter App “Flat pubic bone, narrow pelvic arch” to see if anyone else had been diagnosed with that and gone on to successfully have a VBAC. Meagan: Right, yeah. So baby #2. Hannah: Yep. I ended up actually getting pregnant when my first son was about 3 years old. I literally had just been dreaming about having a VBAC since my first son was born. I feel so thankful that I found your podcast, the Facebook community of The VBAC Link and I also found my local ICAN group who just was so helpful in finding my new provider. I switched to that new provider before I even got pregnant just because I knew I was not going back to that first practice ever for anything. Meagan: Yeah. That’s actually something I suggest highly. A lot of the time, we don’t think about finding that provider until we are pregnant, but finding a provider when we’re not pregnant is kind of weird. There is this vulnerability that we don’t have. We have this– it sounds silly– tougher skin when we’re not pregnant. Hannah: No, I totally get that. Meagan: You’re in a different headspace. You’re like, “No, I already know I’m not going back to this person. I’m going to find this new person and go now.” Hannah: Yeah. So thankfully, I did find them. The hospital was a 45-minute drive so it was a big difference from my first where the hospital was only 20 minutes away, but that was so worth it to me. I was pregnant during COVID. I got pregnant in September 2020, so things were weird anyway. Appointments were more spaced out. Some of them were virtual. I feel bad saying this because I know so many people had a hard time with not having their husbands or partners come with them to appointments, but it actually was kind of nice that I didn’t have to go in as much just because of my anxiety with the doctor’s office. But I really did like the midwives that I was seeing at this new practice and the issue about my blood pressure did get brought up. I had a couple of high readings early on in the pregnancy. I think I went to my first appointment around 13 weeks in person and definitely had a high reading. It sounded like they actually believed me this time though. When I told them about the white coat syndrome and my past, they took my word and were like, “We get it. We see it all the time. Have a blood pressure monitor at home and if you could at your next appointment, bring it in. We’ll test your blood pressure on that and on the machine just to make sure it’s accurate.” Just with that, I felt so validated. Rebecca: I was just going to say that’s really wonderful that your providers did that and they just accepted you at your word. That’s really beautiful. Hannah: Yeah. I felt like that was such a difference. People talk about red flags all the time, but I felt like that was a green flag like, “Okay. This is someone who is actually listening to me as a patient.” Things went great. I actually got to a point where my readings in the office were normal. I think just from feeling more relaxed and more supported. I brought up the whole small pelvis thing. I had several midwives say, “I don’t believe that. We hear that all the time. We’re not going to worry about that.” So everything went great up until about 37 weeks when I got COVID. Thank God I did not have a hard time with it at all. It was a sinus infection, but I missed my 37-week appointment then when I went in for my 38-week appointment, my blood pressure was elevated so that was concerning for them given my history. Meagan: That’s interesting. I’m curious if it was correlated at all, or if it was just your history because sometimes we know if we’ve got preeclampsia in the past, we may be more likely to have it in the future, but I’m curious if that’s related at all. Hannah: I know. I know. I’ve wondered that and it’s so hard because I don’t think I’ll ever definitively know, but it seems like, “Oh, you were fine at 36 weeks. You get COVID at 37 weeks and then high blood pressure the next week.” But I was also going through some other stressful things. I had a family member pass away. I had a situation with my dog where he almost passed away and that’s like my first baby. Oh, and then I broke my foot at 36 weeks pregnant. Meagan: Oh my gosh. Oh my gosh. Hannah: Yeah. I know. Meagan: Holy cow. Hannah: It sounds insane. It sounds insane, but anyway. Meagan: That’s a lot to endure right before your birth. Hannah: Yeah, so I’m like, it probably wasn’t the COVID, it probably was the stress. Sorry, I’m laughing but that’s just my way of dealing with stress. So I go to that appointment and they go, “Ooh, your blood pressure is high.” They did do an NST on the baby and unfortunately, I feel like this happens to me and other people a lot. This midwife that particular day I had not met yet and she was definitely one of the more strict ones. She was like, “You know, I really think you need to go to the hospital to be monitored.” I was like, “Well, let’s do the NST. Let’s see how that goes.” They had taken my bloodwork. I was like, “Can we just wait and see what the bloodwork comes back as?” She kind of gave me a hard time about that. She was like, “You don’t want to leave here not knowing if your baby is okay.” I’m like, “I feel like my baby is fine.” I remember calling my doula on the way home just hysterical about her saying that and thankfully, my doula was amazing and just like, “Don’t worry about it. They are checking your blood. Everything will be fine.” I did go home. I rested. Thankfully, my older son was with my mother-in-law, but then that evening, I got a call and they were like, “Hannah, you are showing some signs in your labs on the actual bloodwork of borderline preeclampsia,” is what they were saying. 29:01 A medically necessary inductionHannah: This was a different midwife than I was seeing earlier in the day. She said, “I do think you need to come to the hospital and have a baby tonight.” That was really scary for me in that moment. Meagan: Yeah, it’s hard because you are like, “This is not what I wanted.” It’s hard to mentally go back to the same beginning in a way. Hannah: Yeah. Yeah. I mean, I just remember calling my husband. He was still at work and I was just hysterical. I was like, “This is going to end in a C-section again. This is exactly what I was worried about.” He thankfully was so calming and was like, “You can’t think like that. Let’s just go and see what happens.” He comes home. We pack our stuff up and we drive the 45 minutes to the hospital. We get there and I’m just very distressed by having the sweetest midwife who just sat on the bed with me and was holding my hand and was like, “Look, it’s going to be okay. Everything is going to be fine. We’re going to do everything in our power to get you this VBAC. Do not let this make you feel like that’s not happening now.” So that was so comforting and being 38 weeks, I was not dilated at all. I think I was maybe 50% effaced and the baby was at -2 station so we definitely had to do the whole Foley bulb again which for anyone who has had that done–Meagan: So you have a Foley placed with a closed cervix. Hannah: Yeah. Meagan: You’re a champ. That is definitely something that is not super comfortable for the listeners to know, but it is possible even though a lot of providers say it’s not. Hannah: Yeah, and I hear that a lot. I guess I just got very fortunate with the midwife who was on call. They definitely did give me some medication to help me relax. Meagan: Fentanyl or something? Hannah: Actually Adavan.Meagan: Oh Adavan?Hannah: I have very bad anxiety anyway and they gave me that to help me relax which it did. They got that inserted and it was so weird because the time I was expecting the same thing with my first, “Oh, it comes out in an hour and a half.” It didn’t. It was there for the whole 12 hours. The next morning, they started Pitocin. Eventually, I think they just took the Foley bulb out and I think at that point I was maybe 3 centimeters dilated. I was on Pitocin for 5 or 6 hours but it was just so crazy to me because even with it being COVID times, I was allowed to walk around the halls. I had wireless monitoring. They even let me get in the bathtub in the room. It was just so different from the experience that I had at the hospital with my first. I just really loved their process. They, of course, were kind of concerned with the preeclampsia diagnosis, but since my labs were staying stable, my blood pressures weren’t rising, I think they were probably in the 140s/high 80s-low 90s range, they really did let me take it slow since there wasn’t a major concern for me or the baby’s health in regards to the blood pressure. I remember they even turned my Pitocin off for a little bit this afternoon and one of the midwives was like, “Hey, this is something that may not work, but would you be willing to take some Tums? There is research showing that it could possibly reset your oxytocin receptors in your uterus.” I remember her being like, “It sounds kind of woo, but it’s worth a try.” Meagan: I have never heard of this. I am fascinated. Tums resetting our oxytocin. Hannah: Yeah. It’s crazy. The research is there if you just Google “Tums, Pitocin”Meagan: Oxytocin receptors. Okay, you keep sharing. I’m going to dive into this for a bit because I’ve been a doula for 10 years and I’ve never heard of this and I love it. This is cool. All right, keep going. Hannah: Yeah. I took the Tums. We turned the Pitocin off for a little bit. They were like, “Try to rest. Eat a snack.” That was the other thing. They were so encouraging of me eating and drinking whereas my first birth, they were like, “You can’t have anything but ice chips.” We did turn the Pitocin back on for about 6 hours that evening. 33:27 Ending the first full day of inductionHannah: I think at the end of that day– so this was the first full day of induction, I was still around 4 centimeters. I had a new nurse come on and a new midwife comes on. They were just so awesome. I definitely had an emotional breakdown at that point. My awesome doula had been with me and my husband all day. She went home for the evening to get some rest. They were like, “What do you want to do? You are looking good. Baby is looking good.” My water was still intact at that point. I was like, “I just want to sleep tonight. I know if I do not sleep tonight, I’m not going to have the energy to finish this birth.” It was amazing because the charge nurse did not want me to stop the Pitocin and my midwife and my nurse basically went to bat for me. They were like, “No. She’s fine. We’re going to give her Benadryl. We’re going to let her sleep. We’re turning the Pitocin off. And that’s what we did. I slept. I actually got to rest that night. They came back at 5:00 AM and rehung the Pit. I did agree to my water being broken at 8:00 AM because at this point, we had been in the hospital for almost 36 hours and baby needed to come out. That just in and of itself, I felt like that was my choice. No one ever pressured me. It was all my choice. I did agree to my water being broken. That was around probably 9:00 AM and I just continued laboring. It was great. I remember I had my bathroom. There are no windows in there and I had my fairy lights and my music playing and my doula had essential oils diffusing and that was my cave. I felt like I could go in there and just shut out being at the hospital and really focus on labor, sitting on the toilet, and eventually, I did get to a point around 1:00 where I started to have a hard time coping. I was like, “You know, I don’t know if I want to do this anymore.” I gave it another hour and I was like, “Okay. I need the epidural.” I did get the epidural around 2:00 that day. It was just amazing because even getting the epidural, the nurses were like, “Hey, let’s put you in throne position. Let’s pull out the stirrups and get one leg up. In 30 minutes, let’s switch to the other leg. Let’s get the peanut ball.” I felt like they were doing all of these things to help me that I had never experienced in my first birth. I felt like they wanted me to have the birth that I was desiring so badly almost as much as I did. Meagan: I love them already. I don’t even know that. Hannah: I know. I know. Can I say who it is? The hospital I was at was actually the University of North Carolina at Chapel Hill and it was the UNC midwives who was my practice that I delivered with but even the nurses at that hospital are just amazing. They were all literal angels. I love them. Meagan: We will make sure that they are on our provider list. Hannah: Yes. Yes. They are wonderful. So that went on. I think around maybe 6:00 I was checked and I was hanging around 5 centimeters. I got really discouraged at that point. I was like, “You know, maybe I just can’t do it. Maybe my body is just not going to dilate.” But they weren’t worried. They just kept helping me move and then I do remember shift change happened. A new nurse comes on and a new midwife. This was probably the 5th shift change by the time we had been in there and the midwife came in and checked me. She was like, “Oh, you’re 6 centimeters.” I remember so many stories of women being like, “The first 5 are the hardest.” Meagan: Mhmm. Hannah: I was like, “Okay. Maybe that’s true.” Then literally, at 9:40, the midwife came back, checked me, and she was like, “How far dilated do you hope you are?” I’m thinking, “Well, gosh. I hope at least a 7 or 8.” She had a tear and she was like, “You are 10 centimeters.” Meagan: Oh yay! Hannah: Yes. I started bawling and it was so crazy because my first son was born at 9:42 PM and that was right about when I was 10 centimeters. For some reason, I knew if I could make it to 10 centimeters, I knew I could push my baby out. The pushing him out was not the part that I was scared of. It was like, “Oh, is my body going to be able to get to that point?” But yeah. I remember my husband and doula being so excited because they brought in the cart and they brought in a mirror and I started pushing. It’s just so crazy thinking back to that seeing that happening. 38:03 Pushing for 20 minutesHannah: I pushed for 20 minutes and both of my boys were a surprise. We didn’t know what gender they would be. 20 minutes later, my second beautiful baby boy was born healthy, screaming, put directly on my chest and it was one of the best moments of my entire life. Meagan: Oh my gosh. I love this story. I love all of the support and all of the love and all of the amp that was just completely surrounded around you and then you had the confidence in your body at that end where you were like, “Okay. I’ve got this.” 20 minutes? Hannah: Yeah. I was like, “Oh, here’s my small pelvis with my flat pubic bone.” Meagan: Yeah. I love that so much. Do you know what? I just was looking at our provider list and guess what? It says that UNC midwives are on our list and it says specifically that they are also VBA2C supportive. Hannah: Yeah. I think that’s the only hospital in our area that generally will support after two Cesareans. Meagan: So awesome. I’m glad that they are on the list. I wanted to make sure because they sound phenomenal. I would love to connect with one of them and just have them on the podcast honestly and say, “Talk to me about your unit and your guys’ way of thinking. This is the way so many people want to birth when they are birthing in the hospital, but we don’t have these options and we don’t have these systems and we don’t have these policies or these beliefs or whatever” because they sound amazing.Hannah: They are. I know they are on Instagram just @uncmidwives so they are easy to find. Meagan: Okay. I might be messaging them. Hannah: If anyone is a Tar Heels fan out there, that was a big portion there too. My husband was like, “Our baby was born at Chapel Hill.” That’s a big thing for North Carolina people. Meagan: That is so awesome. Oh my gosh. 39:59 Hannah’s advice to listeners - provider support and nutritionMeagan: Any advice that you would give to someone who especially is preeclamptic with induction and all of these things? Do you have any advice that you would give to our listeners?Hannah: Yeah. I mean, number one, and I feel like you guys really help express this, but a supportive provider. Evidence shows that induction for VBAC can be safe. Of course, do we want an unnecessary induction? No, not ever, but in a situation like mine where preeclampsia is a concern, that shouldn’t exclude you from being able to have a VBAC. Meagan: Mhmm. Hannah: I think asking a provider those questions maybe before you even get pregnant, “Would you induce for VBAC? Under what circumstances? What is your VBAC rate?” That’s what I would tell women who are looking for that. Meagan: I love that and I agree. I would echo that asking those questions and not being scared to ask them because you deserve to know and you deserve to find the provider who is going to connect with you personally and your desires because we know through talking to Dr. Fox and all of these other providers, not every provider is the same and that’s okay. That doesn’t make them a bad provider. They just may not be supportive of your desires. Hannah: Mhmm. Meagan: With your first one, I feel like you had more of that med-wife mentality. Hannah: Yes. I found that word after I had him and I was like, “Oh, that makes sense.” Meagan: Yes. What else were you going to say?Hannah: Just going back to preeclampsia, the other thing I would say that I didn’t know a whole lot about with my second or first pregnancy was how much nutrition affects preeclampsia. I believe you’ve had someone on your podcast who has discussed that before just how there are so many things you are told like, “You shouldn’t be eating salt,” and actually, that’s not true. You shouldn’t be eating processed food, but women in pregnancy need salt so I did find there’s the Brewer diet. I think that can be– I’ve heard amazing stories about that from women who have had preeclampsia in the past. There is a nutritionist I follow on Instagram. She is Aloha Nutrition and she is pregnant with twins right now. I think she is almost 40 weeks old. Her blood pressure has been awesome and she attributes it to beetroot. Meagan: Uh-huh. Okay, yes. I’ve had a client who had preeclampsia with her first really, really early, and beets and liver, and these types of things really impact. I mean, that’s why I personally and I’m throwing in a shameless plug here, but that is why I personally love Needed so much because they have really dove in to find out what nutrients you need and help you get it because there are so many of these nutrients that are lacking in our day-to-day foods and it’s overwhelming to learn about them and find them and then find the good resource of where to get them. It really can be impactful just like Aloha Nutrition is showing. It’s very common with twins to get that high blood pressure. Hannah: Yeah, so I think nutrition is huge and I think that’s just one of the really big problems is that we are not being looked at as a whole person when we are pregnant. It’s just that we are being looked at, “Oh, you have preeclampsia. This is what the research shows,” but so much of that research is outdated and they are not focusing on those foundations like nutrition that are so important during pregnancy. Meagan: Absolutely. Yeah. It was Lily Nichols who I had on, but she has more about gestational diabetes. She also has her book for pregnancy in general and I would highly suggest checking that book out. Rebecca: I recommend it to all pregnant moms. It’s on my bookshelf. I love it. Meagan: Same. She really is so incredible. I could talk to her for hours and hours and hours on nutrition and pregnancy and how impactful it is. I mean, yeah. It’s just so hard. We have so much processed stuff going on in our worlds and it’s easy and it’s fast, but yeah. We are lacking a lot so I love that you put that note in. 44:17 Small pelvises and scar tissueMeagan: And then Rebecca, at the end of this, I wanted to talk a little bit about the pelvic floor and how C-sections can actually impact the pelvic floor health, and then ways to address it, what we can do, and how we can plan for VBAC moving forward. Rebecca: Yeah. I just wanted to back up and touch on this idea of having a small pelvis, that your pelvis, the outlet can grow by 30% which is huge, as you are giving birth as long as your sacrum which is your tailbone and your lower pelvis is able to move which is why being off the bed is the place to be because then everything can move and your body can actually grow and expand. Your bones do. That’s one of the reasons we have relaxin.So many people are just like, “Yeah. I was told I have a small pelvis.” I’m like, “Were you on your back?” They are like, “Oh, yes I was.” Then I’m like, “Well, your pelvis was likely closed. It can open. We can make it open.” Meagan: It was actually physically smaller. Rebecca: Yes and the bones could not move to make more space for the baby. It’s just really interesting. A lot of people actually surprisingly believe that a C-section is a way to save your pelvic floor from any sort of injury or trauma when having children and that is not the case. I don’t know if either of you has heard that before. Meagan: Yeah. Okay, so I had a really petite Asian client. She had a C-section. She really wanted a VBAC. I have so many feelings about this birth, but they literally told her that if she wanted to poop herself for the rest of her life, she could have a VBAC and if not, then they would highly suggest a C-section because that would be the only way to avoid her having severe incontinence with her bowels. Rebecca: That is awful. Meagan: It terrified her. Rebecca: That is fearmongering at its worst. Meagan: Yeah. As a doula, sitting there watching it– and I had already watched them preparing the C-section in the hall previously. I had seen the Cesarean coming and I warned them, “They are preparing this. Nothing is showing that we need to do this,” but that was one of the reasons and she was terrified. I just said, “That’s not necessarily true,” but it stuck with her. It impacted her so badly that she said, “Okay. Let’s do it.” Rebecca: I’m really sorry that she had that experience. Meagan: Me too. Rebecca: Yeah. People think again this idea that your pelvic floor is spared, but you can still have pelvic floor dysfunction even if you have a C-section. You can still have leaking. You can still have pain with sex. You can still have constipation issues because people forget you spent the last 10 months growing this baby and your pelvic floor was working to support it. It is affected regardless of how you birth which is why every person who births should be getting some sort of assessment by a pelvic PT. I don’t know if you are aware of that, but then if you have scar tissue because you birthed via C-section, the scar tissue can actually impede all sorts of things. The three most common side effects are hip and back pain, pain with sex, and urgency and frequency with urination which doesn’t sound great and nobody really talks about it. Meagan: They normalize it. Rebecca: Yeah, agreed. It’s just, “You had a baby so that’s what you should expect.” We should expect better. We should always expect better. So by addressing that scar tissue, you can actually manage a lot of those things and hit them off long before they become a problem. Meagan: Yeah, it’s interesting. I didn’t know about scar massage or pelvic PT a ton until after my second C-section but then I started doing all of the things and I have a lot of adhesions. She could feel them internally and then we would work on my scar. My back pain would reduce. I did notice a difference during sex and things like that. She was like, “No, let’s work this out for your vaginal birth because you also have trauma in general” which can sometimes be held in the pelvic floor. We have physical trauma and adhesions being created then I had emotional trauma and a lot of that, I carried in my pelvic floor. Rebecca: It’s very common for people to carry that in their pelvic floor because our society says that peeing and pooping and sex is all taboo so maybe you didn’t learn about it. Maybe yes, you are having sex but it’s a shameful thing for you because of your upbringing. There are a lot of reasons that can contribute to this pelvic floor dysfunction. Constipation is actually one of the biggest indications that you may have a long stage one labor just because you may have a tight pelvic floor which means you may have difficulty relaxing it. Let’s be real. You don’t need a strong pelvic floor to birth a baby. You need a relaxed pelvic floor. You need to let the muscles get out of the way so that baby can come out because the pelvic floor is not pushing the baby out. Your uterus is. Meagan: Uterus, yeah. Yeah. 50:13 Other scar tissue that can affect positioningMeagan: All fascinating. I highly suggest checking out a pelvic floor specialist no matter if you’ve had a vaginal birth but especially if you’ve had a C-section because like she said, it doesn’t mean that we don’t have things to work through and even if we’ve had a C-section too, I want to point out that we can also have scar tissue on the cervix from things like IUPCs being placed or if we have ever had a forceps birth or just in general. Things can happen where we’ve got cervical scarring that needs to be worked through so that for our VBAC, we can progress. I love hearing that Hannah was able to go in and get a Foley with a closed cervix and have this beautiful VBAC, but sometimes, that is definitely hard to get a provider to even do those interventions, and then if we have scar tissue on top of that, that can also cause things to be a little harder. Rebecca: One more point about scar tissue, even if you’ve had your appendix out or you have had a laparoscopic surgery, those sorts of things can actually affect the position of the baby. It can cause breech positioning or can cause you discomfort because the scar tissue is not allowing your body to expand as it needs to. So even those things are some really wonderful things that pelvic PT can help you with even if you didn’t have a C-section. Meagan: Love it. Awesome. Well, if you are in the Georgia area, definitely check out Dr. Rebecca and if you are in the North Carolina area, definitely go check out UNC midwives. Is that right?Hannah: Right. That’s them. Meagan: UNC midwives and keep listening here because these stories just like this and information like this are what we want to do. It’s what we want to provide for you. If you have a certain topic or something like that that you are looking forward to, please email us at info@thevbaclink.com because we want to try to make sure we get that on the show. Thank you guys so much for being with us today.Rebecca: Thank you. Hannah: Thank you.ClosingWould you like to be a guest on the podcast? Tell us about your experience at thevbaclink.com/share. For more information on all things VBAC including online and in-person VBAC classes, The VBAC Link blog, and Meagan’s bio, head over to thevbaclink.com. Congratulations on starting your journey of learning and discovery with The VBAC Link.Support this podcast at — https://redcircle.com/the-vbac-link/donationsAdvertising Inquiries: https://redcircle.com/brands"/><meta name="google" content="notranslate"/><meta name="music:duration" content="3166"/><meta name="music:album" content="https://open.spotify.com/show/36bVxqOGd1EYcR0oJteF5n"/><meta name="music:release_date" content="2024-04-24T07:10:00Z"/><meta name="al:android:app_name" content="Spotify"/><meta name="al:android:package" content="com.spotify.music"/><meta name="al:android:url" content="spotify://episode/0ORRjR7QX8pbrPaBeN2KCR"/><meta name="al:ios:app_name" content="Spotify"/><meta name="al:ios:app_store_id" content="324684580"/><meta name="al:ios:url" content="spotify://episode/0ORRjR7QX8pbrPaBeN2KCR"/><meta property="og:title" content="Episode 294 Hannah's Induced VBAC due to Preeclampsia + More on the Pelvic Floor with Co-host Rebecca"/><meta property="og:description" content="The VBAC Link · Episode"/><meta property="og:url" content="https://open.spotify.com/episode/0ORRjR7QX8pbrPaBeN2KCR"/><meta property="og:type" content="music.song"/><meta property="og:site_name" content="Spotify"/><meta property="og:restrictions:country:allowed" content="AD"/><meta property="og:restrictions:country:allowed" content="AE"/><meta property="og:restrictions:country:allowed" content="AG"/><meta property="og:restrictions:country:allowed" content="AL"/><meta property="og:restrictions:country:allowed" content="AM"/><meta property="og:restrictions:country:allowed" content="AO"/><meta property="og:restrictions:country:allowed" content="AR"/><meta property="og:restrictions:country:allowed" content="AT"/><meta property="og:restrictions:country:allowed" content="AU"/><meta property="og:restrictions:country:allowed" content="AZ"/><meta property="og:restrictions:country:allowed" content="BA"/><meta property="og:restrictions:country:allowed" content="BB"/><meta property="og:restrictions:country:allowed" content="BE"/><meta property="og:restrictions:country:allowed" content="BF"/><meta property="og:restrictions:country:allowed" content="BG"/><meta property="og:restrictions:country:allowed" content="BH"/><meta property="og:restrictions:country:allowed" content="BI"/><meta property="og:restrictions:country:allowed" content="BJ"/><meta property="og:restrictions:country:allowed" content="BN"/><meta property="og:restrictions:country:allowed" content="BO"/><meta property="og:restrictions:country:allowed" content="BR"/><meta property="og:restrictions:country:allowed" content="BS"/><meta property="og:restrictions:country:allowed" content="BT"/><meta property="og:restrictions:country:allowed" content="BW"/><meta property="og:restrictions:country:allowed" content="BZ"/><meta property="og:restrictions:country:allowed" content="CA"/><meta property="og:restrictions:country:allowed" content="CH"/><meta property="og:restrictions:country:allowed" content="CI"/><meta property="og:restrictions:country:allowed" content="CL"/><meta property="og:restrictions:country:allowed" content="CM"/><meta property="og:restrictions:country:allowed" content="CO"/><meta property="og:restrictions:country:allowed" content="CR"/><meta property="og:restrictions:country:allowed" content="CV"/><meta property="og:restrictions:country:allowed" content="CW"/><meta property="og:restrictions:country:allowed" content="CY"/><meta property="og:restrictions:country:allowed" content="CZ"/><meta property="og:restrictions:country:allowed" content="DE"/><meta property="og:restrictions:country:allowed" content="DJ"/><meta property="og:restrictions:country:allowed" content="DK"/><meta property="og:restrictions:country:allowed" content="DM"/><meta property="og:restrictions:country:allowed" content="DO"/><meta property="og:restrictions:country:allowed" content="DZ"/><meta property="og:restrictions:country:allowed" content="EC"/><meta property="og:restrictions:country:allowed" content="EE"/><meta property="og:restrictions:country:allowed" content="EG"/><meta property="og:restrictions:country:allowed" content="ES"/><meta property="og:restrictions:country:allowed" content="FI"/><meta property="og:restrictions:country:allowed" content="FJ"/><meta property="og:restrictions:country:allowed" content="FM"/><meta property="og:restrictions:country:allowed" content="FR"/><meta property="og:restrictions:country:allowed" content="GA"/><meta property="og:restrictions:country:allowed" content="GB"/><meta property="og:restrictions:country:allowed" content="GD"/><meta property="og:restrictions:country:allowed" content="GE"/><meta property="og:restrictions:country:allowed" content="GH"/><meta property="og:restrictions:country:allowed" content="GM"/><meta property="og:restrictions:country:allowed" content="GN"/><meta property="og:restrictions:country:allowed" content="GQ"/><meta property="og:restrictions:country:allowed" content="GR"/><meta property="og:restrictions:country:allowed" content="GT"/><meta property="og:restrictions:country:allowed" content="GW"/><meta property="og:restrictions:country:allowed" content="GY"/><meta property="og:restrictions:country:allowed" content="HK"/><meta property="og:restrictions:country:allowed" content="HN"/><meta property="og:restrictions:country:allowed" content="HR"/><meta property="og:restrictions:country:allowed" content="HT"/><meta property="og:restrictions:country:allowed" content="HU"/><meta property="og:restrictions:country:allowed" content="ID"/><meta property="og:restrictions:country:allowed" content="IE"/><meta property="og:restrictions:country:allowed" content="IL"/><meta property="og:restrictions:country:allowed" content="IN"/><meta property="og:restrictions:country:allowed" content="IS"/><meta property="og:restrictions:country:allowed" content="IT"/><meta property="og:restrictions:country:allowed" content="JM"/><meta property="og:restrictions:country:allowed" content="JO"/><meta property="og:restrictions:country:allowed" content="JP"/><meta property="og:restrictions:country:allowed" content="KE"/><meta property="og:restrictions:country:allowed" content="KH"/><meta property="og:restrictions:country:allowed" content="KI"/><meta property="og:restrictions:country:allowed" content="KM"/><meta property="og:restrictions:country:allowed" content="KN"/><meta property="og:restrictions:country:allowed" content="KR"/><meta property="og:restrictions:country:allowed" content="KW"/><meta property="og:restrictions:country:allowed" content="LA"/><meta property="og:restrictions:country:allowed" content="LB"/><meta property="og:restrictions:country:allowed" content="LC"/><meta property="og:restrictions:country:allowed" content="LI"/><meta property="og:restrictions:country:allowed" content="LR"/><meta property="og:restrictions:country:allowed" content="LS"/><meta property="og:restrictions:country:allowed" content="LT"/><meta property="og:restrictions:country:allowed" content="LU"/><meta property="og:restrictions:country:allowed" content="LV"/><meta property="og:restrictions:country:allowed" content="MA"/><meta property="og:restrictions:country:allowed" content="MC"/><meta property="og:restrictions:country:allowed" content="ME"/><meta property="og:restrictions:country:allowed" content="MG"/><meta property="og:restrictions:country:allowed" content="MH"/><meta property="og:restrictions:country:allowed" content="MK"/><meta property="og:restrictions:country:allowed" content="ML"/><meta property="og:restrictions:country:allowed" content="MN"/><meta property="og:restrictions:country:allowed" content="MO"/><meta property="og:restrictions:country:allowed" content="MR"/><meta property="og:restrictions:country:allowed" content="MT"/><meta property="og:restrictions:country:allowed" content="MU"/><meta property="og:restrictions:country:allowed" content="MV"/><meta property="og:restrictions:country:allowed" content="MW"/><meta property="og:restrictions:country:allowed" content="MX"/><meta property="og:restrictions:country:allowed" content="MY"/><meta property="og:restrictions:country:allowed" content="MZ"/><meta property="og:restrictions:country:allowed" content="NA"/><meta property="og:restrictions:country:allowed" content="NE"/><meta property="og:restrictions:country:allowed" content="NG"/><meta property="og:restrictions:country:allowed" content="NI"/><meta property="og:restrictions:country:allowed" content="NL"/><meta property="og:restrictions:country:allowed" content="NO"/><meta property="og:restrictions:country:allowed" content="NP"/><meta property="og:restrictions:country:allowed" content="NR"/><meta property="og:restrictions:country:allowed" content="NZ"/><meta property="og:restrictions:country:allowed" content="OM"/><meta property="og:restrictions:country:allowed" content="PA"/><meta property="og:restrictions:country:allowed" content="PE"/><meta property="og:restrictions:country:allowed" content="PG"/><meta property="og:restrictions:country:allowed" content="PH"/><meta property="og:restrictions:country:allowed" content="PL"/><meta property="og:restrictions:country:allowed" content="PR"/><meta property="og:restrictions:country:allowed" content="PS"/><meta property="og:restrictions:country:allowed" content="PT"/><meta property="og:restrictions:country:allowed" content="PW"/><meta property="og:restrictions:country:allowed" content="PY"/><meta property="og:restrictions:country:allowed" content="QA"/><meta property="og:restrictions:country:allowed" content="RO"/><meta property="og:restrictions:country:allowed" content="RS"/><meta property="og:restrictions:country:allowed" content="RW"/><meta property="og:restrictions:country:allowed" content="SA"/><meta property="og:restrictions:country:allowed" content="SB"/><meta property="og:restrictions:country:allowed" content="SC"/><meta property="og:restrictions:country:allowed" content="SE"/><meta property="og:restrictions:country:allowed" content="SG"/><meta property="og:restrictions:country:allowed" content="SI"/><meta property="og:restrictions:country:allowed" content="SK"/><meta property="og:restrictions:country:allowed" content="SL"/><meta property="og:restrictions:country:allowed" content="SM"/><meta property="og:restrictions:country:allowed" content="SN"/><meta property="og:restrictions:country:allowed" content="SR"/><meta property="og:restrictions:country:allowed" content="ST"/><meta property="og:restrictions:country:allowed" content="SV"/><meta property="og:restrictions:country:allowed" content="SZ"/><meta property="og:restrictions:country:allowed" content="TD"/><meta property="og:restrictions:country:allowed" content="TG"/><meta property="og:restrictions:country:allowed" content="TH"/><meta property="og:restrictions:country:allowed" content="TL"/><meta property="og:restrictions:country:allowed" content="TN"/><meta property="og:restrictions:country:allowed" content="TO"/><meta property="og:restrictions:country:allowed" content="TR"/><meta property="og:restrictions:country:allowed" content="TT"/><meta property="og:restrictions:country:allowed" content="TV"/><meta property="og:restrictions:country:allowed" content="TW"/><meta property="og:restrictions:country:allowed" content="TZ"/><meta property="og:restrictions:country:allowed" content="UA"/><meta property="og:restrictions:country:allowed" content="US"/><meta property="og:restrictions:country:allowed" content="UY"/><meta property="og:restrictions:country:allowed" content="UZ"/><meta property="og:restrictions:country:allowed" content="VC"/><meta property="og:restrictions:country:allowed" content="VN"/><meta property="og:restrictions:country:allowed" content="VU"/><meta property="og:restrictions:country:allowed" content="WS"/><meta property="og:restrictions:country:allowed" content="XK"/><meta property="og:restrictions:country:allowed" content="ZA"/><meta property="og:restrictions:country:allowed" content="ZM"/><meta property="og:restrictions:country:allowed" content="ZW"/><meta property="og:audio" content="https://podz-content.spotifycdn.com/audio/clips/6BkJz9R70qbe3IRfXx6CSI/clip_311630_371630.mp3"/><meta property="og:audio:type" content="audio/mpeg"/><meta property="og:image" content="https://i.scdn.co/image/ab6765630000ba8a95e1bdd067f0cc01df732adc"/><meta name="twitter:site" content="@spotify"/><meta name="twitter:title" content="Episode 294 Hannah's Induced VBAC due to Preeclampsia + More on the Pelvic Floor with Co-host Rebecca"/><meta name="twitter:description" content="The VBAC Link · Episode"/><meta name="twitter:image" content="https://i.scdn.co/image/ab6765630000ba8a95e1bdd067f0cc01df732adc"/><meta name="twitter:card" content="summary"/><link rel="canonical" href="https://open.spotify.com/episode/0ORRjR7QX8pbrPaBeN2KCR"/><link rel="alternate" type="application/json+oembed" href="https://open.spotify.com/oembed?url=https%3A%2F%2Fopen.spotify.com%2Fepisode%2F0ORRjR7QX8pbrPaBeN2KCR"/><link rel="alternate" href="https://open.spotify.com/episode/0ORRjR7QX8pbrPaBeN2KCR" hrefLang="x-default"/><link rel="alternate" href="https://open.spotify.com/episode/0ORRjR7QX8pbrPaBeN2KCR" hrefLang="en"/><link rel="alternate" href="android-app://com.spotify.music/spotify/episode/0ORRjR7QX8pbrPaBeN2KCR"/><script type="application/ld+json">{"@context":"http://schema.googleapis.com/","@type":"MusicGroup","@id":"https://open.spotify.com/episode/0ORRjR7QX8pbrPaBeN2KCR","url":"https://open.spotify.com/episode/0ORRjR7QX8pbrPaBeN2KCR","name":"Episode 294 Hannah's Induced VBAC due to Preeclampsia + More on the Pelvic Floor with Co-host Rebecca","description":"Listen to this episode from The VBAC Link on Spotify. Meagan has a new co-host today! Rebecca, a pelvic floor physical therapist and a VBAC Link doula located in Georgia joins Meagan while our friend Hannah from North Carolina shares her birth stories.\u00A0This episode stresses again the true importance of not just a supportive provider, but of a supportive practice including hospital policies, the team of rotating providers, and the nurses. Hannah shows how her borderline preeclamptic symptoms were treated very differently between her first and second births. Her first practice had many red flags she didn\u2019t notice until her second practice showed green flag after green flag throughout her entire journey.\u00A0Rebecca also shares her expertise surrounding pelvic floor PT\u2013 who needs it and how it can impact birth outcomes. She also debunks myths about small pelvises and talks in depth about scar tissue.\u00A0Both women share such valuable tips that we know you will love!Real Food for Pregnancy by Lily NicholsNeeded WebsiteHow to VBAC: The Ultimate Prep Course for ParentsFull Transcript under Episode Details\u00A003:11 Review of the Week05:13 Hannah\u2019s stories08:17 Higher blood pressure readings and induction10:26 Induction due to high blood pressure readings11:52 Interventions and not being able to move during labor16:50 Hannah\u2019s C-section19:36 Rebecca\u2019s thoughts about pelvic bone structure22:42 Second pregnancy29:01 A medically necessary induction33:27 Ending the first full day of induction38:03 Pushing for 20 minutes39:59 Hannah\u2019s advice to listeners - provider support and nutrition44:17 Small pelvises and scar tissue50:13 Other scar tissue that can affect positioningMeagan: Hey, hey Women of Strength. It is Meagan and guess what? We have a cohost today, a new cohost who has never been with us and we are so excited that she is joining us. We have Rebecca Goldberg on our podcast today. Hello, Rebecca.\u00A0Rebecca: Hello.\u00A0Meagan: Thank you for taking the time and being with us.\u00A0Rebecca: Yeah. I really love the resources and the community and I\u2019m just thrilled to be here.\u00A0Meagan: Well, we are excited and for anyone wondering who Rebecca is, she is an amazing human being. She actually does a lot in pelvic PT and is one of our VBAC-certified doulas. She\u2019s in Georgia.\u00A0Rebecca: Yep. I\u2019m in Atlanta, the Decatur area.\u00A0Meagan: Decatur area. Is that where you serve mainly?\u00A0Rebecca: Yeah. I have people who come to me from all over. Some people are traveling up to an hour or an hour and a half, but I actually can go to people\u2019s homes who are directly in my area. So, people who are post-C-section, I can come to you as early as the day you are discharged. I can work with you deal with pain, make sure you know what needs to happen, and help you do all of the things. That\u2019s where my passion really lies.\u00A0Meagan: I love that. I love that and for VBAC, how early for pelvic floor and stuff? How early can you start working with them?\u00A0Rebecca: As soon as they have gotten home. If they are planning on getting pregnant again, we can start building that into what our plans are so that we are starting that process earlier rather than later and you\u2019re more likely to have results that when you are ready to get pregnant, you can just get pregnant.\u00A0Meagan: Love it. Awesome. Well, thank you, thank you for being here.\u00A003:11 Review of the WeekMeagan: You guys, as usual, we have a Review of the Week. You don\u2019t have to listen to me stumble upon the review. Rebecca will read it. I\u2019m sure she will do a lot better than I normally do.\u00A0Rebecca: Well, this review is from Apple Podcasts and it\u2019s from semicrunchyyogi. I love that name. The review says, \u201CMy personal VBAC journey was actually directly influenced by Meagan Heaton, one of the hosts on this podcast. She was my doula with my second baby, my 10-pound VBAC baby.\u201D Whoa.\u00A0Meagan: Woo, yeah.\u00A0Rebecca: \u201CWhen she started this podcast, I knew it would be something special. I will always be passionate about VBAC and making sure women are given options, respect, and support through their birth journeys. This podcast does just that. This podcast is so needed and addresses important myths about VBAC and birth. Thank you so much, Julie and Meagan, for using your passion to support other women. You two are amazing examples of Women of Strength.\u201D And then there\u2019s a heart.\u00A0Meagan: Aww, I love that. Thank you semicrunchyyogi.\u00A0Rebecca: Yogi, yeah.\u00A0Meagan: That is awesome. Thank you so much.\u00A005:13 Hannah\u2019s storiesMeagan: Okay, you guys. We have our friend, Hannah, from North Carolina so if you are from North Carolina, listen up. I feel like it\u2019s so important for us to start talking about where all of these Women of Strength are coming from because there are so many of us out there in the world who want to know where these people are because finding a supportive provider we know can be challenging. We have our friend, Hannah, from North Carolina sharing her amazing VBAC story.\u00A0For anyone wondering a little bit more in relation to her story, she had preeclampsia I think actually with her both. Is that correct?\u00A0Hannah: Yeah. With my first, they qualified it as gestational hypertension and then my second was preeclampsia.\u00A0Meagan: So your VBAC was actually preeclamptic.\u00A0Hannah: Yes.\u00A0\u00A0Meagan: Awesome. Okay. That is something that we see a lot in our community. People are wondering if VBAC is possible with preeclampsia. We don\u2019t actually have a lot of stories on the podcast. In fact, you may be one of the first actually sharing in almost 300 episodes which is kind of sad.\u00A0Hannah: Wow.\u00A0Meagan: So we are really excited to talk about this, and you did have that CPD diagnosis like so many of us. Yeah. I\u2019m going to welcome you on to share your stories.\u00A0Hannah: Yeah, well thank you so much for having me. I\u2019ve been listening for a while and I\u2019m so excited to be here. I do live in the Triangle region of North Carolina. I\u2019m just south of Raleigh in a town called Fuquay-Varina. A lot of people probably won\u2019t recognize that name, but if you are in the Raleigh/Durham/Chapel Hill area, I do have a great recommendation for a supportive provider there.\u00A0Meagan: Is that more of a rural area?\u00A0Hannah: It used to be pretty rural and just in the last 10-15 years, it\u2019s exploded. We\u2019re getting a Target and that\u2019s a big deal for us.\u00A0Meagan: Yay! Every place is better with a Target.\u00A0Hannah: Yes. Yes. Agreed.\u00A0Meagan: Awesome. Okay, yeah. Let\u2019s hear about your 6-year-old, the one that you just started listening to the podcast after.\u00A0Hannah: Yeah. Yeah, just to jump in, I had my first son in July of 2017 and I was a first-time mom. I went to a midwife practice, but they were midwives who delivered at the hospital that was closest to where I lived. I had been seeing them for a few years just for my general well-woman check-up. I liked them. I felt like I had a good rapport with them, so I stuck with that.\u00A0My pregnancy was good. I was working full-time. I was a traveling salesperson at the time. That got to be a little tricky towards the end.\u00A0In my third trimester, I started swelling. They were like, \u201COh, we just need to keep an eye on this. It could be normal. If it gets coupled with high blood pressure, then it might be concerning.\u201D\u00A008:17 Higher blood pressure readings and inductionHannah: Around 35 weeks, I did have high blood pressure readings. Just on the side, I have a history of white coat syndrome even as a teenager. My blood pressure would shoot up in the office so that\u2019s always been an issue for me and I was concerned about that for pregnancy because I knew high blood pressure, pregnancy, high risk, and I was hoping for an intervention-free birth in the hospital.\u00A0Meagan: Yeah.\u00A0Hannah: I did all of the things, I thought. I had a doula. I had read Ina May Gaskin.\u00A0Meagan: Guide to Childbirth.\u00A0Hannah: Yes. I did HypnoBabies.\u00A0Meagan: You were very prepared.\u00A0Hannah: Yes. I felt very prepared but I think I didn\u2019t have the understanding. I just heard midwife and I just thought, \u201COh, natural birth.\u201D I didn\u2019t research the hospital too much so I just didn\u2019t know what I didn\u2019t know.\u00A0At 35 weeks, they diagnosed me with gestational hypertension. They were pretty aggressive in their management of it. They told me, \u201CYou are done working. You are not going back to work. You are on bedrest.\u201D Basically, they said, \u201CYou can shower, use the bathroom, and make yourself food, but other than that, you should be lying down and we will definitely induce you by your due date at the latest.\u201D Meagan: Do you remember what your readings were reflecting at that time?\u00A0Hannah: Yes. I think in the office, it would be maybe 140/85 or 90 but then at home, I had my own cuff and they were reading normal like 118/70 and stuff like that.\u00A0Meagan: Interesting. So definitely some white coat syndrome maybe and then they were pushing the induction when overall, your pressures were probably pretty regular.\u00A0Hannah: Yes. That was just, I don\u2019t know. It was hard to know what was the right thing to do in that situation because I was a first-time mom. I don\u2019t want to put my baby at risk. Eventually, they agreed to induce me.\u00A0I went in the night before my due date. I had been going in for extra monitoring. I had NSTs and biophysical profiles, so everything was good. They just, because I had that gestational hypertension label, they wanted me to deliver by my due date.\u00A0I did go into the hospital the night before my due date. I think I was maybe a centimeter dilated, 50% effaced. I did the whole Foley bulb overnight. They thought, \u201COh, that\u2019s going to stay in for 12 hours.\u201D They put it in and then within an hour and a half, it comes out and I\u2019m 4 centimeters dilated.\u00A0Meagan: That\u2019s awesome.Hannah: Yeah. It got off to a good note. They were like, \u201COh, this is going to go great. You\u2019re going to do great tomorrow.\u201D I\u2019m like, \u201COh, okay.\u201D I tried to get sleep. Everyone knows in the hospital even with an ambian, you don\u2019t sleep.\u00A0My doula came the next morning. I believe they started Pitocin around 7:00 AM. I really was hoping not to get the epidural. I just had this fear of that cascade of interventions. I did know about that and I just felt like, \u201COkay. I\u2019m going to try to do everything I can to keep that from happening,\u201D because a C-section was something I was very fearful of. I\u2019m an only child. My mom delivered me via C-section. It was a hard delivery and I just had always had a fear of that being my story.\u00A011:52 Interventions and not being able to move during laborHannah: Things were going fine on the Pitocin. I was working through the contractions. They were just very odd. They didn\u2019t want me out of the bed. Thankfully, I did have my doula there. She was like, \u201CJust stand next to the bed. Sit on the birth ball,\u201D but they were just treating me like someone with severe preeclampsia would be treated and that just was not my case.\u00A0Even they didn\u2019t really want me getting up to go to the bathroom a lot. They were telling me I couldn\u2019t walk the halls. I couldn\u2019t use the shower. It was very odd.\u00A0So around noon, the midwife says, \u201CHey, I want to break your water.\u201D I said, \u201CI\u2019m really not comfortable with that. I think I\u2019m making a whole lot of progress. I\u2019ve only been on Pitocin for a few hours. I\u2019d really not have my water broken.\u201D She says, \u201CWell, you\u2019re here to be induced for a reason. We need to speed this up, so I would really like to break your water.\u201D\u00A0\u00A0Meagan: Oh dear.\u00A0Hannah: Yeah. That\u2019s really where things started going downhill for me. I didn\u2019t really understand at the time, a doula can\u2019t say, \u201CHey, she said she doesn\u2019t want that done. She doesn\u2019t want that.\u201D But I also didn\u2019t really get the support I needed I guess in that moment when I was vulnerable. I didn\u2019t really have anyone to say, \u201CHey, do you want to talk for a minute and come back to this?\u201D So I did agree. I mean, I guess verbally I agreed. I didn\u2019t feel like I was agreeing, but she broke my water and after that, I just remember things intensified so much. I remember by around 3:00 PM being in excruciating pain and that\u2019s when I asked for the epidural. It took two hours for them to bring it. I finally got the epidural and I just immediately fell asleep because we had been there for probably 20 hours at this point.Meagan: Were you feeling any specific discomfort in the back? Were there any signs that maybe baby would have been in a poor position after the floodgates opened?\u00A0Hannah: It\u2019s interesting. That actually will come up once the C-section is performed. We were told at my\u2013 I think I had a biophysical profile at 39 weeks and the tech was like, \u201COh, your baby is posterior,\u201D but I didn\u2019t really understand what that meant. But when he was delivered, they did say he was in the anterior position, so I just remember contractions being unbearable and I think it was because of the level of Pitocin I was on. They just ramped it up.\u00A0I even remember at one point, the midwife saying to me\u2013 so once I had the epidural, I\u2019m laying down resting, I had asked for a peanut ball, but no one really helped me with it. My doula tried to but I don\u2019t know. The nurse I got that day was not very helpful.\u00A0Then my poor husband is usually my rock. He is so strong, but he just was like a deer in the headlights because it was his first time going through this and it was just rough.\u00A0Hannah: So finally, that night at 8:00 PM, the midwife comes and checks. She\u2019s like, \u201CYeah, you\u2019re still only 4 centimeters dilated. I think the baby is developing a caput.\u201D How do you say it?\u00A0\u00A0Meagan: A caput.\u00A0Which is interesting. At 4 centimeters, do you remember how low your baby was? Because at 4 centimeters, baby getting caput, baby must have been coming low.Hannah: And that\u2019s the thing, he wasn\u2019t. He was still at a -2 station.\u00A0Meagan: Huh. So not even engaged.\u00A0Hannah: Yeah. So I don\u2019t know. She was like, \u201CYou know, I really think you need a C-section. I think your pelvis is too small.\u201D I was like, \u201COkay. Wow. That was not something I\u2019d ever been told in all of these years of going to this practice.\u201D She was like, \u201CSo that would be my recommendation. I could give you one more hour.\u201D I said, \u201COkay.\u201D I\u2019m crying at this point. I\u2019m like, \u201CIn your professional opinion, do you think an hour would make a difference?\u201D She said, \u201CNo.\u201D\u00A0Again, I did ultimately agree to that C-section. I signed off on it, but I was very upset. This isn\u2019t what I want. I was honestly so out of it at this point. It\u2019s hard to remember some of it. Yeah. As soon as I agreed, they came in there. They give you the form. They are wheeling you down the hall.\u00A0There was never really an issue of my baby being in distress. It just was kind of like, \u201COh, you\u2019ve been here for a while. You\u2019re not progressing. Let\u2019s just go ahead and do a C-section,\u201D and then her commenting that my pelvis was too small.\u00A016:50 Hannah\u2019s C-sectionHannah: I go to the operating room. Everything goes pretty standard, but my husband does go to stand up when they are delivering the baby. He was like, \u201CGreat. I wanted to see it.\u201D As the doctor goes to pull the baby out, she says, \u201COh. I\u2019ve never seen this before.\u201D She\u2019s been in practice for 25 years. It turned out my son had the umbilical cord wrapped around both hands and both feet and then that was together.\u00A0Meagan: Oh.\u00A0Hannah: She said, \u201COh, your baby is tied.\u201D\u00A0Meagan: Wow.\u00A0Hannah: Yeah, so it\u2019s like, \u201COkay. It does make sense why he wasn\u2019t descending.\u201DMeagan: Yeah.\u00A0Hannah: He\u2019s good. I\u2019m good. I did have a hard recovery. They tried to show him to me. I start vomiting on the operating table and then it just gets blurry from there. It was just really hard. I don\u2019t remember holding him for the first time in the recovery room. All of it is very blurry until the next morning. Yeah, but overall, recovery went well. I had a very hard time breastfeeding him. He was a very, very tense baby\u2013 tongue tie, lip tie, and all of that, so that was stressful.\u00A0Meagan: Man, you had a lot. That was a lot.\u00A0Hannah: Yeah. It was hard.\u00A0Meagan: Yeah. It\u2019s kind of interesting because knowing that, \u201COh, yeah your baby was really wound up in here,\u201D that would make more sense than just diagnosing you with CPD.\u00A0Hannah: Yes. That\u2019s what I thought. I was like, \u201COkay.\u201D The midwife was saying that during labor. Maybe she just thought that because I wasn\u2019t progressing, baby wasn\u2019t descending. So then at my six-week checkup, I asked to see the doctor who delivered my son in the surgery. I saw her and I was just debriefing with her. I said, \u201CDo you think that was the reason he couldn\u2019t come out?\u201D She was like, \u201CYeah, probably.\u201D But then she didn\u2019t even really examine me. I had to ask. I was like, \u201CAre you going to check my C-section scar? Are you going to do an internal? What am I here for?\u201D She was like, \u201CYeah, fine. I can do that.\u201D She goes, \u201COh, no. You have a flat pubic bone. You shouldn\u2019t even try to have a VBAC,\u201D then basically walks out of the room as I\u2019m crying.\u00A0Meagan: Oh my gosh. I have a question for Rebecca in here and pelvic floor and stuff. Do you see flat pubic bones and is that truly something that causes an issue?19:36 Rebecca\u2019s thoughts about pelvic bone structureRebecca: I can\u2019t imagine so. I mean, if you think about the way that the baby comes down, the pubic bones are not super involved. You have the pubic symphysis which is the little cartilage between the pubic bones. That gets soft just like all of our other joints due to relaxin and that makes everything moveable. There are people who even have that separate. The shape of the pubic bones\u2013 it just seems a little bit odd to me.\u00A0Meagan: Yeah. Yeah. Interesting. I mean, I\u2019m thinking that I can put my fingers exactly where I felt when mine did start to separate and I have a wonky pelvis too. My pelvis goes all funky. It\u2019s just so interesting to me to always hear that providers jump right to, \u201CYour bones are not good enough.\u201DHannah: Yeah. Yeah. That was so hard to hear because it was like, \u201COh, something is wrong with me. It\u2019s my fault.\u201D Then a midwife who I was closer with there, when I saw her when my baby was about 6 months old for just my annual exam, I asked her about that comment. She said, \u201COh, I think what she was saying is you have a narrow pelvic arch.\u201D Okay.\u00A0Meagan: Okay, all right.\u00A022:42 Second pregnancyMeagan: Did you go into this next pregnancy feeling doubtful of your pelvis?Hannah: Oh absolutely. Yes. Yeah. I definitely was very nervous. I mean, I remember searching through groups on Facebook or the Babysitter App \u201CFlat pubic bone, narrow pelvic arch\u201D to see if anyone else had been diagnosed with that and gone on to successfully have a VBAC.\u00A0Meagan: Right, yeah. So baby #2.\u00A0Hannah: Yep. I ended up actually getting pregnant when my first son was about 3 years old. I literally had just been dreaming about having a VBAC since my first son was born. I feel so thankful that I found your podcast, the Facebook community of The VBAC Link and I also found my local ICAN group who just was so helpful in finding my new provider. I switched to that new provider before I even got pregnant just because I knew I was not going back to that first practice ever for anything.\u00A0Meagan: Yeah. That\u2019s actually something I suggest highly. A lot of the time, we don\u2019t think about finding that provider until we are pregnant, but finding a provider when we\u2019re not pregnant is kind of weird. There is this vulnerability that we don\u2019t have. We have this\u2013 it sounds silly\u2013 tougher skin when we\u2019re not pregnant.\u00A0Hannah: No, I totally get that.\u00A0Meagan: You\u2019re in a different headspace. You\u2019re like, \u201CNo, I already know I\u2019m not going back to this person. I\u2019m going to find this new person and go now.\u201D\u00A0Hannah: Yeah. So thankfully, I did find them. The hospital was a 45-minute drive so it was a big difference from my first where the hospital was only 20 minutes away, but that was so worth it to me. I was pregnant during COVID. I got pregnant in September 2020, so things were weird anyway. Appointments were more spaced out. Some of them were virtual. I feel bad saying this because I know so many people had a hard time with not having their husbands or partners come with them to appointments, but it actually was kind of nice that I didn\u2019t have to go in as much just because of my anxiety with the doctor\u2019s office.\u00A0But I really did like the midwives that I was seeing at this new practice and the issue about my blood pressure did get brought up. I had a couple of high readings early on in the pregnancy. I think I went to my first appointment around 13 weeks in person and definitely had a high reading. It sounded like they actually believed me this time though. When I told them about the white coat syndrome and my past, they took my word and were like, \u201CWe get it. We see it all the time. Have a blood pressure monitor at home and if you could at your next appointment, bring it in. We\u2019ll test your blood pressure on that and on the machine just to make sure it\u2019s accurate.\u201D\u00A0Just with that, I felt so validated.\u00A0Rebecca: I was just going to say that\u2019s really wonderful that your providers did that and they just accepted you at your word. That\u2019s really beautiful.\u00A0Hannah: Yeah. I felt like that was such a difference. People talk about red flags all the time, but I felt like that was a green flag like, \u201COkay. This is someone who is actually listening to me as a patient.\u201D\u00A0Things went great. I actually got to a point where my readings in the office were normal. I think just from feeling more relaxed and more supported. I brought up the whole small pelvis thing. I had several midwives say, \u201CI don\u2019t believe that. We hear that all the time. We\u2019re not going to worry about that.\u201D So everything went great up until about 37 weeks when I got COVID. Thank God I did not have a hard time with it at all. It was a sinus infection, but I missed my 37-week appointment then when I went in for my 38-week appointment, my blood pressure was elevated so that was concerning for them given my history.\u00A0Meagan: That\u2019s interesting. I\u2019m curious if it was correlated at all, or if it was just your history because sometimes we know if we\u2019ve got preeclampsia in the past, we may be more likely to have it in the future, but I\u2019m curious if that\u2019s related at all.\u00A0Hannah: I know. I know. I\u2019ve wondered that and it\u2019s so hard because I don\u2019t think I\u2019ll ever definitively know, but it seems like, \u201COh, you were fine at 36 weeks. You get COVID at 37 weeks and then high blood pressure the next week.\u201D But I was also going through some other stressful things. I had a family member pass away. I had a situation with my dog where he almost passed away and that\u2019s like my first baby. Oh, and then I broke my foot at 36 weeks pregnant.\u00A0Meagan: Oh my gosh. Oh my gosh.\u00A0Hannah: Yeah. I know.\u00A0Meagan: Holy cow.\u00A0Hannah: It sounds insane. It sounds insane, but anyway.\u00A0Meagan: That\u2019s a lot to endure right before your birth.\u00A0Hannah: Yeah, so I\u2019m like, it probably wasn\u2019t the COVID, it probably was the stress. Sorry, I\u2019m laughing but that\u2019s just my way of dealing with stress. So I go to that appointment and they go, \u201COoh, your blood pressure is high.\u201D They did do an NST on the baby and unfortunately, I feel like this happens to me and other people a lot. This midwife that particular day I had not met yet and she was definitely one of the more strict ones. She was like, \u201CYou know, I really think you need to go to the hospital to be monitored.\u201D I was like, \u201CWell, let\u2019s do the NST. Let\u2019s see how that goes.\u201D\u00A0They had taken my bloodwork. I was like, \u201CCan we just wait and see what the bloodwork comes back as?\u201D She kind of gave me a hard time about that. She was like, \u201CYou don\u2019t want to leave here not knowing if your baby is okay.\u201D I\u2019m like, \u201CI feel like my baby is fine.\u201D\u00A0I remember calling my doula on the way home just hysterical about her saying that and thankfully, my doula was amazing and just like, \u201CDon\u2019t worry about it. They are checking your blood. Everything will be fine.\u201D I did go home. I rested. Thankfully, my older son was with my mother-in-law, but then that evening, I got a call and they were like, \u201CHannah, you are showing some signs in your labs on the actual bloodwork of borderline preeclampsia,\u201D is what they were saying.\u00A029:01 A medically necessary inductionHannah: This was a different midwife than I was seeing earlier in the day. She said, \u201CI do think you need to come to the hospital and have a baby tonight.\u201D That was really scary for me in that moment.\u00A0Meagan: Yeah, it\u2019s hard because you are like, \u201CThis is not what I wanted.\u201D It\u2019s hard to mentally go back to the same beginning in a way.\u00A0Hannah: Yeah. Yeah. I mean, I just remember calling my husband. He was still at work and I was just hysterical. I was like, \u201CThis is going to end in a C-section again. This is exactly what I was worried about.\u201D He thankfully was so calming and was like, \u201CYou can\u2019t think like that. Let\u2019s just go and see what happens.\u201D\u00A0He comes home. We pack our stuff up and we drive the 45 minutes to the hospital. We get there and I\u2019m just very distressed by having the sweetest midwife who just sat on the bed with me and was holding my hand and was like, \u201CLook, it\u2019s going to be okay. Everything is going to be fine. We\u2019re going to do everything in our power to get you this VBAC. Do not let this make you feel like that\u2019s not happening now.\u201D\u00A0So that was so comforting and being 38 weeks, I was not dilated at all. I think I was maybe 50% effaced and the baby was at -2 station so we definitely had to do the whole Foley bulb again which for anyone who has had that done\u2013Meagan: So you have a Foley placed with a closed cervix.\u00A0Hannah: Yeah.\u00A0Meagan: You\u2019re a champ. That is definitely something that is not super comfortable for the listeners to know, but it is possible even though a lot of providers say it\u2019s not.\u00A0Hannah: Yeah, and I hear that a lot. I guess I just got very fortunate with the midwife who was on call. They definitely did give me some medication to help me relax.\u00A0Meagan: Fentanyl or something?\u00A0Hannah: Actually Adavan.Meagan: Oh Adavan?Hannah: I have very bad anxiety anyway and they gave me that to help me relax which it did. They got that inserted and it was so weird because the time I was expecting the same thing with my first, \u201COh, it comes out in an hour and a half.\u201D It didn\u2019t. It was there for the whole 12 hours.\u00A0The next morning, they started Pitocin. Eventually, I think they just took the Foley bulb out and I think at that point I was maybe 3 centimeters dilated. I was on Pitocin for 5 or 6 hours but it was just so crazy to me because even with it being COVID times, I was allowed to walk around the halls. I had wireless monitoring. They even let me get in the bathtub in the room. It was just so different from the experience that I had at the hospital with my first. I just really loved their process.\u00A0They, of course, were kind of concerned with the preeclampsia diagnosis, but since my labs were staying stable, my blood pressures weren\u2019t rising, I think they were probably in the 140s/high 80s-low 90s range, they really did let me take it slow since there wasn\u2019t a major concern for me or the baby\u2019s health in regards to the blood pressure.\u00A0I remember they even turned my Pitocin off for a little bit this afternoon and one of the midwives was like, \u201CHey, this is something that may not work, but would you be willing to take some Tums? There is research showing that it could possibly reset your oxytocin receptors in your uterus.\u201D I remember her being like, \u201CIt sounds kind of woo, but it\u2019s worth a try.\u201D Meagan: I have never heard of this. I am fascinated. Tums resetting our oxytocin.\u00A0Hannah: Yeah. It\u2019s crazy. The research is there if you just Google \u201CTums, Pitocin\u201DMeagan: Oxytocin receptors. Okay, you keep sharing. I\u2019m going to dive into this for a bit because I\u2019ve been a doula for 10 years and I\u2019ve never heard of this and I love it. This is cool. All right, keep going.\u00A0Hannah: Yeah. I took the Tums. We turned the Pitocin off for a little bit. They were like, \u201CTry to rest. Eat a snack.\u201D That was the other thing. They were so encouraging of me eating and drinking whereas my first birth, they were like, \u201CYou can\u2019t have anything but ice chips.\u201D We did turn the Pitocin back on for about 6 hours that evening.\u00A033:27 Ending the first full day of inductionHannah: I think at the end of that day\u2013 so this was the first full day of induction, I was still around 4 centimeters. I had a new nurse come on and a new midwife comes on. They were just so awesome. I definitely had an emotional breakdown at that point. My awesome doula had been with me and my husband all day. She went home for the evening to get some rest.\u00A0They were like, \u201CWhat do you want to do? You are looking good. Baby is looking good.\u201D My water was still intact at that point. I was like, \u201CI just want to sleep tonight. I know if I do not sleep tonight, I\u2019m not going to have the energy to finish this birth.\u201D\u00A0It was amazing because the charge nurse did not want me to stop the Pitocin and my midwife and my nurse basically went to bat for me. They were like, \u201CNo. She\u2019s fine. We\u2019re going to give her Benadryl. We\u2019re going to let her sleep. We\u2019re turning the Pitocin off. And that\u2019s what we did.\u00A0I slept. I actually got to rest that night. They came back at 5:00 AM and rehung the Pit. I did agree to my water being broken at 8:00 AM because at this point, we had been in the hospital for almost 36 hours and baby needed to come out. That just in and of itself, I felt like that was my choice. No one ever pressured me. It was all my choice. I did agree to my water being broken. That was around probably 9:00 AM and I just continued laboring.\u00A0It was great. I remember I had my bathroom. There are no windows in there and I had my fairy lights and my music playing and my doula had essential oils diffusing and that was my cave. I felt like I could go in there and just shut out being at the hospital and really focus on labor, sitting on the toilet, and eventually, I did get to a point around 1:00 where I started to have a hard time coping. I was like, \u201CYou know, I don\u2019t know if I want to do this anymore.\u201D I gave it another hour and I was like, \u201COkay. I need the epidural.\u201D I did get the epidural around 2:00 that day.\u00A0It was just amazing because even getting the epidural, the nurses were like, \u201CHey, let\u2019s put you in throne position. Let\u2019s pull out the stirrups and get one leg up. In 30 minutes, let\u2019s switch to the other leg. Let\u2019s get the peanut ball.\u201D I felt like they were doing all of these things to help me that I had never experienced in my first birth. I felt like they wanted me to have the birth that I was desiring so badly almost as much as I did.\u00A0Meagan: I love them already. I don\u2019t even know that.\u00A0Hannah: I know. I know. Can I say who it is? The hospital I was at was actually the University of North Carolina at Chapel Hill and it was the UNC midwives who was my practice that I delivered with but even the nurses at that hospital are just amazing. They were all literal angels. I love them.\u00A0Meagan: We will make sure that they are on our provider list.\u00A0Hannah: Yes. Yes. They are wonderful. So that went on. I think around maybe 6:00 I was checked and I was hanging around 5 centimeters. I got really discouraged at that point. I was like, \u201CYou know, maybe I just can\u2019t do it. Maybe my body is just not going to dilate.\u201D But they weren\u2019t worried. They just kept helping me move and then I do remember shift change happened. A new nurse comes on and a new midwife. This was probably the 5th shift change by the time we had been in there and the midwife came in and checked me. She was like, \u201COh, you\u2019re 6 centimeters.\u201D\u00A0I remember so many stories of women being like, \u201CThe first 5 are the hardest.\u201D\u00A0Meagan: Mhmm.\u00A0Hannah: I was like, \u201COkay. Maybe that\u2019s true.\u201D Then literally, at 9:40, the midwife came back, checked me, and she was like, \u201CHow far dilated do you hope you are?\u201D I\u2019m thinking, \u201CWell, gosh. I hope at least a 7 or 8.\u201D She had a tear and she was like, \u201CYou are 10 centimeters.\u201D\u00A0\u00A0Meagan: Oh yay!\u00A0Hannah: Yes. I started bawling and it was so crazy because my first son was born at 9:42 PM and that was right about when I was 10 centimeters. For some reason, I knew if I could make it to 10 centimeters, I knew I could push my baby out. The pushing him out was not the part that I was scared of. It was like, \u201COh, is my body going to be able to get to that point?\u201D\u00A0But yeah. I remember my husband and doula being so excited because they brought in the cart and they brought in a mirror and I started pushing. It\u2019s just so crazy thinking back to that seeing that happening.\u00A038:03 Pushing for 20 minutesHannah: I pushed for 20 minutes and both of my boys were a surprise. We didn\u2019t know what gender they would be. 20 minutes later, my second beautiful baby boy was born healthy, screaming, put directly on my chest and it was one of the best moments of my entire life.\u00A0Meagan: Oh my gosh. I love this story. I love all of the support and all of the love and all of the amp that was just completely surrounded around you and then you had the confidence in your body at that end where you were like, \u201COkay. I\u2019ve got this.\u201D 20 minutes?\u00A0Hannah: Yeah. I was like, \u201COh, here\u2019s my small pelvis with my flat pubic bone.\u201D\u00A0Meagan: Yeah. I love that so much. Do you know what? I just was looking at our provider list and guess what? It says that UNC midwives are on our list and it says specifically that they are also VBA2C supportive.\u00A0Hannah: Yeah. I think that\u2019s the only hospital in our area that generally will support after two Cesareans.\u00A0Meagan: So awesome. I\u2019m glad that they are on the list. I wanted to make sure because they sound phenomenal. I would love to connect with one of them and just have them on the podcast honestly and say, \u201CTalk to me about your unit and your guys\u2019 way of thinking. This is the way so many people want to birth when they are birthing in the hospital, but we don\u2019t have these options and we don\u2019t have these systems and we don\u2019t have these policies or these beliefs or whatever\u201D because they sound amazing.Hannah: They are. I know they are on Instagram just @uncmidwives so they are easy to find.\u00A0Meagan: Okay. I might be messaging them.\u00A0Hannah: If anyone is a Tar Heels fan out there, that was a big portion there too. My husband was like, \u201COur baby was born at Chapel Hill.\u201D That\u2019s a big thing for North Carolina people.\u00A0Meagan: That is so awesome. Oh my gosh.\u00A039:59 Hannah\u2019s advice to listeners - provider support and nutritionMeagan: Any advice that you would give to someone who especially is preeclamptic with induction and all of these things? Do you have any advice that you would give to our listeners?Hannah: Yeah. I mean, number one, and I feel like you guys really help express this, but a supportive provider. Evidence shows that induction for VBAC can be safe. Of course, do we want an unnecessary induction? No, not ever, but in a situation like mine where preeclampsia is a concern, that shouldn\u2019t exclude you from being able to have a VBAC.\u00A0Meagan: Mhmm.\u00A0Hannah: I think asking a provider those questions maybe before you even get pregnant, \u201CWould you induce for VBAC? Under what circumstances? What is your VBAC rate?\u201D That\u2019s what I would tell women who are looking for that.\u00A0Meagan: I love that and I agree. I would echo that asking those questions and not being scared to ask them because you deserve to know and you deserve to find the provider who is going to connect with you personally and your desires because we know through talking to Dr. Fox and all of these other providers, not every provider is the same and that\u2019s okay. That doesn\u2019t make them a bad provider. They just may not be supportive of your desires.\u00A0Hannah: Mhmm.\u00A0Meagan: With your first one, I feel like you had more of that med-wife mentality.\u00A0Hannah: Yes. I found that word after I had him and I was like, \u201COh, that makes sense.\u201D\u00A0Meagan: Yes. What else were you going to say?Hannah: Just going back to preeclampsia, the other thing I would say that I didn\u2019t know a whole lot about with my second or first pregnancy was how much nutrition affects preeclampsia. I believe you\u2019ve had someone on your podcast who has discussed that before just how there are so many things you are told like, \u201CYou shouldn\u2019t be eating salt,\u201D and actually, that\u2019s not true. You shouldn\u2019t be eating processed food, but women in pregnancy need salt so I did find there\u2019s the Brewer diet. I think that can be\u2013 I\u2019ve heard amazing stories about that from women who have had preeclampsia in the past.\u00A0There is a nutritionist I follow on Instagram. She is Aloha Nutrition and she is pregnant with twins right now. I think she is almost 40 weeks old. Her blood pressure has been awesome and she attributes it to beetroot.\u00A0Meagan: Uh-huh. Okay, yes. I\u2019ve had a client who had preeclampsia with her first really, really early, and beets and liver, and these types of things really impact. I mean, that\u2019s why I personally and I\u2019m throwing in a shameless plug here, but that is why I personally love Needed so much because they have really dove in to find out what nutrients you need and help you get it because there are so many of these nutrients that are lacking in our day-to-day foods and it\u2019s overwhelming to learn about them and find them and then find the good resource of where to get them.\u00A0It really can be impactful just like Aloha Nutrition is showing. It\u2019s very common with twins to get that high blood pressure.\u00A0Hannah: Yeah, so I think nutrition is huge and I think that\u2019s just one of the really big problems is that we are not being looked at as a whole person when we are pregnant. It\u2019s just that we are being looked at, \u201COh, you have preeclampsia. This is what the research shows,\u201D but so much of that research is outdated and they are not focusing on those foundations like nutrition that are so important during pregnancy.\u00A0Meagan: Absolutely. Yeah.\u00A0It was Lily Nichols who I had on, but she has more about gestational diabetes. She also has her book for pregnancy in general and I would highly suggest checking that book out.\u00A0Rebecca: I recommend it to all pregnant moms. It\u2019s on my bookshelf. I love it.\u00A0Meagan: Same. She really is so incredible. I could talk to her for hours and hours and hours on nutrition and pregnancy and how impactful it is. I mean, yeah. It\u2019s just so hard. We have so much processed stuff going on in our worlds and it\u2019s easy and it\u2019s fast, but yeah. We are lacking a lot so I love that you put that note in.\u00A044:17 Small pelvises and scar tissueMeagan: And then Rebecca, at the end of this, I wanted to talk a little bit about the pelvic floor and how C-sections can actually impact the pelvic floor health, and then ways to address it, what we can do, and how we can plan for VBAC moving forward.\u00A0Rebecca: Yeah. I just wanted to back up and touch on this idea of having a small pelvis, that your pelvis, the outlet can grow by 30% which is huge, as you are giving birth as long as your sacrum which is your tailbone and your lower pelvis is able to move which is why being off the bed is the place to be because then everything can move and your body can actually grow and expand. Your bones do. That\u2019s one of the reasons we have relaxin.So many people are just like, \u201CYeah. I was told I have a small pelvis.\u201D I\u2019m like, \u201CWere you on your back?\u201D They are like, \u201COh, yes I was.\u201D Then I\u2019m like, \u201CWell, your pelvis was likely closed. It can open. We can make it open.\u201D\u00A0Meagan: It was actually physically smaller.\u00A0Rebecca: Yes and the bones could not move to make more space for the baby. It\u2019s just really interesting. A lot of people actually surprisingly believe that a C-section is a way to save your pelvic floor from any sort of injury or trauma when having children and that is not the case. I don\u2019t know if either of you has heard that before.\u00A0Meagan: Yeah. Okay, so I had a really petite Asian client. She had a C-section. She really wanted a VBAC. I have so many feelings about this birth, but they literally told her that if she wanted to poop herself for the rest of her life, she could have a VBAC and if not, then they would highly suggest a C-section because that would be the only way to avoid her having severe incontinence with her bowels.\u00A0Rebecca: That is awful.\u00A0Meagan: It terrified her.\u00A0Rebecca: That is fearmongering at its worst.\u00A0Meagan: Yeah. As a doula, sitting there watching it\u2013 and I had already watched them preparing the C-section in the hall previously. I had seen the Cesarean coming and I warned them, \u201CThey are preparing this. Nothing is showing that we need to do this,\u201D but that was one of the reasons and she was terrified. I just said, \u201CThat\u2019s not necessarily true,\u201D but it stuck with her. It impacted her so badly that she said, \u201COkay. Let\u2019s do it.\u201D Rebecca: I\u2019m really sorry that she had that experience.\u00A0Meagan: Me too.\u00A0Rebecca: Yeah. People think again this idea that your pelvic floor is spared, but you can still have pelvic floor dysfunction even if you have a C-section. You can still have leaking. You can still have pain with sex. You can still have constipation issues because people forget you spent the last 10 months growing this baby and your pelvic floor was working to support it. It is affected regardless of how you birth which is why every person who births should be getting some sort of assessment by a pelvic PT.\u00A0I don\u2019t know if you are aware of that, but then if you have scar tissue because you birthed via C-section, the scar tissue can actually impede all sorts of things. The three most common side effects are hip and back pain, pain with sex, and urgency and frequency with urination which doesn\u2019t sound great and nobody really talks about it.\u00A0Meagan: They normalize it.\u00A0Rebecca: Yeah, agreed. It\u2019s just, \u201CYou had a baby so that\u2019s what you should expect.\u201D We should expect better. We should always expect better. So by addressing that scar tissue, you can actually manage a lot of those things and hit them off long before they become a problem.\u00A0Meagan: Yeah, it\u2019s interesting. I didn\u2019t know about scar massage or pelvic PT a ton until after my second C-section but then I started doing all of the things and I have a lot of adhesions. She could feel them internally and then we would work on my scar. My back pain would reduce. I did notice a difference during sex and things like that.\u00A0She was like, \u201CNo, let\u2019s work this out for your vaginal birth because you also have trauma in general\u201D which can sometimes be held in the pelvic floor. We have physical trauma and adhesions being created then I had emotional trauma and a lot of that, I carried in my pelvic floor.\u00A0Rebecca: It\u2019s very common for people to carry that in their pelvic floor because our society says that peeing and pooping and sex is all taboo so maybe you didn\u2019t learn about it. Maybe yes, you are having sex but it\u2019s a shameful thing for you because of your upbringing. There are a lot of reasons that can contribute to this pelvic floor dysfunction.\u00A0Constipation is actually one of the biggest indications that you may have a long stage one labor just because you may have a tight pelvic floor which means you may have difficulty relaxing it. Let\u2019s be real. You don\u2019t need a strong pelvic floor to birth a baby. You need a relaxed pelvic floor. You need to let the muscles get out of the way so that baby can come out because the pelvic floor is not pushing the baby out. Your uterus is.\u00A0\u00A0Meagan: Uterus, yeah. Yeah.\u00A050:13 Other scar tissue that can affect positioningMeagan: All fascinating. I highly suggest checking out a pelvic floor specialist no matter if you\u2019ve had a vaginal birth but especially if you\u2019ve had a C-section because like she said, it doesn\u2019t mean that we don\u2019t have things to work through and even if we\u2019ve had a C-section too, I want to point out that we can also have scar tissue on the cervix from things like IUPCs being placed or if we have ever had a forceps birth or just in general. Things can happen where we\u2019ve got cervical scarring that needs to be worked through so that for our VBAC, we can progress.\u00A0I love hearing that Hannah was able to go in and get a Foley with a closed cervix and have this beautiful VBAC, but sometimes, that is definitely hard to get a provider to even do those interventions, and then if we have scar tissue on top of that, that can also cause things to be a little harder.\u00A0Rebecca: One more point about scar tissue, even if you\u2019ve had your appendix out or you have had a laparoscopic surgery, those sorts of things can actually affect the position of the baby. It can cause breech positioning or can cause you discomfort because the scar tissue is not allowing your body to expand as it needs to. So even those things are some really wonderful things that pelvic PT can help you with even if you didn\u2019t have a C-section.\u00A0Meagan: Love it. Awesome. Well, if you are in the Georgia area, definitely check out Dr. Rebecca and if you are in the North Carolina area, definitely go check out UNC midwives. Is that right?Hannah: Right. That\u2019s them.\u00A0Meagan: UNC midwives and keep listening here because these stories just like this and information like this are what we want to do. It\u2019s what we want to provide for you. If you have a certain topic or something like that that you are looking forward to, please email us at info@thevbaclink.com because we want to try to make sure we get that on the show. Thank you guys so much for being with us today.Rebecca: Thank you.\u00A0Hannah: Thank you.ClosingWould you like to be a guest on the podcast? Tell us about your experience at thevbaclink.com/share. For more information on all things VBAC including online and in-person VBAC classes, The VBAC Link blog, and Meagan\u2019s bio, head over to thevbaclink.com. Congratulations on starting your journey of learning and discovery with The VBAC Link.Support this podcast at \u2014 https://redcircle.com/the-vbac-link/donationsAdvertising Inquiries: https://redcircle.com/brands","datePublished":"2024-04-24","potentialAction":{"@type":"ListenAction","target":[{"@type":"EntryPoint","urlTemplate":"https://open.spotify.com/episode/0ORRjR7QX8pbrPaBeN2KCR?autoplay=true","actionPlatform":["http://schema.org/DesktopWebPlatform","http://schema.org/IOSPlatform","http://schema.googleapis.com/GoogleAudioCast","http://schema.googleapis.com/GoogleVideoCast"]},"android-app://com.spotify.music/spotify/episode/0ORRjR7QX8pbrPaBeN2KCR/play"],"expectsAcceptanceOf":{"@type":"Offer","category":"free","eligibleRegion":[{"@type":"Country","name":"AD"},{"@type":"Country","name":"AE"},{"@type":"Country","name":"AG"},{"@type":"Country","name":"AL"},{"@type":"Country","name":"AM"},{"@type":"Country","name":"AO"},{"@type":"Country","name":"AR"},{"@type":"Country","name":"AT"},{"@type":"Country","name":"AU"},{"@type":"Country","name":"AZ"},{"@type":"Country","name":"BA"},{"@type":"Country","name":"BB"},{"@type":"Country","name":"BE"},{"@type":"Country","name":"BF"},{"@type":"Country","name":"BG"},{"@type":"Country","name":"BH"},{"@type":"Country","name":"BI"},{"@type":"Country","name":"BJ"},{"@type":"Country","name":"BN"},{"@type":"Country","name":"BO"},{"@type":"Country","name":"BR"},{"@type":"Country","name":"BS"},{"@type":"Country","name":"BT"},{"@type":"Country","name":"BW"},{"@type":"Country","name":"BZ"},{"@type":"Country","name":"CA"},{"@type":"Country","name":"CH"},{"@type":"Country","name":"CI"},{"@type":"Country","name":"CL"},{"@type":"Country","name":"CM"},{"@type":"Country","name":"CO"},{"@type":"Country","name":"CR"},{"@type":"Country","name":"CV"},{"@type":"Country","name":"CW"},{"@type":"Country","name":"CY"},{"@type":"Country","name":"CZ"},{"@type":"Country","name":"DE"},{"@type":"Country","name":"DJ"},{"@type":"Country","name":"DK"},{"@type":"Country","name":"DM"},{"@type":"Country","name":"DO"},{"@type":"Country","name":"DZ"},{"@type":"Country","name":"EC"},{"@type":"Country","name":"EE"},{"@type":"Country","name":"EG"},{"@type":"Country","name":"ES"},{"@type":"Country","name":"FI"},{"@type":"Country","name":"FJ"},{"@type":"Country","name":"FM"},{"@type":"Country","name":"FR"},{"@type":"Country","name":"GA"},{"@type":"Country","name":"GB"},{"@type":"Country","name":"GD"},{"@type":"Country","name":"GE"},{"@type":"Country","name":"GH"},{"@type":"Country","name":"GM"},{"@type":"Country","name":"GN"},{"@type":"Country","name":"GQ"},{"@type":"Country","name":"GR"},{"@type":"Country","name":"GT"},{"@type":"Country","name":"GW"},{"@type":"Country","name":"GY"},{"@type":"Country","name":"HK"},{"@type":"Country","name":"HN"},{"@type":"Country","name":"HR"},{"@type":"Country","name":"HT"},{"@type":"Country","name":"HU"},{"@type":"Country","name":"ID"},{"@type":"Country","name":"IE"},{"@type":"Country","name":"IL"},{"@type":"Country","name":"IN"},{"@type":"Country","name":"IS"},{"@type":"Country","name":"IT"},{"@type":"Country","name":"JM"},{"@type":"Country","name":"JO"},{"@type":"Country","name":"JP"},{"@type":"Country","name":"KE"},{"@type":"Country","name":"KH"},{"@type":"Country","name":"KI"},{"@type":"Country","name":"KM"},{"@type":"Country","name":"KN"},{"@type":"Country","name":"KR"},{"@type":"Country","name":"KW"},{"@type":"Country","name":"LA"},{"@type":"Country","name":"LB"},{"@type":"Country","name":"LC"},{"@type":"Country","name":"LI"},{"@type":"Country","name":"LR"},{"@type":"Country","name":"LS"},{"@type":"Country","name":"LT"},{"@type":"Country","name":"LU"},{"@type":"Country","name":"LV"},{"@type":"Country","name":"MA"},{"@type":"Country","name":"MC"},{"@type":"Country","name":"ME"},{"@type":"Country","name":"MG"},{"@type":"Country","name":"MH"},{"@type":"Country","name":"MK"},{"@type":"Country","name":"ML"},{"@type":"Country","name":"MN"},{"@type":"Country","name":"MO"},{"@type":"Country","name":"MR"},{"@type":"Country","name":"MT"},{"@type":"Country","name":"MU"},{"@type":"Country","name":"MV"},{"@type":"Country","name":"MW"},{"@type":"Country","name":"MX"},{"@type":"Country","name":"MY"},{"@type":"Country","name":"MZ"},{"@type":"Country","name":"NA"},{"@type":"Country","name":"NE"},{"@type":"Country","name":"NG"},{"@type":"Country","name":"NI"},{"@type":"Country","name":"NL"},{"@type":"Country","name":"NO"},{"@type":"Country","name":"NP"},{"@type":"Country","name":"NR"},{"@type":"Country","name":"NZ"},{"@type":"Country","name":"OM"},{"@type":"Country","name":"PA"},{"@type":"Country","name":"PE"},{"@type":"Country","name":"PG"},{"@type":"Country","name":"PH"},{"@type":"Country","name":"PL"},{"@type":"Country","name":"PR"},{"@type":"Country","name":"PS"},{"@type":"Country","name":"PT"},{"@type":"Country","name":"PW"},{"@type":"Country","name":"PY"},{"@type":"Country","name":"QA"},{"@type":"Country","name":"RO"},{"@type":"Country","name":"RS"},{"@type":"Country","name":"RW"},{"@type":"Country","name":"SA"},{"@type":"Country","name":"SB"},{"@type":"Country","name":"SC"},{"@type":"Country","name":"SE"},{"@type":"Country","name":"SG"},{"@type":"Country","name":"SI"},{"@type":"Country","name":"SK"},{"@type":"Country","name":"SL"},{"@type":"Country","name":"SM"},{"@type":"Country","name":"SN"},{"@type":"Country","name":"SR"},{"@type":"Country","name":"ST"},{"@type":"Country","name":"SV"},{"@type":"Country","name":"SZ"},{"@type":"Country","name":"TD"},{"@type":"Country","name":"TG"},{"@type":"Country","name":"TH"},{"@type":"Country","name":"TL"},{"@type":"Country","name":"TN"},{"@type":"Country","name":"TO"},{"@type":"Country","name":"TR"},{"@type":"Country","name":"TT"},{"@type":"Country","name":"TV"},{"@type":"Country","name":"TW"},{"@type":"Country","name":"TZ"},{"@type":"Country","name":"UA"},{"@type":"Country","name":"US"},{"@type":"Country","name":"UY"},{"@type":"Country","name":"UZ"},{"@type":"Country","name":"VC"},{"@type":"Country","name":"VN"},{"@type":"Country","name":"VU"},{"@type":"Country","name":"WS"},{"@type":"Country","name":"XK"},{"@type":"Country","name":"ZA"},{"@type":"Country","name":"ZM"},{"@type":"Country","name":"ZW"}]}}}</script><link rel="manifest" href="https://open.spotifycdn.com/cdn/generated/manifest-mobile-web-player.a1ddf51c.json"/><style data-styled="active"></style><style data-styled="" data-styled-version="5.3.11">.bksmLQ{box-sizing:border-box;-webkit-tap-highlight-color:transparent;background-color:transparent;border:0;border-radius:var(--encore-button-corner-radius,9999px);cursor:pointer;display:inline-block;position:relative;text-align:center;-webkit-text-decoration:none;text-decoration:none;text-transform:none;touch-action:manipulation;-webkit-transition-duration:33ms;transition-duration:33ms;-webkit-transition-property:background-color,border-color,color,box-shadow,filter,-webkit-transform;-webkit-transition-property:background-color,border-color,color,box-shadow,filter,transform;transition-property:background-color,border-color,color,box-shadow,filter,transform;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);color:var(--text-subdued,#656565);min-inline-size:0;min-block-size:var(--encore-control-size-base,48px);padding-block:var(--encore-spacing-tighter,12px);padding-inline:var(--encore-spacing-tighter,12px);display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ @supports (overflow-wrap:anywhere){.bksmLQ{overflow-wrap:anywhere;}}/*!sc*/ @supports not (overflow-wrap:anywhere){.bksmLQ{word-break:break-word;}}/*!sc*/ .bksmLQ:hover{-webkit-transform:scale(1.04);-ms-transform:scale(1.04);transform:scale(1.04);color:var(--text-base,#000000);}/*!sc*/ .bksmLQ:active{opacity:0.7;outline:none;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);color:var(--text-subdued,#656565);}/*!sc*/ .bksmLQ::after{inline-size:24px;}/*!sc*/ .bksmLQ[disabled],.bksmLQ[aria-disabled='true'],fieldset[disabled] .bksmLQ{cursor:not-allowed;opacity:0.3;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);color:var(--text-subdued,#656565);}/*!sc*/ .bksmLQ[disabled]::before,.bksmLQ[aria-disabled='true']::before,fieldset[disabled] .bksmLQ::before{background-color:transparent;}/*!sc*/ .bksmLQ[disabled]::after,.bksmLQ[aria-disabled='true']::after,fieldset[disabled] .bksmLQ::after{border-color:transparent;}/*!sc*/ .kTFJuL{box-sizing:border-box;-webkit-tap-highlight-color:transparent;background-color:transparent;border:0;border-radius:var(--encore-button-corner-radius,9999px);cursor:pointer;display:inline-block;position:relative;text-align:center;-webkit-text-decoration:none;text-decoration:none;text-transform:none;touch-action:manipulation;-webkit-transition-duration:33ms;transition-duration:33ms;-webkit-transition-property:background-color,border-color,color,box-shadow,filter,-webkit-transform;-webkit-transition-property:background-color,border-color,color,box-shadow,filter,transform;transition-property:background-color,border-color,color,box-shadow,filter,transform;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);color:var(--text-base,#000000);min-inline-size:0;padding:0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ @supports (overflow-wrap:anywhere){.kTFJuL{overflow-wrap:anywhere;}}/*!sc*/ @supports not (overflow-wrap:anywhere){.kTFJuL{word-break:break-word;}}/*!sc*/ .kTFJuL:hover{-webkit-transform:scale(1.04);-ms-transform:scale(1.04);transform:scale(1.04);}/*!sc*/ .kTFJuL:active{opacity:0.7;outline:none;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);color:var(--text-base,#000000);}/*!sc*/ .kTFJuL::after{inline-size:100%;}/*!sc*/ .kTFJuL[disabled],.kTFJuL[aria-disabled='true'],fieldset[disabled] .kTFJuL{cursor:not-allowed;opacity:0.3;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);color:var(--text-base,#000000);}/*!sc*/ .kTFJuL[disabled]::before,.kTFJuL[aria-disabled='true']::before,fieldset[disabled] .kTFJuL::before{background-color:transparent;}/*!sc*/ .kTFJuL[disabled]::after,.kTFJuL[aria-disabled='true']::after,fieldset[disabled] .kTFJuL::after{border-color:transparent;}/*!sc*/ .hRqQQR{box-sizing:border-box;-webkit-tap-highlight-color:transparent;background-color:transparent;border:0;border-radius:var(--encore-button-corner-radius,9999px);cursor:pointer;display:inline-block;position:relative;text-align:center;-webkit-text-decoration:none;text-decoration:none;text-transform:none;touch-action:manipulation;-webkit-transition-duration:33ms;transition-duration:33ms;-webkit-transition-property:background-color,border-color,color,box-shadow,filter,-webkit-transform;-webkit-transition-property:background-color,border-color,color,box-shadow,filter,transform;transition-property:background-color,border-color,color,box-shadow,filter,transform;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);color:var(--text-base,#000000);min-inline-size:0;min-block-size:var(--encore-control-size-base,48px);padding-block:calc(var(--encore-spacing-tighter-2,8px) - 2px);padding-inline:0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ @supports (overflow-wrap:anywhere){.hRqQQR{overflow-wrap:anywhere;}}/*!sc*/ @supports not (overflow-wrap:anywhere){.hRqQQR{word-break:break-word;}}/*!sc*/ .hRqQQR:hover{-webkit-transform:scale(1.04);-ms-transform:scale(1.04);transform:scale(1.04);}/*!sc*/ .hRqQQR:active{opacity:0.7;outline:none;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);color:var(--text-base,#000000);}/*!sc*/ .hRqQQR::after{inline-size:100%;}/*!sc*/ .hRqQQR[disabled],.hRqQQR[aria-disabled='true'],fieldset[disabled] .hRqQQR{cursor:not-allowed;opacity:0.3;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);color:var(--text-base,#000000);}/*!sc*/ .hRqQQR[disabled]::before,.hRqQQR[aria-disabled='true']::before,fieldset[disabled] .hRqQQR::before{background-color:transparent;}/*!sc*/ .hRqQQR[disabled]::after,.hRqQQR[aria-disabled='true']::after,fieldset[disabled] .hRqQQR::after{border-color:transparent;}/*!sc*/ data-styled.g2[id="Button-sc-1dqy6lx-0"]{content:"bksmLQ,kTFJuL,hRqQQR,"}/*!sc*/ .hYdsxw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ .kUVYXR{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-inline-start:12px;}/*!sc*/ data-styled.g3[id="IconWrapper__Wrapper-sc-16usrgb-0"]{content:"hYdsxw,kUVYXR,"}/*!sc*/ .bneLcE{fill:currentcolor;width:var(--encore-graphic-size-decorative-base,24px);height:var(--encore-graphic-size-decorative-base,24px);}/*!sc*/ .bneLcE *{vector-effect:non-scaling-stroke;}/*!sc*/ .zsGU{fill:currentcolor;width:var(--encore-graphic-size-decorative-base,24px);height:var(--encore-graphic-size-decorative-base,24px);}/*!sc*/ .zsGU *{vector-effect:non-scaling-stroke;}/*!sc*/ [dir='rtl'] .zsGU.zsGU{-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1);}/*!sc*/ data-styled.g4[id="Svg-sc-ytk21e-0"]{content:"bneLcE,zsGU,"}/*!sc*/ .hKFGwn{box-sizing:border-box;-webkit-tap-highlight-color:transparent;position:relative;background-color:var(--background-base,#1ed760);color:var(--text-base,#000000);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:var(--encore-button-corner-radius,9999px);font-size:inherit;min-block-size:var(--encore-control-size-larger,56px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;inline-size:var(--encore-control-size-larger,56px);-webkit-block-size:var(--encore-control-size-larger,56px);-ms-flex-block-size:var(--encore-control-size-larger,56px);block-size:var(--encore-control-size-larger,56px);-webkit-transition-property:background-color,-webkit-transform;-webkit-transition-property:background-color,transform;transition-property:background-color,transform;-webkit-transition-duration:33ms;transition-duration:33ms;}/*!sc*/ @supports (overflow-wrap:anywhere){.hKFGwn{overflow-wrap:anywhere;}}/*!sc*/ @supports not (overflow-wrap:anywhere){.hKFGwn{word-break:break-word;}}/*!sc*/ data-styled.g6[id="ButtonInner-sc-14ud5tc-0"]{content:"hKFGwn,"}/*!sc*/ .dlTJiR{box-sizing:border-box;-webkit-tap-highlight-color:transparent;background-color:transparent;border:0;border-radius:var(--encore-button-corner-radius,9999px);cursor:pointer;display:inline-block;position:relative;text-align:center;-webkit-text-decoration:none;text-decoration:none;text-transform:none;touch-action:manipulation;-webkit-transition-duration:33ms;transition-duration:33ms;-webkit-transition-property:background-color,border-color,color,box-shadow,filter,-webkit-transform;-webkit-transition-property:background-color,border-color,color,box-shadow,filter,transform;transition-property:background-color,border-color,color,box-shadow,filter,transform;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);padding:0;min-inline-size:0;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;}/*!sc*/ .dlTJiR:hover .ButtonInner-sc-14ud5tc-0,.dlTJiR:hover .ButtonFocus-sc-2hq6ey-0{-webkit-transform:scale(1.04);-ms-transform:scale(1.04);transform:scale(1.04);}/*!sc*/ .dlTJiR:hover .ButtonInner-sc-14ud5tc-0{background-color:var(--background-highlight,#3be477);}/*!sc*/ .dlTJiR:active .ButtonInner-sc-14ud5tc-0{background-color:var(--background-press,#1abc54);box-shadow:none;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}/*!sc*/ .dlTJiR:active .ButtonFocus-sc-2hq6ey-0{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}/*!sc*/ .dlTJiR:focus .ButtonFocus-sc-2hq6ey-0{border-color:var(--parents-essential-base,var(--essential-base,#000000));}/*!sc*/ .dlTJiR[disabled] .ButtonInner-sc-14ud5tc-0,.dlTJiR[aria-disabled='true'] .ButtonInner-sc-14ud5tc-0,fieldset[disabled] .dlTJiR .ButtonInner-sc-14ud5tc-0{cursor:not-allowed;opacity:0.3;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);background-color:var(--background-base,#1ed760);color:var(--text-base,#000000);}/*!sc*/ .dlTJiR[disabled] .ButtonFocus-sc-2hq6ey-0,.dlTJiR[aria-disabled='true'] .ButtonFocus-sc-2hq6ey-0,fieldset[disabled] .dlTJiR .ButtonFocus-sc-2hq6ey-0{border-color:transparent;}/*!sc*/ data-styled.g7[id="Button-sc-qlcn5g-0"]{content:"dlTJiR,"}/*!sc*/ .ivomLs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;inset-block-start:calc((var(--encore-control-size-larger,56px) - var(--encore-graphic-size-decorative-base,24px)) / 2);inset-inline-start:calc((var(--encore-control-size-larger,56px) - var(--encore-graphic-size-decorative-base,24px)) / 2);}/*!sc*/ data-styled.g8[id="IconWrapper__Wrapper-sc-1hf1hjl-0"]{content:"ivomLs,"}/*!sc*/ .kOChlU{inline-size:100%;border-radius:var(--encore-corner-radius-base,4px);}/*!sc*/ data-styled.g15[id="Image-sc-1u215sg-3"]{content:"kOChlU,"}/*!sc*/ .lmgIvZ{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}/*!sc*/ data-styled.g19[id="ListRowTitle__LineClamp-sc-1xe2if1-0"]{content:"lmgIvZ,"}/*!sc*/ .eFGzcP{outline:none;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ @supports (overflow-wrap:anywhere){.eFGzcP{overflow-wrap:anywhere;}}/*!sc*/ @supports not (overflow-wrap:anywhere){.eFGzcP{word-break:break-word;}}/*!sc*/ data-styled.g20[id="ListRowTitle__ListRowText-sc-1xe2if1-1"]{content:"eFGzcP,"}/*!sc*/ .wLcyr{box-sizing:border-box;-webkit-tap-highlight-color:transparent;position:relative;border-radius:var(--encore-corner-radius-larger,6px);min-block-size:48px;z-index:0;color:var(--text-base,#000000);padding-block-start:8px;padding-block-end:8px;padding-inline-start:8px;padding-inline-end:8px;--animation-speed:300ms;--animation-ease:ease;--bg-inset-change-press:-4px;cursor:pointer;}/*!sc*/ .wLcyr::after{content:'';position:absolute;border-radius:var(--encore-corner-radius-larger,6px);z-index:-1;-webkit-transition:background-color var(--animation-speed) var(--animation-ease),top var(--animation-speed) var(--animation-ease),left var(--animation-speed) var(--animation-ease),right var(--animation-speed) var(--animation-ease),bottom var(--animation-speed) var(--animation-ease);transition:background-color var(--animation-speed) var(--animation-ease),top var(--animation-speed) var(--animation-ease),left var(--animation-speed) var(--animation-ease),right var(--animation-speed) var(--animation-ease),bottom var(--animation-speed) var(--animation-ease);inset:0;inset:8px 8px 8px 8px;}/*!sc*/ .wLcyr[disabled],.wLcyr[aria-disabled='true'],fieldset[disabled] .wLcyr{cursor:not-allowed;opacity:0.3;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}/*!sc*/ .wLcyr:hover::after{background-color:var(--background-highlight,#f5f5f5);inset:0;}/*!sc*/ .wLcyr[disabled]:hover::after,.wLcyr[aria-disabled='true']:hover::after{background-color:unset;}/*!sc*/ .wLcyr[disabled]:active::after,.wLcyr[aria-disabled='true']:active::after{background-color:unset;inset:unset;}/*!sc*/ data-styled.g29[id="Box__BoxComponent-sc-y4nds-0"]{content:"wLcyr,"}/*!sc*/ .MWEhk button,.MWEhk a,.MWEhk [role='button'],.MWEhk [role='link']{position:relative;z-index:1;}/*!sc*/ data-styled.g37[id="Areas__InteractiveArea-sc-1tea2mc-0"]{content:"MWEhk,"}/*!sc*/ .kLALqL{-webkit-column-gap:var(--encore-spacing-tighter,12px);column-gap:var(--encore-spacing-tighter,12px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ data-styled.g38[id="Areas__MainArea-sc-1tea2mc-1"]{content:"kLALqL,"}/*!sc*/ .cuoMqc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:2px;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}/*!sc*/ data-styled.g39[id="Areas__Column-sc-1tea2mc-2"]{content:"cuoMqc,"}/*!sc*/ .hscyXl{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;row-gap:var(--encore-spacing-tighter-2,8px);}/*!sc*/ .hscyXl[disabled]{opacity:0.7;}/*!sc*/ data-styled.g41[id="Box-sc-1njtxi4-0"]{content:"hscyXl,"}/*!sc*/ .DjiIj{position:absolute;z-index:0;inset:0;cursor:pointer;}/*!sc*/ data-styled.g43[id="CardLink-sc-1ut6cns-0"]{content:"DjiIj,"}/*!sc*/ .gPhSUm{box-sizing:border-box;-webkit-tap-highlight-color:transparent;border:0;border-block-start:1px solid var(--decorative-subdued,#dedede);margin-block:var(--encore-spacing-looser,24px);}/*!sc*/ data-styled.g48[id="HorizontalRule__HorizontalRuleElement-sc-198gjx4-0"]{content:"gPhSUm,"}/*!sc*/ </style><link rel="stylesheet" href="https://open.spotifycdn.com/cdn/build/mobile-web-player/mwp-home-page.a9f62717.css"/><link rel="stylesheet" href="https://open.spotifycdn.com/cdn/build/mobile-web-player/mwp-dialog-container.f1985aa9.css"/><link rel="stylesheet" href="https://open.spotifycdn.com/cdn/build/mobile-web-player/mwp-context-menu-container.48b47f45.css"/><link rel="stylesheet" href="https://open.spotifycdn.com/cdn/build/mobile-web-player/mobile-web-player.96045797.css"/><link rel="preconnect" href="https://apresolve.spotify.com" crossorigin="anonymous"/><link rel="preconnect" href="https://clienttoken.spotify.com" crossorigin="anonymous"/><link rel="preconnect" href="https://api-partner.spotify.com" crossorigin="anonymous"/><link rel="preconnect" href="https://spclient.wg.spotify.com" crossorigin="anonymous"/><link rel="preconnect" href="https://api.spotify.com" crossorigin="anonymous"/><link rel="preconnect" href="https://daily-mix.scdn.co" crossorigin="anonymous"/><link rel="preconnect" href="https://exp.wg.spotify.com" crossorigin="anonymous"/><link rel="preconnect" href="https://i.scdn.co" crossorigin="anonymous"/><link rel="preconnect" href="https://lineup-images.scdn.co" crossorigin="anonymous"/><link rel="preconnect" href="https://mosaic.scdn.co" crossorigin="anonymous"/><link rel="preconnect" href="https://open.spotifycdn.com" crossorigin="anonymous"/><link rel="preconnect" href="https://pixel-static.spotify.com" crossorigin="anonymous"/><link rel="preconnect" href="https://pixel.spotify.com" crossorigin="anonymous"/><link rel="preconnect" href="https://pl.scdn.co" crossorigin="anonymous"/><link rel="preconnect" href="https://open.spotifycdn.com" crossorigin="anonymous"/><link rel="preconnect" href="https://gae2-dealer.spotify.com" crossorigin="anonymous"/><link rel="preconnect" href="https://gae2-spclient.spotify.com" crossorigin="anonymous"/><link rel="preload" href="https://open.spotifycdn.com/cdn/generated-locales/mobile-web-player/en.fdc546ed.json" data-translations-url-for-locale="en" as="fetch" crossorigin="anonymous" type="application/json"/><link rel="search" type="application/opensearchdescription+xml" title="Spotify" href="https://open.spotifycdn.com/cdn/generated/opensearch.4cd8879e.xml"/><script defer="" src="https://www.googleoptimize.com/optimize.js?id=GTM-W53X654"></script><script defer="" src="https://open.spotifycdn.com/cdn/js/gtm.ea4c34bc.js"></script><script defer="" src="https://open.spotifycdn.com/cdn/js/retargeting-pixels.5ab9cdc0.js"></script></head><body class="mobile-web-player"><script id="config" data-testid="config" type="application/json">{"appName":"web_player_prototype","market":"SG","locale":{"locale":"en","rtl":false,"textDirection":"ltr"},"isPremium":false,"correlationId":"c9afb0b0b185e7cdba496292994339f3","isAnonymous":true,"gtmId":"GTM-PZHN3VD","optimizeId":"GTM-W53X654","pipResources":{"scripts":["https://open.spotifycdn.com/cdn/build/web-player/vendor~web-player.f97f7070.js","https://open.spotifycdn.com/cdn/build/web-player/pip-mini-player.0479b2e0.js"],"styles":["https://open.spotifycdn.com/cdn/build/web-player/pip-mini-player.1db08a40.css"]},"retargetingPixels":null,"recaptchaWebPlayerFraudSiteKey":"6LfCVLAUAAAAALFwwRnnCJ12DalriUGbj8FW_J39"}</script><script id="session" data-testid="session" type="application/json">{"accessToken":"BQA8NoPn9XCQ_ti569dsQb68Q25VWlzQ_FuyT1xRnsK9wzXuqg9LlrT_aINHjrvmbAuNjYt6lBILgec5O5VqkZSyPiwU8CfhlPIP0CbXqM42r2MjkRk","accessTokenExpirationTimestampMs":1732380825215,"isAnonymous":true,"clientId":"f6a40776580943a7bc5173125a1e8832"}</script><div id="main" data-ssr="1"><div class="encore-layout-themes"><div class="ufy3rNNsNBx6IOixSXEG"><div class="encore-dark-theme xXxkvFpB54Fne7ykRnXa" data-main-scrollable-node="true"><div class="Cv2QMWaKhio30Ly6ooMy"><div class="SAvutxFsWpINsq8pSOqb" style="--bottomMargin:0px"><!--$--><div data-testid="podcast-entity-view" class="E34FrewmewkuBM1IDQsg"><div class="M2zTPqWSULZAGKARgjXG" style="background:linear-gradient(#AF6157 0%, transparent 100%)"><div class="LTYHCckz80h0rAHEj0aQ OgFUAo4HM9zkORh6yYKs lBPLQvOs6NEAQQaTuYm9" data-testid="entity-header-top-section"><div class="cfggPp9bWTWmJHtaMuwE"><div data-testid="entity-image" style="opacity:1;width:56px;height:56px" class="_9oqBtpu3TVycIiibYRVw"><img aria-hidden="false" draggable="false" loading="eager" src="https://lite-images-i.scdn.co/image/ab67656300005f1f95e1bdd067f0cc01df732adc" data-testid="entity-header-entity-image" alt="" class="mMx2LUixlnN_Fu45JpFB"/></div></div><div class="cfggPp9bWTWmJHtaMuwE"><div class="zJT83mTjBmPlNfEnuNYs" data-testid="entity-header-title-and-subtitle-section"><h1 class="encore-text encore-text-title-medium gj6rSoF7K4FohS2DJDEm" data-encore-id="text" data-testid="showTitle">Episode 294 Hannah's Induced VBAC due to Preeclampsia + More on the Pelvic Floor with Co-host Rebecca</h1><div class="encore-text encore-text-body-small sMT6JaxLhI2QLVSevX_3 fjP8GyQyM5IWQvTxWk6W" data-encore-id="text" data-testid="entity-header-entity-subtitle">The VBAC Link</div></div></div></div><div class="kVj4O1X1hlTwIyajGjJb" data-testid="entity-bottom-section"><span><div class="qfYkuLpETFW3axnfMntO"><p class="encore-text encore-text-body-small _q93agegdE655O5zPz6l" data-encore-id="text">Apr 24</p><p class="encore-text encore-text-body-small _q93agegdE655O5zPz6l" data-encore-id="text" data-testid="episode-progress-not-played"><span class="UyzJidwrGk3awngSGIwv">52 min 45 sec</span></p></div></span><div class="encore-text encore-text-body-small jXbmfyIkvfBoDgVxAaDD" data-encore-id="text"><button class="Button-sc-1dqy6lx-0 bksmLQ" aria-label="Save to Your Library" data-encore-id="buttonTertiary"><span aria-hidden="true" class="IconWrapper__Wrapper-sc-16usrgb-0 hYdsxw"><svg data-encore-id="icon" role="img" aria-hidden="true" viewBox="0 0 24 24" class="Svg-sc-ytk21e-0 bneLcE"><path d='M11.999 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18zm-11 9c0-6.075 4.925-11 11-11s11 4.925 11 11-4.925 11-11 11-11-4.925-11-11z'/><path d='M17.999 12a1 1 0 0 1-1 1h-4v4a1 1 0 1 1-2 0v-4h-4a1 1 0 1 1 0-2h4V7a1 1 0 1 1 2 0v4h4a1 1 0 0 1 1 1z'/></svg></span></button><button data-testid="entity-share-button" class="Button-sc-1dqy6lx-0 bksmLQ" aria-label="Share" data-encore-id="buttonTertiary"><span aria-hidden="true" class="IconWrapper__Wrapper-sc-16usrgb-0 hYdsxw"><svg data-encore-id="icon" role="img" aria-hidden="true" viewBox="0 0 24 24" class="Svg-sc-ytk21e-0 bneLcE"><path d='M18.5 4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM15 5.5a3.5 3.5 0 1 1 1.006 2.455L9 12l7.006 4.045a3.5 3.5 0 1 1-.938 1.768l-6.67-3.85a3.5 3.5 0 1 1 0-3.924l6.67-3.852A3.513 3.513 0 0 1 15 5.5zm-9.5 5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm13 6.5a1.5 1.5 0 1 0-.001 3 1.5 1.5 0 0 0 .001-3z'/></svg></span></button><button data-testid="context-menu-action" class="Button-sc-1dqy6lx-0 bksmLQ" aria-label="More" data-encore-id="buttonTertiary"><span aria-hidden="true" class="IconWrapper__Wrapper-sc-16usrgb-0 hYdsxw"><svg data-encore-id="icon" role="img" aria-hidden="true" viewBox="0 0 24 24" class="Svg-sc-ytk21e-0 bneLcE"><path d='M10.5 4.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0zm0 15a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0zm0-7.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0z'/></svg></span></button></div><div class="PbbAKgDSKqb_aeaogoiN"><div class="ilFQxSwAuKW7R9upfQxi"><button data-testid="play-button" aria-label="Play" data-encore-id="buttonPrimary" data-is-icon-only="true" class="Button-sc-qlcn5g-0 dlTJiR"><span class="ButtonInner-sc-14ud5tc-0 hKFGwn encore-bright-accent-set"><span aria-hidden="true" class="IconWrapper__Wrapper-sc-1hf1hjl-0 ivomLs"><svg data-encore-id="icon" role="img" aria-hidden="true" viewBox="0 0 24 24" class="Svg-sc-ytk21e-0 bneLcE"><path d='m7.05 3.606 13.49 7.788a.7.7 0 0 1 0 1.212L7.05 20.394A.7.7 0 0 1 6 19.788V4.212a.7.7 0 0 1 1.05-.606z'/></svg></span></span></button></div></div></div></div><div class="AXLhOsSjT3bowfjf42kK"><div><div data-testid="expandable-description"><div class="buqVKMpwHgGMDJFSl54R"><div class="encore-text encore-text-body-small Zbad_ytC5aqG3ZISd4Gw" data-encore-id="text"><span class="encore-text encore-text-body-small encore-internal-color-text-subdued G_f5DJd2sgHWeto5cwbi" data-encore-id="text">Meagan has a new co-host today! Rebecca, a pelvic floor physical therapist and a VBAC Link doula located in Georgia joins Meagan while our friend Hannah from North Carolina shares her birth stories. This episode stresses again the true importance of not just a supportive provider, but of a supportive practice including hospital policies, the team of rotating providers, and the nurses. Hannah shows how her borderline preeclamptic symptoms were treated very differently between her first and second births. Her first practice had many red flags she didn’t notice until her second practice showed green flag after green flag throughout her entire journey. Rebecca also shares her expertise surrounding pelvic floor PT– who needs it and how it can impact birth outcomes. She also debunks myths about small pelvises and talks in depth about scar tissue. Both women share such valuable tips that we know you will love!Real Food for Pregnancy by Lily NicholsNeeded WebsiteHow to VBAC: The Ultimate Prep Course for ParentsFull Transcript under Episode Details 03:11 Review of the Week05:13 Hannah’s stories08:17 Higher blood pressure readings and induction10:26 Induction due to high blood pressure readings11:52 Interventions and not being able to move during labor16:50 Hannah’s C-section19:36 Rebecca’s thoughts about pelvic bone structure22:42 Second pregnancy29:01 A medically necessary induction33:27 Ending the first full day of induction38:03 Pushing for 20 minutes39:59 Hannah’s advice to listeners - provider support and nutrition44:17 Small pelvises and scar tissue50:13 Other scar tissue that can affect positioningMeagan: Hey, hey Women of Strength. It is Meagan and guess what? We have a cohost today, a new cohost who has never been with us and we are so excited that she is joining us. We have Rebecca Goldberg on our podcast today. Hello, Rebecca. Rebecca: Hello. Meagan: Thank you for taking the time and being with us. Rebecca: Yeah. I really love the resources and the community and I’m just thrilled to be here. Meagan: Well, we are excited and for anyone wondering who Rebecca is, she is an amazing human being. She actually does a lot in pelvic PT and is one of our VBAC-certified doulas. She’s in Georgia. Rebecca: Yep. I’m in Atlanta, the Decatur area. Meagan: Decatur area. Is that where you serve mainly? Rebecca: Yeah. I have people who come to me from all over. Some people are traveling up to an hour or an hour and a half, but I actually can go to people’s homes who are directly in my area. So, people who are post-C-section, I can come to you as early as the day you are discharged. I can work with you deal with pain, make sure you know what needs to happen, and help you do all of the things. That’s where my passion really lies. Meagan: I love that. I love that and for VBAC, how early for pelvic floor and stuff? How early can you start working with them? Rebecca: As soon as they have gotten home. If they are planning on getting pregnant again, we can start building that into what our plans are so that we are starting that process earlier rather than later and you’re more likely to have results that when you are ready to get pregnant, you can just get pregnant. Meagan: Love it. Awesome. Well, thank you, thank you for being here. 03:11 Review of the WeekMeagan: You guys, as usual, we have a Review of the Week. You don’t have to listen to me stumble upon the review. Rebecca will read it. I’m sure she will do a lot better than I normally do. Rebecca: Well, this review is from Apple Podcasts and it’s from semicrunchyyogi. I love that name. The review says, “My personal VBAC journey was actually directly influenced by Meagan Heaton, one of the hosts on this podcast. She was my doula with my second baby, my 10-pound VBAC baby.” Whoa. Meagan: Woo, yeah. Rebecca: “When she started this podcast, I knew it would be something special. I will always be passionate about VBAC and making sure women are given options, respect, and support through their birth journeys. This podcast does just that. This podcast is so needed and addresses important myths about VBAC and birth. Thank you so much, Julie and Meagan, for using your passion to support other women. You two are amazing examples of Women of Strength.” And then there’s a heart. Meagan: Aww, I love that. Thank you semicrunchyyogi. Rebecca: Yogi, yeah. Meagan: That is awesome. Thank you so much. 05:13 Hannah’s storiesMeagan: Okay, you guys. We have our friend, Hannah, from North Carolina so if you are from North Carolina, listen up. I feel like it’s so important for us to start talking about where all of these Women of Strength are coming from because there are so many of us out there in the world who want to know where these people are because finding a supportive provider we know can be challenging. We have our friend, Hannah, from North Carolina sharing her amazing VBAC story. For anyone wondering a little bit more in relation to her story, she had preeclampsia I think actually with her both. Is that correct? Hannah: Yeah. With my first, they qualified it as gestational hypertension and then my second was preeclampsia. Meagan: So your VBAC was actually preeclamptic. Hannah: Yes.</span></div> <div class="encore-text encore-text-body-small Zbad_ytC5aqG3ZISd4Gw" data-encore-id="text"><span class="encore-text encore-text-body-small encore-internal-color-text-subdued G_f5DJd2sgHWeto5cwbi" data-encore-id="text">Meagan: Awesome. Okay. That is something that we see a lot in our community. People are wondering if VBAC is possible with preeclampsia. We don’t actually have a lot of stories on the podcast. In fact, you may be one of the first actually sharing in almost 300 episodes which is kind of sad. Hannah: Wow. Meagan: So we are really excited to talk about this, and you did have that CPD diagnosis like so many of us. Yeah. I’m going to welcome you on to share your stories. Hannah: Yeah, well thank you so much for having me. I’ve been listening for a while and I’m so excited to be here. I do live in the Triangle region of North Carolina. I’m just south of Raleigh in a town called Fuquay-Varina. A lot of people probably won’t recognize that name, but if you are in the Raleigh/Durham/Chapel Hill area, I do have a great recommendation for a supportive provider there. Meagan: Is that more of a rural area? Hannah: It used to be pretty rural and just in the last 10-15 years, it’s exploded. We’re getting a Target and that’s a big deal for us. Meagan: Yay! Every place is better with a Target. Hannah: Yes. Yes. Agreed. Meagan: Awesome. Okay, yeah. Let’s hear about your 6-year-old, the one that you just started listening to the podcast after. Hannah: Yeah. Yeah, just to jump in, I had my first son in July of 2017 and I was a first-time mom. I went to a midwife practice, but they were midwives who delivered at the hospital that was closest to where I lived. I had been seeing them for a few years just for my general well-woman check-up. I liked them. I felt like I had a good rapport with them, so I stuck with that. My pregnancy was good. I was working full-time. I was a traveling salesperson at the time. That got to be a little tricky towards the end. In my third trimester, I started swelling. They were like, “Oh, we just need to keep an eye on this. It could be normal. If it gets coupled with high blood pressure, then it might be concerning.” 08:17 Higher blood pressure readings and inductionHannah: Around 35 weeks, I did have high blood pressure readings. Just on the side, I have a history of white coat syndrome even as a teenager. My blood pressure would shoot up in the office so that’s always been an issue for me and I was concerned about that for pregnancy because I knew high blood pressure, pregnancy, high risk, and I was hoping for an intervention-free birth in the hospital. Meagan: Yeah. Hannah: I did all of the things, I thought. I had a doula. I had read Ina May Gaskin. Meagan: Guide to Childbirth. Hannah: Yes. I did HypnoBabies. Meagan: You were very prepared. Hannah: Yes. I felt very prepared but I think I didn’t have the understanding. I just heard midwife and I just thought, “Oh, natural birth.” I didn’t research the hospital too much so I just didn’t know what I didn’t know. At 35 weeks, they diagnosed me with gestational hypertension. They were pretty aggressive in their management of it. They told me, “You are done working. You are not going back to work. You are on bedrest.” Basically, they said, “You can shower, use the bathroom, and make yourself food, but other than that, you should be lying down and we will definitely induce you by your due date at the latest.” Meagan: Do you remember what your readings were reflecting at that time? Hannah: Yes. I think in the office, it would be maybe 140/85 or 90 but then at home, I had my own cuff and they were reading normal like 118/70 and stuff like that. Meagan: Interesting. So definitely some white coat syndrome maybe and then they were pushing the induction when overall, your pressures were probably pretty regular. Hannah: Yes. That was just, I don’t know. It was hard to know what was the right thing to do in that situation because I was a first-time mom. I don’t want to put my baby at risk. Eventually, they agreed to induce me. I went in the night before my due date. I had been going in for extra monitoring. I had NSTs and biophysical profiles, so everything was good. They just, because I had that gestational hypertension label, they wanted me to deliver by my due date. I did go into the hospital the night before my due date. I think I was maybe a centimeter dilated, 50% effaced. I did the whole Foley bulb overnight. They thought, “Oh, that’s going to stay in for 12 hours.” They put it in and then within an hour and a half, it comes out and I’m 4 centimeters dilated. Meagan: That’s awesome.Hannah: Yeah. It got off to a good note. They were like, “Oh, this is going to go great. You’re going to do great tomorrow.” I’m like, “Oh, okay.” I tried to get sleep. Everyone knows in the hospital even with an ambian, you don’t sleep. My doula came the next morning. I believe they started Pitocin around 7:00 AM. I really was hoping not to get the epidural. I just had this fear of that cascade of interventions. I did know about that and I just felt like, “Okay. I’m going to try to do everything I can to keep that from happening,” because a C-section was something I was very fearful of. I’m an only child. My mom delivered me via C-section. It was a hard delivery and I just had always had a fear of that being my story. 11:52 Interventions and not being able to move during laborHannah: Things were going fine on the Pitocin. I was working through the contractions. They were just very odd. They didn’t want me out of the bed. Thankfully, I did have my doula there. She was like, “Just stand next to the bed. Sit on the birth ball,” but they were just treating me like someone with severe preeclampsia would be treated and that just was not my case. Even they didn’t really want me getting up to go to the bathroom a lot. They were telling me I couldn’t walk the halls. I couldn’t use the shower. It was very odd. So around noon, the midwife says, “Hey, I want to break your water.” I said, “I’m really not comfortable with that. I think I’m making a whole lot of progress. I’ve only been on Pitocin for a few hours. I’d really not have my water broken.” She says, “Well, you’re here to be induced for a reason. We need to speed this up, so I would really like to break your water.”</span><button class="Button-sc-1dqy6lx-0 kTFJuL encore-text-body-medium-bold" data-encore-id="buttonTertiary"><span class="encore-text encore-text-body-small-bold" data-encore-id="text">… <!-- -->see more</span></button></div></div></div><img class="kjxUv_MHNgEH5IARHdA0" src="https://lite-images-i.scdn.co/image/ab67656300005f1f95e1bdd067f0cc01df732adc" alt="Podcast Episode" loading="lazy"/><a href="/show/36bVxqOGd1EYcR0oJteF5n"><button class="Button-sc-1dqy6lx-0 hRqQQR encore-text-body-medium-bold" data-encore-id="buttonTertiary">See all episodes<span aria-hidden="true" class="IconWrapper__Wrapper-sc-16usrgb-0 kUVYXR"><svg data-encore-id="icon" role="img" aria-hidden="true" viewBox="0 0 24 24" class="Svg-sc-ytk21e-0 zsGU"><path d='M8.043 2.793a1 1 0 0 0 0 1.414L15.836 12l-7.793 7.793a1 1 0 1 0 1.414 1.414L18.664 12 9.457 2.793a1 1 0 0 0-1.414 0z'/></svg></span></button></a><div data-testid="internal-link-recommender-shelf"><div class="JMgUTIyId0RuU9k6aQaz"><h2 class="encore-text encore-text-title-small" data-encore-id="text" dir="auto">More episodes like this</h2></div><div class="qirFczpKFgQDsNuuzLHP" data-testid="carousel-mwp"><div class="Box__BoxComponent-sc-y4nds-0 wLcyr Box-sc-1njtxi4-0 hscyXl" data-encore-id="card" role="group" aria-labelledby="card-title-6n6H0kfWAkF6BUjVeVvJ45"><div class="CardLink-sc-1ut6cns-0 DjiIj"></div><div style="display:none" id="onClickHint6n6H0kfWAkF6BUjVeVvJ45"></div><a draggable="false" href="/episode/6n6H0kfWAkF6BUjVeVvJ45"><img alt="" style="min-inline-size:152px" data-encore-id="image" src="https://i.scdn.co/image/ab67656300005f1f559a7232871728cce2696d98" class="Image-sc-1u215sg-3 kOChlU"/></a><div class="Areas__InteractiveArea-sc-1tea2mc-0 Areas__MainArea-sc-1tea2mc-1 MWEhk kLALqL"><div class="Areas__InteractiveArea-sc-1tea2mc-0 Areas__Column-sc-1tea2mc-2 MWEhk cuoMqc"><a draggable="false" href="/episode/6n6H0kfWAkF6BUjVeVvJ45"><p class="encore-text encore-text-body-medium ListRowTitle__ListRowText-sc-1xe2if1-1 eFGzcP" data-encore-id="listRowTitle"><span class="ListRowTitle__LineClamp-sc-1xe2if1-0 lmgIvZ">Navigating the Early Days of Breastfeeding with Erin Moore</span></p></a></div></div></div><div class="Box__BoxComponent-sc-y4nds-0 wLcyr Box-sc-1njtxi4-0 hscyXl" data-encore-id="card" role="group" aria-labelledby="card-title-0QESMg3DD4TjIC70dVVOyo"><div class="CardLink-sc-1ut6cns-0 DjiIj"></div><div style="display:none" id="onClickHint0QESMg3DD4TjIC70dVVOyo"></div><a draggable="false" href="/episode/0QESMg3DD4TjIC70dVVOyo"><img alt="" style="min-inline-size:152px" data-encore-id="image" src="https://i.scdn.co/image/ab67656300005f1f7cef2a2c0fd09bfdeff25398" class="Image-sc-1u215sg-3 kOChlU"/></a><div class="Areas__InteractiveArea-sc-1tea2mc-0 Areas__MainArea-sc-1tea2mc-1 MWEhk kLALqL"><div class="Areas__InteractiveArea-sc-1tea2mc-0 Areas__Column-sc-1tea2mc-2 MWEhk cuoMqc"><a draggable="false" href="/episode/0QESMg3DD4TjIC70dVVOyo"><p class="encore-text encore-text-body-medium ListRowTitle__ListRowText-sc-1xe2if1-1 eFGzcP" data-encore-id="listRowTitle"><span class="ListRowTitle__LineClamp-sc-1xe2if1-0 lmgIvZ">Episode 312 VBAC Basics with Meagan & Julie</span></p></a></div></div></div><div class="Box__BoxComponent-sc-y4nds-0 wLcyr Box-sc-1njtxi4-0 hscyXl" data-encore-id="card" role="group" aria-labelledby="card-title-2O4qZgUxnumUqIOtpxfrxq"><div class="CardLink-sc-1ut6cns-0 DjiIj"></div><div style="display:none" id="onClickHint2O4qZgUxnumUqIOtpxfrxq"></div><a draggable="false" href="/episode/2O4qZgUxnumUqIOtpxfrxq"><img alt="" style="min-inline-size:152px" data-encore-id="image" src="https://i.scdn.co/image/ab67656300005f1f559a7232871728cce2696d98" class="Image-sc-1u215sg-3 kOChlU"/></a><div class="Areas__InteractiveArea-sc-1tea2mc-0 Areas__MainArea-sc-1tea2mc-1 MWEhk kLALqL"><div class="Areas__InteractiveArea-sc-1tea2mc-0 Areas__Column-sc-1tea2mc-2 MWEhk cuoMqc"><a draggable="false" href="/episode/2O4qZgUxnumUqIOtpxfrxq"><p class="encore-text encore-text-body-medium ListRowTitle__ListRowText-sc-1xe2if1-1 eFGzcP" data-encore-id="listRowTitle"><span class="ListRowTitle__LineClamp-sc-1xe2if1-0 lmgIvZ">Navigating the Unpredictable: Paulette's Story of Pregnancy and Autoimmunity</span></p></a></div></div></div><div class="Box__BoxComponent-sc-y4nds-0 wLcyr Box-sc-1njtxi4-0 hscyXl" data-encore-id="card" role="group" aria-labelledby="card-title-3rRCaeR5SQhyrzvYtjR9c7"><div class="CardLink-sc-1ut6cns-0 DjiIj"></div><div style="display:none" id="onClickHint3rRCaeR5SQhyrzvYtjR9c7"></div><a draggable="false" href="/episode/3rRCaeR5SQhyrzvYtjR9c7"><img alt="" style="min-inline-size:152px" data-encore-id="image" src="https://i.scdn.co/image/ab67656300005f1f70bd6e4250673439b5f6c4ea" class="Image-sc-1u215sg-3 kOChlU"/></a><div class="Areas__InteractiveArea-sc-1tea2mc-0 Areas__MainArea-sc-1tea2mc-1 MWEhk kLALqL"><div class="Areas__InteractiveArea-sc-1tea2mc-0 Areas__Column-sc-1tea2mc-2 MWEhk cuoMqc"><a draggable="false" href="/episode/3rRCaeR5SQhyrzvYtjR9c7"><p class="encore-text encore-text-body-medium ListRowTitle__ListRowText-sc-1xe2if1-1 eFGzcP" data-encore-id="listRowTitle"><span class="ListRowTitle__LineClamp-sc-1xe2if1-0 lmgIvZ">#67 PROFESSIONAL How to Birth with Confidence with Childbirth Doula, Educator & Author, Rhea Dempsey</span></p></a></div></div></div><div class="Box__BoxComponent-sc-y4nds-0 wLcyr Box-sc-1njtxi4-0 hscyXl" data-encore-id="card" role="group" aria-labelledby="card-title-7sA7a9BMde5K9RpRaeHCij"><div class="CardLink-sc-1ut6cns-0 DjiIj"></div><div style="display:none" id="onClickHint7sA7a9BMde5K9RpRaeHCij"></div><a draggable="false" href="/episode/7sA7a9BMde5K9RpRaeHCij"><img alt="" style="min-inline-size:152px" data-encore-id="image" src="https://i.scdn.co/image/ab67656300005f1f77962fbcdb8b9ff677543371" class="Image-sc-1u215sg-3 kOChlU"/></a><div class="Areas__InteractiveArea-sc-1tea2mc-0 Areas__MainArea-sc-1tea2mc-1 MWEhk kLALqL"><div class="Areas__InteractiveArea-sc-1tea2mc-0 Areas__Column-sc-1tea2mc-2 MWEhk cuoMqc"><a draggable="false" href="/episode/7sA7a9BMde5K9RpRaeHCij"><p class="encore-text encore-text-body-medium ListRowTitle__ListRowText-sc-1xe2if1-1 eFGzcP" data-encore-id="listRowTitle"><span class="ListRowTitle__LineClamp-sc-1xe2if1-0 lmgIvZ">Episode 297 Macy's Amazing HBA2C + What Does the Evidence Show for VBA2C?</span></p></a></div></div></div><div class="Box__BoxComponent-sc-y4nds-0 wLcyr Box-sc-1njtxi4-0 hscyXl" data-encore-id="card" role="group" aria-labelledby="card-title-63Rr4MOoQVX2p6AQ0WcbOv"><div class="CardLink-sc-1ut6cns-0 DjiIj"></div><div style="display:none" id="onClickHint63Rr4MOoQVX2p6AQ0WcbOv"></div><a draggable="false" href="/episode/63Rr4MOoQVX2p6AQ0WcbOv"><img alt="" style="min-inline-size:152px" data-encore-id="image" src="https://i.scdn.co/image/ab67656300005f1f9bad3dd450c531d306e55b2c" class="Image-sc-1u215sg-3 kOChlU"/></a><div class="Areas__InteractiveArea-sc-1tea2mc-0 Areas__MainArea-sc-1tea2mc-1 MWEhk kLALqL"><div class="Areas__InteractiveArea-sc-1tea2mc-0 Areas__Column-sc-1tea2mc-2 MWEhk cuoMqc"><a draggable="false" href="/episode/63Rr4MOoQVX2p6AQ0WcbOv"><p class="encore-text encore-text-body-medium ListRowTitle__ListRowText-sc-1xe2if1-1 eFGzcP" data-encore-id="listRowTitle"><span class="ListRowTitle__LineClamp-sc-1xe2if1-0 lmgIvZ">Episode 293 Heidi's VBAC + Gestational Diabetes, GBS & Advanced Maternal Age</span></p></a></div></div></div></div></div></div></div><div class="iQxdxLc2HsEnJMZt0Us4"><hr class="HorizontalRule__HorizontalRuleElement-sc-198gjx4-0 gPhSUm bHqWsu7YPnOhoFVoWo1o" data-encore-id="horizontalRule"/></div></div><!--/$--></div><div class="LQ6Ss79CdgHw2ScSPflQ"></div></div></div></div><aside class="encore-dark-theme Yg_FlRTSnjxmfwyAvnFJ"><div></div></aside></div></div><script id="initial-state" type="text/plain">eyJzZXNzaW9uIjp7Im1lIjpudWxsLCJwcm9kdWN0Ijp7ImNvdW50cnkiOiJTRyIsImNhdGFsb2d1ZSI6InByZW1pdW0iLCJwcm9kdWN0IjoiUFJFTUlVTSIsIm9uLWRlbWFuZCI6IjEifSwibG9jYWxlIjoiZW4iLCJ0ZXh0RGlyZWN0aW9uYWxpdHkiOiJsdHIiLCJpc0Fub255bW91cyI6dHJ1ZSwiZmVhdHVyZXMiOnsiZW5hYmxlU2hvd3MiOnRydWUsImlzVHJhY2luZ0VuYWJsZWQiOmZhbHNlLCJ1cGdyYWRlQnV0dG9uIjoiY29udHJvbCIsIm13cCI6dHJ1ZSwiaXNNV1BFcnJvckNvZGVFbmFibGVkIjpmYWxzZSwiaXNNd3BSYWRpb0VudGl0eSI6dHJ1ZSwiaXNNV1BBbmRQbGF5YmFja0NhcGFibGUiOmZhbHNlLCJwcmVhdXRoUmVjYXB0Y2hhIjpmYWxzZSwiaXNFcXVhbGl6ZXJBQkVuYWJsZWQiOmZhbHNlLCJpc1BvZGNhc3RFbmFibGVkIjp0cnVlLCJlbmFibGVJMThuTG9jYWxlcyI6dHJ1ZSwiaXNJMThuQWRkaXRpb25hbFBhZ2VzRW5hYmxlZCI6ZmFsc2UsImlzSW50ZXJhY3Rpb25Mb2dnZXJFbmFibGVkIjp0cnVlLCJpc1JlaW52ZW50RnJlZUVuYWJsZWQiOmZhbHNlLCJpc0VudGl0eVJlcG9ydEVuYWJsZWQiOnRydWUsImlzQWxidW1SZXBvcnRFbmFibGVkIjpmYWxzZSwiaXNUcmFja1JlcG9ydEVuYWJsZWQiOmZhbHNlLCJpc1BvZGNhc3RTaG93UmVwb3J0RW5hYmxlZCI6ZmFsc2UsImlzUG9kY2FzdEVwaXNvZGVSZXBvcnRFbmFibGVkIjpmYWxzZX0sImNvdW50cnkiOiJTRyIsImJyb3dzZXJPUyI6ImFuZHJvaWQiLCJjYW5Hb0JhY2siOmZhbHNlLCJjYW5Hb0ZvcndhcmQiOmZhbHNlfSwiY29ubmVjdCI6eyJkZXZpY2UiOm51bGwsImRldmljZXMiOltdLCJtYW51YWxUcmFuc2ZlckRldmljZUlkIjpudWxsfSwiZW50aXRpZXMiOnsiaXRlbXMiOnsic3BvdGlmeTplcGlzb2RlOjBPUlJqUjdRWDhwYnJQYUJlTjJLQ1IiOnsiX190eXBlbmFtZSI6IkVwaXNvZGUiLCJhdWRpbyI6eyJpdGVtcyI6W3siZmlsZUlkIjoiMGIwMmI1ZjYxMWY3ZDFhMjY3YTc3YjEzODU5YzUyMTgxYzlmNTViNSIsImZvcm1hdCI6Ik9HR19WT1JCSVNfOTYiLCJ1cmwiOiJodHRwczovL3Auc2Nkbi5jby9tcDMtcHJldmlldy8wYjAyYjVmNjExZjdkMWEyNjdhNzdiMTM4NTljNTIxODFjOWY1NWI1In0seyJmaWxlSWQiOiI5NzAxZTAwNjIwMmZiMzIxMzNlNWFmODRiMzgyZDAxYzdmNWQwZDhhIiwiZm9ybWF0IjoiTVA0XzEyOF9DQkNTIiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvOTcwMWUwMDYyMDJmYjMyMTMzZTVhZjg0YjM4MmQwMWM3ZjVkMGQ4YSJ9LHsiZmlsZUlkIjoiMzU0NTI1MTQzMTFmOGQ3M2RmMDk3ZTUxYjYwMGY2Y2QzOWEzOTliOCIsImZvcm1hdCI6IkFBQ18yNCIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3LzM1NDUyNTE0MzExZjhkNzNkZjA5N2U1MWI2MDBmNmNkMzlhMzk5YjgifSx7ImZpbGVJZCI6IjAzYmM3NGMyMzU0NGIwOTFiYzUxODNiNGY2MTA5NGU3MTRlNmFmZjIiLCJmb3JtYXQiOiJNUDRfMTI4IiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvMDNiYzc0YzIzNTQ0YjA5MWJjNTE4M2I0ZjYxMDk0ZTcxNGU2YWZmMiJ9LHsiZmlsZUlkIjoiZDE4NzViMzMwOWQ2NTQ1NTNiYzVmY2M1NTRjOTgzZWVmZDhhNWJjNSIsImZvcm1hdCI6Ik1QNF8xMjhfRFVBTCIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3L2QxODc1YjMzMDlkNjU0NTUzYmM1ZmNjNTU0Yzk4M2VlZmQ4YTViYzUifV19LCJhdWRpb1ByZXZpZXciOnsiZm9ybWF0IjoiTVAzXzk2IiwidXJsIjoiaHR0cHM6Ly9wb2R6LWNvbnRlbnQuc3BvdGlmeWNkbi5jb20vYXVkaW8vY2xpcHMvNkJrSno5UjcwcWJlM0lSZlh4NkNTSS9jbGlwXzMxMTYzMF8zNzE2MzAubXAzIn0sImF2YWlsYWJsZU1hcmtldHMiOnsiaXRlbXMiOlt7ImNvdW50cnlDb2RlIjoiQUQifSx7ImNvdW50cnlDb2RlIjoiQUUifSx7ImNvdW50cnlDb2RlIjoiQUcifSx7ImNvdW50cnlDb2RlIjoiQUwifSx7ImNvdW50cnlDb2RlIjoiQU0ifSx7ImNvdW50cnlDb2RlIjoiQU8ifSx7ImNvdW50cnlDb2RlIjoiQVIifSx7ImNvdW50cnlDb2RlIjoiQVQifSx7ImNvdW50cnlDb2RlIjoiQVUifSx7ImNvdW50cnlDb2RlIjoiQVoifSx7ImNvdW50cnlDb2RlIjoiQkEifSx7ImNvdW50cnlDb2RlIjoiQkIifSx7ImNvdW50cnlDb2RlIjoiQkUifSx7ImNvdW50cnlDb2RlIjoiQkYifSx7ImNvdW50cnlDb2RlIjoiQkcifSx7ImNvdW50cnlDb2RlIjoiQkgifSx7ImNvdW50cnlDb2RlIjoiQkkifSx7ImNvdW50cnlDb2RlIjoiQkoifSx7ImNvdW50cnlDb2RlIjoiQk4ifSx7ImNvdW50cnlDb2RlIjoiQk8ifSx7ImNvdW50cnlDb2RlIjoiQlIifSx7ImNvdW50cnlDb2RlIjoiQlMifSx7ImNvdW50cnlDb2RlIjoiQlQifSx7ImNvdW50cnlDb2RlIjoiQlcifSx7ImNvdW50cnlDb2RlIjoiQloifSx7ImNvdW50cnlDb2RlIjoiQ0EifSx7ImNvdW50cnlDb2RlIjoiQ0gifSx7ImNvdW50cnlDb2RlIjoiQ0kifSx7ImNvdW50cnlDb2RlIjoiQ0wifSx7ImNvdW50cnlDb2RlIjoiQ00ifSx7ImNvdW50cnlDb2RlIjoiQ08ifSx7ImNvdW50cnlDb2RlIjoiQ1IifSx7ImNvdW50cnlDb2RlIjoiQ1YifSx7ImNvdW50cnlDb2RlIjoiQ1cifSx7ImNvdW50cnlDb2RlIjoiQ1kifSx7ImNvdW50cnlDb2RlIjoiQ1oifSx7ImNvdW50cnlDb2RlIjoiREUifSx7ImNvdW50cnlDb2RlIjoiREoifSx7ImNvdW50cnlDb2RlIjoiREsifSx7ImNvdW50cnlDb2RlIjoiRE0ifSx7ImNvdW50cnlDb2RlIjoiRE8ifSx7ImNvdW50cnlDb2RlIjoiRFoifSx7ImNvdW50cnlDb2RlIjoiRUMifSx7ImNvdW50cnlDb2RlIjoiRUUifSx7ImNvdW50cnlDb2RlIjoiRUcifSx7ImNvdW50cnlDb2RlIjoiRVMifSx7ImNvdW50cnlDb2RlIjoiRkkifSx7ImNvdW50cnlDb2RlIjoiRkoifSx7ImNvdW50cnlDb2RlIjoiRk0ifSx7ImNvdW50cnlDb2RlIjoiRlIifSx7ImNvdW50cnlDb2RlIjoiR0EifSx7ImNvdW50cnlDb2RlIjoiR0IifSx7ImNvdW50cnlDb2RlIjoiR0QifSx7ImNvdW50cnlDb2RlIjoiR0UifSx7ImNvdW50cnlDb2RlIjoiR0gifSx7ImNvdW50cnlDb2RlIjoiR00ifSx7ImNvdW50cnlDb2RlIjoiR04ifSx7ImNvdW50cnlDb2RlIjoiR1EifSx7ImNvdW50cnlDb2RlIjoiR1IifSx7ImNvdW50cnlDb2RlIjoiR1QifSx7ImNvdW50cnlDb2RlIjoiR1cifSx7ImNvdW50cnlDb2RlIjoiR1kifSx7ImNvdW50cnlDb2RlIjoiSEsifSx7ImNvdW50cnlDb2RlIjoiSE4ifSx7ImNvdW50cnlDb2RlIjoiSFIifSx7ImNvdW50cnlDb2RlIjoiSFQifSx7ImNvdW50cnlDb2RlIjoiSFUifSx7ImNvdW50cnlDb2RlIjoiSUQifSx7ImNvdW50cnlDb2RlIjoiSUUifSx7ImNvdW50cnlDb2RlIjoiSUwifSx7ImNvdW50cnlDb2RlIjoiSU4ifSx7ImNvdW50cnlDb2RlIjoiSVMifSx7ImNvdW50cnlDb2RlIjoiSVQifSx7ImNvdW50cnlDb2RlIjoiSk0ifSx7ImNvdW50cnlDb2RlIjoiSk8ifSx7ImNvdW50cnlDb2RlIjoiSlAifSx7ImNvdW50cnlDb2RlIjoiS0UifSx7ImNvdW50cnlDb2RlIjoiS0gifSx7ImNvdW50cnlDb2RlIjoiS0kifSx7ImNvdW50cnlDb2RlIjoiS00ifSx7ImNvdW50cnlDb2RlIjoiS04ifSx7ImNvdW50cnlDb2RlIjoiS1IifSx7ImNvdW50cnlDb2RlIjoiS1cifSx7ImNvdW50cnlDb2RlIjoiTEEifSx7ImNvdW50cnlDb2RlIjoiTEIifSx7ImNvdW50cnlDb2RlIjoiTEMifSx7ImNvdW50cnlDb2RlIjoiTEkifSx7ImNvdW50cnlDb2RlIjoiTFIifSx7ImNvdW50cnlDb2RlIjoiTFMifSx7ImNvdW50cnlDb2RlIjoiTFQifSx7ImNvdW50cnlDb2RlIjoiTFUifSx7ImNvdW50cnlDb2RlIjoiTFYifSx7ImNvdW50cnlDb2RlIjoiTUEifSx7ImNvdW50cnlDb2RlIjoiTUMifSx7ImNvdW50cnlDb2RlIjoiTUUifSx7ImNvdW50cnlDb2RlIjoiTUcifSx7ImNvdW50cnlDb2RlIjoiTUgifSx7ImNvdW50cnlDb2RlIjoiTUsifSx7ImNvdW50cnlDb2RlIjoiTUwifSx7ImNvdW50cnlDb2RlIjoiTU4ifSx7ImNvdW50cnlDb2RlIjoiTU8ifSx7ImNvdW50cnlDb2RlIjoiTVIifSx7ImNvdW50cnlDb2RlIjoiTVQifSx7ImNvdW50cnlDb2RlIjoiTVUifSx7ImNvdW50cnlDb2RlIjoiTVYifSx7ImNvdW50cnlDb2RlIjoiTVcifSx7ImNvdW50cnlDb2RlIjoiTVgifSx7ImNvdW50cnlDb2RlIjoiTVkifSx7ImNvdW50cnlDb2RlIjoiTVoifSx7ImNvdW50cnlDb2RlIjoiTkEifSx7ImNvdW50cnlDb2RlIjoiTkUifSx7ImNvdW50cnlDb2RlIjoiTkcifSx7ImNvdW50cnlDb2RlIjoiTkkifSx7ImNvdW50cnlDb2RlIjoiTkwifSx7ImNvdW50cnlDb2RlIjoiTk8ifSx7ImNvdW50cnlDb2RlIjoiTlAifSx7ImNvdW50cnlDb2RlIjoiTlIifSx7ImNvdW50cnlDb2RlIjoiTloifSx7ImNvdW50cnlDb2RlIjoiT00ifSx7ImNvdW50cnlDb2RlIjoiUEEifSx7ImNvdW50cnlDb2RlIjoiUEUifSx7ImNvdW50cnlDb2RlIjoiUEcifSx7ImNvdW50cnlDb2RlIjoiUEgifSx7ImNvdW50cnlDb2RlIjoiUEwifSx7ImNvdW50cnlDb2RlIjoiUFIifSx7ImNvdW50cnlDb2RlIjoiUFMifSx7ImNvdW50cnlDb2RlIjoiUFQifSx7ImNvdW50cnlDb2RlIjoiUFcifSx7ImNvdW50cnlDb2RlIjoiUFkifSx7ImNvdW50cnlDb2RlIjoiUUEifSx7ImNvdW50cnlDb2RlIjoiUk8ifSx7ImNvdW50cnlDb2RlIjoiUlMifSx7ImNvdW50cnlDb2RlIjoiUlcifSx7ImNvdW50cnlDb2RlIjoiU0EifSx7ImNvdW50cnlDb2RlIjoiU0IifSx7ImNvdW50cnlDb2RlIjoiU0MifSx7ImNvdW50cnlDb2RlIjoiU0UifSx7ImNvdW50cnlDb2RlIjoiU0cifSx7ImNvdW50cnlDb2RlIjoiU0kifSx7ImNvdW50cnlDb2RlIjoiU0sifSx7ImNvdW50cnlDb2RlIjoiU0wifSx7ImNvdW50cnlDb2RlIjoiU00ifSx7ImNvdW50cnlDb2RlIjoiU04ifSx7ImNvdW50cnlDb2RlIjoiU1IifSx7ImNvdW50cnlDb2RlIjoiU1QifSx7ImNvdW50cnlDb2RlIjoiU1YifSx7ImNvdW50cnlDb2RlIjoiU1oifSx7ImNvdW50cnlDb2RlIjoiVEQifSx7ImNvdW50cnlDb2RlIjoiVEcifSx7ImNvdW50cnlDb2RlIjoiVEgifSx7ImNvdW50cnlDb2RlIjoiVEwifSx7ImNvdW50cnlDb2RlIjoiVE4ifSx7ImNvdW50cnlDb2RlIjoiVE8ifSx7ImNvdW50cnlDb2RlIjoiVFIifSx7ImNvdW50cnlDb2RlIjoiVFQifSx7ImNvdW50cnlDb2RlIjoiVFYifSx7ImNvdW50cnlDb2RlIjoiVFcifSx7ImNvdW50cnlDb2RlIjoiVFoifSx7ImNvdW50cnlDb2RlIjoiVUEifSx7ImNvdW50cnlDb2RlIjoiVVMifSx7ImNvdW50cnlDb2RlIjoiVVkifSx7ImNvdW50cnlDb2RlIjoiVVoifSx7ImNvdW50cnlDb2RlIjoiVkMifSx7ImNvdW50cnlDb2RlIjoiVk4ifSx7ImNvdW50cnlDb2RlIjoiVlUifSx7ImNvdW50cnlDb2RlIjoiV1MifSx7ImNvdW50cnlDb2RlIjoiWEsifSx7ImNvdW50cnlDb2RlIjoiWkEifSx7ImNvdW50cnlDb2RlIjoiWk0ifSx7ImNvdW50cnlDb2RlIjoiWlcifV19LCJjb250ZW50SW5mb3JtYXRpb24iOm51bGwsImNvbnRlbnRSYXRpbmciOnsibGFiZWwiOiJOT05FIn0sImNvdmVyQXJ0Ijp7ImV4dHJhY3RlZENvbG9ycyI6eyJjb2xvckxpZ2h0Ijp7ImJsdWUiOjg3LCJncmVlbiI6OTcsImhleCI6IiNBRjYxNTciLCJyZWQiOjE3NX19LCJzb3VyY2VzIjpbeyJoZWlnaHQiOjY0LCJ1cmwiOiJodHRwczovL2kuc2Nkbi5jby9pbWFnZS9hYjY3NjU2MzAwMDBmNjhkOTVlMWJkZDA2N2YwY2MwMWRmNzMyYWRjIiwid2lkdGgiOjY0fSx7ImhlaWdodCI6MzAwLCJ1cmwiOiJodHRwczovL2kuc2Nkbi5jby9pbWFnZS9hYjY3NjU2MzAwMDA1ZjFmOTVlMWJkZDA2N2YwY2MwMWRmNzMyYWRjIiwid2lkdGgiOjMwMH0seyJoZWlnaHQiOjY0MCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwYmE4YTk1ZTFiZGQwNjdmMGNjMDFkZjczMmFkYyIsIndpZHRoIjo2NDB9XX0sImRlc2NyaXB0aW9uIjoiTWVhZ2FuIGhhcyBhIG5ldyBjby1ob3N0IHRvZGF5ISBSZWJlY2NhLCBhIHBlbHZpYyBmbG9vciBwaHlzaWNhbCB0aGVyYXBpc3QgYW5kIGEgVkJBQyBMaW5rIGRvdWxhIGxvY2F0ZWQgaW4gR2VvcmdpYSBqb2lucyBNZWFnYW4gd2hpbGUgb3VyIGZyaWVuZCBIYW5uYWggZnJvbSBOb3J0aCBDYXJvbGluYSBzaGFyZXMgaGVyIGJpcnRoIHN0b3JpZXMuwqBUaGlzIGVwaXNvZGUgc3RyZXNzZXMgYWdhaW4gdGhlIHRydWUgaW1wb3J0YW5jZSBvZiBub3QganVzdCBhIHN1cHBvcnRpdmUgcHJvdmlkZXIsIGJ1dCBvZiBhIHN1cHBvcnRpdmUgcHJhY3RpY2UgaW5jbHVkaW5nIGhvc3BpdGFsIHBvbGljaWVzLCB0aGUgdGVhbSBvZiByb3RhdGluZyBwcm92aWRlcnMsIGFuZCB0aGUgbnVyc2VzLiBIYW5uYWggc2hvd3MgaG93IGhlciBib3JkZXJsaW5lIHByZWVjbGFtcHRpYyBzeW1wdG9tcyB3ZXJlIHRyZWF0ZWQgdmVyeSBkaWZmZXJlbnRseSBiZXR3ZWVuIGhlciBmaXJzdCBhbmQgc2Vjb25kIGJpcnRocy4gSGVyIGZpcnN0IHByYWN0aWNlIGhhZCBtYW55IHJlZCBmbGFncyBzaGUgZGlkbuKAmXQgbm90aWNlIHVudGlsIGhlciBzZWNvbmQgcHJhY3RpY2Ugc2hvd2VkIGdyZWVuIGZsYWcgYWZ0ZXIgZ3JlZW4gZmxhZyB0aHJvdWdob3V0IGhlciBlbnRpcmUgam91cm5leS7CoFJlYmVjY2EgYWxzbyBzaGFyZXMgaGVyIGV4cGVydGlzZSBzdXJyb3VuZGluZyBwZWx2aWMgZmxvb3IgUFTigJMgd2hvIG5lZWRzIGl0IGFuZCBob3cgaXQgY2FuIGltcGFjdCBiaXJ0aCBvdXRjb21lcy4gU2hlIGFsc28gZGVidW5rcyBteXRocyBhYm91dCBzbWFsbCBwZWx2aXNlcyBhbmQgdGFsa3MgaW4gZGVwdGggYWJvdXQgc2NhciB0aXNzdWUuwqBCb3RoIHdvbWVuIHNoYXJlIHN1Y2ggdmFsdWFibGUgdGlwcyB0aGF0IHdlIGtub3cgeW91IHdpbGwgbG92ZSFSZWFsIEZvb2QgZm9yIFByZWduYW5jeSBieSBMaWx5IE5pY2hvbHNOZWVkZWQgV2Vic2l0ZUhvdyB0byBWQkFDOiBUaGUgVWx0aW1hdGUgUHJlcCBDb3Vyc2UgZm9yIFBhcmVudHNGdWxsIFRyYW5zY3JpcHQgdW5kZXIgRXBpc29kZSBEZXRhaWxzwqAwMzoxMSBSZXZpZXcgb2YgdGhlIFdlZWswNToxMyBIYW5uYWjigJlzIHN0b3JpZXMwODoxNyBIaWdoZXIgYmxvb2QgcHJlc3N1cmUgcmVhZGluZ3MgYW5kIGluZHVjdGlvbjEwOjI2IEluZHVjdGlvbiBkdWUgdG8gaGlnaCBibG9vZCBwcmVzc3VyZSByZWFkaW5nczExOjUyIEludGVydmVudGlvbnMgYW5kIG5vdCBiZWluZyBhYmxlIHRvIG1vdmUgZHVyaW5nIGxhYm9yMTY6NTAgSGFubmFo4oCZcyBDLXNlY3Rpb24xOTozNiBSZWJlY2Nh4oCZcyB0aG91Z2h0cyBhYm91dCBwZWx2aWMgYm9uZSBzdHJ1Y3R1cmUyMjo0MiBTZWNvbmQgcHJlZ25hbmN5Mjk6MDEgQSBtZWRpY2FsbHkgbmVjZXNzYXJ5IGluZHVjdGlvbjMzOjI3IEVuZGluZyB0aGUgZmlyc3QgZnVsbCBkYXkgb2YgaW5kdWN0aW9uMzg6MDMgUHVzaGluZyBmb3IgMjAgbWludXRlczM5OjU5IEhhbm5haOKAmXMgYWR2aWNlIHRvIGxpc3RlbmVycyAtIHByb3ZpZGVyIHN1cHBvcnQgYW5kIG51dHJpdGlvbjQ0OjE3IFNtYWxsIHBlbHZpc2VzIGFuZCBzY2FyIHRpc3N1ZTUwOjEzIE90aGVyIHNjYXIgdGlzc3VlIHRoYXQgY2FuIGFmZmVjdCBwb3NpdGlvbmluZ01lYWdhbjogSGV5LCBoZXkgV29tZW4gb2YgU3RyZW5ndGguIEl0IGlzIE1lYWdhbiBhbmQgZ3Vlc3Mgd2hhdD8gV2UgaGF2ZSBhIGNvaG9zdCB0b2RheSwgYSBuZXcgY29ob3N0IHdobyBoYXMgbmV2ZXIgYmVlbiB3aXRoIHVzIGFuZCB3ZSBhcmUgc28gZXhjaXRlZCB0aGF0IHNoZSBpcyBqb2luaW5nIHVzLiBXZSBoYXZlIFJlYmVjY2EgR29sZGJlcmcgb24gb3VyIHBvZGNhc3QgdG9kYXkuIEhlbGxvLCBSZWJlY2NhLsKgUmViZWNjYTogSGVsbG8uwqBNZWFnYW46IFRoYW5rIHlvdSBmb3IgdGFraW5nIHRoZSB0aW1lIGFuZCBiZWluZyB3aXRoIHVzLsKgUmViZWNjYTogWWVhaC4gSSByZWFsbHkgbG92ZSB0aGUgcmVzb3VyY2VzIGFuZCB0aGUgY29tbXVuaXR5IGFuZCBJ4oCZbSBqdXN0IHRocmlsbGVkIHRvIGJlIGhlcmUuwqBNZWFnYW46IFdlbGwsIHdlIGFyZSBleGNpdGVkIGFuZCBmb3IgYW55b25lIHdvbmRlcmluZyB3aG8gUmViZWNjYSBpcywgc2hlIGlzIGFuIGFtYXppbmcgaHVtYW4gYmVpbmcuIFNoZSBhY3R1YWxseSBkb2VzIGEgbG90IGluIHBlbHZpYyBQVCBhbmQgaXMgb25lIG9mIG91ciBWQkFDLWNlcnRpZmllZCBkb3VsYXMuIFNoZeKAmXMgaW4gR2VvcmdpYS7CoFJlYmVjY2E6IFllcC4gSeKAmW0gaW4gQXRsYW50YSwgdGhlIERlY2F0dXIgYXJlYS7CoE1lYWdhbjogRGVjYXR1ciBhcmVhLiBJcyB0aGF0IHdoZXJlIHlvdSBzZXJ2ZSBtYWlubHk/wqBSZWJlY2NhOiBZZWFoLiBJIGhhdmUgcGVvcGxlIHdobyBjb21lIHRvIG1lIGZyb20gYWxsIG92ZXIuIFNvbWUgcGVvcGxlIGFyZSB0cmF2ZWxpbmcgdXAgdG8gYW4gaG91ciBvciBhbiBob3VyIGFuZCBhIGhhbGYsIGJ1dCBJIGFjdHVhbGx5IGNhbiBnbyB0byBwZW9wbGXigJlzIGhvbWVzIHdobyBhcmUgZGlyZWN0bHkgaW4gbXkgYXJlYS4gU28sIHBlb3BsZSB3aG8gYXJlIHBvc3QtQy1zZWN0aW9uLCBJIGNhbiBjb21lIHRvIHlvdSBhcyBlYXJseSBhcyB0aGUgZGF5IHlvdSBhcmUgZGlzY2hhcmdlZC4gSSBjYW4gd29yayB3aXRoIHlvdSBkZWFsIHdpdGggcGFpbiwgbWFrZSBzdXJlIHlvdSBrbm93IHdoYXQgbmVlZHMgdG8gaGFwcGVuLCBhbmQgaGVscCB5b3UgZG8gYWxsIG9mIHRoZSB0aGluZ3MuIFRoYXTigJlzIHdoZXJlIG15IHBhc3Npb24gcmVhbGx5IGxpZXMuwqBNZWFnYW46IEkgbG92ZSB0aGF0LiBJIGxvdmUgdGhhdCBhbmQgZm9yIFZCQUMsIGhvdyBlYXJseSBmb3IgcGVsdmljIGZsb29yIGFuZCBzdHVmZj8gSG93IGVhcmx5IGNhbiB5b3Ugc3RhcnQgd29ya2luZyB3aXRoIHRoZW0/wqBSZWJlY2NhOiBBcyBzb29uIGFzIHRoZXkgaGF2ZSBnb3R0ZW4gaG9tZS4gSWYgdGhleSBhcmUgcGxhbm5pbmcgb24gZ2V0dGluZyBwcmVnbmFudCBhZ2Fpbiwgd2UgY2FuIHN0YXJ0IGJ1aWxkaW5nIHRoYXQgaW50byB3aGF0IG91ciBwbGFucyBhcmUgc28gdGhhdCB3ZSBhcmUgc3RhcnRpbmcgdGhhdCBwcm9jZXNzIGVhcmxpZXIgcmF0aGVyIHRoYW4gbGF0ZXIgYW5kIHlvdeKAmXJlIG1vcmUgbGlrZWx5IHRvIGhhdmUgcmVzdWx0cyB0aGF0IHdoZW4geW91IGFyZSByZWFkeSB0byBnZXQgcHJlZ25hbnQsIHlvdSBjYW4ganVzdCBnZXQgcHJlZ25hbnQuwqBNZWFnYW46IExvdmUgaXQuIEF3ZXNvbWUuIFdlbGwsIHRoYW5rIHlvdSwgdGhhbmsgeW91IGZvciBiZWluZyBoZXJlLsKgMDM6MTEgUmV2aWV3IG9mIHRoZSBXZWVrTWVhZ2FuOiBZb3UgZ3V5cywgYXMgdXN1YWwsIHdlIGhhdmUgYSBSZXZpZXcgb2YgdGhlIFdlZWsuIFlvdSBkb27igJl0IGhhdmUgdG8gbGlzdGVuIHRvIG1lIHN0dW1ibGUgdXBvbiB0aGUgcmV2aWV3LiBSZWJlY2NhIHdpbGwgcmVhZCBpdC4gSeKAmW0gc3VyZSBzaGUgd2lsbCBkbyBhIGxvdCBiZXR0ZXIgdGhhbiBJIG5vcm1hbGx5IGRvLsKgUmViZWNjYTogV2VsbCwgdGhpcyByZXZpZXcgaXMgZnJvbSBBcHBsZSBQb2RjYXN0cyBhbmQgaXTigJlzIGZyb20gc2VtaWNydW5jaHl5b2dpLiBJIGxvdmUgdGhhdCBuYW1lLiBUaGUgcmV2aWV3IHNheXMsIOKAnE15IHBlcnNvbmFsIFZCQUMgam91cm5leSB3YXMgYWN0dWFsbHkgZGlyZWN0bHkgaW5mbHVlbmNlZCBieSBNZWFnYW4gSGVhdG9uLCBvbmUgb2YgdGhlIGhvc3RzIG9uIHRoaXMgcG9kY2FzdC4gU2hlIHdhcyBteSBkb3VsYSB3aXRoIG15IHNlY29uZCBiYWJ5LCBteSAxMC1wb3VuZCBWQkFDIGJhYnku4oCdIFdob2EuwqBNZWFnYW46IFdvbywgeWVhaC7CoFJlYmVjY2E6IOKAnFdoZW4gc2hlIHN0YXJ0ZWQgdGhpcyBwb2RjYXN0LCBJIGtuZXcgaXQgd291bGQgYmUgc29tZXRoaW5nIHNwZWNpYWwuIEkgd2lsbCBhbHdheXMgYmUgcGFzc2lvbmF0ZSBhYm91dCBWQkFDIGFuZCBtYWtpbmcgc3VyZSB3b21lbiBhcmUgZ2l2ZW4gb3B0aW9ucywgcmVzcGVjdCwgYW5kIHN1cHBvcnQgdGhyb3VnaCB0aGVpciBiaXJ0aCBqb3VybmV5cy4gVGhpcyBwb2RjYXN0IGRvZXMganVzdCB0aGF0LiBUaGlzIHBvZGNhc3QgaXMgc28gbmVlZGVkIGFuZCBhZGRyZXNzZXMgaW1wb3J0YW50IG15dGhzIGFib3V0IFZCQUMgYW5kIGJpcnRoLiBUaGFuayB5b3Ugc28gbXVjaCwgSnVsaWUgYW5kIE1lYWdhbiwgZm9yIHVzaW5nIHlvdXIgcGFzc2lvbiB0byBzdXBwb3J0IG90aGVyIHdvbWVuLiBZb3UgdHdvIGFyZSBhbWF6aW5nIGV4YW1wbGVzIG9mIFdvbWVuIG9mIFN0cmVuZ3RoLuKAnSBBbmQgdGhlbiB0aGVyZeKAmXMgYSBoZWFydC7CoE1lYWdhbjogQXd3LCBJIGxvdmUgdGhhdC4gVGhhbmsgeW91IHNlbWljcnVuY2h5eW9naS7CoFJlYmVjY2E6IFlvZ2ksIHllYWguwqBNZWFnYW46IFRoYXQgaXMgYXdlc29tZS4gVGhhbmsgeW91IHNvIG11Y2guwqAwNToxMyBIYW5uYWjigJlzIHN0b3JpZXNNZWFnYW46IE9rYXksIHlvdSBndXlzLiBXZSBoYXZlIG91ciBmcmllbmQsIEhhbm5haCwgZnJvbSBOb3J0aCBDYXJvbGluYSBzbyBpZiB5b3UgYXJlIGZyb20gTm9ydGggQ2Fyb2xpbmEsIGxpc3RlbiB1cC4gSSBmZWVsIGxpa2UgaXTigJlzIHNvIGltcG9ydGFudCBmb3IgdXMgdG8gc3RhcnQgdGFsa2luZyBhYm91dCB3aGVyZSBhbGwgb2YgdGhlc2UgV29tZW4gb2YgU3RyZW5ndGggYXJlIGNvbWluZyBmcm9tIGJlY2F1c2UgdGhlcmUgYXJlIHNvIG1hbnkgb2YgdXMgb3V0IHRoZXJlIGluIHRoZSB3b3JsZCB3aG8gd2FudCB0byBrbm93IHdoZXJlIHRoZXNlIHBlb3BsZSBhcmUgYmVjYXVzZSBmaW5kaW5nIGEgc3VwcG9ydGl2ZSBwcm92aWRlciB3ZSBrbm93IGNhbiBiZSBjaGFsbGVuZ2luZy4gV2UgaGF2ZSBvdXIgZnJpZW5kLCBIYW5uYWgsIGZyb20gTm9ydGggQ2Fyb2xpbmEgc2hhcmluZyBoZXIgYW1hemluZyBWQkFDIHN0b3J5LsKgRm9yIGFueW9uZSB3b25kZXJpbmcgYSBsaXR0bGUgYml0IG1vcmUgaW4gcmVsYXRpb24gdG8gaGVyIHN0b3J5LCBzaGUgaGFkIHByZWVjbGFtcHNpYSBJIHRoaW5rIGFjdHVhbGx5IHdpdGggaGVyIGJvdGguIElzIHRoYXQgY29ycmVjdD/CoEhhbm5haDogWWVhaC4gV2l0aCBteSBmaXJzdCwgdGhleSBxdWFsaWZpZWQgaXQgYXMgZ2VzdGF0aW9uYWwgaHlwZXJ0ZW5zaW9uIGFuZCB0aGVuIG15IHNlY29uZCB3YXMgcHJlZWNsYW1wc2lhLsKgTWVhZ2FuOiBTbyB5b3VyIFZCQUMgd2FzIGFjdHVhbGx5IHByZWVjbGFtcHRpYy7CoEhhbm5haDogWWVzLsKgwqBNZWFnYW46IEF3ZXNvbWUuIE9rYXkuIFRoYXQgaXMgc29tZXRoaW5nIHRoYXQgd2Ugc2VlIGEgbG90IGluIG91ciBjb21tdW5pdHkuIFBlb3BsZSBhcmUgd29uZGVyaW5nIGlmIFZCQUMgaXMgcG9zc2libGUgd2l0aCBwcmVlY2xhbXBzaWEuIFdlIGRvbuKAmXQgYWN0dWFsbHkgaGF2ZSBhIGxvdCBvZiBzdG9yaWVzIG9uIHRoZSBwb2RjYXN0LiBJbiBmYWN0LCB5b3UgbWF5IGJlIG9uZSBvZiB0aGUgZmlyc3QgYWN0dWFsbHkgc2hhcmluZyBpbiBhbG1vc3QgMzAwIGVwaXNvZGVzIHdoaWNoIGlzIGtpbmQgb2Ygc2FkLsKgSGFubmFoOiBXb3cuwqBNZWFnYW46IFNvIHdlIGFyZSByZWFsbHkgZXhjaXRlZCB0byB0YWxrIGFib3V0IHRoaXMsIGFuZCB5b3UgZGlkIGhhdmUgdGhhdCBDUEQgZGlhZ25vc2lzIGxpa2Ugc28gbWFueSBvZiB1cy4gWWVhaC4gSeKAmW0gZ29pbmcgdG8gd2VsY29tZSB5b3Ugb24gdG8gc2hhcmUgeW91ciBzdG9yaWVzLsKgSGFubmFoOiBZZWFoLCB3ZWxsIHRoYW5rIHlvdSBzbyBtdWNoIGZvciBoYXZpbmcgbWUuIEnigJl2ZSBiZWVuIGxpc3RlbmluZyBmb3IgYSB3aGlsZSBhbmQgSeKAmW0gc28gZXhjaXRlZCB0byBiZSBoZXJlLiBJIGRvIGxpdmUgaW4gdGhlIFRyaWFuZ2xlIHJlZ2lvbiBvZiBOb3J0aCBDYXJvbGluYS4gSeKAmW0ganVzdCBzb3V0aCBvZiBSYWxlaWdoIGluIGEgdG93biBjYWxsZWQgRnVxdWF5LVZhcmluYS4gQSBsb3Qgb2YgcGVvcGxlIHByb2JhYmx5IHdvbuKAmXQgcmVjb2duaXplIHRoYXQgbmFtZSwgYnV0IGlmIHlvdSBhcmUgaW4gdGhlIFJhbGVpZ2gvRHVyaGFtL0NoYXBlbCBIaWxsIGFyZWEsIEkgZG8gaGF2ZSBhIGdyZWF0IHJlY29tbWVuZGF0aW9uIGZvciBhIHN1cHBvcnRpdmUgcHJvdmlkZXIgdGhlcmUuwqBNZWFnYW46IElzIHRoYXQgbW9yZSBvZiBhIHJ1cmFsIGFyZWE/wqBIYW5uYWg6IEl0IHVzZWQgdG8gYmUgcHJldHR5IHJ1cmFsIGFuZCBqdXN0IGluIHRoZSBsYXN0IDEwLTE1IHllYXJzLCBpdOKAmXMgZXhwbG9kZWQuIFdl4oCZcmUgZ2V0dGluZyBhIFRhcmdldCBhbmQgdGhhdOKAmXMgYSBiaWcgZGVhbCBmb3IgdXMuwqBNZWFnYW46IFlheSEgRXZlcnkgcGxhY2UgaXMgYmV0dGVyIHdpdGggYSBUYXJnZXQuwqBIYW5uYWg6IFllcy4gWWVzLiBBZ3JlZWQuwqBNZWFnYW46IEF3ZXNvbWUuIE9rYXksIHllYWguIExldOKAmXMgaGVhciBhYm91dCB5b3VyIDYteWVhci1vbGQsIHRoZSBvbmUgdGhhdCB5b3UganVzdCBzdGFydGVkIGxpc3RlbmluZyB0byB0aGUgcG9kY2FzdCBhZnRlci7CoEhhbm5haDogWWVhaC4gWWVhaCwganVzdCB0byBqdW1wIGluLCBJIGhhZCBteSBmaXJzdCBzb24gaW4gSnVseSBvZiAyMDE3IGFuZCBJIHdhcyBhIGZpcnN0LXRpbWUgbW9tLiBJIHdlbnQgdG8gYSBtaWR3aWZlIHByYWN0aWNlLCBidXQgdGhleSB3ZXJlIG1pZHdpdmVzIHdobyBkZWxpdmVyZWQgYXQgdGhlIGhvc3BpdGFsIHRoYXQgd2FzIGNsb3Nlc3QgdG8gd2hlcmUgSSBsaXZlZC4gSSBoYWQgYmVlbiBzZWVpbmcgdGhlbSBmb3IgYSBmZXcgeWVhcnMganVzdCBmb3IgbXkgZ2VuZXJhbCB3ZWxsLXdvbWFuIGNoZWNrLXVwLiBJIGxpa2VkIHRoZW0uIEkgZmVsdCBsaWtlIEkgaGFkIGEgZ29vZCByYXBwb3J0IHdpdGggdGhlbSwgc28gSSBzdHVjayB3aXRoIHRoYXQuwqBNeSBwcmVnbmFuY3kgd2FzIGdvb2QuIEkgd2FzIHdvcmtpbmcgZnVsbC10aW1lLiBJIHdhcyBhIHRyYXZlbGluZyBzYWxlc3BlcnNvbiBhdCB0aGUgdGltZS4gVGhhdCBnb3QgdG8gYmUgYSBsaXR0bGUgdHJpY2t5IHRvd2FyZHMgdGhlIGVuZC7CoEluIG15IHRoaXJkIHRyaW1lc3RlciwgSSBzdGFydGVkIHN3ZWxsaW5nLiBUaGV5IHdlcmUgbGlrZSwg4oCcT2gsIHdlIGp1c3QgbmVlZCB0byBrZWVwIGFuIGV5ZSBvbiB0aGlzLiBJdCBjb3VsZCBiZSBub3JtYWwuIElmIGl0IGdldHMgY291cGxlZCB3aXRoIGhpZ2ggYmxvb2QgcHJlc3N1cmUsIHRoZW4gaXQgbWlnaHQgYmUgY29uY2VybmluZy7igJ3CoDA4OjE3IEhpZ2hlciBibG9vZCBwcmVzc3VyZSByZWFkaW5ncyBhbmQgaW5kdWN0aW9uSGFubmFoOiBBcm91bmQgMzUgd2Vla3MsIEkgZGlkIGhhdmUgaGlnaCBibG9vZCBwcmVzc3VyZSByZWFkaW5ncy4gSnVzdCBvbiB0aGUgc2lkZSwgSSBoYXZlIGEgaGlzdG9yeSBvZiB3aGl0ZSBjb2F0IHN5bmRyb21lIGV2ZW4gYXMgYSB0ZWVuYWdlci4gTXkgYmxvb2QgcHJlc3N1cmUgd291bGQgc2hvb3QgdXAgaW4gdGhlIG9mZmljZSBzbyB0aGF04oCZcyBhbHdheXMgYmVlbiBhbiBpc3N1ZSBmb3IgbWUgYW5kIEkgd2FzIGNvbmNlcm5lZCBhYm91dCB0aGF0IGZvciBwcmVnbmFuY3kgYmVjYXVzZSBJIGtuZXcgaGlnaCBibG9vZCBwcmVzc3VyZSwgcHJlZ25hbmN5LCBoaWdoIHJpc2ssIGFuZCBJIHdhcyBob3BpbmcgZm9yIGFuIGludGVydmVudGlvbi1mcmVlIGJpcnRoIGluIHRoZSBob3NwaXRhbC7CoE1lYWdhbjogWWVhaC7CoEhhbm5haDogSSBkaWQgYWxsIG9mIHRoZSB0aGluZ3MsIEkgdGhvdWdodC4gSSBoYWQgYSBkb3VsYS4gSSBoYWQgcmVhZCBJbmEgTWF5IEdhc2tpbi7CoE1lYWdhbjogR3VpZGUgdG8gQ2hpbGRiaXJ0aC7CoEhhbm5haDogWWVzLiBJIGRpZCBIeXBub0JhYmllcy7CoE1lYWdhbjogWW91IHdlcmUgdmVyeSBwcmVwYXJlZC7CoEhhbm5haDogWWVzLiBJIGZlbHQgdmVyeSBwcmVwYXJlZCBidXQgSSB0aGluayBJIGRpZG7igJl0IGhhdmUgdGhlIHVuZGVyc3RhbmRpbmcuIEkganVzdCBoZWFyZCBtaWR3aWZlIGFuZCBJIGp1c3QgdGhvdWdodCwg4oCcT2gsIG5hdHVyYWwgYmlydGgu4oCdIEkgZGlkbuKAmXQgcmVzZWFyY2ggdGhlIGhvc3BpdGFsIHRvbyBtdWNoIHNvIEkganVzdCBkaWRu4oCZdCBrbm93IHdoYXQgSSBkaWRu4oCZdCBrbm93LsKgQXQgMzUgd2Vla3MsIHRoZXkgZGlhZ25vc2VkIG1lIHdpdGggZ2VzdGF0aW9uYWwgaHlwZXJ0ZW5zaW9uLiBUaGV5IHdlcmUgcHJldHR5IGFnZ3Jlc3NpdmUgaW4gdGhlaXIgbWFuYWdlbWVudCBvZiBpdC4gVGhleSB0b2xkIG1lLCDigJxZb3UgYXJlIGRvbmUgd29ya2luZy4gWW91IGFyZSBub3QgZ29pbmcgYmFjayB0byB3b3JrLiBZb3UgYXJlIG9uIGJlZHJlc3Qu4oCdIEJhc2ljYWxseSwgdGhleSBzYWlkLCDigJxZb3UgY2FuIHNob3dlciwgdXNlIHRoZSBiYXRocm9vbSwgYW5kIG1ha2UgeW91cnNlbGYgZm9vZCwgYnV0IG90aGVyIHRoYW4gdGhhdCwgeW91IHNob3VsZCBiZSBseWluZyBkb3duIGFuZCB3ZSB3aWxsIGRlZmluaXRlbHkgaW5kdWNlIHlvdSBieSB5b3VyIGR1ZSBkYXRlIGF0IHRoZSBsYXRlc3Qu4oCdIE1lYWdhbjogRG8geW91IHJlbWVtYmVyIHdoYXQgeW91ciByZWFkaW5ncyB3ZXJlIHJlZmxlY3RpbmcgYXQgdGhhdCB0aW1lP8KgSGFubmFoOiBZZXMuIEkgdGhpbmsgaW4gdGhlIG9mZmljZSwgaXQgd291bGQgYmUgbWF5YmUgMTQwLzg1IG9yIDkwIGJ1dCB0aGVuIGF0IGhvbWUsIEkgaGFkIG15IG93biBjdWZmIGFuZCB0aGV5IHdlcmUgcmVhZGluZyBub3JtYWwgbGlrZSAxMTgvNzAgYW5kIHN0dWZmIGxpa2UgdGhhdC7CoE1lYWdhbjogSW50ZXJlc3RpbmcuIFNvIGRlZmluaXRlbHkgc29tZSB3aGl0ZSBjb2F0IHN5bmRyb21lIG1heWJlIGFuZCB0aGVuIHRoZXkgd2VyZSBwdXNoaW5nIHRoZSBpbmR1Y3Rpb24gd2hlbiBvdmVyYWxsLCB5b3VyIHByZXNzdXJlcyB3ZXJlIHByb2JhYmx5IHByZXR0eSByZWd1bGFyLsKgSGFubmFoOiBZZXMuIFRoYXQgd2FzIGp1c3QsIEkgZG9u4oCZdCBrbm93LiBJdCB3YXMgaGFyZCB0byBrbm93IHdoYXQgd2FzIHRoZSByaWdodCB0aGluZyB0byBkbyBpbiB0aGF0IHNpdHVhdGlvbiBiZWNhdXNlIEkgd2FzIGEgZmlyc3QtdGltZSBtb20uIEkgZG9u4oCZdCB3YW50IHRvIHB1dCBteSBiYWJ5IGF0IHJpc2suIEV2ZW50dWFsbHksIHRoZXkgYWdyZWVkIHRvIGluZHVjZSBtZS7CoEkgd2VudCBpbiB0aGUgbmlnaHQgYmVmb3JlIG15IGR1ZSBkYXRlLiBJIGhhZCBiZWVuIGdvaW5nIGluIGZvciBleHRyYSBtb25pdG9yaW5nLiBJIGhhZCBOU1RzIGFuZCBiaW9waHlzaWNhbCBwcm9maWxlcywgc28gZXZlcnl0aGluZyB3YXMgZ29vZC4gVGhleSBqdXN0LCBiZWNhdXNlIEkgaGFkIHRoYXQgZ2VzdGF0aW9uYWwgaHlwZXJ0ZW5zaW9uIGxhYmVsLCB0aGV5IHdhbnRlZCBtZSB0byBkZWxpdmVyIGJ5IG15IGR1ZSBkYXRlLsKgSSBkaWQgZ28gaW50byB0aGUgaG9zcGl0YWwgdGhlIG5pZ2h0IGJlZm9yZSBteSBkdWUgZGF0ZS4gSSB0aGluayBJIHdhcyBtYXliZSBhIGNlbnRpbWV0ZXIgZGlsYXRlZCwgNTAlIGVmZmFjZWQuIEkgZGlkIHRoZSB3aG9sZSBGb2xleSBidWxiIG92ZXJuaWdodC4gVGhleSB0aG91Z2h0LCDigJxPaCwgdGhhdOKAmXMgZ29pbmcgdG8gc3RheSBpbiBmb3IgMTIgaG91cnMu4oCdIFRoZXkgcHV0IGl0IGluIGFuZCB0aGVuIHdpdGhpbiBhbiBob3VyIGFuZCBhIGhhbGYsIGl0IGNvbWVzIG91dCBhbmQgSeKAmW0gNCBjZW50aW1ldGVycyBkaWxhdGVkLsKgTWVhZ2FuOiBUaGF04oCZcyBhd2Vzb21lLkhhbm5haDogWWVhaC4gSXQgZ290IG9mZiB0byBhIGdvb2Qgbm90ZS4gVGhleSB3ZXJlIGxpa2UsIOKAnE9oLCB0aGlzIGlzIGdvaW5nIHRvIGdvIGdyZWF0LiBZb3XigJlyZSBnb2luZyB0byBkbyBncmVhdCB0b21vcnJvdy7igJ0gSeKAmW0gbGlrZSwg4oCcT2gsIG9rYXku4oCdIEkgdHJpZWQgdG8gZ2V0IHNsZWVwLiBFdmVyeW9uZSBrbm93cyBpbiB0aGUgaG9zcGl0YWwgZXZlbiB3aXRoIGFuIGFtYmlhbiwgeW91IGRvbuKAmXQgc2xlZXAuwqBNeSBkb3VsYSBjYW1lIHRoZSBuZXh0IG1vcm5pbmcuIEkgYmVsaWV2ZSB0aGV5IHN0YXJ0ZWQgUGl0b2NpbiBhcm91bmQgNzowMCBBTS4gSSByZWFsbHkgd2FzIGhvcGluZyBub3QgdG8gZ2V0IHRoZSBlcGlkdXJhbC4gSSBqdXN0IGhhZCB0aGlzIGZlYXIgb2YgdGhhdCBjYXNjYWRlIG9mIGludGVydmVudGlvbnMuIEkgZGlkIGtub3cgYWJvdXQgdGhhdCBhbmQgSSBqdXN0IGZlbHQgbGlrZSwg4oCcT2theS4gSeKAmW0gZ29pbmcgdG8gdHJ5IHRvIGRvIGV2ZXJ5dGhpbmcgSSBjYW4gdG8ga2VlcCB0aGF0IGZyb20gaGFwcGVuaW5nLOKAnSBiZWNhdXNlIGEgQy1zZWN0aW9uIHdhcyBzb21ldGhpbmcgSSB3YXMgdmVyeSBmZWFyZnVsIG9mLiBJ4oCZbSBhbiBvbmx5IGNoaWxkLiBNeSBtb20gZGVsaXZlcmVkIG1lIHZpYSBDLXNlY3Rpb24uIEl0IHdhcyBhIGhhcmQgZGVsaXZlcnkgYW5kIEkganVzdCBoYWQgYWx3YXlzIGhhZCBhIGZlYXIgb2YgdGhhdCBiZWluZyBteSBzdG9yeS7CoDExOjUyIEludGVydmVudGlvbnMgYW5kIG5vdCBiZWluZyBhYmxlIHRvIG1vdmUgZHVyaW5nIGxhYm9ySGFubmFoOiBUaGluZ3Mgd2VyZSBnb2luZyBmaW5lIG9uIHRoZSBQaXRvY2luLiBJIHdhcyB3b3JraW5nIHRocm91Z2ggdGhlIGNvbnRyYWN0aW9ucy4gVGhleSB3ZXJlIGp1c3QgdmVyeSBvZGQuIFRoZXkgZGlkbuKAmXQgd2FudCBtZSBvdXQgb2YgdGhlIGJlZC4gVGhhbmtmdWxseSwgSSBkaWQgaGF2ZSBteSBkb3VsYSB0aGVyZS4gU2hlIHdhcyBsaWtlLCDigJxKdXN0IHN0YW5kIG5leHQgdG8gdGhlIGJlZC4gU2l0IG9uIHRoZSBiaXJ0aCBiYWxsLOKAnSBidXQgdGhleSB3ZXJlIGp1c3QgdHJlYXRpbmcgbWUgbGlrZSBzb21lb25lIHdpdGggc2V2ZXJlIHByZWVjbGFtcHNpYSB3b3VsZCBiZSB0cmVhdGVkIGFuZCB0aGF0IGp1c3Qgd2FzIG5vdCBteSBjYXNlLsKgRXZlbiB0aGV5IGRpZG7igJl0IHJlYWxseSB3YW50IG1lIGdldHRpbmcgdXAgdG8gZ28gdG8gdGhlIGJhdGhyb29tIGEgbG90LiBUaGV5IHdlcmUgdGVsbGluZyBtZSBJIGNvdWxkbuKAmXQgd2FsayB0aGUgaGFsbHMuIEkgY291bGRu4oCZdCB1c2UgdGhlIHNob3dlci4gSXQgd2FzIHZlcnkgb2RkLsKgU28gYXJvdW5kIG5vb24sIHRoZSBtaWR3aWZlIHNheXMsIOKAnEhleSwgSSB3YW50IHRvIGJyZWFrIHlvdXIgd2F0ZXIu4oCdIEkgc2FpZCwg4oCcSeKAmW0gcmVhbGx5IG5vdCBjb21mb3J0YWJsZSB3aXRoIHRoYXQuIEkgdGhpbmsgSeKAmW0gbWFraW5nIGEgd2hvbGUgbG90IG9mIHByb2dyZXNzLiBJ4oCZdmUgb25seSBiZWVuIG9uIFBpdG9jaW4gZm9yIGEgZmV3IGhvdXJzLiBJ4oCZZCByZWFsbHkgbm90IGhhdmUgbXkgd2F0ZXIgYnJva2VuLuKAnSBTaGUgc2F5cywg4oCcV2VsbCwgeW914oCZcmUgaGVyZSB0byBiZSBpbmR1Y2VkIGZvciBhIHJlYXNvbi4gV2UgbmVlZCB0byBzcGVlZCB0aGlzIHVwLCBzbyBJIHdvdWxkIHJlYWxseSBsaWtlIHRvIGJyZWFrIHlvdXIgd2F0ZXIu4oCdwqDCoE1lYWdhbjogT2ggZGVhci7CoEhhbm5haDogWWVhaC4gVGhhdOKAmXMgcmVhbGx5IHdoZXJlIHRoaW5ncyBzdGFydGVkIGdvaW5nIGRvd25oaWxsIGZvciBtZS4gSSBkaWRu4oCZdCByZWFsbHkgdW5kZXJzdGFuZCBhdCB0aGUgdGltZSwgYSBkb3VsYSBjYW7igJl0IHNheSwg4oCcSGV5LCBzaGUgc2FpZCBzaGUgZG9lc27igJl0IHdhbnQgdGhhdCBkb25lLiBTaGUgZG9lc27igJl0IHdhbnQgdGhhdC7igJ0gQnV0IEkgYWxzbyBkaWRu4oCZdCByZWFsbHkgZ2V0IHRoZSBzdXBwb3J0IEkgbmVlZGVkIEkgZ3Vlc3MgaW4gdGhhdCBtb21lbnQgd2hlbiBJIHdhcyB2dWxuZXJhYmxlLiBJIGRpZG7igJl0IHJlYWxseSBoYXZlIGFueW9uZSB0byBzYXksIOKAnEhleSwgZG8geW91IHdhbnQgdG8gdGFsayBmb3IgYSBtaW51dGUgYW5kIGNvbWUgYmFjayB0byB0aGlzP+KAnSBTbyBJIGRpZCBhZ3JlZS4gSSBtZWFuLCBJIGd1ZXNzIHZlcmJhbGx5IEkgYWdyZWVkLiBJIGRpZG7igJl0IGZlZWwgbGlrZSBJIHdhcyBhZ3JlZWluZywgYnV0IHNoZSBicm9rZSBteSB3YXRlciBhbmQgYWZ0ZXIgdGhhdCwgSSBqdXN0IHJlbWVtYmVyIHRoaW5ncyBpbnRlbnNpZmllZCBzbyBtdWNoLiBJIHJlbWVtYmVyIGJ5IGFyb3VuZCAzOjAwIFBNIGJlaW5nIGluIGV4Y3J1Y2lhdGluZyBwYWluIGFuZCB0aGF04oCZcyB3aGVuIEkgYXNrZWQgZm9yIHRoZSBlcGlkdXJhbC4gSXQgdG9vayB0d28gaG91cnMgZm9yIHRoZW0gdG8gYnJpbmcgaXQuIEkgZmluYWxseSBnb3QgdGhlIGVwaWR1cmFsIGFuZCBJIGp1c3QgaW1tZWRpYXRlbHkgZmVsbCBhc2xlZXAgYmVjYXVzZSB3ZSBoYWQgYmVlbiB0aGVyZSBmb3IgcHJvYmFibHkgMjAgaG91cnMgYXQgdGhpcyBwb2ludC5NZWFnYW46IFdlcmUgeW91IGZlZWxpbmcgYW55IHNwZWNpZmljIGRpc2NvbWZvcnQgaW4gdGhlIGJhY2s/IFdlcmUgdGhlcmUgYW55IHNpZ25zIHRoYXQgbWF5YmUgYmFieSB3b3VsZCBoYXZlIGJlZW4gaW4gYSBwb29yIHBvc2l0aW9uIGFmdGVyIHRoZSBmbG9vZGdhdGVzIG9wZW5lZD/CoEhhbm5haDogSXTigJlzIGludGVyZXN0aW5nLiBUaGF0IGFjdHVhbGx5IHdpbGwgY29tZSB1cCBvbmNlIHRoZSBDLXNlY3Rpb24gaXMgcGVyZm9ybWVkLiBXZSB3ZXJlIHRvbGQgYXQgbXnigJMgSSB0aGluayBJIGhhZCBhIGJpb3BoeXNpY2FsIHByb2ZpbGUgYXQgMzkgd2Vla3MgYW5kIHRoZSB0ZWNoIHdhcyBsaWtlLCDigJxPaCwgeW91ciBiYWJ5IGlzIHBvc3RlcmlvcizigJ0gYnV0IEkgZGlkbuKAmXQgcmVhbGx5IHVuZGVyc3RhbmQgd2hhdCB0aGF0IG1lYW50LiBCdXQgd2hlbiBoZSB3YXMgZGVsaXZlcmVkLCB0aGV5IGRpZCBzYXkgaGUgd2FzIGluIHRoZSBhbnRlcmlvciBwb3NpdGlvbiwgc28gSSBqdXN0IHJlbWVtYmVyIGNvbnRyYWN0aW9ucyBiZWluZyB1bmJlYXJhYmxlIGFuZCBJIHRoaW5rIGl0IHdhcyBiZWNhdXNlIG9mIHRoZSBsZXZlbCBvZiBQaXRvY2luIEkgd2FzIG9uLiBUaGV5IGp1c3QgcmFtcGVkIGl0IHVwLsKgSSBldmVuIHJlbWVtYmVyIGF0IG9uZSBwb2ludCwgdGhlIG1pZHdpZmUgc2F5aW5nIHRvIG1l4oCTIHNvIG9uY2UgSSBoYWQgdGhlIGVwaWR1cmFsLCBJ4oCZbSBsYXlpbmcgZG93biByZXN0aW5nLCBJIGhhZCBhc2tlZCBmb3IgYSBwZWFudXQgYmFsbCwgYnV0IG5vIG9uZSByZWFsbHkgaGVscGVkIG1lIHdpdGggaXQuIE15IGRvdWxhIHRyaWVkIHRvIGJ1dCBJIGRvbuKAmXQga25vdy4gVGhlIG51cnNlIEkgZ290IHRoYXQgZGF5IHdhcyBub3QgdmVyeSBoZWxwZnVsLsKgVGhlbiBteSBwb29yIGh1c2JhbmQgaXMgdXN1YWxseSBteSByb2NrLiBIZSBpcyBzbyBzdHJvbmcsIGJ1dCBoZSBqdXN0IHdhcyBsaWtlIGEgZGVlciBpbiB0aGUgaGVhZGxpZ2h0cyBiZWNhdXNlIGl0IHdhcyBoaXMgZmlyc3QgdGltZSBnb2luZyB0aHJvdWdoIHRoaXMgYW5kIGl0IHdhcyBqdXN0IHJvdWdoLsKgSGFubmFoOiBTbyBmaW5hbGx5LCB0aGF0IG5pZ2h0IGF0IDg6MDAgUE0sIHRoZSBtaWR3aWZlIGNvbWVzIGFuZCBjaGVja3MuIFNoZeKAmXMgbGlrZSwg4oCcWWVhaCwgeW914oCZcmUgc3RpbGwgb25seSA0IGNlbnRpbWV0ZXJzIGRpbGF0ZWQuIEkgdGhpbmsgdGhlIGJhYnkgaXMgZGV2ZWxvcGluZyBhIGNhcHV0LuKAnSBIb3cgZG8geW91IHNheSBpdD/CoMKgTWVhZ2FuOiBBIGNhcHV0LsKgV2hpY2ggaXMgaW50ZXJlc3RpbmcuIEF0IDQgY2VudGltZXRlcnMsIGRvIHlvdSByZW1lbWJlciBob3cgbG93IHlvdXIgYmFieSB3YXM/IEJlY2F1c2UgYXQgNCBjZW50aW1ldGVycywgYmFieSBnZXR0aW5nIGNhcHV0LCBiYWJ5IG11c3QgaGF2ZSBiZWVuIGNvbWluZyBsb3cuSGFubmFoOiBBbmQgdGhhdOKAmXMgdGhlIHRoaW5nLCBoZSB3YXNu4oCZdC4gSGUgd2FzIHN0aWxsIGF0IGEgLTIgc3RhdGlvbi7CoE1lYWdhbjogSHVoLiBTbyBub3QgZXZlbiBlbmdhZ2VkLsKgSGFubmFoOiBZZWFoLiBTbyBJIGRvbuKAmXQga25vdy4gU2hlIHdhcyBsaWtlLCDigJxZb3Uga25vdywgSSByZWFsbHkgdGhpbmsgeW91IG5lZWQgYSBDLXNlY3Rpb24uIEkgdGhpbmsgeW91ciBwZWx2aXMgaXMgdG9vIHNtYWxsLuKAnSBJIHdhcyBsaWtlLCDigJxPa2F5LiBXb3cuIFRoYXQgd2FzIG5vdCBzb21ldGhpbmcgSeKAmWQgZXZlciBiZWVuIHRvbGQgaW4gYWxsIG9mIHRoZXNlIHllYXJzIG9mIGdvaW5nIHRvIHRoaXMgcHJhY3RpY2Uu4oCdIFNoZSB3YXMgbGlrZSwg4oCcU28gdGhhdCB3b3VsZCBiZSBteSByZWNvbW1lbmRhdGlvbi4gSSBjb3VsZCBnaXZlIHlvdSBvbmUgbW9yZSBob3VyLuKAnSBJIHNhaWQsIOKAnE9rYXku4oCdIEnigJltIGNyeWluZyBhdCB0aGlzIHBvaW50LiBJ4oCZbSBsaWtlLCDigJxJbiB5b3VyIHByb2Zlc3Npb25hbCBvcGluaW9uLCBkbyB5b3UgdGhpbmsgYW4gaG91ciB3b3VsZCBtYWtlIGEgZGlmZmVyZW5jZT/igJ0gU2hlIHNhaWQsIOKAnE5vLuKAncKgQWdhaW4sIEkgZGlkIHVsdGltYXRlbHkgYWdyZWUgdG8gdGhhdCBDLXNlY3Rpb24uIEkgc2lnbmVkIG9mZiBvbiBpdCwgYnV0IEkgd2FzIHZlcnkgdXBzZXQuIFRoaXMgaXNu4oCZdCB3aGF0IEkgd2FudC4gSSB3YXMgaG9uZXN0bHkgc28gb3V0IG9mIGl0IGF0IHRoaXMgcG9pbnQuIEl04oCZcyBoYXJkIHRvIHJlbWVtYmVyIHNvbWUgb2YgaXQuIFllYWguIEFzIHNvb24gYXMgSSBhZ3JlZWQsIHRoZXkgY2FtZSBpbiB0aGVyZS4gVGhleSBnaXZlIHlvdSB0aGUgZm9ybS4gVGhleSBhcmUgd2hlZWxpbmcgeW91IGRvd24gdGhlIGhhbGwuwqBUaGVyZSB3YXMgbmV2ZXIgcmVhbGx5IGFuIGlzc3VlIG9mIG15IGJhYnkgYmVpbmcgaW4gZGlzdHJlc3MuIEl0IGp1c3Qgd2FzIGtpbmQgb2YgbGlrZSwg4oCcT2gsIHlvdeKAmXZlIGJlZW4gaGVyZSBmb3IgYSB3aGlsZS4gWW914oCZcmUgbm90IHByb2dyZXNzaW5nLiBMZXTigJlzIGp1c3QgZ28gYWhlYWQgYW5kIGRvIGEgQy1zZWN0aW9uLOKAnSBhbmQgdGhlbiBoZXIgY29tbWVudGluZyB0aGF0IG15IHBlbHZpcyB3YXMgdG9vIHNtYWxsLsKgMTY6NTAgSGFubmFo4oCZcyBDLXNlY3Rpb25IYW5uYWg6IEkgZ28gdG8gdGhlIG9wZXJhdGluZyByb29tLiBFdmVyeXRoaW5nIGdvZXMgcHJldHR5IHN0YW5kYXJkLCBidXQgbXkgaHVzYmFuZCBkb2VzIGdvIHRvIHN0YW5kIHVwIHdoZW4gdGhleSBhcmUgZGVsaXZlcmluZyB0aGUgYmFieS4gSGUgd2FzIGxpa2UsIOKAnEdyZWF0LiBJIHdhbnRlZCB0byBzZWUgaXQu4oCdIEFzIHRoZSBkb2N0b3IgZ29lcyB0byBwdWxsIHRoZSBiYWJ5IG91dCwgc2hlIHNheXMsIOKAnE9oLiBJ4oCZdmUgbmV2ZXIgc2VlbiB0aGlzIGJlZm9yZS7igJ0gU2hl4oCZcyBiZWVuIGluIHByYWN0aWNlIGZvciAyNSB5ZWFycy4gSXQgdHVybmVkIG91dCBteSBzb24gaGFkIHRoZSB1bWJpbGljYWwgY29yZCB3cmFwcGVkIGFyb3VuZCBib3RoIGhhbmRzIGFuZCBib3RoIGZlZXQgYW5kIHRoZW4gdGhhdCB3YXMgdG9nZXRoZXIuwqBNZWFnYW46IE9oLsKgSGFubmFoOiBTaGUgc2FpZCwg4oCcT2gsIHlvdXIgYmFieSBpcyB0aWVkLuKAncKgTWVhZ2FuOiBXb3cuwqBIYW5uYWg6IFllYWgsIHNvIGl04oCZcyBsaWtlLCDigJxPa2F5LiBJdCBkb2VzIG1ha2Ugc2Vuc2Ugd2h5IGhlIHdhc27igJl0IGRlc2NlbmRpbmcu4oCdTWVhZ2FuOiBZZWFoLsKgSGFubmFoOiBIZeKAmXMgZ29vZC4gSeKAmW0gZ29vZC4gSSBkaWQgaGF2ZSBhIGhhcmQgcmVjb3ZlcnkuIFRoZXkgdHJpZWQgdG8gc2hvdyBoaW0gdG8gbWUuIEkgc3RhcnQgdm9taXRpbmcgb24gdGhlIG9wZXJhdGluZyB0YWJsZSBhbmQgdGhlbiBpdCBqdXN0IGdldHMgYmx1cnJ5IGZyb20gdGhlcmUuIEl0IHdhcyBqdXN0IHJlYWxseSBoYXJkLiBJIGRvbuKAmXQgcmVtZW1iZXIgaG9sZGluZyBoaW0gZm9yIHRoZSBmaXJzdCB0aW1lIGluIHRoZSByZWNvdmVyeSByb29tLiBBbGwgb2YgaXQgaXMgdmVyeSBibHVycnkgdW50aWwgdGhlIG5leHQgbW9ybmluZy4gWWVhaCwgYnV0IG92ZXJhbGwsIHJlY292ZXJ5IHdlbnQgd2VsbC4gSSBoYWQgYSB2ZXJ5IGhhcmQgdGltZSBicmVhc3RmZWVkaW5nIGhpbS4gSGUgd2FzIGEgdmVyeSwgdmVyeSB0ZW5zZSBiYWJ54oCTIHRvbmd1ZSB0aWUsIGxpcCB0aWUsIGFuZCBhbGwgb2YgdGhhdCwgc28gdGhhdCB3YXMgc3RyZXNzZnVsLsKgTWVhZ2FuOiBNYW4sIHlvdSBoYWQgYSBsb3QuIFRoYXQgd2FzIGEgbG90LsKgSGFubmFoOiBZZWFoLiBJdCB3YXMgaGFyZC7CoE1lYWdhbjogWWVhaC4gSXTigJlzIGtpbmQgb2YgaW50ZXJlc3RpbmcgYmVjYXVzZSBrbm93aW5nIHRoYXQsIOKAnE9oLCB5ZWFoIHlvdXIgYmFieSB3YXMgcmVhbGx5IHdvdW5kIHVwIGluIGhlcmUs4oCdIHRoYXQgd291bGQgbWFrZSBtb3JlIHNlbnNlIHRoYW4ganVzdCBkaWFnbm9zaW5nIHlvdSB3aXRoIENQRC7CoEhhbm5haDogWWVzLiBUaGF04oCZcyB3aGF0IEkgdGhvdWdodC4gSSB3YXMgbGlrZSwg4oCcT2theS7igJ0gVGhlIG1pZHdpZmUgd2FzIHNheWluZyB0aGF0IGR1cmluZyBsYWJvci4gTWF5YmUgc2hlIGp1c3QgdGhvdWdodCB0aGF0IGJlY2F1c2UgSSB3YXNu4oCZdCBwcm9ncmVzc2luZywgYmFieSB3YXNu4oCZdCBkZXNjZW5kaW5nLiBTbyB0aGVuIGF0IG15IHNpeC13ZWVrIGNoZWNrdXAsIEkgYXNrZWQgdG8gc2VlIHRoZSBkb2N0b3Igd2hvIGRlbGl2ZXJlZCBteSBzb24gaW4gdGhlIHN1cmdlcnkuIEkgc2F3IGhlciBhbmQgSSB3YXMganVzdCBkZWJyaWVmaW5nIHdpdGggaGVyLiBJIHNhaWQsIOKAnERvIHlvdSB0aGluayB0aGF0IHdhcyB0aGUgcmVhc29uIGhlIGNvdWxkbuKAmXQgY29tZSBvdXQ/4oCdIFNoZSB3YXMgbGlrZSwg4oCcWWVhaCwgcHJvYmFibHku4oCdIEJ1dCB0aGVuIHNoZSBkaWRu4oCZdCBldmVuIHJlYWxseSBleGFtaW5lIG1lLiBJIGhhZCB0byBhc2suIEkgd2FzIGxpa2UsIOKAnEFyZSB5b3UgZ29pbmcgdG8gY2hlY2sgbXkgQy1zZWN0aW9uIHNjYXI/IEFyZSB5b3UgZ29pbmcgdG8gZG8gYW4gaW50ZXJuYWw/IFdoYXQgYW0gSSBoZXJlIGZvcj/igJ0gU2hlIHdhcyBsaWtlLCDigJxZZWFoLCBmaW5lLiBJIGNhbiBkbyB0aGF0LuKAnSBTaGUgZ29lcywg4oCcT2gsIG5vLiBZb3UgaGF2ZSBhIGZsYXQgcHViaWMgYm9uZS4gWW91IHNob3VsZG7igJl0IGV2ZW4gdHJ5IHRvIGhhdmUgYSBWQkFDLOKAnSB0aGVuIGJhc2ljYWxseSB3YWxrcyBvdXQgb2YgdGhlIHJvb20gYXMgSeKAmW0gY3J5aW5nLsKgTWVhZ2FuOiBPaCBteSBnb3NoLiBJIGhhdmUgYSBxdWVzdGlvbiBmb3IgUmViZWNjYSBpbiBoZXJlIGFuZCBwZWx2aWMgZmxvb3IgYW5kIHN0dWZmLiBEbyB5b3Ugc2VlIGZsYXQgcHViaWMgYm9uZXMgYW5kIGlzIHRoYXQgdHJ1bHkgc29tZXRoaW5nIHRoYXQgY2F1c2VzIGFuIGlzc3VlPzE5OjM2IFJlYmVjY2HigJlzIHRob3VnaHRzIGFib3V0IHBlbHZpYyBib25lIHN0cnVjdHVyZVJlYmVjY2E6IEkgY2Fu4oCZdCBpbWFnaW5lIHNvLiBJIG1lYW4sIGlmIHlvdSB0aGluayBhYm91dCB0aGUgd2F5IHRoYXQgdGhlIGJhYnkgY29tZXMgZG93biwgdGhlIHB1YmljIGJvbmVzIGFyZSBub3Qgc3VwZXIgaW52b2x2ZWQuIFlvdSBoYXZlIHRoZSBwdWJpYyBzeW1waHlzaXMgd2hpY2ggaXMgdGhlIGxpdHRsZSBjYXJ0aWxhZ2UgYmV0d2VlbiB0aGUgcHViaWMgYm9uZXMuIFRoYXQgZ2V0cyBzb2Z0IGp1c3QgbGlrZSBhbGwgb2Ygb3VyIG90aGVyIGpvaW50cyBkdWUgdG8gcmVsYXhpbiBhbmQgdGhhdCBtYWtlcyBldmVyeXRoaW5nIG1vdmVhYmxlLiBUaGVyZSBhcmUgcGVvcGxlIHdobyBldmVuIGhhdmUgdGhhdCBzZXBhcmF0ZS4gVGhlIHNoYXBlIG9mIHRoZSBwdWJpYyBib25lc+KAkyBpdCBqdXN0IHNlZW1zIGEgbGl0dGxlIGJpdCBvZGQgdG8gbWUuwqBNZWFnYW46IFllYWguIFllYWguIEludGVyZXN0aW5nLiBJIG1lYW4sIEnigJltIHRoaW5raW5nIHRoYXQgSSBjYW4gcHV0IG15IGZpbmdlcnMgZXhhY3RseSB3aGVyZSBJIGZlbHQgd2hlbiBtaW5lIGRpZCBzdGFydCB0byBzZXBhcmF0ZSBhbmQgSSBoYXZlIGEgd29ua3kgcGVsdmlzIHRvby4gTXkgcGVsdmlzIGdvZXMgYWxsIGZ1bmt5LiBJdOKAmXMganVzdCBzbyBpbnRlcmVzdGluZyB0byBtZSB0byBhbHdheXMgaGVhciB0aGF0IHByb3ZpZGVycyBqdW1wIHJpZ2h0IHRvLCDigJxZb3VyIGJvbmVzIGFyZSBub3QgZ29vZCBlbm91Z2gu4oCdSGFubmFoOiBZZWFoLiBZZWFoLiBUaGF0IHdhcyBzbyBoYXJkIHRvIGhlYXIgYmVjYXVzZSBpdCB3YXMgbGlrZSwg4oCcT2gsIHNvbWV0aGluZyBpcyB3cm9uZyB3aXRoIG1lLiBJdOKAmXMgbXkgZmF1bHQu4oCdIFRoZW4gYSBtaWR3aWZlIHdobyBJIHdhcyBjbG9zZXIgd2l0aCB0aGVyZSwgd2hlbiBJIHNhdyBoZXIgd2hlbiBteSBiYWJ5IHdhcyBhYm91dCA2IG1vbnRocyBvbGQgZm9yIGp1c3QgbXkgYW5udWFsIGV4YW0sIEkgYXNrZWQgaGVyIGFib3V0IHRoYXQgY29tbWVudC4gU2hlIHNhaWQsIOKAnE9oLCBJIHRoaW5rIHdoYXQgc2hlIHdhcyBzYXlpbmcgaXMgeW91IGhhdmUgYSBuYXJyb3cgcGVsdmljIGFyY2gu4oCdIE9rYXkuwqBNZWFnYW46IE9rYXksIGFsbCByaWdodC7CoDIyOjQyIFNlY29uZCBwcmVnbmFuY3lNZWFnYW46IERpZCB5b3UgZ28gaW50byB0aGlzIG5leHQgcHJlZ25hbmN5IGZlZWxpbmcgZG91YnRmdWwgb2YgeW91ciBwZWx2aXM/SGFubmFoOiBPaCBhYnNvbHV0ZWx5LiBZZXMuIFllYWguIEkgZGVmaW5pdGVseSB3YXMgdmVyeSBuZXJ2b3VzLiBJIG1lYW4sIEkgcmVtZW1iZXIgc2VhcmNoaW5nIHRocm91Z2ggZ3JvdXBzIG9uIEZhY2Vib29rIG9yIHRoZSBCYWJ5c2l0dGVyIEFwcCDigJxGbGF0IHB1YmljIGJvbmUsIG5hcnJvdyBwZWx2aWMgYXJjaOKAnSB0byBzZWUgaWYgYW55b25lIGVsc2UgaGFkIGJlZW4gZGlhZ25vc2VkIHdpdGggdGhhdCBhbmQgZ29uZSBvbiB0byBzdWNjZXNzZnVsbHkgaGF2ZSBhIFZCQUMuwqBNZWFnYW46IFJpZ2h0LCB5ZWFoLiBTbyBiYWJ5ICMyLsKgSGFubmFoOiBZZXAuIEkgZW5kZWQgdXAgYWN0dWFsbHkgZ2V0dGluZyBwcmVnbmFudCB3aGVuIG15IGZpcnN0IHNvbiB3YXMgYWJvdXQgMyB5ZWFycyBvbGQuIEkgbGl0ZXJhbGx5IGhhZCBqdXN0IGJlZW4gZHJlYW1pbmcgYWJvdXQgaGF2aW5nIGEgVkJBQyBzaW5jZSBteSBmaXJzdCBzb24gd2FzIGJvcm4uIEkgZmVlbCBzbyB0aGFua2Z1bCB0aGF0IEkgZm91bmQgeW91ciBwb2RjYXN0LCB0aGUgRmFjZWJvb2sgY29tbXVuaXR5IG9mIFRoZSBWQkFDIExpbmsgYW5kIEkgYWxzbyBmb3VuZCBteSBsb2NhbCBJQ0FOIGdyb3VwIHdobyBqdXN0IHdhcyBzbyBoZWxwZnVsIGluIGZpbmRpbmcgbXkgbmV3IHByb3ZpZGVyLiBJIHN3aXRjaGVkIHRvIHRoYXQgbmV3IHByb3ZpZGVyIGJlZm9yZSBJIGV2ZW4gZ290IHByZWduYW50IGp1c3QgYmVjYXVzZSBJIGtuZXcgSSB3YXMgbm90IGdvaW5nIGJhY2sgdG8gdGhhdCBmaXJzdCBwcmFjdGljZSBldmVyIGZvciBhbnl0aGluZy7CoE1lYWdhbjogWWVhaC4gVGhhdOKAmXMgYWN0dWFsbHkgc29tZXRoaW5nIEkgc3VnZ2VzdCBoaWdobHkuIEEgbG90IG9mIHRoZSB0aW1lLCB3ZSBkb27igJl0IHRoaW5rIGFib3V0IGZpbmRpbmcgdGhhdCBwcm92aWRlciB1bnRpbCB3ZSBhcmUgcHJlZ25hbnQsIGJ1dCBmaW5kaW5nIGEgcHJvdmlkZXIgd2hlbiB3ZeKAmXJlIG5vdCBwcmVnbmFudCBpcyBraW5kIG9mIHdlaXJkLiBUaGVyZSBpcyB0aGlzIHZ1bG5lcmFiaWxpdHkgdGhhdCB3ZSBkb27igJl0IGhhdmUuIFdlIGhhdmUgdGhpc+KAkyBpdCBzb3VuZHMgc2lsbHnigJMgdG91Z2hlciBza2luIHdoZW4gd2XigJlyZSBub3QgcHJlZ25hbnQuwqBIYW5uYWg6IE5vLCBJIHRvdGFsbHkgZ2V0IHRoYXQuwqBNZWFnYW46IFlvdeKAmXJlIGluIGEgZGlmZmVyZW50IGhlYWRzcGFjZS4gWW914oCZcmUgbGlrZSwg4oCcTm8sIEkgYWxyZWFkeSBrbm93IEnigJltIG5vdCBnb2luZyBiYWNrIHRvIHRoaXMgcGVyc29uLiBJ4oCZbSBnb2luZyB0byBmaW5kIHRoaXMgbmV3IHBlcnNvbiBhbmQgZ28gbm93LuKAncKgSGFubmFoOiBZZWFoLiBTbyB0aGFua2Z1bGx5LCBJIGRpZCBmaW5kIHRoZW0uIFRoZSBob3NwaXRhbCB3YXMgYSA0NS1taW51dGUgZHJpdmUgc28gaXQgd2FzIGEgYmlnIGRpZmZlcmVuY2UgZnJvbSBteSBmaXJzdCB3aGVyZSB0aGUgaG9zcGl0YWwgd2FzIG9ubHkgMjAgbWludXRlcyBhd2F5LCBidXQgdGhhdCB3YXMgc28gd29ydGggaXQgdG8gbWUuIEkgd2FzIHByZWduYW50IGR1cmluZyBDT1ZJRC4gSSBnb3QgcHJlZ25hbnQgaW4gU2VwdGVtYmVyIDIwMjAsIHNvIHRoaW5ncyB3ZXJlIHdlaXJkIGFueXdheS4gQXBwb2ludG1lbnRzIHdlcmUgbW9yZSBzcGFjZWQgb3V0LiBTb21lIG9mIHRoZW0gd2VyZSB2aXJ0dWFsLiBJIGZlZWwgYmFkIHNheWluZyB0aGlzIGJlY2F1c2UgSSBrbm93IHNvIG1hbnkgcGVvcGxlIGhhZCBhIGhhcmQgdGltZSB3aXRoIG5vdCBoYXZpbmcgdGhlaXIgaHVzYmFuZHMgb3IgcGFydG5lcnMgY29tZSB3aXRoIHRoZW0gdG8gYXBwb2ludG1lbnRzLCBidXQgaXQgYWN0dWFsbHkgd2FzIGtpbmQgb2YgbmljZSB0aGF0IEkgZGlkbuKAmXQgaGF2ZSB0byBnbyBpbiBhcyBtdWNoIGp1c3QgYmVjYXVzZSBvZiBteSBhbnhpZXR5IHdpdGggdGhlIGRvY3RvcuKAmXMgb2ZmaWNlLsKgQnV0IEkgcmVhbGx5IGRpZCBsaWtlIHRoZSBtaWR3aXZlcyB0aGF0IEkgd2FzIHNlZWluZyBhdCB0aGlzIG5ldyBwcmFjdGljZSBhbmQgdGhlIGlzc3VlIGFib3V0IG15IGJsb29kIHByZXNzdXJlIGRpZCBnZXQgYnJvdWdodCB1cC4gSSBoYWQgYSBjb3VwbGUgb2YgaGlnaCByZWFkaW5ncyBlYXJseSBvbiBpbiB0aGUgcHJlZ25hbmN5LiBJIHRoaW5rIEkgd2VudCB0byBteSBmaXJzdCBhcHBvaW50bWVudCBhcm91bmQgMTMgd2Vla3MgaW4gcGVyc29uIGFuZCBkZWZpbml0ZWx5IGhhZCBhIGhpZ2ggcmVhZGluZy4gSXQgc291bmRlZCBsaWtlIHRoZXkgYWN0dWFsbHkgYmVsaWV2ZWQgbWUgdGhpcyB0aW1lIHRob3VnaC4gV2hlbiBJIHRvbGQgdGhlbSBhYm91dCB0aGUgd2hpdGUgY29hdCBzeW5kcm9tZSBhbmQgbXkgcGFzdCwgdGhleSB0b29rIG15IHdvcmQgYW5kIHdlcmUgbGlrZSwg4oCcV2UgZ2V0IGl0LiBXZSBzZWUgaXQgYWxsIHRoZSB0aW1lLiBIYXZlIGEgYmxvb2QgcHJlc3N1cmUgbW9uaXRvciBhdCBob21lIGFuZCBpZiB5b3UgY291bGQgYXQgeW91ciBuZXh0IGFwcG9pbnRtZW50LCBicmluZyBpdCBpbi4gV2XigJlsbCB0ZXN0IHlvdXIgYmxvb2QgcHJlc3N1cmUgb24gdGhhdCBhbmQgb24gdGhlIG1hY2hpbmUganVzdCB0byBtYWtlIHN1cmUgaXTigJlzIGFjY3VyYXRlLuKAncKgSnVzdCB3aXRoIHRoYXQsIEkgZmVsdCBzbyB2YWxpZGF0ZWQuwqBSZWJlY2NhOiBJIHdhcyBqdXN0IGdvaW5nIHRvIHNheSB0aGF04oCZcyByZWFsbHkgd29uZGVyZnVsIHRoYXQgeW91ciBwcm92aWRlcnMgZGlkIHRoYXQgYW5kIHRoZXkganVzdCBhY2NlcHRlZCB5b3UgYXQgeW91ciB3b3JkLiBUaGF04oCZcyByZWFsbHkgYmVhdXRpZnVsLsKgSGFubmFoOiBZZWFoLiBJIGZlbHQgbGlrZSB0aGF0IHdhcyBzdWNoIGEgZGlmZmVyZW5jZS4gUGVvcGxlIHRhbGsgYWJvdXQgcmVkIGZsYWdzIGFsbCB0aGUgdGltZSwgYnV0IEkgZmVsdCBsaWtlIHRoYXQgd2FzIGEgZ3JlZW4gZmxhZyBsaWtlLCDigJxPa2F5LiBUaGlzIGlzIHNvbWVvbmUgd2hvIGlzIGFjdHVhbGx5IGxpc3RlbmluZyB0byBtZSBhcyBhIHBhdGllbnQu4oCdwqBUaGluZ3Mgd2VudCBncmVhdC4gSSBhY3R1YWxseSBnb3QgdG8gYSBwb2ludCB3aGVyZSBteSByZWFkaW5ncyBpbiB0aGUgb2ZmaWNlIHdlcmUgbm9ybWFsLiBJIHRoaW5rIGp1c3QgZnJvbSBmZWVsaW5nIG1vcmUgcmVsYXhlZCBhbmQgbW9yZSBzdXBwb3J0ZWQuIEkgYnJvdWdodCB1cCB0aGUgd2hvbGUgc21hbGwgcGVsdmlzIHRoaW5nLiBJIGhhZCBzZXZlcmFsIG1pZHdpdmVzIHNheSwg4oCcSSBkb27igJl0IGJlbGlldmUgdGhhdC4gV2UgaGVhciB0aGF0IGFsbCB0aGUgdGltZS4gV2XigJlyZSBub3QgZ29pbmcgdG8gd29ycnkgYWJvdXQgdGhhdC7igJ0gU28gZXZlcnl0aGluZyB3ZW50IGdyZWF0IHVwIHVudGlsIGFib3V0IDM3IHdlZWtzIHdoZW4gSSBnb3QgQ09WSUQuIFRoYW5rIEdvZCBJIGRpZCBub3QgaGF2ZSBhIGhhcmQgdGltZSB3aXRoIGl0IGF0IGFsbC4gSXQgd2FzIGEgc2ludXMgaW5mZWN0aW9uLCBidXQgSSBtaXNzZWQgbXkgMzctd2VlayBhcHBvaW50bWVudCB0aGVuIHdoZW4gSSB3ZW50IGluIGZvciBteSAzOC13ZWVrIGFwcG9pbnRtZW50LCBteSBibG9vZCBwcmVzc3VyZSB3YXMgZWxldmF0ZWQgc28gdGhhdCB3YXMgY29uY2VybmluZyBmb3IgdGhlbSBnaXZlbiBteSBoaXN0b3J5LsKgTWVhZ2FuOiBUaGF04oCZcyBpbnRlcmVzdGluZy4gSeKAmW0gY3VyaW91cyBpZiBpdCB3YXMgY29ycmVsYXRlZCBhdCBhbGwsIG9yIGlmIGl0IHdhcyBqdXN0IHlvdXIgaGlzdG9yeSBiZWNhdXNlIHNvbWV0aW1lcyB3ZSBrbm93IGlmIHdl4oCZdmUgZ290IHByZWVjbGFtcHNpYSBpbiB0aGUgcGFzdCwgd2UgbWF5IGJlIG1vcmUgbGlrZWx5IHRvIGhhdmUgaXQgaW4gdGhlIGZ1dHVyZSwgYnV0IEnigJltIGN1cmlvdXMgaWYgdGhhdOKAmXMgcmVsYXRlZCBhdCBhbGwuwqBIYW5uYWg6IEkga25vdy4gSSBrbm93LiBJ4oCZdmUgd29uZGVyZWQgdGhhdCBhbmQgaXTigJlzIHNvIGhhcmQgYmVjYXVzZSBJIGRvbuKAmXQgdGhpbmsgSeKAmWxsIGV2ZXIgZGVmaW5pdGl2ZWx5IGtub3csIGJ1dCBpdCBzZWVtcyBsaWtlLCDigJxPaCwgeW91IHdlcmUgZmluZSBhdCAzNiB3ZWVrcy4gWW91IGdldCBDT1ZJRCBhdCAzNyB3ZWVrcyBhbmQgdGhlbiBoaWdoIGJsb29kIHByZXNzdXJlIHRoZSBuZXh0IHdlZWsu4oCdIEJ1dCBJIHdhcyBhbHNvIGdvaW5nIHRocm91Z2ggc29tZSBvdGhlciBzdHJlc3NmdWwgdGhpbmdzLiBJIGhhZCBhIGZhbWlseSBtZW1iZXIgcGFzcyBhd2F5LiBJIGhhZCBhIHNpdHVhdGlvbiB3aXRoIG15IGRvZyB3aGVyZSBoZSBhbG1vc3QgcGFzc2VkIGF3YXkgYW5kIHRoYXTigJlzIGxpa2UgbXkgZmlyc3QgYmFieS4gT2gsIGFuZCB0aGVuIEkgYnJva2UgbXkgZm9vdCBhdCAzNiB3ZWVrcyBwcmVnbmFudC7CoE1lYWdhbjogT2ggbXkgZ29zaC4gT2ggbXkgZ29zaC7CoEhhbm5haDogWWVhaC4gSSBrbm93LsKgTWVhZ2FuOiBIb2x5IGNvdy7CoEhhbm5haDogSXQgc291bmRzIGluc2FuZS4gSXQgc291bmRzIGluc2FuZSwgYnV0IGFueXdheS7CoE1lYWdhbjogVGhhdOKAmXMgYSBsb3QgdG8gZW5kdXJlIHJpZ2h0IGJlZm9yZSB5b3VyIGJpcnRoLsKgSGFubmFoOiBZZWFoLCBzbyBJ4oCZbSBsaWtlLCBpdCBwcm9iYWJseSB3YXNu4oCZdCB0aGUgQ09WSUQsIGl0IHByb2JhYmx5IHdhcyB0aGUgc3RyZXNzLiBTb3JyeSwgSeKAmW0gbGF1Z2hpbmcgYnV0IHRoYXTigJlzIGp1c3QgbXkgd2F5IG9mIGRlYWxpbmcgd2l0aCBzdHJlc3MuIFNvIEkgZ28gdG8gdGhhdCBhcHBvaW50bWVudCBhbmQgdGhleSBnbywg4oCcT29oLCB5b3VyIGJsb29kIHByZXNzdXJlIGlzIGhpZ2gu4oCdIFRoZXkgZGlkIGRvIGFuIE5TVCBvbiB0aGUgYmFieSBhbmQgdW5mb3J0dW5hdGVseSwgSSBmZWVsIGxpa2UgdGhpcyBoYXBwZW5zIHRvIG1lIGFuZCBvdGhlciBwZW9wbGUgYSBsb3QuIFRoaXMgbWlkd2lmZSB0aGF0IHBhcnRpY3VsYXIgZGF5IEkgaGFkIG5vdCBtZXQgeWV0IGFuZCBzaGUgd2FzIGRlZmluaXRlbHkgb25lIG9mIHRoZSBtb3JlIHN0cmljdCBvbmVzLiBTaGUgd2FzIGxpa2UsIOKAnFlvdSBrbm93LCBJIHJlYWxseSB0aGluayB5b3UgbmVlZCB0byBnbyB0byB0aGUgaG9zcGl0YWwgdG8gYmUgbW9uaXRvcmVkLuKAnSBJIHdhcyBsaWtlLCDigJxXZWxsLCBsZXTigJlzIGRvIHRoZSBOU1QuIExldOKAmXMgc2VlIGhvdyB0aGF0IGdvZXMu4oCdwqBUaGV5IGhhZCB0YWtlbiBteSBibG9vZHdvcmsuIEkgd2FzIGxpa2UsIOKAnENhbiB3ZSBqdXN0IHdhaXQgYW5kIHNlZSB3aGF0IHRoZSBibG9vZHdvcmsgY29tZXMgYmFjayBhcz/igJ0gU2hlIGtpbmQgb2YgZ2F2ZSBtZSBhIGhhcmQgdGltZSBhYm91dCB0aGF0LiBTaGUgd2FzIGxpa2UsIOKAnFlvdSBkb27igJl0IHdhbnQgdG8gbGVhdmUgaGVyZSBub3Qga25vd2luZyBpZiB5b3VyIGJhYnkgaXMgb2theS7igJ0gSeKAmW0gbGlrZSwg4oCcSSBmZWVsIGxpa2UgbXkgYmFieSBpcyBmaW5lLuKAncKgSSByZW1lbWJlciBjYWxsaW5nIG15IGRvdWxhIG9uIHRoZSB3YXkgaG9tZSBqdXN0IGh5c3RlcmljYWwgYWJvdXQgaGVyIHNheWluZyB0aGF0IGFuZCB0aGFua2Z1bGx5LCBteSBkb3VsYSB3YXMgYW1hemluZyBhbmQganVzdCBsaWtlLCDigJxEb27igJl0IHdvcnJ5IGFib3V0IGl0LiBUaGV5IGFyZSBjaGVja2luZyB5b3VyIGJsb29kLiBFdmVyeXRoaW5nIHdpbGwgYmUgZmluZS7igJ0gSSBkaWQgZ28gaG9tZS4gSSByZXN0ZWQuIFRoYW5rZnVsbHksIG15IG9sZGVyIHNvbiB3YXMgd2l0aCBteSBtb3RoZXItaW4tbGF3LCBidXQgdGhlbiB0aGF0IGV2ZW5pbmcsIEkgZ290IGEgY2FsbCBhbmQgdGhleSB3ZXJlIGxpa2UsIOKAnEhhbm5haCwgeW91IGFyZSBzaG93aW5nIHNvbWUgc2lnbnMgaW4geW91ciBsYWJzIG9uIHRoZSBhY3R1YWwgYmxvb2R3b3JrIG9mIGJvcmRlcmxpbmUgcHJlZWNsYW1wc2lhLOKAnSBpcyB3aGF0IHRoZXkgd2VyZSBzYXlpbmcuwqAyOTowMSBBIG1lZGljYWxseSBuZWNlc3NhcnkgaW5kdWN0aW9uSGFubmFoOiBUaGlzIHdhcyBhIGRpZmZlcmVudCBtaWR3aWZlIHRoYW4gSSB3YXMgc2VlaW5nIGVhcmxpZXIgaW4gdGhlIGRheS4gU2hlIHNhaWQsIOKAnEkgZG8gdGhpbmsgeW91IG5lZWQgdG8gY29tZSB0byB0aGUgaG9zcGl0YWwgYW5kIGhhdmUgYSBiYWJ5IHRvbmlnaHQu4oCdIFRoYXQgd2FzIHJlYWxseSBzY2FyeSBmb3IgbWUgaW4gdGhhdCBtb21lbnQuwqBNZWFnYW46IFllYWgsIGl04oCZcyBoYXJkIGJlY2F1c2UgeW91IGFyZSBsaWtlLCDigJxUaGlzIGlzIG5vdCB3aGF0IEkgd2FudGVkLuKAnSBJdOKAmXMgaGFyZCB0byBtZW50YWxseSBnbyBiYWNrIHRvIHRoZSBzYW1lIGJlZ2lubmluZyBpbiBhIHdheS7CoEhhbm5haDogWWVhaC4gWWVhaC4gSSBtZWFuLCBJIGp1c3QgcmVtZW1iZXIgY2FsbGluZyBteSBodXNiYW5kLiBIZSB3YXMgc3RpbGwgYXQgd29yayBhbmQgSSB3YXMganVzdCBoeXN0ZXJpY2FsLiBJIHdhcyBsaWtlLCDigJxUaGlzIGlzIGdvaW5nIHRvIGVuZCBpbiBhIEMtc2VjdGlvbiBhZ2Fpbi4gVGhpcyBpcyBleGFjdGx5IHdoYXQgSSB3YXMgd29ycmllZCBhYm91dC7igJ0gSGUgdGhhbmtmdWxseSB3YXMgc28gY2FsbWluZyBhbmQgd2FzIGxpa2UsIOKAnFlvdSBjYW7igJl0IHRoaW5rIGxpa2UgdGhhdC4gTGV04oCZcyBqdXN0IGdvIGFuZCBzZWUgd2hhdCBoYXBwZW5zLuKAncKgSGUgY29tZXMgaG9tZS4gV2UgcGFjayBvdXIgc3R1ZmYgdXAgYW5kIHdlIGRyaXZlIHRoZSA0NSBtaW51dGVzIHRvIHRoZSBob3NwaXRhbC4gV2UgZ2V0IHRoZXJlIGFuZCBJ4oCZbSBqdXN0IHZlcnkgZGlzdHJlc3NlZCBieSBoYXZpbmcgdGhlIHN3ZWV0ZXN0IG1pZHdpZmUgd2hvIGp1c3Qgc2F0IG9uIHRoZSBiZWQgd2l0aCBtZSBhbmQgd2FzIGhvbGRpbmcgbXkgaGFuZCBhbmQgd2FzIGxpa2UsIOKAnExvb2ssIGl04oCZcyBnb2luZyB0byBiZSBva2F5LiBFdmVyeXRoaW5nIGlzIGdvaW5nIHRvIGJlIGZpbmUuIFdl4oCZcmUgZ29pbmcgdG8gZG8gZXZlcnl0aGluZyBpbiBvdXIgcG93ZXIgdG8gZ2V0IHlvdSB0aGlzIFZCQUMuIERvIG5vdCBsZXQgdGhpcyBtYWtlIHlvdSBmZWVsIGxpa2UgdGhhdOKAmXMgbm90IGhhcHBlbmluZyBub3cu4oCdwqBTbyB0aGF0IHdhcyBzbyBjb21mb3J0aW5nIGFuZCBiZWluZyAzOCB3ZWVrcywgSSB3YXMgbm90IGRpbGF0ZWQgYXQgYWxsLiBJIHRoaW5rIEkgd2FzIG1heWJlIDUwJSBlZmZhY2VkIGFuZCB0aGUgYmFieSB3YXMgYXQgLTIgc3RhdGlvbiBzbyB3ZSBkZWZpbml0ZWx5IGhhZCB0byBkbyB0aGUgd2hvbGUgRm9sZXkgYnVsYiBhZ2FpbiB3aGljaCBmb3IgYW55b25lIHdobyBoYXMgaGFkIHRoYXQgZG9uZeKAk01lYWdhbjogU28geW91IGhhdmUgYSBGb2xleSBwbGFjZWQgd2l0aCBhIGNsb3NlZCBjZXJ2aXguwqBIYW5uYWg6IFllYWguwqBNZWFnYW46IFlvdeKAmXJlIGEgY2hhbXAuIFRoYXQgaXMgZGVmaW5pdGVseSBzb21ldGhpbmcgdGhhdCBpcyBub3Qgc3VwZXIgY29tZm9ydGFibGUgZm9yIHRoZSBsaXN0ZW5lcnMgdG8ga25vdywgYnV0IGl0IGlzIHBvc3NpYmxlIGV2ZW4gdGhvdWdoIGEgbG90IG9mIHByb3ZpZGVycyBzYXkgaXTigJlzIG5vdC7CoEhhbm5haDogWWVhaCwgYW5kIEkgaGVhciB0aGF0IGEgbG90LiBJIGd1ZXNzIEkganVzdCBnb3QgdmVyeSBmb3J0dW5hdGUgd2l0aCB0aGUgbWlkd2lmZSB3aG8gd2FzIG9uIGNhbGwuIFRoZXkgZGVmaW5pdGVseSBkaWQgZ2l2ZSBtZSBzb21lIG1lZGljYXRpb24gdG8gaGVscCBtZSByZWxheC7CoE1lYWdhbjogRmVudGFueWwgb3Igc29tZXRoaW5nP8KgSGFubmFoOiBBY3R1YWxseSBBZGF2YW4uTWVhZ2FuOiBPaCBBZGF2YW4/SGFubmFoOiBJIGhhdmUgdmVyeSBiYWQgYW54aWV0eSBhbnl3YXkgYW5kIHRoZXkgZ2F2ZSBtZSB0aGF0IHRvIGhlbHAgbWUgcmVsYXggd2hpY2ggaXQgZGlkLiBUaGV5IGdvdCB0aGF0IGluc2VydGVkIGFuZCBpdCB3YXMgc28gd2VpcmQgYmVjYXVzZSB0aGUgdGltZSBJIHdhcyBleHBlY3RpbmcgdGhlIHNhbWUgdGhpbmcgd2l0aCBteSBmaXJzdCwg4oCcT2gsIGl0IGNvbWVzIG91dCBpbiBhbiBob3VyIGFuZCBhIGhhbGYu4oCdIEl0IGRpZG7igJl0LiBJdCB3YXMgdGhlcmUgZm9yIHRoZSB3aG9sZSAxMiBob3Vycy7CoFRoZSBuZXh0IG1vcm5pbmcsIHRoZXkgc3RhcnRlZCBQaXRvY2luLiBFdmVudHVhbGx5LCBJIHRoaW5rIHRoZXkganVzdCB0b29rIHRoZSBGb2xleSBidWxiIG91dCBhbmQgSSB0aGluayBhdCB0aGF0IHBvaW50IEkgd2FzIG1heWJlIDMgY2VudGltZXRlcnMgZGlsYXRlZC4gSSB3YXMgb24gUGl0b2NpbiBmb3IgNSBvciA2IGhvdXJzIGJ1dCBpdCB3YXMganVzdCBzbyBjcmF6eSB0byBtZSBiZWNhdXNlIGV2ZW4gd2l0aCBpdCBiZWluZyBDT1ZJRCB0aW1lcywgSSB3YXMgYWxsb3dlZCB0byB3YWxrIGFyb3VuZCB0aGUgaGFsbHMuIEkgaGFkIHdpcmVsZXNzIG1vbml0b3JpbmcuIFRoZXkgZXZlbiBsZXQgbWUgZ2V0IGluIHRoZSBiYXRodHViIGluIHRoZSByb29tLiBJdCB3YXMganVzdCBzbyBkaWZmZXJlbnQgZnJvbSB0aGUgZXhwZXJpZW5jZSB0aGF0IEkgaGFkIGF0IHRoZSBob3NwaXRhbCB3aXRoIG15IGZpcnN0LiBJIGp1c3QgcmVhbGx5IGxvdmVkIHRoZWlyIHByb2Nlc3MuwqBUaGV5LCBvZiBjb3Vyc2UsIHdlcmUga2luZCBvZiBjb25jZXJuZWQgd2l0aCB0aGUgcHJlZWNsYW1wc2lhIGRpYWdub3NpcywgYnV0IHNpbmNlIG15IGxhYnMgd2VyZSBzdGF5aW5nIHN0YWJsZSwgbXkgYmxvb2QgcHJlc3N1cmVzIHdlcmVu4oCZdCByaXNpbmcsIEkgdGhpbmsgdGhleSB3ZXJlIHByb2JhYmx5IGluIHRoZSAxNDBzL2hpZ2ggODBzLWxvdyA5MHMgcmFuZ2UsIHRoZXkgcmVhbGx5IGRpZCBsZXQgbWUgdGFrZSBpdCBzbG93IHNpbmNlIHRoZXJlIHdhc27igJl0IGEgbWFqb3IgY29uY2VybiBmb3IgbWUgb3IgdGhlIGJhYnnigJlzIGhlYWx0aCBpbiByZWdhcmRzIHRvIHRoZSBibG9vZCBwcmVzc3VyZS7CoEkgcmVtZW1iZXIgdGhleSBldmVuIHR1cm5lZCBteSBQaXRvY2luIG9mZiBmb3IgYSBsaXR0bGUgYml0IHRoaXMgYWZ0ZXJub29uIGFuZCBvbmUgb2YgdGhlIG1pZHdpdmVzIHdhcyBsaWtlLCDigJxIZXksIHRoaXMgaXMgc29tZXRoaW5nIHRoYXQgbWF5IG5vdCB3b3JrLCBidXQgd291bGQgeW91IGJlIHdpbGxpbmcgdG8gdGFrZSBzb21lIFR1bXM/IFRoZXJlIGlzIHJlc2VhcmNoIHNob3dpbmcgdGhhdCBpdCBjb3VsZCBwb3NzaWJseSByZXNldCB5b3VyIG94eXRvY2luIHJlY2VwdG9ycyBpbiB5b3VyIHV0ZXJ1cy7igJ0gSSByZW1lbWJlciBoZXIgYmVpbmcgbGlrZSwg4oCcSXQgc291bmRzIGtpbmQgb2Ygd29vLCBidXQgaXTigJlzIHdvcnRoIGEgdHJ5LuKAnSBNZWFnYW46IEkgaGF2ZSBuZXZlciBoZWFyZCBvZiB0aGlzLiBJIGFtIGZhc2NpbmF0ZWQuIFR1bXMgcmVzZXR0aW5nIG91ciBveHl0b2Npbi7CoEhhbm5haDogWWVhaC4gSXTigJlzIGNyYXp5LiBUaGUgcmVzZWFyY2ggaXMgdGhlcmUgaWYgeW91IGp1c3QgR29vZ2xlIOKAnFR1bXMsIFBpdG9jaW7igJ1NZWFnYW46IE94eXRvY2luIHJlY2VwdG9ycy4gT2theSwgeW91IGtlZXAgc2hhcmluZy4gSeKAmW0gZ29pbmcgdG8gZGl2ZSBpbnRvIHRoaXMgZm9yIGEgYml0IGJlY2F1c2UgSeKAmXZlIGJlZW4gYSBkb3VsYSBmb3IgMTAgeWVhcnMgYW5kIEnigJl2ZSBuZXZlciBoZWFyZCBvZiB0aGlzIGFuZCBJIGxvdmUgaXQuIFRoaXMgaXMgY29vbC4gQWxsIHJpZ2h0LCBrZWVwIGdvaW5nLsKgSGFubmFoOiBZZWFoLiBJIHRvb2sgdGhlIFR1bXMuIFdlIHR1cm5lZCB0aGUgUGl0b2NpbiBvZmYgZm9yIGEgbGl0dGxlIGJpdC4gVGhleSB3ZXJlIGxpa2UsIOKAnFRyeSB0byByZXN0LiBFYXQgYSBzbmFjay7igJ0gVGhhdCB3YXMgdGhlIG90aGVyIHRoaW5nLiBUaGV5IHdlcmUgc28gZW5jb3VyYWdpbmcgb2YgbWUgZWF0aW5nIGFuZCBkcmlua2luZyB3aGVyZWFzIG15IGZpcnN0IGJpcnRoLCB0aGV5IHdlcmUgbGlrZSwg4oCcWW91IGNhbuKAmXQgaGF2ZSBhbnl0aGluZyBidXQgaWNlIGNoaXBzLuKAnSBXZSBkaWQgdHVybiB0aGUgUGl0b2NpbiBiYWNrIG9uIGZvciBhYm91dCA2IGhvdXJzIHRoYXQgZXZlbmluZy7CoDMzOjI3IEVuZGluZyB0aGUgZmlyc3QgZnVsbCBkYXkgb2YgaW5kdWN0aW9uSGFubmFoOiBJIHRoaW5rIGF0IHRoZSBlbmQgb2YgdGhhdCBkYXnigJMgc28gdGhpcyB3YXMgdGhlIGZpcnN0IGZ1bGwgZGF5IG9mIGluZHVjdGlvbiwgSSB3YXMgc3RpbGwgYXJvdW5kIDQgY2VudGltZXRlcnMuIEkgaGFkIGEgbmV3IG51cnNlIGNvbWUgb24gYW5kIGEgbmV3IG1pZHdpZmUgY29tZXMgb24uIFRoZXkgd2VyZSBqdXN0IHNvIGF3ZXNvbWUuIEkgZGVmaW5pdGVseSBoYWQgYW4gZW1vdGlvbmFsIGJyZWFrZG93biBhdCB0aGF0IHBvaW50LiBNeSBhd2Vzb21lIGRvdWxhIGhhZCBiZWVuIHdpdGggbWUgYW5kIG15IGh1c2JhbmQgYWxsIGRheS4gU2hlIHdlbnQgaG9tZSBmb3IgdGhlIGV2ZW5pbmcgdG8gZ2V0IHNvbWUgcmVzdC7CoFRoZXkgd2VyZSBsaWtlLCDigJxXaGF0IGRvIHlvdSB3YW50IHRvIGRvPyBZb3UgYXJlIGxvb2tpbmcgZ29vZC4gQmFieSBpcyBsb29raW5nIGdvb2Qu4oCdIE15IHdhdGVyIHdhcyBzdGlsbCBpbnRhY3QgYXQgdGhhdCBwb2ludC4gSSB3YXMgbGlrZSwg4oCcSSBqdXN0IHdhbnQgdG8gc2xlZXAgdG9uaWdodC4gSSBrbm93IGlmIEkgZG8gbm90IHNsZWVwIHRvbmlnaHQsIEnigJltIG5vdCBnb2luZyB0byBoYXZlIHRoZSBlbmVyZ3kgdG8gZmluaXNoIHRoaXMgYmlydGgu4oCdwqBJdCB3YXMgYW1hemluZyBiZWNhdXNlIHRoZSBjaGFyZ2UgbnVyc2UgZGlkIG5vdCB3YW50IG1lIHRvIHN0b3AgdGhlIFBpdG9jaW4gYW5kIG15IG1pZHdpZmUgYW5kIG15IG51cnNlIGJhc2ljYWxseSB3ZW50IHRvIGJhdCBmb3IgbWUuIFRoZXkgd2VyZSBsaWtlLCDigJxOby4gU2hl4oCZcyBmaW5lLiBXZeKAmXJlIGdvaW5nIHRvIGdpdmUgaGVyIEJlbmFkcnlsLiBXZeKAmXJlIGdvaW5nIHRvIGxldCBoZXIgc2xlZXAuIFdl4oCZcmUgdHVybmluZyB0aGUgUGl0b2NpbiBvZmYuIEFuZCB0aGF04oCZcyB3aGF0IHdlIGRpZC7CoEkgc2xlcHQuIEkgYWN0dWFsbHkgZ290IHRvIHJlc3QgdGhhdCBuaWdodC4gVGhleSBjYW1lIGJhY2sgYXQgNTowMCBBTSBhbmQgcmVodW5nIHRoZSBQaXQuIEkgZGlkIGFncmVlIHRvIG15IHdhdGVyIGJlaW5nIGJyb2tlbiBhdCA4OjAwIEFNIGJlY2F1c2UgYXQgdGhpcyBwb2ludCwgd2UgaGFkIGJlZW4gaW4gdGhlIGhvc3BpdGFsIGZvciBhbG1vc3QgMzYgaG91cnMgYW5kIGJhYnkgbmVlZGVkIHRvIGNvbWUgb3V0LiBUaGF0IGp1c3QgaW4gYW5kIG9mIGl0c2VsZiwgSSBmZWx0IGxpa2UgdGhhdCB3YXMgbXkgY2hvaWNlLiBObyBvbmUgZXZlciBwcmVzc3VyZWQgbWUuIEl0IHdhcyBhbGwgbXkgY2hvaWNlLiBJIGRpZCBhZ3JlZSB0byBteSB3YXRlciBiZWluZyBicm9rZW4uIFRoYXQgd2FzIGFyb3VuZCBwcm9iYWJseSA5OjAwIEFNIGFuZCBJIGp1c3QgY29udGludWVkIGxhYm9yaW5nLsKgSXQgd2FzIGdyZWF0LiBJIHJlbWVtYmVyIEkgaGFkIG15IGJhdGhyb29tLiBUaGVyZSBhcmUgbm8gd2luZG93cyBpbiB0aGVyZSBhbmQgSSBoYWQgbXkgZmFpcnkgbGlnaHRzIGFuZCBteSBtdXNpYyBwbGF5aW5nIGFuZCBteSBkb3VsYSBoYWQgZXNzZW50aWFsIG9pbHMgZGlmZnVzaW5nIGFuZCB0aGF0IHdhcyBteSBjYXZlLiBJIGZlbHQgbGlrZSBJIGNvdWxkIGdvIGluIHRoZXJlIGFuZCBqdXN0IHNodXQgb3V0IGJlaW5nIGF0IHRoZSBob3NwaXRhbCBhbmQgcmVhbGx5IGZvY3VzIG9uIGxhYm9yLCBzaXR0aW5nIG9uIHRoZSB0b2lsZXQsIGFuZCBldmVudHVhbGx5LCBJIGRpZCBnZXQgdG8gYSBwb2ludCBhcm91bmQgMTowMCB3aGVyZSBJIHN0YXJ0ZWQgdG8gaGF2ZSBhIGhhcmQgdGltZSBjb3BpbmcuIEkgd2FzIGxpa2UsIOKAnFlvdSBrbm93LCBJIGRvbuKAmXQga25vdyBpZiBJIHdhbnQgdG8gZG8gdGhpcyBhbnltb3JlLuKAnSBJIGdhdmUgaXQgYW5vdGhlciBob3VyIGFuZCBJIHdhcyBsaWtlLCDigJxPa2F5LiBJIG5lZWQgdGhlIGVwaWR1cmFsLuKAnSBJIGRpZCBnZXQgdGhlIGVwaWR1cmFsIGFyb3VuZCAyOjAwIHRoYXQgZGF5LsKgSXQgd2FzIGp1c3QgYW1hemluZyBiZWNhdXNlIGV2ZW4gZ2V0dGluZyB0aGUgZXBpZHVyYWwsIHRoZSBudXJzZXMgd2VyZSBsaWtlLCDigJxIZXksIGxldOKAmXMgcHV0IHlvdSBpbiB0aHJvbmUgcG9zaXRpb24uIExldOKAmXMgcHVsbCBvdXQgdGhlIHN0aXJydXBzIGFuZCBnZXQgb25lIGxlZyB1cC4gSW4gMzAgbWludXRlcywgbGV04oCZcyBzd2l0Y2ggdG8gdGhlIG90aGVyIGxlZy4gTGV04oCZcyBnZXQgdGhlIHBlYW51dCBiYWxsLuKAnSBJIGZlbHQgbGlrZSB0aGV5IHdlcmUgZG9pbmcgYWxsIG9mIHRoZXNlIHRoaW5ncyB0byBoZWxwIG1lIHRoYXQgSSBoYWQgbmV2ZXIgZXhwZXJpZW5jZWQgaW4gbXkgZmlyc3QgYmlydGguIEkgZmVsdCBsaWtlIHRoZXkgd2FudGVkIG1lIHRvIGhhdmUgdGhlIGJpcnRoIHRoYXQgSSB3YXMgZGVzaXJpbmcgc28gYmFkbHkgYWxtb3N0IGFzIG11Y2ggYXMgSSBkaWQuwqBNZWFnYW46IEkgbG92ZSB0aGVtIGFscmVhZHkuIEkgZG9u4oCZdCBldmVuIGtub3cgdGhhdC7CoEhhbm5haDogSSBrbm93LiBJIGtub3cuIENhbiBJIHNheSB3aG8gaXQgaXM/IFRoZSBob3NwaXRhbCBJIHdhcyBhdCB3YXMgYWN0dWFsbHkgdGhlIFVuaXZlcnNpdHkgb2YgTm9ydGggQ2Fyb2xpbmEgYXQgQ2hhcGVsIEhpbGwgYW5kIGl0IHdhcyB0aGUgVU5DIG1pZHdpdmVzIHdobyB3YXMgbXkgcHJhY3RpY2UgdGhhdCBJIGRlbGl2ZXJlZCB3aXRoIGJ1dCBldmVuIHRoZSBudXJzZXMgYXQgdGhhdCBob3NwaXRhbCBhcmUganVzdCBhbWF6aW5nLiBUaGV5IHdlcmUgYWxsIGxpdGVyYWwgYW5nZWxzLiBJIGxvdmUgdGhlbS7CoE1lYWdhbjogV2Ugd2lsbCBtYWtlIHN1cmUgdGhhdCB0aGV5IGFyZSBvbiBvdXIgcHJvdmlkZXIgbGlzdC7CoEhhbm5haDogWWVzLiBZZXMuIFRoZXkgYXJlIHdvbmRlcmZ1bC4gU28gdGhhdCB3ZW50IG9uLiBJIHRoaW5rIGFyb3VuZCBtYXliZSA2OjAwIEkgd2FzIGNoZWNrZWQgYW5kIEkgd2FzIGhhbmdpbmcgYXJvdW5kIDUgY2VudGltZXRlcnMuIEkgZ290IHJlYWxseSBkaXNjb3VyYWdlZCBhdCB0aGF0IHBvaW50LiBJIHdhcyBsaWtlLCDigJxZb3Uga25vdywgbWF5YmUgSSBqdXN0IGNhbuKAmXQgZG8gaXQuIE1heWJlIG15IGJvZHkgaXMganVzdCBub3QgZ29pbmcgdG8gZGlsYXRlLuKAnSBCdXQgdGhleSB3ZXJlbuKAmXQgd29ycmllZC4gVGhleSBqdXN0IGtlcHQgaGVscGluZyBtZSBtb3ZlIGFuZCB0aGVuIEkgZG8gcmVtZW1iZXIgc2hpZnQgY2hhbmdlIGhhcHBlbmVkLiBBIG5ldyBudXJzZSBjb21lcyBvbiBhbmQgYSBuZXcgbWlkd2lmZS4gVGhpcyB3YXMgcHJvYmFibHkgdGhlIDV0aCBzaGlmdCBjaGFuZ2UgYnkgdGhlIHRpbWUgd2UgaGFkIGJlZW4gaW4gdGhlcmUgYW5kIHRoZSBtaWR3aWZlIGNhbWUgaW4gYW5kIGNoZWNrZWQgbWUuIFNoZSB3YXMgbGlrZSwg4oCcT2gsIHlvdeKAmXJlIDYgY2VudGltZXRlcnMu4oCdwqBJIHJlbWVtYmVyIHNvIG1hbnkgc3RvcmllcyBvZiB3b21lbiBiZWluZyBsaWtlLCDigJxUaGUgZmlyc3QgNSBhcmUgdGhlIGhhcmRlc3Qu4oCdwqBNZWFnYW46IE1obW0uwqBIYW5uYWg6IEkgd2FzIGxpa2UsIOKAnE9rYXkuIE1heWJlIHRoYXTigJlzIHRydWUu4oCdIFRoZW4gbGl0ZXJhbGx5LCBhdCA5OjQwLCB0aGUgbWlkd2lmZSBjYW1lIGJhY2ssIGNoZWNrZWQgbWUsIGFuZCBzaGUgd2FzIGxpa2UsIOKAnEhvdyBmYXIgZGlsYXRlZCBkbyB5b3UgaG9wZSB5b3UgYXJlP+KAnSBJ4oCZbSB0aGlua2luZywg4oCcV2VsbCwgZ29zaC4gSSBob3BlIGF0IGxlYXN0IGEgNyBvciA4LuKAnSBTaGUgaGFkIGEgdGVhciBhbmQgc2hlIHdhcyBsaWtlLCDigJxZb3UgYXJlIDEwIGNlbnRpbWV0ZXJzLuKAncKgwqBNZWFnYW46IE9oIHlheSHCoEhhbm5haDogWWVzLiBJIHN0YXJ0ZWQgYmF3bGluZyBhbmQgaXQgd2FzIHNvIGNyYXp5IGJlY2F1c2UgbXkgZmlyc3Qgc29uIHdhcyBib3JuIGF0IDk6NDIgUE0gYW5kIHRoYXQgd2FzIHJpZ2h0IGFib3V0IHdoZW4gSSB3YXMgMTAgY2VudGltZXRlcnMuIEZvciBzb21lIHJlYXNvbiwgSSBrbmV3IGlmIEkgY291bGQgbWFrZSBpdCB0byAxMCBjZW50aW1ldGVycywgSSBrbmV3IEkgY291bGQgcHVzaCBteSBiYWJ5IG91dC4gVGhlIHB1c2hpbmcgaGltIG91dCB3YXMgbm90IHRoZSBwYXJ0IHRoYXQgSSB3YXMgc2NhcmVkIG9mLiBJdCB3YXMgbGlrZSwg4oCcT2gsIGlzIG15IGJvZHkgZ29pbmcgdG8gYmUgYWJsZSB0byBnZXQgdG8gdGhhdCBwb2ludD/igJ3CoEJ1dCB5ZWFoLiBJIHJlbWVtYmVyIG15IGh1c2JhbmQgYW5kIGRvdWxhIGJlaW5nIHNvIGV4Y2l0ZWQgYmVjYXVzZSB0aGV5IGJyb3VnaHQgaW4gdGhlIGNhcnQgYW5kIHRoZXkgYnJvdWdodCBpbiBhIG1pcnJvciBhbmQgSSBzdGFydGVkIHB1c2hpbmcuIEl04oCZcyBqdXN0IHNvIGNyYXp5IHRoaW5raW5nIGJhY2sgdG8gdGhhdCBzZWVpbmcgdGhhdCBoYXBwZW5pbmcuwqAzODowMyBQdXNoaW5nIGZvciAyMCBtaW51dGVzSGFubmFoOiBJIHB1c2hlZCBmb3IgMjAgbWludXRlcyBhbmQgYm90aCBvZiBteSBib3lzIHdlcmUgYSBzdXJwcmlzZS4gV2UgZGlkbuKAmXQga25vdyB3aGF0IGdlbmRlciB0aGV5IHdvdWxkIGJlLiAyMCBtaW51dGVzIGxhdGVyLCBteSBzZWNvbmQgYmVhdXRpZnVsIGJhYnkgYm95IHdhcyBib3JuIGhlYWx0aHksIHNjcmVhbWluZywgcHV0IGRpcmVjdGx5IG9uIG15IGNoZXN0IGFuZCBpdCB3YXMgb25lIG9mIHRoZSBiZXN0IG1vbWVudHMgb2YgbXkgZW50aXJlIGxpZmUuwqBNZWFnYW46IE9oIG15IGdvc2guIEkgbG92ZSB0aGlzIHN0b3J5LiBJIGxvdmUgYWxsIG9mIHRoZSBzdXBwb3J0IGFuZCBhbGwgb2YgdGhlIGxvdmUgYW5kIGFsbCBvZiB0aGUgYW1wIHRoYXQgd2FzIGp1c3QgY29tcGxldGVseSBzdXJyb3VuZGVkIGFyb3VuZCB5b3UgYW5kIHRoZW4geW91IGhhZCB0aGUgY29uZmlkZW5jZSBpbiB5b3VyIGJvZHkgYXQgdGhhdCBlbmQgd2hlcmUgeW91IHdlcmUgbGlrZSwg4oCcT2theS4gSeKAmXZlIGdvdCB0aGlzLuKAnSAyMCBtaW51dGVzP8KgSGFubmFoOiBZZWFoLiBJIHdhcyBsaWtlLCDigJxPaCwgaGVyZeKAmXMgbXkgc21hbGwgcGVsdmlzIHdpdGggbXkgZmxhdCBwdWJpYyBib25lLuKAncKgTWVhZ2FuOiBZZWFoLiBJIGxvdmUgdGhhdCBzbyBtdWNoLiBEbyB5b3Uga25vdyB3aGF0PyBJIGp1c3Qgd2FzIGxvb2tpbmcgYXQgb3VyIHByb3ZpZGVyIGxpc3QgYW5kIGd1ZXNzIHdoYXQ/IEl0IHNheXMgdGhhdCBVTkMgbWlkd2l2ZXMgYXJlIG9uIG91ciBsaXN0IGFuZCBpdCBzYXlzIHNwZWNpZmljYWxseSB0aGF0IHRoZXkgYXJlIGFsc28gVkJBMkMgc3VwcG9ydGl2ZS7CoEhhbm5haDogWWVhaC4gSSB0aGluayB0aGF04oCZcyB0aGUgb25seSBob3NwaXRhbCBpbiBvdXIgYXJlYSB0aGF0IGdlbmVyYWxseSB3aWxsIHN1cHBvcnQgYWZ0ZXIgdHdvIENlc2FyZWFucy7CoE1lYWdhbjogU28gYXdlc29tZS4gSeKAmW0gZ2xhZCB0aGF0IHRoZXkgYXJlIG9uIHRoZSBsaXN0LiBJIHdhbnRlZCB0byBtYWtlIHN1cmUgYmVjYXVzZSB0aGV5IHNvdW5kIHBoZW5vbWVuYWwuIEkgd291bGQgbG92ZSB0byBjb25uZWN0IHdpdGggb25lIG9mIHRoZW0gYW5kIGp1c3QgaGF2ZSB0aGVtIG9uIHRoZSBwb2RjYXN0IGhvbmVzdGx5IGFuZCBzYXksIOKAnFRhbGsgdG8gbWUgYWJvdXQgeW91ciB1bml0IGFuZCB5b3VyIGd1eXPigJkgd2F5IG9mIHRoaW5raW5nLiBUaGlzIGlzIHRoZSB3YXkgc28gbWFueSBwZW9wbGUgd2FudCB0byBiaXJ0aCB3aGVuIHRoZXkgYXJlIGJpcnRoaW5nIGluIHRoZSBob3NwaXRhbCwgYnV0IHdlIGRvbuKAmXQgaGF2ZSB0aGVzZSBvcHRpb25zIGFuZCB3ZSBkb27igJl0IGhhdmUgdGhlc2Ugc3lzdGVtcyBhbmQgd2UgZG9u4oCZdCBoYXZlIHRoZXNlIHBvbGljaWVzIG9yIHRoZXNlIGJlbGllZnMgb3Igd2hhdGV2ZXLigJ0gYmVjYXVzZSB0aGV5IHNvdW5kIGFtYXppbmcuSGFubmFoOiBUaGV5IGFyZS4gSSBrbm93IHRoZXkgYXJlIG9uIEluc3RhZ3JhbSBqdXN0IEB1bmNtaWR3aXZlcyBzbyB0aGV5IGFyZSBlYXN5IHRvIGZpbmQuwqBNZWFnYW46IE9rYXkuIEkgbWlnaHQgYmUgbWVzc2FnaW5nIHRoZW0uwqBIYW5uYWg6IElmIGFueW9uZSBpcyBhIFRhciBIZWVscyBmYW4gb3V0IHRoZXJlLCB0aGF0IHdhcyBhIGJpZyBwb3J0aW9uIHRoZXJlIHRvby4gTXkgaHVzYmFuZCB3YXMgbGlrZSwg4oCcT3VyIGJhYnkgd2FzIGJvcm4gYXQgQ2hhcGVsIEhpbGwu4oCdIFRoYXTigJlzIGEgYmlnIHRoaW5nIGZvciBOb3J0aCBDYXJvbGluYSBwZW9wbGUuwqBNZWFnYW46IFRoYXQgaXMgc28gYXdlc29tZS4gT2ggbXkgZ29zaC7CoDM5OjU5IEhhbm5haOKAmXMgYWR2aWNlIHRvIGxpc3RlbmVycyAtIHByb3ZpZGVyIHN1cHBvcnQgYW5kIG51dHJpdGlvbk1lYWdhbjogQW55IGFkdmljZSB0aGF0IHlvdSB3b3VsZCBnaXZlIHRvIHNvbWVvbmUgd2hvIGVzcGVjaWFsbHkgaXMgcHJlZWNsYW1wdGljIHdpdGggaW5kdWN0aW9uIGFuZCBhbGwgb2YgdGhlc2UgdGhpbmdzPyBEbyB5b3UgaGF2ZSBhbnkgYWR2aWNlIHRoYXQgeW91IHdvdWxkIGdpdmUgdG8gb3VyIGxpc3RlbmVycz9IYW5uYWg6IFllYWguIEkgbWVhbiwgbnVtYmVyIG9uZSwgYW5kIEkgZmVlbCBsaWtlIHlvdSBndXlzIHJlYWxseSBoZWxwIGV4cHJlc3MgdGhpcywgYnV0IGEgc3VwcG9ydGl2ZSBwcm92aWRlci4gRXZpZGVuY2Ugc2hvd3MgdGhhdCBpbmR1Y3Rpb24gZm9yIFZCQUMgY2FuIGJlIHNhZmUuIE9mIGNvdXJzZSwgZG8gd2Ugd2FudCBhbiB1bm5lY2Vzc2FyeSBpbmR1Y3Rpb24/IE5vLCBub3QgZXZlciwgYnV0IGluIGEgc2l0dWF0aW9uIGxpa2UgbWluZSB3aGVyZSBwcmVlY2xhbXBzaWEgaXMgYSBjb25jZXJuLCB0aGF0IHNob3VsZG7igJl0IGV4Y2x1ZGUgeW91IGZyb20gYmVpbmcgYWJsZSB0byBoYXZlIGEgVkJBQy7CoE1lYWdhbjogTWhtbS7CoEhhbm5haDogSSB0aGluayBhc2tpbmcgYSBwcm92aWRlciB0aG9zZSBxdWVzdGlvbnMgbWF5YmUgYmVmb3JlIHlvdSBldmVuIGdldCBwcmVnbmFudCwg4oCcV291bGQgeW91IGluZHVjZSBmb3IgVkJBQz8gVW5kZXIgd2hhdCBjaXJjdW1zdGFuY2VzPyBXaGF0IGlzIHlvdXIgVkJBQyByYXRlP+KAnSBUaGF04oCZcyB3aGF0IEkgd291bGQgdGVsbCB3b21lbiB3aG8gYXJlIGxvb2tpbmcgZm9yIHRoYXQuwqBNZWFnYW46IEkgbG92ZSB0aGF0IGFuZCBJIGFncmVlLiBJIHdvdWxkIGVjaG8gdGhhdCBhc2tpbmcgdGhvc2UgcXVlc3Rpb25zIGFuZCBub3QgYmVpbmcgc2NhcmVkIHRvIGFzayB0aGVtIGJlY2F1c2UgeW91IGRlc2VydmUgdG8ga25vdyBhbmQgeW91IGRlc2VydmUgdG8gZmluZCB0aGUgcHJvdmlkZXIgd2hvIGlzIGdvaW5nIHRvIGNvbm5lY3Qgd2l0aCB5b3UgcGVyc29uYWxseSBhbmQgeW91ciBkZXNpcmVzIGJlY2F1c2Ugd2Uga25vdyB0aHJvdWdoIHRhbGtpbmcgdG8gRHIuIEZveCBhbmQgYWxsIG9mIHRoZXNlIG90aGVyIHByb3ZpZGVycywgbm90IGV2ZXJ5IHByb3ZpZGVyIGlzIHRoZSBzYW1lIGFuZCB0aGF04oCZcyBva2F5LiBUaGF0IGRvZXNu4oCZdCBtYWtlIHRoZW0gYSBiYWQgcHJvdmlkZXIuIFRoZXkganVzdCBtYXkgbm90IGJlIHN1cHBvcnRpdmUgb2YgeW91ciBkZXNpcmVzLsKgSGFubmFoOiBNaG1tLsKgTWVhZ2FuOiBXaXRoIHlvdXIgZmlyc3Qgb25lLCBJIGZlZWwgbGlrZSB5b3UgaGFkIG1vcmUgb2YgdGhhdCBtZWQtd2lmZSBtZW50YWxpdHkuwqBIYW5uYWg6IFllcy4gSSBmb3VuZCB0aGF0IHdvcmQgYWZ0ZXIgSSBoYWQgaGltIGFuZCBJIHdhcyBsaWtlLCDigJxPaCwgdGhhdCBtYWtlcyBzZW5zZS7igJ3CoE1lYWdhbjogWWVzLiBXaGF0IGVsc2Ugd2VyZSB5b3UgZ29pbmcgdG8gc2F5P0hhbm5haDogSnVzdCBnb2luZyBiYWNrIHRvIHByZWVjbGFtcHNpYSwgdGhlIG90aGVyIHRoaW5nIEkgd291bGQgc2F5IHRoYXQgSSBkaWRu4oCZdCBrbm93IGEgd2hvbGUgbG90IGFib3V0IHdpdGggbXkgc2Vjb25kIG9yIGZpcnN0IHByZWduYW5jeSB3YXMgaG93IG11Y2ggbnV0cml0aW9uIGFmZmVjdHMgcHJlZWNsYW1wc2lhLiBJIGJlbGlldmUgeW914oCZdmUgaGFkIHNvbWVvbmUgb24geW91ciBwb2RjYXN0IHdobyBoYXMgZGlzY3Vzc2VkIHRoYXQgYmVmb3JlIGp1c3QgaG93IHRoZXJlIGFyZSBzbyBtYW55IHRoaW5ncyB5b3UgYXJlIHRvbGQgbGlrZSwg4oCcWW91IHNob3VsZG7igJl0IGJlIGVhdGluZyBzYWx0LOKAnSBhbmQgYWN0dWFsbHksIHRoYXTigJlzIG5vdCB0cnVlLiBZb3Ugc2hvdWxkbuKAmXQgYmUgZWF0aW5nIHByb2Nlc3NlZCBmb29kLCBidXQgd29tZW4gaW4gcHJlZ25hbmN5IG5lZWQgc2FsdCBzbyBJIGRpZCBmaW5kIHRoZXJl4oCZcyB0aGUgQnJld2VyIGRpZXQuIEkgdGhpbmsgdGhhdCBjYW4gYmXigJMgSeKAmXZlIGhlYXJkIGFtYXppbmcgc3RvcmllcyBhYm91dCB0aGF0IGZyb20gd29tZW4gd2hvIGhhdmUgaGFkIHByZWVjbGFtcHNpYSBpbiB0aGUgcGFzdC7CoFRoZXJlIGlzIGEgbnV0cml0aW9uaXN0IEkgZm9sbG93IG9uIEluc3RhZ3JhbS4gU2hlIGlzIEFsb2hhIE51dHJpdGlvbiBhbmQgc2hlIGlzIHByZWduYW50IHdpdGggdHdpbnMgcmlnaHQgbm93LiBJIHRoaW5rIHNoZSBpcyBhbG1vc3QgNDAgd2Vla3Mgb2xkLiBIZXIgYmxvb2QgcHJlc3N1cmUgaGFzIGJlZW4gYXdlc29tZSBhbmQgc2hlIGF0dHJpYnV0ZXMgaXQgdG8gYmVldHJvb3QuwqBNZWFnYW46IFVoLWh1aC4gT2theSwgeWVzLiBJ4oCZdmUgaGFkIGEgY2xpZW50IHdobyBoYWQgcHJlZWNsYW1wc2lhIHdpdGggaGVyIGZpcnN0IHJlYWxseSwgcmVhbGx5IGVhcmx5LCBhbmQgYmVldHMgYW5kIGxpdmVyLCBhbmQgdGhlc2UgdHlwZXMgb2YgdGhpbmdzIHJlYWxseSBpbXBhY3QuIEkgbWVhbiwgdGhhdOKAmXMgd2h5IEkgcGVyc29uYWxseSBhbmQgSeKAmW0gdGhyb3dpbmcgaW4gYSBzaGFtZWxlc3MgcGx1ZyBoZXJlLCBidXQgdGhhdCBpcyB3aHkgSSBwZXJzb25hbGx5IGxvdmUgTmVlZGVkIHNvIG11Y2ggYmVjYXVzZSB0aGV5IGhhdmUgcmVhbGx5IGRvdmUgaW4gdG8gZmluZCBvdXQgd2hhdCBudXRyaWVudHMgeW91IG5lZWQgYW5kIGhlbHAgeW91IGdldCBpdCBiZWNhdXNlIHRoZXJlIGFyZSBzbyBtYW55IG9mIHRoZXNlIG51dHJpZW50cyB0aGF0IGFyZSBsYWNraW5nIGluIG91ciBkYXktdG8tZGF5IGZvb2RzIGFuZCBpdOKAmXMgb3ZlcndoZWxtaW5nIHRvIGxlYXJuIGFib3V0IHRoZW0gYW5kIGZpbmQgdGhlbSBhbmQgdGhlbiBmaW5kIHRoZSBnb29kIHJlc291cmNlIG9mIHdoZXJlIHRvIGdldCB0aGVtLsKgSXQgcmVhbGx5IGNhbiBiZSBpbXBhY3RmdWwganVzdCBsaWtlIEFsb2hhIE51dHJpdGlvbiBpcyBzaG93aW5nLiBJdOKAmXMgdmVyeSBjb21tb24gd2l0aCB0d2lucyB0byBnZXQgdGhhdCBoaWdoIGJsb29kIHByZXNzdXJlLsKgSGFubmFoOiBZZWFoLCBzbyBJIHRoaW5rIG51dHJpdGlvbiBpcyBodWdlIGFuZCBJIHRoaW5rIHRoYXTigJlzIGp1c3Qgb25lIG9mIHRoZSByZWFsbHkgYmlnIHByb2JsZW1zIGlzIHRoYXQgd2UgYXJlIG5vdCBiZWluZyBsb29rZWQgYXQgYXMgYSB3aG9sZSBwZXJzb24gd2hlbiB3ZSBhcmUgcHJlZ25hbnQuIEl04oCZcyBqdXN0IHRoYXQgd2UgYXJlIGJlaW5nIGxvb2tlZCBhdCwg4oCcT2gsIHlvdSBoYXZlIHByZWVjbGFtcHNpYS4gVGhpcyBpcyB3aGF0IHRoZSByZXNlYXJjaCBzaG93cyzigJ0gYnV0IHNvIG11Y2ggb2YgdGhhdCByZXNlYXJjaCBpcyBvdXRkYXRlZCBhbmQgdGhleSBhcmUgbm90IGZvY3VzaW5nIG9uIHRob3NlIGZvdW5kYXRpb25zIGxpa2UgbnV0cml0aW9uIHRoYXQgYXJlIHNvIGltcG9ydGFudCBkdXJpbmcgcHJlZ25hbmN5LsKgTWVhZ2FuOiBBYnNvbHV0ZWx5LiBZZWFoLsKgSXQgd2FzIExpbHkgTmljaG9scyB3aG8gSSBoYWQgb24sIGJ1dCBzaGUgaGFzIG1vcmUgYWJvdXQgZ2VzdGF0aW9uYWwgZGlhYmV0ZXMuIFNoZSBhbHNvIGhhcyBoZXIgYm9vayBmb3IgcHJlZ25hbmN5IGluIGdlbmVyYWwgYW5kIEkgd291bGQgaGlnaGx5IHN1Z2dlc3QgY2hlY2tpbmcgdGhhdCBib29rIG91dC7CoFJlYmVjY2E6IEkgcmVjb21tZW5kIGl0IHRvIGFsbCBwcmVnbmFudCBtb21zLiBJdOKAmXMgb24gbXkgYm9va3NoZWxmLiBJIGxvdmUgaXQuwqBNZWFnYW46IFNhbWUuIFNoZSByZWFsbHkgaXMgc28gaW5jcmVkaWJsZS4gSSBjb3VsZCB0YWxrIHRvIGhlciBmb3IgaG91cnMgYW5kIGhvdXJzIGFuZCBob3VycyBvbiBudXRyaXRpb24gYW5kIHByZWduYW5jeSBhbmQgaG93IGltcGFjdGZ1bCBpdCBpcy4gSSBtZWFuLCB5ZWFoLiBJdOKAmXMganVzdCBzbyBoYXJkLiBXZSBoYXZlIHNvIG11Y2ggcHJvY2Vzc2VkIHN0dWZmIGdvaW5nIG9uIGluIG91ciB3b3JsZHMgYW5kIGl04oCZcyBlYXN5IGFuZCBpdOKAmXMgZmFzdCwgYnV0IHllYWguIFdlIGFyZSBsYWNraW5nIGEgbG90IHNvIEkgbG92ZSB0aGF0IHlvdSBwdXQgdGhhdCBub3RlIGluLsKgNDQ6MTcgU21hbGwgcGVsdmlzZXMgYW5kIHNjYXIgdGlzc3VlTWVhZ2FuOiBBbmQgdGhlbiBSZWJlY2NhLCBhdCB0aGUgZW5kIG9mIHRoaXMsIEkgd2FudGVkIHRvIHRhbGsgYSBsaXR0bGUgYml0IGFib3V0IHRoZSBwZWx2aWMgZmxvb3IgYW5kIGhvdyBDLXNlY3Rpb25zIGNhbiBhY3R1YWxseSBpbXBhY3QgdGhlIHBlbHZpYyBmbG9vciBoZWFsdGgsIGFuZCB0aGVuIHdheXMgdG8gYWRkcmVzcyBpdCwgd2hhdCB3ZSBjYW4gZG8sIGFuZCBob3cgd2UgY2FuIHBsYW4gZm9yIFZCQUMgbW92aW5nIGZvcndhcmQuwqBSZWJlY2NhOiBZZWFoLiBJIGp1c3Qgd2FudGVkIHRvIGJhY2sgdXAgYW5kIHRvdWNoIG9uIHRoaXMgaWRlYSBvZiBoYXZpbmcgYSBzbWFsbCBwZWx2aXMsIHRoYXQgeW91ciBwZWx2aXMsIHRoZSBvdXRsZXQgY2FuIGdyb3cgYnkgMzAlIHdoaWNoIGlzIGh1Z2UsIGFzIHlvdSBhcmUgZ2l2aW5nIGJpcnRoIGFzIGxvbmcgYXMgeW91ciBzYWNydW0gd2hpY2ggaXMgeW91ciB0YWlsYm9uZSBhbmQgeW91ciBsb3dlciBwZWx2aXMgaXMgYWJsZSB0byBtb3ZlIHdoaWNoIGlzIHdoeSBiZWluZyBvZmYgdGhlIGJlZCBpcyB0aGUgcGxhY2UgdG8gYmUgYmVjYXVzZSB0aGVuIGV2ZXJ5dGhpbmcgY2FuIG1vdmUgYW5kIHlvdXIgYm9keSBjYW4gYWN0dWFsbHkgZ3JvdyBhbmQgZXhwYW5kLiBZb3VyIGJvbmVzIGRvLiBUaGF04oCZcyBvbmUgb2YgdGhlIHJlYXNvbnMgd2UgaGF2ZSByZWxheGluLlNvIG1hbnkgcGVvcGxlIGFyZSBqdXN0IGxpa2UsIOKAnFllYWguIEkgd2FzIHRvbGQgSSBoYXZlIGEgc21hbGwgcGVsdmlzLuKAnSBJ4oCZbSBsaWtlLCDigJxXZXJlIHlvdSBvbiB5b3VyIGJhY2s/4oCdIFRoZXkgYXJlIGxpa2UsIOKAnE9oLCB5ZXMgSSB3YXMu4oCdIFRoZW4gSeKAmW0gbGlrZSwg4oCcV2VsbCwgeW91ciBwZWx2aXMgd2FzIGxpa2VseSBjbG9zZWQuIEl0IGNhbiBvcGVuLiBXZSBjYW4gbWFrZSBpdCBvcGVuLuKAncKgTWVhZ2FuOiBJdCB3YXMgYWN0dWFsbHkgcGh5c2ljYWxseSBzbWFsbGVyLsKgUmViZWNjYTogWWVzIGFuZCB0aGUgYm9uZXMgY291bGQgbm90IG1vdmUgdG8gbWFrZSBtb3JlIHNwYWNlIGZvciB0aGUgYmFieS4gSXTigJlzIGp1c3QgcmVhbGx5IGludGVyZXN0aW5nLiBBIGxvdCBvZiBwZW9wbGUgYWN0dWFsbHkgc3VycHJpc2luZ2x5IGJlbGlldmUgdGhhdCBhIEMtc2VjdGlvbiBpcyBhIHdheSB0byBzYXZlIHlvdXIgcGVsdmljIGZsb29yIGZyb20gYW55IHNvcnQgb2YgaW5qdXJ5IG9yIHRyYXVtYSB3aGVuIGhhdmluZyBjaGlsZHJlbiBhbmQgdGhhdCBpcyBub3QgdGhlIGNhc2UuIEkgZG9u4oCZdCBrbm93IGlmIGVpdGhlciBvZiB5b3UgaGFzIGhlYXJkIHRoYXQgYmVmb3JlLsKgTWVhZ2FuOiBZZWFoLiBPa2F5LCBzbyBJIGhhZCBhIHJlYWxseSBwZXRpdGUgQXNpYW4gY2xpZW50LiBTaGUgaGFkIGEgQy1zZWN0aW9uLiBTaGUgcmVhbGx5IHdhbnRlZCBhIFZCQUMuIEkgaGF2ZSBzbyBtYW55IGZlZWxpbmdzIGFib3V0IHRoaXMgYmlydGgsIGJ1dCB0aGV5IGxpdGVyYWxseSB0b2xkIGhlciB0aGF0IGlmIHNoZSB3YW50ZWQgdG8gcG9vcCBoZXJzZWxmIGZvciB0aGUgcmVzdCBvZiBoZXIgbGlmZSwgc2hlIGNvdWxkIGhhdmUgYSBWQkFDIGFuZCBpZiBub3QsIHRoZW4gdGhleSB3b3VsZCBoaWdobHkgc3VnZ2VzdCBhIEMtc2VjdGlvbiBiZWNhdXNlIHRoYXQgd291bGQgYmUgdGhlIG9ubHkgd2F5IHRvIGF2b2lkIGhlciBoYXZpbmcgc2V2ZXJlIGluY29udGluZW5jZSB3aXRoIGhlciBib3dlbHMuwqBSZWJlY2NhOiBUaGF0IGlzIGF3ZnVsLsKgTWVhZ2FuOiBJdCB0ZXJyaWZpZWQgaGVyLsKgUmViZWNjYTogVGhhdCBpcyBmZWFybW9uZ2VyaW5nIGF0IGl0cyB3b3JzdC7CoE1lYWdhbjogWWVhaC4gQXMgYSBkb3VsYSwgc2l0dGluZyB0aGVyZSB3YXRjaGluZyBpdOKAkyBhbmQgSSBoYWQgYWxyZWFkeSB3YXRjaGVkIHRoZW0gcHJlcGFyaW5nIHRoZSBDLXNlY3Rpb24gaW4gdGhlIGhhbGwgcHJldmlvdXNseS4gSSBoYWQgc2VlbiB0aGUgQ2VzYXJlYW4gY29taW5nIGFuZCBJIHdhcm5lZCB0aGVtLCDigJxUaGV5IGFyZSBwcmVwYXJpbmcgdGhpcy4gTm90aGluZyBpcyBzaG93aW5nIHRoYXQgd2UgbmVlZCB0byBkbyB0aGlzLOKAnSBidXQgdGhhdCB3YXMgb25lIG9mIHRoZSByZWFzb25zIGFuZCBzaGUgd2FzIHRlcnJpZmllZC4gSSBqdXN0IHNhaWQsIOKAnFRoYXTigJlzIG5vdCBuZWNlc3NhcmlseSB0cnVlLOKAnSBidXQgaXQgc3R1Y2sgd2l0aCBoZXIuIEl0IGltcGFjdGVkIGhlciBzbyBiYWRseSB0aGF0IHNoZSBzYWlkLCDigJxPa2F5LiBMZXTigJlzIGRvIGl0LuKAnSBSZWJlY2NhOiBJ4oCZbSByZWFsbHkgc29ycnkgdGhhdCBzaGUgaGFkIHRoYXQgZXhwZXJpZW5jZS7CoE1lYWdhbjogTWUgdG9vLsKgUmViZWNjYTogWWVhaC4gUGVvcGxlIHRoaW5rIGFnYWluIHRoaXMgaWRlYSB0aGF0IHlvdXIgcGVsdmljIGZsb29yIGlzIHNwYXJlZCwgYnV0IHlvdSBjYW4gc3RpbGwgaGF2ZSBwZWx2aWMgZmxvb3IgZHlzZnVuY3Rpb24gZXZlbiBpZiB5b3UgaGF2ZSBhIEMtc2VjdGlvbi4gWW91IGNhbiBzdGlsbCBoYXZlIGxlYWtpbmcuIFlvdSBjYW4gc3RpbGwgaGF2ZSBwYWluIHdpdGggc2V4LiBZb3UgY2FuIHN0aWxsIGhhdmUgY29uc3RpcGF0aW9uIGlzc3VlcyBiZWNhdXNlIHBlb3BsZSBmb3JnZXQgeW91IHNwZW50IHRoZSBsYXN0IDEwIG1vbnRocyBncm93aW5nIHRoaXMgYmFieSBhbmQgeW91ciBwZWx2aWMgZmxvb3Igd2FzIHdvcmtpbmcgdG8gc3VwcG9ydCBpdC4gSXQgaXMgYWZmZWN0ZWQgcmVnYXJkbGVzcyBvZiBob3cgeW91IGJpcnRoIHdoaWNoIGlzIHdoeSBldmVyeSBwZXJzb24gd2hvIGJpcnRocyBzaG91bGQgYmUgZ2V0dGluZyBzb21lIHNvcnQgb2YgYXNzZXNzbWVudCBieSBhIHBlbHZpYyBQVC7CoEkgZG9u4oCZdCBrbm93IGlmIHlvdSBhcmUgYXdhcmUgb2YgdGhhdCwgYnV0IHRoZW4gaWYgeW91IGhhdmUgc2NhciB0aXNzdWUgYmVjYXVzZSB5b3UgYmlydGhlZCB2aWEgQy1zZWN0aW9uLCB0aGUgc2NhciB0aXNzdWUgY2FuIGFjdHVhbGx5IGltcGVkZSBhbGwgc29ydHMgb2YgdGhpbmdzLiBUaGUgdGhyZWUgbW9zdCBjb21tb24gc2lkZSBlZmZlY3RzIGFyZSBoaXAgYW5kIGJhY2sgcGFpbiwgcGFpbiB3aXRoIHNleCwgYW5kIHVyZ2VuY3kgYW5kIGZyZXF1ZW5jeSB3aXRoIHVyaW5hdGlvbiB3aGljaCBkb2VzbuKAmXQgc291bmQgZ3JlYXQgYW5kIG5vYm9keSByZWFsbHkgdGFsa3MgYWJvdXQgaXQuwqBNZWFnYW46IFRoZXkgbm9ybWFsaXplIGl0LsKgUmViZWNjYTogWWVhaCwgYWdyZWVkLiBJdOKAmXMganVzdCwg4oCcWW91IGhhZCBhIGJhYnkgc28gdGhhdOKAmXMgd2hhdCB5b3Ugc2hvdWxkIGV4cGVjdC7igJ0gV2Ugc2hvdWxkIGV4cGVjdCBiZXR0ZXIuIFdlIHNob3VsZCBhbHdheXMgZXhwZWN0IGJldHRlci4gU28gYnkgYWRkcmVzc2luZyB0aGF0IHNjYXIgdGlzc3VlLCB5b3UgY2FuIGFjdHVhbGx5IG1hbmFnZSBhIGxvdCBvZiB0aG9zZSB0aGluZ3MgYW5kIGhpdCB0aGVtIG9mZiBsb25nIGJlZm9yZSB0aGV5IGJlY29tZSBhIHByb2JsZW0uwqBNZWFnYW46IFllYWgsIGl04oCZcyBpbnRlcmVzdGluZy4gSSBkaWRu4oCZdCBrbm93IGFib3V0IHNjYXIgbWFzc2FnZSBvciBwZWx2aWMgUFQgYSB0b24gdW50aWwgYWZ0ZXIgbXkgc2Vjb25kIEMtc2VjdGlvbiBidXQgdGhlbiBJIHN0YXJ0ZWQgZG9pbmcgYWxsIG9mIHRoZSB0aGluZ3MgYW5kIEkgaGF2ZSBhIGxvdCBvZiBhZGhlc2lvbnMuIFNoZSBjb3VsZCBmZWVsIHRoZW0gaW50ZXJuYWxseSBhbmQgdGhlbiB3ZSB3b3VsZCB3b3JrIG9uIG15IHNjYXIuIE15IGJhY2sgcGFpbiB3b3VsZCByZWR1Y2UuIEkgZGlkIG5vdGljZSBhIGRpZmZlcmVuY2UgZHVyaW5nIHNleCBhbmQgdGhpbmdzIGxpa2UgdGhhdC7CoFNoZSB3YXMgbGlrZSwg4oCcTm8sIGxldOKAmXMgd29yayB0aGlzIG91dCBmb3IgeW91ciB2YWdpbmFsIGJpcnRoIGJlY2F1c2UgeW91IGFsc28gaGF2ZSB0cmF1bWEgaW4gZ2VuZXJhbOKAnSB3aGljaCBjYW4gc29tZXRpbWVzIGJlIGhlbGQgaW4gdGhlIHBlbHZpYyBmbG9vci4gV2UgaGF2ZSBwaHlzaWNhbCB0cmF1bWEgYW5kIGFkaGVzaW9ucyBiZWluZyBjcmVhdGVkIHRoZW4gSSBoYWQgZW1vdGlvbmFsIHRyYXVtYSBhbmQgYSBsb3Qgb2YgdGhhdCwgSSBjYXJyaWVkIGluIG15IHBlbHZpYyBmbG9vci7CoFJlYmVjY2E6IEl04oCZcyB2ZXJ5IGNvbW1vbiBmb3IgcGVvcGxlIHRvIGNhcnJ5IHRoYXQgaW4gdGhlaXIgcGVsdmljIGZsb29yIGJlY2F1c2Ugb3VyIHNvY2lldHkgc2F5cyB0aGF0IHBlZWluZyBhbmQgcG9vcGluZyBhbmQgc2V4IGlzIGFsbCB0YWJvbyBzbyBtYXliZSB5b3UgZGlkbuKAmXQgbGVhcm4gYWJvdXQgaXQuIE1heWJlIHllcywgeW91IGFyZSBoYXZpbmcgc2V4IGJ1dCBpdOKAmXMgYSBzaGFtZWZ1bCB0aGluZyBmb3IgeW91IGJlY2F1c2Ugb2YgeW91ciB1cGJyaW5naW5nLiBUaGVyZSBhcmUgYSBsb3Qgb2YgcmVhc29ucyB0aGF0IGNhbiBjb250cmlidXRlIHRvIHRoaXMgcGVsdmljIGZsb29yIGR5c2Z1bmN0aW9uLsKgQ29uc3RpcGF0aW9uIGlzIGFjdHVhbGx5IG9uZSBvZiB0aGUgYmlnZ2VzdCBpbmRpY2F0aW9ucyB0aGF0IHlvdSBtYXkgaGF2ZSBhIGxvbmcgc3RhZ2Ugb25lIGxhYm9yIGp1c3QgYmVjYXVzZSB5b3UgbWF5IGhhdmUgYSB0aWdodCBwZWx2aWMgZmxvb3Igd2hpY2ggbWVhbnMgeW91IG1heSBoYXZlIGRpZmZpY3VsdHkgcmVsYXhpbmcgaXQuIExldOKAmXMgYmUgcmVhbC4gWW91IGRvbuKAmXQgbmVlZCBhIHN0cm9uZyBwZWx2aWMgZmxvb3IgdG8gYmlydGggYSBiYWJ5LiBZb3UgbmVlZCBhIHJlbGF4ZWQgcGVsdmljIGZsb29yLiBZb3UgbmVlZCB0byBsZXQgdGhlIG11c2NsZXMgZ2V0IG91dCBvZiB0aGUgd2F5IHNvIHRoYXQgYmFieSBjYW4gY29tZSBvdXQgYmVjYXVzZSB0aGUgcGVsdmljIGZsb29yIGlzIG5vdCBwdXNoaW5nIHRoZSBiYWJ5IG91dC4gWW91ciB1dGVydXMgaXMuwqDCoE1lYWdhbjogVXRlcnVzLCB5ZWFoLiBZZWFoLsKgNTA6MTMgT3RoZXIgc2NhciB0aXNzdWUgdGhhdCBjYW4gYWZmZWN0IHBvc2l0aW9uaW5nTWVhZ2FuOiBBbGwgZmFzY2luYXRpbmcuIEkgaGlnaGx5IHN1Z2dlc3QgY2hlY2tpbmcgb3V0IGEgcGVsdmljIGZsb29yIHNwZWNpYWxpc3Qgbm8gbWF0dGVyIGlmIHlvdeKAmXZlIGhhZCBhIHZhZ2luYWwgYmlydGggYnV0IGVzcGVjaWFsbHkgaWYgeW914oCZdmUgaGFkIGEgQy1zZWN0aW9uIGJlY2F1c2UgbGlrZSBzaGUgc2FpZCwgaXQgZG9lc27igJl0IG1lYW4gdGhhdCB3ZSBkb27igJl0IGhhdmUgdGhpbmdzIHRvIHdvcmsgdGhyb3VnaCBhbmQgZXZlbiBpZiB3ZeKAmXZlIGhhZCBhIEMtc2VjdGlvbiB0b28sIEkgd2FudCB0byBwb2ludCBvdXQgdGhhdCB3ZSBjYW4gYWxzbyBoYXZlIHNjYXIgdGlzc3VlIG9uIHRoZSBjZXJ2aXggZnJvbSB0aGluZ3MgbGlrZSBJVVBDcyBiZWluZyBwbGFjZWQgb3IgaWYgd2UgaGF2ZSBldmVyIGhhZCBhIGZvcmNlcHMgYmlydGggb3IganVzdCBpbiBnZW5lcmFsLiBUaGluZ3MgY2FuIGhhcHBlbiB3aGVyZSB3ZeKAmXZlIGdvdCBjZXJ2aWNhbCBzY2FycmluZyB0aGF0IG5lZWRzIHRvIGJlIHdvcmtlZCB0aHJvdWdoIHNvIHRoYXQgZm9yIG91ciBWQkFDLCB3ZSBjYW4gcHJvZ3Jlc3MuwqBJIGxvdmUgaGVhcmluZyB0aGF0IEhhbm5haCB3YXMgYWJsZSB0byBnbyBpbiBhbmQgZ2V0IGEgRm9sZXkgd2l0aCBhIGNsb3NlZCBjZXJ2aXggYW5kIGhhdmUgdGhpcyBiZWF1dGlmdWwgVkJBQywgYnV0IHNvbWV0aW1lcywgdGhhdCBpcyBkZWZpbml0ZWx5IGhhcmQgdG8gZ2V0IGEgcHJvdmlkZXIgdG8gZXZlbiBkbyB0aG9zZSBpbnRlcnZlbnRpb25zLCBhbmQgdGhlbiBpZiB3ZSBoYXZlIHNjYXIgdGlzc3VlIG9uIHRvcCBvZiB0aGF0LCB0aGF0IGNhbiBhbHNvIGNhdXNlIHRoaW5ncyB0byBiZSBhIGxpdHRsZSBoYXJkZXIuwqBSZWJlY2NhOiBPbmUgbW9yZSBwb2ludCBhYm91dCBzY2FyIHRpc3N1ZSwgZXZlbiBpZiB5b3XigJl2ZSBoYWQgeW91ciBhcHBlbmRpeCBvdXQgb3IgeW91IGhhdmUgaGFkIGEgbGFwYXJvc2NvcGljIHN1cmdlcnksIHRob3NlIHNvcnRzIG9mIHRoaW5ncyBjYW4gYWN0dWFsbHkgYWZmZWN0IHRoZSBwb3NpdGlvbiBvZiB0aGUgYmFieS4gSXQgY2FuIGNhdXNlIGJyZWVjaCBwb3NpdGlvbmluZyBvciBjYW4gY2F1c2UgeW91IGRpc2NvbWZvcnQgYmVjYXVzZSB0aGUgc2NhciB0aXNzdWUgaXMgbm90IGFsbG93aW5nIHlvdXIgYm9keSB0byBleHBhbmQgYXMgaXQgbmVlZHMgdG8uIFNvIGV2ZW4gdGhvc2UgdGhpbmdzIGFyZSBzb21lIHJlYWxseSB3b25kZXJmdWwgdGhpbmdzIHRoYXQgcGVsdmljIFBUIGNhbiBoZWxwIHlvdSB3aXRoIGV2ZW4gaWYgeW91IGRpZG7igJl0IGhhdmUgYSBDLXNlY3Rpb24uwqBNZWFnYW46IExvdmUgaXQuIEF3ZXNvbWUuIFdlbGwsIGlmIHlvdSBhcmUgaW4gdGhlIEdlb3JnaWEgYXJlYSwgZGVmaW5pdGVseSBjaGVjayBvdXQgRHIuIFJlYmVjY2EgYW5kIGlmIHlvdSBhcmUgaW4gdGhlIE5vcnRoIENhcm9saW5hIGFyZWEsIGRlZmluaXRlbHkgZ28gY2hlY2sgb3V0IFVOQyBtaWR3aXZlcy4gSXMgdGhhdCByaWdodD9IYW5uYWg6IFJpZ2h0LiBUaGF04oCZcyB0aGVtLsKgTWVhZ2FuOiBVTkMgbWlkd2l2ZXMgYW5kIGtlZXAgbGlzdGVuaW5nIGhlcmUgYmVjYXVzZSB0aGVzZSBzdG9yaWVzIGp1c3QgbGlrZSB0aGlzIGFuZCBpbmZvcm1hdGlvbiBsaWtlIHRoaXMgYXJlIHdoYXQgd2Ugd2FudCB0byBkby4gSXTigJlzIHdoYXQgd2Ugd2FudCB0byBwcm92aWRlIGZvciB5b3UuIElmIHlvdSBoYXZlIGEgY2VydGFpbiB0b3BpYyBvciBzb21ldGhpbmcgbGlrZSB0aGF0IHRoYXQgeW91IGFyZSBsb29raW5nIGZvcndhcmQgdG8sIHBsZWFzZSBlbWFpbCB1cyBhdCBpbmZvQHRoZXZiYWNsaW5rLmNvbSBiZWNhdXNlIHdlIHdhbnQgdG8gdHJ5IHRvIG1ha2Ugc3VyZSB3ZSBnZXQgdGhhdCBvbiB0aGUgc2hvdy4gVGhhbmsgeW91IGd1eXMgc28gbXVjaCBmb3IgYmVpbmcgd2l0aCB1cyB0b2RheS5SZWJlY2NhOiBUaGFuayB5b3UuwqBIYW5uYWg6IFRoYW5rIHlvdS5DbG9zaW5nV291bGQgeW91IGxpa2UgdG8gYmUgYSBndWVzdCBvbiB0aGUgcG9kY2FzdD8gVGVsbCB1cyBhYm91dCB5b3VyIGV4cGVyaWVuY2UgYXQgdGhldmJhY2xpbmsuY29tL3NoYXJlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBhbGwgdGhpbmdzIFZCQUMgaW5jbHVkaW5nIG9ubGluZSBhbmQgaW4tcGVyc29uIFZCQUMgY2xhc3NlcywgVGhlIFZCQUMgTGluayBibG9nLCBhbmQgTWVhZ2Fu4oCZcyBiaW8sIGhlYWQgb3ZlciB0byB0aGV2YmFjbGluay5jb20uIENvbmdyYXR1bGF0aW9ucyBvbiBzdGFydGluZyB5b3VyIGpvdXJuZXkgb2YgbGVhcm5pbmcgYW5kIGRpc2NvdmVyeSB3aXRoIFRoZSBWQkFDIExpbmsuU3VwcG9ydCB0aGlzIHBvZGNhc3QgYXQg4oCUIGh0dHBzOi8vcmVkY2lyY2xlLmNvbS90aGUtdmJhYy1saW5rL2RvbmF0aW9uc0FkdmVydGlzaW5nIElucXVpcmllczogaHR0cHM6Ly9yZWRjaXJjbGUuY29tL2JyYW5kcyIsImR1cmF0aW9uIjp7InRvdGFsTWlsbGlzZWNvbmRzIjozMTY1ODg0fSwiaHRtbERlc2NyaXB0aW9uIjoiPHA+TWVhZ2FuIGhhcyBhIG5ldyBjby1ob3N0IHRvZGF5ISBSZWJlY2NhLCBhIHBlbHZpYyBmbG9vciBwaHlzaWNhbCB0aGVyYXBpc3QgYW5kIGEgVkJBQyBMaW5rIGRvdWxhIGxvY2F0ZWQgaW4gR2VvcmdpYSBqb2lucyBNZWFnYW4gd2hpbGUgb3VyIGZyaWVuZCBIYW5uYWggZnJvbSBOb3J0aCBDYXJvbGluYSBzaGFyZXMgaGVyIGJpcnRoIHN0b3JpZXMuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPlRoaXMgZXBpc29kZSBzdHJlc3NlcyBhZ2FpbiB0aGUgdHJ1ZSBpbXBvcnRhbmNlIG9mIG5vdCBqdXN0IGEgc3VwcG9ydGl2ZSBwcm92aWRlciwgYnV0IG9mIGEgc3VwcG9ydGl2ZSBwcmFjdGljZSBpbmNsdWRpbmcgaG9zcGl0YWwgcG9saWNpZXMsIHRoZSB0ZWFtIG9mIHJvdGF0aW5nIHByb3ZpZGVycywgYW5kIHRoZSBudXJzZXMuIEhhbm5haCBzaG93cyBob3cgaGVyIGJvcmRlcmxpbmUgcHJlZWNsYW1wdGljIHN5bXB0b21zIHdlcmUgdHJlYXRlZCB2ZXJ5IGRpZmZlcmVudGx5IGJldHdlZW4gaGVyIGZpcnN0IGFuZCBzZWNvbmQgYmlydGhzLiBIZXIgZmlyc3QgcHJhY3RpY2UgaGFkIG1hbnkgcmVkIGZsYWdzIHNoZSBkaWRu4oCZdCBub3RpY2UgdW50aWwgaGVyIHNlY29uZCBwcmFjdGljZSBzaG93ZWQgZ3JlZW4gZmxhZyBhZnRlciBncmVlbiBmbGFnIHRocm91Z2hvdXQgaGVyIGVudGlyZSBqb3VybmV5LsKgPC9wPjxwPjxiciAvPjwvcD48cD5SZWJlY2NhIGFsc28gc2hhcmVzIGhlciBleHBlcnRpc2Ugc3Vycm91bmRpbmcgcGVsdmljIGZsb29yIFBU4oCTIHdobyBuZWVkcyBpdCBhbmQgaG93IGl0IGNhbiBpbXBhY3QgYmlydGggb3V0Y29tZXMuIFNoZSBhbHNvIGRlYnVua3MgbXl0aHMgYWJvdXQgc21hbGwgcGVsdmlzZXMgYW5kIHRhbGtzIGluIGRlcHRoIGFib3V0IHNjYXIgdGlzc3VlLsKgPC9wPjxwPjxiciAvPjwvcD48cD5Cb3RoIHdvbWVuIHNoYXJlIHN1Y2ggdmFsdWFibGUgdGlwcyB0aGF0IHdlIGtub3cgeW91IHdpbGwgbG92ZSE8L3A+PHA+PGJyIC8+PC9wPjxwPjxhIGhyZWY9XCJodHRwczovL3d3dy5hbWF6b24uY29tL1JlYWwtRm9vZC1QcmVnbmFuY3ktUHJlbmF0YWwtTnV0cml0aW9uL2RwLzA5ODYyOTUwNDNcIiByZWw9XCJub2ZvbGxvd1wiPlJlYWwgRm9vZCBmb3IgUHJlZ25hbmN5IGJ5IExpbHkgTmljaG9sczwvYT48L3A+PHA+TmVlZGVkIFdlYnNpdGU8L3A+PHA+PGEgaHJlZj1cImh0dHBzOi8vd3d3LnRoZXZiYWNsaW5rLmNvbS92YmFjLWNsYXNzL1wiIHJlbD1cIm5vZm9sbG93XCI+SG93IHRvIFZCQUM6IFRoZSBVbHRpbWF0ZSBQcmVwIENvdXJzZSBmb3IgUGFyZW50czwvYT48L3A+PHA+RnVsbCBUcmFuc2NyaXB0IHVuZGVyIEVwaXNvZGUgRGV0YWlsc8KgPC9wPjxwPjxiciAvPjwvcD48cD4wMzoxMSBSZXZpZXcgb2YgdGhlIFdlZWs8L3A+PHA+MDU6MTMgSGFubmFo4oCZcyBzdG9yaWVzPC9wPjxwPjA4OjE3IEhpZ2hlciBibG9vZCBwcmVzc3VyZSByZWFkaW5ncyBhbmQgaW5kdWN0aW9uPC9wPjxwPjEwOjI2IEluZHVjdGlvbiBkdWUgdG8gaGlnaCBibG9vZCBwcmVzc3VyZSByZWFkaW5nczwvcD48cD4xMTo1MiBJbnRlcnZlbnRpb25zIGFuZCBub3QgYmVpbmcgYWJsZSB0byBtb3ZlIGR1cmluZyBsYWJvcjwvcD48cD4xNjo1MCBIYW5uYWjigJlzIEMtc2VjdGlvbjwvcD48cD4xOTozNiBSZWJlY2Nh4oCZcyB0aG91Z2h0cyBhYm91dCBwZWx2aWMgYm9uZSBzdHJ1Y3R1cmU8L3A+PHA+MjI6NDIgU2Vjb25kIHByZWduYW5jeTwvcD48cD4yOTowMSBBIG1lZGljYWxseSBuZWNlc3NhcnkgaW5kdWN0aW9uPC9wPjxwPjMzOjI3IEVuZGluZyB0aGUgZmlyc3QgZnVsbCBkYXkgb2YgaW5kdWN0aW9uPC9wPjxwPjM4OjAzIFB1c2hpbmcgZm9yIDIwIG1pbnV0ZXM8L3A+PHA+Mzk6NTkgSGFubmFo4oCZcyBhZHZpY2UgdG8gbGlzdGVuZXJzIC0gcHJvdmlkZXIgc3VwcG9ydCBhbmQgbnV0cml0aW9uPC9wPjxwPjQ0OjE3IFNtYWxsIHBlbHZpc2VzIGFuZCBzY2FyIHRpc3N1ZTwvcD48cD41MDoxMyBPdGhlciBzY2FyIHRpc3N1ZSB0aGF0IGNhbiBhZmZlY3QgcG9zaXRpb25pbmc8L3A+PHA+PGJyIC8+PC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IEhleSwgaGV5IFdvbWVuIG9mIFN0cmVuZ3RoLiBJdCBpcyBNZWFnYW4gYW5kIGd1ZXNzIHdoYXQ/IFdlIGhhdmUgYSBjb2hvc3QgdG9kYXksIGEgbmV3IGNvaG9zdCB3aG8gaGFzIG5ldmVyIGJlZW4gd2l0aCB1cyBhbmQgd2UgYXJlIHNvIGV4Y2l0ZWQgdGhhdCBzaGUgaXMgam9pbmluZyB1cy4gV2UgaGF2ZSBSZWJlY2NhIEdvbGRiZXJnIG9uIG91ciBwb2RjYXN0IHRvZGF5LiBIZWxsbywgUmViZWNjYS7CoDwvcD48cD48YnIgLz48L3A+PHA+UmViZWNjYTogSGVsbG8uwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogVGhhbmsgeW91IGZvciB0YWtpbmcgdGhlIHRpbWUgYW5kIGJlaW5nIHdpdGggdXMuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPlJlYmVjY2E6IFllYWguIEkgcmVhbGx5IGxvdmUgdGhlIHJlc291cmNlcyBhbmQgdGhlIGNvbW11bml0eSBhbmQgSeKAmW0ganVzdCB0aHJpbGxlZCB0byBiZSBoZXJlLsKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IFdlbGwsIHdlIGFyZSBleGNpdGVkIGFuZCBmb3IgYW55b25lIHdvbmRlcmluZyB3aG8gUmViZWNjYSBpcywgc2hlIGlzIGFuIGFtYXppbmcgaHVtYW4gYmVpbmcuIFNoZSBhY3R1YWxseSBkb2VzIGEgbG90IGluIHBlbHZpYyBQVCBhbmQgaXMgb25lIG9mIG91ciBWQkFDLWNlcnRpZmllZCBkb3VsYXMuIFNoZeKAmXMgaW4gR2VvcmdpYS7CoDwvcD48cD48YnIgLz48L3A+PHA+UmViZWNjYTogWWVwLiBJ4oCZbSBpbiBBdGxhbnRhLCB0aGUgRGVjYXR1ciBhcmVhLsKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IERlY2F0dXIgYXJlYS4gSXMgdGhhdCB3aGVyZSB5b3Ugc2VydmUgbWFpbmx5P8KgPC9wPjxwPjxiciAvPjwvcD48cD5SZWJlY2NhOiBZZWFoLiBJIGhhdmUgcGVvcGxlIHdobyBjb21lIHRvIG1lIGZyb20gYWxsIG92ZXIuIFNvbWUgcGVvcGxlIGFyZSB0cmF2ZWxpbmcgdXAgdG8gYW4gaG91ciBvciBhbiBob3VyIGFuZCBhIGhhbGYsIGJ1dCBJIGFjdHVhbGx5IGNhbiBnbyB0byBwZW9wbGXigJlzIGhvbWVzIHdobyBhcmUgZGlyZWN0bHkgaW4gbXkgYXJlYS4gU28sIHBlb3BsZSB3aG8gYXJlIHBvc3QtQy1zZWN0aW9uLCBJIGNhbiBjb21lIHRvIHlvdSBhcyBlYXJseSBhcyB0aGUgZGF5IHlvdSBhcmUgZGlzY2hhcmdlZC4gSSBjYW4gd29yayB3aXRoIHlvdSBkZWFsIHdpdGggcGFpbiwgbWFrZSBzdXJlIHlvdSBrbm93IHdoYXQgbmVlZHMgdG8gaGFwcGVuLCBhbmQgaGVscCB5b3UgZG8gYWxsIG9mIHRoZSB0aGluZ3MuIFRoYXTigJlzIHdoZXJlIG15IHBhc3Npb24gcmVhbGx5IGxpZXMuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogSSBsb3ZlIHRoYXQuIEkgbG92ZSB0aGF0IGFuZCBmb3IgVkJBQywgaG93IGVhcmx5IGZvciBwZWx2aWMgZmxvb3IgYW5kIHN0dWZmPyBIb3cgZWFybHkgY2FuIHlvdSBzdGFydCB3b3JraW5nIHdpdGggdGhlbT/CoDwvcD48cD48YnIgLz48L3A+PHA+UmViZWNjYTogQXMgc29vbiBhcyB0aGV5IGhhdmUgZ290dGVuIGhvbWUuIElmIHRoZXkgYXJlIHBsYW5uaW5nIG9uIGdldHRpbmcgcHJlZ25hbnQgYWdhaW4sIHdlIGNhbiBzdGFydCBidWlsZGluZyB0aGF0IGludG8gd2hhdCBvdXIgcGxhbnMgYXJlIHNvIHRoYXQgd2UgYXJlIHN0YXJ0aW5nIHRoYXQgcHJvY2VzcyBlYXJsaWVyIHJhdGhlciB0aGFuIGxhdGVyIGFuZCB5b3XigJlyZSBtb3JlIGxpa2VseSB0byBoYXZlIHJlc3VsdHMgdGhhdCB3aGVuIHlvdSBhcmUgcmVhZHkgdG8gZ2V0IHByZWduYW50LCB5b3UgY2FuIGp1c3QgZ2V0IHByZWduYW50LsKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IExvdmUgaXQuIEF3ZXNvbWUuIFdlbGwsIHRoYW5rIHlvdSwgdGhhbmsgeW91IGZvciBiZWluZyBoZXJlLsKgPC9wPjxwPjxiciAvPjwvcD48aDE+MDM6MTEgUmV2aWV3IG9mIHRoZSBXZWVrPC9oMT48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBZb3UgZ3V5cywgYXMgdXN1YWwsIHdlIGhhdmUgYSBSZXZpZXcgb2YgdGhlIFdlZWsuIFlvdSBkb27igJl0IGhhdmUgdG8gbGlzdGVuIHRvIG1lIHN0dW1ibGUgdXBvbiB0aGUgcmV2aWV3LiBSZWJlY2NhIHdpbGwgcmVhZCBpdC4gSeKAmW0gc3VyZSBzaGUgd2lsbCBkbyBhIGxvdCBiZXR0ZXIgdGhhbiBJIG5vcm1hbGx5IGRvLsKgPC9wPjxwPjxiciAvPjwvcD48cD5SZWJlY2NhOiBXZWxsLCB0aGlzIHJldmlldyBpcyBmcm9tIEFwcGxlIFBvZGNhc3RzIGFuZCBpdOKAmXMgZnJvbSBzZW1pY3J1bmNoeXlvZ2kuIEkgbG92ZSB0aGF0IG5hbWUuIFRoZSByZXZpZXcgc2F5cywg4oCcTXkgcGVyc29uYWwgVkJBQyBqb3VybmV5IHdhcyBhY3R1YWxseSBkaXJlY3RseSBpbmZsdWVuY2VkIGJ5IE1lYWdhbiBIZWF0b24sIG9uZSBvZiB0aGUgaG9zdHMgb24gdGhpcyBwb2RjYXN0LiBTaGUgd2FzIG15IGRvdWxhIHdpdGggbXkgc2Vjb25kIGJhYnksIG15IDEwLXBvdW5kIFZCQUMgYmFieS7igJ0gV2hvYS7CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBXb28sIHllYWguwqA8L3A+PHA+PGJyIC8+PC9wPjxwPlJlYmVjY2E6IOKAnFdoZW4gc2hlIHN0YXJ0ZWQgdGhpcyBwb2RjYXN0LCBJIGtuZXcgaXQgd291bGQgYmUgc29tZXRoaW5nIHNwZWNpYWwuIEkgd2lsbCBhbHdheXMgYmUgcGFzc2lvbmF0ZSBhYm91dCBWQkFDIGFuZCBtYWtpbmcgc3VyZSB3b21lbiBhcmUgZ2l2ZW4gb3B0aW9ucywgcmVzcGVjdCwgYW5kIHN1cHBvcnQgdGhyb3VnaCB0aGVpciBiaXJ0aCBqb3VybmV5cy4gVGhpcyBwb2RjYXN0IGRvZXMganVzdCB0aGF0LiBUaGlzIHBvZGNhc3QgaXMgc28gbmVlZGVkIGFuZCBhZGRyZXNzZXMgaW1wb3J0YW50IG15dGhzIGFib3V0IFZCQUMgYW5kIGJpcnRoLiBUaGFuayB5b3Ugc28gbXVjaCwgSnVsaWUgYW5kIE1lYWdhbiwgZm9yIHVzaW5nIHlvdXIgcGFzc2lvbiB0byBzdXBwb3J0IG90aGVyIHdvbWVuLiBZb3UgdHdvIGFyZSBhbWF6aW5nIGV4YW1wbGVzIG9mIFdvbWVuIG9mIFN0cmVuZ3RoLuKAnSBBbmQgdGhlbiB0aGVyZeKAmXMgYSBoZWFydC7CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBBd3csIEkgbG92ZSB0aGF0LiBUaGFuayB5b3Ugc2VtaWNydW5jaHl5b2dpLsKgPC9wPjxwPjxiciAvPjwvcD48cD5SZWJlY2NhOiBZb2dpLCB5ZWFoLsKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IFRoYXQgaXMgYXdlc29tZS4gVGhhbmsgeW91IHNvIG11Y2guwqA8L3A+PHA+PGJyIC8+PC9wPjxoMT4wNToxMyBIYW5uYWjigJlzIHN0b3JpZXM8L2gxPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IE9rYXksIHlvdSBndXlzLiBXZSBoYXZlIG91ciBmcmllbmQsIEhhbm5haCwgZnJvbSBOb3J0aCBDYXJvbGluYSBzbyBpZiB5b3UgYXJlIGZyb20gTm9ydGggQ2Fyb2xpbmEsIGxpc3RlbiB1cC4gSSBmZWVsIGxpa2UgaXTigJlzIHNvIGltcG9ydGFudCBmb3IgdXMgdG8gc3RhcnQgdGFsa2luZyBhYm91dCB3aGVyZSBhbGwgb2YgdGhlc2UgV29tZW4gb2YgU3RyZW5ndGggYXJlIGNvbWluZyBmcm9tIGJlY2F1c2UgdGhlcmUgYXJlIHNvIG1hbnkgb2YgdXMgb3V0IHRoZXJlIGluIHRoZSB3b3JsZCB3aG8gd2FudCB0byBrbm93IHdoZXJlIHRoZXNlIHBlb3BsZSBhcmUgYmVjYXVzZSBmaW5kaW5nIGEgc3VwcG9ydGl2ZSBwcm92aWRlciB3ZSBrbm93IGNhbiBiZSBjaGFsbGVuZ2luZy4gV2UgaGF2ZSBvdXIgZnJpZW5kLCBIYW5uYWgsIGZyb20gTm9ydGggQ2Fyb2xpbmEgc2hhcmluZyBoZXIgYW1hemluZyBWQkFDIHN0b3J5LsKgPC9wPjxwPjxiciAvPjwvcD48cD5Gb3IgYW55b25lIHdvbmRlcmluZyBhIGxpdHRsZSBiaXQgbW9yZSBpbiByZWxhdGlvbiB0byBoZXIgc3RvcnksIHNoZSBoYWQgcHJlZWNsYW1wc2lhIEkgdGhpbmsgYWN0dWFsbHkgd2l0aCBoZXIgYm90aC4gSXMgdGhhdCBjb3JyZWN0P8KgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFllYWguIFdpdGggbXkgZmlyc3QsIHRoZXkgcXVhbGlmaWVkIGl0IGFzIGdlc3RhdGlvbmFsIGh5cGVydGVuc2lvbiBhbmQgdGhlbiBteSBzZWNvbmQgd2FzIHByZWVjbGFtcHNpYS7CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBTbyB5b3VyIFZCQUMgd2FzIGFjdHVhbGx5IHByZWVjbGFtcHRpYy7CoDwvcD48cD48YnIgLz48L3A+PHA+SGFubmFoOiBZZXMuwqDCoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBBd2Vzb21lLiBPa2F5LiBUaGF0IGlzIHNvbWV0aGluZyB0aGF0IHdlIHNlZSBhIGxvdCBpbiBvdXIgY29tbXVuaXR5LiBQZW9wbGUgYXJlIHdvbmRlcmluZyBpZiBWQkFDIGlzIHBvc3NpYmxlIHdpdGggcHJlZWNsYW1wc2lhLiBXZSBkb27igJl0IGFjdHVhbGx5IGhhdmUgYSBsb3Qgb2Ygc3RvcmllcyBvbiB0aGUgcG9kY2FzdC4gSW4gZmFjdCwgeW91IG1heSBiZSBvbmUgb2YgdGhlIGZpcnN0IGFjdHVhbGx5IHNoYXJpbmcgaW4gYWxtb3N0IDMwMCBlcGlzb2RlcyB3aGljaCBpcyBraW5kIG9mIHNhZC7CoDwvcD48cD48YnIgLz48L3A+PHA+SGFubmFoOiBXb3cuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogU28gd2UgYXJlIHJlYWxseSBleGNpdGVkIHRvIHRhbGsgYWJvdXQgdGhpcywgYW5kIHlvdSBkaWQgaGF2ZSB0aGF0IENQRCBkaWFnbm9zaXMgbGlrZSBzbyBtYW55IG9mIHVzLiBZZWFoLiBJ4oCZbSBnb2luZyB0byB3ZWxjb21lIHlvdSBvbiB0byBzaGFyZSB5b3VyIHN0b3JpZXMuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogWWVhaCwgd2VsbCB0aGFuayB5b3Ugc28gbXVjaCBmb3IgaGF2aW5nIG1lLiBJ4oCZdmUgYmVlbiBsaXN0ZW5pbmcgZm9yIGEgd2hpbGUgYW5kIEnigJltIHNvIGV4Y2l0ZWQgdG8gYmUgaGVyZS4gSSBkbyBsaXZlIGluIHRoZSBUcmlhbmdsZSByZWdpb24gb2YgTm9ydGggQ2Fyb2xpbmEuIEnigJltIGp1c3Qgc291dGggb2YgUmFsZWlnaCBpbiBhIHRvd24gY2FsbGVkIEZ1cXVheS1WYXJpbmEuIEEgbG90IG9mIHBlb3BsZSBwcm9iYWJseSB3b27igJl0IHJlY29nbml6ZSB0aGF0IG5hbWUsIGJ1dCBpZiB5b3UgYXJlIGluIHRoZSBSYWxlaWdoL0R1cmhhbS9DaGFwZWwgSGlsbCBhcmVhLCBJIGRvIGhhdmUgYSBncmVhdCByZWNvbW1lbmRhdGlvbiBmb3IgYSBzdXBwb3J0aXZlIHByb3ZpZGVyIHRoZXJlLsKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IElzIHRoYXQgbW9yZSBvZiBhIHJ1cmFsIGFyZWE/wqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogSXQgdXNlZCB0byBiZSBwcmV0dHkgcnVyYWwgYW5kIGp1c3QgaW4gdGhlIGxhc3QgMTAtMTUgeWVhcnMsIGl04oCZcyBleHBsb2RlZC4gV2XigJlyZSBnZXR0aW5nIGEgVGFyZ2V0IGFuZCB0aGF04oCZcyBhIGJpZyBkZWFsIGZvciB1cy7CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBZYXkhIEV2ZXJ5IHBsYWNlIGlzIGJldHRlciB3aXRoIGEgVGFyZ2V0LsKgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFllcy4gWWVzLiBBZ3JlZWQuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogQXdlc29tZS4gT2theSwgeWVhaC4gTGV04oCZcyBoZWFyIGFib3V0IHlvdXIgNi15ZWFyLW9sZCwgdGhlIG9uZSB0aGF0IHlvdSBqdXN0IHN0YXJ0ZWQgbGlzdGVuaW5nIHRvIHRoZSBwb2RjYXN0IGFmdGVyLsKgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFllYWguIFllYWgsIGp1c3QgdG8ganVtcCBpbiwgSSBoYWQgbXkgZmlyc3Qgc29uIGluIEp1bHkgb2YgMjAxNyBhbmQgSSB3YXMgYSBmaXJzdC10aW1lIG1vbS4gSSB3ZW50IHRvIGEgbWlkd2lmZSBwcmFjdGljZSwgYnV0IHRoZXkgd2VyZSBtaWR3aXZlcyB3aG8gZGVsaXZlcmVkIGF0IHRoZSBob3NwaXRhbCB0aGF0IHdhcyBjbG9zZXN0IHRvIHdoZXJlIEkgbGl2ZWQuIEkgaGFkIGJlZW4gc2VlaW5nIHRoZW0gZm9yIGEgZmV3IHllYXJzIGp1c3QgZm9yIG15IGdlbmVyYWwgd2VsbC13b21hbiBjaGVjay11cC4gSSBsaWtlZCB0aGVtLiBJIGZlbHQgbGlrZSBJIGhhZCBhIGdvb2QgcmFwcG9ydCB3aXRoIHRoZW0sIHNvIEkgc3R1Y2sgd2l0aCB0aGF0LsKgPC9wPjxwPjxiciAvPjwvcD48cD5NeSBwcmVnbmFuY3kgd2FzIGdvb2QuIEkgd2FzIHdvcmtpbmcgZnVsbC10aW1lLiBJIHdhcyBhIHRyYXZlbGluZyBzYWxlc3BlcnNvbiBhdCB0aGUgdGltZS4gVGhhdCBnb3QgdG8gYmUgYSBsaXR0bGUgdHJpY2t5IHRvd2FyZHMgdGhlIGVuZC7CoDwvcD48cD48YnIgLz48L3A+PHA+SW4gbXkgdGhpcmQgdHJpbWVzdGVyLCBJIHN0YXJ0ZWQgc3dlbGxpbmcuIFRoZXkgd2VyZSBsaWtlLCDigJxPaCwgd2UganVzdCBuZWVkIHRvIGtlZXAgYW4gZXllIG9uIHRoaXMuIEl0IGNvdWxkIGJlIG5vcm1hbC4gSWYgaXQgZ2V0cyBjb3VwbGVkIHdpdGggaGlnaCBibG9vZCBwcmVzc3VyZSwgdGhlbiBpdCBtaWdodCBiZSBjb25jZXJuaW5nLuKAncKgPC9wPjxwPjxiciAvPjwvcD48aDE+MDg6MTcgSGlnaGVyIGJsb29kIHByZXNzdXJlIHJlYWRpbmdzIGFuZCBpbmR1Y3Rpb248L2gxPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IEFyb3VuZCAzNSB3ZWVrcywgSSBkaWQgaGF2ZSBoaWdoIGJsb29kIHByZXNzdXJlIHJlYWRpbmdzLiBKdXN0IG9uIHRoZSBzaWRlLCBJIGhhdmUgYSBoaXN0b3J5IG9mIHdoaXRlIGNvYXQgc3luZHJvbWUgZXZlbiBhcyBhIHRlZW5hZ2VyLiBNeSBibG9vZCBwcmVzc3VyZSB3b3VsZCBzaG9vdCB1cCBpbiB0aGUgb2ZmaWNlIHNvIHRoYXTigJlzIGFsd2F5cyBiZWVuIGFuIGlzc3VlIGZvciBtZSBhbmQgSSB3YXMgY29uY2VybmVkIGFib3V0IHRoYXQgZm9yIHByZWduYW5jeSBiZWNhdXNlIEkga25ldyBoaWdoIGJsb29kIHByZXNzdXJlLCBwcmVnbmFuY3ksIGhpZ2ggcmlzaywgYW5kIEkgd2FzIGhvcGluZyBmb3IgYW4gaW50ZXJ2ZW50aW9uLWZyZWUgYmlydGggaW4gdGhlIGhvc3BpdGFsLsKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IFllYWguwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogSSBkaWQgYWxsIG9mIHRoZSB0aGluZ3MsIEkgdGhvdWdodC4gSSBoYWQgYSBkb3VsYS4gSSBoYWQgcmVhZCBJbmEgTWF5IEdhc2tpbi7CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBHdWlkZSB0byBDaGlsZGJpcnRoLsKgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFllcy4gSSBkaWQgSHlwbm9CYWJpZXMuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogWW91IHdlcmUgdmVyeSBwcmVwYXJlZC7CoDwvcD48cD48YnIgLz48L3A+PHA+SGFubmFoOiBZZXMuIEkgZmVsdCB2ZXJ5IHByZXBhcmVkIGJ1dCBJIHRoaW5rIEkgZGlkbuKAmXQgaGF2ZSB0aGUgdW5kZXJzdGFuZGluZy4gSSBqdXN0IGhlYXJkIG1pZHdpZmUgYW5kIEkganVzdCB0aG91Z2h0LCDigJxPaCwgbmF0dXJhbCBiaXJ0aC7igJ0gSSBkaWRu4oCZdCByZXNlYXJjaCB0aGUgaG9zcGl0YWwgdG9vIG11Y2ggc28gSSBqdXN0IGRpZG7igJl0IGtub3cgd2hhdCBJIGRpZG7igJl0IGtub3cuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkF0IDM1IHdlZWtzLCB0aGV5IGRpYWdub3NlZCBtZSB3aXRoIGdlc3RhdGlvbmFsIGh5cGVydGVuc2lvbi4gVGhleSB3ZXJlIHByZXR0eSBhZ2dyZXNzaXZlIGluIHRoZWlyIG1hbmFnZW1lbnQgb2YgaXQuIFRoZXkgdG9sZCBtZSwg4oCcWW91IGFyZSBkb25lIHdvcmtpbmcuIFlvdSBhcmUgbm90IGdvaW5nIGJhY2sgdG8gd29yay4gWW91IGFyZSBvbiBiZWRyZXN0LuKAnSBCYXNpY2FsbHksIHRoZXkgc2FpZCwg4oCcWW91IGNhbiBzaG93ZXIsIHVzZSB0aGUgYmF0aHJvb20sIGFuZCBtYWtlIHlvdXJzZWxmIGZvb2QsIGJ1dCBvdGhlciB0aGFuIHRoYXQsIHlvdSBzaG91bGQgYmUgbHlpbmcgZG93biBhbmQgd2Ugd2lsbCBkZWZpbml0ZWx5IGluZHVjZSB5b3UgYnkgeW91ciBkdWUgZGF0ZSBhdCB0aGUgbGF0ZXN0LuKAnSA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogRG8geW91IHJlbWVtYmVyIHdoYXQgeW91ciByZWFkaW5ncyB3ZXJlIHJlZmxlY3RpbmcgYXQgdGhhdCB0aW1lP8KgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFllcy4gSSB0aGluayBpbiB0aGUgb2ZmaWNlLCBpdCB3b3VsZCBiZSBtYXliZSAxNDAvODUgb3IgOTAgYnV0IHRoZW4gYXQgaG9tZSwgSSBoYWQgbXkgb3duIGN1ZmYgYW5kIHRoZXkgd2VyZSByZWFkaW5nIG5vcm1hbCBsaWtlIDExOC83MCBhbmQgc3R1ZmYgbGlrZSB0aGF0LsKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IEludGVyZXN0aW5nLiBTbyBkZWZpbml0ZWx5IHNvbWUgd2hpdGUgY29hdCBzeW5kcm9tZSBtYXliZSBhbmQgdGhlbiB0aGV5IHdlcmUgcHVzaGluZyB0aGUgaW5kdWN0aW9uIHdoZW4gb3ZlcmFsbCwgeW91ciBwcmVzc3VyZXMgd2VyZSBwcm9iYWJseSBwcmV0dHkgcmVndWxhci7CoDwvcD48cD48YnIgLz48L3A+PHA+SGFubmFoOiBZZXMuIFRoYXQgd2FzIGp1c3QsIEkgZG9u4oCZdCBrbm93LiBJdCB3YXMgaGFyZCB0byBrbm93IHdoYXQgd2FzIHRoZSByaWdodCB0aGluZyB0byBkbyBpbiB0aGF0IHNpdHVhdGlvbiBiZWNhdXNlIEkgd2FzIGEgZmlyc3QtdGltZSBtb20uIEkgZG9u4oCZdCB3YW50IHRvIHB1dCBteSBiYWJ5IGF0IHJpc2suIEV2ZW50dWFsbHksIHRoZXkgYWdyZWVkIHRvIGluZHVjZSBtZS7CoDwvcD48cD48YnIgLz48L3A+PHA+SSB3ZW50IGluIHRoZSBuaWdodCBiZWZvcmUgbXkgZHVlIGRhdGUuIEkgaGFkIGJlZW4gZ29pbmcgaW4gZm9yIGV4dHJhIG1vbml0b3JpbmcuIEkgaGFkIE5TVHMgYW5kIGJpb3BoeXNpY2FsIHByb2ZpbGVzLCBzbyBldmVyeXRoaW5nIHdhcyBnb29kLiBUaGV5IGp1c3QsIGJlY2F1c2UgSSBoYWQgdGhhdCBnZXN0YXRpb25hbCBoeXBlcnRlbnNpb24gbGFiZWwsIHRoZXkgd2FudGVkIG1lIHRvIGRlbGl2ZXIgYnkgbXkgZHVlIGRhdGUuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkkgZGlkIGdvIGludG8gdGhlIGhvc3BpdGFsIHRoZSBuaWdodCBiZWZvcmUgbXkgZHVlIGRhdGUuIEkgdGhpbmsgSSB3YXMgbWF5YmUgYSBjZW50aW1ldGVyIGRpbGF0ZWQsIDUwJSBlZmZhY2VkLiBJIGRpZCB0aGUgd2hvbGUgRm9sZXkgYnVsYiBvdmVybmlnaHQuIFRoZXkgdGhvdWdodCwg4oCcT2gsIHRoYXTigJlzIGdvaW5nIHRvIHN0YXkgaW4gZm9yIDEyIGhvdXJzLuKAnSBUaGV5IHB1dCBpdCBpbiBhbmQgdGhlbiB3aXRoaW4gYW4gaG91ciBhbmQgYSBoYWxmLCBpdCBjb21lcyBvdXQgYW5kIEnigJltIDQgY2VudGltZXRlcnMgZGlsYXRlZC7CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBUaGF04oCZcyBhd2Vzb21lLjwvcD48cD48YnIgLz48L3A+PHA+SGFubmFoOiBZZWFoLiBJdCBnb3Qgb2ZmIHRvIGEgZ29vZCBub3RlLiBUaGV5IHdlcmUgbGlrZSwg4oCcT2gsIHRoaXMgaXMgZ29pbmcgdG8gZ28gZ3JlYXQuIFlvdeKAmXJlIGdvaW5nIHRvIGRvIGdyZWF0IHRvbW9ycm93LuKAnSBJ4oCZbSBsaWtlLCDigJxPaCwgb2theS7igJ0gSSB0cmllZCB0byBnZXQgc2xlZXAuIEV2ZXJ5b25lIGtub3dzIGluIHRoZSBob3NwaXRhbCBldmVuIHdpdGggYW4gYW1iaWFuLCB5b3UgZG9u4oCZdCBzbGVlcC7CoDwvcD48cD48YnIgLz48L3A+PHA+TXkgZG91bGEgY2FtZSB0aGUgbmV4dCBtb3JuaW5nLiBJIGJlbGlldmUgdGhleSBzdGFydGVkIFBpdG9jaW4gYXJvdW5kIDc6MDAgQU0uIEkgcmVhbGx5IHdhcyBob3Bpbmcgbm90IHRvIGdldCB0aGUgZXBpZHVyYWwuIEkganVzdCBoYWQgdGhpcyBmZWFyIG9mIHRoYXQgY2FzY2FkZSBvZiBpbnRlcnZlbnRpb25zLiBJIGRpZCBrbm93IGFib3V0IHRoYXQgYW5kIEkganVzdCBmZWx0IGxpa2UsIOKAnE9rYXkuIEnigJltIGdvaW5nIHRvIHRyeSB0byBkbyBldmVyeXRoaW5nIEkgY2FuIHRvIGtlZXAgdGhhdCBmcm9tIGhhcHBlbmluZyzigJ0gYmVjYXVzZSBhIEMtc2VjdGlvbiB3YXMgc29tZXRoaW5nIEkgd2FzIHZlcnkgZmVhcmZ1bCBvZi4gSeKAmW0gYW4gb25seSBjaGlsZC4gTXkgbW9tIGRlbGl2ZXJlZCBtZSB2aWEgQy1zZWN0aW9uLiBJdCB3YXMgYSBoYXJkIGRlbGl2ZXJ5IGFuZCBJIGp1c3QgaGFkIGFsd2F5cyBoYWQgYSBmZWFyIG9mIHRoYXQgYmVpbmcgbXkgc3RvcnkuwqA8L3A+PHA+PGJyIC8+PC9wPjxoMT4xMTo1MiBJbnRlcnZlbnRpb25zIGFuZCBub3QgYmVpbmcgYWJsZSB0byBtb3ZlIGR1cmluZyBsYWJvcjwvaDE+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogVGhpbmdzIHdlcmUgZ29pbmcgZmluZSBvbiB0aGUgUGl0b2Npbi4gSSB3YXMgd29ya2luZyB0aHJvdWdoIHRoZSBjb250cmFjdGlvbnMuIFRoZXkgd2VyZSBqdXN0IHZlcnkgb2RkLiBUaGV5IGRpZG7igJl0IHdhbnQgbWUgb3V0IG9mIHRoZSBiZWQuIFRoYW5rZnVsbHksIEkgZGlkIGhhdmUgbXkgZG91bGEgdGhlcmUuIFNoZSB3YXMgbGlrZSwg4oCcSnVzdCBzdGFuZCBuZXh0IHRvIHRoZSBiZWQuIFNpdCBvbiB0aGUgYmlydGggYmFsbCzigJ0gYnV0IHRoZXkgd2VyZSBqdXN0IHRyZWF0aW5nIG1lIGxpa2Ugc29tZW9uZSB3aXRoIHNldmVyZSBwcmVlY2xhbXBzaWEgd291bGQgYmUgdHJlYXRlZCBhbmQgdGhhdCBqdXN0IHdhcyBub3QgbXkgY2FzZS7CoDwvcD48cD48YnIgLz48L3A+PHA+RXZlbiB0aGV5IGRpZG7igJl0IHJlYWxseSB3YW50IG1lIGdldHRpbmcgdXAgdG8gZ28gdG8gdGhlIGJhdGhyb29tIGEgbG90LiBUaGV5IHdlcmUgdGVsbGluZyBtZSBJIGNvdWxkbuKAmXQgd2FsayB0aGUgaGFsbHMuIEkgY291bGRu4oCZdCB1c2UgdGhlIHNob3dlci4gSXQgd2FzIHZlcnkgb2RkLsKgPC9wPjxwPjxiciAvPjwvcD48cD5TbyBhcm91bmQgbm9vbiwgdGhlIG1pZHdpZmUgc2F5cywg4oCcSGV5LCBJIHdhbnQgdG8gYnJlYWsgeW91ciB3YXRlci7igJ0gSSBzYWlkLCDigJxJ4oCZbSByZWFsbHkgbm90IGNvbWZvcnRhYmxlIHdpdGggdGhhdC4gSSB0aGluayBJ4oCZbSBtYWtpbmcgYSB3aG9sZSBsb3Qgb2YgcHJvZ3Jlc3MuIEnigJl2ZSBvbmx5IGJlZW4gb24gUGl0b2NpbiBmb3IgYSBmZXcgaG91cnMuIEnigJlkIHJlYWxseSBub3QgaGF2ZSBteSB3YXRlciBicm9rZW4u4oCdIFNoZSBzYXlzLCDigJxXZWxsLCB5b3XigJlyZSBoZXJlIHRvIGJlIGluZHVjZWQgZm9yIGEgcmVhc29uLiBXZSBuZWVkIHRvIHNwZWVkIHRoaXMgdXAsIHNvIEkgd291bGQgcmVhbGx5IGxpa2UgdG8gYnJlYWsgeW91ciB3YXRlci7igJ3CoDwvcD48cD48YnIgLz48L3A+PHA+wqBNZWFnYW46IE9oIGRlYXIuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogWWVhaC4gVGhhdOKAmXMgcmVhbGx5IHdoZXJlIHRoaW5ncyBzdGFydGVkIGdvaW5nIGRvd25oaWxsIGZvciBtZS4gSSBkaWRu4oCZdCByZWFsbHkgdW5kZXJzdGFuZCBhdCB0aGUgdGltZSwgYSBkb3VsYSBjYW7igJl0IHNheSwg4oCcSGV5LCBzaGUgc2FpZCBzaGUgZG9lc27igJl0IHdhbnQgdGhhdCBkb25lLiBTaGUgZG9lc27igJl0IHdhbnQgdGhhdC7igJ0gQnV0IEkgYWxzbyBkaWRu4oCZdCByZWFsbHkgZ2V0IHRoZSBzdXBwb3J0IEkgbmVlZGVkIEkgZ3Vlc3MgaW4gdGhhdCBtb21lbnQgd2hlbiBJIHdhcyB2dWxuZXJhYmxlLiBJIGRpZG7igJl0IHJlYWxseSBoYXZlIGFueW9uZSB0byBzYXksIOKAnEhleSwgZG8geW91IHdhbnQgdG8gdGFsayBmb3IgYSBtaW51dGUgYW5kIGNvbWUgYmFjayB0byB0aGlzP+KAnSBTbyBJIGRpZCBhZ3JlZS4gSSBtZWFuLCBJIGd1ZXNzIHZlcmJhbGx5IEkgYWdyZWVkLiBJIGRpZG7igJl0IGZlZWwgbGlrZSBJIHdhcyBhZ3JlZWluZywgYnV0IHNoZSBicm9rZSBteSB3YXRlciBhbmQgYWZ0ZXIgdGhhdCwgSSBqdXN0IHJlbWVtYmVyIHRoaW5ncyBpbnRlbnNpZmllZCBzbyBtdWNoLiBJIHJlbWVtYmVyIGJ5IGFyb3VuZCAzOjAwIFBNIGJlaW5nIGluIGV4Y3J1Y2lhdGluZyBwYWluIGFuZCB0aGF04oCZcyB3aGVuIEkgYXNrZWQgZm9yIHRoZSBlcGlkdXJhbC4gSXQgdG9vayB0d28gaG91cnMgZm9yIHRoZW0gdG8gYnJpbmcgaXQuIEkgZmluYWxseSBnb3QgdGhlIGVwaWR1cmFsIGFuZCBJIGp1c3QgaW1tZWRpYXRlbHkgZmVsbCBhc2xlZXAgYmVjYXVzZSB3ZSBoYWQgYmVlbiB0aGVyZSBmb3IgcHJvYmFibHkgMjAgaG91cnMgYXQgdGhpcyBwb2ludC48L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogV2VyZSB5b3UgZmVlbGluZyBhbnkgc3BlY2lmaWMgZGlzY29tZm9ydCBpbiB0aGUgYmFjaz8gV2VyZSB0aGVyZSBhbnkgc2lnbnMgdGhhdCBtYXliZSBiYWJ5IHdvdWxkIGhhdmUgYmVlbiBpbiBhIHBvb3IgcG9zaXRpb24gYWZ0ZXIgdGhlIGZsb29kZ2F0ZXMgb3BlbmVkP8KgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IEl04oCZcyBpbnRlcmVzdGluZy4gVGhhdCBhY3R1YWxseSB3aWxsIGNvbWUgdXAgb25jZSB0aGUgQy1zZWN0aW9uIGlzIHBlcmZvcm1lZC4gV2Ugd2VyZSB0b2xkIGF0IG154oCTIEkgdGhpbmsgSSBoYWQgYSBiaW9waHlzaWNhbCBwcm9maWxlIGF0IDM5IHdlZWtzIGFuZCB0aGUgdGVjaCB3YXMgbGlrZSwg4oCcT2gsIHlvdXIgYmFieSBpcyBwb3N0ZXJpb3Is4oCdIGJ1dCBJIGRpZG7igJl0IHJlYWxseSB1bmRlcnN0YW5kIHdoYXQgdGhhdCBtZWFudC4gQnV0IHdoZW4gaGUgd2FzIGRlbGl2ZXJlZCwgdGhleSBkaWQgc2F5IGhlIHdhcyBpbiB0aGUgYW50ZXJpb3IgcG9zaXRpb24sIHNvIEkganVzdCByZW1lbWJlciBjb250cmFjdGlvbnMgYmVpbmcgdW5iZWFyYWJsZSBhbmQgSSB0aGluayBpdCB3YXMgYmVjYXVzZSBvZiB0aGUgbGV2ZWwgb2YgUGl0b2NpbiBJIHdhcyBvbi4gVGhleSBqdXN0IHJhbXBlZCBpdCB1cC7CoDwvcD48cD48YnIgLz48L3A+PHA+SSBldmVuIHJlbWVtYmVyIGF0IG9uZSBwb2ludCwgdGhlIG1pZHdpZmUgc2F5aW5nIHRvIG1l4oCTIHNvIG9uY2UgSSBoYWQgdGhlIGVwaWR1cmFsLCBJ4oCZbSBsYXlpbmcgZG93biByZXN0aW5nLCBJIGhhZCBhc2tlZCBmb3IgYSBwZWFudXQgYmFsbCwgYnV0IG5vIG9uZSByZWFsbHkgaGVscGVkIG1lIHdpdGggaXQuIE15IGRvdWxhIHRyaWVkIHRvIGJ1dCBJIGRvbuKAmXQga25vdy4gVGhlIG51cnNlIEkgZ290IHRoYXQgZGF5IHdhcyBub3QgdmVyeSBoZWxwZnVsLsKgPC9wPjxwPjxiciAvPjwvcD48cD5UaGVuIG15IHBvb3IgaHVzYmFuZCBpcyB1c3VhbGx5IG15IHJvY2suIEhlIGlzIHNvIHN0cm9uZywgYnV0IGhlIGp1c3Qgd2FzIGxpa2UgYSBkZWVyIGluIHRoZSBoZWFkbGlnaHRzIGJlY2F1c2UgaXQgd2FzIGhpcyBmaXJzdCB0aW1lIGdvaW5nIHRocm91Z2ggdGhpcyBhbmQgaXQgd2FzIGp1c3Qgcm91Z2guwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogU28gZmluYWxseSwgdGhhdCBuaWdodCBhdCA4OjAwIFBNLCB0aGUgbWlkd2lmZSBjb21lcyBhbmQgY2hlY2tzLiBTaGXigJlzIGxpa2UsIOKAnFllYWgsIHlvdeKAmXJlIHN0aWxsIG9ubHkgNCBjZW50aW1ldGVycyBkaWxhdGVkLiBJIHRoaW5rIHRoZSBiYWJ5IGlzIGRldmVsb3BpbmcgYSBjYXB1dC7igJ0gSG93IGRvIHlvdSBzYXkgaXQ/wqA8L3A+PHA+PGJyIC8+PC9wPjxwPsKgTWVhZ2FuOiBBIGNhcHV0LsKgPC9wPjxwPjxiciAvPjwvcD48cD5XaGljaCBpcyBpbnRlcmVzdGluZy4gQXQgNCBjZW50aW1ldGVycywgZG8geW91IHJlbWVtYmVyIGhvdyBsb3cgeW91ciBiYWJ5IHdhcz8gQmVjYXVzZSBhdCA0IGNlbnRpbWV0ZXJzLCBiYWJ5IGdldHRpbmcgY2FwdXQsIGJhYnkgbXVzdCBoYXZlIGJlZW4gY29taW5nIGxvdy48L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogQW5kIHRoYXTigJlzIHRoZSB0aGluZywgaGUgd2FzbuKAmXQuIEhlIHdhcyBzdGlsbCBhdCBhIC0yIHN0YXRpb24uwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogSHVoLiBTbyBub3QgZXZlbiBlbmdhZ2VkLsKgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFllYWguIFNvIEkgZG9u4oCZdCBrbm93LiBTaGUgd2FzIGxpa2UsIOKAnFlvdSBrbm93LCBJIHJlYWxseSB0aGluayB5b3UgbmVlZCBhIEMtc2VjdGlvbi4gSSB0aGluayB5b3VyIHBlbHZpcyBpcyB0b28gc21hbGwu4oCdIEkgd2FzIGxpa2UsIOKAnE9rYXkuIFdvdy4gVGhhdCB3YXMgbm90IHNvbWV0aGluZyBJ4oCZZCBldmVyIGJlZW4gdG9sZCBpbiBhbGwgb2YgdGhlc2UgeWVhcnMgb2YgZ29pbmcgdG8gdGhpcyBwcmFjdGljZS7igJ0gU2hlIHdhcyBsaWtlLCDigJxTbyB0aGF0IHdvdWxkIGJlIG15IHJlY29tbWVuZGF0aW9uLiBJIGNvdWxkIGdpdmUgeW91IG9uZSBtb3JlIGhvdXIu4oCdIEkgc2FpZCwg4oCcT2theS7igJ0gSeKAmW0gY3J5aW5nIGF0IHRoaXMgcG9pbnQuIEnigJltIGxpa2UsIOKAnEluIHlvdXIgcHJvZmVzc2lvbmFsIG9waW5pb24sIGRvIHlvdSB0aGluayBhbiBob3VyIHdvdWxkIG1ha2UgYSBkaWZmZXJlbmNlP+KAnSBTaGUgc2FpZCwg4oCcTm8u4oCdwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkFnYWluLCBJIGRpZCB1bHRpbWF0ZWx5IGFncmVlIHRvIHRoYXQgQy1zZWN0aW9uLiBJIHNpZ25lZCBvZmYgb24gaXQsIGJ1dCBJIHdhcyB2ZXJ5IHVwc2V0LiBUaGlzIGlzbuKAmXQgd2hhdCBJIHdhbnQuIEkgd2FzIGhvbmVzdGx5IHNvIG91dCBvZiBpdCBhdCB0aGlzIHBvaW50LiBJdOKAmXMgaGFyZCB0byByZW1lbWJlciBzb21lIG9mIGl0LiBZZWFoLiBBcyBzb29uIGFzIEkgYWdyZWVkLCB0aGV5IGNhbWUgaW4gdGhlcmUuIFRoZXkgZ2l2ZSB5b3UgdGhlIGZvcm0uIFRoZXkgYXJlIHdoZWVsaW5nIHlvdSBkb3duIHRoZSBoYWxsLsKgPC9wPjxwPjxiciAvPjwvcD48cD5UaGVyZSB3YXMgbmV2ZXIgcmVhbGx5IGFuIGlzc3VlIG9mIG15IGJhYnkgYmVpbmcgaW4gZGlzdHJlc3MuIEl0IGp1c3Qgd2FzIGtpbmQgb2YgbGlrZSwg4oCcT2gsIHlvdeKAmXZlIGJlZW4gaGVyZSBmb3IgYSB3aGlsZS4gWW914oCZcmUgbm90IHByb2dyZXNzaW5nLiBMZXTigJlzIGp1c3QgZ28gYWhlYWQgYW5kIGRvIGEgQy1zZWN0aW9uLOKAnSBhbmQgdGhlbiBoZXIgY29tbWVudGluZyB0aGF0IG15IHBlbHZpcyB3YXMgdG9vIHNtYWxsLsKgPC9wPjxwPjxiciAvPjwvcD48aDE+MTY6NTAgSGFubmFo4oCZcyBDLXNlY3Rpb248L2gxPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IEkgZ28gdG8gdGhlIG9wZXJhdGluZyByb29tLiBFdmVyeXRoaW5nIGdvZXMgcHJldHR5IHN0YW5kYXJkLCBidXQgbXkgaHVzYmFuZCBkb2VzIGdvIHRvIHN0YW5kIHVwIHdoZW4gdGhleSBhcmUgZGVsaXZlcmluZyB0aGUgYmFieS4gSGUgd2FzIGxpa2UsIOKAnEdyZWF0LiBJIHdhbnRlZCB0byBzZWUgaXQu4oCdIEFzIHRoZSBkb2N0b3IgZ29lcyB0byBwdWxsIHRoZSBiYWJ5IG91dCwgc2hlIHNheXMsIOKAnE9oLiBJ4oCZdmUgbmV2ZXIgc2VlbiB0aGlzIGJlZm9yZS7igJ0gU2hl4oCZcyBiZWVuIGluIHByYWN0aWNlIGZvciAyNSB5ZWFycy4gSXQgdHVybmVkIG91dCBteSBzb24gaGFkIHRoZSB1bWJpbGljYWwgY29yZCB3cmFwcGVkIGFyb3VuZCBib3RoIGhhbmRzIGFuZCBib3RoIGZlZXQgYW5kIHRoZW4gdGhhdCB3YXMgdG9nZXRoZXIuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogT2guwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogU2hlIHNhaWQsIOKAnE9oLCB5b3VyIGJhYnkgaXMgdGllZC7igJ3CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBXb3cuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogWWVhaCwgc28gaXTigJlzIGxpa2UsIOKAnE9rYXkuIEl0IGRvZXMgbWFrZSBzZW5zZSB3aHkgaGUgd2FzbuKAmXQgZGVzY2VuZGluZy7igJ08L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogWWVhaC7CoDwvcD48cD48YnIgLz48L3A+PHA+SGFubmFoOiBIZeKAmXMgZ29vZC4gSeKAmW0gZ29vZC4gSSBkaWQgaGF2ZSBhIGhhcmQgcmVjb3ZlcnkuIFRoZXkgdHJpZWQgdG8gc2hvdyBoaW0gdG8gbWUuIEkgc3RhcnQgdm9taXRpbmcgb24gdGhlIG9wZXJhdGluZyB0YWJsZSBhbmQgdGhlbiBpdCBqdXN0IGdldHMgYmx1cnJ5IGZyb20gdGhlcmUuIEl0IHdhcyBqdXN0IHJlYWxseSBoYXJkLiBJIGRvbuKAmXQgcmVtZW1iZXIgaG9sZGluZyBoaW0gZm9yIHRoZSBmaXJzdCB0aW1lIGluIHRoZSByZWNvdmVyeSByb29tLiBBbGwgb2YgaXQgaXMgdmVyeSBibHVycnkgdW50aWwgdGhlIG5leHQgbW9ybmluZy4gWWVhaCwgYnV0IG92ZXJhbGwsIHJlY292ZXJ5IHdlbnQgd2VsbC4gSSBoYWQgYSB2ZXJ5IGhhcmQgdGltZSBicmVhc3RmZWVkaW5nIGhpbS4gSGUgd2FzIGEgdmVyeSwgdmVyeSB0ZW5zZSBiYWJ54oCTIHRvbmd1ZSB0aWUsIGxpcCB0aWUsIGFuZCBhbGwgb2YgdGhhdCwgc28gdGhhdCB3YXMgc3RyZXNzZnVsLsKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IE1hbiwgeW91IGhhZCBhIGxvdC4gVGhhdCB3YXMgYSBsb3QuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogWWVhaC4gSXQgd2FzIGhhcmQuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogWWVhaC4gSXTigJlzIGtpbmQgb2YgaW50ZXJlc3RpbmcgYmVjYXVzZSBrbm93aW5nIHRoYXQsIOKAnE9oLCB5ZWFoIHlvdXIgYmFieSB3YXMgcmVhbGx5IHdvdW5kIHVwIGluIGhlcmUs4oCdIHRoYXQgd291bGQgbWFrZSBtb3JlIHNlbnNlIHRoYW4ganVzdCBkaWFnbm9zaW5nIHlvdSB3aXRoIENQRC7CoDwvcD48cD48YnIgLz48L3A+PHA+SGFubmFoOiBZZXMuIFRoYXTigJlzIHdoYXQgSSB0aG91Z2h0LiBJIHdhcyBsaWtlLCDigJxPa2F5LuKAnSBUaGUgbWlkd2lmZSB3YXMgc2F5aW5nIHRoYXQgZHVyaW5nIGxhYm9yLiBNYXliZSBzaGUganVzdCB0aG91Z2h0IHRoYXQgYmVjYXVzZSBJIHdhc27igJl0IHByb2dyZXNzaW5nLCBiYWJ5IHdhc27igJl0IGRlc2NlbmRpbmcuIFNvIHRoZW4gYXQgbXkgc2l4LXdlZWsgY2hlY2t1cCwgSSBhc2tlZCB0byBzZWUgdGhlIGRvY3RvciB3aG8gZGVsaXZlcmVkIG15IHNvbiBpbiB0aGUgc3VyZ2VyeS4gSSBzYXcgaGVyIGFuZCBJIHdhcyBqdXN0IGRlYnJpZWZpbmcgd2l0aCBoZXIuIEkgc2FpZCwg4oCcRG8geW91IHRoaW5rIHRoYXQgd2FzIHRoZSByZWFzb24gaGUgY291bGRu4oCZdCBjb21lIG91dD/igJ0gU2hlIHdhcyBsaWtlLCDigJxZZWFoLCBwcm9iYWJseS7igJ0gQnV0IHRoZW4gc2hlIGRpZG7igJl0IGV2ZW4gcmVhbGx5IGV4YW1pbmUgbWUuIEkgaGFkIHRvIGFzay4gSSB3YXMgbGlrZSwg4oCcQXJlIHlvdSBnb2luZyB0byBjaGVjayBteSBDLXNlY3Rpb24gc2Nhcj8gQXJlIHlvdSBnb2luZyB0byBkbyBhbiBpbnRlcm5hbD8gV2hhdCBhbSBJIGhlcmUgZm9yP+KAnSBTaGUgd2FzIGxpa2UsIOKAnFllYWgsIGZpbmUuIEkgY2FuIGRvIHRoYXQu4oCdIFNoZSBnb2VzLCDigJxPaCwgbm8uIFlvdSBoYXZlIGEgZmxhdCBwdWJpYyBib25lLiBZb3Ugc2hvdWxkbuKAmXQgZXZlbiB0cnkgdG8gaGF2ZSBhIFZCQUMs4oCdIHRoZW4gYmFzaWNhbGx5IHdhbGtzIG91dCBvZiB0aGUgcm9vbSBhcyBJ4oCZbSBjcnlpbmcuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogT2ggbXkgZ29zaC4gSSBoYXZlIGEgcXVlc3Rpb24gZm9yIFJlYmVjY2EgaW4gaGVyZSBhbmQgcGVsdmljIGZsb29yIGFuZCBzdHVmZi4gRG8geW91IHNlZSBmbGF0IHB1YmljIGJvbmVzIGFuZCBpcyB0aGF0IHRydWx5IHNvbWV0aGluZyB0aGF0IGNhdXNlcyBhbiBpc3N1ZT88L3A+PHA+PGJyIC8+PC9wPjxoMT4xOTozNiBSZWJlY2Nh4oCZcyB0aG91Z2h0cyBhYm91dCBwZWx2aWMgYm9uZSBzdHJ1Y3R1cmU8L2gxPjxwPjxiciAvPjwvcD48cD5SZWJlY2NhOiBJIGNhbuKAmXQgaW1hZ2luZSBzby4gSSBtZWFuLCBpZiB5b3UgdGhpbmsgYWJvdXQgdGhlIHdheSB0aGF0IHRoZSBiYWJ5IGNvbWVzIGRvd24sIHRoZSBwdWJpYyBib25lcyBhcmUgbm90IHN1cGVyIGludm9sdmVkLiBZb3UgaGF2ZSB0aGUgcHViaWMgc3ltcGh5c2lzIHdoaWNoIGlzIHRoZSBsaXR0bGUgY2FydGlsYWdlIGJldHdlZW4gdGhlIHB1YmljIGJvbmVzLiBUaGF0IGdldHMgc29mdCBqdXN0IGxpa2UgYWxsIG9mIG91ciBvdGhlciBqb2ludHMgZHVlIHRvIHJlbGF4aW4gYW5kIHRoYXQgbWFrZXMgZXZlcnl0aGluZyBtb3ZlYWJsZS4gVGhlcmUgYXJlIHBlb3BsZSB3aG8gZXZlbiBoYXZlIHRoYXQgc2VwYXJhdGUuIFRoZSBzaGFwZSBvZiB0aGUgcHViaWMgYm9uZXPigJMgaXQganVzdCBzZWVtcyBhIGxpdHRsZSBiaXQgb2RkIHRvIG1lLsKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IFllYWguIFllYWguIEludGVyZXN0aW5nLiBJIG1lYW4sIEnigJltIHRoaW5raW5nIHRoYXQgSSBjYW4gcHV0IG15IGZpbmdlcnMgZXhhY3RseSB3aGVyZSBJIGZlbHQgd2hlbiBtaW5lIGRpZCBzdGFydCB0byBzZXBhcmF0ZSBhbmQgSSBoYXZlIGEgd29ua3kgcGVsdmlzIHRvby4gTXkgcGVsdmlzIGdvZXMgYWxsIGZ1bmt5LiBJdOKAmXMganVzdCBzbyBpbnRlcmVzdGluZyB0byBtZSB0byBhbHdheXMgaGVhciB0aGF0IHByb3ZpZGVycyBqdW1wIHJpZ2h0IHRvLCDigJxZb3VyIGJvbmVzIGFyZSBub3QgZ29vZCBlbm91Z2gu4oCdPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFllYWguIFllYWguIFRoYXQgd2FzIHNvIGhhcmQgdG8gaGVhciBiZWNhdXNlIGl0IHdhcyBsaWtlLCDigJxPaCwgc29tZXRoaW5nIGlzIHdyb25nIHdpdGggbWUuIEl04oCZcyBteSBmYXVsdC7igJ0gVGhlbiBhIG1pZHdpZmUgd2hvIEkgd2FzIGNsb3NlciB3aXRoIHRoZXJlLCB3aGVuIEkgc2F3IGhlciB3aGVuIG15IGJhYnkgd2FzIGFib3V0IDYgbW9udGhzIG9sZCBmb3IganVzdCBteSBhbm51YWwgZXhhbSwgSSBhc2tlZCBoZXIgYWJvdXQgdGhhdCBjb21tZW50LiBTaGUgc2FpZCwg4oCcT2gsIEkgdGhpbmsgd2hhdCBzaGUgd2FzIHNheWluZyBpcyB5b3UgaGF2ZSBhIG5hcnJvdyBwZWx2aWMgYXJjaC7igJ0gT2theS7CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBPa2F5LCBhbGwgcmlnaHQuwqA8L3A+PHA+PGJyIC8+PC9wPjxoMT4yMjo0MiBTZWNvbmQgcHJlZ25hbmN5PC9oMT48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBEaWQgeW91IGdvIGludG8gdGhpcyBuZXh0IHByZWduYW5jeSBmZWVsaW5nIGRvdWJ0ZnVsIG9mIHlvdXIgcGVsdmlzPzwvcD48cD48YnIgLz48L3A+PHA+SGFubmFoOiBPaCBhYnNvbHV0ZWx5LiBZZXMuIFllYWguIEkgZGVmaW5pdGVseSB3YXMgdmVyeSBuZXJ2b3VzLiBJIG1lYW4sIEkgcmVtZW1iZXIgc2VhcmNoaW5nIHRocm91Z2ggZ3JvdXBzIG9uIEZhY2Vib29rIG9yIHRoZSBCYWJ5c2l0dGVyIEFwcCDigJxGbGF0IHB1YmljIGJvbmUsIG5hcnJvdyBwZWx2aWMgYXJjaOKAnSB0byBzZWUgaWYgYW55b25lIGVsc2UgaGFkIGJlZW4gZGlhZ25vc2VkIHdpdGggdGhhdCBhbmQgZ29uZSBvbiB0byBzdWNjZXNzZnVsbHkgaGF2ZSBhIFZCQUMuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogUmlnaHQsIHllYWguIFNvIGJhYnkgIzIuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogWWVwLiBJIGVuZGVkIHVwIGFjdHVhbGx5IGdldHRpbmcgcHJlZ25hbnQgd2hlbiBteSBmaXJzdCBzb24gd2FzIGFib3V0IDMgeWVhcnMgb2xkLiBJIGxpdGVyYWxseSBoYWQganVzdCBiZWVuIGRyZWFtaW5nIGFib3V0IGhhdmluZyBhIFZCQUMgc2luY2UgbXkgZmlyc3Qgc29uIHdhcyBib3JuLiBJIGZlZWwgc28gdGhhbmtmdWwgdGhhdCBJIGZvdW5kIHlvdXIgcG9kY2FzdCwgdGhlIEZhY2Vib29rIGNvbW11bml0eSBvZiBUaGUgVkJBQyBMaW5rIGFuZCBJIGFsc28gZm91bmQgbXkgbG9jYWwgSUNBTiBncm91cCB3aG8ganVzdCB3YXMgc28gaGVscGZ1bCBpbiBmaW5kaW5nIG15IG5ldyBwcm92aWRlci4gSSBzd2l0Y2hlZCB0byB0aGF0IG5ldyBwcm92aWRlciBiZWZvcmUgSSBldmVuIGdvdCBwcmVnbmFudCBqdXN0IGJlY2F1c2UgSSBrbmV3IEkgd2FzIG5vdCBnb2luZyBiYWNrIHRvIHRoYXQgZmlyc3QgcHJhY3RpY2UgZXZlciBmb3IgYW55dGhpbmcuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogWWVhaC4gVGhhdOKAmXMgYWN0dWFsbHkgc29tZXRoaW5nIEkgc3VnZ2VzdCBoaWdobHkuIEEgbG90IG9mIHRoZSB0aW1lLCB3ZSBkb27igJl0IHRoaW5rIGFib3V0IGZpbmRpbmcgdGhhdCBwcm92aWRlciB1bnRpbCB3ZSBhcmUgcHJlZ25hbnQsIGJ1dCBmaW5kaW5nIGEgcHJvdmlkZXIgd2hlbiB3ZeKAmXJlIG5vdCBwcmVnbmFudCBpcyBraW5kIG9mIHdlaXJkLiBUaGVyZSBpcyB0aGlzIHZ1bG5lcmFiaWxpdHkgdGhhdCB3ZSBkb27igJl0IGhhdmUuIFdlIGhhdmUgdGhpc+KAkyBpdCBzb3VuZHMgc2lsbHnigJMgdG91Z2hlciBza2luIHdoZW4gd2XigJlyZSBub3QgcHJlZ25hbnQuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogTm8sIEkgdG90YWxseSBnZXQgdGhhdC7CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBZb3XigJlyZSBpbiBhIGRpZmZlcmVudCBoZWFkc3BhY2UuIFlvdeKAmXJlIGxpa2UsIOKAnE5vLCBJIGFscmVhZHkga25vdyBJ4oCZbSBub3QgZ29pbmcgYmFjayB0byB0aGlzIHBlcnNvbi4gSeKAmW0gZ29pbmcgdG8gZmluZCB0aGlzIG5ldyBwZXJzb24gYW5kIGdvIG5vdy7igJ3CoDwvcD48cD48YnIgLz48L3A+PHA+SGFubmFoOiBZZWFoLiBTbyB0aGFua2Z1bGx5LCBJIGRpZCBmaW5kIHRoZW0uIFRoZSBob3NwaXRhbCB3YXMgYSA0NS1taW51dGUgZHJpdmUgc28gaXQgd2FzIGEgYmlnIGRpZmZlcmVuY2UgZnJvbSBteSBmaXJzdCB3aGVyZSB0aGUgaG9zcGl0YWwgd2FzIG9ubHkgMjAgbWludXRlcyBhd2F5LCBidXQgdGhhdCB3YXMgc28gd29ydGggaXQgdG8gbWUuIEkgd2FzIHByZWduYW50IGR1cmluZyBDT1ZJRC4gSSBnb3QgcHJlZ25hbnQgaW4gU2VwdGVtYmVyIDIwMjAsIHNvIHRoaW5ncyB3ZXJlIHdlaXJkIGFueXdheS4gQXBwb2ludG1lbnRzIHdlcmUgbW9yZSBzcGFjZWQgb3V0LiBTb21lIG9mIHRoZW0gd2VyZSB2aXJ0dWFsLiBJIGZlZWwgYmFkIHNheWluZyB0aGlzIGJlY2F1c2UgSSBrbm93IHNvIG1hbnkgcGVvcGxlIGhhZCBhIGhhcmQgdGltZSB3aXRoIG5vdCBoYXZpbmcgdGhlaXIgaHVzYmFuZHMgb3IgcGFydG5lcnMgY29tZSB3aXRoIHRoZW0gdG8gYXBwb2ludG1lbnRzLCBidXQgaXQgYWN0dWFsbHkgd2FzIGtpbmQgb2YgbmljZSB0aGF0IEkgZGlkbuKAmXQgaGF2ZSB0byBnbyBpbiBhcyBtdWNoIGp1c3QgYmVjYXVzZSBvZiBteSBhbnhpZXR5IHdpdGggdGhlIGRvY3RvcuKAmXMgb2ZmaWNlLsKgPC9wPjxwPjxiciAvPjwvcD48cD5CdXQgSSByZWFsbHkgZGlkIGxpa2UgdGhlIG1pZHdpdmVzIHRoYXQgSSB3YXMgc2VlaW5nIGF0IHRoaXMgbmV3IHByYWN0aWNlIGFuZCB0aGUgaXNzdWUgYWJvdXQgbXkgYmxvb2QgcHJlc3N1cmUgZGlkIGdldCBicm91Z2h0IHVwLiBJIGhhZCBhIGNvdXBsZSBvZiBoaWdoIHJlYWRpbmdzIGVhcmx5IG9uIGluIHRoZSBwcmVnbmFuY3kuIEkgdGhpbmsgSSB3ZW50IHRvIG15IGZpcnN0IGFwcG9pbnRtZW50IGFyb3VuZCAxMyB3ZWVrcyBpbiBwZXJzb24gYW5kIGRlZmluaXRlbHkgaGFkIGEgaGlnaCByZWFkaW5nLiBJdCBzb3VuZGVkIGxpa2UgdGhleSBhY3R1YWxseSBiZWxpZXZlZCBtZSB0aGlzIHRpbWUgdGhvdWdoLiBXaGVuIEkgdG9sZCB0aGVtIGFib3V0IHRoZSB3aGl0ZSBjb2F0IHN5bmRyb21lIGFuZCBteSBwYXN0LCB0aGV5IHRvb2sgbXkgd29yZCBhbmQgd2VyZSBsaWtlLCDigJxXZSBnZXQgaXQuIFdlIHNlZSBpdCBhbGwgdGhlIHRpbWUuIEhhdmUgYSBibG9vZCBwcmVzc3VyZSBtb25pdG9yIGF0IGhvbWUgYW5kIGlmIHlvdSBjb3VsZCBhdCB5b3VyIG5leHQgYXBwb2ludG1lbnQsIGJyaW5nIGl0IGluLiBXZeKAmWxsIHRlc3QgeW91ciBibG9vZCBwcmVzc3VyZSBvbiB0aGF0IGFuZCBvbiB0aGUgbWFjaGluZSBqdXN0IHRvIG1ha2Ugc3VyZSBpdOKAmXMgYWNjdXJhdGUu4oCdwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkp1c3Qgd2l0aCB0aGF0LCBJIGZlbHQgc28gdmFsaWRhdGVkLsKgPC9wPjxwPjxiciAvPjwvcD48cD5SZWJlY2NhOiBJIHdhcyBqdXN0IGdvaW5nIHRvIHNheSB0aGF04oCZcyByZWFsbHkgd29uZGVyZnVsIHRoYXQgeW91ciBwcm92aWRlcnMgZGlkIHRoYXQgYW5kIHRoZXkganVzdCBhY2NlcHRlZCB5b3UgYXQgeW91ciB3b3JkLiBUaGF04oCZcyByZWFsbHkgYmVhdXRpZnVsLsKgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFllYWguIEkgZmVsdCBsaWtlIHRoYXQgd2FzIHN1Y2ggYSBkaWZmZXJlbmNlLiBQZW9wbGUgdGFsayBhYm91dCByZWQgZmxhZ3MgYWxsIHRoZSB0aW1lLCBidXQgSSBmZWx0IGxpa2UgdGhhdCB3YXMgYSBncmVlbiBmbGFnIGxpa2UsIOKAnE9rYXkuIFRoaXMgaXMgc29tZW9uZSB3aG8gaXMgYWN0dWFsbHkgbGlzdGVuaW5nIHRvIG1lIGFzIGEgcGF0aWVudC7igJ3CoDwvcD48cD48YnIgLz48L3A+PHA+VGhpbmdzIHdlbnQgZ3JlYXQuIEkgYWN0dWFsbHkgZ290IHRvIGEgcG9pbnQgd2hlcmUgbXkgcmVhZGluZ3MgaW4gdGhlIG9mZmljZSB3ZXJlIG5vcm1hbC4gSSB0aGluayBqdXN0IGZyb20gZmVlbGluZyBtb3JlIHJlbGF4ZWQgYW5kIG1vcmUgc3VwcG9ydGVkLiBJIGJyb3VnaHQgdXAgdGhlIHdob2xlIHNtYWxsIHBlbHZpcyB0aGluZy4gSSBoYWQgc2V2ZXJhbCBtaWR3aXZlcyBzYXksIOKAnEkgZG9u4oCZdCBiZWxpZXZlIHRoYXQuIFdlIGhlYXIgdGhhdCBhbGwgdGhlIHRpbWUuIFdl4oCZcmUgbm90IGdvaW5nIHRvIHdvcnJ5IGFib3V0IHRoYXQu4oCdIFNvIGV2ZXJ5dGhpbmcgd2VudCBncmVhdCB1cCB1bnRpbCBhYm91dCAzNyB3ZWVrcyB3aGVuIEkgZ290IENPVklELiBUaGFuayBHb2QgSSBkaWQgbm90IGhhdmUgYSBoYXJkIHRpbWUgd2l0aCBpdCBhdCBhbGwuIEl0IHdhcyBhIHNpbnVzIGluZmVjdGlvbiwgYnV0IEkgbWlzc2VkIG15IDM3LXdlZWsgYXBwb2ludG1lbnQgdGhlbiB3aGVuIEkgd2VudCBpbiBmb3IgbXkgMzgtd2VlayBhcHBvaW50bWVudCwgbXkgYmxvb2QgcHJlc3N1cmUgd2FzIGVsZXZhdGVkIHNvIHRoYXQgd2FzIGNvbmNlcm5pbmcgZm9yIHRoZW0gZ2l2ZW4gbXkgaGlzdG9yeS7CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBUaGF04oCZcyBpbnRlcmVzdGluZy4gSeKAmW0gY3VyaW91cyBpZiBpdCB3YXMgY29ycmVsYXRlZCBhdCBhbGwsIG9yIGlmIGl0IHdhcyBqdXN0IHlvdXIgaGlzdG9yeSBiZWNhdXNlIHNvbWV0aW1lcyB3ZSBrbm93IGlmIHdl4oCZdmUgZ290IHByZWVjbGFtcHNpYSBpbiB0aGUgcGFzdCwgd2UgbWF5IGJlIG1vcmUgbGlrZWx5IHRvIGhhdmUgaXQgaW4gdGhlIGZ1dHVyZSwgYnV0IEnigJltIGN1cmlvdXMgaWYgdGhhdOKAmXMgcmVsYXRlZCBhdCBhbGwuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogSSBrbm93LiBJIGtub3cuIEnigJl2ZSB3b25kZXJlZCB0aGF0IGFuZCBpdOKAmXMgc28gaGFyZCBiZWNhdXNlIEkgZG9u4oCZdCB0aGluayBJ4oCZbGwgZXZlciBkZWZpbml0aXZlbHkga25vdywgYnV0IGl0IHNlZW1zIGxpa2UsIOKAnE9oLCB5b3Ugd2VyZSBmaW5lIGF0IDM2IHdlZWtzLiBZb3UgZ2V0IENPVklEIGF0IDM3IHdlZWtzIGFuZCB0aGVuIGhpZ2ggYmxvb2QgcHJlc3N1cmUgdGhlIG5leHQgd2Vlay7igJ0gQnV0IEkgd2FzIGFsc28gZ29pbmcgdGhyb3VnaCBzb21lIG90aGVyIHN0cmVzc2Z1bCB0aGluZ3MuIEkgaGFkIGEgZmFtaWx5IG1lbWJlciBwYXNzIGF3YXkuIEkgaGFkIGEgc2l0dWF0aW9uIHdpdGggbXkgZG9nIHdoZXJlIGhlIGFsbW9zdCBwYXNzZWQgYXdheSBhbmQgdGhhdOKAmXMgbGlrZSBteSBmaXJzdCBiYWJ5LiBPaCwgYW5kIHRoZW4gSSBicm9rZSBteSBmb290IGF0IDM2IHdlZWtzIHByZWduYW50LsKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IE9oIG15IGdvc2guIE9oIG15IGdvc2guwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogWWVhaC4gSSBrbm93LsKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IEhvbHkgY293LsKgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IEl0IHNvdW5kcyBpbnNhbmUuIEl0IHNvdW5kcyBpbnNhbmUsIGJ1dCBhbnl3YXkuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogVGhhdOKAmXMgYSBsb3QgdG8gZW5kdXJlIHJpZ2h0IGJlZm9yZSB5b3VyIGJpcnRoLsKgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFllYWgsIHNvIEnigJltIGxpa2UsIGl0IHByb2JhYmx5IHdhc27igJl0IHRoZSBDT1ZJRCwgaXQgcHJvYmFibHkgd2FzIHRoZSBzdHJlc3MuIFNvcnJ5LCBJ4oCZbSBsYXVnaGluZyBidXQgdGhhdOKAmXMganVzdCBteSB3YXkgb2YgZGVhbGluZyB3aXRoIHN0cmVzcy4gU28gSSBnbyB0byB0aGF0IGFwcG9pbnRtZW50IGFuZCB0aGV5IGdvLCDigJxPb2gsIHlvdXIgYmxvb2QgcHJlc3N1cmUgaXMgaGlnaC7igJ0gVGhleSBkaWQgZG8gYW4gTlNUIG9uIHRoZSBiYWJ5IGFuZCB1bmZvcnR1bmF0ZWx5LCBJIGZlZWwgbGlrZSB0aGlzIGhhcHBlbnMgdG8gbWUgYW5kIG90aGVyIHBlb3BsZSBhIGxvdC4gVGhpcyBtaWR3aWZlIHRoYXQgcGFydGljdWxhciBkYXkgSSBoYWQgbm90IG1ldCB5ZXQgYW5kIHNoZSB3YXMgZGVmaW5pdGVseSBvbmUgb2YgdGhlIG1vcmUgc3RyaWN0IG9uZXMuIFNoZSB3YXMgbGlrZSwg4oCcWW91IGtub3csIEkgcmVhbGx5IHRoaW5rIHlvdSBuZWVkIHRvIGdvIHRvIHRoZSBob3NwaXRhbCB0byBiZSBtb25pdG9yZWQu4oCdIEkgd2FzIGxpa2UsIOKAnFdlbGwsIGxldOKAmXMgZG8gdGhlIE5TVC4gTGV04oCZcyBzZWUgaG93IHRoYXQgZ29lcy7igJ3CoDwvcD48cD48YnIgLz48L3A+PHA+VGhleSBoYWQgdGFrZW4gbXkgYmxvb2R3b3JrLiBJIHdhcyBsaWtlLCDigJxDYW4gd2UganVzdCB3YWl0IGFuZCBzZWUgd2hhdCB0aGUgYmxvb2R3b3JrIGNvbWVzIGJhY2sgYXM/4oCdIFNoZSBraW5kIG9mIGdhdmUgbWUgYSBoYXJkIHRpbWUgYWJvdXQgdGhhdC4gU2hlIHdhcyBsaWtlLCDigJxZb3UgZG9u4oCZdCB3YW50IHRvIGxlYXZlIGhlcmUgbm90IGtub3dpbmcgaWYgeW91ciBiYWJ5IGlzIG9rYXku4oCdIEnigJltIGxpa2UsIOKAnEkgZmVlbCBsaWtlIG15IGJhYnkgaXMgZmluZS7igJ3CoDwvcD48cD48YnIgLz48L3A+PHA+SSByZW1lbWJlciBjYWxsaW5nIG15IGRvdWxhIG9uIHRoZSB3YXkgaG9tZSBqdXN0IGh5c3RlcmljYWwgYWJvdXQgaGVyIHNheWluZyB0aGF0IGFuZCB0aGFua2Z1bGx5LCBteSBkb3VsYSB3YXMgYW1hemluZyBhbmQganVzdCBsaWtlLCDigJxEb27igJl0IHdvcnJ5IGFib3V0IGl0LiBUaGV5IGFyZSBjaGVja2luZyB5b3VyIGJsb29kLiBFdmVyeXRoaW5nIHdpbGwgYmUgZmluZS7igJ0gSSBkaWQgZ28gaG9tZS4gSSByZXN0ZWQuIFRoYW5rZnVsbHksIG15IG9sZGVyIHNvbiB3YXMgd2l0aCBteSBtb3RoZXItaW4tbGF3LCBidXQgdGhlbiB0aGF0IGV2ZW5pbmcsIEkgZ290IGEgY2FsbCBhbmQgdGhleSB3ZXJlIGxpa2UsIOKAnEhhbm5haCwgeW91IGFyZSBzaG93aW5nIHNvbWUgc2lnbnMgaW4geW91ciBsYWJzIG9uIHRoZSBhY3R1YWwgYmxvb2R3b3JrIG9mIGJvcmRlcmxpbmUgcHJlZWNsYW1wc2lhLOKAnSBpcyB3aGF0IHRoZXkgd2VyZSBzYXlpbmcuwqA8L3A+PHA+PGJyIC8+PC9wPjxoMT4yOTowMSBBIG1lZGljYWxseSBuZWNlc3NhcnkgaW5kdWN0aW9uPC9oMT48cD48YnIgLz48L3A+PHA+SGFubmFoOiBUaGlzIHdhcyBhIGRpZmZlcmVudCBtaWR3aWZlIHRoYW4gSSB3YXMgc2VlaW5nIGVhcmxpZXIgaW4gdGhlIGRheS4gU2hlIHNhaWQsIOKAnEkgZG8gdGhpbmsgeW91IG5lZWQgdG8gY29tZSB0byB0aGUgaG9zcGl0YWwgYW5kIGhhdmUgYSBiYWJ5IHRvbmlnaHQu4oCdIFRoYXQgd2FzIHJlYWxseSBzY2FyeSBmb3IgbWUgaW4gdGhhdCBtb21lbnQuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogWWVhaCwgaXTigJlzIGhhcmQgYmVjYXVzZSB5b3UgYXJlIGxpa2UsIOKAnFRoaXMgaXMgbm90IHdoYXQgSSB3YW50ZWQu4oCdIEl04oCZcyBoYXJkIHRvIG1lbnRhbGx5IGdvIGJhY2sgdG8gdGhlIHNhbWUgYmVnaW5uaW5nIGluIGEgd2F5LsKgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFllYWguIFllYWguIEkgbWVhbiwgSSBqdXN0IHJlbWVtYmVyIGNhbGxpbmcgbXkgaHVzYmFuZC4gSGUgd2FzIHN0aWxsIGF0IHdvcmsgYW5kIEkgd2FzIGp1c3QgaHlzdGVyaWNhbC4gSSB3YXMgbGlrZSwg4oCcVGhpcyBpcyBnb2luZyB0byBlbmQgaW4gYSBDLXNlY3Rpb24gYWdhaW4uIFRoaXMgaXMgZXhhY3RseSB3aGF0IEkgd2FzIHdvcnJpZWQgYWJvdXQu4oCdIEhlIHRoYW5rZnVsbHkgd2FzIHNvIGNhbG1pbmcgYW5kIHdhcyBsaWtlLCDigJxZb3UgY2Fu4oCZdCB0aGluayBsaWtlIHRoYXQuIExldOKAmXMganVzdCBnbyBhbmQgc2VlIHdoYXQgaGFwcGVucy7igJ3CoDwvcD48cD48YnIgLz48L3A+PHA+SGUgY29tZXMgaG9tZS4gV2UgcGFjayBvdXIgc3R1ZmYgdXAgYW5kIHdlIGRyaXZlIHRoZSA0NSBtaW51dGVzIHRvIHRoZSBob3NwaXRhbC4gV2UgZ2V0IHRoZXJlIGFuZCBJ4oCZbSBqdXN0IHZlcnkgZGlzdHJlc3NlZCBieSBoYXZpbmcgdGhlIHN3ZWV0ZXN0IG1pZHdpZmUgd2hvIGp1c3Qgc2F0IG9uIHRoZSBiZWQgd2l0aCBtZSBhbmQgd2FzIGhvbGRpbmcgbXkgaGFuZCBhbmQgd2FzIGxpa2UsIOKAnExvb2ssIGl04oCZcyBnb2luZyB0byBiZSBva2F5LiBFdmVyeXRoaW5nIGlzIGdvaW5nIHRvIGJlIGZpbmUuIFdl4oCZcmUgZ29pbmcgdG8gZG8gZXZlcnl0aGluZyBpbiBvdXIgcG93ZXIgdG8gZ2V0IHlvdSB0aGlzIFZCQUMuIERvIG5vdCBsZXQgdGhpcyBtYWtlIHlvdSBmZWVsIGxpa2UgdGhhdOKAmXMgbm90IGhhcHBlbmluZyBub3cu4oCdwqA8L3A+PHA+PGJyIC8+PC9wPjxwPlNvIHRoYXQgd2FzIHNvIGNvbWZvcnRpbmcgYW5kIGJlaW5nIDM4IHdlZWtzLCBJIHdhcyBub3QgZGlsYXRlZCBhdCBhbGwuIEkgdGhpbmsgSSB3YXMgbWF5YmUgNTAlIGVmZmFjZWQgYW5kIHRoZSBiYWJ5IHdhcyBhdCAtMiBzdGF0aW9uIHNvIHdlIGRlZmluaXRlbHkgaGFkIHRvIGRvIHRoZSB3aG9sZSBGb2xleSBidWxiIGFnYWluIHdoaWNoIGZvciBhbnlvbmUgd2hvIGhhcyBoYWQgdGhhdCBkb25l4oCTPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IFNvIHlvdSBoYXZlIGEgRm9sZXkgcGxhY2VkIHdpdGggYSBjbG9zZWQgY2Vydml4LsKgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFllYWguwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogWW914oCZcmUgYSBjaGFtcC4gVGhhdCBpcyBkZWZpbml0ZWx5IHNvbWV0aGluZyB0aGF0IGlzIG5vdCBzdXBlciBjb21mb3J0YWJsZSBmb3IgdGhlIGxpc3RlbmVycyB0byBrbm93LCBidXQgaXQgaXMgcG9zc2libGUgZXZlbiB0aG91Z2ggYSBsb3Qgb2YgcHJvdmlkZXJzIHNheSBpdOKAmXMgbm90LsKgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFllYWgsIGFuZCBJIGhlYXIgdGhhdCBhIGxvdC4gSSBndWVzcyBJIGp1c3QgZ290IHZlcnkgZm9ydHVuYXRlIHdpdGggdGhlIG1pZHdpZmUgd2hvIHdhcyBvbiBjYWxsLiBUaGV5IGRlZmluaXRlbHkgZGlkIGdpdmUgbWUgc29tZSBtZWRpY2F0aW9uIHRvIGhlbHAgbWUgcmVsYXguwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogRmVudGFueWwgb3Igc29tZXRoaW5nP8KgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IEFjdHVhbGx5IEFkYXZhbi48L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogT2ggQWRhdmFuPzwvcD48cD48YnIgLz48L3A+PHA+SGFubmFoOiBJIGhhdmUgdmVyeSBiYWQgYW54aWV0eSBhbnl3YXkgYW5kIHRoZXkgZ2F2ZSBtZSB0aGF0IHRvIGhlbHAgbWUgcmVsYXggd2hpY2ggaXQgZGlkLiBUaGV5IGdvdCB0aGF0IGluc2VydGVkIGFuZCBpdCB3YXMgc28gd2VpcmQgYmVjYXVzZSB0aGUgdGltZSBJIHdhcyBleHBlY3RpbmcgdGhlIHNhbWUgdGhpbmcgd2l0aCBteSBmaXJzdCwg4oCcT2gsIGl0IGNvbWVzIG91dCBpbiBhbiBob3VyIGFuZCBhIGhhbGYu4oCdIEl0IGRpZG7igJl0LiBJdCB3YXMgdGhlcmUgZm9yIHRoZSB3aG9sZSAxMiBob3Vycy7CoDwvcD48cD48YnIgLz48L3A+PHA+VGhlIG5leHQgbW9ybmluZywgdGhleSBzdGFydGVkIFBpdG9jaW4uIEV2ZW50dWFsbHksIEkgdGhpbmsgdGhleSBqdXN0IHRvb2sgdGhlIEZvbGV5IGJ1bGIgb3V0IGFuZCBJIHRoaW5rIGF0IHRoYXQgcG9pbnQgSSB3YXMgbWF5YmUgMyBjZW50aW1ldGVycyBkaWxhdGVkLiBJIHdhcyBvbiBQaXRvY2luIGZvciA1IG9yIDYgaG91cnMgYnV0IGl0IHdhcyBqdXN0IHNvIGNyYXp5IHRvIG1lIGJlY2F1c2UgZXZlbiB3aXRoIGl0IGJlaW5nIENPVklEIHRpbWVzLCBJIHdhcyBhbGxvd2VkIHRvIHdhbGsgYXJvdW5kIHRoZSBoYWxscy4gSSBoYWQgd2lyZWxlc3MgbW9uaXRvcmluZy4gVGhleSBldmVuIGxldCBtZSBnZXQgaW4gdGhlIGJhdGh0dWIgaW4gdGhlIHJvb20uIEl0IHdhcyBqdXN0IHNvIGRpZmZlcmVudCBmcm9tIHRoZSBleHBlcmllbmNlIHRoYXQgSSBoYWQgYXQgdGhlIGhvc3BpdGFsIHdpdGggbXkgZmlyc3QuIEkganVzdCByZWFsbHkgbG92ZWQgdGhlaXIgcHJvY2Vzcy7CoDwvcD48cD48YnIgLz48L3A+PHA+VGhleSwgb2YgY291cnNlLCB3ZXJlIGtpbmQgb2YgY29uY2VybmVkIHdpdGggdGhlIHByZWVjbGFtcHNpYSBkaWFnbm9zaXMsIGJ1dCBzaW5jZSBteSBsYWJzIHdlcmUgc3RheWluZyBzdGFibGUsIG15IGJsb29kIHByZXNzdXJlcyB3ZXJlbuKAmXQgcmlzaW5nLCBJIHRoaW5rIHRoZXkgd2VyZSBwcm9iYWJseSBpbiB0aGUgMTQwcy9oaWdoIDgwcy1sb3cgOTBzIHJhbmdlLCB0aGV5IHJlYWxseSBkaWQgbGV0IG1lIHRha2UgaXQgc2xvdyBzaW5jZSB0aGVyZSB3YXNu4oCZdCBhIG1ham9yIGNvbmNlcm4gZm9yIG1lIG9yIHRoZSBiYWJ54oCZcyBoZWFsdGggaW4gcmVnYXJkcyB0byB0aGUgYmxvb2QgcHJlc3N1cmUuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkkgcmVtZW1iZXIgdGhleSBldmVuIHR1cm5lZCBteSBQaXRvY2luIG9mZiBmb3IgYSBsaXR0bGUgYml0IHRoaXMgYWZ0ZXJub29uIGFuZCBvbmUgb2YgdGhlIG1pZHdpdmVzIHdhcyBsaWtlLCDigJxIZXksIHRoaXMgaXMgc29tZXRoaW5nIHRoYXQgbWF5IG5vdCB3b3JrLCBidXQgd291bGQgeW91IGJlIHdpbGxpbmcgdG8gdGFrZSBzb21lIFR1bXM/IFRoZXJlIGlzIHJlc2VhcmNoIHNob3dpbmcgdGhhdCBpdCBjb3VsZCBwb3NzaWJseSByZXNldCB5b3VyIG94eXRvY2luIHJlY2VwdG9ycyBpbiB5b3VyIHV0ZXJ1cy7igJ0gSSByZW1lbWJlciBoZXIgYmVpbmcgbGlrZSwg4oCcSXQgc291bmRzIGtpbmQgb2Ygd29vLCBidXQgaXTigJlzIHdvcnRoIGEgdHJ5LuKAnSA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogSSBoYXZlIG5ldmVyIGhlYXJkIG9mIHRoaXMuIEkgYW0gZmFzY2luYXRlZC4gVHVtcyByZXNldHRpbmcgb3VyIG94eXRvY2luLsKgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFllYWguIEl04oCZcyBjcmF6eS4gVGhlIHJlc2VhcmNoIGlzIHRoZXJlIGlmIHlvdSBqdXN0IEdvb2dsZSDigJxUdW1zLCBQaXRvY2lu4oCdPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IE94eXRvY2luIHJlY2VwdG9ycy4gT2theSwgeW91IGtlZXAgc2hhcmluZy4gSeKAmW0gZ29pbmcgdG8gZGl2ZSBpbnRvIHRoaXMgZm9yIGEgYml0IGJlY2F1c2UgSeKAmXZlIGJlZW4gYSBkb3VsYSBmb3IgMTAgeWVhcnMgYW5kIEnigJl2ZSBuZXZlciBoZWFyZCBvZiB0aGlzIGFuZCBJIGxvdmUgaXQuIFRoaXMgaXMgY29vbC4gQWxsIHJpZ2h0LCBrZWVwIGdvaW5nLsKgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFllYWguIEkgdG9vayB0aGUgVHVtcy4gV2UgdHVybmVkIHRoZSBQaXRvY2luIG9mZiBmb3IgYSBsaXR0bGUgYml0LiBUaGV5IHdlcmUgbGlrZSwg4oCcVHJ5IHRvIHJlc3QuIEVhdCBhIHNuYWNrLuKAnSBUaGF0IHdhcyB0aGUgb3RoZXIgdGhpbmcuIFRoZXkgd2VyZSBzbyBlbmNvdXJhZ2luZyBvZiBtZSBlYXRpbmcgYW5kIGRyaW5raW5nIHdoZXJlYXMgbXkgZmlyc3QgYmlydGgsIHRoZXkgd2VyZSBsaWtlLCDigJxZb3UgY2Fu4oCZdCBoYXZlIGFueXRoaW5nIGJ1dCBpY2UgY2hpcHMu4oCdIFdlIGRpZCB0dXJuIHRoZSBQaXRvY2luIGJhY2sgb24gZm9yIGFib3V0IDYgaG91cnMgdGhhdCBldmVuaW5nLsKgPC9wPjxwPjxiciAvPjwvcD48aDE+MzM6MjcgRW5kaW5nIHRoZSBmaXJzdCBmdWxsIGRheSBvZiBpbmR1Y3Rpb248L2gxPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IEkgdGhpbmsgYXQgdGhlIGVuZCBvZiB0aGF0IGRheeKAkyBzbyB0aGlzIHdhcyB0aGUgZmlyc3QgZnVsbCBkYXkgb2YgaW5kdWN0aW9uLCBJIHdhcyBzdGlsbCBhcm91bmQgNCBjZW50aW1ldGVycy4gSSBoYWQgYSBuZXcgbnVyc2UgY29tZSBvbiBhbmQgYSBuZXcgbWlkd2lmZSBjb21lcyBvbi4gVGhleSB3ZXJlIGp1c3Qgc28gYXdlc29tZS4gSSBkZWZpbml0ZWx5IGhhZCBhbiBlbW90aW9uYWwgYnJlYWtkb3duIGF0IHRoYXQgcG9pbnQuIE15IGF3ZXNvbWUgZG91bGEgaGFkIGJlZW4gd2l0aCBtZSBhbmQgbXkgaHVzYmFuZCBhbGwgZGF5LiBTaGUgd2VudCBob21lIGZvciB0aGUgZXZlbmluZyB0byBnZXQgc29tZSByZXN0LsKgPC9wPjxwPjxiciAvPjwvcD48cD5UaGV5IHdlcmUgbGlrZSwg4oCcV2hhdCBkbyB5b3Ugd2FudCB0byBkbz8gWW91IGFyZSBsb29raW5nIGdvb2QuIEJhYnkgaXMgbG9va2luZyBnb29kLuKAnSBNeSB3YXRlciB3YXMgc3RpbGwgaW50YWN0IGF0IHRoYXQgcG9pbnQuIEkgd2FzIGxpa2UsIOKAnEkganVzdCB3YW50IHRvIHNsZWVwIHRvbmlnaHQuIEkga25vdyBpZiBJIGRvIG5vdCBzbGVlcCB0b25pZ2h0LCBJ4oCZbSBub3QgZ29pbmcgdG8gaGF2ZSB0aGUgZW5lcmd5IHRvIGZpbmlzaCB0aGlzIGJpcnRoLuKAncKgPC9wPjxwPjxiciAvPjwvcD48cD5JdCB3YXMgYW1hemluZyBiZWNhdXNlIHRoZSBjaGFyZ2UgbnVyc2UgZGlkIG5vdCB3YW50IG1lIHRvIHN0b3AgdGhlIFBpdG9jaW4gYW5kIG15IG1pZHdpZmUgYW5kIG15IG51cnNlIGJhc2ljYWxseSB3ZW50IHRvIGJhdCBmb3IgbWUuIFRoZXkgd2VyZSBsaWtlLCDigJxOby4gU2hl4oCZcyBmaW5lLiBXZeKAmXJlIGdvaW5nIHRvIGdpdmUgaGVyIEJlbmFkcnlsLiBXZeKAmXJlIGdvaW5nIHRvIGxldCBoZXIgc2xlZXAuIFdl4oCZcmUgdHVybmluZyB0aGUgUGl0b2NpbiBvZmYuIEFuZCB0aGF04oCZcyB3aGF0IHdlIGRpZC7CoDwvcD48cD48YnIgLz48L3A+PHA+SSBzbGVwdC4gSSBhY3R1YWxseSBnb3QgdG8gcmVzdCB0aGF0IG5pZ2h0LiBUaGV5IGNhbWUgYmFjayBhdCA1OjAwIEFNIGFuZCByZWh1bmcgdGhlIFBpdC4gSSBkaWQgYWdyZWUgdG8gbXkgd2F0ZXIgYmVpbmcgYnJva2VuIGF0IDg6MDAgQU0gYmVjYXVzZSBhdCB0aGlzIHBvaW50LCB3ZSBoYWQgYmVlbiBpbiB0aGUgaG9zcGl0YWwgZm9yIGFsbW9zdCAzNiBob3VycyBhbmQgYmFieSBuZWVkZWQgdG8gY29tZSBvdXQuIFRoYXQganVzdCBpbiBhbmQgb2YgaXRzZWxmLCBJIGZlbHQgbGlrZSB0aGF0IHdhcyBteSBjaG9pY2UuIE5vIG9uZSBldmVyIHByZXNzdXJlZCBtZS4gSXQgd2FzIGFsbCBteSBjaG9pY2UuIEkgZGlkIGFncmVlIHRvIG15IHdhdGVyIGJlaW5nIGJyb2tlbi4gVGhhdCB3YXMgYXJvdW5kIHByb2JhYmx5IDk6MDAgQU0gYW5kIEkganVzdCBjb250aW51ZWQgbGFib3JpbmcuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkl0IHdhcyBncmVhdC4gSSByZW1lbWJlciBJIGhhZCBteSBiYXRocm9vbS4gVGhlcmUgYXJlIG5vIHdpbmRvd3MgaW4gdGhlcmUgYW5kIEkgaGFkIG15IGZhaXJ5IGxpZ2h0cyBhbmQgbXkgbXVzaWMgcGxheWluZyBhbmQgbXkgZG91bGEgaGFkIGVzc2VudGlhbCBvaWxzIGRpZmZ1c2luZyBhbmQgdGhhdCB3YXMgbXkgY2F2ZS4gSSBmZWx0IGxpa2UgSSBjb3VsZCBnbyBpbiB0aGVyZSBhbmQganVzdCBzaHV0IG91dCBiZWluZyBhdCB0aGUgaG9zcGl0YWwgYW5kIHJlYWxseSBmb2N1cyBvbiBsYWJvciwgc2l0dGluZyBvbiB0aGUgdG9pbGV0LCBhbmQgZXZlbnR1YWxseSwgSSBkaWQgZ2V0IHRvIGEgcG9pbnQgYXJvdW5kIDE6MDAgd2hlcmUgSSBzdGFydGVkIHRvIGhhdmUgYSBoYXJkIHRpbWUgY29waW5nLiBJIHdhcyBsaWtlLCDigJxZb3Uga25vdywgSSBkb27igJl0IGtub3cgaWYgSSB3YW50IHRvIGRvIHRoaXMgYW55bW9yZS7igJ0gSSBnYXZlIGl0IGFub3RoZXIgaG91ciBhbmQgSSB3YXMgbGlrZSwg4oCcT2theS4gSSBuZWVkIHRoZSBlcGlkdXJhbC7igJ0gSSBkaWQgZ2V0IHRoZSBlcGlkdXJhbCBhcm91bmQgMjowMCB0aGF0IGRheS7CoDwvcD48cD48YnIgLz48L3A+PHA+SXQgd2FzIGp1c3QgYW1hemluZyBiZWNhdXNlIGV2ZW4gZ2V0dGluZyB0aGUgZXBpZHVyYWwsIHRoZSBudXJzZXMgd2VyZSBsaWtlLCDigJxIZXksIGxldOKAmXMgcHV0IHlvdSBpbiB0aHJvbmUgcG9zaXRpb24uIExldOKAmXMgcHVsbCBvdXQgdGhlIHN0aXJydXBzIGFuZCBnZXQgb25lIGxlZyB1cC4gSW4gMzAgbWludXRlcywgbGV04oCZcyBzd2l0Y2ggdG8gdGhlIG90aGVyIGxlZy4gTGV04oCZcyBnZXQgdGhlIHBlYW51dCBiYWxsLuKAnSBJIGZlbHQgbGlrZSB0aGV5IHdlcmUgZG9pbmcgYWxsIG9mIHRoZXNlIHRoaW5ncyB0byBoZWxwIG1lIHRoYXQgSSBoYWQgbmV2ZXIgZXhwZXJpZW5jZWQgaW4gbXkgZmlyc3QgYmlydGguIEkgZmVsdCBsaWtlIHRoZXkgd2FudGVkIG1lIHRvIGhhdmUgdGhlIGJpcnRoIHRoYXQgSSB3YXMgZGVzaXJpbmcgc28gYmFkbHkgYWxtb3N0IGFzIG11Y2ggYXMgSSBkaWQuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogSSBsb3ZlIHRoZW0gYWxyZWFkeS4gSSBkb27igJl0IGV2ZW4ga25vdyB0aGF0LsKgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IEkga25vdy4gSSBrbm93LiBDYW4gSSBzYXkgd2hvIGl0IGlzPyBUaGUgaG9zcGl0YWwgSSB3YXMgYXQgd2FzIGFjdHVhbGx5IHRoZSBVbml2ZXJzaXR5IG9mIE5vcnRoIENhcm9saW5hIGF0IENoYXBlbCBIaWxsIGFuZCBpdCB3YXMgdGhlIFVOQyBtaWR3aXZlcyB3aG8gd2FzIG15IHByYWN0aWNlIHRoYXQgSSBkZWxpdmVyZWQgd2l0aCBidXQgZXZlbiB0aGUgbnVyc2VzIGF0IHRoYXQgaG9zcGl0YWwgYXJlIGp1c3QgYW1hemluZy4gVGhleSB3ZXJlIGFsbCBsaXRlcmFsIGFuZ2Vscy4gSSBsb3ZlIHRoZW0uwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogV2Ugd2lsbCBtYWtlIHN1cmUgdGhhdCB0aGV5IGFyZSBvbiBvdXIgcHJvdmlkZXIgbGlzdC7CoDwvcD48cD48YnIgLz48L3A+PHA+SGFubmFoOiBZZXMuIFllcy4gVGhleSBhcmUgd29uZGVyZnVsLiBTbyB0aGF0IHdlbnQgb24uIEkgdGhpbmsgYXJvdW5kIG1heWJlIDY6MDAgSSB3YXMgY2hlY2tlZCBhbmQgSSB3YXMgaGFuZ2luZyBhcm91bmQgNSBjZW50aW1ldGVycy4gSSBnb3QgcmVhbGx5IGRpc2NvdXJhZ2VkIGF0IHRoYXQgcG9pbnQuIEkgd2FzIGxpa2UsIOKAnFlvdSBrbm93LCBtYXliZSBJIGp1c3QgY2Fu4oCZdCBkbyBpdC4gTWF5YmUgbXkgYm9keSBpcyBqdXN0IG5vdCBnb2luZyB0byBkaWxhdGUu4oCdIEJ1dCB0aGV5IHdlcmVu4oCZdCB3b3JyaWVkLiBUaGV5IGp1c3Qga2VwdCBoZWxwaW5nIG1lIG1vdmUgYW5kIHRoZW4gSSBkbyByZW1lbWJlciBzaGlmdCBjaGFuZ2UgaGFwcGVuZWQuIEEgbmV3IG51cnNlIGNvbWVzIG9uIGFuZCBhIG5ldyBtaWR3aWZlLiBUaGlzIHdhcyBwcm9iYWJseSB0aGUgNXRoIHNoaWZ0IGNoYW5nZSBieSB0aGUgdGltZSB3ZSBoYWQgYmVlbiBpbiB0aGVyZSBhbmQgdGhlIG1pZHdpZmUgY2FtZSBpbiBhbmQgY2hlY2tlZCBtZS4gU2hlIHdhcyBsaWtlLCDigJxPaCwgeW914oCZcmUgNiBjZW50aW1ldGVycy7igJ3CoDwvcD48cD48YnIgLz48L3A+PHA+SSByZW1lbWJlciBzbyBtYW55IHN0b3JpZXMgb2Ygd29tZW4gYmVpbmcgbGlrZSwg4oCcVGhlIGZpcnN0IDUgYXJlIHRoZSBoYXJkZXN0LuKAncKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IE1obW0uwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogSSB3YXMgbGlrZSwg4oCcT2theS4gTWF5YmUgdGhhdOKAmXMgdHJ1ZS7igJ0gVGhlbiBsaXRlcmFsbHksIGF0IDk6NDAsIHRoZSBtaWR3aWZlIGNhbWUgYmFjaywgY2hlY2tlZCBtZSwgYW5kIHNoZSB3YXMgbGlrZSwg4oCcSG93IGZhciBkaWxhdGVkIGRvIHlvdSBob3BlIHlvdSBhcmU/4oCdIEnigJltIHRoaW5raW5nLCDigJxXZWxsLCBnb3NoLiBJIGhvcGUgYXQgbGVhc3QgYSA3IG9yIDgu4oCdIFNoZSBoYWQgYSB0ZWFyIGFuZCBzaGUgd2FzIGxpa2UsIOKAnFlvdSBhcmUgMTAgY2VudGltZXRlcnMu4oCdwqA8L3A+PHA+PGJyIC8+PC9wPjxwPsKgTWVhZ2FuOiBPaCB5YXkhwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogWWVzLiBJIHN0YXJ0ZWQgYmF3bGluZyBhbmQgaXQgd2FzIHNvIGNyYXp5IGJlY2F1c2UgbXkgZmlyc3Qgc29uIHdhcyBib3JuIGF0IDk6NDIgUE0gYW5kIHRoYXQgd2FzIHJpZ2h0IGFib3V0IHdoZW4gSSB3YXMgMTAgY2VudGltZXRlcnMuIEZvciBzb21lIHJlYXNvbiwgSSBrbmV3IGlmIEkgY291bGQgbWFrZSBpdCB0byAxMCBjZW50aW1ldGVycywgSSBrbmV3IEkgY291bGQgcHVzaCBteSBiYWJ5IG91dC4gVGhlIHB1c2hpbmcgaGltIG91dCB3YXMgbm90IHRoZSBwYXJ0IHRoYXQgSSB3YXMgc2NhcmVkIG9mLiBJdCB3YXMgbGlrZSwg4oCcT2gsIGlzIG15IGJvZHkgZ29pbmcgdG8gYmUgYWJsZSB0byBnZXQgdG8gdGhhdCBwb2ludD/igJ3CoDwvcD48cD48YnIgLz48L3A+PHA+QnV0IHllYWguIEkgcmVtZW1iZXIgbXkgaHVzYmFuZCBhbmQgZG91bGEgYmVpbmcgc28gZXhjaXRlZCBiZWNhdXNlIHRoZXkgYnJvdWdodCBpbiB0aGUgY2FydCBhbmQgdGhleSBicm91Z2h0IGluIGEgbWlycm9yIGFuZCBJIHN0YXJ0ZWQgcHVzaGluZy4gSXTigJlzIGp1c3Qgc28gY3JhenkgdGhpbmtpbmcgYmFjayB0byB0aGF0IHNlZWluZyB0aGF0IGhhcHBlbmluZy7CoDwvcD48cD48YnIgLz48L3A+PGgxPjM4OjAzIFB1c2hpbmcgZm9yIDIwIG1pbnV0ZXM8L2gxPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IEkgcHVzaGVkIGZvciAyMCBtaW51dGVzIGFuZCBib3RoIG9mIG15IGJveXMgd2VyZSBhIHN1cnByaXNlLiBXZSBkaWRu4oCZdCBrbm93IHdoYXQgZ2VuZGVyIHRoZXkgd291bGQgYmUuIDIwIG1pbnV0ZXMgbGF0ZXIsIG15IHNlY29uZCBiZWF1dGlmdWwgYmFieSBib3kgd2FzIGJvcm4gaGVhbHRoeSwgc2NyZWFtaW5nLCBwdXQgZGlyZWN0bHkgb24gbXkgY2hlc3QgYW5kIGl0IHdhcyBvbmUgb2YgdGhlIGJlc3QgbW9tZW50cyBvZiBteSBlbnRpcmUgbGlmZS7CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBPaCBteSBnb3NoLiBJIGxvdmUgdGhpcyBzdG9yeS4gSSBsb3ZlIGFsbCBvZiB0aGUgc3VwcG9ydCBhbmQgYWxsIG9mIHRoZSBsb3ZlIGFuZCBhbGwgb2YgdGhlIGFtcCB0aGF0IHdhcyBqdXN0IGNvbXBsZXRlbHkgc3Vycm91bmRlZCBhcm91bmQgeW91IGFuZCB0aGVuIHlvdSBoYWQgdGhlIGNvbmZpZGVuY2UgaW4geW91ciBib2R5IGF0IHRoYXQgZW5kIHdoZXJlIHlvdSB3ZXJlIGxpa2UsIOKAnE9rYXkuIEnigJl2ZSBnb3QgdGhpcy7igJ0gMjAgbWludXRlcz/CoDwvcD48cD48YnIgLz48L3A+PHA+SGFubmFoOiBZZWFoLiBJIHdhcyBsaWtlLCDigJxPaCwgaGVyZeKAmXMgbXkgc21hbGwgcGVsdmlzIHdpdGggbXkgZmxhdCBwdWJpYyBib25lLuKAncKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IFllYWguIEkgbG92ZSB0aGF0IHNvIG11Y2guIERvIHlvdSBrbm93IHdoYXQ/IEkganVzdCB3YXMgbG9va2luZyBhdCBvdXIgcHJvdmlkZXIgbGlzdCBhbmQgZ3Vlc3Mgd2hhdD8gSXQgc2F5cyB0aGF0IFVOQyBtaWR3aXZlcyBhcmUgb24gb3VyIGxpc3QgYW5kIGl0IHNheXMgc3BlY2lmaWNhbGx5IHRoYXQgdGhleSBhcmUgYWxzbyBWQkEyQyBzdXBwb3J0aXZlLsKgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFllYWguIEkgdGhpbmsgdGhhdOKAmXMgdGhlIG9ubHkgaG9zcGl0YWwgaW4gb3VyIGFyZWEgdGhhdCBnZW5lcmFsbHkgd2lsbCBzdXBwb3J0IGFmdGVyIHR3byBDZXNhcmVhbnMuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogU28gYXdlc29tZS4gSeKAmW0gZ2xhZCB0aGF0IHRoZXkgYXJlIG9uIHRoZSBsaXN0LiBJIHdhbnRlZCB0byBtYWtlIHN1cmUgYmVjYXVzZSB0aGV5IHNvdW5kIHBoZW5vbWVuYWwuIEkgd291bGQgbG92ZSB0byBjb25uZWN0IHdpdGggb25lIG9mIHRoZW0gYW5kIGp1c3QgaGF2ZSB0aGVtIG9uIHRoZSBwb2RjYXN0IGhvbmVzdGx5IGFuZCBzYXksIOKAnFRhbGsgdG8gbWUgYWJvdXQgeW91ciB1bml0IGFuZCB5b3VyIGd1eXPigJkgd2F5IG9mIHRoaW5raW5nLiBUaGlzIGlzIHRoZSB3YXkgc28gbWFueSBwZW9wbGUgd2FudCB0byBiaXJ0aCB3aGVuIHRoZXkgYXJlIGJpcnRoaW5nIGluIHRoZSBob3NwaXRhbCwgYnV0IHdlIGRvbuKAmXQgaGF2ZSB0aGVzZSBvcHRpb25zIGFuZCB3ZSBkb27igJl0IGhhdmUgdGhlc2Ugc3lzdGVtcyBhbmQgd2UgZG9u4oCZdCBoYXZlIHRoZXNlIHBvbGljaWVzIG9yIHRoZXNlIGJlbGllZnMgb3Igd2hhdGV2ZXLigJ0gYmVjYXVzZSB0aGV5IHNvdW5kIGFtYXppbmcuPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFRoZXkgYXJlLiBJIGtub3cgdGhleSBhcmUgb24gSW5zdGFncmFtIGp1c3QgJiM2NDt1bmNtaWR3aXZlcyBzbyB0aGV5IGFyZSBlYXN5IHRvIGZpbmQuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogT2theS4gSSBtaWdodCBiZSBtZXNzYWdpbmcgdGhlbS7CoDwvcD48cD48YnIgLz48L3A+PHA+SGFubmFoOiBJZiBhbnlvbmUgaXMgYSBUYXIgSGVlbHMgZmFuIG91dCB0aGVyZSwgdGhhdCB3YXMgYSBiaWcgcG9ydGlvbiB0aGVyZSB0b28uIE15IGh1c2JhbmQgd2FzIGxpa2UsIOKAnE91ciBiYWJ5IHdhcyBib3JuIGF0IENoYXBlbCBIaWxsLuKAnSBUaGF04oCZcyBhIGJpZyB0aGluZyBmb3IgTm9ydGggQ2Fyb2xpbmEgcGVvcGxlLsKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IFRoYXQgaXMgc28gYXdlc29tZS4gT2ggbXkgZ29zaC7CoDwvcD48cD48YnIgLz48L3A+PGgxPjM5OjU5IEhhbm5haOKAmXMgYWR2aWNlIHRvIGxpc3RlbmVycyAtIHByb3ZpZGVyIHN1cHBvcnQgYW5kIG51dHJpdGlvbjwvaDE+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogQW55IGFkdmljZSB0aGF0IHlvdSB3b3VsZCBnaXZlIHRvIHNvbWVvbmUgd2hvIGVzcGVjaWFsbHkgaXMgcHJlZWNsYW1wdGljIHdpdGggaW5kdWN0aW9uIGFuZCBhbGwgb2YgdGhlc2UgdGhpbmdzPyBEbyB5b3UgaGF2ZSBhbnkgYWR2aWNlIHRoYXQgeW91IHdvdWxkIGdpdmUgdG8gb3VyIGxpc3RlbmVycz88L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogWWVhaC4gSSBtZWFuLCBudW1iZXIgb25lLCBhbmQgSSBmZWVsIGxpa2UgeW91IGd1eXMgcmVhbGx5IGhlbHAgZXhwcmVzcyB0aGlzLCBidXQgYSBzdXBwb3J0aXZlIHByb3ZpZGVyLiBFdmlkZW5jZSBzaG93cyB0aGF0IGluZHVjdGlvbiBmb3IgVkJBQyBjYW4gYmUgc2FmZS4gT2YgY291cnNlLCBkbyB3ZSB3YW50IGFuIHVubmVjZXNzYXJ5IGluZHVjdGlvbj8gTm8sIG5vdCBldmVyLCBidXQgaW4gYSBzaXR1YXRpb24gbGlrZSBtaW5lIHdoZXJlIHByZWVjbGFtcHNpYSBpcyBhIGNvbmNlcm4sIHRoYXQgc2hvdWxkbuKAmXQgZXhjbHVkZSB5b3UgZnJvbSBiZWluZyBhYmxlIHRvIGhhdmUgYSBWQkFDLsKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IE1obW0uwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogSSB0aGluayBhc2tpbmcgYSBwcm92aWRlciB0aG9zZSBxdWVzdGlvbnMgbWF5YmUgYmVmb3JlIHlvdSBldmVuIGdldCBwcmVnbmFudCwg4oCcV291bGQgeW91IGluZHVjZSBmb3IgVkJBQz8gVW5kZXIgd2hhdCBjaXJjdW1zdGFuY2VzPyBXaGF0IGlzIHlvdXIgVkJBQyByYXRlP+KAnSBUaGF04oCZcyB3aGF0IEkgd291bGQgdGVsbCB3b21lbiB3aG8gYXJlIGxvb2tpbmcgZm9yIHRoYXQuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogSSBsb3ZlIHRoYXQgYW5kIEkgYWdyZWUuIEkgd291bGQgZWNobyB0aGF0IGFza2luZyB0aG9zZSBxdWVzdGlvbnMgYW5kIG5vdCBiZWluZyBzY2FyZWQgdG8gYXNrIHRoZW0gYmVjYXVzZSB5b3UgZGVzZXJ2ZSB0byBrbm93IGFuZCB5b3UgZGVzZXJ2ZSB0byBmaW5kIHRoZSBwcm92aWRlciB3aG8gaXMgZ29pbmcgdG8gY29ubmVjdCB3aXRoIHlvdSBwZXJzb25hbGx5IGFuZCB5b3VyIGRlc2lyZXMgYmVjYXVzZSB3ZSBrbm93IHRocm91Z2ggdGFsa2luZyB0byBEci4gRm94IGFuZCBhbGwgb2YgdGhlc2Ugb3RoZXIgcHJvdmlkZXJzLCBub3QgZXZlcnkgcHJvdmlkZXIgaXMgdGhlIHNhbWUgYW5kIHRoYXTigJlzIG9rYXkuIFRoYXQgZG9lc27igJl0IG1ha2UgdGhlbSBhIGJhZCBwcm92aWRlci4gVGhleSBqdXN0IG1heSBub3QgYmUgc3VwcG9ydGl2ZSBvZiB5b3VyIGRlc2lyZXMuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogTWhtbS7CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBXaXRoIHlvdXIgZmlyc3Qgb25lLCBJIGZlZWwgbGlrZSB5b3UgaGFkIG1vcmUgb2YgdGhhdCBtZWQtd2lmZSBtZW50YWxpdHkuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogWWVzLiBJIGZvdW5kIHRoYXQgd29yZCBhZnRlciBJIGhhZCBoaW0gYW5kIEkgd2FzIGxpa2UsIOKAnE9oLCB0aGF0IG1ha2VzIHNlbnNlLuKAncKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IFllcy4gV2hhdCBlbHNlIHdlcmUgeW91IGdvaW5nIHRvIHNheT88L3A+PHA+PGJyIC8+PC9wPjxwPkhhbm5haDogSnVzdCBnb2luZyBiYWNrIHRvIHByZWVjbGFtcHNpYSwgdGhlIG90aGVyIHRoaW5nIEkgd291bGQgc2F5IHRoYXQgSSBkaWRu4oCZdCBrbm93IGEgd2hvbGUgbG90IGFib3V0IHdpdGggbXkgc2Vjb25kIG9yIGZpcnN0IHByZWduYW5jeSB3YXMgaG93IG11Y2ggbnV0cml0aW9uIGFmZmVjdHMgcHJlZWNsYW1wc2lhLiBJIGJlbGlldmUgeW914oCZdmUgaGFkIHNvbWVvbmUgb24geW91ciBwb2RjYXN0IHdobyBoYXMgZGlzY3Vzc2VkIHRoYXQgYmVmb3JlIGp1c3QgaG93IHRoZXJlIGFyZSBzbyBtYW55IHRoaW5ncyB5b3UgYXJlIHRvbGQgbGlrZSwg4oCcWW91IHNob3VsZG7igJl0IGJlIGVhdGluZyBzYWx0LOKAnSBhbmQgYWN0dWFsbHksIHRoYXTigJlzIG5vdCB0cnVlLiBZb3Ugc2hvdWxkbuKAmXQgYmUgZWF0aW5nIHByb2Nlc3NlZCBmb29kLCBidXQgd29tZW4gaW4gcHJlZ25hbmN5IG5lZWQgc2FsdCBzbyBJIGRpZCBmaW5kIHRoZXJl4oCZcyB0aGUgQnJld2VyIGRpZXQuIEkgdGhpbmsgdGhhdCBjYW4gYmXigJMgSeKAmXZlIGhlYXJkIGFtYXppbmcgc3RvcmllcyBhYm91dCB0aGF0IGZyb20gd29tZW4gd2hvIGhhdmUgaGFkIHByZWVjbGFtcHNpYSBpbiB0aGUgcGFzdC7CoDwvcD48cD48YnIgLz48L3A+PHA+VGhlcmUgaXMgYSBudXRyaXRpb25pc3QgSSBmb2xsb3cgb24gSW5zdGFncmFtLiBTaGUgaXMgQWxvaGEgTnV0cml0aW9uIGFuZCBzaGUgaXMgcHJlZ25hbnQgd2l0aCB0d2lucyByaWdodCBub3cuIEkgdGhpbmsgc2hlIGlzIGFsbW9zdCA0MCB3ZWVrcyBvbGQuIEhlciBibG9vZCBwcmVzc3VyZSBoYXMgYmVlbiBhd2Vzb21lIGFuZCBzaGUgYXR0cmlidXRlcyBpdCB0byBiZWV0cm9vdC7CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBVaC1odWguIE9rYXksIHllcy4gSeKAmXZlIGhhZCBhIGNsaWVudCB3aG8gaGFkIHByZWVjbGFtcHNpYSB3aXRoIGhlciBmaXJzdCByZWFsbHksIHJlYWxseSBlYXJseSwgYW5kIGJlZXRzIGFuZCBsaXZlciwgYW5kIHRoZXNlIHR5cGVzIG9mIHRoaW5ncyByZWFsbHkgaW1wYWN0LiBJIG1lYW4sIHRoYXTigJlzIHdoeSBJIHBlcnNvbmFsbHkgYW5kIEnigJltIHRocm93aW5nIGluIGEgc2hhbWVsZXNzIHBsdWcgaGVyZSwgYnV0IHRoYXQgaXMgd2h5IEkgcGVyc29uYWxseSBsb3ZlIE5lZWRlZCBzbyBtdWNoIGJlY2F1c2UgdGhleSBoYXZlIHJlYWxseSBkb3ZlIGluIHRvIGZpbmQgb3V0IHdoYXQgbnV0cmllbnRzIHlvdSBuZWVkIGFuZCBoZWxwIHlvdSBnZXQgaXQgYmVjYXVzZSB0aGVyZSBhcmUgc28gbWFueSBvZiB0aGVzZSBudXRyaWVudHMgdGhhdCBhcmUgbGFja2luZyBpbiBvdXIgZGF5LXRvLWRheSBmb29kcyBhbmQgaXTigJlzIG92ZXJ3aGVsbWluZyB0byBsZWFybiBhYm91dCB0aGVtIGFuZCBmaW5kIHRoZW0gYW5kIHRoZW4gZmluZCB0aGUgZ29vZCByZXNvdXJjZSBvZiB3aGVyZSB0byBnZXQgdGhlbS7CoDwvcD48cD48YnIgLz48L3A+PHA+SXQgcmVhbGx5IGNhbiBiZSBpbXBhY3RmdWwganVzdCBsaWtlIEFsb2hhIE51dHJpdGlvbiBpcyBzaG93aW5nLiBJdOKAmXMgdmVyeSBjb21tb24gd2l0aCB0d2lucyB0byBnZXQgdGhhdCBoaWdoIGJsb29kIHByZXNzdXJlLsKgPC9wPjxwPjxiciAvPjwvcD48cD5IYW5uYWg6IFllYWgsIHNvIEkgdGhpbmsgbnV0cml0aW9uIGlzIGh1Z2UgYW5kIEkgdGhpbmsgdGhhdOKAmXMganVzdCBvbmUgb2YgdGhlIHJlYWxseSBiaWcgcHJvYmxlbXMgaXMgdGhhdCB3ZSBhcmUgbm90IGJlaW5nIGxvb2tlZCBhdCBhcyBhIHdob2xlIHBlcnNvbiB3aGVuIHdlIGFyZSBwcmVnbmFudC4gSXTigJlzIGp1c3QgdGhhdCB3ZSBhcmUgYmVpbmcgbG9va2VkIGF0LCDigJxPaCwgeW91IGhhdmUgcHJlZWNsYW1wc2lhLiBUaGlzIGlzIHdoYXQgdGhlIHJlc2VhcmNoIHNob3dzLOKAnSBidXQgc28gbXVjaCBvZiB0aGF0IHJlc2VhcmNoIGlzIG91dGRhdGVkIGFuZCB0aGV5IGFyZSBub3QgZm9jdXNpbmcgb24gdGhvc2UgZm91bmRhdGlvbnMgbGlrZSBudXRyaXRpb24gdGhhdCBhcmUgc28gaW1wb3J0YW50IGR1cmluZyBwcmVnbmFuY3kuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogQWJzb2x1dGVseS4gWWVhaC7CoDwvcD48cD48YnIgLz48L3A+PHA+SXQgd2FzIExpbHkgTmljaG9scyB3aG8gSSBoYWQgb24sIGJ1dCBzaGUgaGFzIG1vcmUgYWJvdXQgZ2VzdGF0aW9uYWwgZGlhYmV0ZXMuIFNoZSBhbHNvIGhhcyBoZXIgYm9vayBmb3IgcHJlZ25hbmN5IGluIGdlbmVyYWwgYW5kIEkgd291bGQgaGlnaGx5IHN1Z2dlc3QgY2hlY2tpbmcgdGhhdCBib29rIG91dC7CoDwvcD48cD48YnIgLz48L3A+PHA+UmViZWNjYTogSSByZWNvbW1lbmQgaXQgdG8gYWxsIHByZWduYW50IG1vbXMuIEl04oCZcyBvbiBteSBib29rc2hlbGYuIEkgbG92ZSBpdC7CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBTYW1lLiBTaGUgcmVhbGx5IGlzIHNvIGluY3JlZGlibGUuIEkgY291bGQgdGFsayB0byBoZXIgZm9yIGhvdXJzIGFuZCBob3VycyBhbmQgaG91cnMgb24gbnV0cml0aW9uIGFuZCBwcmVnbmFuY3kgYW5kIGhvdyBpbXBhY3RmdWwgaXQgaXMuIEkgbWVhbiwgeWVhaC4gSXTigJlzIGp1c3Qgc28gaGFyZC4gV2UgaGF2ZSBzbyBtdWNoIHByb2Nlc3NlZCBzdHVmZiBnb2luZyBvbiBpbiBvdXIgd29ybGRzIGFuZCBpdOKAmXMgZWFzeSBhbmQgaXTigJlzIGZhc3QsIGJ1dCB5ZWFoLiBXZSBhcmUgbGFja2luZyBhIGxvdCBzbyBJIGxvdmUgdGhhdCB5b3UgcHV0IHRoYXQgbm90ZSBpbi7CoDwvcD48cD48YnIgLz48L3A+PGgxPjQ0OjE3IFNtYWxsIHBlbHZpc2VzIGFuZCBzY2FyIHRpc3N1ZTwvaDE+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogQW5kIHRoZW4gUmViZWNjYSwgYXQgdGhlIGVuZCBvZiB0aGlzLCBJIHdhbnRlZCB0byB0YWxrIGEgbGl0dGxlIGJpdCBhYm91dCB0aGUgcGVsdmljIGZsb29yIGFuZCBob3cgQy1zZWN0aW9ucyBjYW4gYWN0dWFsbHkgaW1wYWN0IHRoZSBwZWx2aWMgZmxvb3IgaGVhbHRoLCBhbmQgdGhlbiB3YXlzIHRvIGFkZHJlc3MgaXQsIHdoYXQgd2UgY2FuIGRvLCBhbmQgaG93IHdlIGNhbiBwbGFuIGZvciBWQkFDIG1vdmluZyBmb3J3YXJkLsKgPC9wPjxwPjxiciAvPjwvcD48cD5SZWJlY2NhOiBZZWFoLiBJIGp1c3Qgd2FudGVkIHRvIGJhY2sgdXAgYW5kIHRvdWNoIG9uIHRoaXMgaWRlYSBvZiBoYXZpbmcgYSBzbWFsbCBwZWx2aXMsIHRoYXQgeW91ciBwZWx2aXMsIHRoZSBvdXRsZXQgY2FuIGdyb3cgYnkgMzAlIHdoaWNoIGlzIGh1Z2UsIGFzIHlvdSBhcmUgZ2l2aW5nIGJpcnRoIGFzIGxvbmcgYXMgeW91ciBzYWNydW0gd2hpY2ggaXMgeW91ciB0YWlsYm9uZSBhbmQgeW91ciBsb3dlciBwZWx2aXMgaXMgYWJsZSB0byBtb3ZlIHdoaWNoIGlzIHdoeSBiZWluZyBvZmYgdGhlIGJlZCBpcyB0aGUgcGxhY2UgdG8gYmUgYmVjYXVzZSB0aGVuIGV2ZXJ5dGhpbmcgY2FuIG1vdmUgYW5kIHlvdXIgYm9keSBjYW4gYWN0dWFsbHkgZ3JvdyBhbmQgZXhwYW5kLiBZb3VyIGJvbmVzIGRvLiBUaGF04oCZcyBvbmUgb2YgdGhlIHJlYXNvbnMgd2UgaGF2ZSByZWxheGluLjwvcD48cD48YnIgLz48L3A+PHA+U28gbWFueSBwZW9wbGUgYXJlIGp1c3QgbGlrZSwg4oCcWWVhaC4gSSB3YXMgdG9sZCBJIGhhdmUgYSBzbWFsbCBwZWx2aXMu4oCdIEnigJltIGxpa2UsIOKAnFdlcmUgeW91IG9uIHlvdXIgYmFjaz/igJ0gVGhleSBhcmUgbGlrZSwg4oCcT2gsIHllcyBJIHdhcy7igJ0gVGhlbiBJ4oCZbSBsaWtlLCDigJxXZWxsLCB5b3VyIHBlbHZpcyB3YXMgbGlrZWx5IGNsb3NlZC4gSXQgY2FuIG9wZW4uIFdlIGNhbiBtYWtlIGl0IG9wZW4u4oCdwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogSXQgd2FzIGFjdHVhbGx5IHBoeXNpY2FsbHkgc21hbGxlci7CoDwvcD48cD48YnIgLz48L3A+PHA+UmViZWNjYTogWWVzIGFuZCB0aGUgYm9uZXMgY291bGQgbm90IG1vdmUgdG8gbWFrZSBtb3JlIHNwYWNlIGZvciB0aGUgYmFieS4gSXTigJlzIGp1c3QgcmVhbGx5IGludGVyZXN0aW5nLiBBIGxvdCBvZiBwZW9wbGUgYWN0dWFsbHkgc3VycHJpc2luZ2x5IGJlbGlldmUgdGhhdCBhIEMtc2VjdGlvbiBpcyBhIHdheSB0byBzYXZlIHlvdXIgcGVsdmljIGZsb29yIGZyb20gYW55IHNvcnQgb2YgaW5qdXJ5IG9yIHRyYXVtYSB3aGVuIGhhdmluZyBjaGlsZHJlbiBhbmQgdGhhdCBpcyBub3QgdGhlIGNhc2UuIEkgZG9u4oCZdCBrbm93IGlmIGVpdGhlciBvZiB5b3UgaGFzIGhlYXJkIHRoYXQgYmVmb3JlLsKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IFllYWguIE9rYXksIHNvIEkgaGFkIGEgcmVhbGx5IHBldGl0ZSBBc2lhbiBjbGllbnQuIFNoZSBoYWQgYSBDLXNlY3Rpb24uIFNoZSByZWFsbHkgd2FudGVkIGEgVkJBQy4gSSBoYXZlIHNvIG1hbnkgZmVlbGluZ3MgYWJvdXQgdGhpcyBiaXJ0aCwgYnV0IHRoZXkgbGl0ZXJhbGx5IHRvbGQgaGVyIHRoYXQgaWYgc2hlIHdhbnRlZCB0byBwb29wIGhlcnNlbGYgZm9yIHRoZSByZXN0IG9mIGhlciBsaWZlLCBzaGUgY291bGQgaGF2ZSBhIFZCQUMgYW5kIGlmIG5vdCwgdGhlbiB0aGV5IHdvdWxkIGhpZ2hseSBzdWdnZXN0IGEgQy1zZWN0aW9uIGJlY2F1c2UgdGhhdCB3b3VsZCBiZSB0aGUgb25seSB3YXkgdG8gYXZvaWQgaGVyIGhhdmluZyBzZXZlcmUgaW5jb250aW5lbmNlIHdpdGggaGVyIGJvd2Vscy7CoDwvcD48cD48YnIgLz48L3A+PHA+UmViZWNjYTogVGhhdCBpcyBhd2Z1bC7CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBJdCB0ZXJyaWZpZWQgaGVyLsKgPC9wPjxwPjxiciAvPjwvcD48cD5SZWJlY2NhOiBUaGF0IGlzIGZlYXJtb25nZXJpbmcgYXQgaXRzIHdvcnN0LsKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IFllYWguIEFzIGEgZG91bGEsIHNpdHRpbmcgdGhlcmUgd2F0Y2hpbmcgaXTigJMgYW5kIEkgaGFkIGFscmVhZHkgd2F0Y2hlZCB0aGVtIHByZXBhcmluZyB0aGUgQy1zZWN0aW9uIGluIHRoZSBoYWxsIHByZXZpb3VzbHkuIEkgaGFkIHNlZW4gdGhlIENlc2FyZWFuIGNvbWluZyBhbmQgSSB3YXJuZWQgdGhlbSwg4oCcVGhleSBhcmUgcHJlcGFyaW5nIHRoaXMuIE5vdGhpbmcgaXMgc2hvd2luZyB0aGF0IHdlIG5lZWQgdG8gZG8gdGhpcyzigJ0gYnV0IHRoYXQgd2FzIG9uZSBvZiB0aGUgcmVhc29ucyBhbmQgc2hlIHdhcyB0ZXJyaWZpZWQuIEkganVzdCBzYWlkLCDigJxUaGF04oCZcyBub3QgbmVjZXNzYXJpbHkgdHJ1ZSzigJ0gYnV0IGl0IHN0dWNrIHdpdGggaGVyLiBJdCBpbXBhY3RlZCBoZXIgc28gYmFkbHkgdGhhdCBzaGUgc2FpZCwg4oCcT2theS4gTGV04oCZcyBkbyBpdC7igJ0gPC9wPjxwPjxiciAvPjwvcD48cD5SZWJlY2NhOiBJ4oCZbSByZWFsbHkgc29ycnkgdGhhdCBzaGUgaGFkIHRoYXQgZXhwZXJpZW5jZS7CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBNZSB0b28uwqA8L3A+PHA+PGJyIC8+PC9wPjxwPlJlYmVjY2E6IFllYWguIFBlb3BsZSB0aGluayBhZ2FpbiB0aGlzIGlkZWEgdGhhdCB5b3VyIHBlbHZpYyBmbG9vciBpcyBzcGFyZWQsIGJ1dCB5b3UgY2FuIHN0aWxsIGhhdmUgcGVsdmljIGZsb29yIGR5c2Z1bmN0aW9uIGV2ZW4gaWYgeW91IGhhdmUgYSBDLXNlY3Rpb24uIFlvdSBjYW4gc3RpbGwgaGF2ZSBsZWFraW5nLiBZb3UgY2FuIHN0aWxsIGhhdmUgcGFpbiB3aXRoIHNleC4gWW91IGNhbiBzdGlsbCBoYXZlIGNvbnN0aXBhdGlvbiBpc3N1ZXMgYmVjYXVzZSBwZW9wbGUgZm9yZ2V0IHlvdSBzcGVudCB0aGUgbGFzdCAxMCBtb250aHMgZ3Jvd2luZyB0aGlzIGJhYnkgYW5kIHlvdXIgcGVsdmljIGZsb29yIHdhcyB3b3JraW5nIHRvIHN1cHBvcnQgaXQuIEl0IGlzIGFmZmVjdGVkIHJlZ2FyZGxlc3Mgb2YgaG93IHlvdSBiaXJ0aCB3aGljaCBpcyB3aHkgZXZlcnkgcGVyc29uIHdobyBiaXJ0aHMgc2hvdWxkIGJlIGdldHRpbmcgc29tZSBzb3J0IG9mIGFzc2Vzc21lbnQgYnkgYSBwZWx2aWMgUFQuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPkkgZG9u4oCZdCBrbm93IGlmIHlvdSBhcmUgYXdhcmUgb2YgdGhhdCwgYnV0IHRoZW4gaWYgeW91IGhhdmUgc2NhciB0aXNzdWUgYmVjYXVzZSB5b3UgYmlydGhlZCB2aWEgQy1zZWN0aW9uLCB0aGUgc2NhciB0aXNzdWUgY2FuIGFjdHVhbGx5IGltcGVkZSBhbGwgc29ydHMgb2YgdGhpbmdzLiBUaGUgdGhyZWUgbW9zdCBjb21tb24gc2lkZSBlZmZlY3RzIGFyZSBoaXAgYW5kIGJhY2sgcGFpbiwgcGFpbiB3aXRoIHNleCwgYW5kIHVyZ2VuY3kgYW5kIGZyZXF1ZW5jeSB3aXRoIHVyaW5hdGlvbiB3aGljaCBkb2VzbuKAmXQgc291bmQgZ3JlYXQgYW5kIG5vYm9keSByZWFsbHkgdGFsa3MgYWJvdXQgaXQuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogVGhleSBub3JtYWxpemUgaXQuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPlJlYmVjY2E6IFllYWgsIGFncmVlZC4gSXTigJlzIGp1c3QsIOKAnFlvdSBoYWQgYSBiYWJ5IHNvIHRoYXTigJlzIHdoYXQgeW91IHNob3VsZCBleHBlY3Qu4oCdIFdlIHNob3VsZCBleHBlY3QgYmV0dGVyLiBXZSBzaG91bGQgYWx3YXlzIGV4cGVjdCBiZXR0ZXIuIFNvIGJ5IGFkZHJlc3NpbmcgdGhhdCBzY2FyIHRpc3N1ZSwgeW91IGNhbiBhY3R1YWxseSBtYW5hZ2UgYSBsb3Qgb2YgdGhvc2UgdGhpbmdzIGFuZCBoaXQgdGhlbSBvZmYgbG9uZyBiZWZvcmUgdGhleSBiZWNvbWUgYSBwcm9ibGVtLsKgPC9wPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IFllYWgsIGl04oCZcyBpbnRlcmVzdGluZy4gSSBkaWRu4oCZdCBrbm93IGFib3V0IHNjYXIgbWFzc2FnZSBvciBwZWx2aWMgUFQgYSB0b24gdW50aWwgYWZ0ZXIgbXkgc2Vjb25kIEMtc2VjdGlvbiBidXQgdGhlbiBJIHN0YXJ0ZWQgZG9pbmcgYWxsIG9mIHRoZSB0aGluZ3MgYW5kIEkgaGF2ZSBhIGxvdCBvZiBhZGhlc2lvbnMuIFNoZSBjb3VsZCBmZWVsIHRoZW0gaW50ZXJuYWxseSBhbmQgdGhlbiB3ZSB3b3VsZCB3b3JrIG9uIG15IHNjYXIuIE15IGJhY2sgcGFpbiB3b3VsZCByZWR1Y2UuIEkgZGlkIG5vdGljZSBhIGRpZmZlcmVuY2UgZHVyaW5nIHNleCBhbmQgdGhpbmdzIGxpa2UgdGhhdC7CoDwvcD48cD48YnIgLz48L3A+PHA+U2hlIHdhcyBsaWtlLCDigJxObywgbGV04oCZcyB3b3JrIHRoaXMgb3V0IGZvciB5b3VyIHZhZ2luYWwgYmlydGggYmVjYXVzZSB5b3UgYWxzbyBoYXZlIHRyYXVtYSBpbiBnZW5lcmFs4oCdIHdoaWNoIGNhbiBzb21ldGltZXMgYmUgaGVsZCBpbiB0aGUgcGVsdmljIGZsb29yLiBXZSBoYXZlIHBoeXNpY2FsIHRyYXVtYSBhbmQgYWRoZXNpb25zIGJlaW5nIGNyZWF0ZWQgdGhlbiBJIGhhZCBlbW90aW9uYWwgdHJhdW1hIGFuZCBhIGxvdCBvZiB0aGF0LCBJIGNhcnJpZWQgaW4gbXkgcGVsdmljIGZsb29yLsKgPC9wPjxwPjxiciAvPjwvcD48cD5SZWJlY2NhOiBJdOKAmXMgdmVyeSBjb21tb24gZm9yIHBlb3BsZSB0byBjYXJyeSB0aGF0IGluIHRoZWlyIHBlbHZpYyBmbG9vciBiZWNhdXNlIG91ciBzb2NpZXR5IHNheXMgdGhhdCBwZWVpbmcgYW5kIHBvb3BpbmcgYW5kIHNleCBpcyBhbGwgdGFib28gc28gbWF5YmUgeW91IGRpZG7igJl0IGxlYXJuIGFib3V0IGl0LiBNYXliZSB5ZXMsIHlvdSBhcmUgaGF2aW5nIHNleCBidXQgaXTigJlzIGEgc2hhbWVmdWwgdGhpbmcgZm9yIHlvdSBiZWNhdXNlIG9mIHlvdXIgdXBicmluZ2luZy4gVGhlcmUgYXJlIGEgbG90IG9mIHJlYXNvbnMgdGhhdCBjYW4gY29udHJpYnV0ZSB0byB0aGlzIHBlbHZpYyBmbG9vciBkeXNmdW5jdGlvbi7CoDwvcD48cD48YnIgLz48L3A+PHA+Q29uc3RpcGF0aW9uIGlzIGFjdHVhbGx5IG9uZSBvZiB0aGUgYmlnZ2VzdCBpbmRpY2F0aW9ucyB0aGF0IHlvdSBtYXkgaGF2ZSBhIGxvbmcgc3RhZ2Ugb25lIGxhYm9yIGp1c3QgYmVjYXVzZSB5b3UgbWF5IGhhdmUgYSB0aWdodCBwZWx2aWMgZmxvb3Igd2hpY2ggbWVhbnMgeW91IG1heSBoYXZlIGRpZmZpY3VsdHkgcmVsYXhpbmcgaXQuIExldOKAmXMgYmUgcmVhbC4gWW91IGRvbuKAmXQgbmVlZCBhIHN0cm9uZyBwZWx2aWMgZmxvb3IgdG8gYmlydGggYSBiYWJ5LiBZb3UgbmVlZCBhIHJlbGF4ZWQgcGVsdmljIGZsb29yLiBZb3UgbmVlZCB0byBsZXQgdGhlIG11c2NsZXMgZ2V0IG91dCBvZiB0aGUgd2F5IHNvIHRoYXQgYmFieSBjYW4gY29tZSBvdXQgYmVjYXVzZSB0aGUgcGVsdmljIGZsb29yIGlzIG5vdCBwdXNoaW5nIHRoZSBiYWJ5IG91dC4gWW91ciB1dGVydXMgaXMuwqA8L3A+PHA+PGJyIC8+PC9wPjxwPsKgTWVhZ2FuOiBVdGVydXMsIHllYWguIFllYWguwqA8L3A+PHA+PGJyIC8+PC9wPjxoMT41MDoxMyBPdGhlciBzY2FyIHRpc3N1ZSB0aGF0IGNhbiBhZmZlY3QgcG9zaXRpb25pbmc8L2gxPjxwPjxiciAvPjwvcD48cD5NZWFnYW46IEFsbCBmYXNjaW5hdGluZy4gSSBoaWdobHkgc3VnZ2VzdCBjaGVja2luZyBvdXQgYSBwZWx2aWMgZmxvb3Igc3BlY2lhbGlzdCBubyBtYXR0ZXIgaWYgeW914oCZdmUgaGFkIGEgdmFnaW5hbCBiaXJ0aCBidXQgZXNwZWNpYWxseSBpZiB5b3XigJl2ZSBoYWQgYSBDLXNlY3Rpb24gYmVjYXVzZSBsaWtlIHNoZSBzYWlkLCBpdCBkb2VzbuKAmXQgbWVhbiB0aGF0IHdlIGRvbuKAmXQgaGF2ZSB0aGluZ3MgdG8gd29yayB0aHJvdWdoIGFuZCBldmVuIGlmIHdl4oCZdmUgaGFkIGEgQy1zZWN0aW9uIHRvbywgSSB3YW50IHRvIHBvaW50IG91dCB0aGF0IHdlIGNhbiBhbHNvIGhhdmUgc2NhciB0aXNzdWUgb24gdGhlIGNlcnZpeCBmcm9tIHRoaW5ncyBsaWtlIElVUENzIGJlaW5nIHBsYWNlZCBvciBpZiB3ZSBoYXZlIGV2ZXIgaGFkIGEgZm9yY2VwcyBiaXJ0aCBvciBqdXN0IGluIGdlbmVyYWwuIFRoaW5ncyBjYW4gaGFwcGVuIHdoZXJlIHdl4oCZdmUgZ290IGNlcnZpY2FsIHNjYXJyaW5nIHRoYXQgbmVlZHMgdG8gYmUgd29ya2VkIHRocm91Z2ggc28gdGhhdCBmb3Igb3VyIFZCQUMsIHdlIGNhbiBwcm9ncmVzcy7CoDwvcD48cD48YnIgLz48L3A+PHA+SSBsb3ZlIGhlYXJpbmcgdGhhdCBIYW5uYWggd2FzIGFibGUgdG8gZ28gaW4gYW5kIGdldCBhIEZvbGV5IHdpdGggYSBjbG9zZWQgY2Vydml4IGFuZCBoYXZlIHRoaXMgYmVhdXRpZnVsIFZCQUMsIGJ1dCBzb21ldGltZXMsIHRoYXQgaXMgZGVmaW5pdGVseSBoYXJkIHRvIGdldCBhIHByb3ZpZGVyIHRvIGV2ZW4gZG8gdGhvc2UgaW50ZXJ2ZW50aW9ucywgYW5kIHRoZW4gaWYgd2UgaGF2ZSBzY2FyIHRpc3N1ZSBvbiB0b3Agb2YgdGhhdCwgdGhhdCBjYW4gYWxzbyBjYXVzZSB0aGluZ3MgdG8gYmUgYSBsaXR0bGUgaGFyZGVyLsKgPC9wPjxwPjxiciAvPjwvcD48cD5SZWJlY2NhOiBPbmUgbW9yZSBwb2ludCBhYm91dCBzY2FyIHRpc3N1ZSwgZXZlbiBpZiB5b3XigJl2ZSBoYWQgeW91ciBhcHBlbmRpeCBvdXQgb3IgeW91IGhhdmUgaGFkIGEgbGFwYXJvc2NvcGljIHN1cmdlcnksIHRob3NlIHNvcnRzIG9mIHRoaW5ncyBjYW4gYWN0dWFsbHkgYWZmZWN0IHRoZSBwb3NpdGlvbiBvZiB0aGUgYmFieS4gSXQgY2FuIGNhdXNlIGJyZWVjaCBwb3NpdGlvbmluZyBvciBjYW4gY2F1c2UgeW91IGRpc2NvbWZvcnQgYmVjYXVzZSB0aGUgc2NhciB0aXNzdWUgaXMgbm90IGFsbG93aW5nIHlvdXIgYm9keSB0byBleHBhbmQgYXMgaXQgbmVlZHMgdG8uIFNvIGV2ZW4gdGhvc2UgdGhpbmdzIGFyZSBzb21lIHJlYWxseSB3b25kZXJmdWwgdGhpbmdzIHRoYXQgcGVsdmljIFBUIGNhbiBoZWxwIHlvdSB3aXRoIGV2ZW4gaWYgeW91IGRpZG7igJl0IGhhdmUgYSBDLXNlY3Rpb24uwqA8L3A+PHA+PGJyIC8+PC9wPjxwPk1lYWdhbjogTG92ZSBpdC4gQXdlc29tZS4gV2VsbCwgaWYgeW91IGFyZSBpbiB0aGUgR2VvcmdpYSBhcmVhLCBkZWZpbml0ZWx5IGNoZWNrIG91dCBEci4gUmViZWNjYSBhbmQgaWYgeW91IGFyZSBpbiB0aGUgTm9ydGggQ2Fyb2xpbmEgYXJlYSwgZGVmaW5pdGVseSBnbyBjaGVjayBvdXQgVU5DIG1pZHdpdmVzLiBJcyB0aGF0IHJpZ2h0PzwvcD48cD48YnIgLz48L3A+PHA+SGFubmFoOiBSaWdodC4gVGhhdOKAmXMgdGhlbS7CoDwvcD48cD48YnIgLz48L3A+PHA+TWVhZ2FuOiBVTkMgbWlkd2l2ZXMgYW5kIGtlZXAgbGlzdGVuaW5nIGhlcmUgYmVjYXVzZSB0aGVzZSBzdG9yaWVzIGp1c3QgbGlrZSB0aGlzIGFuZCBpbmZvcm1hdGlvbiBsaWtlIHRoaXMgYXJlIHdoYXQgd2Ugd2FudCB0byBkby4gSXTigJlzIHdoYXQgd2Ugd2FudCB0byBwcm92aWRlIGZvciB5b3UuIElmIHlvdSBoYXZlIGEgY2VydGFpbiB0b3BpYyBvciBzb21ldGhpbmcgbGlrZSB0aGF0IHRoYXQgeW91IGFyZSBsb29raW5nIGZvcndhcmQgdG8sIHBsZWFzZSBlbWFpbCB1cyBhdCA8YSBocmVmPVwibWFpbHRvOmluZm8mIzY0O3RoZXZiYWNsaW5rLmNvbVwiIHJlbD1cIm5vZm9sbG93XCI+aW5mbyYjNjQ7dGhldmJhY2xpbmsuY29tPC9hPiBiZWNhdXNlIHdlIHdhbnQgdG8gdHJ5IHRvIG1ha2Ugc3VyZSB3ZSBnZXQgdGhhdCBvbiB0aGUgc2hvdy4gVGhhbmsgeW91IGd1eXMgc28gbXVjaCBmb3IgYmVpbmcgd2l0aCB1cyB0b2RheS48L3A+PHA+PGJyIC8+PC9wPjxwPlJlYmVjY2E6IFRoYW5rIHlvdS7CoDwvcD48cD48YnIgLz48L3A+PHA+SGFubmFoOiBUaGFuayB5b3UuPC9wPjxwPjxiciAvPjwvcD48aDE+Q2xvc2luZzwvaDE+PHA+PGJyIC8+PC9wPjxwPldvdWxkIHlvdSBsaWtlIHRvIGJlIGEgZ3Vlc3Qgb24gdGhlIHBvZGNhc3Q/IFRlbGwgdXMgYWJvdXQgeW91ciBleHBlcmllbmNlIGF0IHRoZXZiYWNsaW5rLmNvbS9zaGFyZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gYWxsIHRoaW5ncyBWQkFDIGluY2x1ZGluZyBvbmxpbmUgYW5kIGluLXBlcnNvbiBWQkFDIGNsYXNzZXMsIFRoZSBWQkFDIExpbmsgYmxvZywgYW5kIE1lYWdhbuKAmXMgYmlvLCBoZWFkIG92ZXIgdG8gdGhldmJhY2xpbmsuY29tLiBDb25ncmF0dWxhdGlvbnMgb24gc3RhcnRpbmcgeW91ciBqb3VybmV5IG9mIGxlYXJuaW5nIGFuZCBkaXNjb3Zlcnkgd2l0aCBUaGUgVkJBQyBMaW5rLjwvcD48cD48YnIgLz48L3A+PHA+PGJyIC8+PC9wPjxiciAvPjxiciAvPlN1cHBvcnQgdGhpcyBwb2RjYXN0IGF0IOKAlCA8YSBocmVmPVwiaHR0cHM6Ly9yZWRjaXJjbGUuY29tL3RoZS12YmFjLWxpbmsvZG9uYXRpb25zXCIgcmVsPVwibm9mb2xsb3dcIj5odHRwczovL3JlZGNpcmNsZS5jb20vdGhlLXZiYWMtbGluay9kb25hdGlvbnM8L2E+PGJyIC8+PGJyIC8+QWR2ZXJ0aXNpbmcgSW5xdWlyaWVzOiA8YSBocmVmPVwiaHR0cHM6Ly9yZWRjaXJjbGUuY29tL2JyYW5kc1wiIHJlbD1cIm5vZm9sbG93XCI+aHR0cHM6Ly9yZWRjaXJjbGUuY29tL2JyYW5kczwvYT4iLCJpZCI6IjBPUlJqUjdRWDhwYnJQYUJlTjJLQ1IiLCJsYW5ndWFnZSI6eyJjb2RlIjoiZW4ifSwibWVkaWFUeXBlcyI6WyJBVURJTyJdLCJuYW1lIjoiRXBpc29kZSAyOTQgSGFubmFoJ3MgSW5kdWNlZCBWQkFDIGR1ZSB0byBQcmVlY2xhbXBzaWEgKyBNb3JlIG9uIHRoZSBQZWx2aWMgRmxvb3Igd2l0aCBDby1ob3N0IFJlYmVjY2EiLCJwbGF5YWJpbGl0eSI6eyJwbGF5YWJsZSI6dHJ1ZSwicmVhc29uIjoiUExBWUFCTEUifSwicGxheWVkU3RhdGUiOnsicGxheVBvc2l0aW9uTWlsbGlzZWNvbmRzIjowLCJzdGF0ZSI6Ik5PVF9TVEFSVEVEIn0sInNob3dPckF1ZGlvYm9vayI6eyJfX3R5cGVuYW1lIjoiUG9kY2FzdFJlc3BvbnNlV3JhcHBlciIsImRhdGEiOnsiX190eXBlbmFtZSI6IlBvZGNhc3QiLCJhY2Nlc3NJbmZvIjpudWxsLCJjb250ZW50UmF0aW5nIjp7ImxhYmVsIjoiTk9ORSJ9LCJjb3ZlckFydCI6eyJzb3VyY2VzIjpbeyJoZWlnaHQiOjY0LCJ1cmwiOiJodHRwczovL2kuc2Nkbi5jby9pbWFnZS9hYjY3NjU2MzAwMDBmNjhkYmI1Zjc2YmE0MzJkZmMzMDNmMzdmODA2Iiwid2lkdGgiOjY0fSx7ImhlaWdodCI6MzAwLCJ1cmwiOiJodHRwczovL2kuc2Nkbi5jby9pbWFnZS9hYjY3NjU2MzAwMDA1ZjFmYmI1Zjc2YmE0MzJkZmMzMDNmMzdmODA2Iiwid2lkdGgiOjMwMH0seyJoZWlnaHQiOjY0MCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwYmE4YWJiNWY3NmJhNDMyZGZjMzAzZjM3ZjgwNiIsIndpZHRoIjo2NDB9XX0sImRlc2NyaXB0aW9uIjoiSGVyZSBhdCBUaGUgVkJBQyBMaW5rLCBvdXIgbWlzc2lvbiBpcyB0byBtYWtlIGJpcnRoIGFmdGVyIENlc2FyZWFuIGJldHRlciBieSBwcm92aWRpbmcgZWR1Y2F0aW9uLCBzdXBwb3J0LCBhbmQgYSBjb21tdW5pdHkgb2YgbGlrZS1taW5kZWQgcGVvcGxlLiBXZWxjb21lIHRvIG91ciBjaXJjbGUsIHdlIGFyZSBzbyBnbGFkIHlvdSBhcmUgaGVyZSEiLCJpZCI6IjM2YlZ4cU9HZDFFWWNSMG9KdGVGNW4iLCJtZWRpYVR5cGUiOiJBVURJTyIsIm5hbWUiOiJUaGUgVkJBQyBMaW5rIiwicGxheWFiaWxpdHkiOnsicGxheWFibGUiOnRydWUsInJlYXNvbiI6IlBMQVlBQkxFIn0sInB1Ymxpc2hlciI6eyJuYW1lIjoiTWVhZ2FuIEhlYXRvbiJ9LCJzYXZlZCI6ZmFsc2UsInNob3dUeXBlcyI6W10sInRyYWlsZXJWMiI6bnVsbCwidXJpIjoic3BvdGlmeTpzaG93OjM2YlZ4cU9HZDFFWWNSMG9KdGVGNW4ifX0sInByZXZpZXciOnsiYXVkaW8iOnsidXJsIjoiaHR0cHM6Ly9wb2R6LWNvbnRlbnQuc3BvdGlmeWNkbi5jb20vYXVkaW8vY2xpcHMvNkJrSno5UjcwcWJlM0lSZlh4NkNTSS9jbGlwXzMxMTYzMF8zNzE2MzAubXAzIn0sInNoYXJlYWJsZSI6dHJ1ZSwidmlkZW8iOnsidXJsIjoiIn19LCJyZWxlYXNlRGF0ZSI6eyJkYXkiOjI0LCJpc29TdHJpbmciOiIyMDI0LTA0LTI0VDA3OjEwOjAwWiIsIm1vbnRoIjo0LCJwcmVjaXNpb24iOiJNSU5VVEUiLCJ5ZWFyIjoyMDI0fSwidHlwZSI6IlBPRENBU1RfRVBJU09ERSIsInVyaSI6InNwb3RpZnk6ZXBpc29kZTowT1JSalI3UVg4cGJyUGFCZU4yS0NSIn19LCJyZWNvbW1lbmRhdGlvbnMiOnt9LCJzYXZlZCI6e319LCJwbGF5YmFjayI6eyJjdXJyZW50IjpudWxsLCJoYXNTa2lwcGVkVGhpc1Nlc3Npb24iOmZhbHNlLCJpc0J1ZmZlcmluZyI6ZmFsc2UsImhlYXJkQXVkaW8iOmZhbHNlLCJpbml0aWF0ZWRQbGF5YmFjayI6ZmFsc2V9LCJyZXF1ZXN0Ijp7Imhhc1ByZXZpb3VzTGlrZXMiOmZhbHNlLCJpc0Jhbm5lZCI6ZmFsc2UsImVudGl0eVZpZXciOm51bGwsImFsYnVtVXJpIjoiIn0sInNlYXJjaCI6eyJpc0ZldGNoaW5nIjpmYWxzZSwicmVzdWx0cyI6bnVsbCwicXVlcnkiOm51bGwsImVycm9yIjpudWxsLCJyZWNlbnRTZWFyY2hlcyI6W119LCJ0b2FzdCI6eyJtZXNzYWdlIjpudWxsLCJ0eXBlIjoiZGVmYXVsdCIsImFjdGlvbiI6bnVsbH0sInVpIjp7Im1vZGFsIjoibm93X3BsYXlpbmdfYmFyIiwibm93UGxheWluZ1ZpZXciOmZhbHNlLCJkaWFsb2ciOm51bGwsImVycm9yVmlldyI6ZmFsc2V9LCJob21lIjp7ImlzTG9hZGluZyI6ZmFsc2UsImhhc0Vycm9yIjpmYWxzZSwiZGF0YSI6bnVsbH0sIm9uRGVtYW5kUGxheWxpc3RzIjp7ImZldGNoZWQiOmZhbHNlLCJpdGVtcyI6W119LCJjb250ZXh0TWVudSI6eyJpc1Zpc2libGUiOmZhbHNlfSwiY29sb3JFeHRyYWN0aW9uIjp7ImNvbG9ycyI6e319LCJseXJpY3MiOnsic3RhdHVzIjoiVU5BVkFJTEFCTEUifSwicmljaEVudGl0aWVzIjp7InNlb0V4cGVyaW1lbnQiOnsiZXBpc29kZSI6e319fSwiYnJvd3NlIjp7ImdyaWQiOnsiaXNMb2FkaW5nIjpmYWxzZSwic2VjdGlvbnMiOm51bGwsImhhc0ZhaWxlZEF0dGVtcHRzIjpmYWxzZX0sInBhZ2VzIjp7fX0sImludGVybmFsTGlua1JlY29tbWVuZGVyIjp7InRyYWNrcyI6eyJzdGF0dXMiOiJVTkFWQUlMQUJMRSJ9LCJzaG93cyI6eyJzdGF0dXMiOiJVTkFWQUlMQUJMRSJ9LCJlcGlzb2RlcyI6eyJkYXRhIjpbeyJfX3R5cGVuYW1lIjoiRXBpc29kZSIsImF1ZGlvIjp7Iml0ZW1zIjpbeyJmaWxlSWQiOiIzNzNmNWMyYTMyMmJiYjgzY2QyNWYyMGY1NGEyMDNlZWViZDcwNzhjIiwiZm9ybWF0IjoiTVA0XzEyOCIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3LzM3M2Y1YzJhMzIyYmJiODNjZDI1ZjIwZjU0YTIwM2VlZWJkNzA3OGMifSx7ImZpbGVJZCI6ImZkNzUxYTliNDViNzgyZDgwMjdhODcxMmZiNzUyYzQ3ZDBmYzFjMDYiLCJmb3JtYXQiOiJPR0dfVk9SQklTXzk2IiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvZmQ3NTFhOWI0NWI3ODJkODAyN2E4NzEyZmI3NTJjNDdkMGZjMWMwNiJ9LHsiZmlsZUlkIjoiM2ZlZDMxMmZlNTE3YzY3NjM3M2I0ZmY1ZmZmNGY0OTVlN2FkYjJlMCIsImZvcm1hdCI6Ik1QNF8xMjhfRFVBTCIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3LzNmZWQzMTJmZTUxN2M2NzYzNzNiNGZmNWZmZjRmNDk1ZTdhZGIyZTAifSx7ImZpbGVJZCI6ImFhMTExYzlkZjY3YmIyOGZlNzk5NTBkYmUwZGIzOWE3MjMwYTJhNjkiLCJmb3JtYXQiOiJNUDRfMTI4X0NCQ1MiLCJ1cmwiOiJodHRwczovL3Auc2Nkbi5jby9tcDMtcHJldmlldy9hYTExMWM5ZGY2N2JiMjhmZTc5OTUwZGJlMGRiMzlhNzIzMGEyYTY5In0seyJmaWxlSWQiOiJhYjI0ZmZmMjBiMzE4ZmExNTc5M2I4MTBkNTZlNzQ3MjQ0MWM3MzJlIiwiZm9ybWF0IjoiQUFDXzI0IiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvYWIyNGZmZjIwYjMxOGZhMTU3OTNiODEwZDU2ZTc0NzI0NDFjNzMyZSJ9XX0sImNvbnRlbnRSYXRpbmciOnsibGFiZWwiOiJOT05FIn0sImNvdmVyQXJ0Ijp7InNvdXJjZXMiOlt7ImhlaWdodCI6NjQsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMGY2OGQ1NTlhNzIzMjg3MTcyOGNjZTI2OTZkOTgiLCJ3aWR0aCI6NjR9LHsiaGVpZ2h0IjozMDAsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMDVmMWY1NTlhNzIzMjg3MTcyOGNjZTI2OTZkOTgiLCJ3aWR0aCI6MzAwfSx7ImhlaWdodCI6NjQwLCJ1cmwiOiJodHRwczovL2kuc2Nkbi5jby9pbWFnZS9hYjY3NjU2MzAwMDBiYThhNTU5YTcyMzI4NzE3MjhjY2UyNjk2ZDk4Iiwid2lkdGgiOjY0MH1dfSwiZGVzY3JpcHRpb24iOiJUcmlzaCB3ZWxjb21lcyBFcmluIE1vb3JlLCBhIHBlZGlhdHJpYyBudXJzZSBwcmFjdGl0aW9uZXIsIGNlcnRpZmllZCBsYWN0YXRpb24gY291bnNlbG9yLCBhbmQgbW9tIG9mIHR3byBmb3IgYSByZWFsIGNvbnZlcnNhdGlvbiBhYm91dCB0aGUgY29tcGxleGl0aWVzIG9mIHRob3NlIGVhcmx5IGRheXMgb2YgYnJlYXN0ZmVlZGluZy7CoFRyaXNoIHNoYXJlcyBoZXIgcGVyc29uYWwgc3RydWdnbGVzIGluIGhlciBicmVhc3RmZWVkaW5nIGpvdXJuZXkgd2hpbGUgRXJpbiBwcm92aWRlcyBzaGFtZS1mcmVlLCBleHBlcnQgYWR2aWNlIG9uIGhhbmRsaW5nIHVuZXhwZWN0ZWQgY2hhbGxlbmdlcyB3aGVuIGl0IGNvbWVzIHRvIGJhYnkgZmVlZGluZzsgaW5jbHVkaW5nIGZvcm11bGEgZmVlZGluZywgdHJpcGxlIGZlZWRpbmcsIHN1cHBsZW1lbnRpbmcsIGFuZCB0b25ndWUgdGllcy7CoFRyaXNoIGFuZCBFcmluIGVtcGhhc2l6ZSB0aGUgaW1wb3J0YW5jZSBvZiBtYXRlcm5hbCBtZW50YWwgaGVhbHRoIGFuZCBzdXBwb3J0LCBhbG9uZyB3aXRoIHZlcnNhdGlsZSBmZWVkaW5nIGFwcHJvYWNoZXMuwqBXaGV0aGVyIHlvdSBhcmUgYnJlYXN0ZmVlZGluZywgZm9ybXVsYSBmZWVkaW5nLCBvciB0cmFuc2l0aW9uaW5nIHRvIHNvbGlkcywgdGhpcyBlcGlzb2RlIG9mZmVycyBjcml0aWNhbCBpbnNpZ2h0cyBhbmQgcmVhZmZpcm1zIHRoYXQgdGhlIGJlc3QgY2hvaWNlIGlzIHRoZSBvbmUgdGhhdCB3b3JrcyBmb3IgeW91IGFuZCB5b3VyIGJhYnkuMDA6NTMgU3BlY2lhbCBHdWVzdDogRXJpbiBNb29yZSBvbiBFYXJseSBCcmVhc3RmZWVkaW5nIENoYWxsZW5nZXMwMjowOSBUcmlzaCdzIFBlcnNvbmFsIEJyZWFzdGZlZWRpbmcgU3RydWdnbGVzMDM6MjcgTmF2aWdhdGluZyBGZWVkaW5nIENob2ljZXMgYW5kIFNvY2lhbCBNZWRpYSBQcmVzc3VyZTA0OjEzIFByYWN0aWNhbCBUaXBzIGZvciBTdXBwbGVtZW50aW5nIGFuZCBDb21ibyBGZWVkaW5nMDU6NDEgVGhlIEVtb3Rpb25hbCBKb3VybmV5IG9mIEZlZWRpbmcgWW91ciBCYWJ5MTI6NTAgVW5kZXJzdGFuZGluZyBUb25ndWUgVGllcyBhbmQgVGhlaXIgSW1wYWN0MjQ6MjEgQWR2aWNlIGZvciBJbnRyb2R1Y2luZyBTb2xpZHMyODo1NSBGaW5hbCBUaG91Z2h0cyBhbmQgRW5jb3VyYWdlbWVudDMyOjMxIFdoZXJlIHRvIEZpbmQgTW9yZSBSZXNvdXJjZXNNb3JlIGZyb20gRXJpbiBNb29yZTrCoFZpc2l0IGhlciB3ZWJzaXRlIEJhYnlGZWVkaW5nQ29hY2guY29tRm9sbG93IGhlciBvbiBJbnN0YWdyYW0gQGJhYnlmZWVkaW5nLmNvYWNoUmVzb3VyY2VzOiBKb2luIG91ciA1IERheXMgdG8gQSBGZWFybGVzcyBCaXJ0aCBFeHBlcmllbmNlIGFuZCB3YXRjaCA1IE9ubGluZSBCaXJ0aCBDbGFzc2VzIEZPUiBGUkVFISFHcmFiIGEgRnJlZSBQcmVnbmFuY3kvUG9zdHBhcnR1bSBDaGVja2xpc3QgQnVuZGxlQ29ubmVjdCB3LyBUcmlzaDogIE9uIEluc3RhZ3JhbU9uIEZhY2Vib29rT24gWW91VHViZU9uIFBpbnRlcmVzdCBPbiBUaWtUb2tGb3IgbW9yZSBwcmVnbmFuY3kgJiBiaXJ0aCBlZHVjYXRpb24sIHN1YnNjcmliZSB0byBUaGUgQmlydGggRXhwZXJpZW5jZSBvbiBTcG90aWZ5LCBBcHBsZSBQb2RjYXN0cywgb3Igd2hlcmV2ZXIgeW91IGxpc3RlbiB0byBwb2RjYXN0cy5OZXh0IFN0ZXBzIHdpdGggTE5NOklmIHlvdSBhcmUgcmVhZHkgdG8gaW52ZXN0IGluIHlvdXIgcHJlZ25hbmN5ICYgcG9zdHBhcnR1bSBqb3VybmV5LCB5b3UgYXJlIGluIHRoZSByaWdodCBwbGFjZS4gSSB3b3VsZCBsb3ZlIHRvIHRha2UgeW91ciBoYW5kIGFuZCBzdXBwb3J0IHlvdSBpbiB5b3VyIHZpcnR1YWwgbGFib3Igcm9vbSFJZiB5b3UgYXJlIHJlYWR5IHRvIGRpdmUgaW50byBhIGJpcnRoIGNsYXNzIGFuZCBoYXZlIHlvdXIgYmVzdCBhbmQgbW9zdCBwb3dlcmZ1bCBiaXJ0aCBzdG9yeSwgdGhlbsKgQ2FsbSBMYWJvciBDb25maWRlbnQgQmlydGjCoG9ywqBUaGUgVkJBQyBMYWLCoGlzIHlvdXIgbmV4dCBzdGVwLklmIHlvdSBoYXZlIGEgc2NoZWR1bGVkIGNlc2FyZWFuLCB0YWtlIG91ciBCZWxseSBCaXJ0aCBNYXN0ZXJjbGFzcyBhbmQgb3duIHRoYXQgZXhwZXJpZW5jZS4gSWYgeW91IGFyZSBhIG5ld2x5IHByZWduYW50IG1hbWEgb3IganVzdCBoYWQgdGhlIGJhYmUsIHlvdSB3YW50IHRvIGpvaW4gb3VyIHByaXZhdGUgcHJlZ25hbmN5IGFuZCBwb3N0cGFydHVtIG1lbWJlcnNoaXAswqAiLCJkdXJhdGlvbiI6eyJ0b3RhbE1pbGxpc2Vjb25kcyI6MjA1Mzk1NX0sImlkIjoiNm42SDBrZldBa0Y2QlVqVmVWdko0NSIsIm1lZGlhVHlwZXMiOlsiQVVESU8iXSwibmFtZSI6Ik5hdmlnYXRpbmcgdGhlIEVhcmx5IERheXMgb2YgQnJlYXN0ZmVlZGluZyB3aXRoIEVyaW4gTW9vcmUiLCJwbGF5YWJpbGl0eSI6eyJwbGF5YWJsZSI6dHJ1ZSwicmVhc29uIjoiUExBWUFCTEUifSwicGxheWVkU3RhdGUiOnsicGxheVBvc2l0aW9uTWlsbGlzZWNvbmRzIjowLCJzdGF0ZSI6Ik5PVF9TVEFSVEVEIn0sInBvZGNhc3RWMiI6eyJfX3R5cGVuYW1lIjoiUG9kY2FzdFJlc3BvbnNlV3JhcHBlciIsImRhdGEiOnsiX190eXBlbmFtZSI6IlBvZGNhc3QiLCJjb3ZlckFydCI6eyJzb3VyY2VzIjpbeyJoZWlnaHQiOjY0LCJ1cmwiOiJodHRwczovL2kuc2Nkbi5jby9pbWFnZS9hYjY3NjU2MzAwMDBmNjhkNTU5YTcyMzI4NzE3MjhjY2UyNjk2ZDk4Iiwid2lkdGgiOjY0fSx7ImhlaWdodCI6MzAwLCJ1cmwiOiJodHRwczovL2kuc2Nkbi5jby9pbWFnZS9hYjY3NjU2MzAwMDA1ZjFmNTU5YTcyMzI4NzE3MjhjY2UyNjk2ZDk4Iiwid2lkdGgiOjMwMH0seyJoZWlnaHQiOjY0MCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwYmE4YTU1OWE3MjMyODcxNzI4Y2NlMjY5NmQ5OCIsIndpZHRoIjo2NDB9XX0sIm5hbWUiOiJUaGUgQmlydGggRXhwZXJpZW5jZSB3aXRoIExhYm9yIE51cnNlIE1hbWEiLCJzaG93VHlwZXMiOltdLCJ1cmkiOiJzcG90aWZ5OnNob3c6NThrQVhhMnR4UFJCRjJuWDQ0akxzRSJ9fSwicmVsZWFzZURhdGUiOnsiaXNvU3RyaW5nIjoiMjAyNC0wNy0wNVQxNDozMDowMFoifSwicmVzdHJpY3Rpb25zIjp7InBheXdhbGxDb250ZW50IjpmYWxzZX0sInVyaSI6InNwb3RpZnk6ZXBpc29kZTo2bjZIMGtmV0FrRjZCVWpWZVZ2SjQ1In0seyJfX3R5cGVuYW1lIjoiRXBpc29kZSIsImF1ZGlvIjp7Iml0ZW1zIjpbeyJmaWxlSWQiOiI5NmE2NDQ1NjQ0Y2JlNTJkYzc2MjIyM2VhM2ZkZGI1YjFmMzhkY2IwIiwiZm9ybWF0IjoiTVA0XzEyOCIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3Lzk2YTY0NDU2NDRjYmU1MmRjNzYyMjIzZWEzZmRkYjViMWYzOGRjYjAifSx7ImZpbGVJZCI6IjdmYzU3MjViMTgwZjg2OTllMmYzYzQzMjU4YjI1NzE2NmZhN2EzMjEiLCJmb3JtYXQiOiJNUDRfMTI4X0RVQUwiLCJ1cmwiOiJodHRwczovL3Auc2Nkbi5jby9tcDMtcHJldmlldy83ZmM1NzI1YjE4MGY4Njk5ZTJmM2M0MzI1OGIyNTcxNjZmYTdhMzIxIn0seyJmaWxlSWQiOiJiY2NlNTVlMzAwMzc3MjFiNmMwOTQzYmY3NDRhZWQ5NmRjMDZlYTlkIiwiZm9ybWF0IjoiQUFDXzI0IiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvYmNjZTU1ZTMwMDM3NzIxYjZjMDk0M2JmNzQ0YWVkOTZkYzA2ZWE5ZCJ9LHsiZmlsZUlkIjoiNGVmZjk1MzRhZWZlZDcxZTI0ZWE4MTgyNDc0MDBjMGE3MDZkYzQ2NCIsImZvcm1hdCI6Ik1QNF8xMjhfQ0JDUyIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3LzRlZmY5NTM0YWVmZWQ3MWUyNGVhODE4MjQ3NDAwYzBhNzA2ZGM0NjQifSx7ImZpbGVJZCI6ImYwM2RlMzA3MmQ0MjgyY2RhYmE0NTk0ZDAwMmVhNGE4ODQzMjgyZjMiLCJmb3JtYXQiOiJPR0dfVk9SQklTXzk2IiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvZjAzZGUzMDcyZDQyODJjZGFiYTQ1OTRkMDAyZWE0YTg4NDMyODJmMyJ9XX0sImNvbnRlbnRSYXRpbmciOnsibGFiZWwiOiJOT05FIn0sImNvdmVyQXJ0Ijp7InNvdXJjZXMiOlt7ImhlaWdodCI6NjQsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMGY2OGQ3Y2VmMmEyYzBmZDA5YmZkZWZmMjUzOTgiLCJ3aWR0aCI6NjR9LHsiaGVpZ2h0IjozMDAsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMDVmMWY3Y2VmMmEyYzBmZDA5YmZkZWZmMjUzOTgiLCJ3aWR0aCI6MzAwfSx7ImhlaWdodCI6NjQwLCJ1cmwiOiJodHRwczovL2kuc2Nkbi5jby9pbWFnZS9hYjY3NjU2MzAwMDBiYThhN2NlZjJhMmMwZmQwOWJmZGVmZjI1Mzk4Iiwid2lkdGgiOjY0MH1dfSwiZGVzY3JpcHRpb24iOiJUaGlzIGVwaXNvZGUgZ29lcyBiYWNrIHRvIHRoZSBiYXNpY3MgYW5kIGlzIGEgZ3JlYXQgcGxhY2UgdG8gc3RhcnQgb24geW91ciBWQkFDIGpvdXJuZXkhIEp1bGllIGpvaW5zIE1lYWdhbiB0b2RheSBhcyB0aGV5IHRhbGsgYWJvdXQgbWFueSBjb21tb24gcXVlc3Rpb25zIGJlZ2lubmluZyB3aXRoIHJlYXNvbnMgd2h5IHByb3ZpZGVycyB0ZWxsIHdvbWVuIHRoZXkgY2Fu4oCZdCBnbyBmb3IgYSBWQkFDLsKgVG9waWNzIHRvZGF5IGluY2x1ZGU6wqBOdWNoYWwgY29yZHNCaWcgYmFiaWVzU21hbGwgcGVsdmlzZXNBcnJlc3Qgb2YgZGVzY2VudFRoaXJkLXRyaW1lc3RlciB1bHRyYXNvdW5kc8KgQ2VydmljYWwgZGlsYXRpb25JbmR1Y3Rpb25EdWUgZGF0ZXNUaGUgQVJSSVZFIFRyaWFsV2h5IHRoZXJlIGlzIHNvIG11Y2ggY29udHJhZGljdGluZyBWQkFDIGluZm9QcmVnbmFuY3kgaW50ZXJ2YWxzwqBFcGlkdXJhbHNNZWFnYW4gYW5kIEp1bGllIGFsc28gcmVmbGVjdCBvbiBob3cgdGhlaXIgcGVyc3BlY3RpdmUgdG93YXJkIGVhY2ggb2YgdGhlc2UgdG9waWNzIGhhdmUgY2hhbmdlZCBvdmVyIHRoZSB5ZWFycy4gQWxsb3dpbmcgZm9yIG51YW5jZSBpcyBzbyBuZWNlc3Nhcnkgd2hlbiBhcHByb2FjaGluZyBiaXJ0aC4gS25vdyB0aGF0IHlvdSBhbHdheXMgaGF2ZSBvcHRpb25zIGFuZCBuZXZlciBmZWVsIHByZXNzdXJlZCB0byBtYWtlIGEgZGVjaXNpb24gdGhhdCBkb2VzbuKAmXQgZmVlbCByaWdodCBmb3IgeW91LlRoZSBWQkFDIExpbmsgQmxvZzogUHJlZ25hbmN5IEludGVydmFsc05lZWRlZCBXZWJzaXRlSG93IHRvIFZCQUM6IFRoZSBVbHRpbWF0ZSBQcmVwIENvdXJzZSBmb3IgUGFyZW50c0Z1bGwgVHJhbnNjcmlwdCB1bmRlciBFcGlzb2RlIERldGFpbHPCoDA0OjI0IFJldmlldyBvZiB0aGUgV2VlazA3OjQ4IEludHJvIHRvIHRoZSBiYXNpY3MwOTo1MyBOdWNoYWwgY29yZHMxMzozMCBCaWcgYmFiaWVzLCBzbWFsbCBwZWx2aXNlcywgZmx1aWQgbGV2ZWxzLCBhbmQgdGhpcmQtdHJpbWVzdGVyIHVsdHJhc291bmRzMTc6MDggSG93IHdpbGwgdGhpcyBjaGFuZ2UgbXkgY2FyZT8xODo0NyBDZXJ2aWNhbCBkaWxhdGlvbjI1OjU0IER1ZSBkYXRlczI4OjE4IFZ1bG5lcmFiaWxpdHkgYW5kIHRoZSBBUlJJVkUgdHJpYWwzMDo0NCBJbmR1Y2luZyBhIFZCQUMzNjoxNSBKdWxpZeKAmXMgc29jaWFsIG1lZGlhIHN0b3J5Mzg6MjkgQ29udHJhZGljdGluZyBpbmZvcm1hdGlvbjQxOjM2IFByZWduYW5jeSBpbnRlcnZhbHM0NjozOCBFcGlkdXJhbHM1NDoxMyBBbGxvd2luZyBmb3IgbnVhbmNlTWVhZ2FuOiBXaGF04oCZcyB1cCwgZXZlcnlib2R5PyBUaGlzIGlzIE1lYWdhbi4gV2UgaGF2ZSBNcy4gSnVsaWUgd2l0aCB1cyB0b2RheSBhbmQgd2UgYXJlIGdvaW5nIHRvIGJlIHRhbGtpbmcgdG8geW91IGFib3V0IHdoYXQgd2UgbmVlZCB5b3UgdG8ga25vdyBhYm91dCBWQkFDLiBXZSBvYnZpb3VzbHkgbGlrZSB0byB0YWxrIGFib3V0IGRpZmZlcmVudCB0b3BpY3MgYnV0IEp1bGllIGFuZCBJIGRlY2lkZWQgdGhpcyBtb3JuaW5nIGFzIHdlIHdlcmUgZ2V0dGluZyByZWFkeSB0byByZWNvcmQgdGhhdCB3ZSBuZWVkIHRvIGRvIGFuIGVwaXNvZGUgb24ganVzdCB0aGUgYmFzaWNzIGFnYWluLiBEb27igJl0IHlvdSBmZWVsIGxpa2UgaXTigJlzIHRoZSBiYXNpY3M/wqBJdOKAmXMgbm90IHRvIHNoYW1lIGFueW9uZSBmb3Igbm90IGtub3dpbmcgdGhlIGluZm9ybWF0aW9uLiBJdOKAmXMgaG9uZXN0bHkgdG/igJMgSSBkb27igJl0IGV2ZW4gd2FudCB0byBzYXkgdGhlIHdvcmQgc2hhbWXigJMgYnV0IHByb3ZpZGVycyBhcmUgbm90IGVkdWNhdGluZyB0aGVpciBwYXRpZW50cy4gVGhleSBhcmUganVzdCBub3QuIFdlIHNlZSBpdCB0aW1lIGFuZCB0aW1lIGFuZCB0aW1lIGFnYWluIHdoZXJlIHBlb3BsZSBqdXN0IGRvbuKAmXQga25vdy7CoFdlIHNhdyBhIHBvc3QsIEkgZG9u4oCZdCBrbm93LCBtYXliZSBhIG1vbnRoIG9yIHNvIGFnby4gSSB0aGluayBtYXliZSBKdWxpZSBzZW50IGl0IHRvIG1lLiBJdCB3YXMganVzdCBzYXlpbmcsIOKAnEhleSwgc28gY2FuIHlvdSBoYXZlIGEgVkJBQyBubyBtYXR0ZXIgd2hhdCByZWFzb24gdGhlIEMtc2VjdGlvbiB3YXMgZm9yP+KAnSBTb21lb25lIHNhaWQsIOKAnFdlbGwsIGl0IGRlcGVuZHMgYmVjYXVzZSBpZiBpdOKAmXMgc29tZXRoaW5nIGxpa2UgYSBjb3JkIHdyYXBwZWQgYXJvdW5kIHRoZSBiYWJ54oCZcyBuZWNrLCBpZiB0aGF0IHdhcyB0aGUgcmVhc29uIHlvdSBoYWQgeW91ciBwcmV2aW91cyBDLXNlY3Rpb24gYW5kIGlmIHlvdXIgbGFzdCBiYWJ5IGhhZCBpdHMgY29yZCB3cmFwcGVkIGFyb3VuZCB0aGVpciBuZWNrIGFuZCB3YXMgaGF2aW5nIHN0cnVnZ2xlLCB5ZXMuIFlvdSBoYXZlIHlvdSBoYXZlIGEgQy1zZWN0aW9uLuKAncKgSnVsaWU6IEkgYW0gZ2V0dGluZyBhIGxpdHRsZSBzYWx0eS4gSSBmZWVsIGxpa2UgbWF5YmUgc2FsdHkgaXMgbm90IHRoZSByaWdodCB3b3JkLCBidXQgZGlyZWN0LiBJIGp1bXBlZCBpbiBhbmQgSeKAmW0gbGlrZSwg4oCcVGhhdOKAmXMgYWN0dWFsbHkgbm90IHRydWUuIFRoZSBjb3JkIHdyYXBwZWQgYXJvdW5kIGEgYmFieeKAmXMgbmVjayBwcmV2ZW50aW5nIHRoZW0gZnJvbSBkZXNjZW5kaW5nIGlzIGEgcGVyZmVjdCBWQkFDIGNhbmRpZGF0ZSBiZWNhdXNlIGl04oCZcyBub3QgYW55dGhpbmcgdG8gZG8gd2l0aCB0aGUgcGVsdmlzIG9yIGxhYm9yIHN0YWxsaW5nIG9yIGFueXRoaW5nIGxpa2UgdGhhdC7igJ0gQW55d2F5cy7CoE1lYWdhbjogRXZlbiB3aXRoIHRoYXQgc2FpZCwgZXZlbiB3aXRoIHRoYXQgc2FpZOKAk8KgSnVsaWU6IFBlb3BsZSBzdGlsbCBhcmd1ZWQgd2l0aCBtZS7CoE1lYWdhbjogV2VsbCwgYnV0IGV2ZW4gaWYgaXQgd2FzIGR1ZSB0byBzb21lb25lIGJlaW5nIHRvbGQgdGhhdCB0aGVpciBwZWx2aXMgd2FzIHRvbyBzbWFsbCBvciB0aGVpciBiYWJ5IGRpZG7igJl0IGRlc2NlbmTigJPCoEp1bGllOiBUaGF04oCZcyBhbHNvIGZhbHNlLsKgTWVhZ2FuOiBUaGF04oCZcyBhbHNvIGZhbHNlLsKgSnVsaWU6IEkgbWVhbiB3aXRoIGFjdHVhbCBwZWx2aXMgdHJhdW1hIHdoZXJlIGl04oCZcyBhY3R1YWwgQ1BEIGFuZCBpcyBsZWdpdGltYXRlbHkgZGlhZ25vc2VkIGFuZCB0aGF0IHR5cGUgb2YgdGhpbmcuIEhvbmVzdGx5LCBtb3N0IHBlb3BsZSBhcmUgZ29vZCBjYW5kaWRhdGVzIGZvciBWQkFDIGJ1dCB3ZSBhcmUgZ29pbmcgdG8gdGFsayBhYm91dCB0aGF0LsKgTWVhZ2FuOiBZZWFoLCB3ZeKAmXJlIGdvaW5nIHRvIHRhbGsgYWJvdXQgdGhhdCB0b2RheSBiZWNhdXNlIGl04oCZcyBvYnZpb3VzbHkgc29tZXRoaW5nIHRoYXQgd2UgYXJlIHJlYWxseSBwYXNzaW9uYXRlIGFib3V0IGFuZCBpdOKAmXMgc29tZXRoaW5nIHRoYXQgd2Ugd2FudCB5b3UgZ3V5cyB0byBrbm93IHNvIGxldOKAmXMgdGFsayBhYm91dCBpdC7CoDA0OjI0IFJldmlldyBvZiB0aGUgV2Vla01lYWdhbjogV2UgZG8gaGF2ZSBhIFJldmlldyBvZiB0aGUgV2Vlay4gWW91IGd1eXMsIGl04oCZcyBhIHJlYWxseSBsb25nIG9uZSBhbmQgSSBtaWdodCBoYXZlIHNwZWNpZmljYWxseSBiZWVuIHdhaXRpbmcgZm9yIEp1bGllIHRvIGNvbWUgb24gd2l0aCBtZSBzbyBzaGUgY2FuIHJlYWQgaXQgYmVjYXVzZSBzaGXigJlzIGEgbG90IGJldHRlciBhdCByZWFkaW5nIGxvbmcgcmV2aWV3cyBzb21ldGltZXMuIEnigJltIGp1c3QgZ29pbmcgdG8gcGFzcyB0aGUgdGltZSBvdmVyIHRvIEp1bGllIHRvIHJlYWQgdGhpcyBhbWF6aW5nIHJldmlldy7CoEp1bGllOiBOb3cgSSBmZWVsIHByZXNzdXJlLCBtYW4uwqBNZWFnYW46IERvbuKAmXQgbWVzcyB1cC7CoEp1bGllOiBUaGUgcHJlc3N1cmXigJlzIG9uLiBBcmUgeW91IHJlYWR5IGZvciB0aGlzPyBUaGlzIHJldmlldyBzYXlzLCDigJxUaGlzIGlzIHN1Y2ggYSB0cmVtZW5kb3VzIHJlc291cmNlIGZvciBWQkFDIG1hbWFzLuKAnSBTZWU/IFRoZXJlIEkgZ28uIEkga25ldyBpdC4gSeKAmW0gZ29pbmcgdG8gc3RhcnQgQkJBQyBtYW1hcy4gVHJ5IGFuZCB0cmFuc2xhdGUgdGhhdCwgUGFpZ2UuIEFueXdheSwgb2theS4gSXTigJlzIGZpbmUuIEnigJltIGdvaW5nIHRvIGNpcmNsZSBiYWNrIGFyb3VuZC7CoOKAnFRoaXMgaXMgc3VjaCBhIHRyZW1lbmRvdXMgcmVzb3VyY2UgZm9yIFZCQUMgbWFtYXMuIEkgc2FkbHkgb25seSBkaXNjb3ZlcmVkIHlvdXIgcG9kY2FzdCBhZnRlciBteSBWQkFDIGluIEFwcmlsIDIwMjIgYnV0IGhhdmluZyBjYXVnaHQgdGhlIGJpcnRoIGJ1ZyBkdXJpbmcgbXkgcHJlcCBmb3IgdGhhdCBiaXJ0aCwgSSBzdGlsbCBsaXN0ZW5lZCB0byBlYWNoIGVwaXNvZGUgYXMgaWYgSeKAmW0gcHJlcGFyaW5nIGZvciBteSBWQkFDIGFsbCBvdmVyIGFnYWluLiBJIHRoaW5rIGhhdmluZyBhIHNwZWNpYWwgcGxhY2UgZm9yIHRoaXMgdmVyeSB1bmlxdWUgc2NlbmFyaW8gaGVscHMgdGhvc2UgcGxhbm5pbmcgYW5kIGhvcGluZyBmb3IgYSBzdWNjZXNzZnVsIFZCQUMgZmVlbCBsZXNzIGFsb25lLCBtb3JlIHN1cHBvcnRlZCwgYW5kIHZlcnkgd2VsbC1pbmZvcm1lZC7CoOKAnFRoZSBiYWxhbmNlIG9mIGV2aWRlbmNlLWJhc2VkIGluZm9ybWF0aW9uIHdpdGggdGhlIGFnZS1vbGQgcHJhY3RpY2Ugb2Ygc2hhcmluZyBiaXJ0aCBzdG9yaWVzIG1ha2VzIHRoaXMgb25lIG9mIHRoZSBiZXN0IGJpcnRoIHJlc291cmNlcyBvdXQgdGhlcmUuIEkgb25seSB3aXNoIEkgaGFkIHRoaXMgd2hlbiBJIHdhcyBwbGFubmluZyBteSBWQkFDIGJ1dCBtYXliZSBzb21lZGF5IEnigJlsbCBnZXQgdG8gc2hhcmUgbXkgb3duIHN0b3J5IGFuZCBoZWxwIGluc3BpcmUgYSBmZWxsb3cgV29tYW4gb2YgU3RyZW5ndGguwqDigJxQcmVwcGluZyBmb3IgYW5kIGFjaGlldmluZyB0aGUgdW5tZWRpY2F0ZWQgYmlydGggb2YgbXkgZGF1Z2h0ZXIgYWJzb2x1dGVseSBmbGlwcGVkIGEgc3dpdGNoIGluIG1lIGFuZCBJIGZlZWwgZGV0ZXJtaW5lZCB0byBiZWNvbWUgYSBiaXJ0aCB3b3JrZXIgb25lIGRheS7igJ0gSSBmZWVsIGxpa2UgYWxsIG9mIHVzIGdvIHRocm91Z2ggdGhhdCwgcmlnaHQ/wqDigJxLbm93aW5nIHRoYXQgdGhpcyBwb2RjYXN0IHRlYW0gYWxzbyBoYXMgYSBjb3Vyc2UgZm9yIHByb3NwZWN0aXZlIGRvdWxhcyBsaWtlIG1lIHRocmlsbHMgbWUgdG8gbXkgY29yZS4gSSB3YW50IHRvIGJlIHRoZXJlIGZvciBvdGhlciBhbnhpb3VzLCBob3BlZnVsIFZCQUMgbWFtYXMgbGlrZSBtZSBhbmQgdGhlIGFtYXppbmcgd29yayB0aGF0IHlvdSBhcmUgZG9pbmcgaXMgY2hhbmdpbmcgYmlydGggYW5kIGxpdmVzIGV2ZXJ5d2hlcmUuIEtlZXAgaXQgdXAuIEl0IGlzIHNvIG5lZWRlZCBhbmQgYXBwcmVjaWF0ZWQuIEFkcmlhbm5lLuKAncKgSSBsb3ZlIHRoYXQgc28gbXVjaC4gSSBmZWVsIGxpa2UgdGhhdOKAmXMgYWxsIG9mIHVzIGxpa2UgeW91IGFuZCBtZS4gV2UgYWxsIGdvIHRocm91Z2ggdGhpcyBqb3VybmV5IGxpa2UsIEhleSwgSSBoYWQgYSByZWFsbHkgYmFkIGJpcnRoIGV4cGVyaWVuY2Ugb3IgSSBoYWQgYSByZWFsbHkgYmFkIG9uZSBhbmQgdGhlbiBhbiBlbXBvd2VyaW5nIG9uZSBhbmQgSSB3YW50IHRvIGJlIHBhcnQgb2YgdGhpcyBjaGFuZ2Ugc28gdGhhdCBvdGhlciBwZW9wbGUgZG9u4oCZdCBoYXZlIHRvIHN1ZmZlciBsaWtlIEkgZGlkLsKgSSBsb3ZlIHRoYXQgYW5kIEkgZmVlbCBsaWtlIGFsbW9zdCBhbGwgYmlydGggd29ya2Vyc+KAmSBzdG9yaWVzIHN0YXJ0IGxpa2UgdGhhdC4gSSBrbm93IG1pbmUgZGlkIGFuZCB5b3VycyB0b28sIE1lYWdhbi4gV2UgYWxsIGFyZSB0aGVyZSBhdCBzb21lIHBvaW50LsKgTWVhZ2FuOiBXZSBhcmUuIFllYWguIEkgY291bGRu4oCZdCBhZ3JlZSBtb3JlLiBJIGRlZmluaXRlbHkgaGF2ZSBiZWVuIHRoZXJlLsKgMDc6NDggSW50cm8gdG8gdGhlIGJhc2ljc01lYWdhbjogT2theSwgYWxsIHJpZ2h0LiBMZXTigJlzIHRhbGsgYWJvdXQgdGhlIGJhc2ljcy4gV2hhdCBiYXNpYyBkbyB5b3Ugd2FudCB0byB0YWxrIGFib3V0IGZpcnN0PyBXZSB3ZXJlIHRhbGtpbmcgYWJvdXQganVzdCBhIHNlY29uZCBhZ28gd2hlcmUgd2Ugd2VyZSBsaWtlLCBIZXksIHRoaXMgd2FzIGJlaW5nIHRvbGQgdG8geW91IGFuZCB5b3UgYXJlIGJlaW5nIHRvbGQgeW91IG1heSBub3QgZ2V0IHRvIGhhdmUgYSBWQkFDLiBTbyBtYXliZSB3ZSBqdXN0IHN0YXJ0IHdpdGggcmVhc29ucyBwZW9wbGUgYXJlIHRvbGQgdGhhdCB0aGV5IGhhdmUgdG8gaGF2ZSBhIEMtc2VjdGlvbiBhbmQgdGhleSBjYW7igJl0IGhhdmUgYSBWQkFDLsKgSnVsaWU6IE15IGdvc2guIEkgd2FudCB0byBzcGVhayB0byBhIGNvdXBsZSBvZiBkaWZmZXJlbnQgcG9pbnRzIGluIHRoYXQgZGlyZWN0aW9uLiBJIGhhdmUgYSBjb3VwbGUgb2YgZGlmZmVyZW50IGlkZWFzIGluIG15IGhlYWQuIEZpcnN0IG9mIGFsbCwgSSBmZWVsIGxpa2UgaXTigJlzIGltcG9ydGFudCB0byBhY2tub3dsZWRnZSB0aGF0IHdlIGFyZSBhbGwgaWdub3JhbnQgdG8gdGhpbmdzIGF0IHNvbWUgcG9pbnQuIFJpZ2h0PyBXZSBhbGwgaGF2ZSB0byBsZWFybiB0aGF0IFZCQUMgaXMgYW4gb3B0aW9uIGF0IHNvbWUgcG9pbnQgb3IgbWF5YmUgd2UgYWx3YXlzIGtuZXcuIEZvciBtZSwgSSBmZWVsIGxpa2UgSSBuZXZlciB3YXMgbGlrZSwgT2gsIEkgY2FuIGhhdmUgYSB2YWdpbmFsIGJpcnRoPyBJIGp1c3QgYWx3YXlzIHRob3VnaHQgSSBjb3VsZCBoYXZlIG9uZSwgYnV0IEkgYWxzbyBmZWVsIGxpa2UgdGhlIGFnZS1vbGQg4oCcb25jZSBhIEMtc2VjdGlvbiwgYWx3YXlzIGEgQy1zZWN0aW9u4oCdIHRoaW5nIGlzIHNvIGluZ3JhaW5lZCBpbiBzb21lIHBhcnRzIG9mIG91ciBjdWx0dXJlIHRoYXQgeW91IHJlYWxseSBkbyBoYXZlIHRvIGhhdmUgdGhhdCBhd2FrZW5pbmcgdGhhdCwgT2gsIEkgY2FuIGRvIHRoaXMuIEl0IGlzIHNhZmUuU28gSSBqdXN0IHdhbnQgdG8gYWNrbm93bGVkZ2UgdGhhdC4gU29tZXRpbWVzLCBldmVuIGZvciBtZSwgSeKAmW0gc2Nyb2xsaW5nIHRocm91Z2ggRmFjZWJvb2sgYW5kIEkgc2VlIHRoaXMgcG9zdCBhYm91dCBzb21ldGhpbmcgb3IgdGhlIEFSUklWRSB0cmlhbCB3aXRoIGluZHVjdGlvbiBhdCAzOSB3ZWVrcyBpcyBzYWZlciBhbmQgaXTigJlzIHJlYWxseSBlYXN5IHRvIGV5ZSByb2xsIG9yIGl04oCZcyByZWFsbHkgZWFzeSB0byBiZSBsaWtlLCBPaCBteSBnb3NoLCBob3cgY29tZSB5b3UgZG9u4oCZdCBrbm93IHRoaXM/IEJ1dCBJIGZlZWwgbGlrZSBsZXTigJlzIGNpcmNsZSBiYWNrIHdoZW4gSSBzZWUgdGhlc2UgdGhpbmdzIGFuZCByZW1lbWJlciB0aGF0IHdlIGFsbCBzdGFydCBzb21ld2hlcmUuwqBOb3QgYWxsIG9mIHVzIGhhdmUgYWNjZXNzIHRvIHN1cHBvcnRpdmUgcHJvdmlkZXJzLCBzdXBwb3J0aXZlIGhvc3BpdGFsIHN5c3RlbXMsIHN1cHBvcnRpdmUgZmFtaWxpZXMsIHN1cHBvcnRpdmUgcHJvdmlkZXJzLiBXZSBkb27igJl0IGFsbCBoYXZlIGFjY2VzcyB0byB0aG9zZSB0aGluZ3MuIElmIHlvdeKAmXJlIGFkdmFuY2VkIGluIHlvdXIgVkJBQyB0aG91Z2h0cyBvciB0aGlua2luZyBvciB3aGF0ZXZlciwgSSBlbmNvdXJhZ2UgeW91IHRvIHN0aWxsIHN0YXkgb24gdGhlIGVwaXNvZGUgYmVjYXVzZSB5b3UgbmV2ZXIga25vdyB3aGVuIHlvdeKAmXJlIGdvaW5nIHRvIGxlYXJuIHNvbWV0aGluZyBuZXcuIFlvdSBuZXZlciBrbm93IHdoZW4gc29tZXRoaW5nIGlzIGdvaW5nIHRvIGNsaWNrIHJpZ2h0IGZvciB5b3UgYW5kIHlvdSBuZXZlciBrbm93IHdoZW4geW914oCZcmUgZ29pbmcgdG8gZ2FpbiB0aGUgcGVyc3BlY3RpdmUgdGhhdCB5b3UgbmVlZC7CoElmIHlvdSBhcmUgYSBzZWFzb25lZCBWQkFDIHBybywgcGxlYXNlIGFsc28gc3RpY2sgYWxvbmcgd2l0aCB1cy7CoDA5OjUzIE51Y2hhbCBjb3Jkc0p1bGllOiBJIGZlZWwgbGlrZSBJIGhlYXIgYSBuZXcgcmVhc29uIHdoeSBzb21lb25lIGlzIHRvbGQgdGhleSBjYW7igJl0IGhhdmUgYSB2YWdpbmFsIGJpcnRoIGV2ZXJ5IGRheS4gTm90IGV2ZXJ5IGRheSwgdGhhdOKAmXMgYSBsaXR0bGUgZHJhbWF0aWMuwqBNZWFnYW46IEJ1dCBhIGxvdC7CoEp1bGllOiBJdCBzdGlsbCBzdXJwcmlzZXMgbWUuIEnigJl2ZSBiZWVuIGEgZG91bGEgaW4gdGhlIGJpcnRoIHNjZW5lIGZvciA5IHllYXJzIG5vdyBhbmQgSSBzdGlsbCBnZXQgdGhhdCBjb3JkIHByb2xhcHNlIG9uZS4gSSBoYXZlIG5ldmVyIGhlYXJkIHRoYXQgYXMgYSByZWFzb24gd2h5IHNvbWVvbmUgd291bGQgaGF2ZSBhIHJlcGVhdCBDLXNlY3Rpb24uIEkgbWVhbiwgSSBoYWQgYSBWQkFDIGNsaWVudC4gU2hlIHdhcyB0cnlpbmcgZm9yIGEgVkJBQyBhdCBob21lIGFuZCBpdCBlbmRlZCB1cCBpbiBhIGhvc3BpdGFsIHRyYW5zZmVyLiBUaGUgYmFieeKAmXMgY29yZCB3YXMgd3JhcHBlZCBhcm91bmQgaGVyIG5lY2sgZm91ciB0aW1lcy4gVGhleSBoYWQgdG8gY3V0IHRoZSBjb3JkIGluIGZvdXIgcGxhY2VzIHRvIGdldCB0aGUgYmFieSBvdXQgdmlhIEMtc2VjdGlvbi7CoE1lYWdhbjogSSByZW1lbWJlciB5b3Ugc2F5aW5nIHRoYXQuwqBKdWxpZTogWWVhaCwgdGhhdCBiYWJ5IHdhcyBzdHVjayBzbyB0aWdodGx5IGluIHRoZXJlLiBJbiB0aG9zZSBjaXJjdW1zdGFuY2VzLCB0aGF0IEMtc2VjdGlvbiB3YXMgbmVjZXNzYXJ5LiBUaGF0IGJhYnkgd2FzIG5vdCBjb21pbmcgb3V0LCBidXQgdGhhdCBkb2VzbuKAmXQgbWVhbiBzaGUgY2Fu4oCZdCB0cnkgZm9yIGFub3RoZXIgVkJBQy4gSSB0aGluayBzaGUgaXMgZG9uZSBoYXZpbmcga2lkcywgYnV0IHRoYXQgaXMgY29tcGxldGVseSBjaXJjdW1zdGFudGlhbCBhbmQgc3BlY2lmaWMgdG8gdGhhdCBwcmVnbmFuY3kuwqBTbyBJIGZlZWwgbGlrZSB0aGF04oCZcyBhIHJlYWxseSBpbXBvcnRhbnQgdGhpbmcgdG8gbm90ZSBpcyB0aGF0IG1vc3QgdGhpbmdzIGFyZSBjaXJjdW1zdGFudGlhbC4gRXZlbiBzdGFsbGVkIGxhYm9yIG9yIGFycmVzdCBvZiBkaWxhdGlvbiBvciBmYWlsdXJlIHRvIHByb2dyZXNzIG9yIGEgYmlnIGJhYnkgb3Igd2hhdGV2ZXIgdGhlc2UgdGhpbmdzIGFyZSBjaXJjdW1zdGFudGlhbC4gVGhlIGNvcmQgYXJvdW5kIHRoZSBuZWNrIHByZXZlbnRpbmcgYmFieSBmcm9tIGNvbWluZyBkb3du4oCTIHRvdGFsbHkgY2lyY3Vtc3RhbnRpYWwuIEkgZmVlbCBsaWtlIGV2ZW4gdGhlIEFtZXJpY2FuIFByZWduYW5jeSBBc3NvY2lhdGlvbuKAkyBkaWQgSSBzYXkgdGhhdCByaWdodD8tLSBzYXlzIHRoYXQgOTAlIG9mIHdvbWVuIHdobyBoYXZlIGhhZCBDLXNlY3Rpb25zIGFyZSBnb29kIGNhbmRpZGF0ZXMgZm9yIFZCQUMuwqBJIHRoaW5rIHRoYXTigJlzIGltcG9ydGFudCB0byBub3RlIGlzIHRoYXQgaWYgeW914oCZcmUgYmVpbmcgdG9sZCB0aGF0IHlvdSBhcmUgbm90IGEgZ29vZCBjYW5kaWRhdGUgZm9yIGEgVkJBQywgSSB3b3VsZCByZWFsbHkgcXVlc3Rpb24gd2h5IGJlY2F1c2UgbW9zdCBvZiB0aGUgdGltZSwgeW91IGFyZSBhIGdvb2QgY2FuZGlkYXRlLiBCaWcgYmFieSwgc3VyZS4gVGhhdOKAmXMgb25lLiBXZSBjYW4gdGhyb3cgdGhlc2UgYXJvdW5kLiBQZW9wbGUgc2F5LCDigJxPaCwgeW91ciBiYWJ5IGlzIHRvbyBiaWcuIFlvdSBoYXZlIHRvIGhhdmUgYSBDLXNlY3Rpb24u4oCdIFRoYXQgaXMgbm90IGV2aWRlbmNlLWJhc2VkLiBFdmVuIEFDT0cgc2F5cyB0aGF0IGJpZyBiYWJpZXMgYXJlIG5vdCBhIHJlYXNvbiBmb3IgZWl0aGVyIGluZHVjdGlvbiBvciBhdXRvbWF0aWMgQy1zZWN0aW9ucy7CoE1lYWdhbjogU3VzcGVjdGVkIGJpZyBiYWJpZXMuwqBqdWxpZTsgUmlnaHQsIHN1c3BlY3RlZCBiaWcgYmFiaWVzLsKgTWVhZ2FuOiBMZXTigJlzIGp1c3Qgc2F5IHRoYXQgdGhleeKAmXJlIG5vdCBhbHdheXMgYmlnLsKgSnVsaWU6IFRoZXkgYXJlIG5vdCBhbHdheXMgYmlnIGFuZCB3ZSBrbm93IHRoaXMgaXMgc29tZXRoaW5nIHdlIGF1dG9tYXRpY2FsbHkga25vdyBsaWtlLCBldmVyeWJvZHkga25vd3MgdGhpcyBidXQgbm90IGV2ZXJ5Ym9keSBkb2VzLiBZb3VyIHVsdHJhc291bmQgbWVhc3VyZW1lbnRzIGNhbiBiZSBvZmYgYnkgMS0yIHBvdW5kcyBpbiBlaXRoZXIgZGlyZWN0aW9uLiBUaGV5IGNhbiBtZWFzdXJlIHNtYWxsIG9yIGJpZy4gVGhlIG9ubHkgYWNjdXJhdGUgd2F5IHRvIGRldGVybWluZSBob3cgYmlnIHlvdXIgYmFieSBpcyBpcyB0byB3ZWlnaCBpdCBhZnRlciBpdCBpcyBib3JuLsKgTWVhZ2FuOiBUbyBiaXJ0aCB5b3VyIGJhYnkuIFJpZ2h0LCB0byBiaXJ0aCB5b3VyIGJhYnkuwqBKdWxpZTogTm90IG9ubHkgdGhhdCwgYnV0IGJpZyBiYWJpZXMgY29tZSB0aHJvdWdoIHBldGl0ZSBwZWx2aXNlcyBhbGwgdGhlIHRpbWUuIEJhYmllc+KAmSBoZWFkcyBtb2xkIGFuZCBzcXVpc2ggdGhyb3VnaCBwZWx2aXNlcyB0aGF0IGZsZXggYW5kIG9wZW4gYW5kIG1vdmUgdG8gd29yayB0b2dldGhlci4gVGhlIGJhYnkgYW5kIHRoZSBwZWx2aXMgYXJlIHRoaXMgcmVhbGx5IGNvb2wgZGlhZCB3aGVyZSB0aGV5IGhhdmUgdGhpcyBncmVhdCByZWxhdGlvbnNoaXAgb2Ygd29ya2luZyB0b2dldGhlciBhbmQgdGhlIHBlbHZpcyBvcGVucyBhbmQgdGhlIGJhYnnigJlzIGhlYWQgc21vb3NoZXMgdG9nZXRoZXIuIEFueXdheSwgSSBmZWVsIGxpa2UgdGhhdOKAmXMgcHJvYmFibHkgdGhlIGJpZ2dlc3QgdGhpbmcgdGhhdCBJ4oCZbSBoZWFyaW5nIGxhdGVseSwg4oCcTXkgYmFieeKAmXMgdG9vIGJpZyBhbmQgbXkgcHJvdmlkZXIgd29u4oCZdCBsZXQgbWUu4oCdwqBPciB0aGVyZSB3YXMgYSBwb3N0IGluIHRoZSBjb21tdW5pdHkgdG9kYXkgdGhhdCBNZWFnYW4gc2hhcmVkIHdpdGggbWUgYW5kIHNoZSBzYWlkLCDigJxJcyBpdCByZWFsbHkgcG9zc2libGUgdG8gaGF2ZSBhIFZCQUMgYWZ0ZXIgYSBDLXNlY3Rpb24/IEJlY2F1c2UgSSBmZWVsIGxpa2UgeW91IGFsd2F5cyBoYXZlIHRvIGhhdmUgQy1zZWN0aW9ucy4gSXMgaXQgcmVhbGx5IHBvc3NpYmxlIHRvIGhhdmUgYSB2YWdpbmFsIGJpcnRoIGFmdGVyIGEgQy1zZWN0aW9uP+KAnSBXZSBuZWVkIHRvIHJlbWVtYmVyIHRoYXQgd2UgbGl2ZSBpbiBhIGNvdW50cnkgYW5kIGluIGEgd29ybGQgd2hlcmUgbWFueSBwZW9wbGUgc3RpbGwgaGF2ZSB0aGlzIHdheSBvZiB0aG91Z2h0LiBNYW55IHBlb3BsZSBkb27igJl0IHF1ZXN0aW9uIHRoZWlyIG9wdGlvbnMgYW5kIG1hbnkgcGVvcGxlLCBtb3N0IHBlb3BsZSBnbyBpbiBhbmQganVzdCBhdXRvbWF0aWNhbGx5IHNjaGVkdWxlIGEgQy1zZWN0aW9uIGJlY2F1c2UgdGhhdOKAmXMgd2hhdCB0aGVpciBwcm92aWRlciBzYXlzLCB0aGF04oCZcyB3aGF04oCZcyBtb3N0IGNvbnZlbmllbnQsIGFuZCB0aGV5IGRvbuKAmXQgdGFrZSB0aGUgaW5pdGlhdGl2ZSB0byBsZWFybiBhbmQgYXNrIHF1ZXN0aW9ucy7CoDEzOjMwIEJpZyBiYWJpZXMsIHNtYWxsIHBlbHZpc2VzLCBmbHVpZCBsZXZlbHMsIGFuZCB0aGlyZC10cmltZXN0ZXIgdWx0cmFzb3VuZHNKdWxpZTogaXTigJlzIGEgZmFpbHVyZSBpbiB0aGUgc3lzdGVtLiBXZSB3ZXJlIGp1c3QgdGFsa2luZyBhYm91dCB0aGlzIGJlZm9yZS4gTWVhZ2FuLCBnbyBhaGVhZC7CoE1lYWdhbjogWWVhaCwgSSB3YXMganVzdCBnb2luZyB0byBjaXJjbGUgYmFjayBhcm91bmQgd2l0aCB0aGUgc2l6ZSB0aGluZy4gV2hhdCBJ4oCZbSBzZWVpbmcgbW9yZSBpcyBwZW9wbGUgZG91YnRpbmcgdGhlaXIgYWJpbGl0eSBiZWNhdXNlIHdlIGhhdmUgcGVvcGxlIHNheWluZywg4oCcV2VsbCwgeW91ciBiYWJ5IGlzIHRoaXMgc2l6ZSzigJ0gYnV0IHRoZSByZWFzb24gd2h5IHRoZXkgYXJlIGV2ZW4gc2F5aW5nIHRoYXQgaXMgYmVjYXVzZSBJ4oCZbSBzZWVpbmcgYW4gaW5jcmVhc2UgaW4gdGhpcmQtdHJpbWVzdGVyIHVsdHJhc291bmRzLsKgSnVsaWU6IFllcy4gVGhpcmQtdHJpbWVzdGVyIHVsdHJhc291bmRzIGFyZSB0cm91YmxlLsKgTWVhZ2FuOiBUaGV5IGFyZSB0cm91YmxlLsKgSnVsaWU6IEp1c3Qgcm91dGluZSB0byBjaGVjayBvbiBiYWJ54oCZcyBzaXplIGFuZCBjaGVjayBmbHVpZHPigJMgbm8uIEp1c3Qgc2F5IG5vIHRvIHRoaXJkLXRyaW1lc3RlciB1bHRyYXNvdW5kcyB1bmxlc3MgdGhlcmUgaXMgYSB2YWxpZCBjb25jZXJuIGZvciBiYWJ5LsKgTWVhZ2FuOiBZZWFoLiBZZWFoLiBJdCBpcyBnZXR0aW5nIG1lLiBJdCBpcyBnZXR0aW5nIG1lIHRoYXQgSeKAmW0gc2VlaW5nIGl0IHNvIG9mdGVuLiBJdOKAmXMganVzdCBnZXR0aW5nIG1lIGlya2VkIGEgbGl0dGxlIGJpdC7CoEp1bGllOiBHb3NoLCBNZWFnYW4sIEkgc3dlYXIgdGhvdWdoLiBUaGUgcmVhc29uIHlvdSBhcmUgZ2V0dGluZyBpcmtlZCBpcyBiZWNhdXNlIHdlIGhhdmUgc2VlbiB0aGVzZSB0aGluZ3MgZ28gc291dGggc28gbWFueSB0aW1lcy4gR3Vlc3Mgd2hhdCBoYXBwZW5zPyBUaGV5IGdvIGluIGZvciBhIHRoaXJkLXRyaW1lc3RlciB1bHRyYXNvdW5kIGFuZCB0aGVyZSBhcmUgbm8gcHVibGlzaGVkIHN0YXRpc3RpY3MgZm9yIHRoaXMuIEkgZG9u4oCZdCBrbm93LiBJIGhhdmVu4oCZdCBsb29rZWQuIEJ1dCBJIGZlZWwgbGlrZSBwZW9wbGUgZ28gaW4gYW5kIHRoZXkgZ2V0IHRoZWlyIHRoaXJkLXRyaW1lc3RlciB1bHRyYXNvdW5kIGFuZCB0aGVuIHRoZXkgYXJlIGxpa2UsIOKAnFdlbGwsIG15IGJhYnkgaXMgbWVhc3VyaW5nIGJpZyzigJ0gYW5kIHRoZW4gdGhleSBzdGFydCB0byBnZXQgd29ycmllZCBsaWtlLCDigJxJIGRvbuKAmXQga25vdyBpZiBJIGNhbiBoYXZlIGEgYmlnIGJhYnks4oCdIGJlY2F1c2UgdGhlaXIgcHJvdmlkZXIgaXMgbGlrZSwg4oCcT2gsIHlvdXIgcHJvdmlkZXIgaXMgbWVhc3VyaW5nIGJpZy7igJ0gVGhlaXIgcHJvdmlkZXIgaXMgc2F5aW5nIGl0IGxpa2UgdGhhdC4gSXQgY2FzdHMgZG91YnQuIEl0IGNhc3RzIHRoYXQgZG91YnQgaW4gdGhlaXIgbWluZCBhbmQgdGhhdCBsaXR0bGUgc2VlZCBvZiBkb3VidCBnZXRzIHBsYW50ZWQuIFRoYXQgbGl0dGxlIHNlZWQgb2YgZG91YnQgZ2V0cyBub3VyaXNoZWQgbGlrZSwg4oCcV2Ugd2lsbCBsZXQgeW91IHRyeSBmb3IgYSBWQkFDIGJ1dCB5b3VyIGJhYnkgaXMga2luZCBvZiBiaWcgc28gd2Ugd2lsbCBqdXN0IGhhdmUgdG8gc2VlIGhvdyBpdCBnb2VzLOKAnSBhbmQgdGhlbiB0aGVzZSBwYXJlbnRzIGdldCBzZXQgdXAgZm9yIHdhbnRpbmcgdG8gaGF2ZSBhbiBlYXJsaWVyIGluZHVjdGlvbiBmb3IgYmlnIGJhYnkgYmVjYXVzZSB0aGV5IGRvbuKAmXQgd2FudCB0aGVpciBiYWJ5IHRvIGdldCB0b28gYmlnIG9yIGp1c3Qgc2NoZWR1bGluZyBhIHJlcGVhdCBDZXNhcmVhbiBiZWNhdXNlIHRoZXkgYXJlIHRlcnJpZmllZCBvZiBhIGJpZ2dlciBiYWJ5IGFuZCB0aGUgcHJvYmxlbXMgdGhhdCBhIGJpZyBiYWJ5IGNvdWxkIGhhdmUgd2hpY2ggYXJlIG5vdCBhY3R1YWxseSB0aGF0IG1hbnkuwqBUaGUgcmlzayBvZiBzaG91bGRlciBkeXN0b2NpYSBJIGZlZWwgbGlrZSBkb2VzbuKAmXQgaW5jcmVhc2Ugc2lnbmlmaWNhbnRseSBtb3JlIHdpdGggYmlnIGJhYmllcy4gV2UganVzdCB0aGluayBpdCBkb2VzLiBTbWFsbGVyIGJhYmllcyBnZXQgc2hvdWxkZXIgZHlzdG9jaWEganVzdCBsaWtlIGJpZ2dlciBiYWJpZXMgZG8uIE9yLCDigJxPaCwgbXkgZmx1aWRzIGFyZSB0b28gYmlnIG9yIHRvbyBsaXR0bGUs4oCdIGFuZCB0aG9zZSB1bHRyYXNvdW5kIG1lYXN1cmVtZW50cyBhcmUganVzdCBzbyBpbmFjY3VyYXRlIGZpcnN0IG9mIGFsbCwgYnV0IG1vc3Qgb2Ygd2hhdCB0aGV5IGZpbmQgaXNu4oCZdCBldmlkZW5jZS1iYXNlZCBlaXRoZXIuIFlvdeKAmXJlIHdhbGtpbmcgaW50byBhIHNpdHVhdGlvbiB3aGVyZSB5b3VyIHByb3ZpZGVyIHdpbGwgY2FzdCBkb3VidCBvbiB5b3Ugd2hldGhlciBpbnRlbnRpb25hbGx5IG9yIG5vdC4gSSBkb27igJl0IHdhbnQgdG8gdmlsbGFpbml6ZSBwcm92aWRlcnMgYmVjYXVzZSBtb3N0IHByb3ZpZGVycyBJIGRvbuKAmXQgdGhpbmsgaGF2ZSBpbGwgaW50ZW50aW9ucy4gVGhleSBhcmUganVzdCBkb2luZyB3aGF0IHRoZXkga25vdyBhbmQgZG9pbmcgd2hhdCB0aGV5IGFyZSBjb21mb3J0YWJsZSB3aXRoLsKgQnV0IHRoYXQgaGFwcGVucyBub25ldGhlbGVzcy4gU28gaWYgeW91ciBwcm92aWRlciBpcyByZWNvbW1lbmRpbmcgYSB0aGlyZC10cmltZXN0ZXIgdWx0cmFzb3VuZCwgaGVyZSBpcyBzb21ldGhpbmcgdGhhdCBJIGVuY291cmFnZSBwZW9wbGUuIEFzayB0aGVtLCBmaXJzdCBvZiBhbGwsIHdoeS4gSWYgdGhleSB3aWxsIGJlIGxpa2UsIOKAnE9oLCBqdXN0IHRvIGNoZWNrIG9uIGJhYnkgYW5kIGNoZWNrIHRoZSBzaXplLuKAnSBJIGZlZWwgbGlrZSB5b3UgY2FuIHBvbGl0ZWx5IGRlY2xpbmUgdW5sZXNzIHlvdSB3YW50IHRvLiBJdOKAmXMgZnVuIHRvIHNlZSB5b3VyIGJhYnkgYW5kIHRoaW5ncyBsaWtlIHRoYXQsIGJ1dCB3aGF0IHdvdWxkIGNoYW5nZT8gVGhpcyBpcyB3aGF0IHlvdSBjYW4gYXNrIHlvdXIgcHJvdmlkZXIuIOKAnFdoYXQgd2lsbCBjaGFuZ2UgaW4gbXkgcGxhbiBvZiBjYXJlIGJhc2VkIG9uIHdoYXQgd2UgZmluZCBpbiB0aGUgdWx0cmFzb3VuZD/igJ0gV2hhdCB3aWxsIGNoYW5nZT8gV2hhdCBkaXJlY3Rpb24gd291bGQgc2hpZnQ/IFdoYXQgYW5zd2VycyBhcmUgd2UgbG9va2luZyBmb3I/IFdoYXQgd2lsbCBjaGFuZ2UgaW4gbXkgY2FyZSBiYXNlZCBvbiB3aGF0IHdlIGZpbmQgaW4gdGhlIHVsdHJhc291bmQ/wqBJZiB5b3VyIHByb3ZpZGVyIHNheXMsIOKAnFdlbGwsIHdlIGp1c3Qgd2FudCB0byBtYWtlIHN1cmUgdGhhdCB5b3VyIGJhYnkgaXMgbm90IHRvbyBiaWcs4oCdIHRoYXTigJlzIGEgcmVkIGZsYWcuIFJpZ2h0P8KgTWVhZ2FuOiBZZXMuwqBKdWxpZTog4oCcV2Ugd2FudCB0byBtYWtlIHN1cmUgeW91ciB3YXRlcnMgYXJlIG9rYXks4oCdIHdoaWNoIGNvdWxkIGJlIGEgbGVnaXRpbWF0ZSByZWFzb24uIElmIHlvdSBhcmUgbWVhc3VyaW5nIG1vcmUgdGhhbiAxMCB3ZWVrcyBhaGVhZCBvciBiZWhpbmQsIGl04oCZcyBwcm9iYWJseSBhIGdvb2QgaWRlYSB0byBnZXQgeW91ciBmbHVpZHMgY2hlY2tlZCBieSB1bHRyYXNvdW5kIGJ1dCBpZiB5b3UgYXJlIG9ubHkgbWVhc3VyaW5nIDMgb3IgNCB3ZWVrcyBhaGVhZCBvciBiZWhpbmQsIHRoYXTigJlzIG5vdCBuZWNlc3NhcmlseSBhbiBldmlkZW5jZS1iYXNlZCByZWFzb24gdG8gZG8gdGhhdC7CoEkgd291bGQganVzdCBhc2sgdGhhdC4gSSBtZWFuLCB0aGF04oCZcyBhIGdvb2QgcXVlc3Rpb24gdG8gYXNrIGZvciBhbnkgdHlwZSBvZiBpbnRlcnZlbnRpb24gb3IgY2hlY2tzIG9yIHdoYXRldmVyLjE3OjA4IEhvdyB3aWxsIHRoaXMgY2hhbmdlIG15IGNhcmU/SnVsaWU6IOKAnFlvdSB3YW50IGEgY2VydmljYWwgY2hlY2sgYXQgMzYgd2Vla3M/IE9rYXkuIFdoYXQgd291bGQgY2hhbmdlIGluIG15IGNhcmU/IFdoYXQgYXJlIHdlIGxvb2tpbmcgZm9yPyBXaGF0IHdvdWxkIGNoYW5nZSBpbiBteSBjYXJlIHBsYW4gaWYgdGhpcyBoYXBwZW5zIGFuZCBpZiB0aGF0IGhhcHBlbnM/4oCdIGJlY2F1c2UgbW9zdCBvZiB0aGUgdGltZSwgY2VydmljYWwgY2hlY2tzIGJlZm9yZSBsYWJvcuKAkyBhY3R1YWxseSBjZXJ2aWNhbCBjaGVja3MgZHVyaW5nIGxhYm9yIHRvb+KAkyBkb27igJl0IHRlbGwgdXMgYW55dGhpbmcuIFRoZXkgZG9u4oCZdCB0ZWxsIHVzIGFueXRoaW5nLsKgSSBqdXN0IG1pc3NlZCBhIGJpcnRoIGEgbW9udGggYWdvIG9yIGFib3V0IHRocmVlIHdlZWtzIGFnbyBiZWNhdXNlIGEgZmlyc3QtdGltZSBtb20gd2VudCBmcm9tIDMgY2VudGltZXRlcnPigJMgc2hlIHdhcyBhdCAzIGNlbnRpbWV0ZXJzIGZvciAxMiBob3VycyBhbmQgd2VudCBmcm9tIDMgY2VudGltZXRlcnMgdG8gYmFieSBpbiBsZXNzIHRoYW4gYW4gaG91ciBhbmQgYSBoYWxmLiBDZXJ2aWNhbCBjaGVja3MgdGVsbCB1cyBub3RoaW5nLsKgQW55d2F5LCBiZWZvcmUgSSBnZXQgb2ZmIG9uIGEgbGl0dGxlIG1vcmUgb2YgYSBzb2FwYm94IHRoZXJlLiBTb3JyeSwgSeKAmXZlIGJlZW4gcmFtYmxpbmcuwqBNZWFnYW46IFlvdeKAmXJlIGp1c3QgZmluZS4gSSBhYnNvbHV0ZWx5IGxvdmUgdGhhdCB5b3UgcG9pbnRlZCB0aGF0IG91dCBhbmQgdGhhdCB5b3Ugc3BlY2lmaWNhbGx5IHNhaWQgdGhhdCBpdCBjYW4gcmVhbGx5IGFwcGx5IHRvIGFueXRoaW5nIGluIHlvdXIgY2FyZS4gV2hhdCBkb2VzIHRoaXMgdGhpbmcgZG8gb3IgaG93IGRvZXMgaXQgY2hhbmdlIG15IGNhcmU/wqBJIGp1c3QgdGhpbmsgZXZlcnlib2R5IHNob3VsZCB0YWtlIHRoYXQgbnVnZ2V0IGZyb20gdGhpcyBlcGlzb2RlIHJpZ2h0IG5vdyBhbmQganVzdCBob2xkIG9udG8gaXQgdGlnaHRseS4gUHV0IGl0IHJpZ2h0IGluIHlvdXIgcG9ja2V0IGFuZCBrZWVwIHRoYXQgYmVjYXVzZSB5b3UgbmFpbGVkIGl0IHJpZ2h0IHRoZXJlLiBIb3cgZG9lcyB0aGlzIGNoYW5nZSBteSBjYXJlPyBJZiB5b3XigJlyZSBnZXR0aW5nIHRoaW5ncyBsaWtlIHNoZSBzYWlkLCB5ZWFoLiBUaGF04oCZcyBkdW1iLiBJdOKAmXMgc2lsbHkuwqBPciB3aXRoIGEgY2VydmljYWwgZXhhbSwgaXTigJlzIGxpa2UsIOKAnE9oLCB3ZSBqdXN0IHdhbnQgdG8gc2VlIHdoYXQgeW91ciBCSVNIT1Agc2NvcmUgaXMuIFdlIGp1c3Qgd2FudGVkIHRvIHNlZSBpZiB5b3XigJlyZSBwcm9ncmVzc2luZy7igJ0gV2h5PyBBdCAzNiB3ZWVrcz8gRmlyc3Qgb2YgYWxsLCB0aGF04oCZcyBwcmV0ZXJtLiBTZWNvbmQgb2YgYWxsLCB0byBhY3R1YWxseSBiZSwgZXNwZWNpYWxseSBpZiB3ZSBuZXZlciBtYWRlIGl0IHRvIDEwIGNlbnRpbWV0ZXJzIGJlZm9yZSBpbiBvdXIgZmlyc3QgbGFib3IsIHRoZSBjaGFuY2VzIG9mIHVzIGJlaW5nIHZlcnkgZGlsYXRlZCBhdCAzNiB3ZWVrc+KAkzE4OjQ3IENlcnZpY2FsIGRpbGF0aW9uTWVhZ2FuOiBPa2F5LiBUaGlzIGlzIGdvaW5nIHRvIGxlYWQgbWUgdG8gdGhlIG5leHQgdGhpbmcgdGhhdCB3ZSBzZWUgYWxsIG9mIHRoZSB0aW1lLiBUaGUgY2hhbmNlcyBvZiB5b3UgYmVpbmcgZGlsYXRlZCBhdCAzNiB3ZWVrcyBpcyBwcmV0dHkgbG93IGFjdHVhbGx5LiBUaGlzIGlzIHNvbWV0aGluZyBlbHNlIEkgc2VlIHRoYXQgYnJlYWtzIG15IGhlYXJ0IGFjdHVhbGx5IGluIG91ciBjb21tdW5pdHkgYW5kIG5vdCBldmVuIGp1c3QgaW4gb3VyIGNvbW11bml0eSwgaW4gb3RoZXIgY29tbXVuaXRpZXMsIGFuZCBob25lc3RseSBldmVuIGluIGNvbnN1bHRzIEnigJl2ZSBoYWQgcGVvcGxlIHRhbGsgYWJvdXQgdGhpcy4g4oCcT2gsIEnigJltIDM3IHdlZWtzIG9yIDM4IHdlZWtzIGFuZCBJ4oCZbSBub3QgZGlsYXRlZCBzbyBteSBkb2N0b3IgaXMgdGVsbGluZyBtZSB0aGF0IGl04oCZcyBwcm9iYWJseSBub3QgZ29pbmcgdG8gaGFwcGVuLuKAnSBEbyB5b3Ugc2VlIHRoaXMgYWxsIHRoZSB0aW1lLCBKdWxpZT8g4oCcT2gsIGd1eXMuIEnigJltIHNvIHNhZCBiZWNhdXNlIEnigJltIDM4IHdlZWtzIGFuZCBteSBwcm92aWRlciBpcyB0ZWxsaW5nIG1lIHRoYXQgSeKAmW0gbm90IGRpbGF0ZWQgc28gSSBwcm9iYWJseSBuZWVkIHRvIHNjaGVkdWxlIGEgQy1zZWN0aW9uIHRoZSBuZXh0IHdlZWsu4oCdwqBXb21lbiBvZiBTdHJlbmd0aCwgaWYgeW91IGFyZSBub3QgZGlsYXRlZCBhdCAzNiwgMzcsIDM4LCAzOSBvciBldmVuIDQwLCBldmVuIDQxIHdlZWtzIGhvbmVzdGx5LCB0aGF04oCZcyBva2F5LiBZb3VyIGJvZHkgd2lsbCBkbyBpdC4gU29tZSBib2RpZXMgZG9u4oCZdCBkbyBpdCB1bnRpbCB0aGV5IGFyZSBpbiBsYWJvci4gVGhleSBqdXN0IGRvbuKAmXQuwqBKdWxpZTogWWVhaCwgYW5kIGhvbmVzdGx5IGF0IDM2IG9yIDM3IHdlZWtzLCBhbnl0aW1lIGJlZm9yZSBsYWJvciBzdGFydHMgYW5kIHlvdeKAmXJlIG5vdCBkaWxhdGVkLCBndWVzcyB3aGF0PyBZb3VyIGNlcnZpeCBpcyBkb2luZyBleGFjdGx5IHdoYXQgaXTigJlzIHN1cHBvc2VkIHRvIGRvIHdoaWNoIGlzIGtlZXBpbmcgeW91ciBiYWJ5IHNhZmUgYW5kIGtlZXBpbmcgeW91ciBiYWJ5IGluIHVudGlsIGl04oCZcyByZWFkeSB0byBjb21lIG91dC4gSSBjYW7igJl0IHJlaXRlcmF0ZSB0aGF0IGVub3VnaC4gWW914oCZcmUgbm90IHN1cHBvc2VkIHRvIGJlIGRpbGF0ZWQgYmVmb3JlIGl04oCZcyB0aW1lIGZvciB0aGUgYmFieSB0byBjb21lIG91dC4gSSBzYXkgc3VwcG9zZWQgYmVjYXVzZSBzb21lIGJvZGllcyBzaGlmdCBhbmQgY2hhbmdlIGEgbGl0dGxlIGJpdCBzb29uZXIgYW5kIHRoYXTigJlzIG9rYXkuwqBCdXQgd2hlbmV2ZXIgSSB3YXMgYSBkb3VsYSwgSSBtZWFuIEkgZG9u4oCZdCBnZXQgdG8gdGFsayB0byBwZW9wbGUgcHJlbmF0YWxseSBhcyBtdWNoIGFueW1vcmUgc2luY2UgSeKAmW0ganVzdCBkb2luZyBiaXJ0aCBwaG90b2dyYXBoeSwgYnV0IEkgd291bGQgYWx3YXlzIHNheSwg4oCcWW91IGtub3cgd2hhdD8gSWYgeW91IHdhbnQgYSBjZXJ2aWNhbCBjaGVjaywgdGhhdCBpcyB0b3RhbGx5IGZpbmUuIFlvdSBnZXQgdG8gZGVjaWRlLiBZb3UgZ2V0IHRvIG1ha2UgdGhlIGNob2ljZSBhYm91dCB3aGV0aGVyIHlvdSBnZXQgYSBjZXJ2aWNhbCBjaGVjayBvciBub3Qu4oCdwqBCdXQgaWYgaGF2aW5nIGEgY2VydmljYWwgY2hlY2ssIGlmIHlvdSBnbyBpbiBhbmQgeW91IGhhdmUgYSBjZXJ2aWNhbCBjaGVjayBhbmQgeW91IGtub3cgdGhhdCBpZiB5b3XigJlyZSBub3QgZGlsYXRlZCBhdCBhbGwgdGhhdCBpdCBpcyBnb2luZyB0byBtYWtlIHlvdSBkZXByZXNzZWQgYW5kIGZydXN0cmF0ZWQsIHRoZW4gZG9u4oCZdCBkbyBpdC4gSWYgeW91IGdvIGluIGFuZCB5b3XigJlyZSBsaWtlLCDigJxIZXksIEnigJltIHByZXBhcmVkIHRvIGJlIGxvdywgaGFyZCwgYW5kIGNsb3NlZCBhbmQgSSBqdXN0IHdhbnQgdGhlIGluZm9ybWF0aW9uIGJlY2F1c2UgSSBsb3ZlIGluZm9ybWF0aW9uLOKAnSBhbmQgeW91IGFyZSBub3QgZ29pbmcgdG8gYmUgc2FkIGlmIHlvdSBoZWFyIHRoYXQgeW91IGFyZSBsb3csIGhhcmQsIGFuZCBjbG9zZWQsIHRoZW4gc3VyZS4gR2V0IG9uZSBpZiB5b3Ugd2FudC7CoEJ1dCBqdXN0IGtub3cgdGhhdCBhbnl0aGluZyBiZXlvbmQgYmVpbmcgbG93LCBoYXJkLCBhbmQgY2xvc2VkIGlzIGp1c3TigJPCoE1lYWdhbjogTHVja3ksIGdyZWF0LCBhd2Vzb21lLsKgSnVsaWU6IEx1Y2t5LCBzdXJlLCBncmVhdCBhbmQgYXdlc29tZSwgYnV0IGl04oCZcyBhbHNvIG5vdCBhbiBpbmRpY2F0b3IgYmVjYXVzZSBndWVzcyB3aGF0PyBJ4oCZdmUgYWxzbyBoYWQgYSBjbGllbnQsIGEgZmlyc3QtdGltZSBtb20sIHdhbGsgYXJvdW5kIGF0IDQgY2VudGltZXRlcnMgZGlsYXRlZCBmb3IgMTAgZGF5cyBhbmQgdGhlbiBzaGUgd2VudCBpbnRvIGxhYm9yIGFuZCBoYWQgYSAyNC1ob3VyIGxhYm9yIGF0IGhvbWUgYW5kIGVuZGVkIHVwIGluIGEgaG9zcGl0YWwgdHJhbnNmZXIgYW5kIGEgQy1zZWN0aW9uLiBJIHN3ZWFyLiBZb3VyIGNlcnZpeCBpcyBub3QgdGVsbGluZyB5b3UgYW55dGhpbmcgYmVmb3JlIGxhYm9yIGFuZCBkdXJpbmcgbGFib3IgbW9zdCBvZiB0aGUgdGltZSwgaXTigJlzIG5vdCB0ZWxsaW5nIHlvdSBhbnl0aGluZy4gSXTigJlzIHRlbGxpbmcgeW91IHRoYXQgeW91IGhhdmUgcHJvZ3Jlc3NlZCB0aGlzIGZhci4gSXTigJlzIGRvZXNu4oCZdCB0ZWxsIHlvdSBob3cgYW55dGhpbmcgaXMgZ29pbmcgdG8gZ28gaW4gdGhlIGZ1dHVyZS4gSXQgZG9lc27igJl0IHRlbGwgeW91IGhvdyBhbnl0aGluZyBpcyBnb2luZyB0byBsb29rIG1vdmluZyBmb3J3YXJkLiBJdCBqdXN0IGRvZXNu4oCZdC7CoE1lYWdhbjogWWVhaC4gU28gaWYgeW91IGFyZSBoYXZpbmcgc29tZW9uZSB0ZWxsIHlvdSwg4oCcWW914oCZcmUgbm90IGRpbGF0ZWTigJ0gb3Ig4oCcT2gsIGl04oCZcyBwcm9iYWJseSBub3QgZ29pbmcgdG8gaGFwcGVuLiBZb3Ugc2hvdWxkIHByb2JhYmx5IHNjaGVkdWxlIGEgQy1zZWN0aW9u4oCT4oCdSnVsaWU6IEp1c3Qgc2F5LCDigJxKdWxpZSBGcmFuY29tIHNhaWTigJPigJ3CoE1lYWdhbjogSWYgeW91IHdhbnQgdGhhdCwgZG8gdGhhdC4gQnV0IGlmIGl04oCZcyBub3Qgd2hhdCB5b3Ugd2FudCwgZG9u4oCZdCBsZXQgc29tZW9uZSBidWxseSB5b3UgaW50byBiZWxpZXZpbmcgdGhhdCB5b3VyIGJvZHkgaXMgbm90IHdvcmtpbmcgd2hlbiBpdOKAmXMgYWN0dWFsbHkgZG9pbmcgZXhhY3RseSB3aGF0IGl04oCZcyBzdXBwb3NlZCB0byBiZSBkb2luZy7CoEp1bGllOiBFeGFjdGx5LiB0aGF04oCZcyB0aGUgdGhpbmcgdG9vLiBTb21ldGltZXMgYXQgdGhlIGVuZCBvZiBwcmVnbmFuY3ksIGl0IGlzIGhhcmQuIEJlaW5nIHByZWduYW50IGlzIGhhcmQuIEJlaW5nIGNsb3NlIHRvIHlvdXIgZHVlIGRhdGUgaXMgaGFyZC4gRXZlcnlib2R5IGlzIGFza2luZyB5b3UsIOKAnEhhdmUgeW91IGhhZCB5b3VyIGJhYnkgeWV0PyBXaGF0IGFyZSB5b3UgZ29pbmcgdG8gZG8/IFdoYXQgYXJlIHlvdXIgcGxhbnMgZm9yIGluZHVjdGlvbj/igJ0gV2XigJl2ZSBhbGwgYmVlbiB0aGVyZSBhbmQgaXQgaXMgcmVhbGx5LCByZWFsbHkgaGFyZCB0byBzdGF5IHN0cm9uZy4gSSBmZWVsIGxpa2Ugc29tZSBwZW9wbGUgY291bGQganVzdCBiZW5lZml0IGJ5IGp1c3Qgc2F5aW5nIG5vLiBKdXN0IHNheWluZyBubyBiZWNhdXNlIGl04oCZcyBzbyBlYXN5IGlmIHlvdXIgYmFieSBpcyBtZWFzdXJpbmcgYmlnIG9yIGlmIHlvdSBmZWVsIGxpa2UgeW91ciBjZXJ2aXggaXMgaGFyZCBhbmQgY2xvc2VkLiBCZSBsaWtlLCDigJxBdywgZmxpcCBtYW4uIEnigJltIGdvaW5nIHRvIGJlIHByZWduYW50IGZvcmV2ZXIgYW5kIG15IGJhYnkgaXMgZ29pbmcgdG8gYmUgYmlnIGFuZCBpdOKAmXMgZ29pbmcgdG8gaGF2ZSBhIGhhcmQgdGltZSBjb21pbmcgb3V0IHNvIEkgbWlnaHQgYXMgd2VsbCBzY2hlZHVsZSBhIEMtc2VjdGlvbi7igJ3CoElmIHlvdSBmZWVsIGxpa2UgeW91IGNvdWxkIGJlIGVhc2lseSBzd2F5ZWQgYnkgdGhvc2UgdGhpbmdzIHdoaWNoIGEgbG90IG9mIHBlb3BsZSBhcmUuIEl04oCZcyBzbyBlYXN5IHRvIGJlIHN3YXllZCBieSB0aG9zZSB0aGluZ3MsIGVzcGVjaWFsbHkgYXQgdGhlIGVuZCBvZiBwcmVnbmFuY3kuIFRoZW4gbWF5YmUganVzdCBzYXkgbm8uIE9idmlvdXNseSB0aGVyZSBpcyBudWFuY2UgaGVyZSBzbyBpZiB0aGVyZSBpcyBhIHRydWUgbWVkaWNhbCBuZWVkIGFuZCB0aGVyZSBpcyBzb21lIG1lZGljYWwgY29uY2VybiBmb3IgYmFieSBvciBpZiB0aGVyZSBpcyBzb21lIHdvcnJ5IGZvciB5b3VyIGNlcnZpeCBiZWluZyBpbiBwcmV0ZXJtIGxhYm9yIG9yIHRoaW5ncyBsaWtlIHRoYXQsIG9idmlvdXNseSB0aG9zZSBhcmUgdmFsaWQgcmVhc29ucyBidXQgaWYgaXTigJlzIGEganVzdCBiZWNhdXNlLCBJ4oCZbSBub3QgYSBiaWcgZmFuIG9mIGRvaW5nIG1lZGljYWwgdGhpbmdzIGp1c3QgYmVjYXVzZS7CoE1lYWdhbjogSnVzdCBiZWNhdXNlIEkgYWdyZWUuIFllYWguIEV4YWN0bHkuIElmIHRoZXJl4oCZcyBubyByZWFsIHJlYXNvbiwgdGhlbiBqdXN0IGJlY2F1c2UgZG9lc27igJl0LiBVbmxlc3MgeW91IHdhbnQgaXQuIFVubGVzcyB0aGF04oCZcyByZWFsbHkgd2hhdCB5b3Ugd2FudC7CoDI1OjU0IER1ZSBkYXRlc01lYWdhbjogT2theSwgc28gd2UgdGFsa2VkIGFib3V0IGJhYmllcy4gV2UgdGFsa2VkIGFib3V0IGRpbGF0aW9uIGJlZm9yZSBkdWUgZGF0ZXMgYW5kIGNhbiB3ZSBhbHNvIHRhbGsgYWJvdXQgZHVlIGRhdGVzP8KgSnVsaWU6IEV3LsKgTWVhZ2FuOiBFdy7CoEp1bGllOiBZZWFoLCBqdXN0IGtpZGRpbmcuIFRoYXQgd2FzIHdlaXJkLiBJIGRvbuKAmXQga25vdyB3aHkgSSBzYWlkIHRoYXQuIEnigJltIGEgd2VpcmRvIHNvbWV0aW1lcy7CoE1lYWdhbjogV2VsbCwgZHVlIGRhdGVzIGFyZSBoYXJkLiBEdWUgZGF0ZXMgYXJlIGEgcmVhbGx5IGhhcmQgdG9waWMgYmVjYXVzZSBlc3BlY2lhbGx5IGFmdGVyIHRoZSBBUlJJVkUgdHJpYWwgd2hpY2ggSnVsaWUgRnJhbmNvbSBoZXJzZWxmIHdyb3RlIHRoZSBibG9nIGFib3V0IHRoZSBBUlJJVkUgdHJpYWwgaWYgSSByZWNhbGwuIEkgZG9u4oCZdCB0aGluayBJIGRpZC4gSSB0aGluayB5b3UgZGlkLkp1bGllOiBJ4oCZbSBwcmV0dHkgc3VyZSBJIGRpZC7CoE1lYWdhbjogSSB0aGluayB5b3UgZGlkLiBJIGZlZWwgbGlrZSBzaW5jZSB0aGUgQVJSSVZFIHRyaWFsLCB3ZSByZWFsbHkgaGF2ZSBzZWVuIGEgbWFqb3Igc2hpZnQgaW4gZHVlIGRhdGVzLsKgSnVsaWU6IFlvdSBtZWFuIGluZHVjdGlvbj8gQSBtYWpvciBzaGlmdCBpbiBpbnRlcnZlbnRpb25zP8KgTWVhZ2FuOiBXZWxsLCBzb3JyeS4gSW5kdWN0aW9uIGJlY2F1c2Ugb2YgZHVlIGRhdGVzLsKgSnVsaWU6IFJpZ2h0LiBHb3RjaGEuwqBNZWFnYW46IFdlIHNlZSBwZW9wbGUgYXQgMzggd2Vla3MgYmVpbmcgY2hlY2tlZCwgbm90IGRpbGF0ZWQsIGJlaW5nIHRvbGQgdGhhdCB0aGV5IGVpdGhlciBsaWtlIEkgc2FpZCwgaGF2ZSB0byBoYXZlIGEgQy1zZWN0aW9uIG9yIGhhdmUgdG8gYmUgaW5kdWNlZCBpbiB0aGUgbmV4dCB3ZWVrIGJlY2F1c2UgdGhleSBhcmUgMzkgd2Vla3MgYnV0IHJlYWxseSwgZG8gd2UgaGF2ZSB0bz8gV2UgZG8gbm90LiBXZSBkbyBub3QgaGF2ZSB0by4gQSBsb3Qgb2YgYm9kaWVzIGRvIGdvIG92ZXIgdGhhdCA0MC13ZWVrIG1hcmsuwqBJIHRoaW5rIGl04oCZcyBpbXBvcnRhbnQgdG8ga25vdyB3aGVuIHlvdSBhcmUgYXBwcm9hY2hpbmcgeW91ciBkdWUgZGF0ZSB0aGF0IHlvdSBtYXkgc3RhcnQgZ2V0dGluZyBhbiBpbmZsdXggb2YgcHJlc3N1cmUgdG8gZG8gdGhvc2UgdGhpbmdzLCB0byBzd2VlcCB5b3VyIG1lbWJyYW5lcywgdG8gaW5kdWNlLCB0byBzY2hlZHVsZSBhIEMtc2VjdGlvbiwgYW5kIEkgdGhpbmsgdGhhdCBpcyBzb21ldGhpbmcgdGhhdCBJIGZpbmQgZnJ1c3RyYXRpbmcuIEkgbWVhbiwgeW91IGd1eXMsIG9idmlvdXNseSBhcyBhIGRvdWxhLCBJIHdvcmsgd2l0aCBhIGxvdCBvZiBwcmVnbmFudCBwZW9wbGUgYW5kIEp1bGllIGV2ZW4gYmVpbmcgYSBwaG90b2dyYXBoZXIgbm93LCBJ4oCZbSBzdXJlIHlvdSBoYXZlIHNpdHVhdGlvbnMgd2hlcmUgeW91IGFyZSBsaWtlLCBPaCwgdGhpcyBwZXJzb24gaXMgYmVpbmcgaW5kdWNlZCBub3csIGFuZCBub3cgeW914oCZcmUgcGxhbm5pbmcgYW5kIGluZHVjdGlvbi4gV2XigJlsbCBnZXQgdG8gaW5kdWN0aW9uIGluIGEgc2Vjb25kLsKgQnV0IHRoZSBwcmVzc3VyZSB0aGF0IHN0YXJ0cyBjb21pbmcgYXQgcGVvcGxlIGF0IDM4IG9yIDM5IHdlZWtzIGZvciBpbmR1Y3Rpb24gb3IgYSBzY2hlZHVsZWQgQy1zZWN0aW9uIGlzIHVucmVhbCB0byBtZSB3aGVuIHNvbWV0aW1lcyB3ZSBqdXN0IG5lZWQgdG8gbGV0IHRoZSBib2R5IGJlLsKgSnVsaWU6IFllcC7CoE1lYWdhbjogUmlnaHQ/wqAyODoxOCBWdWxuZXJhYmlsaXR5IGFuZCB0aGUgQVJSSVZFIHRyaWFsSnVsaWU6IEkgYWdyZWUgc28gbXVjaC4gSXTigJlzIHNvIGZ1bm55IGJlY2F1c2Ugd2UgYWxsIGtub3cgdGhhdCBpbmR1Y3Rpb24gaXMgc2FmZSBhbmQgd2XigJlyZSBnb2luZyB0byB0YWxrIGFib3V0IHRoYXQgaW4ganVzdCBhIG1pbnV0ZS4gSXTigJlzIHNhZmUgZm9yIFZCQUMgd2hlbiBpdOKAmXMgbmVjZXNzYXJ5LiBpdCBkb2VzIHNsaWdodGx5IGluY3JlYXNlIHRoZSByaXNrIG9mIHV0ZXJpbmUgcnVwdHVyZSBhbmQgYSBjb3VwbGUgb2Ygb3RoZXIgdGhpbmdzLCBidXQgaXTigJlzIGZydXN0cmF0aW5nIHdoZW4gd2UgaGF2ZSBwcm92aWRlcnMgdGFraW5nIGFkdmFudGFnZSBvZiB0aGlzIHZ1bG5lcmFibGUgZ3JvdXAgb2YgcGVvcGxlLsKgTWVhZ2FuOiBWZXJ5IHZ1bG5lcmFibGUuwqBKdWxpZTogQnkgb2ZmZXJpbmcgaW5kdWN0aW9uIGF0IDM5IHdlZWtzIGFuZCB3aG8gZG9lc27igJl0IG5vdCB3YW50IHRvIGJlIHByZWduYW50IGFueW1vcmUgYXQgMzkgd2Vla3M/IEkgdGhpbmsgZXZlcnlib2R5LiBUaGVyZeKAmXMgYSBzbWFsbCBncm91cCBvZiBwZW9wbGUgd2hvIGp1c3QgbGlrZSBiZWluZyBwcmVnbmFudCBhbmQgdGhhdOKAmXMgdG90YWxseSBmaW5lLiBJIGxpa2UgYmVpbmcgcHJlZ25hbnQgYnV0IGJ5IG15IGxhc3Qgb25lLCBJIHdhcyBsaWtlLCBHZXQgdGhpcyBiYWJ5IG91dCEgSSB3YXMgY29udGVudCBmb3IgYmFieSB0byBwaWNrIHRoZWlyIGJpcnRoZGF0ZSBldmVyeSB0aW1lLCBidXQgd2l0aCB0aGUgbGFzdCBvbmUsIEkgd2FzIGxpa2UsIEdldCB0aGlzIGJhYnkgb3V0IcKgQW55d2F5LCBJIGZlZWwgbGlrZSBtb3N0IHByb3ZpZGVycyBkb27igJl0IHRoaW5rIHRoZXkgYXJlIHRha2luZyBhZHZhbnRhZ2Ugb2YgdGhlc2UgcGVvcGxlIHdoZW4gdGhleSBhcmUgb2ZmZXJpbmcgMzktd2VlayBpbmR1Y3Rpb25zLCBidXQgaXQgcmVhbGx5IGlzLiBJdOKAmXMgdGFraW5nIGFkdmFudGFnZSBvZiBhIHdvbWFuIGluIGEgdnVsbmVyYWJsZSBwb3NpdGlvbiBhbmQgY291bGQgc2tldyB0aGVpciBiaXJ0aCBwbGFucyBpbiB3YXlzIHRoYXQgdGhleSBkb27igJl0IHdhbnQuIEl04oCZcyBoYXJkIHRvIHNheSBubyB3aGVuIHlvdSBhcmUgdGhhdCBwcmVnbmFudCBhbmQgdW5sZXNzIHlvdSBoYXZlIGEgc3VwZXIgc3Ryb25nIHJlc29sdmUgd2hpY2ggZXZlbiB0aGUgc3Ryb25nZXN0IHJlc29sdmUgY2FuIHdlYWtlbiBpbiB0aGF0IHR5cGUgb2YgZW1vdGlvbmFsIGFuZCBob3Jtb25hbCBzdGF0ZS7CoEl04oCZcyByZWFsbHkgZnJ1c3RyYXRpbmcgYmVjYXVzZSB3ZSBoYXZlIHRoaXMgQVJSSVZFIHRyaWFsIHRoYXQgd2FzIHB1Ymxpc2hlZCBpbuKAkyB3aGF0IHdhcyBpdD8gSXQgd2FzbuKAmXQgMjAyMC7CoE1lYWdhbjogMjAxOS7CoEp1bGllOiBJbiAyMDE5IGFuZCB0aGUgbWVkaWNhbCB3b3JsZCBqdW1wZWQgb24gdGhhdCBzbyBmYXN0LiBUaGV5IHdlcmUgbGlrZSwgWWVzLiBMZXTigJlzIGluZHVjZSBhdCAzOSB3ZWVrcy7CoE1lYWdhbjogSXQgd2FzIGEgbGVlY2ggc2l0dWF0aW9uLsKgSnVsaWU6IFllcy4gQW5kIHRoZW4gbm93IHRoYXQgbXVsdGlwbGUgc3R1ZGllcyBoYXZlIHByb3ZlZCBpdCBpbnZhbGlkIGFuZCBpdCBoYXMgYmVlbiBwaWNrZWQgYXBhcnQgYW5kIGV2ZW4gQUNPRyBkb2VzbuKAmXQgcmVjb21tZW5kIHRoYXQgYW55bW9yZS4gSXQgZG9lc27igJl0IHN0YW5kIGJ5IHRoZSB2YWxpZGF0aW9uIG9mIHRoZSBBUlJJVkUgdHJpYWwsIHRoZXJlIGhhdmUgYmVlbiBtdWx0aXBsZSBzdHVkaWVzIHNob3dpbmcgb3RoZXJ3aXNlIHNpbmNlIHRoZW4sIGJ1dCBndWVzcyB3aGF0PyBPaCBteSBnb3NoLiBUaGlzIGlzIHNvIGZydXN0cmF0aW5nLiBJdCBub3JtYWxseSB0YWtlcyAxMC0xNSB5ZWFycyBmb3IgdGhlIG1lZGljYWwgY29tbXVuaXR5IHRvIGNhdGNoIG9uIHRvIHVwZGF0ZWQgaW5mb3JtYXRpb24sIGJ1dCB0aGlzIG9uZSB0b29rIG9uIHNvIGZhc3QgYW5kIG5vdyBpdCBpcyBnb2luZyB0byB0YWtlIDEwLTE1IHllYXJzIHRvIHVuZG8gdGhhdC7CoE1lYWdhbjogVG8gZ28gYmFjay4gSSBhZ3JlZS7CoEp1bGllOiBZZWFoLiBJdOKAmXMgZnJ1c3RyYXRpbmcuwqBNZWFnYW46IEl0IGlzLiBJdOKAmXMgc28gZnJ1c3RyYXRpbmcuwqAzMDo0NCBJbmR1Y2luZyBhIFZCQUNNZWFnYW46IEl04oCZcyBoYXJkIHRvIHNlZSBzbyBtYW55IHBlb3BsZSwgbGlrZSB5b3Ugc2FpZCwgaW4gYSB2dWxuZXJhYmxlIHN0YXRlIGZlZWwgdGhhdCBwcmVzc3VyZSBvZiBpbmR1Y3Rpb24uIEkgdGhpbmsgd2hlcmUgSSBldmVuIHN0cnVnZ2xlIG1vcmUgaXMgc2VlaW5nIHBlb3BsZSBpbiB0aGUgbGFzdCB3ZWVrcyBvZiB0aGVpciBwcmVnbmFuY3kgd2hpY2ggY2FuIGJlIGhhcmQgYmVjYXVzZSB0aGV5IGFyZSB1bmNvbWZvcnRhYmxlIGFuZCBKdWxpZSB3YW50ZWQgdG8gZ2V0IHRoYXQgYmFieSBvdXQuIFRoZXkgYWN0dWFsbHkgY2FuIGJlIHNvbWUgb2YgdGhlIG1vc3QgcHJlY2lvdXMgdGltZXMgd2l0aCB5b3VyIG90aGVyIGtpZHMgYmVmb3JlIHlvdXIgZmFtaWx5IGdyb3dzIGFuZCB5b3VyIGh1c2JhbmQgYmVmb3JlIHlvdSBoYXZlIGEgYmFieSBhbmQgeW91IGFyZSBhIGZhbWlseSBvZiB0aHJlZSBvciB5b3VyIHBhcnRuZXIuIFRoZXkgY2FuIGJlIHJlYWxseSBncmVhdCBzcGFjZXMgYW5kIGEgcGxhY2Ugd2hlcmUgd2UgY2FuIHJlYWxseSBnZXQgb3VyIGhlYWQgaW4gdGhlIHNwYWNlIGZvciBsYWJvciBhbmQgZGVsaXZlcnkgYW5kIGZvciBiaXJ0aC7CoEJ1dCB3ZSBoYXZlIHNvIG1hbnkgcGVvcGxlIG91dCB0aGVyZSBiZWluZyBzY2FyZWQgdGhhdCB0aGV5IGFyZSBnb2luZyB0byBoYXZlIHRvIGhhdmUgYSBzY2hlZHVsZWQgQy1zZWN0aW9uLiBXZSBrbm93IHRoYXQgZXZlbiB0aG91Z2ggZXZpZGVuY2Ugc2hvd3MgaW5kdWN0aW9uIGZvciBWQkFDIGlzIHNhZmUgYW5kIHJlYXNvbmFibGUsIHRoZXJlIGFyZSBtYW55IHBlb3BsZSBhbmQgbWFueSBwcm92aWRlcnMgb3V0IHRoZXJlIGFsbCBvdmVyIHRoZSB3b3JsZCB3aG8gYWJzb2x1dGVseSByZWZ1c2UgdG8gaW5kdWNlIGEgVkJBQy4gVGhleSByZWZ1c2UgYW5kIGluZHVjdGlvbi4gSXTigJlzIGVpdGhlciBhIHNjaGVkdWxlZCBDLXNlY3Rpb24sIHNwb250YW5lb3VzIGxhYm9yLCBvciB0aGF04oCZcyBpdC4gVGhvc2UgYXJlIHlvdXIgb3B0aW9ucy7CoFdlIHNlZSBzbyBtYW55IHBlb3BsZSBvdXQgdGhlcmUgc3BlbmRpbmcgdGhlc2UgbGFzdCBmZXcgd2Vla3MgdGhhdCBjb3VsZCBiZSBzbyBhbWF6aW5nIGFuZCBnZXR0aW5nIG91cnNlbHZlcyBpbiB0aGF0IHBvc2l0aXZlIGhlYWRzcGFjZSBpbiBmcmFudGljIG1vZGUgYmVjYXVzZSB0aGV5IGFyZSB0cnlpbmcgdG8gaW5kdWNlIHRoZW1zZWx2ZXMuIFRoZXkgYXJlIHRyeWluZyB0byBkbyBhbGwgb2YgdGhlIHRoaW5ncy7CoEp1bGllOiBZZWFoLCB0aGV5IGFyZSBsaWtlLCBPaCBteSBnb3NoLiBNeSBwcm92aWRlciBpcyBnb2luZyB0byBzY2hlZHVsZSBhIEMtc2VjdGlvbiBhdCA0MCB3ZWVrcyBvciBpbmR1Y3Rpb24gYXQgMzkuwqBNZWFnYW46IFdoYXQgY2FuIEkgZG8gdG8gZ2V0IHRoaXMgYmFieSBvdXQ/wqBKdWxpZTogWWVwLsKgTWVhZ2FuOiBJdCBtYWtlcyBteSBoZWFydCBodXJ0IGJlY2F1c2UgaXQganVzdCByZWFsbHkgaXNu4oCZdCB3aGVyZSB5b3UgZGVzZXJ2ZSB0byBiZSBpbiB5b3VyIGxhc3Qgd2Vla3Mgb2YgcHJlZ25hbmN5LiBMZXQgbWUgdGVsbCB5b3Ugb25lIHRoaW5nLCB3aGVuIHlvdSBhcmUgc28gaHlwZXItZm9jdXNlZCBvbiBnZXR0aW5nIHlvdXIgYmFieSBvdXQsIHRlbnNpb24gYW5kIGNvcnRpc29sIGlzIGhpZ2ggaW4gdGhlIGJvZHkgYW5kIHdoZW4gd2UgYXJlIHN0cmVzc2VkLCB0aGF04oCZcyB0eXBpY2FsbHkgbm90IGEgc3BhY2Ugd2hlcmUgd2UgY2FuIGxldCBvdXIgY2Vydml4IGdvIGFuZCBoYXZlIGEgYmFieS7CoFNvIHdoZW4gd2UgYXJlIGRvaW5nIHRob3NlIHRoaW5ncywgd2UgYXJlIGVudGVyaW5nIGEgc3BhY2UgZnVsbCBvZiB0ZW5zaW9uIGFuZCB3ZSBhcmUgYWxyZWFkeSBzZXR0aW5nIG91cnNlbHZlcyB1cCBmb3IgYSBoYXJkZXIgZXhwZXJpZW5jZS7CoEp1bGllOiBNaG1tLCBpdOKAmXMgdHJ1ZS4gWW91IGdvIGluIHRoZXJlIHJlYWR5IHRvIGZpZ2h0IHRoZW4geW91ciBjb3J0aXNvbCBsZXZlbHMgYXJlIGhpZ2ggYW5kIGNvcnRpc29sIGlzIHRoZSBvcHBvc2l0ZSBvZiBveHl0b2NpbiB3aGljaCBnZXRzIGJhYnkgb3V0LiBZb3VyIHN0cmVzcyBob3Jtb25lcyBhcmUgZmlnaHRpbmcgeW91ciBiYWJ5IGNvbWluZyBvdXQgYW5kIGl04oCZcyBub3Qgb3B0aW1hbC4gQ2FuIGl0IGhhcHBlbj8gWWVhaCwgc3VyZS4gUGVvcGxlIGRvIGl0LiBCdXQgaXTigJlzIGdvaW5nIHRvIGJlIGhhcmRlci7CoE1lYWdhbjogSXQgaXMuwqBKdWxpZTogSXTigJlzIGp1c3QgZ29pbmcgdG8gYmUgaGFyZGVyLsKgTWVhZ2FuOiBJdCBpcy4gTGlrZSBJIHNhaWQsIGJhY2sgdG8gdGhlIGhlYWQgc3BhY2UsIGl0IHJlYWxseSBwdXRzIHVzIGluIHRoZSB3cm9uZyBoZWFkIHNwYWNlLiBJdCBqdXN0IGlzIG5vdCBvcHRpbWFsLsKgS25vdyB0aGF0IGlmIHlvdSBhcmUgcmVjZWl2aW5nIHByZXNzdXJlIHRvIGhhdmUgYSBiYWJ5IGJlY2F1c2UgeW914oCZcmUgbm90IGJlaW5nIHN1cHBvcnRlZCBpbiBhbiBpbmR1Y3Rpb24gdGhhdCB5b3Ugc2hvdWxkIGp1c3QgY2hhbmdlIHlvdXIgcHJvdmlkZXIuIE5vLCByZWFsbHkuIFlvdSBuZWVkIHRvIHRha2UgYSBzdGVwIGJhY2sgYW5kIGRlY2lkZSBpZiB0aGF0IHByb3ZpZGVyIGlzIHRoZSByaWdodCBjaG9pY2UgZm9yIHlvdSBhbmQgaWYgdGhhdOKAmXMgdGhlIHJpZ2h0IHNwYWNlIGZvciB5b3UgdG8gYmUgYmlydGhpbmcgaW4gYW5kIGlmIHdoYXQgeW91IGFyZSBkb2luZyBpbiB5b3VyIG1pbmQgYW5kIHRvIHlvdXIgYm9keSBiZWNhdXNlIGEgbG90IG9mIHBlb3BsZSBkbyBzb21lIGNyYXp5IHRoaW5ncywgaXMgcmVhbGx5IHdoYXQgaXMgZ29pbmcgdG8gYmUgdGhlIGJlc3QgZm9yIHlvdXIgbGFib3Igam91cm5leS7CoEp1bGllOiBBbmQgc29tZXRpbWVzLCBwZW9wbGUgZG9u4oCZdCBoYXZlIHRoYXQgbXVjaCBvZiBhIGNob2ljZSB0b28uIFNvbWV0aW1lcywgdGhhdOKAmXMgdGhlIG9ubHkgY2hvaWNlIHlvdSBoYXZlLiBTb21ldGltZXMsIGhvbWUgYmlydGggaXMgaWxsZWdhbCBpbiB5b3VyIHN0YXRlIGZvciBWQkFDIGV2ZW4gYW5k4oCTwqBNZWFnYW46IFlvdSBoYXZlIG5vIHByb3ZpZGVycyBpbiB5b3VyIGFyZWEuwqBKdWxpZTogWW91IGhhdmUgb25lIGhvc3BpdGFsIHdpdGhpbiA2IGhvdXJzIGFuZCBzb21ldGltZXMgdGhhdOKAmXMgZ29pbmcgdG8gYmUgeW91ciBvbmx5IGNob2ljZSBhbmQgaXQgc3Vja3MgdGhhdCBwZW9wbGUgaGF2ZSB0byBjaG9vc2UgYmV0d2VlbiB0aGF0IGFuZCBhbiB1bmFzc2lzdGVkIGJpcnRoIGF0IGhvbWUgd2hpY2ggSSBmZWVsIGxpa2UgaWYgeW91IGFyZSBnb2luZyB0byBoYXZlIGFuIHVuYXNzaXN0ZWQgYmlydGggYXQgaG9tZSwgdGhhdOKAmXMgYSB3aG9sZSBvdGhlciB0b3BpYy7CoFlvdSBzaG91bGQgZG8gaXQgYmVjYXVzZSB5b3UgYXJlIGVkdWNhdGVkIGFuZCBpbmZvcm1lZCBhbmQgdGhhdOKAmXMgd2hhdCB5b3Ugd2FudCBub3QgYmVjYXVzZSB5b3UgZG9u4oCZdCB3YW50IHRvIGhhdmUgdGhpcyBob3JyaWJsZSBob3NwaXRhbCBiaXJ0aCB3aGVyZSB5b3UgYXJlIGdvaW5nIHRvIGhhdmUgdG8gZmlnaHQgdGhlIHdob2xlIHRpbWUuwqBNZWFnYW46IFllYWguIEl04oCZcyBhIHRyaWNreSBzcG90LiBUbyBKdWxpZeKAmXMgcG9pbnQsIHdlIHVuZGVyc3RhbmQgdGhhdC4gVGhlcmUgYXJlIHNvIG1hbnkgcGVvcGxlIHdobyBhcmUganVzdCBmbGF0LW91dCByZXN0cmljdGVkIGFuZCB0aGV5IGZlZWwgbGlrZSB0aGV5IGFyZSB3YWxraW5nIGluIHdpdGggdGhlaXIgaGFuZHMgdGllZCBiZWhpbmQgdGhlaXIgYmFjayBhbmQganVzdCBoYXZlIG5vIGNob2ljZS4gQnV0IHRoZXJlIGFyZSBvdGhlciBvcHRpb25zIHRvby4gVGhlcmUgYXJlIG90aGVyIG9wdGlvbnMuIEJ1dCBsYWJvcmluZyBhdCBob21lIGEgbGl0dGxlIGxvbmdlciBvciBqdXN0IHNheWluZyBuby4gSnVzdCBzYXlpbmcgbm8gd2hpY2ggaXMgcmVhbGx5IGhhcmQuwqBKdWxpZTogWWVhaCwgaXQgaXMgcmVhbGx5IGhhcmQgZXNwZWNpYWxseSB3aGVuIHlvdSBhcmUgaW4gbGFib3IuIEVzcGVjaWFsbHksIG1heWJlIHlvdSBoYXZlIHRoaXMgcmVzb2x2ZSBhbmQgeW91ciBwYXJ0bmVyIGRvZXNu4oCZdCBoYXZlIHRoYXQgcmVzb2x2ZS4gTWF5YmUgeW91IGNhbuKAmXQgZmluZCBhIGRvdWxhIGluIHlvdXIgYXJlYS4gWW91IGNhbuKAmXQgYWZmb3JkIG9uZS4gSXQgcmVhbGx5IHN1Y2tzIHRvIGJlIHlvdXIgb3duIGJpZ2dlc3Qgc3VwcG9ydGVyIGFuZCBiZWxpZXZlciBpbiBiaXJ0aC4gWW91IGhhdmUgdG8gaGF2ZSBvdGhlciBwZW9wbGUgaW4gdGhlIHJvb20gd2hvIGFyZSBqdXN0IGFzIHJlc29sdmVkIGFuZCB3YW50IHRoaXMgZm9yIHlvdSBhcyBtdWNoIGFzIHlvdSBkbyBpZiB5b3UgYXJlIGJpcnRoaW5nIGluIHRoYXQgdHlwZSBvZiBlbnZpcm9ubWVudC7CoDM2OjE1IEp1bGll4oCZcyBzb2NpYWwgbWVkaWEgc3RvcnlKdWxpZTogT2theSwgYmFjayB0byBiYXNpY3MuIFdoYXQgYXJlIHdlIGRvaW5nIG5leHQ/IE9oLCBsZXQgbWUgdGVsbCB0aGlzIHN0b3J5IGFib3V0IGluZHVjdGlvbi4gSSB0aGluayB0aGlzIGlzIHNvIGZ1bm55IGJlY2F1c2UgdGhlcmUgYXJlIHNvIG1hbnkgcGVvcGxlIHdobyB0aGluayB0aGF0IGluZHVjdGlvbiBpc27igJl0IHNhZmUgYW5kIHRoZXkgdGhpbmsgdGhhdCBpbmR1Y3Rpb24gaXNu4oCZdCBzYWZlIGZvciBhIFZCQUMgdG8gZ28gcGFzdCA0MCB3ZWVrcyBzbyB5b3UgaGF2ZSBhIHByb3ZpZGVyIHdobyB3b27igJl0IGluZHVjZSB5b3UgYW5kIHdvbuKAmXQgbGV0IHlvdSBnbyBwYXN0IDQwIHdlZWtzIHNvIHdoYXQgYXJlIHlvdSBzdXBwb3NlZCB0byBkbz/CoEl04oCZcyByZWFsbHkgaW50ZXJlc3RpbmcgYmVjYXVzZSBJIGhpcmVkIHNvbWVvbmUgcmVjZW50bHkgdG8gcG9zdCBvbiBteSBzb2NpYWwgbWVkaWEgcmVjZW50bHkgZm9yIG15IGJpcnRoIHBob3RvZ3JhcGh5LiBTaGUgaXMgYSBiaXJ0aCBwaG90b2dyYXBoZXIgYW5kIGRvdWxhIGFuZCBoYXMgYXR0ZW5kZWQgbWFueSBiaXJ0aHMgYmVmb3JlLiBTaGUganVzdCByZWNlbnRseSBzaGlmdGVkIG92ZXIgdG8gc29jaWFsIG1lZGlhIGFuZCB3ZWJzaXRlIG1hbmFnZW1lbnQgZm9yIGJpcnRoIHBob3RvZ3JhcGhlcnMuIFNoZSBrbm93cyB0aGF0IEnigJltIHJlYWxseSBwYXNzaW9uYXRlIGFib3V0IFZCQUMgc28gSSB3YW50IG9uZSBwb3N0IGEgd2VlayB0byBiZSBhYm91dCBWQkFDLsKgU2hl4oCZbGwgd3JpdGUgdXAgcG9zdHMgZm9yIG1lIHRvIGFwcHJvdmUgYW5kIG9uZSBvZiB0aGUgdGhpbmdzIHRoYXQgc2hlIHdyb3RlIHVwIGZvciBtZSBhYm91dCBWQkFDIHdhcyB0aGluZ3MgeW91IGNhbiBkbyB0b+KAkyBJIHRoaW5rIGl0IHdhcyB0aGluZ3MgeW91IGNhbiBkbyB0byBpbmNyZWFzZSB5b3VyIGNoYW5jZXMgb2YgaGF2aW5nIGEgVkJBQyBvciBzb21ldGhpbmcgbGlrZSB0aGF0LsKgSW4gaGVyIHBvc3QsIHNoZSBldmVuIG1hZGUgdGhlIGNvbW1lbnQgYW5kIEnigJltIGdsYWQgSSByZWFkIHRocm91Z2ggdGhlc2UgYWxsIGluIGRldGFpbCBiZWNhdXNlIHNoZSBzYWlkIHNvbWV0aGluZyB0aGF0LCDigJxXZSBrbm93IHRoYXQgaW5kdWN0aW9uIGlzbuKAmXQgc2FmZSBmb3IgVkJBQyBiZWNhdXNlIGl0IGluY3JlYXNlcyB0aGUgY2hhbmNlIG9mIHV0ZXJpbmUgcnVwdHVyZS7igJ0gU2hlIHNhaWQgaW4gbXkgcG9zdCB0aGF0IGlzIG9uIG15IHBhZ2UgdGhhdCBpcyBzdXBwb3NlZCB0byBiZSB3cml0dGVuIGluIG15IHdvcmRzIHRoYXQgaW5kdWN0aW9uIGlzbuKAmXQgc2FmZS4gSSBkZWxldGVkIGl0LiBJIHNob3QgaGVyIGEgbGl0dGxlIG1lc3NhZ2UgdG8gYmUgbGlrZSwgSGV5LCBWQkFDIGluZHVjdGlvbiBpcyBzYWZlLiBEb2VzIGl0IHNsaWdodGx5IGluY3JlYXNlIHRoZSByaXNrIG9mIHV0ZXJpbmUgcnVwdHVyZT8gWWVhaCwgaXQgZG9lcywgYnV0IGFzIGxvbmcgYXMgaXTigJlzIG1hbmFnZWQgd2VsbCwgdGhlIGluY3JlYXNlZCByaXNrcyBhcmUgdmVyeSwgdmVyeSBzbWFsbC7CoE1lYWdhbjogU3RpbGwgcHJldHR5IGxvdy7CoEp1bGllOiBZZWFoLiBJdCB3YXMganVzdCBzbyBmdW5ueSB0aGF0IHNvbWVvbmUgd2hvIGhhcyBiZWVuIGluIHRoZSBiaXJ0aCB3b3JsZCBzdGlsbCBmb3Igc28gbG9uZyBvcGVyYXRpbmcgb24gbW9yZSBvZiBhbiBldmlkZW5jZS1iYXNlZCBzaWRlIG9mIHRoaW5ncyBoYXMgdGhhdCB2aWV3IHN0aWxsLiBJIGRvbuKAmXQga25vdy4gSXTigJlzIGp1c3QgaW50ZXJlc3RpbmcuIFdlIGFsbCBoYXZlIHRoaW5ncyB0aGF0IHdlIG5lZWQgdG8gbGVhcm4gc3RpbGwuwqBNZWFnYW46IFdlIGRvLiBXZSBhcmUgYWx3YXlzIGxlYXJuaW5nIGFuZCB3ZSBhcmUgZXZlbiBzdGlsbCBsZWFybmluZyBoZXJlIGF0IFRoZSBWQkFDIExpbmsuIEl04oCZcyBqdXN0IGltcG9ydGFudCB0byBrbm93IHRoYXQgaWYgeW91IHNlZSBpbmZvcm1hdGlvbiBhbmQgeW914oCZcmUgbGlrZSwgT2gsIEkgYWxyZWFkeSBrbm93IHRoYXQsIHlvdSBzdGlsbCBuZWVkIHRvIGNoZWNrIGl0IG91dCBhbmQgc2VlIGlmIHRoZXJlIGlzIHNvbWV0aGluZyBuZXcgdG8gdGhhdC7CoDM4OjI5IENvbnRyYWRpY3RpbmcgaW5mb3JtYXRpb25NZWFnYW46IE9rYXksIHNvIGJhY2sgdG8gdGhlIGJhc2ljcy4gV2XigJl2ZSB0YWxrZWQgYWJvdXQgdGhlIHBlbHZpcy4gV2XigJl2ZSB0YWxrZWQgYWJvdXQgaW5kdWN0aW9uLiBXZeKAmXJlIHRhbGtpbmcgYWJvdXQgZHVlIGRhdGVzLiBXZSBhcmUgdGFsa2luZyBhYm91dCB0aGUgY2Vydml4IGRpbGF0aW5nLiBXZeKAmXZlIHRhbGtlZCBhYm91dCBiYWJ5IHNpemVzLiBXaGF0IGVsc2UgZG8gd2UgaGF2ZT/CoEp1bGllOiBFcGlkdXJhbHMuwqBNZWFnYW46IE9oIHllYWguIEVwaWR1cmFscy7CoEp1bGllOiBUaGlzIGlzIHNvIGZ1bm55LiBUaGUgb3Bwb3NpdGVzLiBJdOKAmXMgdGhlIHNhbWUgdGhpbmcgYWJvdXQgdGhlIG9wcG9zaXRlLiBWQkFDIGhhcyB0byBiZSBpbmR1Y2VkIGJlZm9yZSA0MCB3ZWVrcy4gSSB3aWxsIG5vdCBpbmR1Y2UgVkJBQyBhdCBhbGwuIFlvdSBoYXZlIHRvIGhhdmUgYSBDLXNlY3Rpb24gYnkgNDAgd2Vla3MuIEFsbCBvZiB0aGVzZSB0aGluZ3MuIEVwaWR1cmFscyBhcmUgdGhlIHNhbWUgd2F5LiBZb3UgaGF2ZSB0byBoYXZlIGFuIGVwaWR1cmFsIHBsYWNlZCBpbiBvcmRlciB0byBkbyBhIFZCQUMgYW5kIHRoZW4gd2UgYWxzbyBoYXZlIHlvdSBjYW5ub3QgaGF2ZSBhIFZCQUMgd2l0aCBhbiBlcGlkdXJhbC7CoE1lYWdhbjogWWVhaC4gWWVzLiBJ4oCZdmUgc2VlbiB0aGF0LsKgSnVsaWU6IElzbuKAmXQgdGhhdCBzbyBzdHVwaWQ/IEnigJltIHNvcnJ5LiBJIGp1c3QgdGhpbmsgaXTigJlzIHNvIHN0dXBpZCwgYWxsIG9mIHRoZXNlIHBvbGFyaXppbmcgdGhpbmdzLiBJdOKAmXMgc28gZnVubnkgYmVjYXVzZSBzb3JyeSwgdGltZSBvdXQuIEkgd2lsbCBsZXQgeW91IHRhbGsgYWJvdXQgdGhhdC4gSSBwcm9taXNlIEkgd2lsbCBsZXQgeW91IHRhbGsgYWJvdXQgdGhhdC4gSSB0aGluayBpdOKAmXMgc28gZnVubnkgYmVjYXVzZSB3ZSBrbm93IHRoYXQgRmFjZWJvb2sgY2FuIGRvIHNvIG11Y2ggZ29vZCBhbmQgaXQgY2FuIGFsc28gZG8gc28gbXVjaCBiYWQuwqBUaGVyZSB3aWxsIGJlIGEgcG9zdCBsaWtlLCDigJxIZXksIG15IHByb3ZpZGVyIHNhaWQgSSBoYXZlIHRvIGhhdmUgYW4gZXBpZHVyYWwgd2l0aCBhIFZCQUMs4oCdIGFuZCB0aGVyZSB3aWxsIGJlIDUwIGNvbW1lbnRzIG9uIHRoZXJlIGFuZCBldmVyeSBjb21tZW50IHdpbGwgYmUgZGlmZmVyZW50IGxpa2UsIOKAnE9oLCB5ZWFoLiBZb3UgYWJzb2x1dGVseSBoYXZlIHRvLiBJdOKAmXMgc2FmZXN0IGluIGNhc2UgeW91IGhhdmUgdG8gaGF2ZSBhbiBlbWVyZ2VuY3kgQy1zZWN0aW9uLuKAnSBUaGVuIHRoZSBuZXh0IGNvbW1lbnQgd2lsbCBzYXksIOKAnE5vLCB5b3UgZG9u4oCZdC4gWW91IGNhbuKAmXQgYmVjYXVzZSB0aGVuIHlvdSB3b27igJl0IG5vdGljZSB0aGUgc2lnbnMgb2YgdXRlcmluZSBydXB0dXJlLuKAncKgRXZlcnlvbmUgc2F5cyBzb21ldGhpbmcgZGlmZmVyZW50IGFuZCBpdOKAmXMgcmVhbGx5IGZ1bm55IGJlY2F1c2UgaXTigJlzIHRoZSBzYW1lIHRoaW5nIGFib3V0IHRoZSBsZW5ndGggYmV0d2VlbiBwcmVnbmFuY2llcyBvciBDLXNlY3Rpb25zIHRvIFZCQUMuIFBlb3BsZSB3aWxsIGJlIGxpa2UsIOKAnE15IGRvY3RvciBzYWlkIGl0IGhhcyB0byBiZSAxOCBtb250aHMgZnJvbSBiaXJ0aCB0byBiaXJ0aC4gTXkgZG9jdG9yIHNhaWQgdGhhdCB5b3UgY2Fu4oCZdCBnZXQgcHJlZ25hbnQgd2l0aGluIGEgeWVhciBvZiBoYXZpbmcgYSBDLXNlY3Rpb24uIE15IGRvY3RvciBzYWlk4oCT4oCdIG9yIHRoZXkgc2F5LiBJIGxvdmUgaXQgd2hlbiBwZW9wbGUgc2F5LCDigJxUaGV5IHNheSAxOCBtb250aHMgYmlydGggdG8gYmlydGggaXMgYmVzdC4gVGhleSBzYXkgZG9u4oCZdCBnZXQgcHJlZ25hbnQgd2l0aGluIDkgbW9udGhzLiBUaGV5IHNheSAyIHllYXJzIGJldHdlZW4gYmlydGhzIGlzIHRoZSBiZXN0LuKAnSBXaG8gaXMgdGhleSwgZmlyc3Qgb2YgYWxsPyBXaG8gaXMgdGhleT8gV2hlbmV2ZXIgc29tZW9uZSBzYXlzIHRoZXksIEkgc2F5LCDigJxXaG8gaXMgdGhleT/igJ0gQmVjYXVzZSB0aGVyZSBhcmUgc28gbWFueSBzb3VyY2VzIGFuZCBldmVyeWJvZHkgaXMgc28gcmVzb2x1dGUgaW4gdGhlaXIgYW5zd2Vycy4g4oCcTXkgZG9jdG9yIHNhaWQgdGhpcy4gVGhleSBzYWlkIHRoYXQgdGhpcyBpcyB0aGUgcmlnaHQgYW5zd2VyLiA2IG1vbnRocywgOSBtb250aHMsIDEyIG1vbnRocywgMjQgbW9udGhzLCAzIHllYXJzLuKAnUV2ZXJ5b25lIGlzIHNvIGZpcm0gaW4gdGhlaXIgYW5zd2Vycy4gSG93IGZyZWFraW5nIGNvbmZ1c2luZyBpcyB0aGF0P8KgTWVhZ2FuOiBWZXJ5LsKgSnVsaWU6IFAuUy4gdGhlIG9wdGltYWwgcmFuZ2UgZm9yIGJpcnRocyBhY3R1YWxseSBoYXNu4oCZdCBoYWQgYW55IGRlZmluaXR2ZSBzYXkgeWV0IGJlY2F1c2UgdGhlcmUgYXJlIGRpZmZlcmVudCBzdHVkaWVzIHRoYXQgc2hvdyBkaWZmZXJlbnQgbGVuZ3Rocywgc29tZSBhcyBzaG9ydCBhcyA2IG1vbnRocyBiZXR3ZWVuIHByZWduYW5jaWVzLiBTb21lIGFyZSBhcyBsb25nIGFzIDI0IG1vbnRocyBiZXR3ZWVuIGJpcnRocy4gSXMgaXQgYmV0d2VlbiBiaXJ0aHM/IElzIGl0IGJldHdlZW4gcHJlZ25hbmNpZXM/IEkganVzdCBsYXVnaCBldmVyeSB0aW1lIEkgZ2V0IG9uIEZhY2Vib29rIGFuZCBzZWUgdGhlc2UgcGVvcGxlIHdobyBhbGwgc2F5LCDigJxUaGV5IHNheeKAnSBpbiB0aGVpciByZXNvbHZlLiBJIGRvbuKAmXQga25vdy4gSSBqdXN0IHRoaW5rIGl0IGlzIHNvIGludGVyZXN0aW5nIGFuZCBjYW4gYmUgc28gb3ZlcndoZWxtaW5nIGFuZCBjb25mdXNpbmcgd2hpY2ggaXMgd2h5IHdlIHN0YXJ0ZWQgVGhlIFZCQUMgTGluayBzbyB3ZSBjYW4gYnJpbmcgeW91IHRoZSBldmlkZW5jZSBzbyB0aGF0IHlvdSBrbm93LsKgU29ycnksIGdvIGFoZWFkIGFuZCBsZXTigJlzIHRhbGsgYWJvdXQgZXBpZHVyYWxzLiBJIGhhZCB0byBnbyBvbiB0aGF0IHRhbmdlbnQuwqBNZWFnYW46IFdlbGwsIHlvdSBqdXN0IGJyb3VnaHQgdGhhdCB1cCBhbmQgdGhhdOKAmXMgYW5vdGhlciBiaWcgYmFzaWMuIFdoZW4gY2FuIEkgZ2V0IHByZWduYW50P8KgNDE6MzYgUHJlZ25hbmN5IGludGVydmFsc01lYWdhbjogV2hlbiBjYW4gc29tZW9uZSBnZXQgcHJlZ25hbnQ/IFdl4oCZbGwgYnV6eiBiYWNrIHRvIGVwaWR1cmFscy7CoEp1bGllOiBZZWFoLCBsdWNraWx5IHdlIHdyb3RlIGEgYmxvZy4gV2Ugd2lsbCBsaW5rIGl0IGluIHRoZSBzaG93IG5vdGVzIHdpdGggdGhlIHN0dWRpZXMgY2l0ZWQuwqBNZWFnYW46IEEgbG90IG9mIHBlb3BsZSBhcmUgY29uZnVzZWQuIElzIGl0IGJpcnRoIHRvIGJpcnRoPyBJcyBpdCBiaXJ0aCB0byBjb25jZXB0aW9uPyBSaWdodD/CoEp1bGllOiBZZWFoLiBZZWFoLsKgTWVhZ2FuOiBEbyB5b3Ugd2FudCB0byB0YWxrIGFib3V0IHRoYXQ/IEnigJltIGdvaW5nIHRvIHNuZWV6ZS4gSG9sZCBvbi7CoEp1bGllOiBZZWFoLiBJdOKAmXMgcmVhbGx5IGludGVyZXN0aW5nIGJlY2F1c2UgeW91IGFyZSBnZXR0aW5nIHRoZXNlIGRpZmZlcmVudCBudW1iZXJz4oCTIDYgbW9udGhzLCA5IG1vbnRocywgMjQgbW9udGhzLCAxNSBtb250aHMuIFlvdeKAmXJlIGdldHRpbmcgYWxsIG9mIHRoZXNlIGRpZmZlcmVudCBudW1iZXJzIHRoZW4geW91IGFyZSBhbHNvIGdldHRpbmcgdGhlc2UgZGlmZmVyZW50IHJhbmdlcy4gQmV0d2VlbiBiaXJ0aCB0byBiaXJ0aCwgc28gYmV0d2VlbiB0aGUgdGltZSB3aGVuIHlvdXIgQy1zZWN0aW9uIGJhYnkgaXMgYm9ybiB0byB3aGVuIHlvdXIgVkJBQyBvciB5b3VyIGF0dGVtcHRlZCBWQkFDIGJhYnkgaXMgYm9ybiBpcyBkaWZmZXJlbnQgdGhhbiBmcm9tIHRoZSB0aW1lIHlvdSBoYXZlIHlvdXIgQy1zZWN0aW9uIHRvIHRoZSB0aW1lIHlvdSBjb25jZWl2ZSB0aGUgYmFieS7CoDE4IG1vbnRocyBiaXJ0aCB0byBiaXJ0aCBpcyA5IG1vbnRocyBwcmVnbmFuY3kgdG8gcHJlZ25hbmN5IHNvIDYgbW9udGhzIHByZWduYW5jeSB0byBwcmVnbmFuY3kgaXMgMTUgbW9udGhzIGJpcnRoIHRvIGJpcnRoLiBPZiBjb3Vyc2UsIGV2ZXJ5b25lIGlzIGNvbmZ1c2VkLiBUaGF04oCZcyBhbGwgSSBoYXZlIHRvIHNheSBhYm91dCB0aGF0LiBXaGF0IGRvIHlvdSB3YW50IHRvIGFkZCwgTWVhZ2FuP8KgTWVhZ2FuOiBJdCBpcyBjb25mdXNpbmcuIEl0IGlzIGFic29sdXRlbHkgc28gY29uZnVzaW5nIGFuZCBJIHRoaW5rIHdoZW4geW91IGFyZSB0YWxraW5nIHRvIGEgcHJvdmlkZXIsIGl04oCZcyBpbXBvcnRhbnQgdG8gdGFsayB0byB0aGVtIGFib3V0IHRoZWlyIHZpZXcgb24gaW50ZXJ2YWxzIGJlY2F1c2UgdGhlcmUgYXJlIGRpZmZlcmVudCB2aWV3cy4gUGVvcGxlLCBsaWtlIHNoZSBzYWlkLCBkbyBoYXZlIGRpZmZlcmVudCB2aWV3cy4gUGVvcGxlIHdpbGwgc2F5LCDigJxJZiB5b3UgYXJlIHByZWduYW50IGJlZm9yZSAxNSBtb250aHMgZnJvbSBiaXJ0aCB0byBjb25jZXB0aW9u4oCdIG9yIG5vdCBiZWZvcmUgMTUsIGJlZm9yZSAyNCBtb250aHMgZXZlbiBzb21ldGltZXMgb3IgYmVmb3JlIDE4IG1vbnRocywgdGhhdOKAmXMgbm90IG9rYXkgd2hlbiBpdCByZWFsbHkgbWlnaHQgYmUgZnJvbSBiaXJ0aCB0byBiaXJ0aC7CoFdlIGRvIGhhdmUgYSBibG9nIGFib3V0IGl0LiBXZeKAmXJlIGdvaW5nIHRvIGxpbmsgaXQgc28geW91IGNhbiBzZWUgdGhlIHN0dWRpZXMgYW5kIGhvdyB0aGV5IHZpZXcgaXQsIGJ1dCBJIGFsc28gd2FudCB0byBwb2ludCBvdXQgdGhhdCBpZiB5b3UgYXJlIGJlaW5nIHRvbGQgeW91IGFic29sdXRlbHkgY2Fu4oCZdCBWQkFDIGJlY2F1c2UgeW91IGhhdmUgYSBzaG9ydGVyIGludGVydmFsLCBzYXkgZnJvbSBiaXJ0aCB0byBjb25jZXB0aW9uIGlzIHdoYXRldmVyLCAxNSBtb250aHMuIFlvdSBjb25jZWl2ZWQgMTUgbW9udGhzIGFmdGVyIHlvdXIgQy1zZWN0aW9uIGFuZCBwcm92aWRlcnMgYXJlIHNheWluZywg4oCcTm8sIGl04oCZcyB0b28gY2xvc2Us4oCdIHRoZXJlIGFyZSBzdHVkaWVzIHRoYXQgc2hvdyBhbmQgdGFsayBhYm91dCBhbiBpbmNyZWFzZWQgcmlzayBvZiB1dGVyaW5lIHJ1cHR1cmUgYnV0IEkgYWxzbyB3YW50IHRvIHBvaW50IG91dCB0aGF0IGEgbG90IG9mIHBlb3BsZSBkbyBpdCB3aXRoIG5vIGNvbXBsaWNhdGlvbnMuwqBKdWxpZTogQSBsb3Qgb2YgcGVvcGxlIGRvIGl0LiBXaGF0IGl0IGFsbCBjb21lcyBkb3duIHRvIGlzIHdoYXQgaXMgdGhlIGFjY2VwdGFibGUgbGV2ZWwgb2YgcmlzayB0byB5b3UgYW5kIGNhbiB5b3UgZmluZCBhIHByb3ZpZGVyIHdobyBpcyB3aWxsaW5nIHRvIHRha2Ugb24gdGhhdCByaXNrIHdpdGggeW91P8KgSW4gb3VyIGJsb2csIEnigJltIGp1c3QgcmVtZW1iZXJpbmcgb2ZmIHRoZSB0b3Agb2YgbXkgaGVhZC4gSXQgbWlnaHQgbm90IGJlIDEwMCUgdHJ1ZSBidXQgb25lIG9mIG91ciBzdHVkaWVzIHNob3dlZCB0aGF0IGEgNi1tb250aCBwcmVnbmFuY3kgaW50ZXJ2YWwgc28gYWZ0ZXIgeW91IGhhdmUgeW91ciBDLXNlY3Rpb24sIHlvdSBnZXQgcHJlZ25hbnQgNiBtb250aHMgb3IgYmV5b25kLCB0aGVyZSBpcyBubyBpbmNyZWFzZWQgcmlzayBvZiB1dGVyaW5lIHJ1cHR1cmUuIFdpdGhpbiB0aGF0IDYgbW9udGhzLCB0aGVyZSBpcyBhbiBpbmNyZWFzZWQgcmlzayBvZiB1dGVyaW5lIHJ1cHR1cmUuIEkgdGhpbmsgaXQgaXMgMi40JSB1cCBmcm9tIDAuNSUuIE5vdywgYSAyLjQlIHJpc2ssIEkgdGhpbmsgaXTigJlzIHRoYXQuIEkgdGhpbmsgaXTigJlzIDIuNCUuIFlvdeKAmWxsIGhhdmUgdG8gbG9vayBhdCB0aGUgYmxvZy4gSeKAmWxsIHNlbmQgeW91IG9uIGEgdHJlYXN1cmUgaHVudCBmb3IgdGhlIGJsb2cuIEJ1dCB0aGF0IGxldmVsIG9mIHJpc2sgbWlnaHQgYmUgYWNjZXB0YWJsZSBmb3Igc29tZSBwYXJlbnRzIGFuZCBwcm92aWRlcnMgYW5kIGl0IG1pZ2h0IG5vdCBmb3Igb3RoZXIgcGFyZW50cy7CoEZvciBtZSwgSSB3b3VsZCBnbyB0b3RhbGx5IHRyeSBpdC4gSSB3b3VsZCBkbyBpdCBiZWNhdXNlIHRoYXQgbWVhbnMgSSBoYXZlIGEgOTcuNSUgY2hhbmNlIG9mIG5vdCBoYXZpbmcgYSB1dGVyaW5lIHJ1cHR1cmUuIEhlY2sgeWVhaC4gVGhhdOKAmXMgcHJldHR5IHNvbGlkIHRvIG1lLCBidXQgaXQgbWlnaHQgbm90IGJlIHNvbGlkIHRvIHlvdS4gVGhhdOKAmXMgd2hhdCBtYXR0ZXJzLiBUaGUgb3RoZXIgb25lIHNob3dlZCB0aGF0IGFuIDE4LW1vbnRoIHByZWduYW5jeSBpbnRlcnZhbCBpcyBvcHRpbWFsLiAyNCBtb250aHMgYmlydGggdG8gYmlydGgsIEkgdGhpbmssIHdhcyB0aGUgb3RoZXIgb25lLiBXZSBhcmUgaGF2aW5nIGEgYnVuY2ggb2YgZGlmZmVyZW50IHJhbmdlcyBhbmQgYWxsIHRocmVlIHN0dWRpZXMgdGhhdCB3ZXJlIGNpdGVkIHRoZSBibG9nIGFyZSBjcmVkaWJsZSBzdHVkaWVzLsKgVGhlIHJlYWwgYW5zd2VyIHRvIHRoYXQgcHJlZ25hbmN5IGludGVydmFsIHF1ZXN0aW9uIGlzIHdlIGRvbuKAmXQga25vdyB3aGF0IGlzIHRoZSBvcHRpbWFsIHByZWduYW5jeSBpbnRlcnZhbC4gV2UganVzdCBkb27igJl0IGtub3cuIFRoZXkgc2F5LCB0aGV5IHdpbGwgdGVsbCB5b3XigJMgSSBmZWVsIGxpa2UgbW9zdCBwZW9wbGUgYW5kIG1vc3QgcHJvdmlkZXJzIGFyZSBhYm91dCBvbiB0aGUgMTggbW9udGhzIGJpcnRoIHRvIGJpcnRoIHNpZGUuIFNvbWUgcHJvdmlkZXJzIHdhbnQgMTIgbW9udGhzIGJldHdlZW4gcHJlZ25hbmNpZXMuwqBNZWFnYW46IFllYWguIEkgc2VlIGEgbG90IG9mIHBlb3BsZSBzYXlpbmcgdGhhdC4gSSBldmVuIHNlZSAxMi0yNCBtb250aHMgb3IgMTItMTggbW9udGhzIGJlZm9yZSBjb25jZXB0aW9uLiBJIHNlZSBhIGxvdCBvZiBjb25jZXB0aW9uIGFzIHdlbGwuIEl04oCZcyBqdXN0IGltcG9ydGFudCB0byB0YWxrIHRvIHlvdXIgcHJvdmlkZXIgYWJvdXQgdGhhdCBhbmQgd2hlbiB5b3UgYXJlIGxvb2tpbmcgYXQgdGhlIHN0dWRpZXMgYW5kIHlvdSBzZWUgYSAxNS1tb250aCwgc2VlIHdoYXQgaXQgaXMgdGFsa2luZyBhYm91dC4gSXMgaXQgdGFsa2luZyBhYm91dCBDLXNlY3Rpb24gdG8gVkJBQyBvciB0byBiaXJ0aCBvciB0byBjb25jZXB0aW9uP8KgSnVsaWU6IFllYWguwqA0NjozOCBFcGlkdXJhbHNNZWFnYW46IE9rYXksIGVwaWR1cmFscy4gV2Ugd2VyZSB0YWxraW5nIGFib3V0IGl0IGEgbWludXRlIGFnbyB3aGVyZSBzbyBtYW55IHByb3ZpZGVycyBzYXksIOKAnFllcywgeW91IGhhdmUgdG8gaGF2ZSBhbiBlcGlkdXJhbC4gTm8sIHlvdSBjYW7igJl0IGhhdmUgYW4gZXBpZHVyYWwu4oCdIEkgdGhpbmsgSeKAmXZlIHNoYXJlZCB0aGlzIHN0b3J5IGJlZm9yZS4gVGhlIG9ubHkgdXRlcmluZSBydXB0dXJlIEkgaGF2ZSBldmVyIHdpdG5lc3NlZCBpbiBteSBsaWZlIHdhcyB3aXRoIGFuIGVwaWR1cmFsLiBJ4oCZbSBnb2luZyB0byBndWVzcyB0aGF0IHNoZSBwcm9iYWJseSBoYWQgYSBkZWxheWVkIGZlZWxpbmcgYmVjYXVzZSBJ4oCZbSBhc3N1bWluZyBzaGUgd291bGQgaGF2ZSBmZWx0IGl0IHNvb25lciBhbmQgdGhpcyBwYWluLsKgU2hlIGZlbHQgaXQgbGF0ZXIgb24gYW5kIHdoZW4gc2hlIGZlbHQgaXQsIGl0IHdhcyBhYm92ZSB3aGVyZSB0aGUgZXBpZHVyYWwgc2l0ZSBudW1iZWQgc28gdXAgaW4gaGVyIHJpYiBhcmVhLCB1cCBiZWxvdyB0aGUgYnJlYXN0LiBUaGF0IHdhcyB3aGVyZSBzaGUgZmVsdCBpdCB3aXRoIGFuIGVwaWR1cmFsLiBUaGVyZSB3ZXJlbuKAmXQgYW55IGhlYXJ0IGRlY2VscyBvciBhbnl0aGluZyBsaWtlIHRoYXQuIFRoZXJlIHdlcmUgb3RoZXIgc2lnbnMgb2YgdGhpbmdzIGxpa2UgYSBzdGFsbGVkIGRpbGF0aW9uIGFuZCB0aGluZ3MgbGlrZSB0aGF0IGJ1dCBzaGUgc3RpbGwgZmVsdCBpdCB3aXRoIGFuIGVwaWR1cmFsLsKgQSBsb3Qgb2YgcHJvdmlkZXJzIGFyZSB0ZWxsaW5nIHBlb3BsZSB0aGF0IHRoZXkgY2Fu4oCZdCBoYXZlIGFuIGVwaWR1cmFsLiBJIHRoaW5rIHRoYXQgdGhpcyBzY2FyZXMgYSBsb3Qgb2YgcGVvcGxlLsKgSnVsaWU6IE1obW0uwqBNZWFnYW46IEJpcnRoIHVubWVkaWNhdGVkIGNhbiBzY2FyZSBzb21lb25lIHdobyBkb2VzbuKAmXQgd2FudCB0byBiaXJ0aCB1bm1lZGljYXRlZCBzbyB0aGUgdGhvdWdodCBvZiBnb2luZyB1bm1lZGljYXRlZCBjYW4gc2NhcmUgc29tZW9uZSB0byB0aGUgcG9pbnQgd2hlcmUgdGhleSBhcmUgbGlrZSwgSeKAmWxsIGp1c3Qgc2NoZWR1bGUgYSBDLXNlY3Rpb24uwqBNeSBwb2ludCBpbiBzaGFyaW5nIHRoaXMgc3RvcnkgaXMgdGhhdCBldmVuIHdpdGggYW4gZXBpZHVyYWwsIHlvdSBjYW4gb2Z0ZW4gc3RpbGwgZmVlbCBhIHV0ZXJpbmUgcnVwdHVyZSBoYXBwZW5pbmcgYW5kIHRoZXJlIGFyZSB1c3VhbGx5IG90aGVyIHNpZ25zIHRoYXQgYXJlIGhhcHBlbmluZyBldmVuIGJlZm9yZSB0aGF0IHRoYXQgYXJlIHBvaW50aW5nIHRoaW5ncyBvdXQuIFRoZXJlIGlzIGEgcHJldHR5LCBJIHRoaW5rIGl04oCZcyBhIGRlYmF0ZSBpbiB0aGUgbWVkaWNhbCB3b3JsZCwgb24gaWYgZXBpZHVyYWxzIGFjdHVhbGx5IGluY3JlYXNlIENlc2FyZWFuLiBIYXZlIHlvdSBzZWVuIHRoZSBibG9ncyBhbmQgZGlmZmVyZW50IHRoaW5ncz/CoEp1bGllOiBJIGFic29sdXRlbHkgZG8gdGhpbmsgdGhleSBkby4gSeKAmXZlIHNlZW4gaXQuIE15IGdvc2guwqBNZWFnYW46IEkga25vdy4gSSBrbm93LiBBIGxvdCBvZiB0aGUgZXZpZGVuY2Ugb3V0IHRoZXJlIG9yIGEgbG90IG9mIHRoZSBvcGluaW9ucyBvdXQgdGhlcmUgb24gdGhlIGJsb2dzIGFuZCB0aGUgTmF0aW9uYWwgSW5zdGl0dXRlIG9mIEhlYWx0aCBwdWJsaWNhdGlvbnMgYW5kIHRoaW5ncyBsaWtlIHRoYXQgc2hvdyB0aGF0IG1heWJlIG5vdCwgYnV0IHRoZW4gdGhlcmUgYXJlIHRoaW5ncyB0aGF0IHNob3cgYWN0dWFsbHkgaXQgZG9lcyBzZWVtIGxpa2UgaXQgY2FuLsKgSnVsaWU6IEkgdGhpbmsgaXTigJlzIGhvdyB5b3UgYWN0IHdoZW4geW91IGhhdmUgdGhlIGVwaWR1cmFsLiBJZiB5b3UgaGF2ZSBhIG51cnNlIGluIHRoZXJlIHdobyBpcyBjb250ZW50IG9uIGNoYW5naW5nIHlvdXIgcG9zaXRpb25zIGV2ZXJ5IDMwIG1pbnV0ZXMgb3Igd2hhdGV2ZXIsIEkgZG9u4oCZdCBrbm93LiBNYXliZSBub3QuIEtlZXAgdGhlIHBlbHZpcyBtb3ZpbmcuIEJ1dCBpZiB5b3UgYXJlIGZsYXQgb24geW91ciBiYWNrIGZvciAyMCBob3VycywgdGhlbiB5ZWFoLiBJdCBwcm9iYWJseSBpbmNyZWFzZWQgdGhhdCByaXNrLsKgTWVhZ2FuOiBZZWFoLiBUaGVyZeKAmXMgbm90IGEgbG90IG9mIGV2aWRlbmNlIHNob3dpbmcgdGhhdCBpdCBmb3Igc3VyZSBkb2VzIGluY3JlYXNlIHRoZSByaXNrIG9mIENlc2FyZWFucyBidXQgYXMgZG91bGFzIGFuZCBwZW9wbGUgd2hvIGhhdmUgZ29uZSBpbnRvIGEgbG90IG9mIGJpcnRoc+KAkyBvYnZpb3VzbHksIHRoZXJlIGFyZSBhIGxvdCBvZiBwcm92aWRlcnMgd2hvIGhhdmUgZ29uZSB0byB3YXkgbW9yZSBiaXJ0aHMgdGhhbiB3ZSBoYXZlIGFzIGRvdWxhcy4gSSBkb27igJl0IGtub3cgaWYgaXTigJlzIGEgY2F1c2UsIGJ1dCBpdCBkb2VzIHNlZW0gdG8gY29ycmVsYXRlLiBJdCBjYW4gY29ycmVsYXRlIGFuZCB0aGVyZSBhcmUgYSBsb3Qgb2YgZGlmZmVyZW50IHRoaW5ncy7CoFdlIHNlZSBhbiBlcGlkdXJhbCBjb21lIGludG8gcGxheSBhbmQgSSBhY3R1YWxseSBoYXZlIHNlZW4gbW9tcyBkaWxhdGUgcmVhbGx5IGZhc3QuIEkgaGF2ZSBzZWVuIGFuIGVwaWR1cmFsIGJlIHRoZSBiZXN0IHRvb2zigJNKdWxpZTogVGhhdOKAmXMgdHJ1ZS4gVGhhdOKAmXMgdHJ1ZS7CoE1lYWdhbjog4oCTZm9yIGEgbGFib3JlciB0byBnZXQgYSB2YWdpbmFsIGJpcnRoLiBJIHJlYWxseSwgcmVhbGx5LCByZWFsbHkgaGF2ZSBzZWVuIHRoaXMsIGFuZCBub3QgZXZlbiBqdXN0IHZhZ2luYWwgYmlydGggYWZ0ZXIgQ2VzYXJlYW4sIGp1c3QgdmFnaW5hbCBiaXJ0aC7CoEp1bGllOiBUaGF04oCZcyB0cnVlLiBUaGVyZSBpcyBhIGxvdCBvZiBudWFuY2UgdGhlcmUgZm9yIHN1cmUuwqBNZWFnYW46IEJ1dCB0byB3aGF0IHlvdSBhcmUgc2F5aW5nLCBhIGxvdCBvZiB0aGUgdGltZSBpdCByZWFsbHkgZG9lcyBkZXBlbmQgb24gd2hhdCBjb21lcyBhZnRlciB0aGUgZXBpZHVyYWwuIEEgbG90IG9mIHRoZSB0aW1lIGFmdGVyIGFuIGVwaWR1cmFsIGNvbWVzIGluLCB3ZSBrbm93IHRoYXQgdGhlcmUgYXJlIHR3byB0aGluZ3MgZm9yIHN1cmUgdGhhdCBoYXZlIGEgaGlnaGVyIGNoYW5jZSBvZiBoYXBwZW5pbmcuIE9uZSwgeW91IGhhdmUgYSBoaWdoZXIgY2hhbmNlIG9mIHNpdHRpbmcgYW5kIGRvaW5nIG5vdGhpbmcuIEp1c3QgaGFuZ2luZyBvdXQgbGlrZSBKdWxpZSBzYWlkLiBOb3QgcmVhbGx5IG1vdmluZywgd29ya2luZyB3aXRoIHRoZSBwZWx2aWMgZHluYW1pY3MsIGFuZCBnZXR0aW5nIGJhYnkgb3V0IGFuZCBkb3duLsKgQW5kIHR3bywgd2Uga25vdyB0aGF0IFBJdG9jaW4gb2Z0ZW4gY29tZXMgaW50byBwbGF5IGFmdGVyIGFuIGVwaWR1cmFsIGJlY2F1c2UgYSBsb3Qgb2YgdGhlIHRpbWUsIGl0IGNhbiBzdGFsbCBsYWJvci4gV2Ugd2FudCB0byBnZXQgbGFib3IgZ29pbmcgYWdhaW4gYW5kIHNvbWV0aW1lcyBpbnN0ZWFkIG9mIGp1c3Qgd2FpdGluZyBhbmQgbGV0dGluZyB0aGUgYm9keeKAkyBJIHVzZSB0aGUgYm9keSBhY2NsaW1hdGUgYSBsb3QsIGJ1dCByZWFsbHksIHRoZSBib2R5IGhhcyB0byBhY2NsaW1hdGUgc28gbXVjaCBpbiBsYWJvci4gV2UgYXJlIGdvaW5nIGZyb20gaG9tZSB0byBhIGhvc3BpdGFsLiBXZSBoYXZlIHRvIGFjY2xpbWF0ZSBmcm9tIHRoYXQgcGxhY2UgdG8gdGhlIGNhciB0byB0aGUgaG9zcGl0YWwgYW5kIHRoZW4gd2UgYXJlIGdldHRpbmcgdGhlcmUgYW5kIHdlIGFyZSBub3QgZXZlbiBqdXN0IGFjY2xpbWF0aW5nIHRvIHRoYXQgc3BhY2UuIFdlIGFyZSBhY2NsaW1hdGluZyB0byBuZXcgdm9pY2VzLsKgSnVsaWU6IE1obW0sIG5ldyBzbWVsbHMsIG5ldyBzZW5zYXRpb25zLCBuZXcgdGVtcGVyYXR1cmUsIG5ldyBnZXJtc+KAkyB0aGF04oCZcyBwcm9iYWJseSBub3QgcmVhbGx5IGEgdGhpbmcuwqBNZWFnYW46IFllYWguIEl04oCZcyBub3QgZXZlbiBqdXN0IGJlaW5nIGluIGEgZGlmZmVyZW50IHBsYWNlLiBJdOKAmXMgYWxsIG9mIHRoZSB0aGluZ3MgdGhhdCBjb21lIHdpdGggdGhlIGRpZmZlcmVudCBwbGFjZS4gU28gd2UgZ2V0IGFuIGVwaWR1cmFsIGFuZCBvdXIgYm9keSBpcyBsaWtlLCBPaCwgY29vbC4gSSBjYW4gcmVzdC4gVGhpcyBpcyBteSBvcGluaW9uLCBva2F5PyBJIGRvbuKAmXQgaGF2ZSBhbnkgcmVzZWFyY2ggdG8gc2hvdyB0aGlzLiBCdXQgbXkgb3BpbmlvbiBpcyB0aGF0IHdoZW4gYW4gZXBpZHVyYWwgaXMgcGxhY2VkIGFuZCBhIGJvZHkg4oCcc3RhbGxz4oCdLCB0aGF0IGlzIG91ciBib2R5IHNheWluZywg4oCcVGhhbmsgeW91LiBJ4oCZbSBnb2luZyB0byB0YWtlIHRoaXMgb3Bwb3J0dW5pdHkgdG8gcmVzdC7igJ0gQ2FuIGl0IGNvbnRpbnVlIGxhYm9yaW5nIGF0IHNvbWUgcG9pbnQ/IFllcy4gV2lsbCBpdCBhbHdheXM/IE1heWJlIG5vdC4gTWF5YmUgUGl0b2NpbiBkb2VzIG5lZWQgdG8gY29tZSBpbnRvIHBsYXkgYXQgdGhhdCBwb2ludCBiZWNhdXNlIGl0IGhhcyBkZWNyZWFzZWQgb3VyIGJvZGllc+KAmSBhYmlsaXR5IHRvIHJlZ2lzdGVyIGFuZCBhY2NsaW1hdGUsIGJ1dCBzb21ldGltZXMgSSBmZWVsIGxpa2Ugd2l0aCBnZXR0aW5nIHRoZSBlcGlkdXJhbCwgd2UgbmVlZCB0byBqdXN0IGFjY2xpbWF0ZSB0byB0aGF0IGFuZCBzZWUgd2hhdCBoYXBwZW5zIHZlcnN1cyBqdXN0IGltbWVkaWF0ZWx5IHN0YXJ0aW5nIFBpdG9jaW4gYW5kIGFjY2xpbWF0ZSB0byBuZXcgd2F5cyB0byBjaGFuZ2UuwqBCdXQgeWVhaCwgZGlkIHlvdSB3YW50IHRvIHNheSBhbnl0aGluZywgSnVsaWU/SnVsaWU6IEl04oCZcyBpbnRlcmVzdGluZyBiZWNhdXNlIEkgbGlrZSB0aGF0IGFuZCBJIGZlZWwgbGlrZSBzb21ldGltZXMgdGhhdCBpcyBleGFjdGx5IHdoYXQgYSBib2R5IG5lZWRzIG1heWJlIG5vdCBuZWNlc3NhcmlseSBmb3IgdGhlIGJvZHkgYXMgbXVjaCBhcyBmb3IgdGhlIHBzeWNoZSB0byBqdXN0IGJlIGFibGUgdG8gcmVzdCBhbmQgcmVsYXggYW5kIGxldCBnbyBiZWNhdXNlIGEgdGVuc2UgYm9keSBhbmQgYSB0ZW5zZSBtaW5kIHNvbWV0aW1lcyBpc27igJl0IGdvaW5nIHRvIGJlIHZlcnkgZWZmaWNpZW50IGF0IGxhYm9yaW5nIGJlY2F1c2Ugb2YgdGhhdC4gQWdhaW4sIHdlIHRhbGtlZCBhYm91dCB0aGlzIGJlZm9yZSB3aXRoIHRoZSBjb3J0aXNvbCBsZXZlbHMgc28gaWYgeW91IGNhbiBnZXQgc29tZW9uZSB0byByZWxheCBlYXNpZXIgYW5kIGxldCB0aGUgYm9keSB0YWtlIG92ZXIgd2hhdCBpdCBpcyBzdXBwb3NlZCB0byBkbyBpbnR1aXRpdmVseSBvciBpbnN0aW5jdHVhbGx54oCTIGFuZCBpdCBkb2VzbuKAmXQgYWx3YXlzIGFuZCBpdOKAmXMgb2theSBpZiBpdCBkb2VzbuKAmXQgYW5kIGl04oCZcyBva2F5IGlmIHdlIG5lZWQgb3RoZXIgdGhpbmdzIHRvIGhlbHAgdXMsIGJ1dCBzb21ldGltZXMganVzdCB0aGF0IHJlc3QgYW5kIHJlbGF4YXRpb24gYW5kIHRoYXQgMzAtbWludXRlIHBvd2VyIG5hcCBpcyBleGFjdGx5IHdoYXQgdGhlIGJvZHkgbmVlZHMgdG8gY29udGludWUgb24gdGhyb3VnaG91dCB0aGUgcmVzdCBvZiBpdC7CoEkgdGhpbmsgYSBsb3Qgb2YgcGVvcGxlIHdoZW4gdGhleSBhcmUgZ29pbmcgZm9yIGEgVkJBQyB0aGluayB0aGV5IG5lZWQgdG8gZ28gdW5tZWRpY2F0ZWQgdG8gaGF2ZSB0aGVpciBiZXN0IGNoYW5jZXMuIFdoaWxlIHllYWgsIHRoYXQgbWF5IG9yIG1heSBub3QgYmUgdHJ1ZSwgaXQganVzdCBpcyBjb21wbGV0ZWx5IGRlcGVuZGVudCBvbiB0aGUgcGVyc29uIGFuZCB0aGUgbGFib3IgYW5kIGhvdyB0aGluZ3MgZ28gYW5kIGhvdyBsb25nIGl0IGlzIGFuZCBhbGwgb2YgdGhvc2UgdHlwZXMgb2YgdGhpbmdzLiBJIGp1c3QgdGhpbmsgYWJvdXQgdGhlIGNhc2NhZGUgb2YgaW50ZXJ2ZW50aW9ucy7CoDU0OjEzIEFsbG93aW5nIGZvciBudWFuY2VKdWxpZTogSSB3YXMgZ29pbmcgb2ZmIG9uIGEgZGF5ZHJlYW0gb3ZlciBoZXJlIHdoZW4geW91IHdlcmUgdGFsa2luZyBhYm91dCB0aGUgY2FzY2FkZSBvZiBpbnRlcnZlbnRpb25zIGJlY2F1c2Ugd2UgYWx3YXlzIGRlbW9uaXplIHRoYXQgYSBsaXR0bGUgYml0IG9yIHZpbGxhaW5pemUgaXQgbGlrZSwgT2gsIHRoZSBjYXNjYWRlIG9mIGludGVydmVudGlvbnMgYXMgc29vbiBhcyB5b3UgZ2V0IHRvIHRoZSBob3NwaXRhbCBvciBhcyBzb29uIGFzIHlvdSBnZXQgdGhlIGVwaWR1cmFsIG9yIGFzIHNvb24gYXMgeW91IHdoYXRldmVyLiBZb3Uga25vdywgaXTigJlzIHRydWUuIFdl4oCZdmUgc2VlbiBpdCBhIGRvemVuIHRpbWVzLCBidXQgSeKAmXZlIGFsc28gc2VlbiB0aGUgY2FzY2FkZSBvZiBpbnRlcnZlbnRpb25zIGhlbHAgcGFyZW50cyBoYXZlIHRoZSBleGFjdCBiaXJ0aCB0aGF0IHRoZXkgd2FudGVkIGFzIHdlbGwuwqBTbyBsaWtlIHdpdGggYWxsIHRoaW5ncyBpbiBiaXJ0aCwgdGhlcmUgaXMgdGhhdCBudWFuY2UgdGhlcmUuIEnigJl2ZSB1c2VkIHRoZSB3b3JkIG51YW5jZSBhIGxvdCBhbmQgSSBmZWVsIGxpa2UgbWF5YmUgaXTigJlzIGEgdGhpbmcgZm9yIG15IGxpZmUgbGF0ZWx5IGFuZCBldmVyeXRoaW5nIHRoYXQgd2UgaGF2ZSB0byBhbGxvdyBmb3IgdGhlIG51YW5jZSBhbmQgd2UgY2Fu4oCZdCBiZSBzdXBlciByaWdpZCBpbiBvdXIgdGhpbmtpbmcuIEkgdGhpbmsgbWF5YmUgYXQgdGhlIGJlZ2lubmluZyBvZiBUaGUgVkJBQyBMaW5rLCBNZWFnYW4sIHlvdSBhbmQgSSBkaWQgYSBsb3Qgb2YgdGhhdCB2aWxsYWluaXppbmcgb2YgdGhlIGNhc2NhZGUgb2YgaW50ZXJ2ZW50aW9ucy4gQnV0IGFzIHdlIGhhdmUgZ3Jvd24gYW5kIHRhbGtlZCBtb3JlIHRvIHBlb3BsZSBhbmQgaGFkIG1vcmUgZXhwZXJpZW5jZSBhcyBkb3VsYXMgYW5kIGluIHRoZSBiaXJ0aCBzcGFjZSwgSSBmZWVsIGxpa2Ugd2UgYXJlIGFsbG93aW5nIG91cnNlbHZlcyB0byBiZSBhIGxpdHRsZSBtb3JlIGZsdWlkIGluIHRoYXQgdGhpbmtpbmcgYW5kIGFsbG93IGZvciB0aGF0IG51YW5jZSB0byBjb21lIGludG8gcGxheS7CoE1lYWdhbjogWWVzLiBZZXMuIDEwMCUuwqBKdWxpZTogQnV0IEkgd2lsbCBzYXkgdGhpcy4gSSB3aWxsIHNheSB0aGlzIHdpdGggMjAwJSBjZXJ0YWludHksIG9rYXk/IFRoZXJlIGlzIG5vIG51YW5jZSBhbGxvd2VkIGhlcmUuIFBlb3BsZSB3aG8gdGVsbCB5b3UgdGhhdCB5b3UgaGF2ZSB0byBoYXZlIGFuIGVwaWR1cmFsIGZvciBhIFZCQUMgYXJlIDEwMCUgZnVsbCBvZiBjcmFwLiBUaGlzIGlzIHdoeS4gQmVjYXVzZSB0aGUgcmVhc29uIHdoeSB0aGV5IHNheSB5b3UgaGF2ZSB0byBoYXZlLCBhbmQgSSBzYXkg4oCcdGhleSBzYXnigJ0sIEnigJltIHNheWluZyB0aGV5IGxpa2UgeW91ciBwcm92aWRlciBvciBhbnlvbmUgd2hvIHNheXMgdGhhdC4gVGhlIHJlYXNvbiB3aHkgaXMgYmVjYXVzZSBpbiBjYXNlIG9mIGEgdXRlcmluZSBydXB0dXJlLCB0aGUgZXBpZHVyYWwgaXMgYWxyZWFkeSBwbGFjZWQgYW5kIHRoZXkgY2FuIGdldCB5b3UgYmFjayBmb3IgYSBDLXNlY3Rpb24gZmFzdGVyIGFuZCBub3QgaGF2ZSB0byBwdXQgeW91IHVuZGVyIGdlbmVyYWwgYW5lc3RoZXNpYSB3aGljaCBpcyByaXNraWVyLiBUaGF0IGlzIHRydWUuIEdlbmVyYWwgYW5lc3RoZXNpYSBpcyByaXNraWVyIHRoYW4gYW4gZXBpZHVyYWwuIFRoYXQgaXMgMTAwJSB0cnVlLiBJdCBpcyBzYWZlciBvdmVyYWxsIHRvIGhhdmUgYW4gZXBpZHVyYWwgZm9yIHlvdXIgQy1zZWN0aW9uIHRoYW4gaXQgaXMgdG8gZ28gdW5kZXIgZ2VuZXJhbCBhbmVzdGhlc2lhLsKgTm93LCBoZXJlIGlzIHdoZXJlIEkgY2FsbCBCLlMuIGJlY2F1c2UgZXZlbiB3aXRoIGFuIGVwaWR1cmFsIHBsYWNlZCBhbmQgZG9zZWQsIHdoZW4geW91IGhhdmUgYW4gZXBpZHVyYWwgZ29pbmcsIGl0IGlzIG5vdCBhdCB0aGUgc3RyZW5ndGggaXQgbmVlZHMgdG8gYmUgaW4gb3JkZXIgdG8gZG8gYSBDLXNlY3Rpb24gd2l0aG91dCBmZWVsaW5nIGFueSBwYWluLsKgTWVhZ2FuOiBJdOKAmXMgbm90IGVub3VnaC7CoEp1bGllOiBGcm9tIHRoZSBtb21lbnQgdGhlIGVwaWR1cmFsIGlzIGRvc2VkIHVwLCBub3cga2VlcCBpbiBtaW5kIGl0IHRha2VzIHRpbWUgZm9yIHRoZSBhbmVzdGhlc2lvbG9naXN0IHRvIGNvbWUgaW4gYW5kIGV2ZXJ5dGhpbmcgbGlrZSB0aGF0IHRvbywgeW914oCZcmUgbG9va2luZyBhdCBhIG1pbmltdW0gb2YgMTIgbWludXRlcyBpZiB0aGUgYW5lc3RoZXNpb2xvZ2lzdCBpcyB0aGVyZSBhbmQgcHVzaGluZyB0aGUgYm9sdXMuIDEyIG1pbnV0ZXMgZm9yIHRoZSBlcGlkdXJhbCB0byB0YWtlIGVmZmVjdCBlbm91Z2ggdG8gaGF2ZSBzdXJnZXJ5LiBOb3csIGxpc3RlbiB0byBtZS4gSWYgaXQgaXMgYSB0cnVlIGVtZXJnZW5jeSBhbmQgYSBjYXRhc3Ryb3BoaWMgdXRlcmluZSBydXB0dXJlLCB5b3UgZG8gbm90IGhhdmUgMTIgbWludXRlcyB0byBzYXZlIHRoZSBiYWJ5LiBZb3Ugd2lsbCBiZSBwdXQgdW5kZXIgZ2VuZXJhbCBhbmVzdGhlc2lhIGJlY2F1c2UgbWludXRlcyBtYXR0ZXIuIFNlY29uZHMgbWF0dGVyIGluIHRob3NlIHRydWUgZW1lcmdlbnQgc2l0dWF0aW9ucy7CoFNvLCBLYXJlbiwgaWYgeW91IGhhdmUgYW4gZXBpZHVyYWwgcGxhY2VkIGFuZCBpdOKAmXMgYSB0cnVlIGVtZXJnZW5jeSwgdGhlbiB5b3Ugd2lsbCBoYXZlIHRvIGJlIHB1dCB1bmRlciBnZW5lcmFsIGFuZXN0aGVzaWEuIElmIGl04oCZcyBub3QgYSB0cnVlIGVtZXJnZW5jeSwgdGhlbiBndWVzcyB3aGF0PyBZb3UgaGF2ZSBlbm91Z2ggdGltZSBmb3IgYSBzcGluYWwgYmxvY2sgd2hpY2ggdGFrZXMgZWZmZWN0IGluIGFib3V0IDMtNSBtaW51dGVzLiBHbyBpbnRvIHRoZSBPUi4gWW91IGNhbiBzdGlsbCBoYXZlIHlvdXIgYmFieSBvdXQgaW4gMTUgbWludXRlcyBvciBtb3JlIGJ1dCB1c3VhbGx5IHdoYXQgd2Ugc2VlIGNhbGxlZCBhbiBlbWVyZ2VuY3kgQy1zZWN0aW9uLCB0aGV54oCZcmUgbGlrZSwg4oCcQWxsIHJpZ2h0LiBCYWJ54oCZcyBoZWFydCByYXRlIGlzIG5vdCBsb29raW5nIGdvb2QuIExldOKAmXMgZ2V0IHRoZSBkb2N0b3IgaW4gaGVyZS4gTGV04oCZcyBoYXZlIHlvdSBwdXQgeW91ciBzY3J1YnMgb24uIE9oLCBsb29rIERhZC4gTGV04oCZcyBnZXQgeW91ciBzY3J1YnMgb24u4oCdIFlvdSBnZXQgZHJlc3NlZCBhbmQgeW91IGFyZSBnZXR0aW5nIHdoZWVsZWQgaW4gdGhlIE9SIDQ1IG1pbnV0ZXMgbGF0ZXIsIHRoYXTigJlzIG5vdCBhbiBlbWVyZ2VuY3kuwqBIYXZpbmcgYW4gZXBpZHVyYWwgcGxhY2VkIHdoZW4geW91IGRvbuKAmXQgd2FudCBvbmUgb3IgbmVlZCBvbmXigJMgc29tZSBwZW9wbGUgbmVlZCBvbmUgYW5kIHNvbWUgcGVvcGxlIHdhbnQgb25lIGFuZCB0aGF04oCZcyBmaW5lLiBIYXZpbmcgYW4gZXBpZHVyYWwgcGxhY2VkIGlzIHByZXBhcmluZyB5b3UgZm9yIHN1cmdlcnkuIEl04oCZcyBwcmVwYXJpbmcgeW91IGZvciBzdXJnZXJ5LiBUaGF04oCZcyB3aHkgSSBzYXkgdGhlcmUgaXMgbm8gcm9vbSBmb3IgbnVhbmNlIGJlY2F1c2UgeW91IGp1c3QgY2Fu4oCZdCBtYWdpY2FsbHkgbWFrZSBhbiBlcGlkdXJhbCBzdXJnaWNhbCBzdHJlbmd0aCBpbiBtaW51dGVzLiBZb3UganVzdCBjYW7igJl0LiBUaGVyZeKAmXMgbm8gbnVhbmNlIHRoZXJlLiBJdCBkb2VzbuKAmXQgaGFwcGVuLsKgTWVhZ2FuOiBPa2F5LiBXZeKAmWxsIGp1c3QgZW5kIHJpZ2h0IHRoZXJlLiBZb3UgZ3V5cywgdGhlcmUgYXJlIHNvIG1hbnkgdGhpbmdzIGJ1dCBob3BlZnVsbHksIHdlIGNvdmVyZWQgYSBsb3Qgb2YgdGhlIGJhc2ljcy4gS25vdyB0aGF0IHlvdSBhbHdheXMgaGF2ZSBvcHRpb25zIGV2ZW4gaWYgeW91IGZlZWwgbGlrZSBzb21ldGltZXMgeW91IGRvbuKAmXQgaGF2ZSBvcHRpb25zLCB0aGVyZSBwcm9iYWJseSBpcyBhbm90aGVyIG9wdGlvbiB0aGVyZS4gSXTigJlzIGNyYXp5LCBidXQgdGhlcmUgcmVhbGx5IGlzIHNvIGtlZXAgbG9va2luZyBhdCB5b3VyIG9wdGlvbnMuIExvb2sgYXQgeW91ciBibG9nLiBMb29rIGF0IHRoZSBzaG93IG5vdGVzLiBXZeKAmWxsIGNyZWF0ZSBhbmQgbGVhdmUgdGhlIGxpbmtzIHRvZGF5LiBDaGVjayBvdXQgb3VyIEhvdyB0byBWQkFDIGNvdXJzZS4gSXTigJlzIGdvaW5nIHRvIGNvdmVyIGEgbG90IG9mIGluZm9ybWF0aW9uIGFuZCBoZWxwIHlvdSBob3BlZnVsbHkgZmluZCB0aGUgcmlnaHQgc3RhdHMgYW5kIGV2aWRlbmNlLWJhc2VkIGluZm9ybWF0aW9uIHNvIHdoZW4geW91IHNlZSBwb3N0cyBvbiBGYWNlYm9vayBvciBUaWtUb2sgb3IgYW55dGhpbmcgbGlrZSB0aGF0IHRoYXQgYXJlIHNheWluZyB0aGluZ3MgbGlrZSwg4oCcSWYgeW91ciBiYWJ54oCZcyBjb3JkIHdhcyB3cmFwcGVkIGFyb3VuZCB0aGVpciBuZWNrIHRoZSBmaXJzdCB0aW1lLCB5b3UgY2Fu4oCZdCBoYXZlIGEgVkJBQyB0aGUgc2Vjb25kIHRpbWUs4oCdIG9yIGlmIHlvdSBhcmUgdG9sZCB0aGF0IHlvdXIgcGVsdmlzIHdhcyB0b28gc21hbGwgdGhlIGZpcnN0IHRpbWUgYW5kIHlvdSBjYW7igJl0IGhhdmUgYSBWQkFDIG9yIGdvaW5nIG9uIGFuZCBvbiwgdGhhdCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGtub3cgdGhlIGV2aWRlbmNlLWJhc2VkIGluZm9ybWF0aW9uLsKgQWxsIHJpZ2h0LCBva2F5LiBBbGwgcmlnaHQuwqBKdWxpZTogWWVhaC7CoE1lYWdhbjogU2VlIHlvdSBndXlzIGxhdGVyLsKgSnVsaWU6IEJ5ZSHCoENsb3NpbmdXb3VsZCB5b3UgbGlrZSB0byBiZSBhIGd1ZXN0IG9uIHRoZSBwb2RjYXN0PyBUZWxsIHVzIGFib3V0IHlvdXIgZXhwZXJpZW5jZSBhdCB0aGV2YmFjbGluay5jb20vc2hhcmUuIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGFsbCB0aGluZ3MgVkJBQyBpbmNsdWRpbmcgb25saW5lIGFuZCBpbi1wZXJzb24gVkJBQyBjbGFzc2VzLCBUaGUgVkJBQyBMaW5rIGJsb2csIGFuZCBNZWFnYW7igJlzIGJpbywgaGVhZCBvdmVyIHRvIHRoZXZiYWNsaW5rLmNvbS4gQ29uZ3JhdHVsYXRpb25zIG9uIHN0YXJ0aW5nIHlvdXIgam91cm5leSBvZiBsZWFybmluZyBhbmQgZGlzY292ZXJ5IHdpdGggVGhlIFZCQUMgTGluay5TdXBwb3J0IHRoaXMgcG9kY2FzdCBhdCDigJQgaHR0cHM6Ly9yZWRjaXJjbGUuY29tL3RoZS12YmFjLWxpbmsvZG9uYXRpb25zQWR2ZXJ0aXNpbmcgSW5xdWlyaWVzOiBodHRwczovL3JlZGNpcmNsZS5jb20vYnJhbmRzIiwiZHVyYXRpb24iOnsidG90YWxNaWxsaXNlY29uZHMiOjM2NjI5NDJ9LCJpZCI6IjBRRVNNZzNERDRUaklDNzBkVlZPeW8iLCJtZWRpYVR5cGVzIjpbIkFVRElPIl0sIm5hbWUiOiJFcGlzb2RlIDMxMiBWQkFDIEJhc2ljcyB3aXRoIE1lYWdhbiAmIEp1bGllIiwicGxheWFiaWxpdHkiOnsicGxheWFibGUiOnRydWUsInJlYXNvbiI6IlBMQVlBQkxFIn0sInBsYXllZFN0YXRlIjp7InBsYXlQb3NpdGlvbk1pbGxpc2Vjb25kcyI6MCwic3RhdGUiOiJOT1RfU1RBUlRFRCJ9LCJwb2RjYXN0VjIiOnsiX190eXBlbmFtZSI6IlBvZGNhc3RSZXNwb25zZVdyYXBwZXIiLCJkYXRhIjp7Il9fdHlwZW5hbWUiOiJQb2RjYXN0IiwiY292ZXJBcnQiOnsic291cmNlcyI6W3siaGVpZ2h0Ijo2NCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwZjY4ZGJiNWY3NmJhNDMyZGZjMzAzZjM3ZjgwNiIsIndpZHRoIjo2NH0seyJoZWlnaHQiOjMwMCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwNWYxZmJiNWY3NmJhNDMyZGZjMzAzZjM3ZjgwNiIsIndpZHRoIjozMDB9LHsiaGVpZ2h0Ijo2NDAsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMGJhOGFiYjVmNzZiYTQzMmRmYzMwM2YzN2Y4MDYiLCJ3aWR0aCI6NjQwfV19LCJuYW1lIjoiVGhlIFZCQUMgTGluayIsInNob3dUeXBlcyI6W10sInVyaSI6InNwb3RpZnk6c2hvdzozNmJWeHFPR2QxRVljUjBvSnRlRjVuIn19LCJyZWxlYXNlRGF0ZSI6eyJpc29TdHJpbmciOiIyMDI0LTA2LTI2VDA3OjEwOjAwWiJ9LCJyZXN0cmljdGlvbnMiOnsicGF5d2FsbENvbnRlbnQiOmZhbHNlfSwidXJpIjoic3BvdGlmeTplcGlzb2RlOjBRRVNNZzNERDRUaklDNzBkVlZPeW8ifSx7Il9fdHlwZW5hbWUiOiJFcGlzb2RlIiwiYXVkaW8iOnsiaXRlbXMiOlt7ImZpbGVJZCI6IjIyNjIyOGQzMTUxM2E4MGIyMWI1ZmU5ZTQyZDc3NzZmNTUyNjUwMDciLCJmb3JtYXQiOiJNUDRfMTI4X0NCQ1MiLCJ1cmwiOiJodHRwczovL3Auc2Nkbi5jby9tcDMtcHJldmlldy8yMjYyMjhkMzE1MTNhODBiMjFiNWZlOWU0MmQ3Nzc2ZjU1MjY1MDA3In0seyJmaWxlSWQiOiI1MzkxNjcyZWRjZmUxNjYwY2ZiNWY4ZmIzYWY5YmY2NTAwYTk2YzA5IiwiZm9ybWF0IjoiTVA0XzEyOF9EVUFMIiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvNTM5MTY3MmVkY2ZlMTY2MGNmYjVmOGZiM2FmOWJmNjUwMGE5NmMwOSJ9LHsiZmlsZUlkIjoiNDE5ZmM1ZTYyODYzMzJjZWEyZjk3YjAyZGU4MzYwODRiYTEyYzg4YyIsImZvcm1hdCI6IkFBQ18yNCIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3LzQxOWZjNWU2Mjg2MzMyY2VhMmY5N2IwMmRlODM2MDg0YmExMmM4OGMifSx7ImZpbGVJZCI6IjdiMGIwNzgxMjE4OGI2Mjk2YzAzOTNmNTE4M2IwMTlkNWE2MjkwMTMiLCJmb3JtYXQiOiJPR0dfVk9SQklTXzk2IiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvN2IwYjA3ODEyMTg4YjYyOTZjMDM5M2Y1MTgzYjAxOWQ1YTYyOTAxMyJ9LHsiZmlsZUlkIjoiNThhMjZjMzkwZGFiODg3YTYyMGIxMzBlZDkzYTA1M2M2NDIxYjZlMSIsImZvcm1hdCI6Ik1QNF8xMjgiLCJ1cmwiOiJodHRwczovL3Auc2Nkbi5jby9tcDMtcHJldmlldy81OGEyNmMzOTBkYWI4ODdhNjIwYjEzMGVkOTNhMDUzYzY0MjFiNmUxIn1dfSwiY29udGVudFJhdGluZyI6eyJsYWJlbCI6Ik5PTkUifSwiY292ZXJBcnQiOnsic291cmNlcyI6W3siaGVpZ2h0Ijo2NCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwZjY4ZDU1OWE3MjMyODcxNzI4Y2NlMjY5NmQ5OCIsIndpZHRoIjo2NH0seyJoZWlnaHQiOjMwMCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwNWYxZjU1OWE3MjMyODcxNzI4Y2NlMjY5NmQ5OCIsIndpZHRoIjozMDB9LHsiaGVpZ2h0Ijo2NDAsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMGJhOGE1NTlhNzIzMjg3MTcyOGNjZTI2OTZkOTgiLCJ3aWR0aCI6NjQwfV19LCJkZXNjcmlwdGlvbiI6IlRyaXNoIHNwZWFrcyB3aXRoIFBhdWxldHRlIEthbWVuZWNrYSwgYSBtb3RoZXIgb2YgdHdvLCBhdXRob3IsIGFuZCB0aGUgcG9kY2FzdCBob3N0IG9mICwg4oCcV2hhdCBZb3UgRGlkbuKAmXQgRXhwZWN0IGluIEZlcnRpbGl0eSwgUHJlZ25hbmN5LCBhbmQgQmlydGjigJ0uUGF1bGV0dGUgaGFzIG5hdmlnYXRlZCBhIGNoYWluIG9mIHVuZXhwZWN0ZWQgZXZlbnRzIGluIGhlciBwcmVnbmFuY3ksIGludHJvZHVjaW5nIGhlciB0byBhdXRvaW1tdW5lIGRpc2Vhc2VzLCBoaWdoIHJpc2sgcHJlZ25hbmN5LCBuZW9uYXRvbG9neSwgYW5kIHRoZSBnZW5lcmFsIHN0YXRlIG9mIG1lZGljYWwgY2FyZSB0aGF0IGlzIGF2YWlsYWJsZSBmb3IgcmFyZSBjYXNlcy5QYXVsZXR0ZSBzaGFyZXMgaGVyIHVucHJlZGljdGFibGUgcHJlZ25hbmN5IGpvdXJuZXkgYW5kIGhvdyBlZHVjYXRpbmcgaGVyc2VsZiBhbmQgYWR2b2NhdGluZyBmb3IgaGVyIGJhYmllcyB3YXMgY3J1Y2lhbCBkdXJpbmcgdGhlc2UgdW5jZXJ0YWluIHRpbWVzLsKgVGhpcyBjb252ZXJzYXRpb24gdW5kZXJzY29yZXMgdGhlIGltcG9ydGFuY2Ugb2YgcGVyc29uYWxpemVkIGNhcmUsIHRoZSB1bnByZWRpY3RhYmxlIG5hdHVyZSBvZiBwcmVnbmFuY3kgYW5kIGJpcnRoLCBhbmQgdGhlIHBvd2VyIG9mIGtub3dsZWRnZSwgc2VsZi1hZHZvY2FjeSwgYW5kIHN1cHBvcnQuwqBUcmlzaCAmIFBhdWxldHRlIGJvdGggZW1waGFzaXplIHRoZSB2YWx1ZSBvZiBjb21tdW5pdHkgc3VwcG9ydCBhbmQgaW5mb3JtZWQgZGVjaXNpb24tbWFraW5nIGZvciBleHBlY3RhbnQgbW90aGVycy4wMToyMiBXZWxjb21pbmcgUGF1bGV0dGUgS2FtZW5lY2thOiBBdXRob3IgYW5kIFBvZGNhc3QgSG9zdDAxOjU2IFBhdWxldHRlJ3MgSm91cm5leSB3aXRoIEF1dG9pbW11bml0eSBhbmQgUHJlZ25hbmN5MDM6MTQgTmF2aWdhdGluZyBVbnByZWRpY3RhYmlsaXR5IGluIFByZWduYW5jeTAzOjU4IFBhdWxldHRlJ3MgUHJlZ25hbmN5IENoYWxsZW5nZXMgYW5kIERpc2NvdmVyaWVzMDg6MDIgQWR2b2NhdGluZyBmb3IgWW91cnNlbGYgaW4gUHJlZ25hbmN5MTI6MTQgRmFjaW5nIFVuY2VydGFpbnR5IGFuZCBQcmVwYXJpbmcgZm9yIEJpcnRoMjI6MDQgR3JhY2UncyBKb3VybmV5wqAyMjozMiBUaGUgSW1wb3J0YW5jZSBvZiBFZHVjYXRpbmcgWW91cnNlbGYyODo0NyBOYXZpZ2F0aW5nIEhpZ2gtUmlzayBQcmVnbmFuY2llczM3OjE5IFVuZXhwZWN0ZWQgRGlhZ25vc2VzIGFuZCBDb250cm9sNDE6MDMgQ29uY2x1c2lvbiBhbmQgRmluYWwgVGhvdWdodHNNb3JlIGZyb20gUGF1bGV0dGUgS2FtZW5lY2thOlZpc2l0IGhlciB3ZWJzaXRlIFBhdWxldHRlS2FtZW5lY2thLmNvbUxpc3RlbiB0byBoZXIgcG9kY2FzdCwg4oCcV2hhdCBZb3UgRGlkbuKAmXQgRXhwZWN0IGluIEZlcnRpbGl0eSwgUHJlZ25hbmN5LCBhbmQgQmlydGjigJ0uQ29ubmVjdCB3aXRoIFBhdWxldHRlIG9uIEZhY2VCb29rTW9yZSBmcm9tIHRoaXMgZXBpc29kZTpHbyB0byBsYWJvcm51cnNlbWFtYS5jb20vY2FsbSBhbmQgdXNlIGNvZGUgUE9ENTAgZm9yICQ1MCBvZmZSZXNvdXJjZXM6IEpvaW4gb3VyIDUgRGF5cyB0byBBIEZlYXJsZXNzIEJpcnRoIEV4cGVyaWVuY2UgYW5kIHdhdGNoIDUgT25saW5lIEJpcnRoIENsYXNzZXMgRk9SIEZSRUUhIUdyYWIgYSBGcmVlIFByZWduYW5jeS9Qb3N0cGFydHVtIENoZWNrbGlzdCBCdW5kbGVDb25uZWN0IHcvIFRyaXNoOiAgT24gSW5zdGFncmFtT24gRmFjZWJvb2tPbiBZb3VUdWJlT24gUGludGVyZXN0IE9uIFRpa1Rva0ZvciBtb3JlIHByZWduYW5jeSAmIGJpcnRoIGVkdWNhdGlvbiwgc3Vic2NyaWJlIHRvIFRoZSBCaXJ0aCBFeHBlcmllbmNlIG9uIFNwb3RpZnksIEFwcGxlIFBvZGNhc3RzLCBvciB3aGVyZXZlciB5b3UgbGlzdGVuIHRvIHBvZGNhc3RzLk5leHQgU3RlcHMgd2l0aCBMTk06SWYgeW91IGFyZSByZWFkeSB0byBpbnZlc3QgaW4geW91ciBwcmVnbmFuY3kgJiBwb3N0cGFydHVtIGpvdXJuZXksIHlvdSBhcmUgaW4gdGhlIHJpZ2h0IHBsYWNlLiBJIHdvdWxkIGxvdmUgdG8gdGFrZSB5b3VyIGhhbmQgYW5kIHN1cHBvcnQgeW91IGluIHlvdXIgdmlydHVhbCBsYWJvciByb29tIUlmIHlvdSBhcmUgcmVhZHkgdG8gZGl2ZSBpbnRvIGEgYmlydGggY2xhc3MgYW5kIGhhdmUgeW91ciBiZXN0IGFuZCBtb3N0IHBvd2VyZnVsIGJpcnRoIHN0b3J5LCB0aGVuwqBDYWxtIExhYm9yIENvbmZpZGVudC4uLiIsImR1cmF0aW9uIjp7InRvdGFsTWlsbGlzZWNvbmRzIjoyNDcwMDgwfSwiaWQiOiIyTzRxWmdVeG51bVVxSU90cHhmcnhxIiwibWVkaWFUeXBlcyI6WyJBVURJTyJdLCJuYW1lIjoiTmF2aWdhdGluZyB0aGUgVW5wcmVkaWN0YWJsZTogUGF1bGV0dGUncyBTdG9yeSBvZiBQcmVnbmFuY3kgYW5kIEF1dG9pbW11bml0eSIsInBsYXlhYmlsaXR5Ijp7InBsYXlhYmxlIjp0cnVlLCJyZWFzb24iOiJQTEFZQUJMRSJ9LCJwbGF5ZWRTdGF0ZSI6eyJwbGF5UG9zaXRpb25NaWxsaXNlY29uZHMiOjAsInN0YXRlIjoiTk9UX1NUQVJURUQifSwicG9kY2FzdFYyIjp7Il9fdHlwZW5hbWUiOiJQb2RjYXN0UmVzcG9uc2VXcmFwcGVyIiwiZGF0YSI6eyJfX3R5cGVuYW1lIjoiUG9kY2FzdCIsImNvdmVyQXJ0Ijp7InNvdXJjZXMiOlt7ImhlaWdodCI6NjQsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMGY2OGQ1NTlhNzIzMjg3MTcyOGNjZTI2OTZkOTgiLCJ3aWR0aCI6NjR9LHsiaGVpZ2h0IjozMDAsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMDVmMWY1NTlhNzIzMjg3MTcyOGNjZTI2OTZkOTgiLCJ3aWR0aCI6MzAwfSx7ImhlaWdodCI6NjQwLCJ1cmwiOiJodHRwczovL2kuc2Nkbi5jby9pbWFnZS9hYjY3NjU2MzAwMDBiYThhNTU5YTcyMzI4NzE3MjhjY2UyNjk2ZDk4Iiwid2lkdGgiOjY0MH1dfSwibmFtZSI6IlRoZSBCaXJ0aCBFeHBlcmllbmNlIHdpdGggTGFib3IgTnVyc2UgTWFtYSIsInNob3dUeXBlcyI6W10sInVyaSI6InNwb3RpZnk6c2hvdzo1OGtBWGEydHhQUkJGMm5YNDRqTHNFIn19LCJyZWxlYXNlRGF0ZSI6eyJpc29TdHJpbmciOiIyMDI0LTA2LTIxVDE0OjMwOjAwWiJ9LCJyZXN0cmljdGlvbnMiOnsicGF5d2FsbENvbnRlbnQiOmZhbHNlfSwidXJpIjoic3BvdGlmeTplcGlzb2RlOjJPNHFaZ1V4bnVtVXFJT3RweGZyeHEifSx7Il9fdHlwZW5hbWUiOiJFcGlzb2RlIiwiYXVkaW8iOnsiaXRlbXMiOlt7ImZpbGVJZCI6IjcxYzFhYTE3ZTA0ZDQyN2IzMjUyYjQ0YWFjODZjOWNhYzM1MzZjZmEiLCJmb3JtYXQiOiJNUDRfMTI4X0RVQUwiLCJ1cmwiOiJodHRwczovL3Auc2Nkbi5jby9tcDMtcHJldmlldy83MWMxYWExN2UwNGQ0MjdiMzI1MmI0NGFhYzg2YzljYWMzNTM2Y2ZhIn0seyJmaWxlSWQiOiI5YzE5NTc3NDE1MzJhZDQyNTc1NDg4OWY3OGFjZGM3NDBmYjJkM2Q1IiwiZm9ybWF0IjoiT0dHX1ZPUkJJU185NiIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3LzljMTk1Nzc0MTUzMmFkNDI1NzU0ODg5Zjc4YWNkYzc0MGZiMmQzZDUifSx7ImZpbGVJZCI6IjYwMDEyYTY3ZDU1NWU5MTEzZmMwMGQwZGRjMWQ0NTU3ZDUwODNhOGYiLCJmb3JtYXQiOiJBQUNfMjQiLCJ1cmwiOiJodHRwczovL3Auc2Nkbi5jby9tcDMtcHJldmlldy82MDAxMmE2N2Q1NTVlOTExM2ZjMDBkMGRkYzFkNDU1N2Q1MDgzYThmIn0seyJmaWxlSWQiOiJmZTljZDc2ZmUyYWIyN2FkMDYyZDkwYjg5YWMwZWIyNTJjNzk3N2Y4IiwiZm9ybWF0IjoiTVA0XzEyOCIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3L2ZlOWNkNzZmZTJhYjI3YWQwNjJkOTBiODlhYzBlYjI1MmM3OTc3ZjgifSx7ImZpbGVJZCI6IjY0OGQzMTI2ZDU4MDliN2UwMWNjMDg0ODg3YzUyNGJlY2M3YWY5NjYiLCJmb3JtYXQiOiJNUDRfMTI4X0NCQ1MiLCJ1cmwiOiJodHRwczovL3Auc2Nkbi5jby9tcDMtcHJldmlldy82NDhkMzEyNmQ1ODA5YjdlMDFjYzA4NDg4N2M1MjRiZWNjN2FmOTY2In1dfSwiY29udGVudFJhdGluZyI6eyJsYWJlbCI6Ik5PTkUifSwiY292ZXJBcnQiOnsic291cmNlcyI6W3siaGVpZ2h0Ijo2NCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwZjY4ZDcwYmQ2ZTQyNTA2NzM0MzliNWY2YzRlYSIsIndpZHRoIjo2NH0seyJoZWlnaHQiOjMwMCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwNWYxZjcwYmQ2ZTQyNTA2NzM0MzliNWY2YzRlYSIsIndpZHRoIjozMDB9LHsiaGVpZ2h0Ijo2NDAsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMGJhOGE3MGJkNmU0MjUwNjczNDM5YjVmNmM0ZWEiLCJ3aWR0aCI6NjQwfV19LCJkZXNjcmlwdGlvbiI6Ildhcm5pbmc6IHRvZGF54oCZcyBwb2RjYXN0IGd1ZXN0IG1heSBoYXZlIHlvdSBmYW5naXJsaW5n4oCmwqBJbiB0b2RheeKAmXMgZXBpc29kZSBJIHNhdCBkb3duIHdpdGggUmhlYSBEZW1wc2V5LCBhIGNoaWxkYmlydGggZG91bGEgYW5kIGVkdWNhdG9yLCBjb3Vuc2VsbG9yIGFuZCBhdXRob3IgdG8gQmlydGggV2l0aCBDb25maWRlbmNlICYgQmV5b25kIFRoZSBCaXJ0aCBQbGFuLCAodHdvIG9mIE5CQ+KAmXMgbWFtYXPigJkgZmF2b3VyaXRlIHJlYWRzKSFSaGVhIGNhbWUgaW50byB0aGlzIHNwYWNlIGFmdGVyIGV4cGVyaWVuY2luZyBhbiBvdXQtb2YtY29udHJvbCBiaXJ0aCBleHBlcmllbmNlIHdpdGggaGVyIGZpcnN0IGJ1Yiwgd2hpY2ggcmVhbGx5IG9wZW5lZCBoZXIgbWluZCB0byB0aGUgZXhpc3RpbmcgYmlydGggY3VsdHVyZSBhcm91bmQgcGh5c2lvbG9naWNhbCBiaXJ0aCwgYW5kIGJpcnRoaW5nIGluIHRoZSBob3NwaXRhbCBzZXR0aW5nLiBUaGlzIGlzIHdoYXQgc2V0IGhlciBvbiB0aGlzIHBhdGggdG8gbWFrZSBzbyBtYW55IHdhdmVzIGluIHRoZSBwaHlzaW9sb2dpY2FsIGJpcnRoaW5nIHNwYWNlIGFuZCBlbXBvd2VyIG1hbWFzIGluIHVuZGVyc3RhbmRpbmcgdGhlIHBvd2VyIG9mIGJpcnRoIHByZXBhcmF0aW9uLlNoZSdzIHJlYWxseSBhbWF6aW5nIGF0IGNvbW11bmljYXRpbmcgZGlmZmVyZW50IHBvaW50cyBhbmQgY29uY2VwdHMgaW4gYW4gZWFzeSB0byB1bmRlcnN0YW5kIHdheS4gSW4gdGhpcyBwb2RjYXN0IHdlIGRpc2N1c3M6U28gbXVjaCBhYm91dCBwaHlzaW9sb2dpY2FsIGJpcnRoVGhlIGNyaXNpcyBvZiBjb25maWRlbmNlwqBVc2Ugb2YgZXBpZHVyYWxzwqBGb2V0YWwgcG9zaXRpb25pbmfCoCYgd2UgaGF2ZSBzbyBtdWNoIG90aGVyIGFtYXppbmcgc3R1ZmYhwqBUaGlzIHBvZGNhc3QgaXMgZm9yOlByZWduYW50IG1hbWFzIHdobyBkZXNpcmUgYSBwaHlzaW9sb2dpY2FsIGJpcnRoTWFtYXPigJkgaW50ZXJlc3RlZCBpbiBiaXJ0aCBwcmVwYXJhdGlvbiB0ZWNobmlxdWVzIGZvciBhIHByb2dyZXNzaXZlIGJpcnRoTWFtYXPigJkgd2hvIGxvdmUgYmVpbmcgZWR1Y2F0ZWQgYWJvdXQgYmlydGjCoExFQVJOIE1PUkUgQUJPVVQgTVkgTkVXIE9OTElORSBCSVJUSCBQUkVQIENPVVJTRSwgQklSVEggQ0lSQ0xFIEhFUkU6IGh0dHBzOi8vd3d3Lm5hdHVyYWxiaXJ0aGNvLmNvbS9iaXJ0aC1jaXJjbGXCoEdldCB5b3VyIEZSRUUgMTQgZGF5IFByZWduYW5jeSBQcmVwYXJhdGlvbiBHdWlkZSBoZXJlOiBodHRwczovL25hdHVyYWxiaXJ0aGNvLm15ZmxvZGVzay5jb20vMTRkYXlndWlkZSAoZm9yIHByZWduYW50IG1hbWFzIHdobyBoYXZlIG5vIGlkZWEgd2hlcmUgdG8gc3RhcnQuKcKgU2lnbiB1cCBmb3IgdGFuZ2libGUgYWR2aWNlIGZyb20gdGhlIGJlc3QgcHJlY29uY2VwdGlvbiwgcHJlZ25hbmN5IGFuZCBiaXJ0aCBwcm9mZXNzaW9uYWxzIGluIHlvdXIgaW5ib3ggZXZlcnkgZm9ydG5pZ2h0IGhlcmU6IGh0dHBzOi8vbmF0dXJhbGJpcnRoY28ubXlmbG9kZXNrLmNvbS9tYW1hc2FkdmljZW5ld3NsZXR0ZXLCoMKgwqDCoMKgSSByZWFsbHkgaG9wZSB5b3UgZW5qb3kgdGhlIHBvZGNhc3QhVG8gbGVhcm4gbW9yZSBhYm91dCBOYXR1cmFsIGJpcnRoIGNvIGNoZWNrIG91dCBvdXIgd2Vic2l0ZSBoZXJlOiBodHRwczovL3d3dy5uYXR1cmFsYmlydGhjby5jb20vIMKgIFBsZWFzZSBzaGFyZSB0aGlzIHBvZGNhc3Qgd2l0aCBhbnlvbmUgd2hvIHlvdSB0aGluayB3aWxsIGJlbmVmaXQgZnJvbSBoZWFyaW5nIG9yIHNoYXJlIHlvdXIgcmVjZW50IGxpc3RlbiBpbiB5b3VyIHNvY2lhbCBzdG9yaWVzIVlPVVRVQkUgTElOSzogaHR0cHM6Ly95b3V0dS5iZS9STlhsMEd6SVNWZyAgSG9zdGVkIG9uIEFjYXN0LiBTZWUgYWNhc3QuY29tL3ByaXZhY3kgZm9yIG1vcmUgaW5mb3JtYXRpb24uIiwiZHVyYXRpb24iOnsidG90YWxNaWxsaXNlY29uZHMiOjUyNjYxODF9LCJpZCI6IjNyUkNhZVI1U1FoeXJ6dll0alI5YzciLCJtZWRpYVR5cGVzIjpbIkFVRElPIl0sIm5hbWUiOiIjNjcgUFJPRkVTU0lPTkFMIEhvdyB0byBCaXJ0aCB3aXRoIENvbmZpZGVuY2Ugd2l0aCBDaGlsZGJpcnRoIERvdWxhLCBFZHVjYXRvciAmIEF1dGhvciwgUmhlYSBEZW1wc2V5IiwicGxheWFiaWxpdHkiOnsicGxheWFibGUiOnRydWUsInJlYXNvbiI6IlBMQVlBQkxFIn0sInBsYXllZFN0YXRlIjp7InBsYXlQb3NpdGlvbk1pbGxpc2Vjb25kcyI6MCwic3RhdGUiOiJOT1RfU1RBUlRFRCJ9LCJwb2RjYXN0VjIiOnsiX190eXBlbmFtZSI6IlBvZGNhc3RSZXNwb25zZVdyYXBwZXIiLCJkYXRhIjp7Il9fdHlwZW5hbWUiOiJQb2RjYXN0IiwiY292ZXJBcnQiOnsic291cmNlcyI6W3siaGVpZ2h0Ijo2NCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwZjY4ZDcwYmQ2ZTQyNTA2NzM0MzliNWY2YzRlYSIsIndpZHRoIjo2NH0seyJoZWlnaHQiOjMwMCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwNWYxZjcwYmQ2ZTQyNTA2NzM0MzliNWY2YzRlYSIsIndpZHRoIjozMDB9LHsiaGVpZ2h0Ijo2NDAsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMGJhOGE3MGJkNmU0MjUwNjczNDM5YjVmNmM0ZWEiLCJ3aWR0aCI6NjQwfV19LCJuYW1lIjoiTmF0dXJhbCBCaXJ0aCBDby4gUG9kY2FzdCIsInNob3dUeXBlcyI6W10sInVyaSI6InNwb3RpZnk6c2hvdzozaGJseEdqR0VZaXlweURDdmRGOXNpIn19LCJyZWxlYXNlRGF0ZSI6eyJpc29TdHJpbmciOiIyMDI0LTA2LTIzVDAyOjAwOjAwWiJ9LCJyZXN0cmljdGlvbnMiOnsicGF5d2FsbENvbnRlbnQiOmZhbHNlfSwidXJpIjoic3BvdGlmeTplcGlzb2RlOjNyUkNhZVI1U1FoeXJ6dll0alI5YzcifSx7Il9fdHlwZW5hbWUiOiJFcGlzb2RlIiwiYXVkaW8iOnsiaXRlbXMiOlt7ImZpbGVJZCI6ImRlYWU2MzNiNTUxOWEwMjcxM2QyOTRhNGIxODE0NjI2NjM5N2NhMmQiLCJmb3JtYXQiOiJNUDRfMTI4IiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvZGVhZTYzM2I1NTE5YTAyNzEzZDI5NGE0YjE4MTQ2MjY2Mzk3Y2EyZCJ9LHsiZmlsZUlkIjoiMjhmYjc4OTA2NTMzNWY5OWMzOWJhZjdhNmRiN2U4MGEwZjg3OGI5YSIsImZvcm1hdCI6Ik1QNF8xMjhfQ0JDUyIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3LzI4ZmI3ODkwNjUzMzVmOTljMzliYWY3YTZkYjdlODBhMGY4NzhiOWEifSx7ImZpbGVJZCI6ImVmNGUxN2Y0MjQ1N2Q3NTkyZDBkYjFkYmFiMTFiOTU2YWRiZjhiZGMiLCJmb3JtYXQiOiJNUDRfMTI4X0RVQUwiLCJ1cmwiOiJodHRwczovL3Auc2Nkbi5jby9tcDMtcHJldmlldy9lZjRlMTdmNDI0NTdkNzU5MmQwZGIxZGJhYjExYjk1NmFkYmY4YmRjIn0seyJmaWxlSWQiOiI3MDZhNTIwMjZkMWQ4OWI3YzU1ODMwMGU5ZGUzYTZlYmJjMGI5MWJlIiwiZm9ybWF0IjoiT0dHX1ZPUkJJU185NiIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3LzcwNmE1MjAyNmQxZDg5YjdjNTU4MzAwZTlkZTNhNmViYmMwYjkxYmUifSx7ImZpbGVJZCI6IjcwM2EwNTE4MTgwMzYwYzBiZTQ5YjM3ZmIwN2Q1MThiOWY4OWY3M2YiLCJmb3JtYXQiOiJBQUNfMjQiLCJ1cmwiOiJodHRwczovL3Auc2Nkbi5jby9tcDMtcHJldmlldy83MDNhMDUxODE4MDM2MGMwYmU0OWIzN2ZiMDdkNTE4YjlmODlmNzNmIn1dfSwiY29udGVudFJhdGluZyI6eyJsYWJlbCI6Ik5PTkUifSwiY292ZXJBcnQiOnsic291cmNlcyI6W3siaGVpZ2h0Ijo2NCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwZjY4ZDc3OTYyZmJjZGI4YjlmZjY3NzU0MzM3MSIsIndpZHRoIjo2NH0seyJoZWlnaHQiOjMwMCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwNWYxZjc3OTYyZmJjZGI4YjlmZjY3NzU0MzM3MSIsIndpZHRoIjozMDB9LHsiaGVpZ2h0Ijo2NDAsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMGJhOGE3Nzk2MmZiY2RiOGI5ZmY2Nzc1NDMzNzEiLCJ3aWR0aCI6NjQwfV19LCJkZXNjcmlwdGlvbiI6Ik1hY3nigJlzIGZpcnN0IGJpcnRoIHdhcyBhIHNjaGVkdWxlZCBDLXNlY3Rpb24gZHVlIHRvIGJyZWVjaCBwcmVzZW50YXRpb24gdGhhdCByZXF1aXJlZCBmb2xsb3ctdXAgZXhwbG9yYXRvcnkgc3VyZ2VyeSBkdWUgdG8gYW4gdW5rbm93biBjYXVzZSBvZiBpbnRlcm5hbCBibGVlZGluZy4gVW5mb3J0dW5hdGVseSwgaGVyIHN1cmdlb24gaGFkIGFjY2lkZW50YWxseSBuaWNrZWQgYW4gYWIgbXVzY2xlLiBNYWN54oCZcyByZWNvdmVyeSB3YXMgdmVyeSBkaWZmaWN1bHQuV2l0aCBoZXIgc2Vjb25kLCBkb2N0b3JzIHdlcmUgbmVydm91cyBhYm91dCBoZXIgY2hhbmNlcyBvZiBWQkFDIGFuZCB3b3VsZCBvbmx5IGxldCBoZXIgdHJ5IGlmIHNoZSBzaG93ZWQgdXAgaW4gYWN0aXZlIGxhYm9yIGJlZm9yZSAzOSB3ZWVrcy4gT3RoZXJ3aXNlLCBzaGUgd291bGQgZ28gaW4gZm9yIGEgc2NoZWR1bGVkIEMtc2VjdGlvbi4gTWFjeSBhZ3JlZWQgYW5kIGhlciBiaXJ0aCBlbmRlZCBpbiBhbm90aGVyIENlc2FyZWFuLiBIZXIgYmlydGggd2FzIGJlYXV0aWZ1bCBhbmQgaGVyIHJlY292ZXJ5IHdhcyBzbW9vdGgsIGJ1dCBpdCBzdGlsbCB3YXNu4oCZdCB0aGUgZW1wb3dlcmluZyBleHBlcmllbmNlIHNoZSBob3BlZCBmb3IuwqBNYWN5IGhpdCB0aGUgZ3JvdW5kIHJ1bm5pbmcgZHVyaW5nIGhlciB0aGlyZCBwcmVnbmFuY3kuIFdoZW4gZG9jdG9ycyB3ZXJlIG5vdCBzdXBwb3J0aXZlIG9mIGEgVkJBMkMsIHNoZSBrbmV3IGhvbWUgYmlydGggd2FzIGhlciBiZXN0IG9wdGlvbi4gU2hlIGZvdW5kIGEgbWlkd2lmZSB3aG8gd2FzIHdpbGxpbmcgdG8gdGFrZSBNYWN5IG9uIGFzIGhlciBmaXJzdCBWQkEyQyBjbGllbnQhIFdlIGtub3cgeW91IHdpbGwgYWJzb2x1dGVseSBsb3ZlIGxpc3RlbmluZyB0byB0aGlzIGJpcnRoIHN0b3J5LsKgTGlrZSBNZWFnYW4gc2FpZCwg4oCcSXQgaXMgc28gYmVhdXRpZnVsLiBJdCBpcyBzbyBwZWFjZWZ1bC4gSXQgc291bmRzIGxpa2Ugb25lIG9mIHRob3NlIGJpcnRocyB3aGVyZSB5b3UgY2xvc2UgeW91ciBleWVzIGFuZCB5b3UgZW52aXNpb24gYmlydGggYW5kIGhvdyBwZWFjZWZ1bCwgYmVhdXRpZnVsLCBhbmQgY2FsbSBpdCByZWFsbHkgY2FuIGJlLuKAnVRoZSBWQkFDIExpbmsgQmxvZzogVkJBMkPCoFByYWN0aWNlIEJ1bGxldGluIC0gVkJBQ0luZm9ybWVkIFByZWduYW5jeSAtIGNvZGU6IHZiYWNsaW5rNDI0TmVlZGVkIFdlYnNpdGVIb3cgdG8gVkJBQzogVGhlIFVsdGltYXRlIFByZXAgQ291cnNlIGZvciBQYXJlbnRzRnVsbCBUcmFuc2NyaXB0IHVuZGVyIEVwaXNvZGUgRGV0YWlsc8KgMDM6NDQgRmlyc3QgQy1zZWN0aW9uIHdpdGggaW50ZXJuYWwgYmxlZWRpbmcgYW5kIGEgZm9sbG93LXVwIGV4cGxvcmF0b3J5IHN1cmdlcnkwOTowNCBTZWNvbmQgcHJlZ25hbmN5MTE6MzcgU2NoZWR1bGVkIEMtc2VjdGlvbiBhbmQgZ2V0dGluZyBwcmVnbmFudCBhZ2FpbiBzaG9ydGx5IGFmdGVyMTg6NDQgRmluZGluZyBhIHN1cHBvcnRpdmUgaG9tZSBiaXJ0aCBtaWR3aWZlMjM6MjQgVkJBMkMgcHJlcCBkdXJpbmcgcHJlZ25hbmN5Mjc6NDYgTGFib3IgYmVnaW5zMzI6NDIgQnJlYWtpbmcgaGVyIG93biB3YXRlciBhbmQgcHVzaGluZyBmb3IgMTcgbWludXRlczM2OjQ3IEFDT0figJlzIHN0YXRlbWVudCBvbiBWQkEyQ01lYWdhbjogSGVsbG8sIGhlbGxvIFdvbWVuIG9mIFN0cmVuZ3RoLiBXZSBhcmUgc28gZXhjaXRlZCB0byBiZSBzaGFyaW5nIGFuIEhCQTJDIHN0b3J5IGFuZCBpZiB5b3UgZG9u4oCZdCBrbm93IHlldCB3aGF0IEhCQUMgbWVhbnMsIHRoYXTigJlzIGhvbWUgYmlydGggYWZ0ZXIgQ2VzYXJlYW4gYW5kIHRoZW4gSEJBMkMgaXMgaG9tZSBiaXJ0aCBhZnRlciB0d28gQ2VzYXJlYW5zLiBJIGZlZWwgbGlrZSB0aGF04oCZcyBraW5kIG9mIGZ1bm55LiBJdOKAmXMgbmV2ZXIgcmVhbGx5IGEgdGVybSBJIHVzZWQgYmVjYXVzZSBJIHdhc27igJl0IGF0IHRoZSBob3NwaXRhbCBhbmQgSSB3YXNu4oCZdCBhdCBob21lLCBidXQgSSBhbHNvIGtpbmQgb2YgZmVlbCBsaWtlIEkgc29ydCBvZiBoYWQgYW4gSEJBQy4gSXQgd2FzIGF0IGEgYmlydGggY2VudGVyLiBNYXliZSB0aGF04oCZcyBhIHRlcm0sIGJpcnRoIGNlbnRlciBiaXJ0aCBhZnRlciB0d28gQ2VzYXJlYW5zLiBJIGRvbuKAmXQga25vdy7CoEJ1dCBvYnZpb3VzbHksIFZCQUMgYWZ0ZXIgdHdvIENlc2FyZWFucyBhcmUgbmVhciBhbmQgZGVhciB0byBteSBvd24gaGVhcnQgYW5kIHRvZGF5IHdlIGhhdmUgb3VyIGZyaWVuZCBNYWN5IGZyb20gQ2FsaWZvcm5pYSBzaGFyaW5nIGhlciBIQkFDIHN0b3J5IGFuZCBqdXN0IGJlZm9yZSB3ZSBzdGFydGVkIHJlY29yZGluZywgd2Ugd2VyZSB0YWxraW5nIGFib3V0IGhvdyBvbmUgb2YgaGVyIG1lc3NhZ2VzIHRoYXQgc2hlIHdhbnRzIHRvIGdpdmUgaXMgdGhhdCB5b3UgY2FuIGRvIHRoaXMuIFJpZ2h0LCBNYWN5PyBZb3XigJlyZSBqdXN0IGxpa2UsIHlvdSBjYW4uIFBlb3BsZSBjYW4gZG8gdGhpcy7CoE1hY3k6IEZvciBzdXJlLsKgTWVhZ2FuOiBZZXMuIFllcy4gSSBhbSBleGNpdGVkIHRvIGhlYXIgeW91ciBzdG9yeSBhbmQgdGhlbiBJIHdhbnRlZCB0byBhbHNvIGp1c3QgdGFsayBhIGxpdHRsZSBiaXQgYXQgdGhlIGVuZCBhYm91dCBzb21lIGV2aWRlbmNlIG9uIFZCQUMgYWZ0ZXIgdHdvIEMtc2VjdGlvbnMuIFNvIGlmIHlvdeKAmXJlIHdvbmRlcmluZyBtb3JlIGFib3V0IFZCQTJDLCBtYWtlIHN1cmUgeW91IHN0aWNrIHRvIHRoZSB2ZXJ5LCB2ZXJ5IGVuZCBldmVuIGFmdGVyIHRoZSBzdG9yeSBiZWNhdXNlIHdl4oCZbGwgdGFsayBhIGxpdHRsZSBiaXQgYWJvdXQgdGhhdC7CoDAxOjI0TWVhZ2FuOiBXZSBkbyBoYXZlIGEgUmV2aWV3IG9mIHRoZSBXZWVrIGFuZCB0aGlzIGlzIGZyb20gSmVubmEuIEl0IGlzIGFjdHVhbGx5IG9uIG91ciBIb3cgdG8gVkJBQzogVWx0aW1hdGUgVkJBQyBQcmVwIENvdXJzZS4gU2hlIHNheXMsIOKAnEkganVzdCBzdGFydGVkIGJ1dCBoYXZlIGFscmVhZHkgbGVhcm5lZCBzbyBtdWNoLiBBZnRlciB0d28gQy1zZWN0aW9ucyBhbmQgb25lIHdoZXJlIG15IGRvY3RvciBtYWRlIG1lIHRoaW5rIGl0IHdhcyB2ZXJ5IHJpc2t5LCBJIHdhcyB0ZXJyaWZpZWQgdG8gdHJ5IGFnYWluLiBXaXRoIHRoaXMgY291cnNlLCBub3Qgb25seSBoYXZlIEkgbGVhcm5lZCB0aGUgdHJ1dGggYWJvdXQgVkJBQywgYnV0IEkgYW0gZXhjaXRlZCB0byBhdHRlbXB0IG1pbmUgaW4gQXVndXN0LuKAnSBUaGF04oCZcyBjb21pbmcgdXAuIEkgYW0gc28gZXhjaXRlZCBmb3IgSmVubmEuIFRoYW5rIHlvdSBzbyBtdWNoIGZvciB0aGUgcmV2aWV3IGFuZCB0aGUgc3VwcG9ydCwgb2YgY291cnNlLCBvZiB0YWtpbmcgdGhlIGNvdXJzZS4gSSBhbSBzbyBleGNpdGVkIHRoYXQgeW91IGFyZSBnZXR0aW5nIGVkdWNhdGVkIGFuZCBkZWZpbml0ZWx5IGtlZXAgdXMgcG9zdGVkLsKgMDM6NDQgRmlyc3QgQy1zZWN0aW9uIHdpdGggaW50ZXJuYWwgYmxlZWRpbmcgYW5kIGEgZm9sbG93LXVwIGV4cGxvcmF0b3J5IHN1cmdlcnlNZWFnYW46IE9rYXksIGN1dGUgTWFjeS4gV2VsY29tZSB0byB0aGUgc2hvdy7CoE1hY3k6IFRoYW5rIHlvdSBmb3IgaGF2aW5nIG1lLsKgTWVhZ2FuOiBBYnNvbHV0ZWx5LiBJ4oCZZCBsb3ZlIHRvIHR1cm4gdGhlIHRpbWUgb3ZlciB0byB5b3UgYW5kIHNoYXJlIHdoYXRldmVyIG1lc3NhZ2UgeW91IGZlZWwgaXMgaW1wb3J0YW50IGZvciBvdXIgYmVhdXRpZnVsIFdvbWVuIG9mIFN0cmVuZ3RoIGxpc3RlbmVycy7CoE1hY3k6IE9rYXksIHdlbGwgbGlrZSB3aXRoIGFsbCBWQkFDcywgbXkgc3RvcnkgYmVnaW5zIG9mIGNvdXJzZSB3aXRoIG15IGZpcnN0IHByZWduYW5jeS4gRHVyaW5nIG15IGZpcnN0IHByZWduYW5jeSwgSSB3YXMgcHJldHR5IGhlYWx0aHkuIEkgZGlkbuKAmXQgbG92ZSBiZWluZyBwcmVnbmFudCwgYnV0IEkgd2FzIGV4Y2l0ZWQgdGhhdCB3ZSB3ZXJlIHN0YXJ0aW5nIG91ciBmYW1pbHkgYW5kIEkgZ290IHRv4oCTIEkgY2Fu4oCZdCByZW1lbWJlcuKAkyAzNCB3ZWVrcyBtYXliZSwgMzVpc2gsIGFuZCBiYWJ5IHdhcyBzdGlsbCBicmVlY2guwqBUaGV5IG9mZmVyZWQgbWUgdGhlIEVDViBwcm9jZWR1cmUsIGJ1dCB0aGV5IHRvbGQgbWUgSSB3b3VsZCBoYXZlIHRvIGRvIGl0IGFyb3VuZCAzNy0zOCB3ZWVrcyBhbmQgSSB3YXMgd29ycmllZCBhYm91dCBpdCBiZWluZyBzbyBlYXJseSBiZWZvcmUgbXkgZHVlIGRhdGUgdGhhdCBzaGUgd291bGQgdHVybiBhZ2Fpbi4gSSB3YXMgc2NhcmVkLiBUaGV5IGdvdCBtZSBzY2FyZWQuIFRoZXkgZG9u4oCZdCByZWFsbHkgcHJlc2VudCB0aGUgRUNWcyBhcyBzb21ldGhpbmcgdGhhdCBzaG91bGQgd29yay7CoE1lYWdhbjogSSBrbm93LiBJIGtub3cuwqBNYWN5OiBNeSBtaWR3aWZlIHdpdGggbXkgdGhpcmQgcHJlZ25hbmN5IHdhcyBsaWtlLCDigJxJIHdpc2ggeW91IHdvdWxkIGhhdmUgZG9uZSBpdCzigJ0gYnV0IHRoZXkgdGFsa2VkIG1lIG91dCBvZiBpdCBzbyBJIGRlY2lkZWQgbm90IHRvIGRvIGl0LiBDb21lIDQwIHdlZWtzLCBzaGUgd2FzIHN0aWxsIG5vdCBmbGlwcGVkLCBidXQgSSB3YXNu4oCZdCBpbiBsYWJvciBzbyBhbm90aGVyIHRoaW5nIGlzIEkgd2lzaCBJIHdvdWxkIGhhdmUganVzdCB3YWl0ZWQgdG8gc2VlIGJlY2F1c2UgbWF5YmUgc2hlIHdvdWxkIGhhdmUgZmxpcHBlZCBpbiBsYWJvci7CoE1lYWdhbjogU29tZXRpbWVzIHRoZXkgZG8uIEkgYWN0dWFsbHkgcmVjZW50bHkgaGFkIGEgY2xpZW50IGxhc3QgeWVhciBpbiAyMDIzIHRoYXQgZGlkIGhhdmUgdGhhdC4gU2hlIHdhcyBzY2hlZHVsZWQgZm9yIGhlciB2ZXJzaW9uIGFuZCB0aGVuIHNoZSB3ZW50IGludG8gc3BvbnRhbmVvdXMgbGFib3Igc28gc2hlIGFjdHVhbGx5IHdlbnQgaW4gcHJldHR5IGVhcmx5IGJlY2F1c2Ugc2hlIHdhcyBsaWtlLCDigJxPaCBteSBnb3NoLiBNeSBiYWJ54oCZcyBicmVlY2guIEkgd2FzIHNjaGVkdWxlZCB0aGUgbmV4dCBkYXkgZm9yIGEgdmVyc2lvbizigJ0gYW5kIHRoZXkgd2VyZSBsaWtlLCDigJxCYWJ54oCZcyBoZWFkIGRvd24u4oCdIFNvIGl0IGRlZmluaXRlbHkgaGFwcGVucy7CoE1hY3k6IFdpdGggbXkgdGhpcmQgb25lLCBzaGUgd2FzIHN1bm55LXNpZGUgdXAuIFNoZSB3YXMgcG9zdGVyaW9yLCBidXQgSSBjb3VsZCBmZWVsIGhlciB0dXJuaW5nIGFuZCBnZXR0aW5nIGludG8gcG9zaXRpb24uIEJ1dCBhbnl3YXksIEnigJlsbCBnZXQgdGhlcmUuIEnigJlsbCBnZXQgdGhlcmUuwqBJIGhhZCBteSBDLXNlY3Rpb24gc2NoZWR1bGVkLiBNeSBkYXVnaHRlciwgQWxheW5hIHdhcyBib3JuIDEwIGRheXMgYmVmb3JlIENocmlzdG1hcyBpbiAyMDE4LiBTaGUgd2FzIHBlcmZlY3QuIFNoZSB3YXMgNiBwb3VuZHMsIDEzIG91bmNlcy4gSSB3YXMgbm90IGdyZWF0LsKgQWZ0ZXIgbXkgc3VyZ2VyeSwgSSBjYW1lIG91dC4gSSB3YXMgaW4gdGhlIFBBQ1UgYW5kIG15IGJsb29kIHByZXNzdXJlIHdhcyBkcm9wcGluZyBjcmF6eSBsb3cgYW5kIG15IGhlYXJ0IHJhdGUgd2FzIHNwaWtpbmcgc3VwZXIgaGlnaC4gSSB3YXMgZ2hvc3Qtd2hpdGUgYW5kIHRoZXkgd2VyZSBsaWtlLCDigJxXZSBkb27igJl0IGtub3cgd2hhdOKAmXMgZ29pbmcgb24u4oCdwqBMb25nLCBsb25nLCBsb25nIHN0b3J5IHNob3J0LCBJIHdhcyBoYXZpbmcgY3JhenkgaW50ZXJuYWwgYmxlZWRpbmcuwqBNZWFnYW46IEkgd2FzIGdvaW5nIHRvIHNheSwgd2VyZSB5b3UgaGVtb3JyaGFnaW5nPyBCZWNhdXNlIHRoYXQgc291bmRzIGxpa2UgaGVtb3JyaGFnaW5nLsKgTWFjeTogSSB3YXMgaGVtb3JyaGFnaW5nLiBJIHdhcyBibGVlZGluZyBpbnRlcm5hbGx5LCBidXQgaXQgd2FzIGZyb20gaGF2aW5nIHN1cmdlcnkuIEl0IHdhcyBub3QgYW55dGhpbmcgdG8gZG8gd2l0aCBiYWJ5IG9yIGJpcnRoLiBJdCB3YXMganVzdCBzdXJnZXJ5LiBTbyB3aGF0IHdlIGRpc2NvdmVyZWQgaXMgdGhleSBoYWQgYWNjaWRlbnRhbGx5IG5pY2tlZCBhbiBhYiBtdXNjbGUgYW5kIGl0IHdhcyBibGVlZGluZy7CoDI0IGhvdXJzIGFmdGVyIG15IGRhdWdodGVyIHdhcyBib3JuLCBJIGhhZCB0byBnbyBiYWNrIGluIGZvciBhbiBleHBsb3JhdG9yeSBzdXJnZXJ5IGFuZCBJIHdhcyBwdXQgdW5kZXIgYW5lc3RoZXNpYSBjb21wbGV0ZWx5IGFnYWluLiBUaGV5IGhhZCB0byBjdXQgYmFjayBvcGVuIG15IGxheWVycyBhbmQgc3RhcnQgb3Zlci4gVGhhbmtmdWxseSwgdGhleSBkaWRu4oCZdCBoYXZlIHRvIGN1dCBpbnRvIG15IHV0ZXJ1cyBhZ2FpbiwgYnV0IHRoZXkgZGlkIG9wZW4gbWUgYmFjayB1cCBhbmQgc3RvcCB0aGUgYmxlZWRpbmcsIGNhdXRlcml6ZSBpdCBhbmQgSSBtZWFuLCBteSByZWNvdmVyeSB3YXMganVzdCBob3JyaWJsZS7CoE1lYWdhbjogTm90IGdyZWF0LCB5ZWFoLsKgTWFjeTogSSBtZWFuLCB0aGFua2Z1bGx5IEkgb25seSBoYWQgb25lIGJhYnkgc28gaXQgd2FzIGp1c3QgaGVyIGFuZCBteSBodXNiYW5kIGlzIGFtYXppbmcuIEkgY291bGQgbm90IGFzayBmb3IgYSBiZXR0ZXIgcGFydG5lciwgYnV0IGl0IHdhcyBqdXN0IGhhcmQuIEl0IHdhcyBoYXJkIHRvIGFjY2VwdCB0aGF0LCB0byBncmlldmUgdGhlIGJpcnRoIEkgaGFkIGRyZWFtZWQgb2YgbXkgd2hvbGUgbGlmZSwgYnV0IGl0IG5ldmVyIG9jY3VycmVkIHRvIG1lIHRoYXQgSSBjb3VsZG7igJl0IGhhdmUgYSBWQkFDLiBNeSBtb20gaGFkIG1lIHZpYSBDLXNlY3Rpb24gYW5kIG15IHRocmVlIHN1YnNlcXVlbnQgc2libGluZ3Mgd2VyZSBhbGwgVkJBQy4gU28gd2hlbiBzb21lb25lIHNhaWQgdG8gbWUgYXQgMTIgd2Vla3MsIEkgcmVjb3ZlcmVkLiBJIHdhcyBiYWNrIGF0IHRoZSBneW0gYW5kIHNvbWVvbmUgZnJvbSB0aGUgZ3ltIHdhcyBsaWtlLCDigJxPaCwgc28geW91IGhhdmUgdG8gaGF2ZSBhbGwgeW91ciBiYWJpZXMgYXMgQy1zZWN0aW9ucyBub3cu4oCdIEkgd2FzIGxpa2UsIOKAnFdhaXQsIHRoYXTigJlzIGEgdGhpbmcgc3RpbGw/IFdl4oCZcmUgc3RpbGwgZG9pbmcgdGhhdD/igJ0gSSB3YXMgbGlrZSwg4oCcTm8uIEnigJltIGdvaW5nIHRvIGhhdmUgYSBWQkFDLuKAnSBJIG5ldmVyIGV2ZW4gdGhvdWdodCBhYm91dCBpdC4gSSBpbW1lZGlhdGVseSB3YXMgbGlrZSwg4oCcT2gsIHNvIHRoaXMgaXMgZ29pbmcgdG8gYmUgYSB0aGluZy7igJ0gVGhhdOKAmXMgd2hlbiBJIGZvdW5kIHlvdSBndXlzIGFuZCBJIHN0YXJ0ZWQgbGlzdGVuaW5nIGJlZm9yZSBJIHdhcyBldmVuIHByZWduYW50IHdpdGggbXkgc2Vjb25kIG9uZSwgYnV0IHdoZW4gSSBkaWQgZ2V0IHByZWduYW50IHRocmVlIHllYXJzIGxhdGVyIHdpdGggYmFieSBudW1iZXIgdHdvLCBJIHByb2JhYmx5IGJpbmdlLWxpc3RlbmVkIHRvIGV2ZXJ5IHNpbmdsZSBlcGlzb2RlLiBJIHdhcyBsaWtlLCDigJxJ4oCZbSBkb2luZyB0aGlzLuKAncKgMDk6MDQgU2Vjb25kIHByZWduYW5jeU1hY3k6IEkgc3dpdGNoZWQgcHJvdmlkZXJzIGp1c3QgYmVjYXVzZSBJIGRpZG7igJl0IGhhdmUgYSBncmVhdCBleHBlcmllbmNlIHNvIEkgd2FzIGxpa2UsIG15IHBvc3RwYXJ0dW0gY2FyZSwgSSBkaWRu4oCZdCBjYXJlIGZvciBteSBwZWRpYXRyaWNpYW4gc28gSSBqdXN0IHN3aXRjaGVkIGV2ZXJ5dGhpbmcuIEJ1dCBiZWNhdXNlIEkgd2FzIHdpdGggYSBuZXcgcHJvdmlkZXIsIEkgaGFkIGEgcmVhbGx5IGRpZmZpY3VsdCB0aW1lIGxvY2F0aW5nIG15IHN1cmdpY2FsIG5vdGVzLiBNeSBuZXcgcHJvdmlkZXJzIHdhbnRlZCB0byBrbm93IGlmIG15IGZpcnN0IEMtc2VjdGlvbiB3YXMgZG9uZSB3aXRoIGEgc2luZ2xlIG9yIGRvdWJsZS1sYXllciBjbG9zdXJlLsKgTWVhZ2FuOiBPaCwgaW50ZXJlc3RpbmcuIE9rYXkuwqBNYWN5OiBCZWNhdXNlIG9mIGNvdXJzZSwgaWYgaXTigJlzIHNpbmdsZSwgaXTigJlzIGdvaW5nIHRvIGluY3JlYXNlIG15IHJpc2sgZm9yIGEgcnVwdHVyZS4gSSBhdCB0aGlzIHBvaW50IHdhcyBhbHJlYWR5IGxpa2UsIHRoZSByaXNrIG9mIHJ1cHR1cmUgaXMgc28gbG93LiBJIGFtIG5vdCB3b3JyaWVkIGFib3V0IGl0LiBCcmVlY2ggYmFieSBpcyBhIGdyZWF0IGNhbmRpZGF0ZSBmb3IgVkJBQy7CoE1lYWdhbjogQW5kIHRoZSBldmlkZW5jZSBvbiB0aGF0IGlzIHJlYWxseSBub3Qgc29saWQgb24gd2hpY2ggb25lIHJlYWxseSBpcyBiZXN0LiBUaGVyZSBhcmUgc29tZSB0aGF0IHNob3cgZG91YmxlIG1heSBiZSBiZXR0ZXIsIGJ1dCB0aGF0IGRvZXNu4oCZdCBuZWNlc3NhcmlseSBtZWFuIHRoYXQgeW91ciBydXB0dXJlIHJhdGUgc2t5cm9ja2V0cyBiZWNhdXNlIHlvdSBoYXZlIGEgc2luZ2xlIGxheWVyLiBTbyB0aGV5IGFyZSBmb2N1c2luZyBvbiBzb21ldGhpbmcgdGhhdCBkaWRu4oCZdCBoYXZlIGEgdG9uIG9mIGV2aWRlbmNlLsKgTWFjeTogUmlnaHQuIEkgd2FzIGxpa2UsIOKAnFRoZXJlIGlzIGp1c3Qgbm90IGVub3VnaCByZXNlYXJjaCB0byBqdXN0aWZ5IGFsbCBvZiB0aGVzZSBDLXNlY3Rpb25zLuKAnSBCdXQgYmVjYXVzZSB0aGV5IGRpZG7igJl0IHVuZGVyc3RhbmQgd2hhdCBoYWQgZ29uZSB3cm9uZyBhbmQgd2h5IEkgaGFkIHRvIGhhdmUgYSBzZWNvbmQgc3VyZ2VyeSBldmVuIHRob3VnaCBJIHRvbGQgdGhlbSBhIG1pbGxpb24gdGltZXMgaXQgd2FzbuKAmXQgYW55dGhpbmcgdG8gZG8gd2l0aCBteSB1dGVydXMuIEl0IHdhc27igJl0IGEgbWUgcHJvYmxlbS4gSXQgd2FzIGEgZG9jdG9yJ3MgcHJvYmxlbS4gVGhleSB3ZXJlIGp1c3QgbGlrZSwg4oCcV2UganVzdCBkb27igJl0IGZlZWwgY29tZm9ydGFibGUgd2l0aCBUT0xBQy7igJ0gQW5kIHlvdSBrbm93LCBpdOKAmXMgYWx3YXlzIFRPTEFDLiBJdOKAmXMgbmV2ZXIganVzdCBhIFZCQUMuwqBNZWFnYW46IEkga25vdy7CoE1hY3k6IEJ1dCB0aGV5IGRpZG7igJl0IHdhbnQgdG8gZG8gYW55dGhpbmcuIFRoZXkgZGlkbuKAmXQgd2FudCB0byBvZmZlciB1bHRyYXNvdW5kcy4gVGhleSBqdXN0IHdlcmUgbm90IHdpbGxpbmcgdG8gdGFrZSBhIGNoYW5jZSBldmVuIHRob3VnaCBpdCB3YXMgYSByZWFsbHkgZ29vZCBjaGFuY2UuwqBTbyBiYXNpY2FsbHksIHRoZXkgd2VyZSBsaWtlLCDigJxUaGUgb25seSB3YXkgeW91IGFyZSBoYXZpbmcgdGhpcyBzZWNvbmQgYmFieSBWQkFDIGlzIGlmIHlvdSBjb21lIHRvIHRoZSBob3NwaXRhbCBhbmQgeW91IGFyZSBpbiBsYWJvciBhbmQgaXTigJlzIHRpbWUgdG8gcHVzaC7igJ3CoEkgbWVhbiwgdGhhdOKAmXMga2luZCBvZiBzY2FyeSB0byBzb21lb25lIHdobyBkb2VzbuKAmXQga25vdy4gSSBtZWFuLCBub3cgdGhhdCBJ4oCZdmUgZG9uZSBpdCBJ4oCZbSBsaWtlLCDigJxUaGF04oCZcyB3aGF0IEkgc2hvdWxkIGhhdmUgZG9uZSzigJ0gYW5kIHRoYXTigJlzIHdoYXQgSSB0ZWxsIG15IGZyaWVuZHMuIFlvdSBkb27igJl0IGdvIHRvIHRoZSBkb2N0b3IgdW50aWwgeW91ciBjb250cmFjdGlvbnMgYXJlIHR3byBtaW51dGVzIGFwYXJ0IGJlY2F1c2UgdGhleSB0cnkgdG8gc2NhcmUgd29tZW4gb3V0IG9mIHRoZWlyIFZCQUMuwqAxMTozNyBTY2hlZHVsZWQgQy1zZWN0aW9uIGFuZCBnZXR0aW5nIHByZWduYW50IGFnYWluIHNob3J0bHkgYWZ0ZXJNYWN5OiBTbyBJIGp1c3QgZGlkbuKAmXQgcmVhbGx5IHN0YW5kIHVwIGZvciBteXNlbGYuIEkganVzdCBhZ3JlZWQgbGlrZSwg4oCcT2theSwgSSBndWVzcy7igJ0gSSB0b2xkIG15c2VsZiwg4oCcSWYgSSBnbyBpbnRvIGxhYm9yIGJlZm9yZSBteSBzY2hlZHVsZWQgQy1zZWN0aW9uIGF0IDM5IHdlZWtzLCB0aGVuIHRoYXTigJlzIHRoZSB3YXkgR29kIHdhbnRzIGl0IGFuZCBJIHdpbGwgaGF2ZSBteSBWQkFDLuKAnSBPYnZpb3VzbHksIHRoYXQgbmV2ZXIgaGFwcGVuZWQgYW5kIDM5IHdlZWtzIGlzIHByZXR0eSBlYXJseSBub3cga25vd2luZyBlc3BlY2lhbGx5IHdoZW4gZHVlIGRhdGVzIGFyZSBqdXN0IGd1ZXNzIGRhdGVzLsKgTWVhZ2FuOiBWZXJ5IGltcG9ydGFudCBub3RlIHRoYXQgeW91IGp1c3QgZ2F2ZSB0aGVyZS7CoE1hY3k6IFllYWguIEkgaGFkIG15IGJhYnkgYXQgMzkgd2Vla3MuIFNoZSB3YXMgcGVyZmVjdC4gSSBtZWFuLCBteSByZWNvdmVyeSB3YXPigJMgc2hlIHdhcyBhbm90aGVyIDYgcG91bmRzLCAxNSBvdW5jZXMgc28gdGhleSB3ZXJlIGFsbW9zdCB0aGUgc2FtZSBzaXplLiBUaGF0IHdhcyBSZWFnYW4uIFJlY292ZXJ5IHdhcyBhIGxvdCBiZXR0ZXIgYnV0IHN0aWxsLCBJIGhhZCBhIDMteWVhci1vbGQgYXQgaG9tZS7CoEdvaW5nIGZyb20gb25lIHRvIHR3byB3YXMgcHJldHR5IGdvb2QgZm9yIG1lLiBJIGhhdmUgYSBiaWcgZmFtaWx5LiBUaGF0IHdhcyBncmVhdC4gQnV0IGl0IHdhcyBzdGlsbCBub3QgdGhlIGVtcG93ZXJpbmcgYmlydGggdGhhdCBJIHdhbnRlZC4gSSBkaWQgZmVlbOKAkyBJIGRvbuKAmXQgd2FudCB0byBzYXkgSSBkaWRu4oCZdCBmZWVsIGVtcG93ZXJlZCBiZWNhdXNlIEMtc2VjdGlvbiBpcyBiYWRhc3MuIEl04oCZcyBoYXJkLsKgTWVhZ2FuOiBZZWFoLiBNaG1tLCB5ZWFoLsKgTWFjeTogSXTigJlzIG5vdCB0aGUgZWFzeSB3YXkgb3V0IGV2ZXIuIFRoZXJlIGlzIG5vIGVhc3kgd2F5IG91dCBvZiBiaXJ0aC4gSSBkbyB3YW50IHRvIHByZWZhY2UgdGhhdCBhbmQgc2F5IGlmIHRoYXTigJlzIHdoYXQgZW5kcyB1cCBoYXBwZW5pbmcgYW5kIHlvdSBvbmx5IGhhdmUgdHdvIGtpZHMgYW5kIHlvdSBvbmx5IGhhdmUgdHdvIEMtc2VjdGlvbnMsIHRoYXTigJlzIG9rYXkgdG9vLiBJIGtuZXcgd2Ugd2VyZW7igJl0IGRvbmUgaGF2aW5nIGtpZHMuIEkgd2FudGVkIHRoZSBiaXJ0aCBJIHdhbnRlZC7CoEkgZGlkIG5vdCBwbGFuIHRvIGdldCBwcmVnbmFudCB3aXRoIHN1Y2ggYSBzaG9ydCB0dXJuYXJvdW5kIHRpbWUuIEkgd2FzIGFsbW9zdCA4IG1vbnRocyBwb3N0cGFydHVtIHdoZW4gd2UgZm91bmQgb3V0IHdlIHdlcmUgcHJlZ25hbnQgYWdhaW4uIFdlIHdlcmUgYSBsaXR0bGUgc3VycHJpc2VkLiBJIG1lYW4sIHdlIGFyZSBncm93biBhZHVsdHMuIEl0IHNob3VsZG7igJl0IGJlIHRoYXQgc3VycHJpc2luZy7CoE1lYWdhbjogQnV0IHN0aWxsLCBpdCBjYW4gYmUgYSBsaXR0bGUgYWxhcm1pbmcgd2hlbiB5b3Ugd2VyZW7igJl0IG1lbnRhbGx5IHByZXBhcmluZyBmb3IgdGhhdC7CoE1hY3k6IEkgaGFkIGp1c3QgZmluaXNoZWQgYnJlYXN0ZmVlZGluZy4gSSB3YXMganVzdCBzdGFydGluZyB0byB0cmFjayBhbmQgYWxsIG9mIHRoZXNlIHRoaW5ncyBzbyBJIHdhcyBsaWtlLCDigJxPaCBuby7igJ0gQnV0IHRoYXQgd2FzIGtpbmQgb2Ygd2hlbiBteSB3b3JrIHJlYWxseSBzdGFydGVkIGZvciBtZSBiZWNhdXNlIEkgd2FzIGxpa2UsIOKAnE9rYXkuIFdlIGFyZSBkb2luZyB0aGlzIGFnYWluIGFuZCBJ4oCZbSBnb2luZyB0byBkbyB0aGlzIHRoZSB3YXkgSSB3YW50LiBUaGlzIGlzIGdvaW5nIHRvIGJlIGhvdyBJIHdhbnQgaXQgdG8gZ28uIFRoaXMgaXMgbXkgc3RvcnkgYW5kIHRoaXMgaXMgZ29pbmcgdG8gYmUgYW4gZXNzZW50aWFsIGNvbXBvbmVudCBvZiB3aG8gSSBhbSBhcyBhIHdvbWFuIGFuZCBhcyBhIG1vdGhlciBnb2luZyBmb3J3YXJkIGZvciB0aGUgcmVzdCBvZiBteSBsaWZlLiBJIG5lZWQgdGhpcyB0byBnbyB0aGUgd2F5IEkgd2FudCBpdCB0byBnby7igJ0gSSB3YW50ZWQgaXQgdG8gZ28gdGhlIHdheSBHb2Qgd2FudGVkIGl0IHRvIGdvIG9mIGNvdXJzZSwgYnV0IEkgd2FzIGxpa2UsIOKAnEnigJltIGdvaW5nIHRvIHRha2UgbW9yZSBjb250cm9sLuKAnSBNZWFnYW46IENhbiBJIGFkZCBzb21ldGhpbmcgdG8gdGhhdD8gU29ycnkgdG8gaW50ZXJydXB0LCBidXQgdGhlcmUgYXJlIHNvIG1hbnkgdGltZXMgdGhhdCBJIGhlYXIgcGVvcGxlLCBJIHJlYWQgb24gc29jaWFsIG1lZGlhIHRoYXQgcGVvcGxlIGFyZSBnZXR0aW5nIGFmdGVyIG1vbXMgYW5kIHBhcmVudHMgd2hvIGFyZSBsaWtlLCDigJxJIHdhbnQgdGhpcyBiaXJ0aC4gVGhpcyBpcyB3aGF0IEkgd2FudC4gVGhpcyBpcyB3aGF0IEkgZmVlbCBJIG5lZWQs4oCdIG9yIHdoYXQgeW91IGFyZSBzYXlpbmcuIOKAnEkgd2FudCBpdCB0byBnbyBhIGNlcnRhaW4gd2F5LuKAnSBUaGV5IGFyZSBsaWtlLCDigJxXaHkgZG8geW91IGhhdmUgdG8gZm9jdXMgb24gd2hhdCB5b3Ugd2FudD8gSXTigJlzIG5vdCB3aGF0IHlvdSB3YW50LiBJdOKAmXMgd2hhdOKAmXMgYmVzdCBmb3IgdGhlIGJhYnku4oCdIFRoZXkgYXJlIHJhaWxpbmcgb24gdGhlc2UgcGVvcGxlLsKgSSB3YW50IHRvIHN0b3AgYW5kIHNheSB0aGF0IHdoYXQgeW91IHNhaWQgaXMgb2theS4gSSBmZWVsIGxpa2UgbWF5YmUgYSBsaXR0bGUgcGFzc2lvbmF0ZSBhYm91dCB0aGF0IHRvbyBiZWNhdXNlIHNvIG1hbnkgcGVvcGxlIHdlcmUgbmF5c2F5ZXJzIHRvIG1lLiDigJxJdCBkb2VzIG5vdCBtYXR0ZXIgd2hhdCB5b3Ugd2FudC4gSXTigJlzIHdoYXTigJlzIGJlc3QgZm9yIHRoZSBiYWJ5LuKAnSBJdOKAmXMgbGlrZSwgd2VsbCBndWVzcyB3aGF0PyBUaGF04oCZcyBhbHNvIG1heWJlIHdoYXTigJlzIGJlc3QgZm9yIG15IGJhYnkuwqBNYWN5OiBSaWdodC7CoE1lYWdhbjogSXTigJlzIG9rYXkgdG8gc2F5LCBXb21lbiBvZiBTdHJlbmd0aCwg4oCcSSB3YW50IHRoaXMgYmlydGguIFRoaXMgaXMgd2hhdCBJIHdhbnQu4oCdIEFuZCB5b3UgZGVzZXJ2ZSB0aGF0LiBZb3UgZGVzZXJ2ZSB0byBnbyBhZnRlciB3aGF0IHlvdSB3YW50LsKgTWFjeTogSXQgaXMgaGFyZCBhbmQgYmVpbmcgYSBtb20gaXMgaGFyZC7CoE1lYWdhbjogWWVzLsKgTWFjeTogWW91IGNhbiBzdGFydCBvdXQgaW4gYSB3YXkgdGhhdCB5b3UgZmVlbCBlbXBvd2VyZWQuIEl0IGlzIGxpZmUtY2hhbmdpbmcuIEl0IHJlYWxseSBpcy7CoE1lYWdhbjogSXQgaXMuIFNvIHNvcnJ5IGZvciBpbnRlcnJ1cHRpbmcsIGJ1dCBJIGp1c3Qgd2FudGVkIHRvIGdpdmUgYSBsaXR0bGUgdGlkYml0IHRoYXQgaXTigJlzIG9rYXkgZm9yIHBlb3BsZSB0byB3YW50IHdoYXQgdGhleSB3YW50LiBJIHdhbnRlZCBhIHdoaXRlIHZlaGljbGUuIEkgd2FzIGdvaW5nIHRvIGZpbmQgYSB3aGl0ZSB2ZWhpY2xlLiBJdOKAmXMgb2theSB0byBnZXQgd2hhdCB5b3Ugd2FudCBhbmQgdG8gcHV0IGZvcnRoIGVuZXJneSBhbmQgdG8gc2F5IHRoYXQgb3V0IGxvdWQsIOKAnEkgd2FudCB0aGlzIFZCQUMuIEnigJltIGdvaW5nIHRvIGdldCB0aGlzLiBJIHdhbnQgaXQu4oCdwqBNYWN5OiBZb3Ugc3BlbmQgYWxtb3N0IDEwIG1vbnRocyB0aGlua2luZyBhYm91dCB0aGlzIGFuZCBwcmF5aW5nIGFib3V0IGl0IHdoZXJlYXMgeW91IHRhbGsgdG/igJMgSSBtZWFuLCBpdCB3YXNu4oCZdCBhcyBpbXBvcnRhbnQgdG8gYW55b25lIGVsc2UgaW4gbXkgbGlmZSBleGNlcHQgZm9yIG1lLiBUaGF0IHdhcyBva2F5LiBFc3BlY2lhbGx5IHRoZSBkb2N0b3JzIGFuZCB0aGUgcHJvdmlkZXJzLCBJ4oCZbSBqdXN0IGFub3RoZXIgcGVyc29uIHRvIHRoZW0gYW5kIHllcywgdGhlcmUgYXJlIHNvbWUgcmVhbGx5IGdyZWF0IHByb3ZpZGVycyBvdXQgdGhlcmUgYW5kIHRoZXkgZG8gY2FyZSwgYnV0IHRoZXkgYXJlIGF0IHRoZWlyIGpvYi4gVGhleSBhcmUgZG9pbmcgdGhlaXIgam9iLiBXZWxsLCBteSBqb2IgaXMgdG8gYmUgYSBtb3RoZXIuIFRoYXTigJlzIG15IGpvYiwgc28gZG9pbmcgd2hhdCBzZXJ2ZXMgbWUgd2VsbCB3YXMgYmlydGhpbmcgbXkgYmFieSB0aGUgd2F54oCTwqBNZWFnYW46IEhhdmluZyBhIFZCQUMuwqBNYWN5OiBIYXZpbmcgYSBWQkFDLiBTbyBJIHJlYWxseSBoaXQgdGhlIGdyb3VuZCBydW5uaW5nLiBUaGVyZSB3ZXJlIGEgZmV3IGdpcmxzIGluIG15IHRvd24gd2hvIGhhZCByZWNlbnRseSBoYWQgaG9tZWJpcnRocy4gVGhleSB3ZXJlbuKAmXQgVkJBQ3MsIGJ1dCB0aGV5IHdlcmUgVkJBQ3Mgc28gSSByZWFjaGVkIG91dCB0byB0aGVt4oCTIHNob3V0b3V0IHRvIG15IGdpcmxzIE1lZ2FuIGFuZCBFbWlseS4gVGhleSB3ZXJlIHNvIGhlbHBmdWwgYmVjYXVzZSB0aGV5IHdlcmUgcmVhbCBwZW9wbGUuIEkgcmVhY2hlZCBvdXQgdG8geW91IGd1eXMgYW5kIEkganVzdCB3YW50ZWQgdG8ga25vdywg4oCcSGV5LCB3aGF0IGlzIHRoZSByZXNlYXJjaCBvbiByZWFsbHkgY2xvc2UgcHJlZ25hbmNpZXM/4oCdIGJlY2F1c2UgSSB3YXNu4oCZdCBnb2luZyB0byBoaXQgdGhlIDE4IG1vbnRocy7CoE1lYWdhbjogVGhlIDE4IG1vbnRocy4gWW91ciBiYWJpZXMgd2VyZSBnb2luZyB0byBiZSAxNyBtb250aHMgYXBhcnQsIHJpZ2h0P8KgTWFjeTogMTcgbW9udGhzLiBTbyB0aGF0IHdhcyBldmVuIGFubm95aW5nIHRvbyBiZWNhdXNlIEkgd2FzIGxpa2UsIOKAnEnigJltIHJpZ2h0IHRoZXJlLiBDb21lIG9uLuKAnSBZb3UgZ3V5cyB3ZXJlIGxpa2UsIOKAnEdvIGpvaW4gdGhlIEZhY2Vib29rIENvbW11bml0eSBncm91cC7igJ0gSSB3YXMgc28gZ2xhZCB0aGF0IEkgZGlkIGJlY2F1c2UgSSB3YXMganVzdCBmaW5kaW5nIHN0b3J5IGFmdGVyIHN0b3J5IGFmdGVyIHBvc3QgYWZ0ZXIgcG9zdC4gTm90IG9ubHkgd2VyZSBzbyBtYW55IHdvbWVuIGhhdmluZyBWQkFDcyBhZnRlciB0d28rIEMtc2VjdGlvbnMsIGJ1dCB0aGV5IHdlcmUgY2xvc2UgdG9nZXRoZXIuIFNvbWUgd2VyZSBsaWtlLCDigJxNaW5lIHdlcmUgMTIgbW9udGhzIGFwYXJ0LuKAnSBJ4oCZbSBsaWtlLCDigJxPaCwgSeKAmW0gZ29vZCB0byBnbyB0aGVuLuKAnSBJdCB3YXMgc28gbmljZSBoYXZpbmcgdGhhdCBjb21tdW5pdHkuIEkgd2FzIGV2ZW4gYWJsZSB0byBqb2luIGEgY29tbXVuaXR5IHdpdGhpbiB0aGUgY29tbXVuaXR5IG9mIGV2ZXJ5b25lIHdobyB3YXMgZHVlIGF0IHRoZSBzYW1lIHRpbWUgYXMgbWUgc28gd2hlbiB3ZSBnb3QgY2xvc2UsIHdlIGhhZCBhIGdyb3VwIG1lc3NhZ2UgYW5kIGV2ZXJ5b25lIHdhcyBsaWtlLCDigJxJcyBpdCBoYXBwZW5pbmcgdG9kYXk/IElzIGl0IGhhcHBlbmluZyB0b2RheT/igJ0gSXQgd2FzIHNvIG5pY2Ugbm90IHRvIGJlIGFsb25lIGluIHRoYXQuwqBJIGFsc28gaGFkIHRvIGZpbmQgYSBtaWR3aWZlIGJlY2F1c2UgSSBrbmV3IG15IHByb3ZpZGVycyB3ZXJlIG5vdCBnb2luZyB0byBiZSBzdXBwb3J0aXZlIG9mIFZCQUMgYWZ0ZXIgdHdvLiBJIGFjdHVhbGx5IGhhZCBhIGhhcmQgdGltZSBmaW5kaW5nIGEgbWlkd2lmZSB3aGljaCB3YXMgYWxzbyBhbm5veWluZyBiZWNhdXNlIEkgd2FzIG1ldCB3aXRoIHNvbWUgbWVkd2l2ZXMgd2hvIHdlcmUganVzdCByZWFsbHkgZ29pbmcgdG8gc3RpY2sgdG8gdGhhdCAxOCBtb250aHMuwqAxODo0NCBGaW5kaW5nIGEgc3VwcG9ydGl2ZSBob21lIGJpcnRoIG1pZHdpZmVUaGVuIEkgaGFwcGVuZWQgdG8ganVzdCBmaW5kIGEgd29tYW4gd2hvIHdhcyBsaWtlLCDigJxJ4oCZdmUgbmV2ZXIgZG9uZSB0aGlzIGJlZm9yZS4gWW91IGFyZSBteSBmaXJzdCBWQkFDIGFmdGVyIHR3byzigJ0gYnV0IHNoZSB3YXMgYSBtaWR3aWZlIHdobyB3YXMgdmVyeSBrbm93bGVkZ2VhYmxlLiBTaGUgaGFkIGRvbmUgbG90cyBvZiBob21lIGJpcnRocy4gU2hlIGhhZCBkb25lIFZCQUNzLCBidXQgbm90IGFmdGVyIHR3by7CoFNoZSB3YXMgbGlrZSwg4oCcSWYgd2UgZG9u4oCZdCBzdGFydCBhY2NlcHRpbmcgdGhlc2UgcGF0aWVudHMsIGhvdyBhcmUgd2UgZXZlciBnb2luZyB0byBjaGFuZ2UgdGhlIHN0YXR1cyBxdW8/IEhvdyBhcmUgd2UgZXZlciBnb2luZyB0byBtYWtlIGEgY2hhbmdlP+KAncKgTWVhZ2FuOiBCb29tLk1hY3k6IFJpZ2h0LsKgTWVhZ2FuOiBJdOKAmXMgc28gdHJ1ZSB0aG91Z2guwqBNYWN5OiBJIHdhcyBsaWtlLCDigJxPa2F5LiBTdGF0aXN0aWMgbWUsIHBsZWFzZS4gSSB3b3VsZCBsb3ZlIHRvIGJlIGEgc3RhdGlzdGljIGZvciB0aGUgcG9zaXRpdmUu4oCdIFRoZSBvbmx5IHRoaW5nIHdhcyBJIHdhcyBsaWtlLCDigJxJIGNhbuKAmXQgYmUgb25lIGZvciBhIGhvc3BpdGFsIGJpcnRoLCBidXQgaXTigJlzIGZpbmUu4oCdwqBNZWFnYW46IFRoYXTigJlzIG9rYXkuIFRoYXTigJlzIG9rYXkuwqBNYWN5OiBTbyBJIGZvdW5kIFNhcmFoLiBJIHN0YXJ0ZWQgbXkgdmlzaXRzIHdpdGggaGVyLiBJIGhhZCB0byB0cmF2ZWwgYW4gaG91ciB0byBteSB2aXNpdHMuIEl0IHdhc27igJl0IHRoZSB3b3JzdCB0aGluZyBldmVyLsKgTWVhZ2FuOiBUaGF04oCZcyBhIGNvbW1pdG1lbnQgdGhvdWdoLiBUaGF04oCZcyBhIGNvbW1pdG1lbnQuwqBNYWN5OiBUb3dhcmRzIHRoZSBlbmQsIHNoZSBjYW1lIHRvIG1lIGEgbG90IG1vcmUgd2hpY2ggd2FzIHNvIG5pY2UuIFNvIG5pY2UuwqBNZWFnYW46IFRoYXTigJlzIHJlYWxseSBuaWNlLsKgTWFjeTogVGhlbiB3ZSBkaWQgYSBjb3VwbGUgb2YgcGhvbmUgY2FsbHMsIGJ1dCB3ZSBhbHNvIHRleHRlZCBhbGwgb2YgdGhlIHRpbWUgYW5kIHdvdWxkIEZhY2VUaW1lLiBJdCB3YXMganVzdCBzbyBwZXJzb25hbC4gSSBhbHNvIHJlY2VpdmVkIGNvLWNhcmUgd2l0aCBhbm90aGVyIHRoaXJkIGxvY2FsIHByb3ZpZGVyLiBJIGRpZCB0aGF0IGJlY2F1c2UgbXkgbWlkd2lmZSB3YW50ZWQgdG8gaGF2ZSBtZSBnZXQgdWx0cmFzb3VuZHMgdG8gY2hlY2sgbXkgdXRlcnVzLiBTaGUgd2FudGVkIHRvIGNoZWNrIGZvciBwcmV2aWEgYW5kIHdlIHdhbnRlZCB0byBjaGVjayBmb3LigJMgd2hhdOKAmXMgdGhlIG90aGVyIG9uZT8gSeKAmW0gYmxhbmtpbmcuwqBNZWFnYW46IEFjY3JldGE/wqBNYWN5OiBZZXMsIHNvIHNoZSBqdXN0IHdhbnRlZCB0byBiZSBhd2FyZS7CoE1lYWdhbjogUGxhY2VudGFsIGlzc3VlcyBhbmQgbWFrZSBzdXJlIHRoZSBwbGFjZW50YSBpcyBvdXQgb2YgdGhlIHdheSBhbmQgYWxsIGlzIGRvaW5nIG9rYXkuIFlvdeKAmXJlIGFjdHVhbGx5IGNsZWFyIHRvIGhhdmUgYSBWQkFDLsKgTWFjeTogWWVhaC7CoE1lYWdhbjogV2hpY2ggaXMgdmVyeSByZXNwb25zaWJsZSBvZiBoZXIuwqBNYWN5OiBJIHJlY2VpdmVkIG15IGNvLWNhcmUuIEkgd291bGQgZ28gaW4gdGhlcmUuIEkgZG9u4oCZdCBrbm93LiBJIGFsbW9zdCBoYWQgYSBjaGlwIG9uIG15IHNob3VsZGVyIGJlY2F1c2UgSSB3YXMgbGlrZSwg4oCcSSBkb27igJl0IHJlYWxseSBuZWVkIHlvdSBndXlzLOKAnSBraW5kIG9mLiBJIGRpZG7igJl0IGxlYXZlIHRob3NlIGFwcG9pbnRtZW50cyBmZWVsaW5nIGxpa2UgSSB3YW50ZWQgdG8gY3J5IGxpa2UgSSBkaWQgd2l0aCBteSBzZWNvbmQgcHJlZ25hbmN5IGJlY2F1c2UgSSBrbmV3IHRoYXQgSSBoYWQgc29tZXRoaW5nIGJldHRlciBwbGFubmVkLiBTbyBpdCB3YXNu4oCZdCBhcyB1cHNldHRpbmcsIGJ1dCB0aGV5IHdlcmUgcHJldHR5IHJvdWdoIG9uIG1lLsKgSSBoYWQgZXhwcmVzc2VkIG15IGludGVyZXN0IGluIGEgVkJBQyBhZnRlciB0d28gYW5kIHlvdSBoYXZlIHRvIHNlZSB0aGUgc2VyaWVzIG9mIHByb3ZpZGVycyB3aXRoaW4gdGhlIG9mZmljZS4gSSBoYWQgb25seSBvbmUgd2hvIHdhcyBhIGxpdHRsZSBiaXQgeW91bmdlciB3aGljaCB3YXMgaW50ZXJlc3RpbmcsIGJ1dCBoZSB3YXMgdGhlIG9ubHkgb25lIHdobyB3YXMgbGlrZSwg4oCcWWVhaC4gSSByZWFsbHkgc3VwcG9ydCB0aGlzIGFuZCB0aGUgYmlydGggeW91IHdhbnQgdG8gaGF2ZS4gSeKAmW0gZ29pbmcgdG8gZ2l2ZSB5b3UgYSByZWZlcnJhbCB0byBVQyBTYW4gRnJhbmNpc2NvIGFuZCB3aGVuIHdlIGdldCB0byB0aGUgZW5kLCBJIHdhbnQgeW91IHRvIHN0YXJ0IGNhcmUgdGhlcmUgYW5kIHBsYW4gdG8gaGF2ZSB5b3VyIGJpcnRoIHRoZXJlLuKAncKgSGUgd2FzIHRoZSBvbmx5IG9uZSB3aG8gd2FzIGxpa2UsIOKAnEkgc3VwcG9ydCB0aGUgYmlydGggeW91IHdhbnQgdG8gaGF2ZS7igJ0gRXZlcnlvbmUgZWxzZSB3YXMgcHJldHR5IGF3ZnVsLiBUaGV5IHRvbGQgbWUsIOKAnElmIHlvdSBUT0xBQyBhbmQgeW91ciB1dGVydXMgcnVwdHVyZXMsIHlvdSB3aWxsIGRpZSBhbmQgeW91ciBiYWJ5IHdpbGwgZGllLuKAncKgSSB3YXMgbGlrZSwgSSB3aWxsIG5ldmVyIGZvcmdldCBnZXR0aW5nIGluIG15IGNhciBhbmQgdGV4dGluZyBteSBtaWR3aWZlIGFuZCBiZWluZyBsaWtlLCDigJxDYW4geW91IGJlbGlldmUgdGhhdCBoZSBqdXN0IHNhaWQgdGhpcyB0byBtZT/igJ0gSSB3YXMganVzdCBsaWtlLCDigJxBcmUgeW91IEdvZD8gRG8geW91IGtub3c/4oCdIEhvdyBjb3VsZCB5b3Ugc2F5IHRoYXQgdG8gc29tZW9uZT8g4oCcWW91IHdpbGwgZGllLuKAnSBCZWNhdXNlIHRoYXTigJlzIG5vdCB0aGUgY2FzZSBhdCBhbGwuwqBUaGF0IHdhcyBpbnRlcmVzdGluZyBidXQgSSBrbmV3LiBMaWtlIEkgc2FpZCwgSSBrbmV3IEkgaGFkIGEgYmFja3VwIHBsYW4gaW4gdGhlIGJhY2sgb2YgbXkgbWluZC4gSXQgd2FzIGp1c3QgZXllLW9wZW5pbmcgZm9yIG1lIG1vcmUgdGhhbiBhbnl0aGluZy4gSXQgd2FzbuKAmXQgdXBzZXR0aW5nLsKgTWVhZ2FuOiBTb21lb25lIHRoYXQgZG9lc27igJl0IG5lY2Vzc2FyaWx5IGtub3cgdGhlIGV2aWRlbmNlIG9mIHRoYXQsIGl0IGNhbiBiZSB0ZXJyaWZ5aW5nLsKgTWFjeTogWWVhaC4gWWVzLCB0b3RhbGx5LiBBbmQgeW91IGtub3cgd2hhdD8gSXTigJlzIGZydXN0cmF0aW5nIGJlY2F1c2UgYSBsb3Qgb2YgcGVvcGxlIGp1c3QgdHJ1c3QgdGhlaXIgcHJvdmlkZXJzLiBJ4oCZbSBhIHZlcnkgc2tlcHRpY2FsIHBlcnNvbi4gSeKAmW0gdmVyeSBjb25zcGlyYXRvcmlhbCwgc28gSeKAmW0gYWx3YXlzIHJlc2VhcmNoaW5nIHRoaW5ncyBhbmQgbG9va2luZyBpbnRvIHRoaW5ncywgYnV0IHBlb3BsZSB3aG8gYXJlIG5vdCBwcm9uZSB0byB0aGF0IGFyZSBqdXN0IGdvaW5nIHRvIHRydXN0IHdoYXQgdGhlIGRvY3RvciBzYXlzIGJlY2F1c2UgdGhleSB3ZW50IHRvIHNjaG9vbCBhbmQgdGhleSBhcmUgc21hcnRlciB0aGFuIHRoZW0uIEl04oCZcyBzbyB1bmZvcnR1bmF0ZSB0aGF0IGl04oCZcyBjYXVzaW5nIGEgaGlnaCBDLXNlY3Rpb24gcmF0ZSBmb3Igbm8gcmVhc29uLsKgMjM6MjQgVkJBMkMgcHJlcCBkdXJpbmcgcHJlZ25hbmN5TWFjeTogVGhhdCB3YXMgYSBidW1tZXIgYnV0IGFueXdheSwgdGhyb3VnaG91dCBteSBwcmVnbmFuY3ksIEkgZGlkIGFsbCBvZiB0aGUgdGhpbmdzLiBJIGRpZCBteSBWQkFDIExpbmsgY291cnNlLiBJIGxvdmVkIGl0LiBJdCB3YXMgZ3JlYXQgdG8gaGF2ZSB0aGF0LiBJIGRpZCBhIExhbWF6ZSBjbGFzcyB3aGljaCB3YXMgcmVhbGx5IGZ1bi4gSXQgd2FzIGZ1bm55IGJlY2F1c2Ugd2Ugd2VyZSB0aGUgb25seSBwYXJlbnRzIGluIHRoZXJlIHdpdGggb3RoZXIga2lkcy4gT25lIG90aGVyIGxhZHkgd2FzIGEgVkJBQywgYnV0IHRoZSByZXN0IHdlcmUgYWxsIGZpcnN0LXRpbWUgcGFyZW50cy4gVGhleSB3ZXJlIGxpa2UsIOKAnFdoYXQgYXJlIHlvdSBkb2luZyBoZXJlP+KAnSBJ4oCZbSBsaWtlLCDigJxUaGlzIGlzIG5ldyBmb3IgbWUu4oCdIEFnYWluLCBzaG91dG91dCB0byBNb2Rlc3RvIEJpcnRoIGFuZCBCZXlvbmQuIFRoZXkgYXJlIGZhbnRhc3RpYy4gVGhleSBoYXZlIGEgZ3JlYXQgc2V0IG9mIGRvdWxhcy4gSeKAmW0gbm93IG9uIGEgZnJpZW5kbHkgYmFzaXMgd2l0aCB0aGVtLiBUaGV5IHdlcmUgZ3JlYXQgdG8gaGF2ZSBhbmQgdGhleSB3ZXJlIHJlYWxseSBzdXBwb3J0aXZlIG9mIG15IHdob2xlIGpvdXJuZXkuwqBMZXTigJlzIHNlZSB3aGF0IGVsc2UuIEkgZGlkIGEgSHlwbm9iaXJ0aGluZyBjbGFzcy4gSSByZWFkIEluYSBNYXnigJlzIEd1aWRlIHRvIENoaWxkYmlydGguIEkgbWVhbiwgSSB3YWxrZWQgYW5kIEkgc3RheWVkIGluIHNoYXBlLiBJIGtlcHQgZG9pbmcgQ3Jvc3NGaXQuIEkgZGlkIENyb3NzRml0IGZvciBhbGwgdGhyZWUgb2YgbXkgcHJlZ25hbmNpZXMgc28gSSBrZXB0IG9uLiBJIGF0ZSBoZWFsdGh5LiBJIGRyYW5rIGxvdHMgb2Ygd2F0ZXIuIEkgZGlkIGFsbCBvZiB0aGUgdGhpbmdzLiBCdXQgSSBrbmV3IHRoYXQgd2hlbiBpdCBjYW1lIGRvd24gdG8gaXQsIG15IG1pbmQgd2FzIGdvaW5nIHRvIGVpdGhlciBtYWtlIG9yIGJyZWFrIG1lLkZhc3QgZm9yd2FyZCB0byA0MSB3ZWVrcyBhbmQgSSB3YXMgZ2V0dGluZyB2ZXJ5LCB2ZXJ5IGFueGlvdXMuwqBNZWFnYW46IFdlcmUgeW91IGdldHRpbmcgYW54aW91cyBiZWNhdXNlIHlvdSB3ZXJlIGdldHRpbmcgcmVhZHkgdG8gaGF2ZSBhIGJhYnkgdHlwZSB0aGluZyBvciB3ZXJlIHBlb3BsZSBnaXZpbmcgeW91IHNvbWUgZ3JpZWYgdGhhdCB5b3Ugd2VyZSBvdmVyIDQwIHdlZWtzPyBNYWN5OiBCeSB0aGUgdGltZSBJIHdhcyA0MC00MSB3ZWVrcywgdGhlIGdyaWVmIGFuZCB0aGUgZG91YnQgYW5kIHRoZSBuYXlzYXllcnMgdGhhdCBJIGdvdCB3ZXJlIGtpbmQgb2YgZ29uZS4gTW9zdCBvZiB0aGUgcGVvcGxlIGluIG15IGxpZmUgd2VyZSBzdXBwb3J0aXZlLiBJIGFsd2F5cyBnb3QgdGhhdCBxdWVzdGlvbiBvZiwg4oCcV2hhdCBpZiB0aGlzIGhhcHBlbnM/4oCdIEkgbGl2ZSA1IG1pbnV0ZXMgZnJvbSB0aGUgaG9zcGl0YWwsIHNvIEkgd2FzIG5vdCB0b28gd29ycmllZCBhYm91dCBpdC4gSSB3YXMgbW9yZSBhbnhpb3VzIG9mLCBJIHdhcyByZWFkeSB0byBtZWV0IHRoaXMgYmFieS4gSSB3YXMgdGhlIGJpZ2dlc3QgSeKAmWQgZXZlciBiZWVuLiBUaGlyZCBiYWJ5LCBvbmx5IDE3IG1vbnRocyBhcGFydC4gTXkgYmVsbHkgd2FzIGh1Z2UuIEl0IHdhcyBob3QuIEkgd2FzIHN3ZWxsaW5nLiBJIHdhcyByZWFkeSB0byBiZSBkb25lLCBidXQgSSBhbHNvIGhhZCBuZXZlciBsYWJvcmVkIGJlZm9yZS7CoEkgaGFkIG5vIGNsdWUgd2hhdCBteSBib2R5IHdhcyBnb2luZyB0byBkby4gV2FzIEkganVzdCBnb2luZyB0byBnbyBpbnRvIHNwb250YW5lb3VzIGxhYm9yIGF0IDQwIHdlZWtzPyBBdCAzOT8gSSBoYWQgbm8gaWRlYS4gU28gZXZlcnkgZGF5IHRoYXQgcGFzc2VzLCBJ4oCZbSBzdXJlIHlvdSByZW1lbWJlciB0aGF0IHRvbywgZXZlcnkgZGF5IHdhcyBhIHdob2xlIHdlZWsgd2hlcmUgeW91IHdha2UgdXAgaW4gdGhlIG1vcm5pbmcgYW5kIEkgd291bGQganVzdCBjcnksIOKAnEkgY2Fu4oCZdCBiZWxpZXZlIEnigJltIHN0aWxsIHByZWduYW50LuKAncKgTWVhZ2FuOiBJIHJlbWVtYmVyIGdvaW5nIHRvIGJlZCBhbmQgSSB3YXMgbGlrZSwg4oCcVG9uaWdodCBjb3VsZCBiZSB0aGUgbmlnaHQs4oCdIGFuZCB0aGVuIEnigJlkIHdha2UgdXAgYW5kIEkgd2FzIGxpa2UsIOKAnEl0IHdhc27igJl0IHRoZSBuaWdodCzigJ0gdGhlbiB0aGF0IG5pZ2h0LCBJ4oCZZCBiZSBsaWtlLCDigJxNYXliZSB0b25pZ2h0LOKAnSBhbmQgaXQganVzdCBrZXB0IGhhcHBlbmluZy7CoE1hY3k6IFNvIGFubm95aW5nLiBJIGhhZCBzbyBtdWNoIHByb2Ryb21hbCBsYWJvci4gSSBoYWQgY29udHJhY3Rpb25zLiBJIGNvdWxkIHRpbWUgdGhlbSBhbmQgSSB3YXMgbGlrZSwg4oCcT2gsIHRoZXkgYXJlIDIwIG1pbnV0ZXMgYXBhcnQuIFRoZXkgYXJlIGZvciBzdXJlIGdvaW5nIHRvIGdldCBjbG9zZXIs4oCdIHRoZW4gSeKAmWQgZ28gdG8gc2xlZXAsIHdha2UgdXAsIGFuZCBiZSBsaWtlLCDigJxPa2F5LiBIZXJlIHdlIGdvIGFnYWluLuKAncKgTGV04oCZcyBzZWUuIFNvIG9uIGEgTW9uZGF5LCBJIGRpZCBhY3VwdW5jdHVyZS4gVGhlbiBvbiBhIFdlZG5lc2RheSBtb3JuaW5nLCBJIHdhcyA0MSB3ZWVrcyBhbmQgSSB3ZW50IGFuZCBnb3QgYSBtYXNzYWdlLiBJIGdvdCBzb21lIGFjdXByZXNzdXJlLiBZb3UgbmV2ZXIga25vdyBpZiB0aGVzZSBhcmUgdGhlIHRoaW5ncyB0aGF0IHJlYWxseSBnZXQgdGhpbmdzIGdvaW5nLCBidXQgc29tZXRpbWVzIHRoZXkgZG8uIEkgZ290IGEgbWFzc2FnZSBhbmQgc2hlIGdhdmUgbWUgc29tZSBtb3hpYnVzdGlvbiBzbyBJIGRpZCB0aGF0LiBZb3UgbGlnaHQgaXQgYW5kIGRvIGl0IGFyb3VuZOKAkyBteSBtb20gd2FzIGxpa2UsIOKAnFRoaXMgaXMgc28gaG9rZXku4oCdIEnigJltIGxpa2UsIOKAnElmIGl0IHdvcmtzLCB3aG8gY2FyZXM/4oCdIEkgd2FzIHRyeWluZyBldmVyeXRoaW5nLsKgQnV0IEkgZGlkbuKAmXQgd2FudCB0byBiZSBpbmR1Y2VkIGFuZCBJIGhhZG7igJl0IGhhZCBteSBtZW1icmFuZXMgc3dlcHQgeWV0LiBUaGF0IHdhcyBnb2luZyB0byBiZSB0aGUgZmlyc3QgaW50ZXJ2ZW50aW9uIHRoYXQgbXkgbWlkd2lmZSBhbmQgSSBhZ3JlZWQgb24gYmVjYXVzZSBzaGUgd2FzIGxpa2UsIOKAnExlZ2FsbHkgaW4gQ2FsaWZvcm5pYSwgeW91IGNhbuKAmXQgZ28gcGFzdCA0MiB3ZWVrcyBhbmQgaGF2ZSBhIGhvbWUgYmlydGgu4oCdIEkgd2FzIGxpa2UsIOKAnE9rYXkuIEnigJl2ZSBnb3Qgb25lIHdlZWsuIE9uZSB3ZWVrIGFuZCB0aGlzIGJhYnkgd2lsbCBiZSBoZXJlLuKAncKgMjc6NDYgTGFib3IgYmVnaW5zTWFjeTogVGhhdCBXZWRuZXNkYXkgbW9ybmluZywgSSB3ZW50IGFuZCBnb3QgbXkgbWFzc2FnZSBhbmQgYnkgMjowMCBpbiB0aGUgYWZ0ZXJub29uLCBJIHdhcyBsaWtlLCDigJxPa2F5LiBUaGluZ3MgYXJlIHN0YXJ0aW5nIHRvIHBpY2sgdXAu4oCdIEkgc3RhcnRlZCBoYXZpbmcgcHJldHR5IGludGVuc2UgY29udHJhY3Rpb25zLiBJIHdhcyBoYXZpbmcgdG/igJMgSSBjb3VsZCBzdGlsbCB0YWxrLiBJIHdhcyBzdGlsbCB0YWtpbmcgY2FyZSBvZiBteSB0d28gbGl0dGxlIGdpcmxzLCBidXQgSSB3YXMgc3RhcnRpbmcgdG8gZmVlbCByZWFsbHkgdW5jb21mb3J0YWJsZS4gTXkgbW9tIHdlbnQgaG9tZSwgdGhlbiBzaGUgY2FtZSBiYWNrLiBNeSBodXNiYW5kIGdldHMgb2ZmIHdvcmsgYXQgMzozMCBhbmQgaXQgd2FzIDI6MzAuIEkgd2FzIGZlZWRpbmcgbXkgeW91bmdlc3Qgb25lIGEgc25hY2sgYW5kIGhlIHdhcyBsaWtlLCDigJxEbyB5b3Ugd2FudCBtZSB0byBjb21lIGhvbWUgZWFybHk/4oCdIEkgd2FzIGxpa2UsIOKAnE5vLCBJIGNhbiB0b3RhbGx5IG1ha2UgaXQgdW50aWwgeW91IGdldCBob21lLuKAncKgSSBoYWQgYSBjb250cmFjdGlvbiB3aGVyZSBJIGxlYW5lZCBvdmVyIG15IGtpdGNoZW4gY291bnRlciwgYW5kIHRoZW4gSSB3YXMgbGlrZSwg4oCcT2theS4gTWF5YmUganVzdCBjb21lIGhvbWUgbm93LuKAnSBIZSBjYW1lIGhvbWUuIEkganVzdCBkaWRu4oCZdCBmZWVsIGl0LiBJIHdhcyBzdGFydGluZyB0byBmZWVsIGlycml0YXRlZCBieSBteSBraWRzIGFuZCBJIHdhcyBsaWtlLCDigJxJIGp1c3Qgd2FudCB0byBnbyBpbiBteSByb29tIGFuZCB3YXRjaCBhIHNob3cgb24gbXkgbGFwdG9wLiBJIGp1c3Qgd2FudCB0byBiZSBhbG9uZS7igJ0gSSBkaWRu4oCZdCBuZWNlc3NhcmlseSB3YW50IHRoZW0gdG8gbGVhdmUgeWV0LCBidXQgSSB3YW50ZWQgdG8gYmUgYWxvbmUgYW5kIEkgd2FudGVkIHRvIGtub3cgdGhhdCB0aGV5IHdlcmUgdGFrZW4gY2FyZSBvZi7CoEhlIGNhbWUgaG9tZSBhbmQgaGUgd2FzIHRha2luZyBjYXJlIG9mIHRoZW0uIEhlIHdhcyBsaWtlLCDigJxEbyB5b3UgdGhpbmsgdGhpcyBpcyBpdD8gTGV04oCZcyBjYWxsIG15IG1vbS7igJ0gSSB3YXMgbGlrZSwg4oCcWWVhaC4gSSB0aGluayB0aGlzIGlzIGhhcHBlbmluZyBhbmQgSSB0aGluayBpdOKAmXMgZ29pbmcgdG8gYmUgc29vbi7igJ0gSSBqdXN0IGRpZG7igJl0IGtub3cgaG93IGxvbmcgSSB3YXMgZ29pbmcgdG8gbGFib3IuIEl0IHdhcyBhIG15c3RlcnkuwqBNeSBtb3RoZXItaW4tbGF3IGNhbWUgYW5kIHBpY2tlZCB1cCBteSBsaXR0bGUgdHdvIGRhdWdodGVycy4gVGhhdCB3YXMga2luZCBvZiBzYWQgd2F0Y2hpbmcgdGhlbSBsZWF2ZSBrbm93aW5nIHRoZSBuZXh0IHRpbWUgSSBzYXcgdGhlbSwgd2Ugd2VyZSBnb2luZyB0byBiZSBhIGRpZmZlcmVudCBmYW1pbHnigJMgYSBiZXR0ZXIgZmFtaWx5LCBidXQgYSBkaWZmZXJlbnQgZmFtaWx5LiBZZWFoLiBJIGp1c3QgbGFib3JlZCBhdCBob21lLiBJdCB3YXMgc28gbmljZSBub3QgaGF2aW5nIHRvIGdvIGFueXdoZXJlLiBJIHRvb2sgYSBzaG93ZXIuIEkgaGFkIHNvbWUgc25hY2tzLiBJIHdhc27igJl0IHN1cGVyIGh1bmdyeSwgYnV0IEkgZGVmaW5pdGVseSBzdGFydGVkIGRyaW5raW5nIG15IGVsZWN0cm9seXRlcyBhbmQgc3RhcnRlZCBwcmVwYXJpbmcgdG8gYmUgaHlkcmF0ZWQuwqBNZWFnYW46IFNtYXJ0LsKgTWFjeTogSSB3YXMgbGlrZSwg4oCcSeKAmW0gcHJlcGFyaW5nIHRvIHJ1biBhIG1hcmF0aG9uIHNvIEkgbmVlZCB0byBnZWFyIHVwLuKAnSBJIGRpZG7igJl0IG5hcC4gSeKAmXZlIG5ldmVyIGJlZW4gYSBncmVhdCBuYXBwZXIsIGJ1dCBJIGxhaWQgYXJvdW5kIGFuZCB3YXRjaGVkIHNvbWUgc2hvd3MsIHRoZW4gSSBkaWRu4oCZdCB0ZXh0IG15IG1pZHdpZmUgcmlnaHQgYXdheSBiZWNhdXNlIEkgaGFkIGJlZW4gYnVnZ2luZyBoZXIgc28gbXVjaCB3aXRoIGFsbCBvZiBteSBwcm9kcm9tYWwgbGFib3IgdGhhdCBJIHdhcyBsaWtlLCDigJxJ4oCZbSBub3QgZ29pbmcgdG8gdGV4dCBoZXIgdW50aWwgaXTigJlzIHJlYWxseSBoYXBwZW5pbmcu4oCdIEJ1dCBieSA2OjAwIG9yIDc6MDAgUE0sIGkgdGV4dGVkIGhlciBhbmQgd2FzIGxpa2UsIOKAnEp1c3Qgc28geW91IGtub3csIG15IGNvbnRyYWN0aW9ucyBhcmUgYWJvdXQgMTAgbWludXRlcyBhcGFydC7igJ3CoEFzIHRoZXkgZ290IGNsb3Nlciwgc2hlIHdhcyBsaWtlLCDigJxPa2F5LiBJ4oCZbSBnb2luZyB0byBjb21lIG5vdy7igJ3CoE9uY2UgdGhlIHN1biBzdGFydGVkIHNldHRpbmcsIGl0IHdhcyBnZXR0aW5nIGEgbGl0dGxlIGJpdCBtb3JlIGludGVuc2UuIFdlIHNldCB1cCBteSBiaXJ0aCBzcGFjZSBhdCBob21lLiBJIHNldCB1cCBteSBwb29sLiBXZWxsLCBJIGRpZG7igJl0LiBNeSBodXNiYW5kIHNldCB1cCB0aGUgcG9vbCBhbmQgd2UgbGFpZCBvdXQgYWxsIG9mIHRoZSBzaGVldHMgb24gdGhlIGNvdWNoIGFuZCBodW5nIG15IGJpcnRoIGFmZmlybWF0aW9ucy4gQWN0dWFsbHksIHRoZXkgaGFkIGJlZW4gaGFuZ2luZy4gTXkgYmlydGggYWZmaXJtYXRpb25zIGhhZCBiZWVuIGhhbmdpbmcgZm9yIGEgY291cGxlIG9mIHdlZWtzIHNvIEkgc3RhcnRlZCBoYXZpbmcgdGhlbSBtZW1vcml6ZWQsIGJ1dCB3ZSB0dXJuZWQgb24gdGhlIHR3aW5rbGUgbGlnaHRzIGFuZCBJIHN0YXJ0ZWQgbGlzdGVuaW5nIHRvIHRoZSBDaHJpc3RpYW4gSHlwbm9CaXJ0aGluZyBhcHAgd2hpY2ggd2FzIGZhbnRhc3RpYy7CoEkganVzdCBoYWQgc3VjaCBhIHBlYWNlZnVsIGxhYm9yLiBJIGRvbuKAmXQga25vdyBob3cgZWxzZSB0byBkZXNjcmliZSBpdC4gTXkgbW9tIGNhbWUgaW4gYW5kIHRoZW4gbXkgc2lzdGVyLWluLWxhdyBjYW1lIG92ZXIgdGhlbiBteSBvdGhlciBzaXN0ZXItaW4tbGF3IGNhbWUgb3Zlci4gVGhleSBqdXN0IHRhbGtlZCBhcm91bmQgbWUuIEkgY291bGQgaGVhciB0aGVtLCBidXQgSSB3YXMganVzdCBpbiBteSBzcGFjZS4gSSBsYWJvcmVkIGFuZCBteSB3YXRlciBuZXZlciBicm9rZSBmb3IgYSB2ZXJ5IGxvbmcgdGltZS4gSSBnb3QgaW4gdGhlIHBvb2wgYXQgb25lIHBvaW50IGFuZCB0aGVuIEkgZ290IGJhY2sgb3V0IGJlY2F1c2UgbXkgaHVzYmFuZCB3YXMgbGlrZSwg4oCcSSB0aGluayB0aGF0IGJlaW5nIGluIHRoZSBwb29sIGlzIHNsb3dpbmcgZG93biB5b3VyIGNvbnRyYWN0aW9ucyBhIGxpdHRsZSBiaXQuIEkgd2FudCB5b3UgdG8gZ2V0IG91dCBhbmQgd2Fsay7igJ0gSSBnb3Qgb3V0IGFuZCBzdGFydGVkIHdhbGtpbmcgZG93biB0aGUgaGFsbCB0aGVuIEkgZ290IHJlYWxseSBzaWNrIHdpdGggYSBjb250cmFjdGlvbi4gSSBoYXBwZW5lZCB0byBhbHJlYWR5IGJlIGxhYm9yaW5nIGJhY2t3YXJkcyBvbiB0aGUgdG9pbGV0IGFuZCBJIHdhcyBsaWtlLCDigJxPaCBteSBnb3NoLiBJ4oCZbSBnb2luZyB0byB0aHJvdyB1cC7igJ0gSSBqdW1wZWQgYmFjayBvZmYgdGhlIHRvaWxldCBzbyBJIGNvdWxkIHRocm93IHVwIGluIGl0IHRoZW4gbXkgbWlkd2lmZSB3YXMgbGlrZSwg4oCcT2theS4gWW914oCZcmUgaW4gdHJhbnNpdGlvbiBub3cuIFlvdeKAmXZlIGdvdCB0byBiZS7igJ0gSSBoYWRu4oCZdCBoYWQgYW55IGNoZWNrcyBhdCBhbGwgdGhpcyB3aG9sZSB0aW1lIGVpdGhlciB0b28gc28gSSBoYWQgbm8gY2x1ZSB3aGF0IEkgd2FzIGV2ZW4gZGlsYXRlZCBhdC4gSSB3YXMganVzdCBjb21wbGV0ZWx5IHRyeWluZyB0byB0cnVzdCBteSBib2R5IGFuZCBqdXN0IGtub3cgdGhhdCB3aGVuIGl0IHdhcyB0aW1lLCBpdCB3b3VsZCBiZSB0aW1lLiBJdCByZWFsbHkgd2FzLiBNeSBib2R5IGp1c3QgZGlkIHdoYXQgaXQga25ldyB0byBkby7CoDMyOjQyIEJyZWFraW5nIGhlciBvd24gd2F0ZXIgYW5kIHB1c2hpbmcgZm9yIDE3IG1pbnV0ZXNNYWN5OiBMaWtlIEkgc2FpZCBlYXJsaWVyLCBJIGZlbHQgaGVyIG1vdmUgaW50byBwb3NpdGlvbi4gSSBnb3QgYmFjayBpbiB0aGUgd2F0ZXIgYW5kIEkgZmVsdCBzbyByZWxheGVkIGluIHRoZSB3YXRlci4gSSB3YXMgZHJpZnRpbmcgb2ZmIGluIGJldHdlZW4gY29udHJhY3Rpb25zLsKgTWVhZ2FuOiBPaCwgdGhhdOKAmXMgYXdlc29tZS7CoE1hY3k6IEl0IHdhcyBzbyBjYWxtIGFuZCBJIGp1c3Qga2VwdCB0ZWxsaW5nIG15c2VsZiwg4oCcQnJlYXRoZSBoZXIgZG93biB3aXRoIGV2ZXJ5IGNvbnRyYWN0aW9uLOKAnSBhbmQganVzdCBhbGwgb2YgdGhlIHRoaW5ncyBJIGhhZCBiZWVuIHByYWN0aWNpbmcsIEkgd2FzIGZpbmFsbHkgYWJsZSB0byBwdXQgaW50byB1c2UuwqBUaGF0IHdhcyByZWFsbHkgY29vbCwgdGhlbiBJIGhhZCBhIGNvdXBsZSBvZiB1cmdlcyB3aGVyZSBJIHdhcyBsaWtlLCDigJxJIGZlZWwgbGlrZSBJIGNhbiBzdGFydCBwdXNoaW5nIHNvb24u4oCdIEkgd2FzIGxpa2UsIOKAnERvIHlvdSB3YW50IHRvIGNoZWNrIG1lIG5vdz/igJ0gQXMgc29vbiBhcyBzaGUgc3R1Y2sgaGVyIGZpbmdlciwgSSB3YXMgbGlrZSwg4oCcT2gsIG5vLiBOby4gR2V0IHlvdXIgZmluZ2VyIG91dC4gSXTigJlzIHRpbWUuIFNoZeKAmXMgY29taW5nLuKAncKgU2hlIHdhcyBsaWtlLCDigJxZZWFoLiBTaGXigJlzIHJlYWR5LiBTaGXigJlzIHJpZ2h0IHRoZXJlLCBidXQgeW91ciB3YXRlcnMgaGF2ZW7igJl0IGJyb2tlbiB5ZXQu4oCdIEkgd2FzIGxpa2UsIOKAnENhbiBJIGJyZWFrIHRoZW0gbXlzZWxmP+KAnSBTaGUgd2FzIGxpa2UsIOKAnFllYWgs4oCdIHNvIEkgcmVhY2hlZCBpbi4gSSBnYXZlIGl0IGEgcGluY2gtdHdpc3QgYW5kIGluIHRoZSB3YXRlciwgSSBicm9rZSBpdC7CoE1lYWdhbjogT2ggbXkgZ29zaCwgdGhhdOKAmXMgc28gY29vbC7CoE1hY3k6IEkgZmVsdCB0aGUgcGFkZGluZyBhcm91bmQgaGVyIGhlYWQsIHRoZW4gSSBqdXN0IGZlbHQgaGVyIGhlYWQuIEkgZmVsdCBoZXIgaGFpci4gSSBzdGFydGVkIHB1c2hpbmcgd2hlbiBpdCB3YXMgdGltZSB0byBwdXNoIGFuZCBJIHB1c2hlZCBmb3IgMTcgbWludXRlcy4gSXQgd2FzIHBlcmZlY3QuIExpa2UgSSBzYWlkLCBJIGZlbHQgaGVyIG1vdmUgYW5kIGdldCBpbnRvIHBvc2l0aW9uLiBTaGUgY2FtZSBvdXQgYW5kIHNoZSB3YXMgOSBwb3VuZHMsIDEyIG91bmNlcyBzbyBzaGUgd2FzIDMgcG91bmRz4oCTwqBNZWFnYW46IEkgd2FzIGdvaW5nIHRvIHNheSA2bGIsMTVveiwgcmlnaHQsIHdhcyB5b3VyIHNlY29uZCBhbmQgY2xvc2UgdG8geW91ciBmaXJzdD9NYWN5OiAzIHBvdW5kcyBoZWF2aWVyIHRoYW4gbXkgb3RoZXIgdHdvLiBTaGUgY2FtZSBvdXQuIFNoZSBkaWQgcGVyZmVjdGx5LiBIZXIgaGVhcnQgcmF0ZSB3YXMgcGVyZmVjdCB0aGUgd2hvbGUgdGltZS4gU2hlIGNhbWUgb3V0IG1hZCwgc2NyZWFtaW5nIG1hZC4gU2hlIHdhcyBzbyBjb3p5IGluIHRoZXJlLiBTaGUgZGlkIG5vdCB3YW50IHRvIGNvbWUgb3V0LiBTaGUgY2FtZSBvdXQgYnV0IGhlYXJpbmcgaGVyIGNyeSB3aXRoaW4gMjAgc2Vjb25kcyB3YXMgc28gcmVhc3N1cmluZy4gU2hlIHdhcyBzYWZlLiBJIGRpZG7igJl0IG5lZWQgYW55Ym9keS4gSSBqdXN0IG5lZWRlZCB0byB0cnVzdCBteSBib2R5IGFuZCB0byB0cnVzdCB0aGUgTG9yZC4gTXkgbWlkd2lmZSB3YXMgbGlrZSwg4oCcVGhhdCB3YXMgb25lIG9mIHRoZSBtb3N0IHBlcmZlY3QgYmlydGhzIEkgaGF2ZSBldmVyIGF0dGVuZGVkLuKAnSBTaGUgd2FzIGJlYW1pbmcgd2l0aCBqb3kgYW5kIHNoZSB3YXMgc28gZXhjaXRlZCBmb3IgbWUuIFNoZSB3YXMganVzdCBzbyBoYXBweSBiZWNhdXNlIHNoZSB3YXMgbGlrZSwg4oCcSeKAmXZlIG5ldmVyIGRvbmUgdGhpcyBhZnRlciB0d28u4oCdIFNoZSB3YXMgbGlrZSwg4oCcWW91IGNoYW5nZWQgZXZlcnl0aGluZyBJIHRob3VnaHQgSSBrbmV3IGFib3V0IGhvbWUgYmlydGgsIGFib3V0IGFmdGVyIHR3byBDLXNlY3Rpb25zLuKAnSBTaGUgZXZlbiBub3cgaGFzIGFub3RoZXIgY2xpZW50IHdoaWNoIGlzIGdyZWF0IHdobyBpcyBhIFZCQTJDLiBJIGNhbm5vdCB3YWl0IGZvciB0aGlzIHBvZGNhc3QgdG8gY29tZSBvdXQgc28gSSBjYW4gc2hhcmUgaXQgd2l0aCBteSBtaWR3aWZlIGFuZCBzaGUgY2FuIHNoYXJlIGl0IHdpdGggaGVyIG5ldyBjbGllbnQuIEhvcGVmdWxseSwgdGhleSBoYXZlIGEgcmVhbGx5IGdyZWF0IGJpcnRoIHRvby7CoEFsbCBpbiBhbGwsIGl0IHdhcyBqdXN0IGV2ZXJ5dGhpbmcgSSBkcmVhbWVkIG9mLiBJIHdhcyBzbyB0aGFua2Z1bCBhbmQgSSBqdXN0IHJlbWVtYmVyIGxheWluZyB0aGVyZSB3aXRoIGhlciBvbiBteSBjaGVzdC4gSSB3YXMgd2F0Y2hpbmcgdGhlIHZpZGVvIGxhc3QgbmlnaHQgdHJ5aW5nIHRvIGdldCBpbiB0aGUgbWluZHNldCBhbmQgcmVtaW5kIG15c2VsZiBhbmQgZ2V0IHRoZXJlLiBPbiB0aGUgdmlkZW8sIEkgY2FuIGhlYXIgbXlzZWxmIGdvLCDigJxJ4oCZbSBzbyBmcmVha2luZyBwcm91ZCBvZiBteXNlbGYu4oCdwqBNZWFnYW46IFlvdSBzaG91bGQgYmUhTWFjeTogSSB3YXMgYmVhbWluZyB3aXRoIGpveS4gSSB3YXMgbGlrZSwg4oCcVGhhdCB3YXMgc28gaGFyZCBidXQgc28gd29ydGggaXQu4oCdIFNvIGl0IHdhcyBncmVhdC4gSXQgd2FzIGEgZ3JlYXQgZXhwZXJpZW5jZS4gSSBjb3VsZCBub3QgYmUgbW9yZSBoYXBweSB3aXRoIGhlciBiaXJ0aC4gU2hl4oCZcyBhIGdyZWF0IGJhYnkuIFNoZeKAmXMgc28gaGFwcHkuIFNoZSB3YXMgYSBsaXR0bGUgaGFyZCBhdCBmaXJzdCBmb3IgMTAgd2Vla3Mgd2hpY2ggd2FzIGRpZmZlcmVudCBmb3IgbWUsIGJ1dCBhZnRlciB0aGF0IDEwLXdlZWsgaHVtcCwgc2hlIHdhcyBhIHJlYWxseSBnb29kIGJhYnkuIEhlciBuYW1lIGlzIEx1Y2lsbGUuwqBNZWFnYW46IEN1dGUuwqBNYWN5OiBXZSBjYWxsIGhlciBMdWN5IHdoaWNoIG1lYW5zIOKAnGxpZ2h04oCdIGFuZCBzaGUgaXMgdGhlIGxpZ2h0IG9mIG91ciBsaXZlcy4gU2hlIGlzIHRoZSBiZXN0IGFuZCBJIGNhbuKAmXQgZXZlbiBiZWxpZXZlIHdlIGhhZCBhIGZhbWlseSB3aXRob3V0IGhlciBmb3IgYSBtaW51dGUgdGhlcmUuIEJ1dCB0aGF04oCZcyBteSBzdG9yeS7CoDM2OjQ3IEFDT0figJlzIHN0YXRlbWVudCBvbiBWQkEyQ01lYWdhbjogT2ggbXkgZ29zaC4gSXQgaXMgc28gYmVhdXRpZnVsLiBJdCBpcyBzbyBwZWFjZWZ1bC4gSXQgc291bmRzIGxpa2Ugb25lIG9mIHRob3NlIGJpcnRocyB3aGVyZSB5b3UgcmVhbGx5IGRvLiBZb3UgY2xvc2UgeW91ciBleWVzIGFuZCB5b3UganVzdCBlbnZpc2lvbiBiaXJ0aCBhbmQgaG93IHBlYWNlZnVsIGFuZCBiZWF1dGlmdWwgYW5kIGNhbG0gaXQgcmVhbGx5IGNhbiBiZS4gVG8gbWUsIHlvdSBqdXN0IGRlc2NyaWJlZCB0aGUgYmlydGggdGhhdCB5b3UgcGh5c2ljYWxseSBkaWQgd2l0aCBvbmUgdGhhdCBJIHdvdWxkIGltYWdpbmUuwqBNYWN5OiBZZXMuIEl04oCZcyBob3cgaXQgZmVsdC4gTXkgc2lzdGVycy1pbi1sYXcgYW5kIG15IG90aGVyIGdpcmxmcmllbmQgd2hvIHdhcyB0aGVyZSB0YWtpbmcgcGljdHVyZXMganVzdCBrZXB0IHNheWluZywg4oCcWW91IGRpZCBzbyBnb29kLuKAnSBJIHdhcyBqdXN0IGxpa2UsIOKAnEkgZG9u4oCZdCBrbm93IHdoYXQgdGhhdCBtZWFucy7igJ0gQnV0IGV2ZXJ5b25lIHdhcyBwcm91ZCBvZiBob3cgaXQgYWxsIHdlbnQuIEkgdGhpbmsgdGhhdOKAmXMgc28gc3VwZXIgcmV2b2x1dGlvbmFyeS4gSSBob3BlIG15IHN0b3J5IHRvdWNoZXMgb3RoZXIgcGVvcGxl4oCZcyBsaXZlcy7CoE1lYWdhbjogSXQgdG90YWxseSB3aWxsLiBJ4oCZbSBzbyBoYXBweSB0aGF0IHlvdSBmb3VuZCB5b3VyIG1pZHdpZmUgYW5kIHRoYXQgeW91ciBtaWR3aWZlIHdhcyB3aWxsaW5nIHRvIHRha2UgeW91IG9uIGJlY2F1c2UgYSBsb3Qgb2YgdGhlIHRpbWUsIHByb3ZpZGVycyBjYW4gYmUgbmVydm91cyBpZiB0aGV5IGhhdmUgbmV2ZXIgZG9uZSBpdCBiZWZvcmUuwqBNYWN5OiBXaGljaCBJIGdldC7CoE1lYWdhbjogT2ggeWVhaC4gRm9yIHN1cmUsIGZvciBzdXJlLiBJ4oCZbSBqdXN0IHNvIGdsYWQgdGhhdCBzaGUgd2FzIHdpbGxpbmcuIFRoYXTigJlzIG9uZSBvZiB0aGUgdGhpbmdzIHRoYXQgZ2V0cyBtZSBzb21ldGltZXMgd2l0aCBzbyBtYW55IHBlb3BsZSB3aG8ganVzdCBhcmUgbm90LCB3ZSBoYXZlIHRvIHJlc3BlY3QgdGhlbSBhbmQgd2hhdCB0aGV5IGFyZSBjb21mb3J0YWJsZSB3aXRoLiBCdXQgcmVhbGx5LCB0aGUgZXZpZGVuY2UgZG9lcyBzaG93IHRoYXQgVkJBQyBhZnRlciB0d28gQ2VzYXJlYW5zIGlzIHJlYXNvbmFibGUuIFRoZSBvdmVyYWxsIHJpc2sgYW5kIHJhdGUgb2YgcnVwdHVyZSBpcyBhcHByb3hpbWF0ZWx5IDEuNCUgc28gaXTigJlzIHN0aWxsIHZlcnkgbG93LiBJdOKAmXMgc3RpbGwgdmVyeSwgdmVyeSBsb3cuwqBJIG1lYW4sIEFDT0cgdGhlbXNlbHZlcywgdGhlIEFtZXJpY2FuIENvbGxlZ2Ugb2YgT2JzdGV0cmljaWFucyBhbmQgR3luZWNvbG9naXN0cywgdGhleSBzdWdnZXN0IGl0LiBUaGV5IHNheSBpdOKAmXMgYSBjb21wbGV0ZWx5IHJlYXNvbmFibGUgb3B0aW9uIHNvIGZvciBzbyBtYW55IHBlb3BsZSB0byBiZSBjdXQgb2ZmIGFmdGVyIG9uZSBpcyBoZWFydGJyZWFraW5nIGJlY2F1c2UgdGhlcmUgYXJlIHNvIG1hbnkgcGVvcGxlIHdobyBjb3VsZCBoYXZlIGEgdmFnaW5hbCBiaXJ0aCBhbGwgb3ZlciB0aGUgd29ybGQgYnV0IGFyZW7igJl0IGdpdmVuIHRoZSBvcHRpb24uIFdlIGhhdmUgYSBoaWdoIENlc2FyZWFuIHJhdGUuIFdlIGhhdmUgc28gbWFueS7CoFRoZXJlIGFyZSBzbyBtYW55IHBlb3BsZS4gSnVzdCBhY3R1YWxseSB3ZWlyZGx5IGVub3VnaCBhdCB0aGUgZ3ltLCBhIG1hbiB3aG8gaXMgdGhlIGRhcm5kZXN0IGN1dGVzdCB0aGluZyBldmVyLCBoaXMgbmFtZSBpcyBSb2JpbiBhbmQgaGUgd2lsbCBhbHdheXMgc2F5IGhpIHRvIG1lIGFuZCBjaGVjayBpbiBvbiBtZSBhbmQgaG93IEnigJltIGRvaW5nLiBIZSBrbm93cyB0aGF0IEkgY3ljbGUgYW5kIG9uZSBvZiB0aGUgdGhpbmdzIGhlIGFza2VkIHRoZSBvdGhlciBkYXkgd2FzLCDigJxIb3figJlzIHRoYXQgZG91bGEgdGhpbmcgY29taW5nP+KAnSBJIHNhaWQsIOKAnEl04oCZcyByZWFsbHkgZ3JlYXQu4oCdIEhlIHNhaWQsIOKAnEkgbmV2ZXIgYXNrZWQgeW91LiBXaGF0IG1hZGUgeW91IHdhbnQgdG8gYmVjb21lIGEgZG91bGE/4oCdIEkganVzdCB0b2xkIGhpbSBteSBzdG9yeSBhbmQgaGUgc2FpZCwg4oCcT2gsIHNvIHlvdSBoYWQgdHdvIEMtc2VjdGlvbnM/4oCdIEhpcyBleWVzIHdlcmUgd2lkZS4gSGUgc2FpZCwg4oCcQnV0IHlvdSBzYWlkIHlvdSBoYXZlIHRocmVlIGtpZHMu4oCdIEkgc2FpZCwg4oCcWWVhaC7igJ0gSGUgZ29lcywg4oCcQnV0IHlvdSBvbmx5IGhhZCB0d28gQy1zZWN0aW9ucz/igJ0gSSBzYWlkLCDigJxZZWFoLuKAnSBJIHNhaWQsIOKAnFdpdGggbXkgZmlyc3QgdHdvIGdpcmxzLuKAnSBIZSB3YXMgbGlrZSwg4oCcV2FpdC7igJ0gSGUgbGl0ZXJhbGx5IHdhcyBzdHVtcGVkIHRoZXJlIGZvciBhIG1pbnV0ZS7CoE1hY3k6IFllYWgsIHBlb3BsZSBkb27igJl0IGtub3cuwqBNZWFnYW46IEhlIHNhaWQsIOKAnFlvdSBoYWQgYSBub3JtYWwgYmlydGggYWZ0ZXIgdHdvIEMtc2VjdGlvbnM/4oCdIEkgc2FpZCwg4oCcWWVzLuKAnSBJIHNhaWQsIOKAnFJvYmluLCBJIGhhZCBhIHZhZ2luYWwgYmlydGggYWZ0ZXIgdHdvIENlc2FyZWFucy7igJ0gSGUgbG9va2VkIGF0IG1lIGJlY2F1c2UgSSBzYWlkIHRoZSB3b3JkIHZhZ2luYWwuIEkgc2FpZCwg4oCcVGhhdOKAmXMgd2hhdCBpdCBpcy7igJ0gSGUgc2FpZCwg4oCcSSBkaWRu4oCZdCBldmVuIGtub3cgdGhhdCB3YXMgYSB0aGluZy7igJ0gUGVvcGxlIGp1c3QgZG9u4oCZdC4gVGhleSBqdXN0IGRvbuKAmXQga25vdyB0aGF0IGFuZCB0aGVuIHRoZXJlIGFyZSBzdGlsbCBzbyBtYW55IHByb3ZpZGVycyBhbGwgb3ZlciB0aGUgd29ybGQgd2hvIGFyZW7igJl0IHN1cHBvcnRpbmcgaXQuwqBJbiB0aGUgQUNPRyBQcmFjdGljZSBCdWxsZXRpbiwgaXQgc2F5cyB0aGF0IFZCQTJDLCB2YWdpbmFsIGJpcnRoIGFmdGVyIHR3byBDZXNhcmVhbiwgaXMgcmVhc29uYWJsZSB0byBjb25zaWRlciBmb3Igd29tZW4gd2l0aCB0d28gcHJldmlvdXMgbG93LXRyYW5zdmVyc2UgQ2VzYXJlYW4gZGVsaXZlcmllcyB0byBiZSBjYW5kaWRhdGVzIGZvciBUT0xBQy4gV2UgbWVudGlvbmVkIHRoZSB3b3JkIFRPTEFDIGVhcmxpZXIsIGEgdHJpYWwgb2YgbGFib3IgYWZ0ZXIgQ2VzYXJlYW4uIEEgbG90IG9mIHByb3ZpZGVycyB1c2UgdGhhdC4gSXQgaXMgYSBtZWRpY2FsIHR1cm4uIFdlIGNhbGwgaXQgVkJBQy4gVGhleSBjYWxsIGl0IFRPTEFDLiBJdOKAmXMgbm90IGEgVkJBQyB0byB0aGVtIHVudGlsIHRoZSBiYWJ5IGhhcyBwYXNzZWQgdGhyb3VnaCB0aGUgdmFnaW5hLsKgSXQgc2F5cyB0aGF0IHRoZXkgYXJlIGNhbmRpZGF0ZXMgZm9yIFRPTEFDIGFuZCDigJx0byBjb3Vuc2VsIHRoZW0gYmFzZWQgb24gdGhlIGNvbWJpbmF0aW9uIG9mIG90aGVyIGZhY3RvcnMgdGhhdCBhZmZlY3QgdGhlaXIgcHJvYmFiaWxpdHkgb2YgYWNoaWV2aW5nIGEgVkJBQy7igJ3CoE1lYWdhbjogTm93LCBqdXN0IGEgY291cGxlIG9mIHRoaW5ncyB0byBzaGFyZSBiZWZvcmUgd2UgZHJvcCBvZmYgb24gdGhpcyBlcGlzb2RlLCBpZiB5b3UgaGFkIGEgQ2VzYXJlYW4gYmVmb3JlIG9yIHR3byBDZXNhcmVhbnMsIGl0IGlzIG5vdCBuZWNlc3NhcmlseSBhIHJlYXNvbiBmb3IgeW91IHRvIGhhdmUgYSB0aGlyZC4gSWYgeW91IGhhdmUgZ2VzdGF0aW9uYWwgZGlhYmV0ZXMsIHRoYXQgZG9lc27igJl0IG1lYW4gdGhhdCB5b3UgY2Fu4oCZdCBWQkFDIGVpdGhlci4gSeKAmW0gdHJ5aW5nIHRvIHRhbGsgdXAgdGhlc2Ugb3RoZXIgZmFjdG9ycywgcmlnaHQ/IElmIHdlIGhhdmUgcHJlZWNsYW1wc2lhLCB0aGF0IGRvZXNu4oCZdCBhbHdheXMgbmVjZXNzYXJpbHkgbWVhbiB0aGF0IHdlIGhhdmUgdG8gc2NoZWR1bGUgYSBDZXNhcmVhbi4gV2XigJl2ZSBzaGFyZWQgc3RvcmllcyBpbiB0aGUgcGFzdC4gV2XigJl2ZSBldmVuIGhhZCB0aGluZ3MgbGlrZSBiYWJpZXMgd2l0aCBtZWRpY2FsIGNvbmRpdGlvbnMgd2hlcmUgc3RpbGwgZXZlbiB0aGVpciBwcm92aWRlciBzYWlkLCDigJxKdXN0IGJlY2F1c2UgeW91ciBiYWJ5IGhhcyB0aGlzIGRvZXNu4oCZdCBtZWFuIHlvdSBjYW7igJl0IGhhdmUgYSBWQkFDLuKAnSBUaGF0IGRvZXNu4oCZdCBhbHdheXMgbmVjZXNzYXJpbHkgbWVhbiB5b3UgY2Fu4oCZdCBlaXRoZXIuwqBJZiB5b3UgaGF2ZSBhIGJpZyBiYWJ5LCBoZXJlIHdlIGFyZS4gQSBuaW5lLXBvdW5kIGJhYnksIHJpZ2h0PyBBIG5pY2UsIHNxdWlzaHkgbGl0dGxlIGJhYnkuIEJpZyBiYWJ5IGRvZXNu4oCZdCBtZWFuIHlvdSBjYW7igJl0IGVpdGhlci4gQSBkaWFnbm9zaXMgb2YgYSBzbWFsbCBwZWx2aXMgc2hvdWxkbuKAmXQgYmUgY29uc2lkZXJlZOKAkyB0aGVzZSBmYWN0b3JzIHJlYWxseSBhcmUgbW9yZSBleHRyZW1lIEkgZmVlbCBsaWtlIHNvIGlmIHlvdXIgcHJvdmlkZXIgaXMgZ2l2aW5nIHlvdSBzb21lIG9mIHRoZXNlLCDigJxPaCwgd2VsbCB5b3UgY291bGQgaGF2ZSBhIFZCQUMgYWZ0ZXIgdHdvIENlc2FyZWFucyBidXQgYmVjYXVzZSB5b3VyIGJhYnkgZGlkbuKAmXQgY29tZSBkb3duIHRoZSBsYXN0IHR3byB0aW1lcywgaXTigJlzIGp1c3QgcHJvYmFibHkgbm90IGdvaW5nIHRvIGhhcHBlbi7igJ3CoFlvdSBjYW7igJl0IHNlZSBpdC4gTWFjeSByb2xscyBoZXIgZXllcyB3aXRoIG1lLsKgTWFjeTogVGhlIGJhYnkgaXMgZ29pbmcgdG8gY29tZSBvdXQuIEl0IGhhcyB0byBjb21lIG91dC7CoE1lYWdhbjogQmFieSBpcyBnb2luZyB0byBjb21lIG91dC4gQmVsaWV2ZSBpbiB5b3Vyc2VsZi4gRG8gdGhlIHJlc2VhcmNoLiBXZSBkbyBoYXZlIGEgVkJBQyBhZnRlciB0d28gQ2VzYXJlYW4gYmxvZy4gV2XigJlsbCBtYWtlIHN1cmUgdG8gbGluayBpdCBoZXJlIGFuZCBraW5kIG9mIHNwaW4gYmFjayB0byB3aGF0IHlvdSBzYWlkIGFib3V0IGhvdyB5b3Ugd2VyZSBsaWtlLCDigJxMZXQgbWUgYmUgYSBzdGF0aXN0aWMuIExldCBtZSBhIHN0YXRpc3RpYyB0byB5b3VyIG1pZHdpZmUu4oCdIFZCQTND4oCTIHdlIGRvbuKAmXQgaGF2ZSBhIGxvdCBvZiBzdGF0cyBvbiBWQkEzQyBhbmQgSSB0aGluayBhIGxvdCBvZiBpdCBpcyBiZWNhdXNlIHdlIGFyZSBub3QgZG9pbmcgdGhlbS4gV2UgYXJlIG5vdCBhbGxvd2luZyB0aGVtIHlldCB3ZSBoYXZlIHNvIG1hbnkgVkJBM0MgbW9tcyBpbiBvdXIgY29tbXVuaXR5IHdobyBzaGFyZSBvciBvbiBvdXIgcG9kY2FzdCB3aG8gc2hvdyB0aGF0IGl0IHN0aWxsIGlzIHBvc3NpYmxlLsKgSSBmZWVsIGxpa2UgdGhlcmUgbmVlZHMgdG8gYmUgbW9yZSByaXNrIGFzc2Vzc21lbnQgdGhlcmUgYW5kIHN0dWRpZXMgbmVlZCB0byBiZSBkb25lIHRoZXJlLiBTbyBrbm93IHRoYXQgZXZlbiBpZiB5b3XigJl2ZSBoYWQgdGhyZWUgQ2VzYXJlYW5zLCB0aGF0IHN0aWxsIGRvZXNu4oCZdCBtZWFuIHRoYXQgeW91IGFyZSBlbGltaW5hdGVkIGZyb20gdGhlIGNoYW5jZSB0byBnbyBmb3Igd2hhdCB5b3Ugd2FudCwgZmlnaHQgZm9yIHdoYXQgeW91IHdhbnQsIGFuZCBoYXZlIHRoYXQgZXhwZXJpZW5jZSBub3Qgb25seSB0aGF0IHlvdSB3YW50IGJ1dCB0aGF0IHlvdSBkZXNlcnZlLsKgTWFjeTogRm9yIHN1cmUuwqBNZWFnYW46IFllcy4gVGhhbmsgeW91IHNvIG11Y2ggZm9yIHNoYXJpbmcgeW91ciBzdG9yeSBhbmQgSSBjYW5ub3Qgd2FpdCBmb3IgdGhpcyB0byBiZSBwdWJsaXNoZWQgZm9yIHlvdSB0byBzZW5kIHRoaXMgdG8geW91ciBtaWR3aWZlIHNvIHNoZSBjYW4gc2VuZCBpdCBvbiB0byB0aGUgbmV4dCBXb21hbiBvZiBTdHJlbmd0aC7CoE1hY3k6IFRoYW5rIHlvdSBzbyBtdWNoIGZvciBoYXZpbmcgbWUuIEkgaGF2ZSBsb3ZlZCBiZWluZyBoZXJlIGFuZCB0YWxraW5nIHdpdGggeW91LiBJIGhvcGUgdGhlcmUgYXJlIHNvIG1hbnkgbGl2ZXMgdG91Y2hlZCBhbmQgY2hhbmdlZCBieSBzaGFyaW5nIG15IHN0b3J5LkNsb3NpbmdXb3VsZCB5b3UgbGlrZSB0byBiZSBhIGd1ZXN0IG9uIHRoZSBwb2RjYXN0PyBUZWxsIHVzIGFib3V0IHlvdXIgZXhwZXJpZW5jZSBhdCB0aGV2YmFjbGluay5jb20vc2hhcmUuIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGFsbCB0aGluZ3MgVkJBQyBpbmNsdWRpbmcgb25saW5lIGFuZCBpbi1wZXJzb24gVkJBQyBjbGFzc2VzLCBUaGUgVkJBQyBMaW5rIGJsb2csIGFuZCBNZWFnYW7igJlzIGJpbywgaGVhZCBvdmVyIHRvIHRoZXZiYWNsaW5rLmNvbS4gQ29uZ3JhdHVsYXRpb25zIG9uIHN0YXJ0aW5nIHlvdXIgam91cm5leSBvZiBsZWFybmluZyBhbmQgZGlzY292ZXJ5IHdpdGggVGhlIFZCQUMgTGluay5TdXBwb3J0IHRoaXMgcG9kY2FzdCBhdCDigJQgaHR0cHM6Ly9yZWRjaXJjbGUuY29tL3RoZS12YmFjLWxpbmsvZG9uYXRpb25zQWR2ZXJ0aXNpbmcgSW5xdWlyaWVzOiBodHRwczovL3JlZGNpcmNsZS5jb20vYnJhbmRzIiwiZHVyYXRpb24iOnsidG90YWxNaWxsaXNlY29uZHMiOjI3MzYxMTd9LCJpZCI6IjdzQTdhOUJNZGU1SzlScFJhZUhDaWoiLCJtZWRpYVR5cGVzIjpbIkFVRElPIl0sIm5hbWUiOiJFcGlzb2RlIDI5NyBNYWN5J3MgQW1hemluZyBIQkEyQyArIFdoYXQgRG9lcyB0aGUgRXZpZGVuY2UgU2hvdyBmb3IgVkJBMkM/IiwicGxheWFiaWxpdHkiOnsicGxheWFibGUiOnRydWUsInJlYXNvbiI6IlBMQVlBQkxFIn0sInBsYXllZFN0YXRlIjp7InBsYXlQb3NpdGlvbk1pbGxpc2Vjb25kcyI6MCwic3RhdGUiOiJOT1RfU1RBUlRFRCJ9LCJwb2RjYXN0VjIiOnsiX190eXBlbmFtZSI6IlBvZGNhc3RSZXNwb25zZVdyYXBwZXIiLCJkYXRhIjp7Il9fdHlwZW5hbWUiOiJQb2RjYXN0IiwiY292ZXJBcnQiOnsic291cmNlcyI6W3siaGVpZ2h0Ijo2NCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwZjY4ZGJiNWY3NmJhNDMyZGZjMzAzZjM3ZjgwNiIsIndpZHRoIjo2NH0seyJoZWlnaHQiOjMwMCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwNWYxZmJiNWY3NmJhNDMyZGZjMzAzZjM3ZjgwNiIsIndpZHRoIjozMDB9LHsiaGVpZ2h0Ijo2NDAsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMGJhOGFiYjVmNzZiYTQzMmRmYzMwM2YzN2Y4MDYiLCJ3aWR0aCI6NjQwfV19LCJuYW1lIjoiVGhlIFZCQUMgTGluayIsInNob3dUeXBlcyI6W10sInVyaSI6InNwb3RpZnk6c2hvdzozNmJWeHFPR2QxRVljUjBvSnRlRjVuIn19LCJyZWxlYXNlRGF0ZSI6eyJpc29TdHJpbmciOiIyMDI0LTA1LTA2VDA3OjEwOjAwWiJ9LCJyZXN0cmljdGlvbnMiOnsicGF5d2FsbENvbnRlbnQiOmZhbHNlfSwidXJpIjoic3BvdGlmeTplcGlzb2RlOjdzQTdhOUJNZGU1SzlScFJhZUhDaWoifSx7Il9fdHlwZW5hbWUiOiJFcGlzb2RlIiwiYXVkaW8iOnsiaXRlbXMiOlt7ImZpbGVJZCI6ImY5OTU5MzY1ZTVhNTA3MmFhNzZiYzMxNmQxODNmMDY3ODU4ZjBlMjQiLCJmb3JtYXQiOiJNUDRfMTI4IiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvZjk5NTkzNjVlNWE1MDcyYWE3NmJjMzE2ZDE4M2YwNjc4NThmMGUyNCJ9LHsiZmlsZUlkIjoiOWE5YmFjNDRjZTQwMjI3ZWY4OWZiMDhiNWE3MTFhOGUwMTJmOGVkOCIsImZvcm1hdCI6Ik1QNF8xMjhfQ0JDUyIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3LzlhOWJhYzQ0Y2U0MDIyN2VmODlmYjA4YjVhNzExYThlMDEyZjhlZDgifSx7ImZpbGVJZCI6ImY2MWViZWRjNmFmMzBhNDQ2YmIyMDE2MGMzOTU4MTlkNGM4YzI1ODEiLCJmb3JtYXQiOiJPR0dfVk9SQklTXzk2IiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvZjYxZWJlZGM2YWYzMGE0NDZiYjIwMTYwYzM5NTgxOWQ0YzhjMjU4MSJ9LHsiZmlsZUlkIjoiYTQ5MWFlOGRjNWI0YTI3MWJhZTkzYjVlYzk3Yjk0YTFjZDc0MzhjMCIsImZvcm1hdCI6IkFBQ18yNCIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3L2E0OTFhZThkYzViNGEyNzFiYWU5M2I1ZWM5N2I5NGExY2Q3NDM4YzAifSx7ImZpbGVJZCI6ImFjZmQ0MTU2NTQ5ODc1YzBjMzc3ZjQzNDIwMWRmY2NlMDRhMGU2MTUiLCJmb3JtYXQiOiJNUDRfMTI4X0RVQUwiLCJ1cmwiOiJodHRwczovL3Auc2Nkbi5jby9tcDMtcHJldmlldy9hY2ZkNDE1NjU0OTg3NWMwYzM3N2Y0MzQyMDFkZmNjZTA0YTBlNjE1In1dfSwiY29udGVudFJhdGluZyI6eyJsYWJlbCI6Ik5PTkUifSwiY292ZXJBcnQiOnsic291cmNlcyI6W3siaGVpZ2h0Ijo2NCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwZjY4ZDliYWQzZGQ0NTBjNTMxZDMwNmU1NWIyYyIsIndpZHRoIjo2NH0seyJoZWlnaHQiOjMwMCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwNWYxZjliYWQzZGQ0NTBjNTMxZDMwNmU1NWIyYyIsIndpZHRoIjozMDB9LHsiaGVpZ2h0Ijo2NDAsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMGJhOGE5YmFkM2RkNDUwYzUzMWQzMDZlNTViMmMiLCJ3aWR0aCI6NjQwfV19LCJkZXNjcmlwdGlvbiI6Ikl0IGNhbiBiZSBkaWZmaWN1bHQgdG8gZmluZCBWQkFDIHN1cHBvcnQgd2l0aCBnZXN0YXRpb25hbCBkaWFiZXRlcyBhbmQgbW9zdCB3aG8gYXJlIHN1cHBvcnRpdmUgb2YgVkJBQyBoaWdobHkgcmVjb21tZW5kIGEgMzktd2VlayBpbmR1Y3Rpb24uIEhlaWRp4oCZcyBmaXJzdCBwcmVnbmFuY3kvYmlydGggaW5jbHVkZWQgZ2VzdGF0aW9uYWwgZGlhYmV0ZXMgd2l0aCBkYWlseSBpbnN1bGluIGluamVjdGlvbnMsIGEgMzktd2VlayBpbmR1Y3Rpb24sIFBlbmljaWxsaW4gZHVyaW5nIGxhYm9yIGZvciBHQlMsIHB1c2hpbmcgZm9yIGZpdmUgaG91cnMsIGFuZCBhIEMtc2VjdGlvbiBmb3IgYXJyZXN0IG9mIGRlc2NlbnQgZHVlIHRvIE9QIHByZXNlbnRhdGlvbi7CoEhlaWRpIHdhc27igJl0IHN1cmUgaWYgc2hlIHdhbnRlZCB0byBnbyB0aHJvdWdoIGFub3RoZXIgYmlydGggYWZ0ZXIgaGVyIGZpcnN0IHRyYXVtYXRpYyBleHBlcmllbmNlLCBidXQgc2hlIGZvdW5kIGEgdmVyeSBzdXBwb3J0aXZlIHByYWN0aWNlIHRoYXQgbWFkZSBoZXIgZmVlbCBzYWZlIHRvIGdvIGZvciBpdCBhZ2Fpbi4gVGhvdWdoIG1hbnkgcHJhY3RpY2VzIHdvdWxkIGhhdmUgcmlza2VkIGhlciBvdXQgb2YgZ29pbmcgZm9yIGEgVkJBQyBkdWUgdG8gaGVyIGFnZSBhbmQgc3Vic2VxdWVudCBnZXN0YXRpb25hbCBkaWFiZXRlcyBkaWFnbm9zaXMsIGhlciBuZXcgcHJhY3RpY2Ugd2FzIHNvIHJlYXNzdXJpbmcsIGNhbG0sIGFuZCBzdXBwb3J0aXZlIG9mIGhvdyBIZWlkaSB3YW50ZWQgdG8gYmlydGguwqBIZWlkaSBrbmV3IHNoZSB3YW50ZWQgdG8gZ28gaW50byBzcG9udGFuZW91cyBsYWJvciBhbmQgdHJ5IGZvciBhbiB1bm1lZGljYXRlZCBWQkFDLiBXaXRoIHRoZSBzYWZldHkgYW5kIHN1cHBvcnQgb2YgaGVyIHRlYW0sIHNoZSB3YXMgYWJsZSB0byBkbyBqdXN0IHRoYXQuIEF0IGp1c3Qgb3ZlciA0MCB3ZWVrcywgSGVpZGkgd2VudCBpbnRvIGxhYm9yIHNwb250YW5lb3VzbHkgYW5kIGxhYm9yZWQgYmVhdXRpZnVsbHkuIEluc3RlYWQgb2YgcHVzaGluZyBmb3Igb3ZlciBmaXZlIGhvdXJzLCBIZWlkaSBvbmx5IHB1c2hlZCBmb3IgMzAgbWludXRlcyEgSXQgd2FzIGV4YWN0bHkgdGhlIGRyZWFteSBiaXJ0aCBzaGUgaG9wZWQgaXQgd291bGQgYmUuwqBUaHJvbWJvY3l0b3BlbmlhUmVhbCBGb29kIGZvciBHZXN0YXRpb25hbCBEaWFiZXRlcyBieSBMaWx5IE5pY2hvbHNJbmZvcm1lZCBQcmVnbmFuY3kgUGx1c8KgTmVlZGVkIFdlYnNpdGVIb3cgdG8gVkJBQzogVGhlIFVsdGltYXRlIFByZXAgQ291cnNlIGZvciBQYXJlbnRzRnVsbCBUcmFuc2NyaXB0IHVuZGVyIEVwaXNvZGUgRGV0YWlsc8KgMDU6NTAgUmV2aWV3IG9mIHRoZSBXZWVrMDg6MDQgSGVpZGnigJlzIGZpcnN0IHByZWduYW5jeSB3aXRoIGdlc3RhdGlvbmFsIGRpYWJldGVzMTI6MDUgVGFraW5nIGluc3VsaW4xODowOCAzOS13ZWVrIGluZHVjdGlvbsKgMjA6NTkgUHVzaGluZ8KgMjQ6MjkgQXJyZXN0IG9mIGRlc2NlbnQgYW5kIG9wdGluZyBmb3IgYSBDLXNlY3Rpb24yNzowNiBSZXNlYXJjaGluZyBwcm92aWRlcnMgYmVmb3JlIHNlY29uZCBwcmVnbmFuY3kzODowNCBEaXNjdXNzaW9ucyBhcm91bmQgaW5kdWN0aW9uNDE6NDUgTlNUcyB0d2ljZSBhIHdlZWs0NzoxMCBUZXN0aW5nIGZvciBwcmVlY2xhbXBzaWE1NDo1MyBTcG9udGFuZW91cyBsYWJvcjU3OjQzIEdvaW5nIHRvIHRoZSBob3NwaXRhbDE6MDI6MDMgTGFib3JpbmcgaW4gdGhlIHR1YjE6MDY6MjIgUHVzaGluZyBmb3IgMzAgbWludXRlc01lYWdhbjogSGVsbG8sIFdvbWVuIG9mIFN0cmVuZ3RoLiBJdCBpcyBNZWFnYW4gYW5kIHdlIGhhdmUgYSBmcmllbmQgZnJvbSBOZXcgSGFtcHNoaXJlLiBIZXIgbmFtZSBpcyBIZWlkaS4gSGVsbG8sIGhvdyBhcmUgeW91P8KgSGVpZGk6IEnigJltIGRvaW5nIGdyZWF0LiBIb3cgYXJlIHlvdT9NZWFnYW46IEkgYW0gc28gZ3JlYXQuIEnigJltIGV4Y2l0ZWQgdG8gcmVjb3JkIHRoaXMgc3RvcnkgdG9kYXkgYmVjYXVzZSB0aGVyZSBhcmUgc28gbWFueSB0aW1lcyBpbiBUaGUgVkJBQyBMaW5rIENvbW11bml0eSBvbiBGYWNlYm9vayB3aGVyZSB3ZSBzZWUgcGVvcGxlIGNvbW1lbnRpbmcgYWJvdXQgZ2VzdGF0aW9uYWwgZGlhYmV0ZXMgYW5kIGZvciBhIHJlYWxseSBsb25nIHRpbWUgb24gdGhlIHBvZGNhc3QsIHdlIGRpZG7igJl0IGhhdmUgYW55IHN0b3JpZXMgYWJvdXQgZ2VzdGF0aW9uYWwgZGlhYmV0ZXMuIEp1c3QgcmVjZW50bHksIHRoaXMgeWVhciByZWFsbHksIHdl4oCZdmUgaGFkIHNvbWUgZ2VzdGF0aW9uYWwgZGlhYmV0ZXMgc3Rvcmllcy4gSSBqdXN0IGxvdmUgaXQgYmVjYXVzZSBJIHRoaW5rIGEgbG90IG9mIHRoZSB0aW1lIGluIHRoZSBzeXN0ZW0sIHRoZXJlIGlzIGRvdWJ0IHBsYWNlZCB3aXRoIHRoZSBhYmlsaXR5IHRvIGdpdmUgYmlydGggd2l0aCBnZXN0YXRpb25hbCBkaWFiZXRlcyBvciB0aGVyZSBpcyB0aGUgd2hvbGUgd2lsbCBpbmR1Y2Ugb3Igd29u4oCZdCBpbmR1Y2UgdHlwZSB0aGluZywgYW5kIHdpdGggZ2VzdGF0aW9uYWwgZGlhYmV0ZXMsIHlvdSBoYXZlIHRvIGhhdmUgYSBiYWJ5IGJ5IDM5IHdlZWtzIGlmIHRoZXkgd29u4oCZdCBpbmR1Y2UgeW91IGFuZCBpdCBqdXN0IGdvZXMuwqBTbyBJIGxvdmUgaGVhcmluZyB0aGVzZSBzdG9yaWVzIGFuZCBIZWlkaeKAmXMgc3RvcnkgdG9kYXnigJMgc2hlIGFjdHVhbGx5IGhhZCBnZXN0YXRpb25hbCBkaWFiZXRlcyB3aXRoIGJvdGggc28gd2l0aCBoZXIgQy1zZWN0aW9uIGFuZCB3aXRoIGhlciBWQkFDLiBJdCB3YXMgY29udHJvbGxlZC4gSXQgd2FzIGFtYXppbmcuIFRoYXTigJlzIGFub3RoZXIgdGhpbmcgdGhhdCBJIGxvdmUgaGVhcmluZyBpcyB0aGF0IGl0IGlzIHBvc3NpYmxlIHRvIGNvbnRyb2wuIFdlIGxvdmUgTGlseSBOaWNob2xzIGFuZCB0aGUgYm9vayBhYm91dCBnZXN0YXRpb25hbCBkaWFiZXRlcyBhbmQgcHJlZ25hbmN5LiBXZSB3aWxsIG1ha2Ugc3VyZSB0byBoYXZlIGl0IGluIHRoZSBsaW5rLCBidXQgaXQgaXMgc28gZ29vZCB0byBrbm93IHRoYXQgaXQgZG9lc27igJl0IGhhdmUgdG8gYmUgYSBiaWcsIG92ZXJ3aGVsbWluZyB0aGluZy4gSXQgY2FuIGJlIGNvbnRyb2xsZWQgYW5kIGl0IGRvZXNu4oCZdCBoYXZlIHRvIGJlIHRvbyBjcmF6eS4gUmlnaHQ/IERpZCB5b3UgZmluZCB0aGF0IGFsb25nIHRoZSB3YXk/wqBIZWlkaTogWWVzLiBZZXMsIGRlZmluaXRlbHkuIFRoZSBmaXJzdCBvbmUgd2FzIHByZXR0eSBzY2FyeSwgYnV0IHRoZW4gdGhlIHNlY29uZCBvbmUsIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZyBhbmQgeW91IGNhbiBjb250cm9sIGl0IGFuZCB5b3UgY2FuIGtlZXAgYWR2b2NhdGluZyBmb3IgeW91cnNlbGYuwqBNZWFnYW46IEFic29sdXRlbHkuIEFuZCB0aGVuIGluIGFkZGl0aW9uIHRvIGdlc3RhdGlvbmFsIGRpYWJldGVzLCBzaGUgaGFkIGFkdmFuY2VkIG1hdGVybmFsIGFnZSBiYXJlbHkgd2l0aCBoZXIgc2Vjb25kLCBidXQgdGhhdCBpcyBzb21ldGhpbmcgdGhhdCBhbHNvIGdldHMgdGhyb3duIG91dC4gQSBsb3Qgb2YgdGhlIHRpbWUsIHdlIGhhdmUgcHJvdmlkZXJzIHNheWluZywg4oCcV2Ugc2hvdWxkbuKAmXQgaGF2ZSBhIHZhZ2luYWwgYmlydGguIFdlIHNob3VsZCBoYXZlIGEgQy1zZWN0aW9uIGJ5IHRoaXMgdGltZSzigJ0gc28gdGhhdOKAmXMgYW5vdGhlciB0aGluZy4gSWYgeW91IGFyZSBhbiBhZHZhbmNlZC1tYXRlcm5hbC1hZ2UgbWFtYSwgbGlzdGVuIHVwIGJlY2F1c2UgaGVyZSBpcyBhbm90aGVyIHN0b3J5IGZvciB5b3UgYXMgd2VsbC4gV2UgZG9u4oCZdCBoYXZlIGEgbG90IG9mIHRob3NlIG9uIHRoZSBwb2RjYXN0LiBXZSBhcmUgc28gZXhjaXRlZCB0byB3ZWxjb21lIEhlaWRpIHRvIHRoZSBzaG93LsKgMDU6NTAgUmV2aWV3IG9mIHRoZSBXZWVrTWVhZ2FuOiBPZiBjb3Vyc2UsIHdlIGFyZSBnb2luZyB0byBkbyBhIFJldmlldyBvZiB0aGUgV2VlayBhbmQgdGhlbiB3ZSB3aWxsIGRpdmUgcmlnaHQgaW4uIFRoaXMgd2FzIGZyb20gc3RlcGhhbmlldCBhbmQgaXQgc2F5cywg4oCcSW5zcGlyaW5nIGFuZCBFZHVjYXRpb25hbC7igJ0gSXQgc2F5cywg4oCcQXMgYSBtb3RoZXIgY3VycmVudGx5IGluIGhlciB0aGlyZCB0cmltZXN0ZXIgcHJlcGFyaW5nIGZvciBhIFZCQUMsIEkgd2FzIHNvIGhhcHB5IHRvIGZpbmQgdGhpcyBwb2RjYXN0LiBUaGUgc3RvcmllcyBzaGFyZWQgYXJlIHNvIGVuY291cmFnaW5nIGFuZCBpdCBpcyBzbyBjb21mb3J0aW5nIHRvIGtub3cgdGhhdCBJIGFtIG5vdCBhbG9uZSBpbiBmZWVsaW5nIHRoYXQgb25jZSBhIENlc2FyZWFuLCBhbHdheXMgYSBDZXNhcmVhbi7igJ0gMTAwJS4gVGhhdCBpcyAxMDAlIHRydWUuIFlvdSBhcmUgbm90IGFsb25lIGhlcmUuIEFuZCBvbmNlIGEgQ2VzYXJlYW4gaXMgbm90IGFsd2F5cyBhIENlc2FyZWFuLsKgSXQgc2F5cywg4oCcVGhpcyBkb2VzIG5vdCBoYXZlIHRvIGJlIG15IHN0b3J5LiBUaGFua3MsIE1lYWdhbiBhbmQgSnVsaWUsIGZvciBwcm92aWRpbmcgdGhlIHN1cHBvcnQgYW5kIGVkdWNhdGlvbiB0byB3b21lbiB3aG8gYXJlIGZpZ2h0aW5nIGZvciBhIGNoYW5jZSB0byBoYXZlIGEgbmF0dXJhbCBjaGlsZGJpcnRoLiBJIHdvdWxkIGxvdmUgdG8gZW5jb3VyYWdlIGFueW9uZSB3YW50aW5nIHRvIGxlYXJuIG1vcmUgYWJvdXQgVkJBQyB0byBsaXN0ZW4gdG8gdGhpcyBwb2RjYXN0LuKAncKgVGhhbmsgeW91LCBzdGVwaGFuaWV0LiBUaGlzIHdhcyBxdWl0ZSBhIGZldyB5ZWFycyBhZ28sIGFjdHVhbGx5LiBUaGlzIHdhcyBpbiAyMDE5LiBXZSBzdGlsbCBoYXZlIHNvbWUgcmV2aWV3cyBpbiAyMDE5IHRoYXQgd2VyZW7igJl0IHJlYWQuIEl04oCZcyAyMDI0LCBzbyB0aGF04oCZcyByZWFsbHkgYXdlc29tZSBhbmQgYXMgdXN1YWwsIGlmIHlvdSBoYXZlIGEgbW9tZW50LCB3ZSB3b3VsZCBsb3ZlIHlvdXIgcmV2aWV3cy4gWW91ciByZXZpZXdzIHRydWx5IGFyZSB3aGF0IGhlbHAgbW9yZSBXb21lbiBvZiBTdHJlbmd0aCBmaW5kIHRoZXNlIHN0b3JpZXMuIFdlIHdhbnQgdGhlc2Ugc3RvcmllcyB0byBiZSBoZWFyZCBzbyBsZWF2ZSB1cyBhIHJldmlldyBpZiB5b3UgY2FuIG9uIEFwcGxlIFBvZGNhc3RzIGFuZCBHb29nbGUuIFlvdSBjYW4gZW1haWwgdXMgYSByZXZpZXcgb3Igd2hhdGV2ZXIsIGJ1dCBkZWZpbml0ZWx5IGlmIHlvdSBsaXN0ZW4gdG8gdGhlIHBvZGNhc3Qgb24gYSBwbGF0Zm9ybSwgbGVhdmUgYSByZXZpZXcgYW5kIHRoYXQgd291bGQgaGVscC7CoDA4OjA0IEhlaWRp4oCZcyBmaXJzdCBwcmVnbmFuY3kgd2l0aCBnZXN0YXRpb25hbCBkaWFiZXRlc01lYWdhbjogQWxsIHJpZ2h0LCBNcy4gSGVpZGkuIFdlbGNvbWUgdG8gdGhlIHNob3cgYW5kIHRoYW5rIHlvdSBmb3IgYmVpbmcgd2l0aCB1cy7CoEhlaWRpOiBUaGFua3MgZm9yIGhhdmluZyBtZS4gVGhpcyBpcyBhd2Vzb21lLsKgTWVhZ2FuOiBXZWxsLCBsZXTigJlzIHRhbGsgYWJvdXQgaXQuIFNoYXJlIHlvdXIgc3Rvcnkgd2l0aCB1cyB3aXRoIHlvdXIgQy1zZWN0aW9uLsKgSGVpZGk6IFllYWguIFdlIHdlcmUgcGxhbm5pbmcgZm9yIGEgY2hpbGQgYW5kIHdlIGp1c3QgZGVjaWRlZC4gV2Ugd2VyZSBsaWtlLCDigJxPa2F5LiBMZXTigJlzIHNob290IGZvciBhbiBBcHJpbCBiaXJ0aGRhdGUu4oCdIFdlIGp1c3QgdGhvdWdodCB0aGF0IHdlIGNvdWxkIGp1c3QgaGF2ZSBhIGNoaWxkLCBidXQgd2UgZ290IGx1Y2t5IGFuZCB3ZSBkaWQgb24gdGhlIGZpcnN0IHRyeS7CoE1lYWdhbjogQW1hemluZy7CoEhlaWRpOiBXZSB3ZW50IHRvIG91ciBsb2NhbCBob3NwaXRhbCB0aGF0IHdhcyBhYm91dCBmaXZlIG1pbnV0ZXMgYXdheSBmb3IgY2FyZSBhbmQgaXQganVzdCBzZWVtZWQgZ29vZCBlbm91Z2guIEF0IHRoZSB0aW1lLCBJIHRob3VnaHQgeW91IGp1c3QgZ28gdG8gdGhlIGhvc3BpdGFsLiBZb3UgZ2V0IGNhcmUuIFlvdSBjYW4gdHJ1c3QgdGhlIHByb3ZpZGVyIGFuZCB5b3UgZG9u4oCZdCByZWFsbHkgbmVlZCB0byBkbyBhbnl0aGluZyBvdGhlciB0aGFuIGEgaG9zcGl0YWwgYmlydGggY2xhc3MgZm9yIHByZXBwaW5nLiBXZSBqdXN0IHdlbnQgYWxvbmcgdGhhdCBqb3VybmV5LiBUaGV5IGFzc3VyZWQgbWUsIOKAnFRoaXMgd2lsbCBiZSBhIG5vcm1hbCBwcmVnbmFuY3kuIEV2ZXJ5dGhpbmcgaXMgZ3JlYXQu4oCdIFRoZSBwcmVnbmFuY3kgd2FzIHVuZXZlbnRmdWwgdW50aWwgYWJvdXQgMjAgd2Vla3Mgd2hlbiBJIGZvdW5kIG91dCBteSBiYWJ5IHdhcyBtaXNzaW5nIGEga2lkbmV5IGR1cmluZyBhIHJvdXRpbmUgdWx0cmFzb3VuZC4gVGhhdCBzZW50IHVzIGRvd24gR29vZ2xlIHJhYmJpdCBob2xlcyBhbmQgYWxsIGtpbmRzIG9mIGZ1biB0aGluZ3MuwqBNZWFnYW46IEnigJltIHN1cmUsIHllYWguwqBIZWlkaTogWWVhaC4gU28gYXQgdGhhdCBwb2ludCwgd2Ugd2VyZSBhc3NpZ25lZCBhIE1hdGVybmFsLWZldGFsIG1lZGljaW5lIE9CLiBJIHdhcyBvZmZlcmVkIGFuIGFtbmlvY2VudGVzaXMgaWYgd2Ugd2FudGVkIHRvIGNoZWNrIGFuZCBzZWUgd2hhdCBlbHNlIHdhcyB3cm9uZyBhbmQgdGhpbmdzIGxpa2UgdGhhdC4gVGhhdCB3YXMgYSBtYWpvciBjdXJ2ZWJhbGwuwqBNZWFnYW46IERpZCB5b3UgZW5kIHVwIHBhcnRpY2lwYXRpbmcgaW4gdGhlIGFtbmlvP8KgSGVpZGk6IE5vLCB3ZSBkaWRu4oCZdC4gV2UgaGFkIGEgY291cGxlIG9mIGRldGFpbGVkIHVsdHJhc291bmRzIGFmdGVyIHRoYXQuIEF0IGZpcnN0LCB0aGV5IGRpZG7igJl0IGFjdHVhbGx5IHRlbGwgbWUgd2hhdCB0aGV5IHdlcmUgbG9va2luZyBmb3IuIEkgaGFkIHRocmVlIHVsdHJhc291bmRzIGluIGEgcm93IHRoYXQgd2VyZSBub3QgdGhlIG1vcmUgZGV0YWlsZWQgb25lcy7CoE1lYWdhbjogT2gsIG9rYXkuwqBIZWlkaTogSSB3YXMgbGlrZSwg4oCcV2h5IGFtIEkgaGF2aW5nIGFsbCBvZiB0aGVzZSB1bHRyYXNvdW5kcz8gTm9ib2R5IGlzIHNheWluZyBhbnl0aGluZy7igJ0gSSBmaW5hbGx5IGdvdCBhIHBob25lIGNhbGwgdGVsbGluZyBtZSB0aGF0IG15IGRhdWdodGVyIHdhcyBtaXNzaW5nIGEga2lkbmV5IHNvIHRoYXTigJlzIHdoYXQgdGhleSB3ZXJlIGxvb2tpbmcgZm9yLiBJIHdhcyBsaWtlLCDigJxPa2F5LiBHb29kIHRvIGtub3cu4oCdwqBNZWFnYW46IFllYWguIFlvdSB3b3VsZCBoYXZlIHRob3VnaHQgc29tZSBjb21tdW5pY2F0aW9uIGJlZm9yZSB0aGVuIHdvdWxkIGhhdmUgaGFwcGVuZWQgdGhvdWdoLsKgSGVpZGk6IFllYWguIEl0IHdhcyBwcmV0dHkgc2NhcnkuIFNvIHdoYXQgc2VlbWVkIHByZXR0eSB1bmV2ZW50ZnVs4oCTTWVhZ2FuOiBHb3QgZXZlbnRmdWwuwqBIZWlkaTogWWVhaCwgaXQgZGlkLiBTbyByaWdodCBhcm91bmQgMjgtMzAgd2Vla3Mgd2hlbiB0aGV5IGRvIHRoZSBnZXN0YXRpb25hbCBkaWFiZXRlcyBjaGVjaywgSSB3ZW50IGluIGZvciBteSBjaGVjayBhbmQgZm91bmQgdGhhdCBJIHdvdWxkIG5lZWQgdG8gc3RhcnQgdHJhY2tpbmcgbXkgYmxvb2Qgc3VnYXIgYW5kIGRpYWJldGVzIGRvZXMgdGVuZCB0byBraW5kIG9mIHJ1biBpbiBteSBmYW1pbHkgZXZlbiB0aG91Z2ggZXZlcnlib2R5IGlzIHZlcnkgaGVhbHRoeS4gSSB3YXMgd29uZGVyaW5nIGlmIGl0IHdvdWxkIGNvbWUgdXAgYW5kIGFsc28gYmVpbmcgb2xkZXIsIHNvbWV0aW1lcyB0aGV5IHNheSB0aGVyZSBpcyBhIGxpbmsgYnV0IGl0IHN0aWxsIHRvb2sgbWUgYnkgc3VycHJpc2UgYmVjYXVzZSBJ4oCZbSBhIHZlcnkgYWN0aXZlIHBlcnNvbiBhbmQgSSBlYXQgcmVhbGx5IGhlYWx0aHkuwqBJIGZlbHQgbGlrZSBhIGZhaWx1cmUgYmFzaWNhbGx5LsKgTWVhZ2FuOiBJ4oCZbSBzbyBzb3JyecKgSGVpZGk6IFllYWguIEFsbCBvZiBhIHN1ZGRlbiwgSeKAmW0gbWVldGluZyB3aXRoIGEgbnV0cml0aW9uaXN0LiBUaGV5IGdpdmUgbWUgdGhpcyB3aG9sZSBwYWNrYWdlIG9mIGEgZmluZ2VyIHByaWNrZXIuIFllYWgsIGV4YWN0bHkuIEFsbCBvZiBhIHN1ZGRlbiwgSeKAmW0gc3VibWl0dGluZyBsb2dzIGZvdXIgdGltZXMgYSBkYXkgY2hlY2tpbmcgYmxvb2Qgc3VnYXIsIGFuZCB0aGUgZmFzdGluZyBudW1iZXJzIGZvciBtZSBqdXN0IHdlcmVu4oCZdCBjb21pbmcgZG93biBzbyBpdCB3YXMgYWJvdXQgb25lIHdlZWsgb2YgdGhhdCwgYW5kIHRoZW4gYWxsIG9mIGEgc3VkZGVuLCB0aGV5IHdlcmUgc2F5aW5nLCDigJxPa2F5LiBZb3UgcHJvYmFibHkgbmVlZCBpbnN1bGluLuKAncKgMTI6MDUgVGFraW5nIGluc3VsaW5IZWlkaTogSXQgY2FtZSBvbiBzbyBmYXN0LCBzbyBzdHJvbmcuwqBNZWFnYW46IFdvdy7CoEhlaWRpOiBJdCB3YXMgcmVhbGx5IHNjYXJ5IHNvIHRoZW4gSSBmb3VuZCBteXNlbGYgZ29pbmcgdG8gdGhlIHBoYXJtYWN5LiBJIGFtIGEgdmVyeSBoZWFsdGh5IHBlcnNvbiBzbyBpdCB3YXMganVzdCBhbGwgcmVhbGx5IHdlaXJkIGdvaW5nIHRvIHRoZSBwaGFybWFjeSBidXlpbmcgaW5zdWxpbiBhbmQgbGVhcm5pbmcgYWxsIGFib3V0IGluc3VsaW4gYW5kIGxlYXJuaW5nIGFsbW9zdCBob3cgbGl0dGxlIHRoZSBtZWRpY2FsIGZpZWxkIHVuZGVyc3RhbmRzIGFib3V0IGdlc3RhdGlvbmFsIGRpYWJldGVzLiBUaGF0IHdhcyBzb21ldGhpbmcgYm91bmNpbmcgaW4gbXkgaGVhZCBib3VuY2luZyBvZmYgdGhlIHdhbGwgdHJ5aW5nIHRvIHVuZGVyc3RhbmQgdGhlIHBsYW4gdGhlcmUuwqBNZWFnYW46IFllYWguwqBIZWlkaTogWWVhaCwgc28gYWZ0ZXIgdGhhdCwgdGhlbiBJIGdvdCBwaG9uZSBjYWxscyBmcm9tIHRoZSBudXJzZXMuIFRoZXkgc2FpZCwg4oCcWW91IGtub3csIG5vdyB5b3UgYXJlIG9uIGluc3VsaW4uIE5vdywgeW91IGFyZSBnb2luZyB0byBoYXZlIHR3aWNlIHdlZWtseSBOU1RzIHJlcXVpcmVkIGF0IDM1IHdlZWtzLuKAnSBJ4oCZbSB0aGlua2luZywg4oCcV2VsbCwgSeKAmW0gd29ya2luZyBmdWxsIHRpbWUuIEhvdyBhbSBJIGdvaW5nIHRvIGRvIGFsbCBvZiB0aGlzP+KAnSBUaGVyZSBpcyBqdXN0IHNvIG11Y2ggc2ljayB0aW1lIGFuZCBpdCB3YXMgcmVhbGx5LCByZWFsbHkgZGlmZmljdWx0IHRvIGhlYXIgYWxsIG9mIHRoYXQuwqBNZWFnYW46IFllYWguIEhvdyBkbyBJIGhhdmUgdGltZSBmb3IgYWxsIG9mIHRoYXQ/IFBsdXMganVzdCBiZWluZyBwcmVnbmFudC7CoEhlaWRpOiBZZWFoLiBZZWFoLiBJbnN1bGluIGFuZCBqdXN0IGZvciBhbnlvbmUgdGhhdCBkb2VzbuKAmXQga25vdywgYmFzaWNhbGx5IHlvdSBpbmplY3QgeW91cnNlbGYuIEkgd2FzIGluamVjdGluZyBteXNlbGYgZXZlcnkgbmlnaHQgd2l0aCBhbiBpbnN1bGluIHBlbiBhbmQgaXQgd2FzIGFsbCBqdXN0IHZlcnkgd2VpcmQgYmVjYXVzZSB5b3XigJlyZSBhbHNvIHRoaW5raW5nLCDigJxXZWxsLCBJ4oCZbSBwcmVnbmFudC4gSeKAmXZlIG5ldmVyIGJlZW4gb24gdGhpcyBtZWRpY2F0aW9uLiBXaGF0IGlzIGl0IGdvaW5nIHRvIGRvIHRvIG1lPyBXaGF0IGlzIGl0IGRvaW5nIHRvIG15IGJhYnk/4oCdIFZlcnkgbmVydmV3cmFja2luZy4gSXTigJlzIGFsbCBub3JtYWwgdG8gZmVlbCB0aGF0IHdheS7CoE1lYWdhbjogWWVhaC4gSSB0aGluayBzb21ldGltZXMgd2hlbiB3ZSBnZXQgdGhlc2UgZGlhZ25vc2VzLCB3ZSB3YW50IHRvIGVpdGhlciByZWNsdXNlIGJlY2F1c2UgaXTigJlzIHNvIG92ZXJ3aGVsbWluZywgYW5kIHNvbWV0aW1lcyB0aGVuLCBvdXIgbnVtYmVycyBjYW4gZ2V0IGEgbGl0dGxlIHdvbmt5LCBvciB3ZSBkaXZlIGluIHNvIG11Y2ggdGhhdCBpdCBjb25zdW1lcyB1cyBhbmQgd2UgZm9yZ2V0IHRoYXQgd2UgYXJlIHN0aWxsIGh1bWFuIGFuZCB3ZSBkb27igJl0IGhhdmUgdG8gZG8gdGhhdC7CoEhlaWRpOiBZZWFoLiBOb3cgdGhhdCB5b3Ugc2F5IHRoYXQsIEkgZGVmaW5pdGVseSBkaWQgYSBsaXR0bGUgYml0IG9mIGJvdGguwqBNZWFnYW46IERpZCB5b3U/IEhlaWRpOiBJIGRpZCBhIGxpdHRsZSBiaXQgb2YgZGVuaWFsIGFuZCB0aGVuIEkgZGlkIGEgbGl0dGxlIGJpdCBvZiBvYnNlc3NpdmUgcmVzZWFyY2hpbmcuwqBNZWFnYW46IFllYWgsIGJlY2F1c2UgeW91IHdhbnQgdG8ga25vdy4gWW91IHdhbnQgdG8gYmUgaW5mb3JtZWQgYW5kIHRoYXTigJlzIHN1cGVyIGdvb2QsIGJ1dCBzb21ldGltZXMgaXQgY2FuIGNvbnRyb2wgdXMuwqBIZWlkaTogWWVzLiBBYnNvbHV0ZWx5LiBZb3XigJlyZSB3YXRjaGluZyBldmVyeSBzaW5nbGUgdGhpbmcgdGhhdCBnb2VzIGludG8geW91ciBib2R5LiBJIHByb2JhYmx5IGRpZG7igJl0IGxvb2sgYXQgZm9vZCBub3JtYWxseSB1bnRpbCBteSBzZWNvbmQgcHJlZ25hbmN5IHRvIGJlIGhvbmVzdCB3aXRoIHlvdS7CoE1lYWdhbjogUmVhbGx5P8KgSGVpZGk6IFllYWguwqBNZWFnYW46IFllYWguIFllYWguIFNvIGl0IHdhcyB3b3JraW5nLiBUaGluZ3Mgd2VyZSBiZWluZyBtYW5hZ2VkLsKgSGVpZGk6IFllcy4gSSB3YXMgaG9uZXN0bHkgdmVyeSBncmF0ZWZ1bCBmb3IgdGhlIGluc3VsaW4uIE9idmlvdXNseSwgaXQgdG9vayBhIGxpdHRsZSB3aGlsZSB0byBmZWVsIHRoYXQgd2F5LCBidXQgaXQgd2FzIHZlcnkgd2VsbC1tYW5hZ2VkLiBNeSBudW1iZXJzIHdlcmUgcmlnaHQgaW4gcmFuZ2UuIE15IGJsb29kIHN1Z2FycyB3ZXJlIGFsd2F5cyBub3JtYWwgdGhyb3VnaG91dCB0aGUgZGF5LiBJIG5ldmVyIGhhZCB0byBkbyBhbnl0aGluZyBkdXJpbmcgdGhlIGRheS4gSSBqdXN0IGNoZWNrZWQgbXkgYmxvb2Qgc3VnYXJzLsKgVGhlbiB0aGUgb3RoZXIgdGhpbmcgdGhhdCBjYW1lIGFzIGFuIGFsYXJtLCB0aGV5IHRvbGQgbWUgYWJvdXQgdGhlIE5TVHMgd2hpY2ggYXJlIG5vbi1zdHJlc3MgdGVzdHMuIFRoZXkgYWxzbyBtZW50aW9uZWQgdGhhdCBJIHdvdWxkIG5lZWQgYW4gaW5kdWN0aW9uIGluIHRoZSAzOXRoIHdlZWsgYmVjYXVzZeKAk01lYWdhbjogMzkgdG8gYmUgc3VnZ2VzdGVkLCBJIHNob3VsZCBzYXkuwqBIZWlkaTogWWVhaC4gSXQgd2FzbuKAmXQgZXhwbGFpbmVkIHRvIG1lIHRoYXQgd2l0aCB0aGF0IHByb3ZpZGVyLCBpdCB3YXMgYSBjaG9pY2UuIEl0IHdhc27igJl0IGEgc3VnZ2VzdGlvbi4gSXQgd2FzIGxpa2UsIOKAnFlvdSBoYXZlIHRvIGRvIHRoaXMgb3IgeW91IG1pZ2h0IGhhdmUgYSBzdGlsbGJpcnRoLuKAnSBJdCB3YXMgcmVhbGx5IHNjYXJ5LsKgTWVhZ2FuOiBPaC7CoEhlaWRpOiBJIGRpZG7igJl0IGtub3cgSSBoYWQgYSBjaG9pY2UuIEJlaW5nIGEgZmlyc3QtdGltZSBtb20gYW5kIG5vdCBrbm93aW5nIGFib3V0IGV2aWRlbmNlLWJhc2VkIGJpcnRoLCB0aGlzIHBvZGNhc3QsIG9yIGFsbCBvZiBpdC4gSSBoYWQgbm8gaWRlYS4gU28gSSB3YXMgdG9sZCBJIGNvdWxkIHNjaGVkdWxlIGl0IGFueXRpbWUgYWZ0ZXIgbXkgMzZ0aCB3ZWVrIGFuZCBmb3IgZXZlcnkgYXBwb2ludG1lbnQgdGhhdCBJIGhhZCBhcyBJIHN0YXJ0ZWQgZ2V0dGluZyBjbG9zZXIsIEkgZmVsdCBhIGxvdCBvZiBwcmVzc3VyZSBmcm9tIHRoZSBwcm92aWRlcnMgdG8gc2NoZWR1bGUgdGhlIGluZHVjdGlvbi4gVGhleSBjaXRlZCB0aGUgQVJSSVZFIHRyaWFsLsKgTWVhZ2FuOiBZZXMuIEFub3RoZXIgdGhpbmcgSSByb2xsIG15IGV5ZXMgYXQuIEkgZG9u4oCZdCBoYXRlIGFsbCB0aGluZ3MuIEkganVzdCBkb27igJl0IGxpa2Ugd2hlbiBwZW9wbGUgY2FsbCBwZW9wbGUgb2xkIGFuZCB3aGVuIHRoZXkgdGVsbCBwZW9wbGUgdGhleSBoYXZlIHRvIGRvIHNvbWV0aGluZyBiZWNhdXNlIG9mIGEgdHJpYWwgdGhhdCByZWFsbHkgd2FzbuKAmXQgdGhhdCBncmVhdC4gQnV0LCBva2F5LsKgSGVpZGk6IFllcC4gWWVhaC4gSSBtZWFuLCB0aGV5IGRpZG7igJl0IGV4cGxhaW4gdGhlIGRldGFpbHMgb2YgaXQgZWl0aGVyLiBUaGV5IGp1c3Qgc2FpZCwg4oCcT2gsIGl04oCZcyB0aGUgQVJSSVZFIHRyaWFsLOKAnSBzbyBJIGdvIGFuZCBHb29nbGUgYW5kIHRyeSB0byBtYWtlIHNlbnNlIG9mIGl0LiBUaGV5IGp1c3Qgc2F5LCDigJxTdGlsbGJpcnRoIHJpc2sgaW5jcmVhc2VzLuKAnSBUaGV5IHNheSwg4oCcSWYgeW91IGFyZSBpbmR1Y2VkIGF0IHRoZSAzOXRoIHdlZWssIHRoZXJlIGlzIG5vIGluY3JlYXNlIGFuZCBjaGFuY2Ugb2YgYSBDLXNlY3Rpb24s4oCdIHNvIEkgdGhvdWdodCwg4oCcT2gsIG9rYXkuIFN1cmUu4oCdwqBNZWFnYW46IFJpZ2h0LiBSaWdodCwgeWVhaC7CoEhlaWRpOiBJIGZpbmFsbHkgZ2F2ZSBpbiBuZWFyIHRoZSBlbmQgYW5kIEkgc2NoZWR1bGVkIG15IGluZHVjdGlvbiBmb3IgdGhlIDM5dGggd2VlayBhbmQgNnRoIGRheS7CoE1lYWdhbjogT2theSwgc28gYWxtb3N0IDQxLsKgSGVpZGk6IFllcC4gU28gdGhlbiBJIHdvcmtlZCByaWdodCB1cCB0byB0aGUgbmlnaHQgYmVmb3JlIG15IGluZHVjdGlvbi4gSSB3YXMgYWRtaXR0ZWQgdG8gdGhlIGhvc3BpdGFsIGF0IDc6MDAgQU0uIEkgd2FzIHBsYW5uaW5nIGZvciBhbiB1bm1lZGljYXRlZCwgdW5jb21wbGljYXRlZCBkZWxpdmVyeSBhbmQgYW4gaW5kdWN0aW9uIHVzaW5nIGEgQ29vayBiYWxsb29uIGJlY2F1c2UgbXkgcHJvdmlkZXIgaGFkIGNoZWNrZWQgbWUgaW4gdGhlIG9mZmljZSB0aGUgZGF5IGJlZm9yZSBhbmQgdGhleSBmb3VuZCB0aGF0IEkgd2FzIDEgY2VudGltZXRlciBkaWxhdGVkIHNvIHRoZXkgc2FpZCB0aGV5IGNvdWxkIHByb2JhYmx5IGdldCB0aGUgYmFsbG9vbi7CoEnigJltIHRoaW5raW5nLCDigJxPaCwgaXTigJlzIGdvaW5nIHRvIGJlIGEgbWVjaGFuaWNhbCBpbmR1Y3Rpb24uIFRoZXJl4oCZcyBnb2luZyB0byBiZSBubyBJVi4gSXTigJlzIGdvaW5nIHRvIGJlIHJlYWxseSBhcyBuYXR1cmFsIGFzIHBvc3NpYmxlLuKAnSAxODowOCAzOS13ZWVrIGluZHVjdGlvbsKgSGVpZGk6IEkgZ2V0IGludG8gdHJpYWdlIGFuZCBpbW1lZGlhdGVseSwgdGhleSBzdGFydCBwdXR0aW5nIGFuIElWIGluIG15IHJpZ2h0IGFybS4gSSBhbSByaWdodC1oYW5kZWQuwqBNZWFnYW46IFdoeSBkbyB0aGV5IGRvIHRoYXQ/IElmIHlvdSBhcmUgbGlzdGVuaW5nIGFuZCB5b3UgYXJlIGdldHRpbmcgYW4gSVYsIGRvbuKAmXQgaGVzaXRhdGUgdG8gc2F5LCDigJxIZXksIHRoYXTigJlzIG15IGRvbWluYW50IGhhbmQuIENhbiB3ZSBwdXQgaXQgaW4gdGhlIG90aGVyIG9uZT/igJ0gQWxzbywgZG9u4oCZdCBoZXNpdGF0ZSB0byBzYXksIOKAnERvbuKAmXQgcHV0IGl0IGluIG15IHdyaXN0IHdoZXJlIEnigJltIGdvaW5nIHRvIHRyeSBhbmQgYmUgYmVuZGluZyBhbmQgYnJlYXN0ZmVlZGluZyBhIGJhYnkgaW4gdGhlIGVuZC4gUHV0IGl0IGluIHRoZSBoYW5kIG9yIHB1dCBpdCB1cCBpbiB0aGUgYXJtLuKAncKgSGVpZGk6IFRoYXTigJlzIHJlYWxseSBnb29kIGFkdmljZS4gSSBkaWRu4oCZdCBrbm93IHRoYXQgdGhlIGZpcnN0IHRpbWUuwqBNZWFnYW46IEkgZGlkbuKAmXQgZWl0aGVyLsKgSGVpZGk6IEkga25ldyBlbm91Z2ggdG8gc2F5LCDigJxXaG9hLCB3aG9hLCB3aG9hLiBQdXQgaXQgaW4gbXkgbGVmdCBoYW5kLuKAnSBUaGV5IGVuZGVkIHVwIHB1dHRpbmcgaXQgaW4gbXkgZm9yZWFybS7CoFNvIGhlcmUgSSBhbS4gSSB3YXMgaG9va2VkIHVwIHRvIFBlbmljaWxsaW4uIEkgd2FzIEdCUyBwb3NpdGl2ZS4gSSBmZWVsIGxpa2UgSSBoYWQgYWxsIG9mIHRoZSB0aGluZ3MuwqBNZWFnYW46IFllcy4gV2XigJl2ZSBnb3QgZ2VzdGF0aW9uYWwgZGlhYmV0ZXMsIEdCUywgbWF0ZXJuYWwgYWdlLCBhbmQgbm93IHdl4oCZdmUgZ290IGFuIGluZHVjdGlvbi7CoEhlaWRpOiBZZWFoLiBPaCB5ZWFoLiBTbyB5ZWFoLiBUaGV5IHB1dCBpbiBQZW5pY2lsbGluLCBQaXRvY2luLCBhbmQgc2FsaW5lLCBhbmQgdGhlbiB0aGV5IHNob3dlZCBtZSBob3cgdG8gbW92ZSBhcm91bmQgd2hpbGUgd2hlZWxpbmcgYW4gSVYgcG9sZS7CoE1lYWdhbjogTW1tLCB5ZWFoLiBGdW4uSGVpZGk6IFllYWguIFdlIGZlbHQgYSBsaXR0bGUgZ3V0dGVkIGF0IHRoYXQgcG9pbnQuIFdlIGFyZSBpbiB0aGUgaG9zcGl0YWwgYW5kIHNvcnJ5LCB3aGVuIEkgc2F5IHdlLCBpdOKAmXMgbXkgaHVzYmFuZCBhbmQgSS4gWWVhaC4gVGhlIG1pZHdpZmUgaGFkIHRyb3VibGUgZ2V0dGluZyB0aGUgQ29vayBiYWxsb29uIGluLiBXZSBqdXN0IHNhdCBhcm91bmQgb24gUGl0b2NpbiB0aGF0IGZpcnN0IGRheS4gVGhlIE9CIGZpbmFsbHkgZ290IGl0IGluIGFyb3VuZCAxMDowMCBQTSB0aGF0IG5pZ2h0LiBJdCB3YXMgaGVyIGZpcnN0IHZpc2l0IHRvIHNlZSB1cyBhY3R1YWxseS4gU2hlIHByb2JhYmx5IGNvdWxkIGhhdmUgZ290dGVuIGl0IGluIGVhcmxpZXIgaGFkIHNoZSBjb21lIGVhcmxpZXIuIEl0IHNwZWQgdXAgdGhlIGxhYm9yIG92ZXJuaWdodCBhcyBzb29uIGFzIHRoZSBDb29rIGJhbGxvb24gd2VudCBpbi4gSXQgd2FzIGEgYml0IHBhaW5mdWwuIFRoZXkgc3RvcHBlZCB0aGUgUGl0b2NpbiB0aGUgbmV4dCBtb3JuaW5nLsKgTXkgd2F0ZXIgYnJva2Ugb24gaXRzIG93bi4gVGhleSB3ZXJlIHRhbGtpbmcgYWJvdXQgY29taW5nIGluIHRvIGJyZWFrIG15IHdhdGVyIGFuZCBJIHRoaW5rIG15IGJvZHkgcHJvYmFibHkgaGVhcmQgdGhlbSwgc28gaXQgYnJva2Ugb24gaXRzIG93bi4gWWVhaC4gSSB3YXMganVzdCBsYXlpbmcgaW4gdGhlIGJlZCBhbmQgaXQgaGFwcGVuZWQuIFRoZW4gbGFib3IgYmVnYW4gdG8gcGljayB1cCwgYnV0IHRoZSBjb250cmFjdGlvbnMgd2VyZSBzdGlsbCBub3QgcmVndWxhci4gUGl0b2NpbiB3YXMgaW5jcmVhc2VkIGFuZCB0aGVuIHRoZSBjb250cmFjdGlvbnMgZ290IHJlYWxseSBpbnRlbnNlLCBidXQgc3RpbGwgaXJyZWd1bGFyIHVudGlsIGFyb3VuZCA0OjAwIFBNIHRoYXQgZGF5IGF0IHdoaWNoIHBvaW50LCBJIGp1c3QgY291bGRu4oCZdCB0YWtlIGl0LiBJIGFza2VkIGZvciB0aGUgZXBpZHVyYWwuwqBNZWFnYW46IFRoYXTigJlzIGEgbG90LiBUaGF04oCZcyBhIGxvdC7CoEhlaWRpOiBZZWFoLiBJdCB3YXMgaW50ZW5zZS7CoDIwOjU5IFB1c2hpbmfCoEhlaWRpOiBUaGUgc2hpZnQgY2hhbmdlZCBhbmQgYSBuZXcgbnVyc2UgaGFkIGEgc3R1ZGVudCB3aXRoIGhlci4gU28gSSBjb25zZW50ZWQgdG8gdGhlIHN0dWRlbnQgYmVpbmcgdGhlcmUgdGhpbmtpbmcsIOKAnE9oIHllYWguIENvbWUgb24uIENvbWUgb2JzZXJ2ZSBteSBhd2Vzb21lIGxhYm9yLiBUaGlzIGlzIGdvaW5nIHRvIGJlIGFtYXppbmcuIEl04oCZcyBnb2luZyB0byBiZSBhIHZhZ2luYWwgZGVsaXZlcnkgYW5kIGV2ZXJ5dGhpbmcs4oCdIHNvIEnigJltIGxpa2UsIOKAnFllYWgsIHN1cmUuIExldCB0aGVtIGxlYXJuLuKAnSBJIGFjaGlldmVkIDEwIGNlbnRpbWV0ZXJzIGRpbGF0aW9uIGFuZCBmdWxsIGVmZmFjZW1lbnQgYXJvdW5kIDk6MDAgUE0gdGhhdCBuaWdodCBzbyBpdCB3YXMgcmVhbGx5IGV4Y2l0aW5nLsKgTWVhZ2FuOiBUaGF04oCZcyBhY3R1YWxseSBwcmV0dHkgZmFzdC4gMTA6MDAgaXMgd2hlbiB0aGUgQ29vayB3YXMgcGxhbm5lZCB0aGUgbmlnaHQgYmVmb3JlLiA5OjAwIFBNLCBzbyBoZXksIHRoYXTigJlzIHByZXR0eSBnb29kLsKgSGVpZGk6IFllYWguIEkgd2FzIGhhcHB5IGFib3V0IHRoYXQuIEkgd2FzIHNvIGV4Y2l0ZWQgdG8gcHVzaC4gSSBjb3VsZG7igJl0IGZlZWwgYSBsb3QgYmVjYXVzZSBJIHdhcyBvbiB0aGUgZXBpZHVyYWwsIGJ1dCBpdCByZWFsbHkgdG9vayB0aGUgcGFpbiBhd2F5IGFuZCBpdCBoZWxwZWQgYSBsb3QgaW4gdGhlIG1vbWVudC7CoFNvIGxldOKAmXMgc2VlLCBJIHdhcyBtb3N0bHkgb24gbXkgYmFjay4gSSB3YXMgdGlyZWQuIEkgd2FzIGp1c3QgcmVhbGx5IHRpcmVkIGF0IHRoaXMgcG9pbnQuIFRoZXJlIHdhcywgdGhlIG51cnNlIHRoYXQgSSBoYWQgd2FzIHByZXR0eSBuZXcuIFNoZSBoYWQgYmVlbiB0aGVyZSBmb3IgSSB0aGluayA2IG1vbnRocyBhbmQgdGhlbiBzaGUgd2FzIGFsc28gdHJ5aW5nIHRvIGp1Z2dsZSB0aGUgc3R1ZGVudCBudXJzZS4gU2hlIGRpZG7igJl0IGhhdmUgYSBsb3Qgb2Yga25vd2xlZGdlIG9mIHBvc2l0aW9uaW5nLiBJIHRob3VnaHQgZ29pbmcgaW50byBpdCB0aGF0IGFsbCBudXJzZXMgd2VyZSB0cmFpbmVkIGluIFNwaW5uaW5nIEJhYmllcyBhbmQgYWxsIG51cnNlcyBoYWQgdGhlIGtub3dsZWRnZSBvZiBiYWJ5IHBvc2l0aW9uaW5nIGFuZCB0aGluZ3MgbGlrZSB0aGF0LCBidXQgSSB3YXMgd3JvbmcuwqBNZWFnYW46IFllYWgsIHVuZm9ydHVuYXRlbHksIHRoZXkgYXJlIG5vdCBhbGwuIEkgZG9u4oCZdCB0aGluayBhIGxvdCBvZiB0aGVtIGhhdmUgaXQgYWN0dWFsbHkuIE1vc3Qgb2YgdGhlbSBkb27igJl0LsKgSGVpZGk6IFllYWguIEkgcHVzaGVkIG1vc3RseSBvbiBteSBiYWNrIGFuZCB3aGVuIHRoZSBPQiBjYW1lIGluIGFyb3VuZCAxMTowMCwgc2hlIG5vdGljZWQgbXkgcHVzaGluZyB3YXMgbm90IGVmZmVjdGl2ZSBhdCAxMTowMCBQTS7CoE1lYWdhbjogU28gdHdvIGhvdXJzIGluLsKgSGVpZGk6IFllcy4gTXkgcG9zaXRpb24gbmVlZGVkIHRvIGJlIGNoYW5nZWQuIFNoZSBnb3QgbWUgdXAgb24gdGhlIHNxdWF0IGJhciBhbmQgdGhlbiBzaGUgbGVmdCBhZ2FpbiwgYnV0IHNoZSBzaG93ZWQgbWUgaG93IHRvIHB1c2ggYW5kIGV2ZXJ5dGhpbmcgaW4gdGhlIG1lYW50aW1lLiBXaGVuIHNoZSBjYW1lIGJhY2sgaW4sIHNoZSBleHBsYWluZWQgdG8gbWUgdGhhdCBJIHdvdWxkIHByb2JhYmx5IG5lZWQgYSBDLXNlY3Rpb24gc29vbi4gSSBkb27igJl0IGV4YWN0bHkgcmVtZW1iZXIgdGhhdCBzZXF1ZW5jZSBvZiBldmVudHMgYmVjYXVzZSBpdCBpcyBzbyBpbnRlbnNlLiBJIGZlbHQgcmVhbGx5IGRlZmVhdGVkLiBJIHdhcyBsaWtlLCDigJxJIGp1c3Qgc3RhcnRlZC4gV2hhdCBkbyB5b3UgbWVhbiBJIHdpbGwgcHJvYmFibHkgbmVlZCBhIEMtc2VjdGlvbj/igJ0gTWVhZ2FuOiBTbyB5b3Ugd2VyZSBzdGlsbCB3YW50aW5nIHRvIGtlZXAgZ29pbmc/SGVpZGk6IE9oIHllYWguIE9oIHllYWguIFNoZSBhbHNvIGV4cGxhaW5lZCB0aGF0IG1lY29uaXVtIHN0YXJ0ZWQgdG8gc2hvdyBpbiB0aGUgYW1uaW90aWMgZmx1aWQuIFRoZSBPQiBleHBsYWluZWQgdG8gbWUgdGhhdCB0aGUgYmFieSB3YXMgcHJvYmFibHkgaW4gZGlzdHJlc3MgYmVjYXVzZSBvZiB0aGF0LiBUaGF0IHdhcyBhbGwgdGhhdCB3YXMgc2FpZC7CoEhlaWRpOiBJIHNwaWtlZCBhIGZldmVyLiBUaGV5IGdhdmUgbWUgVHlsZW5vbCBhbmQgdGhlbiB0aGUgYmFieeKAmXMgaGVhcnQgcmF0ZSBiZWdhbiB0byBzbG93IGEgbGl0dGxlIGJpdCwganVzdCBmb3IgYSBsaXR0bGUgYml0LiBUaGUgT0IgaW5zZXJ0ZWQgYSBtb25pdG9yIG9uIHRoZSB0b3Agb2YgaGVyIGhlYWQuIEF0IHRoaXMgcG9pbnQsIEkgZmVsdCBsaWtlIEkgd2FzIHB1c2hpbmcgZm9yIG15IGxpZmUuIEkgd2FzIGxpa2UsIOKAnE9oIG15IGdvc2guIEkgbmVlZCB0byBnZXQgdGhpcyBiYWJ5IG91dC4gSG93IGRvIEkgZG8gdGhpcz/igJ0gQnV0IEkgc3RpbGwgZmVsdCBsaWtlLCDigJxJIGNhbiBkbyB0aGlzLiBJIGNhbiBkbyB0aGlzLiBJIGtub3cgSSBjYW4gZG8gdGhpcy7igJ3CoE1lYWdhbjogWWVhaC7CoEhlaWRpOiBCdXQgdGhlcmUgd2VyZSBkZWZpbml0ZWx5IHF1ZXN0aW9ucyBhdCB0aGlzIHBvaW50LsKgMjQ6MjkgQXJyZXN0IG9mIGRlc2NlbnQgYW5kIG9wdGluZyBmb3IgYSBDLXNlY3Rpb25IZWlkaTogWWVhaCwgc28gdGhlbiBhcm91bmQgMjozMCBpbiB0aGUgbW9ybmluZywgSSB3YXMgdG9sZCBieSB0aGUgT0IgdG8gZ2V0IG9uIGFsbCBmb3VycyBhbmQgdHJ5IG9uZSBsYXN0IHBvc2l0aW9uIGFuZCBJIGNvdWxkIG9wdCBmb3IgYSBDLXNlY3Rpb24gYXQgdGhhdCBwb2ludCBvciBJIGNvdWxkIHB1c2ggdW50aWwgdGhlIE9CIGNhbWUgYmFjayBpbi4gSSB3YXMgbGlrZSwg4oCcWW91IGtub3cgd2hhdD8gSeKAmW0gZ29pbmcgdG8gZ2l2ZSBpdCBhbGwgSSBoYXZlLiBJ4oCZbSBnb2luZyB0byB3b3JrIHNvIGhhcmQgYW5kIHRoZSBiYWJ5IGlzIGdvaW5nIHRvIGNvbWUgb3V0IGluIHRoZSBuZXh0IDQ1IG1pbnV0ZXMuIFNoZeKAmXMgZ290IHRvLuKAncKgU28gSSBkaWQuIEhvbmVzdGx5LCBJIHdhcyBzbyBncmF0ZWZ1bCB0aGF0IEkgaGFkIHRoYXQgbGFzdCA0NSBtaW51dGVzLiBJIGZlZWwgbGlrZSBpZiBJIGRpZG7igJl0LCBpdCB3b3VsZCBoYXZlIGJlZW4gc3RvbGVuIGZyb20gbWUuIEkgZmVlbCBJIHdhcyBkZWZlYXRlZCB3aGVuIHNoZSBjYW1lIGJhY2sgaW4gYmVjYXVzZSBzaGUgd2FzIHN0aWxsIG5vdCBvdXQgYW5kIEkgd2FzIGV4aGF1c3RlZCwgYnV0IEkgd2FzIHJlYWR5LiBUaGUgYmFieSB3YXMgbm90IGdvaW5nIHRvIGNvbWUgb3V0IGFueSBvdGhlciB3YXkgYXQgdGhpcyBwb2ludCBmb3Igd2hhdGV2ZXIgcmVhc29uLiBUaGF0IHdhcyBnb2luZyB0byBiZSBkaXNzZWN0ZWQgbW9udGhzIGxhdGVyLCB5ZWFycyBsYXRlciBieSBtZSwgYnV0IGluIHRoZSBtb21lbnQsIHllYWguIFNoZSB3YXMgYXQgc3RhdGlvbiAwLiBJIHdhcyB0b2xkIHNoZSB3YXNu4oCZdCBmYXIgZW5vdWdoIGRvd24gdG8gZG8gYW4gYXNzaXN0ZWQgZGVsaXZlcnksIHNvIHRoZXkgd2hlZWxlZCBtZSBpbnRvIHRoZSBPUiBmb3IgdGhlIEMtc2VjdGlvbi7CoEkgcmVxdWVzdGVkIHRoYXQgdGhlIGJhYnkgaGF2ZSBza2luLXRvLXNraW4gYXMgd2VsbCBhcyBkZWxheWVkIGNvcmQgY2xhbXBpbmcuIFVuZm9ydHVuYXRlbHksIG5vbmUgb2YgdGhpcyBoYXBwZW5lZCBhbmQgSSBndWVzcyBJIHNob3VsZCBhbHNvIG5vdGUgdGhhdCBvbmNlIHRoZXkgcHV0IHRoZSBtb25pdG9yIG9uIGhlciBoZWFkLCBzaGUgZGlkIGdyZWF0LiBTaGUgc3RpbGwgd2FzIG5vdCBpbiBkaXN0cmVzcy4gSSB3YXMgZG9pbmcgZ3JlYXQgdG9vLiBUaGUgQy1zZWN0aW9uIHdhcyBqdXN0IHJlYWxseSBmb3IgYXJyZXN0IG9mIGRlc2NlbnQuIFRoZXkganVzdCB0aG91Z2h0IGl0IHdhcyB0YWtpbmcgdG9vIGxvbmcgYmVjYXVzZSBJIGhhZCBiZWVuIHB1c2hpbmcgZm9yIGEgbGl0dGxlIG92ZXIgNSBob3VycyBhdCB0aGF0IHBvaW50LsKgTWVhZ2FuOiBZZWFoLsKgSGVpZGk6IFllYWguIFNoZSB3YXMgYm9ybiB2aWEgQy1zZWN0aW9uIGF0IDM6MjAgaW4gdGhlIG1vcm5pbmcuIFNoZSB3ZWlnaGVkIDcgcG91bmRzLCAxIG91bmNlIGFuZCBzaGUgd2FzIGluIHRoZSBPUCBwb3NpdGlvbi7CoE1lYWdhbjogSSB3YXMganVzdCBnb2luZyB0byBzYXksIHdhcyB0aGVyZSBhIHBvc2l0aW9uYWwgaXNzdWUgaGVyZT8gSSBhbHdheXMgd29uZGVyIHdoZW4gdGhlcmXigJlzIHBhdHRlcm5zIGxpa2UgeW91cnMgd2hlcmUgSeKAmW0gbGlrZSwg4oCcVGhhdCBzb3VuZHMgbGlrZSBhIHBvc2l0aW9uYWwgdGhpbmcu4oCdIE9rYXksIHNvIE9QLiBPY2NpcHV0IHBvc3RlcmlvciBmb3IgYW55b25lIHdobyBpcyBsaXN0ZW5pbmcgb3Igc3Vubnktc2lkZSB1cC4gQmFieSBqdXN0IG5lZWRlZCByb3RhdGlvbi7CoEhlaWRpOiBZZWFoLiBZZWFoLiBZZWFoLiBUaGF0IHdhcyB0aGF0LsKgTWVhZ2FuOiBZZWFoLiBTbyB0aGVuIGRpZCB5b3UgZW5kIHVwIHdoZW4geW91IGdvdCBwcmVnbmFudCwgZGlkIHlvdSBlbmQgdXAgc3RheWluZyB3aXRoIHRoaXMgcHJvdmlkZXI/IEhvdyBkaWQgdGhhdCBqb3VybmV5IGJlZ2luP8KgMjc6MDYgUmVzZWFyY2hpbmcgcHJvdmlkZXJzIGJlZm9yZSBzZWNvbmQgcHJlZ25hbmN5SGVpZGk6IEkgd2VudCBiYWNr4oCTIGxldOKAmXMgc2VlLiBJ4oCZbSB0cnlpbmcgdG8gdGhpbmsuIEkgd2VudCBiYWNrIGZvciByb3V0aW5lIGNhcmUgYWxtb3N0IGEgeWVhciBsYXRlci4gSSBoYWQgY2FyZSBpbiBiZXR3ZWVuLCBidXQgSSBoYWQgd2FudGVkIHRvIHNlZSB0aGF0IHByb3ZpZGVyIGp1c3QgdG8gaGF2ZSBjbG9zdXJlLiBJIGFza2VkIGhlci4gQXQgdGhlIHRpbWUsIEkgd2FzbuKAmXQgcmVhbGx5IHN1cmUgdGhhdCBJIHdhbnRlZCBhbm90aGVyIGNoaWxkLiBNeSBodXNiYW5kIGFuZCBJIHdlcmUganVzdCByZWFsbHkgdGhpbmtpbmcsIOKAnElzIHRoYXQgd2hhdCByZWNvdmVyeSBpcyBhbHdheXMgbGlrZT/igJ0gQWZ0ZXIgdGhlIEMtc2VjdGlvbiwgaXQgd2FzIHJlYWxseSBoYXJkLsKgSSBhc2tlZCBoZXIsIOKAnElmIEkgd2VyZSB0byBoYXZlIGFub3RoZXIgY2hpbGQsIHdoYXQgd291bGQgYmUgbXkgb2RkcyBvZiBkZWxpdmVyaW5nIHZhZ2luYWxseT8gQ291bGQgSSBoYXZlIGFub3RoZXIgY2hpbGQgdGhhdCB3YXkgaW5zdGVhZCBvZiB0aGUgQy1zZWN0aW9uP+KAnSBTaGUgc2FpZCwg4oCcWW91IHByb2JhYmx5IHdvdWxkIGVuZCB1cCB3aXRoIGFub3RoZXIgQy1zZWN0aW9uIGlmIHlvdSBldmVuIHRyaWVkIHNvIHlvdSBwcm9iYWJseSBoYXZlIGFib3V0IGEgNDAlIGNoYW5jZS7igJ0gSXQgd2FzIG5vdCBiYXNlZCBvbiBhbnl0aGluZy7CoE1lYWdhbjogSG1tLiBTbyBzaGUgZGlkbuKAmXQgZXZlbiBkbyB0aGUgY2FsY3VsYXRvciwganVzdCBnYXZlIHlvdSBhIHBlcmNlbnRhZ2UuwqBIZWlkaTogTm8uIEp1c3QgZ2F2ZSBtZSBhIHBlcmNlbnRhZ2UuwqBNZWFnYW46IE9oIGRlYXIsIG9rYXkuwqBIZWlkaTogU28gYXQgdGhlIGVuZCBvZiB0aGF0IGFwcG9pbnRtZW50LCBhZ2FpbiwgSSBzdGlsbCBoYWQgbm90IHJlYWxseSBlZHVjYXRlZCBteXNlbGYgYW5kIGtuZXcgdGhhdCB0aGVyZSB3ZXJlIGFtYXppbmcgcmVzb3VyY2VzIG91dCB0aGVyZSwgc28gSSBqdXN0IHNhaWQsIOKAnE9rYXkuIElmIEkgaGF2ZSBhbm90aGVyIGNoaWxkLCBJ4oCZbGwgaGF2ZSB0byBoYXZlIGFub3RoZXIgQy1zZWN0aW9uLuKAnSBJIHdlbnQgaG9tZSBhbmQgdG9sZCBteSBodXNiYW5kLiBJIHNhaWQsIOKAnElmIHdlIGhhdmUgYW5vdGhlciBjaGlsZCwgd2XigJlyZSBnb2luZyB0byBoYXZlIHRvIGhhdmUgYSBDLXNlY3Rpb24u4oCdIFdlIHdlcmUgYm90aCBsaWtlLCDigJxPa2F5LCBtYXliZSB3ZSB3b27igJl0IGhhdmUgYW5vdGhlciBjaGlsZC7igJ3CoFllYWgsIHNvIHRoZW4gYW5vdGhlciB5ZWFyIHBhc3NlZC4gV2Ugd2VyZSBiZWdpbm5pbmcgdG8gZ2V0IHJlYWR5IGFuZCBzbG93bHkgc3RhcnRlZCB0byByZXNlYXJjaCBvdGhlciBwcm92aWRlcnMganVzdCBmb3Igcm91dGluZSBneW5lY29sb2dpY2FsIGNhcmUuwqBXZSBlbmRlZCB1cCBmaW5kaW5nIGEgaG9zcGl0YWwgdGhhdCB3YXMganVzdCBhYm91dCAyNSBtaW51dGVzIGF3YXkganVzdCB0aGlua2luZywg4oCcV2VsbCwgd2hhdCBpZj/igJ0gSSBoYWQgaGVhcmQgdGhpcyBob3NwaXRhbCB3YXMgd2VsbC1rbm93biBmb3IgVkJBQ3MgYW5kIEkgaGFkIGFsc28gc3RhcnRlZCBzZWVpbmcgYSBwZWx2aWMgZmxvb3IgdGhlcmFwaXN0IHByaW9yIHRvIGdvaW5nIHRvIHRoaXMgaG9zcGl0YWwgZm9yIGNhcmUgd2hvIHdhcyB3b3JraW5nIGF0IHRoaXMgaG9zcGl0YWwuIEl0IHdhcyBraW5kIG9mIG9uIG15IHJhZGFyLsKgSGVpZGk6IEZyb20gdGhlcmUsIEkgbWV0IHRoZSBPQi4gSSBtZXQgdGhlIE9CIGFuZCB0aGVuIEkgd2FzIGp1c3QgcmVhbGx5IHNob2NrZWQgYXQgaG93IHN1cHBvcnRpdmUgc2hlIHdhcy4gSW4gdGhlIHBhc3QsIHlvdSBqdXN0IGdvIGludG8gdGhlIE9CIG9yIGd5bmVjb2xvZ2lzdCBhbmQgdGhleSB3aWxsIHB1dCB5b3UgaW4gYSBnb3duIGFuZCB0aGV5IGRvIHdoYXRldmVyIHRoZXkgbmVlZCB0byBkbywgYSBwYXAgc21lYXIgb3Igd2hhdGV2ZXIuIEJ1dCB0aGlzIG9uZSwgdGhlIG51cnNlIGhhZCBzYWlkLCDigJxEb27igJl0IGdldCB1bmRyZXNzZWQuIFRoZXkgd2FudCB0byBtZWV0IHlvdS4gVGhleSB3YW50IHRvIHRhbGsgdG8geW91IGZpcnN0LuKAnSBNZWFnYW46IEkgbG92ZSB0aGF0IHNvIG11Y2guIEkgbG92ZSB0aGF0LiBUaGF04oCZcyBhd2Vzb21lLsKgSGVpZGk6IEl0IHdhcyBzbyBkaWZmZXJlbnQuIEl0IHdhcyBpbiBhIGhvc3BpdGFsLCBidXQgaXQgZGlkbuKAmXQgZmVlbCBsaWtlIGEgbWVkaWNhbCBvZmZpY2UuIFRoZSByb29tcyB3ZXJlIHBhaW50ZWQgYmx1ZXMgYW5kIGdyZWVucy4gWW91IGNvdWxkIHRlbGwgdGhlcmUgd2FzIGEgbG90IG9mIGVmZm9ydCBiZWluZyBtYWRlIHRvIG1ha2UgaXQgZmVlbCBsaWtlIGhvbWUuIEkgYmVnYW4gbXkgam91cm5leS4gSSBoYWQganVzdCBtZXQgd2l0aCBoZXIuIFRoaXMgT0IgaGFkIHRhbGtlZCB0byBtZSBhYm91dCBiaXJ0aCBzdG9yeSBwcm9jZXNzaW5nLiBJIGhhZCBubyBpZGVhIHdoYXQgYW55IG9mIHRoaXMgd2FzLiBJIGhhZCBubyBpZGVhIHRoYXQgSSBldmVuIGhhZCB0cmF1bWEgZnJvbSBteSBsYXN0IHByZWduYW5jeSBhdCB0aGlzIHBvaW50IHVudGlsIEkgaGFkIGp1c3QgbWV0IHdpdGggaGVyIGFuZCB3YXMgdGFsa2luZyB3aXRoIGhlci4gU2hlIHNhaWQsIOKAnFRoZXJlIGlzIG5vIHByZXNzdXJlIGlmIHlvdSBkb27igJl0IHdhbnQgdG8gaGF2ZSBhbm90aGVyIGNoaWxkLuKAnSBJIHdhcyBqdXN0IHRoZXJlIHRvIG1lZXQgd2l0aCBoZXIgYW5kIGhhdmUgYSBjaGVjay11cC7CoEkgdGhpbmsgSSB3YW50IHRvIHNheSBhIGNvdXBsZSBvZiBtb250aHMgcGFzc2VkIGFuZCBhY3R1YWxseSwgdGhhdCBuaWdodCwgSSB3ZW50IGhvbWUgdG8gc2VlIG15IGh1c2JhbmQuIEkgd2FzIGxpa2UsIOKAnFlvdSBrbm93IGlmIHdlIGRvIGhhdmUgYW5vdGhlciBjaGlsZCwgaXTigJlzIGdvaW5nIHRvIGJlIGhlcmUu4oCdIFllYWgsIHNvIGEgY291cGxlIG9mIG1vbnRocyB3ZW50IGJ5IGFuZCB3ZSBkaWQgZGVjaWRlIHRvIGhhdmUgYW5vdGhlciBjaGlsZC4gQWdhaW4sIHRoZSBiYWJ5IHdhcyBjb25jZWl2ZWQgcmlnaHQgYXdheS4gTm8gY29tcGxpY2F0aW9ucy4gVGhpcyB0aW1lLCB3ZSBzdGFydGVkIHdvcmtpbmcgd2l0aCBhIGRvdWxhLiBJIGJlZ2FuIGJpcnRoIHN0b3J5IG1lZGljaW5lIGF0IHRoZSBzYW1lIHRpbWUuIEkgZGlkIHRoYXQgZm9yIGEgY291cGxlIG9mIG1vbnRocyBpbiBhZGRpdGlvbiB0byBteSB0aGVyYXBpc3QgdG8gcHJvY2VzcyB0aGUgYmlydGggdHJhdW1hIGFuZCBqdXN0IGV2ZXJ5dGhpbmcuwqBJIHdhcyB0ZXN0ZWQgZm9yIGdlc3RhdGlvbmFsIGRpYWJldGVzIGVhcmx5IGR1cmluZyB0aGlzIHByZWduYW5jeS4gSSBzdGFydGVkIGluc3VsaW4gYXQgMTEgd2Vla3MgYW5kIEkgd2FzIGp1c3Qga2luZCBvZiByZWFkeSB0aGlzIHRpbWUuIEl0IHdhc27igJl0IGFzIHNjYXJ5IGhvbmVzdGx5IHRoZSBzZWNvbmQgdGltZS4gSXTigJlzIGEgbG90IG9mIHdvcmsuIEkgd291bGQgc2F5IHRoYXQgaXQgd2FzIGFubm95aW5nLCBidXQgaXQgd2FzbuKAmXQgc2NhcnkuwqBNZWFnYW46IFdlbGwsIGFuZCB5b3XigJlyZSBsaWtlLCDigJxJ4oCZdmUgZG9uZSB0aGlzIGJlZm9yZS4gSSBkaWQgYSByZWFsbHkgZ29vZCBqb2IgbGFzdCB0aW1lLiBJIGxlYXJuZWQgYSBsb3Qs4oCdIGJlY2F1c2UgeW91IGRpZCBnbyBwcmV0dHkgZGVlcCBpbnRvIGl0LCBzbyB5b3XigJlyZSBsaWtlLCDigJxJIGNhbiBkbyB0aGlzLiBJ4oCZdmUgZ290IHRoaXMu4oCdIER1aCwgdGhpcyBraW5kIG9mIHN1Y2tzLCBidXQgeW91IGtub3cuIFlvdSBnb3QgaXQuIE5vIHByb2JsZW0uwqBIZWlkaTogUmlnaHQuIE15IGZpcnN0IGJhYnkgd2FzIGJvcm4gYXQgYSByZWFsbHkgZ3JlYXQgd2VpZ2h0IGFuZCB0aGVyZSB3ZXJlIG5vIGNvbXBsaWNhdGlvbnMgYXQgYWxsLsKgTWVhZ2FuOiBHb29kLiBEaWQgdGhleSBhbHJlYWR5IHN0YXJ0IHRhbGtpbmcgYWJvdXQgaW5kdWN0aW9uIGFuZCB0aGluZ3MgbGlrZSB0aGF0IGZyb20gdGhlIGdldC1nbz8gRGlkIHRoZXkgdGFsayBhYm91dCBleHRyYSB0ZXN0aW5nPyBCZWNhdXNlIGF0IHRoaXMgcG9pbnQsIHlvdSBmb3Igc3VyZSBoYXZlIGl0LiBFYXJsaWVyIG9yIGxhdGVyLCBkaWQgdGhleSB0YWxrIGFib3V0IHRoYXQgc3R1ZmY/wqBIZWlkaTogV2l0aCB0aGlzIHByb3ZpZGVyLCBJIHdlbnQgaW4gYW5kIHRoZXkgdG9sZCBtZSBJIHdhcyBvbGQgbGFzdCB0aW1lLCB0aGUgb3RoZXIgcHJvdmlkZXIuIEnigJltIHJlYWxseSBvbGQuIFRoZXkgbG9va2VkIGF0IG1lIGFuZCB3ZXJlIGxpa2UsIOKAnE5vLCB5b3XigJlyZSBub3Qu4oCdwqBNZWFnYW46IE5vLCB5b3XigJlyZSBub3QuwqBIZWlkaTogWWVhaC4gVGhleeKAmXJlIGxpa2UsIOKAnFlvdeKAmXJlIDM3LiBUaGF04oCZcyBub3Qgb2xkLuKAncKgTWVhZ2FuOiBZZWFoLsKgSGVpZGk6IEnigJltIGxpa2UsIOKAnFdoYXQ/4oCdwqBNZWFnYW46IFRoZSBvdGhlciBjbGluaWMsIHdvdWxkIHRoZXkgaGF2ZSB3YW50ZWQgdG8gZG8gTlNUcyBiZWNhdXNlIG9mIGFnZSBhbmQgZ2VzdGF0aW9uYWwgZGlhYmV0ZXM/wqBIZWlkaTogSSBkb27igJl0IGtub3cuwqBNZWFnYW46IE9rYXkuIEJ1dCB0aGVzZSBndXlzIHdlcmUgbGlrZSwg4oCcTm8sIHdl4oCZcmUgZ29vZC4gV2UgZG9u4oCZdCBuZWVkIHRvIGRvIGFueSBleHRyYSB0ZXN0aW5nIGJlY2F1c2Ugb2YgYW4gZWFybHkgZGlhZ25vc2lzIG9mIGdlc3RhdGlvbmFsIGRpYWJldGVzIGFuZCBub3cgeW914oCZcmUgMzcu4oCdIEhlaWRpOiBZZWFoLiBUaGV5IHNhaWQgd2hhdCB0aGV5IGRvIGNvbnNpZGVyIG9sZGVyIGJ1dCBpdOKAmXMgc3RpbGwgbm90IGltcG9zc2libGUgd2FzLCBJIGJlbGlldmUsIG92ZXIgNDAuwqBNZWFnYW46IFNvIHlvdSBkaWRu4oCZdCBldmVuIGhhdmUgdGhhdCBwcmVzc3VyZSBmcm9tIHRoZSBnZXQtZ28/wqBIZWlkaTogTm8sIG5vLsKgTWVhZ2FuOiBXaGF0IGFuIGFtYXppbmcgd2F5IHRvIHN0YXJ0LsKgSGVpZGk6IFllYWguIEl0IHdhcyBhbWF6aW5nLiBUaGV5IGFsc28gd2VyZW7igJl0IGNvbmNlcm5lZCB3aXRoIHRoZSBmYWN0IHRoYXQgSSB3YXMgb24gaW5zdWxpbi4gV2UgZGlkIHRhbGsgYWJvdXQgTlNUcyBiZWNhdXNlIEkgYXNrZWQgYmVjYXVzZSBJIGtuZXcgaXQgd291bGQgY29tZSB1cCBhbmQgdGhleSBoYWQgc2FpZCwg4oCcWW91IGNhbiBoYXZlIG9uY2UgYSB3ZWVrIGFzIGxvbmcgYXMgeW91ciBzdWdhcnMgYXJlIGluIGNvbnRyb2wsIHdlIGFyZSBjb21mb3J0YWJsZSB3aXRoIHRoYXQu4oCdwqBJIGZlbHQgc28gcmVsaWV2ZWQuIFllYWguIEl0IHdhcyBzdWNoIGEgaG9saXN0aWMsIHJlbGF4ZWQgYXBwcm9hY2guIFRoZXkgdHJ1c3RlZCBtZSB0byBtYW5hZ2UgbXkgYm9keSBhbmQgdG8ga25vdyB3aGF0IEkgbmVlZGVkIGFuZCB0aGF0IHdhcyBzbyBlbXBvd2VyaW5nLCB0aGUgd2hvbGUgam91cm5leSB3aGVyZWFzIGJlZm9yZSwgSSBmZWx0IGxpa2UgSSBoYWQgYSByZWFsbHkgc2hvcnQgbGVhc2ggYW5kIHRoZXkgd2VyZSBiYXNpY2FsbHkgbWFuYWdpbmcgZXZlcnl0aGluZyBmb3IgbWUgYXMgaWYgdGhleSBrbmV3IHdoYXQgd2FzIHJpZ2h0IGZvciBtZSBhbmQgbXkgYm9keS7CoE1lYWdhbjogSSB3YXMganVzdCBsb29raW5nLiBJ4oCZbSBqdXN0IGxvb2tpbmcgYmVjYXVzZSBJ4oCZbSBzdXJlIHBlb3BsZSBhcmUgbGlrZSB3aGVyZSBpcyB0aGlzIHBlcnNvbj8gV2hlcmUgaXMgdGhpcyBwcm92aWRlcj8gV2FzIGl0IGF0IHRoZSBDTUM/IElzIHRoYXQgd2hlcmUgaXQgd2FzP8KgSGVpZGk6IFllcy4gWWVhaCwgQ2F0aG9saWMgTWVkaWNhbCBDZW50ZXIgaW4gTWFuY2hlc3Rlci7CoE1lYWdhbjogQXdlc29tZS4gVGhpcyBpcyBnb29kLiBUaGVzZSBhcmUgZ29vZCB2aWJlcyBoZXJlIHdpdGggdGhpcyBwcm92aWRlci7CoEhlaWRpOiBUb3RhbGx5LCB5ZWFoLiBPaCBteSBnb3NoLCB5ZWFoLsKgMzg6MDQgRGlzY3Vzc2lvbnMgYXJvdW5kIGluZHVjdGlvbkhlaWRpOiBTbyBsZXTigJlzIHNlZS4gT25jZSBJ4oCZbSBkaWFnbm9zZWQgd2l0aCBnZXN0YXRpb25hbCBkaWFiZXRlcywgSSBoYXZlIG1hdGVybmFsLWZldGFsIG1lZGljaW5lIHVsdHJhc291bmRzLCBidXQgdGhhdCBhbHNvIHdhcyB0cnVlIGJlY2F1c2UgbXkgZmlyc3QgZGF1Z2h0ZXIgd2FzIGJvcm4gbWlzc2luZyBhIGtpZG5leS4gQWdhaW4sIHNoZeKAmXMgdG90YWxseSBoZWFsdGh5IGFuZCB0b3RhbGx5IGdyZWF0LCBidXQgdGhleSB3YW50ZWQgdG8gbWFrZSBzdXJlIHRoYXQgbm90aGluZyB3ZWlyZCB3YXMgZ29pbmcgb24sIHllYWguwqBUaGF0IHdhcyBhdCBhYm91dCAzMiB3ZWVrcy4gVGhleSB3ZXJlIGFsc28gY2hlY2tpbmcgdGhlIGJhYnnigJlzIGdyb3d0aCBhbmQgYmFieeKAmXMgc2l6ZSBhdCB0aGF0IHBvaW50LiBCYWJ5IHdhcyBtZWFzdXJpbmcgdmVyeSBhdmVyYWdlLiBTaGUgaGFkIHR3byBraWRuZXlzLiBMaXR0bGUgdGhpbmdzIHRoYXQgd2UgdGFrZSBmb3IgZ3JhbnRlZCwgd2Ugd2VyZSBzbyBncmF0ZWZ1bCBmb3IuwqBZZWFoLiBUaGF0IHdlbnQgcmVhbGx5IHdlbGwuIFRoZSBwcmVnbmFuY3kgd2FzIGp1c3QgcHJvZ3Jlc3NpbmcgcmVhbGx5IHdlbGwuIEluIG15IHRoaXJkIHRyaW1lc3RlciwgSSB3YXMgc3RydWdnbGluZyB3aXRoIGFsbCBvZiB0aGUgZXh0cmEgYXBwb2ludG1lbnRzIGFuZCB0aGUgdHJhdW1hIHRoYXQgSSB3YXMgcHJvY2Vzc2luZyB0aG91Z2ggZnJvbSBteSBsYXN0IGJpcnRoIGJlY2F1c2UgSSBrbmV3IGFuZCBteSBndXQgdG9sZCBtZSwg4oCcWW91IG5lZWQgdG8gd29yayB0aHJvdWdoIHRoaXMgYmVjYXVzZSBpZiB5b3UgZG9u4oCZdCwgeW91IGhhdmUgdG8gYmUgcmVhbGx5IHN0cm9uZyB0byBoYXZlIGEgVkJBQy4gWW91IGhhdmUgdG8gcmVhbGx5IHdvcmsgdGhyb3VnaCBhIGxvdCBvZiBtZW50YWwgYmxvY2tzIGFuZCB0aGluZ3MgdGhhdCBjb21lIHlvdXIgd2F5LuKAncKgU28gSSBqdXN0IHN0YXJ0ZWQgZ2V0dGluZyByZWFsbHkgc3RyZXNzZWQgYmV0d2VlbiB3b3JrIGFuZCB0aGUgYXBwb2ludG1lbnRzIHdpbGwgYWxsIHRoZSBkaWZmZXJlbnQgdGhlcmFwaWVzIHNvIEkgZGVjaWRlZCB0byB0YWtlIGEgY291cGxlIG9mIG1vbnRocyBhd2F5IGZyb20gd29yayBwcmlvciB0byB0aGUgZGVsaXZlcnkgaW4gb3JkZXIgdG8gcHJvY2VzcyBldmVyeXRoaW5nIGFuZCBwcmVwYXJlIG15c2VsZi4gVGhhdCB3YXMgYSByZWFsbHkgaGFyZCBkZWNpc2lvbiBidXQgaXQgd2FzIHByb2JhYmx5IG9uZSBvZiB0aGUgYmVzdCBkZWNpc2lvbnMgdGhhdCBJIGNvdWxkIG1ha2UuwqBNZWFnYW46IEdvb2QgZm9yIHlvdS7CoEhlaWRpOiBZZWFoLiBBdCBhcm91bmQgMzYgd2Vla3MsIGl0IHdhcyBzdWdnZXN0ZWQgdG8gbWUgYnkgbXkgcHJvdmlkZXIgdGhhdCBJIGNvdWxkIGNvbnNpZGVyIGEgMzktd2VlayBpbmR1Y3Rpb24sIGJ1dCBpdCB3YXMgZGVsaXZlcmVkIHNvIGRpZmZlcmVudGx5LsKgTWVhZ2FuOiBHb29kLsKgSGVpZGk6IFJlYXNvbmluZyBiYXNpY2FsbHkgc2F5cyB0aGF0IEFDT0cgaGFzIGEgc3VnZ2VzdGlvbiBmb3IgaW5zdWxpbi1jb250cm9sbGVkIGdlc3RhdGlvbmFsIGRpYWJldGVzLiBUaGV5IGJhc2ljYWxseSB0b2xkIG1lIHRoZSBkYXRhLiBUaGV5IHRvbGQgbWUgd2h5IHRoZXkgYXJlIHN1Z2dlc3RpbmcgdGhpcywgYnV0IHVsdGltYXRlbHkgaXQgaXMgbXkgY2hvaWNlLiBJdCB3YXMgYSBkaXNjdXNzaW9uIHRoYXQgSSBqdXN0IGZvdW5kIHRvIGJlIHNvIGluY3JlZGlibGUgYW5kIHdlaXJkIGluIGEgcmVhbGx5IGdvb2Qgd2F5LsKgTWVhZ2FuOiBXaGljaCBpbiBteSBvcGluaW9uIGlzIHNvIHNhZCB0aGF0IHRoZXNlIHRoaW5ncyBoYXBwZW4gdGhhdCBhcmUgZ29vZCBjb252ZXJzYXRpb25zIGhhdmUgdG8gZmVlbCB3ZWlyZCB0byB1cyBiZWNhdXNlIHRoYXQgc2hvdWxkIGp1c3QgYmUgbm9ybWFsLCBidXQgaXTigJlzIG5vdCBhIGxvdCBvZiB0aGUgdGltZSwgcmlnaHQ/wqBIZWlkaTogWWVhaC4gSSB3YXMgd29ya2luZyB3aXRoIG15IGRvdWxhIGF0IHRoZSB0aW1lIGFuZCBzaGUgd2FzIGEgcmVhbGx5IGJpZyBwcm9wb25lbnQgb2YgZXhwZWN0YW50IG1hbmFnZW1lbnQgYW5kIGxldHRpbmcgZXZlcnl0aGluZyBoYXBwZW4gbmF0dXJhbGx5IGFuZCBob25lc3RseSwgdGhhdOKAmXMgYWxsIEkgZXZlciB3YW50ZWQuIEkgdGhpbmsgdGhhdOKAmXMgd2hhdCBtb3N0IHBlb3BsZSB3YW50LsKgU28gSSBqdXN0IGV4cGxhaW5lZCwg4oCcSSBhbSBub3QgaW50ZXJlc3RlZCBpbiBpbmR1Y3Rpb24uIEkgd2FudCB0byBkbyBleHBlY3RhbnQgbWFuYWdlbWVudCBhcyBsb25nIGFzIGV2ZXJ5dGhpbmcgcHJvZ3Jlc3NlcyB0aGUgd2F5IHRoYXQgaXTigJlzIGdvaW5nIGFuZCBpdCBnb2VzIHdlbGwuIFRoYXTigJlzIHdoYXQgSSB3YW50IHRvIGRvLuKAnSBUaGV5IHNhaWQsIOKAnE9rYXkuIFdlIGNhbiBkbyB0aGF0LuKAncKgTWVhZ2FuOiBJIGxvdmUgdGhhdC4gVGhhdOKAmXMgZ3JlYXQuwqBIZWlkaTogSXQgd2FzIGFtYXppbmcuIEl0IHdhcyByZWFsbHkgZW1wb3dlcmluZy7CoDQxOjQ1IE5TVHMgdHdpY2UgYSB3ZWVrSGVpZGk6IFNvIGxldOKAmXMgc2VlLiBUaGV5IHN1Z2dlc3RlZCB0aGF0IEkgaGF2ZSBhIDM2LXdlZWsgdWx0cmFzb3VuZCB0byBjaGVjayBteSBiYWJ54oCZcyBzaXplIGFnYWluLiBBY3R1YWxseSwgbm8gc29ycnkuIFRoZXkgc3VnZ2VzdGVkIGl0LiBJIHdhcyBhY3R1YWxseSBhYmxlIHRvIG5lZ290aWF0ZSBteSB3YXkgb3V0IG9mIGl0LiBJIHNhaWQsIOKAnFlvdSBrbm93LCBJIGp1c3QgaGFkIG9uZSBhdCAzMiB3ZWVrcy4gSXMgaXQgcmVhbGx5IG5lY2Vzc2FyeSB0byBoYXZlIGFub3RoZXIgaW4gNCB3ZWVrcz/igJ0gSSB0YWxrZWQgdG8gdGhlIE9CIGFuZCBzaGUgd2FzIGxpa2UsIOKAnFlvdSBrbm93IHdoYXQ/IE5vLiBZb3UgZG9u4oCZdCBoYXZlIHRvIGRvIHRoYXQu4oCdwqBZZWFoLsKgTWVhZ2FuOiBUaGluZ3MgYXJlIGp1c3QgZ2V0dGluZyBiZXR0ZXIgYW5kIGJldHRlci7CoEhlaWRpOiBPaCwgc28gZ29vZC4gWWVhaC7CoFNvIHJpZ2h0IGFyb3VuZCB0aGVuLCB0aGUgTlNUcyBiZWdhbi4gSeKAmWxsIGp1c3Qgc2F5IGFsc28sIEkgd2FsayBpbnRv4oCTIHNvIE5TVHMgd2VyZSByZWFsbHkgYXdrd2FyZCBkdXJpbmcgbXkgZmlyc3QgcHJlZ25hbmN5LiBJIHNhdCBvbiB0aGUgaG9zcGl0YWwgYmVkIHNvIHVuY29tZm9ydGFibGUgYW5kIHNpdHRpbmcgdXAgd2l0aCBhbGwgb2YgdGhlc2UgdGhpbmdzIGF0dGFjaGVkIHRvIG1lLiBBdCB0aGlzIHByb3ZpZGVyLCBJIGdvIGluLiBUaGVyZSBpcyBhbiBOU1Qgcm9vbSBhbmQgaXTigJlzIHBhaW50ZWQgYmx1ZSBhbmQgaXTigJlzIHJlYWxseSBjb21tb24uIFRoZXJlIGlzIGEgcmVjbGluaW5nIGNoYWlyIGFuZCBmb3IgbWUsIGl0IGp1c3QgcmVhbGx5IGZlbHQgbGlrZSB0aGV5IHdlcmUgbm9ybWFsaXppbmcgdGhlIGZhY3QgdGhhdCBOU1RzIGRvIGhhcHBlbiBhbmQgaXTigJlzIG9rYXkgYW5kIGl04oCZcyBub3JtYWwuIEhlcmXigJlzIGEgc3BlY2lhbCBzcGFjZSBmb3IgaXQuwqBNZWFnYW46IFdlbGwsIGFuZCBhbG1vc3QgbGlrZSB0aGV5IGFyZSBzZXR0aW5nIHlvdSB1cCBmb3Igc3VjY2VzcyBpbiB0aG9zZSBOU1RzIGJlY2F1c2UgaW4gTlNUcywgd2hlbiB3ZSBhcmUgcmVhbGx5IHVuY29tZm9ydGFibGUgYW5kIHRlbnNlLCBvdmVyYWxsLCB0aGF04oCZcyBub3QgZ29pbmcgdG8gYmUgZ29vZCBmb3IgdXMgb3Igb3VyIGJhYmllcy4gVGhhdOKAmXMgZ29pbmcgdG8gcG90ZW50aWFsbHkgZ2l2ZSB1cyByZWFkaW5ncyB0aGF0IHdlIGRvbuKAmXQgd2FudCBidXQgd2hlbiB3ZSBhcmUgY29tZm9ydGFibGUgYW5kIHdlIGFyZSBmZWVsaW5nIHdlbGNvbWVkIGFuZCB3ZSBhcmUgbGlrZSwg4oCcWWVhaCwgd2XigJlyZSBub3QgaGFwcHkgdGhhdCB3ZSBhcmUgaGVyZSB0YWtpbmcgdGhpcyB0ZXN0LOKAnSBvciBzb21ldGltZXMgd2UgYXJlLCBidXQgd2hlbiB3ZSBhcmUgY29tZm9ydGFibGUgYW5kIHdlIGFyZSBmZWVsaW5nIHRoZSBiZWF1dGlmdWwgY29sb3JzIGFuZCB0aGUgbmljZSwgc29mdCByZWNsaW5lciwgaXTigJlzIGEgdmVyeSBkaWZmZXJlbnQgc2l0dWF0aW9uIHRvIHNldCB5b3UgdXAgZm9yIHZlcnkgZGlmZmVyZW50IHJlc3VsdHMuwqBIZWlkaTogWWVzLiBBYnNvbHV0ZWx5LiBZZWFoLCBzbyB0aGVuIG15IGpvdXJuZXkganVzdCBrZXB0IGdvaW5nLiBNeSBOU1RzIHdlcmUgYmVhdXRpZnVsIGV2ZXJ5IHdlZWsuIEl0IHdhcyByZWFsbHkgaW50ZXJlc3RpbmcgaG93IHRoZXkgc2V0IHRoZW0gdXAgYmVjYXVzZSB0aGV5IGhhZCB0aGUgTlNUcyBhZnRlciB0aGUgZG9jdG9y4oCZcyBhcHBvaW50bWVudHMgYmVjYXVzZSB0aGV5IHdlcmVu4oCZdCBleHBlY3RpbmcuIElmIHRoZXkgY2FuIGdldCBhIGdvb2QgcmVhZGluZywgSSB0aGluayB0aGUgbWluaW11bSBpcyAyMCBtaW51dGVzIHdoZXJlYXMgSSBoYWQgdGhlIE5TVHMgYmVmb3JlIHNvIGl0IHdhcyBsaWtlIHRoZXkgd2VyZSBsb29raW5nIGZvciBhIHByb2JsZW0gdGhlbiBJIGhhZCB0aGUgZG9jdG9y4oCZcyBhcHBvaW50bWVudCBzbyBJIGVuZGVkIHVwIGJlaW5nIHRoZXJlIGZvciAyIGhvdXJzIGR1cmluZyBteSBmaXJzdCBwcmVnbmFuY3kuIEJ1dCB0aGVzZSBvbmVzLCBJIG5ldmVyIHNhdCBtb3JlIHRoYW4gMjAgbWludXRlcy5UaGUgbnVyc2VzIHVzdWFsbHkgc2F3IHdoYXQgdGhleSBuZWVkZWQgd2l0aGluIDUgbWludXRlcyBhbmQgdGhleSBzYWlkLCDigJxZb3VyIGJhYnkgaXMgZG9pbmcgZ3JlYXQuIFlvdeKAmXJlIG91dCBvZiBoZXJlIGFzIHNvb24gYXMgdGhlIHRpbWUgaXMgdXAu4oCdwqBNZWFnYW46IFRoYXQgaXMgYW1hemluZy4gT2ggbXkgZ29zaCwgMiBob3Vycy4gVGhhdCBpcyBhIGxvbmcgdGltZS7CoEhlaWRpOiBZZXMuIFllcy4gVGhpcyBwcmVnbmFuY3kgd2FzIHJlYWxseSBvZGQsIGJ1dCBJ4oCZbGwgdGFrZSBpdC4gSSBzdG9wcGVkIG5lZWRpbmcgaW5zdWxpbiBkdXJpbmcgdGhlIGxhc3QgdHdvIHdlZWtzLiBVc3VhbGx5LCB0aGVyZSBpcyBhIHBlYWsgbmVhciB0aGUgZW5kIG9mIHByZWduYW5jeSwgYW5kIHRoZW4gdGhlIG5lZWQgZm9yIGluc3VsaW4gZ29lcyBkb3duIGluIHRoZSBsYXN0IHR3byB3ZWVrcyBJIHdhbnQgdG8gc2F5LiBGb3IgbWUsIGl0IGFjdHVhbGx5IGp1c3Qga2VwdCBnb2luZyBkb3duLCBkb3duLCBkb3duLCBhbmQgdGhlbiBhbGwgb2YgYSBzdWRkZW4sIGl0IHdhcyBnb25lLiBUaGF0IGRpZG7igJl0IGhhcHBlbiBsYXN0IHRpbWUuwqBUaGV5IHdlcmUgYSBsaXR0bGUgbmVydm91cyBhYm91dCB0aGF0IGJlY2F1c2UgaXQgZGlkbuKAmXQgcmVhbGx5IGhhcHBlbi4gSSBleHBsYWluZWQgdG8gdGhlbSwg4oCcSSB0aGluayBpdOKAmXMgaG9uZXN0bHkgcHJvYmFibHkgbGFjayBvZiBzdHJlc3Ms4oCdIGJlY2F1c2UgSSB3YXNu4oCZdCB3b3JraW5nIGF0IG15IGpvYiBhdCB0aGUgdGltZSBhbmQgSSB3YXMgbW92aW5nIGEgbG90IG1vcmUgdG9vLCBzbyB3aG8ga25vd3M/wqBNZWFnYW46IFJlYWxseSBpbnRlcmVzdGluZy7CoEhlaWRpOiBJdCBkaWQgbWFrZSB0aGVtIGEgbGl0dGxlIG5lcnZvdXMgYmVjYXVzZSB0aGV5IHNhaWQgdGhlcmUgaXMgdmVyeSBsaW1pdGVkIGRhdGEsIGJ1dCBzb21ldGltZXMgaXQgY2FuIGluZGljYXRlIGFuIGlzc3VlIHdpdGggdGhlIGJhYnkuwqBNZWFnYW46IE9oLCB0aGUgcGxhY2VudGEuwqBIZWlkaTogU29ycnksIEnigJltIG5lcnZvdXMgc28gSeKAmW0gZm9yZ2V0dGluZy7CoE1lYWdhbjogVGhlcmUgYXJlIHRpbWVzIHdoZW4gaXQgY2FuIGJlIHRoZSBwbGFjZW50YSBiZWluZyBhZmZlY3RlZC4gSXMgdGhhdCB3aGF0IHRoZXkgd2VyZSBzYXlpbmc/SGVpZGk6IFllcywgdGhhbmsgeW91LiBUaGV5IHNhaWQsIOKAnFdlIGNvdWxkIG9mZmVyIGFuIGluZHVjdGlvbiBhdCB0aGlzIHBvaW50LOKAnSBiZWNhdXNlIEkgd2FzIGF0IDM5IHdlZWtzIHdoZW4gdGhleSBicm91Z2h0IHRoYXQgdXAuIEkgc2FpZCwg4oCcSSBkb27igJl0IHRoaW5rIHNvLiBJIHJlYWxseSB3YW50IHRvIHN0YXkgdGhlIGNvdXJzZS4gSSB3YW50IHRvIGRvIGV4cGVjdGFudCBtYW5hZ2VtZW50LuKAnSBUaGV5IHNhaWQsIOKAnE9rYXksIHdvdWxkIHlvdSBiZSBvcGVuIHRvIHR3aWNlLXdlZWtseSBOU1RzP+KAnSBJIHNhaWQsIOKAnFllcy4gSWYgdGhhdCBsZXRzIG1lIGtlZXAgZG9pbmcgd2hhdCBJ4oCZbSBkb2luZywgd2UgY2FuIGRvIHRoYXQgYW5kIGl04oCZcyBwcm9iYWJseSBub3QgYSBiYWQgaWRlYSwgYmVjYXVzZSB5b3UgbmV2ZXIga25vdy7igJ0gNDc6MTAgVGVzdGluZyBmb3IgcHJlZWNsYW1wc2lhSGVpZGk6IEkgd29rZSB1cCBvbmUgbW9ybmluZyBhdCB3ZWVrIDQwIGFuZCB0aG91Z2h0IG15IHdhdGVyIHdhcyB0cmlja2xpbmcgb3V0LiBJIHRleHRlZCBteSBkb3VsYSBhbmQgc2hlIHdhcyBnZXR0aW5nIGhvbWUgZnJvbSBhbm90aGVyIGJpcnRoIGFuZCB3YXMgZ29pbmcgdG8gcmVzdCwgc28gSSB3b3JrZWQgd2l0aCBteSBiYWNrdXAgZG91bGEgZm9yIHRoYXQgZGF5IHdoaWNoIHdhcyBhIGxpdHRsZSBzY2FyeS4gSSBkaWRu4oCZdCBrbm93IHdoYXQgd2FzIGdvaW5nIHRvIGhhcHBlbiBmcm9tIHRoZXJlLsKgQXJvdW5kIDY6MDAgUE0gdGhhdCBuaWdodCwgbXkgaHVzYmFuZCBhbmQgSSBhcnJhbmdlZCBmb3IgbXkgbW9tIHRvIHdhdGNoIG91ciBkYXVnaHRlciBiZWNhdXNlIHdlIG5lZWRlZCB0byBnZXQgdG8gdGhlIGhvc3BpdGFsIHRvIGdldCB0aGUgYW1uaW90aWMgZmx1aWQgY2hlY2tlZC4gV2UgcHJvYmFibHkgc2hvdWxkIGhhdmUgZ29uZSBhIGxpdHRsZSBlYXJsaWVyLCBidXQgdGhlIGJhY2t1cCBkb3VsYSBoYWQgc3VnZ2VzdGVkIGl0IG1pZ2h0IG5vdCBiZSBhbW5pb3RpYyBmbHVpZC4gSXQgbWlnaHQganVzdCBiZSBkaXNjaGFyZ2UuwqBNZWFnYW46IElzIHRoZXJlIG11Y2ggZ29pbmcgb24gbGFib3Itd2lzZT/CoEhlaWRpOiBOb3QgcmVhbGx5LiBJdCB3YXMgcHJldHR5IHF1aWV0LiBUaGVuIEkgYWN0dWFsbHkgaGFkIGFuIE5TVCB0aGUgZGF5IGJlZm9yZSB0aGF0IGFuZCB0aGVyZSByZWFsbHkgd2FzbuKAmXQgbXVjaCBnb2luZyBvbi4gSSBmZWx0IGxpdHRsZSBCcmF4dG9uIEhpY2tzLXR5cGUgdGhpbmdzLCBidXQgbm90aGluZyBtdWNoLiBXZSBwYWNrZWQgb3VyIGJhZ3MsIGdvdCByZWFkeSwgYW5kIGdvdCBteSBtb20uwqBXZSBhcnJpdmVkIGluIHRyaWFnZS4gSSBoYWQgc2xpZ2h0bHkgZWxldmF0ZWQgYmxvb2QgcHJlc3N1cmUgd2hpY2ggd2FzIGp1c3QgYSByb3V0aW5lIGNoZWNrLCBidXQgdGhhdCBiYXNpY2FsbHkgbGVkIHRvIHRoZW0gdGVzdGluZyBtZSBmb3IgcHJlZWNsYW1wc2lhIGFuZCB0aGVuIGEgdXJpbmUgdGVzdC7CoE1lYWdhbjogSG1tLCBhIHNsaWdodCBpbmNyZWFzZT8gT2gsIG1hbi7CoEhlaWRpOiBZZWFoLiBJdCB3YXMgc2xpZ2h0bHkgaW5jcmVhc2VkLiBZb3Uga25vdywgbGlrZSBhIGxvdCBvZiBwZW9wbGUsIGhvc3BpdGFscyBtYWtlIG1lIG5lcnZvdXMuwqBNZWFnYW46IFllcC4gWWVhaC4gVGhleSBqdW1wZWQgcmlnaHQgaW4gYW5kIHN0YXJ0ZWQgZ29pbmcgdGhlIG1vbWVudCB5b3UgZ290IHRoZXJlLsKgSGVpZGk6IFllcy4gWWVhaC4gSXTigJlzIGRpZmZlcmVudC4gSXTigJlzIHN0aWxsIGluIHRoZSBob3NwaXRhbCwgYnV0IGl04oCZcyBzZXBhcmF0ZS4gTGFib3IgYW5kIGRlbGl2ZXJ5IGlzIHNlcGFyYXRlLiBUaGV5IGp1c3QgaGFkIGEgdmVyeSBkaWZmZXJlbnQgbWluZHNldCBhdCB0aGUgbW9tZW50LsKgSSB3YXMgc3VyZSB0aGF0IEkgZGlkbuKAmXQgaGF2ZSBwcmVlY2xhbXBzaWEuIFRoZXkgYXNrZWQgbWUgYWxsIG9mIHRoZSBxdWVzdGlvbnMgYW5kIEnigJltIGxpa2UsIOKAnEkgcmVhbGx5IGRvbuKAmXQgdGhpbmsgdGhhdOKAmXMgd2hhdCB0aGlzIGlzLuKAnSBUaGV5IHdlcmUgc2F5aW5nLCDigJxZb3XigJlyZSBhbHNvIHBvc3QtZGF0ZSB3aXRoIGdlc3RhdGlvbmFsIGRpYWJldGVzLuKAncKgTWVhZ2FuOiBQb3N0LWRhdGUgYnkgb25lP8KgSGVpZGk6IFllcy7CoE1lYWdhbjogT3IgYnkgNDAgd2Vla3MuwqBIZWlkaTogWWVhaC4gWWVhaCwgc28gSSB3b3VsZCBuZWVkIGFuIGluZHVjdGlvbiBpZiBJIGdldCBwcmVlY2xhbXBzaWEgYW5kIGFsbCBvZiB0aGlzLiBXaG8gbGV0IHRoaXMgZ2lybCBnbyB0aGlzIGxvbmc/IFdoYXQgdGhlIGhlY2sga2luZCBvZiB0aGluZz8gTWVhZ2FuOiBOb3QgaGVscGluZyB5b3VyIGJsb29kIHByZXNzdXJlLCB0aGF04oCZcyBmb3Igc3VyZS7CoEhlaWRpOiBJIGRlZmluaXRlbHkgc3RhcnRlZCBmZWVsaW5nIFBUU0QuIEkgd2FzIGp1c3QgbGlrZSwg4oCcVGhpcyBhZ2Fpbj8gT2ggbm8uIEkgZmVlbCBsaWtlIEnigJltIGluIHByaXNvbi7igJ0gVGhhdOKAmXMgdGhlIHdheSBpdCBmZWx0IGxhc3QgdGltZS4gSSBrbmV3IEkgbmVlZGVkIHRvIGdldCBvdXQgb2YgdGhlcmUgZmFzdC4gSXQgd2FzbuKAmXQgZ29vZC4gVGhlIE9CIGNhbWUgaW4gYW5kIGxlY3R1cmVkIG1lLiBUaGlzIHdhcyBhIGRpZmZlcmVudCBPQi4gU2hlIGxlY3R1cmVkIG1lIGFib3V0IHByZWVjbGFtcHNpYSBhbmQgaG93IEkgc2hvdWxkIHJlYWxseSBzdGF5IGluIHRoZSBob3NwaXRhbC4gVGhleSB3ZXJlIGdvaW5nIHRvIHNlbmQgZm9yIGJsb29kd29yayBldmVuIGlmIGl0IGNhbWUgYmFjayBva2F5LCBJIHNob3VsZCBzdGF5IHRoZSBuaWdodC7CoFRoZXkgZHJldyB0aGUgYmxvb2QgYW5kIEnigJltIGp1c3QgYmVzaWRlIG15c2VsZiBhdCB0aGlzIHBvaW50LiBJIHdhcyBsaWtlLCDigJxXZWxsLCB3aGVuIGFyZSB0aGV5IGdvaW5nIHRvIGdldCB0aGUgcmVzdWx0cyBiYWNrP+KAnSBUaGV5IHNhaWQsIOKAnFByb2JhYmx5IGFib3V0IGFuIGhvdXIgb3Igc28u4oCdIFlvdSBrbm93IGhvdyBiYWNrZWQgdXAgdGhlIGxhYiBpcy4gVGhleSB3ZXJlIGxpa2UsIOKAnEFyZSB5b3UgcmVhbGx5IGdvaW5nIHRvIGRyaXZlIGhvbWUgYW5kIGNvbWUgYmFjaz/igJ0gSSB3YXMgbGlrZSwg4oCcSWYgSSBoYXZlIHRvIGNvbWUgYmFjaywgd2hpY2ggSSByZWFsbHkgZG9u4oCZdCB0aGluayBJIHdpbGwsIHRoZW4geWVzLCBJIHdpbGwu4oCdwqBUaGUgYmxvb2Qgd2FzIHRha2VuLiBUaGUgbnVyc2UgcmFuIGJhY2sgd2l0aGlu4oCTIEkgd2FudCB0byBzYXkgaXQgd2FzIDEwIG1pbnV0ZXMuIEl0IHdhcyByZWFsbHkgZmFzdC4gU2hlIHNhaWQsIOKAnFlvdSBndXlzIHNob3VsZCByZWFsbHkgY29uc2lkZXIgc3RheWluZy4gWW91ciBwbGF0ZWxldHMgYXJlIGxvdy7igJ0gSSBzYWlkLCDigJxPa2F5LuKAncKgTWVhZ2FuOiBUaGUgbGFicyBjYW1lIGJhY2sgdGhhdCBmYXN0P8KgSGVpZGk6IFRoZXkgY2FtZSBiYWNrIHJlYWxseSBmYXN0LsKgTWVhZ2FuOiBCZWNhdXNlIHlvdSB3ZXJlIHNheWluZyB0aGF0IHlvdSB3ZXJlIG1heWJlIGdvaW5nIHRvIGdvIGJhY2sgaG9tZT8gVGhhdOKAmXMgaW50ZXJlc3RpbmcuwqBIZWlkaTogWWVhaC4gSSBzYWlkLCDigJxPa2F5LiBUaGF04oCZcyB0aHJvbWJvY3l0b3BlbmlhLuKAnSBNeSBwcm92aWRlciBoYWQgc2FpZCBJIGhhZCB0aGF0LiBXZSB0YWxrZWQgYWJvdXQgaXQgYW5kIEkgYWxzbyBoYWQgaXQgZHVyaW5nIG15IGxhc3QgcHJlZ25hbmN5LsKgTWVhZ2FuOiBXYWl0LCB3aGF0IGRpZCB5b3UganVzdCBjYWxsIHRoYXQ/wqBIZWlkaTogVGhyb21ib2N5dG9wZW5pYS7CoE1lYWdhbjogVGhyb21ib2N5dG9wZW5pYS4gSeKAmXZlIGhlYXJkIGxvdyBwbGF0ZWxldHMuIEnigJl2ZSBuZXZlciBoZWFyZCBpdCBjYWxsZWQgdGhhdC7CoEhlaWRpOiBUaHJvbWJvY3l0b3BlbmlhLiBJIGFjdHVhbGx5IGxpc3RlbmVkIHRvIGEgcG9kY2FzdCBvZGRseSBlbm91Z2ggd2l0aCBOci4gTmF0aGFuIEZveC7CoE1lYWdhbjogV2UgbG92ZSBoaW0uwqBIZWlkaTogWWVhaCwgaGXigJlzIGF3ZXNvbWUuIEhlIHdhcyBiYXNpY2FsbHkgc2F5aW5nIHRoYXQgaXTigJlzIGNvbW1vbiBhbmQgaXTigJlzIGdlbmVyYWxseSBub3QgYSBiaWcgZGVhbC7CoE1lYWdhbjogSSBqdXN0IEdvb2dsZWQgaXQuIFllYWgsIGl0IHNheXMgaXTigJlzIGEgY29uZGl0aW9uIHdoZXJlIHRoZSBwbGF0ZWxldHMgYXJlIGxvdy4gSXQgY2FuIHJlc3VsdCBpbiBibGVlZGluZyBwcm9ibGVtcy4gWWVhaC4gT2theSwgYWxsIHJpZ2h0LiBLZWVwIGdvaW5nLsKgSGVpZGk6IFllYWguIEl0IHdhcyBpbnRlcmVzdGluZyBiZWNhdXNlIGhlIGhhZCBzYWlkLCDigJxXaXRoaW4gcmFuZ2Us4oCdIGFuZCBJIHdhcyB3aXRoaW4gdGhhdCByYW5nZSwgYnV0IEkgYWxzbyB0YWxrZWQgdG8gbXkgcHJvdmlkZXIgYWJvdXQgaXQgbW9udGhzIGJlZm9yZSBhbmQgc2hlIHNhaWQsIOKAnE9oIHllYWguIFRoaXMgaXMgY29tbW9uLiBXZSBhcmUgbm90IGNvbmNlcm5lZCB3aXRoIHlvdXIgbGV2ZWxzLuKAnSBMdWNraWx5LCBJIHdhcyBsaWtlLCDigJxPaCBteSBnb3NoLiBJIGtub3cgZW5vdWdoLuKAnSBJIHdhcyBsaWtlLCDigJxOb3BlLiBJIGtub3cgd2hhdCB0aGF0IGlzLiBXZSBhcmUgb2theSBhbmQgd2UgYXJlIGdvaW5nIGhvbWUuIFRoZXkgY2FuIGNhbGwgdXMgd2l0aCB0aGUgcmVzdWx0cy7igJ0gU28gd2Ugd2VudCBob21lLsKgTWVhZ2FuOiBUaGF0IGlzIGFtYXppbmcuIERpZCB0aGV5IG1ha2UgeW91IHNpZ24gYW4gQU1BIG9yIGFueXRoaW5nIGxpa2UgdGhhdD8gV2VyZSB0aGV5IGp1c3QgbGlrZSwg4oCcRmluZS4gV2Ugd2VyZSBnb2luZyB0byBoYXZlIHlvdSBzdGF5LCBidXQgeW91IGFyZSBnb29kIHRvIGdvLuKAnSBIZWlkaTogWWVhaC4gVGhlcmUgd2FzIG5vIHBhcGVyd29yay7CoE1lYWdhbjogT2theS4gR29vZC7CoEhlaWRpOiBJIHdhcyBmcmVlLiBZZWFoLiBJIHdhcyBhY3R1YWxseSBhbWF6ZWQgYXQgaG934oCTIEkgbWVhbiwgSSB3YXMgdmVyeSBmaXJtIHdpdGggdGhlbS4gSSB3YXMganVzdCBsaWtlLCDigJxXZSBhcmUgZ29pbmcgaG9tZSBub3cu4oCdTWVhZ2FuOiBUaGF0IGlzIGhhcmQuIFRoYXQgaXMgcmVhbGx5LCByZWFsbHkgaGFyZCB0byBkbywgbGlrZSByZWFsbHksIHJlYWxseSBoYXJkIHNvIGdvb2QgZm9yIHlvdSBmb3IgZm9sbG93aW5nIHlvdXIgZ3V0LsKgSGVpZGk6IFllYWguIEl0IGZlbHQgcmVhbGx5IGdvb2QuIFllYWguIFdlIGdvdCBob21lLiBJIHN0YXJ0ZWQgdG8gZmVlbCBzb21lIG1pbGQsIGlycmVndWxhciBjb250cmFjdGlvbnMgYW5kIHRoZSBzYW1lIHRoaW5nIEkgaGFkIGJlZW4gZmVlbGluZy4gV2Ugc2VudCBteSBtb20gaG9tZSBiZWNhdXNlIHNoZSB3YXMgc3RpbGwgYXQgbXkgaG91c2UuIExpa2UsIOKAnEdvIGFoZWFkLiBXZeKAmXZlIHByb2JhYmx5IGdvdCBhbm90aGVyIGRheS7igJ0gSSB3YXMgbGlrZSwg4oCcSSBrbm93IHNvbWV0aGluZyBpcyBnb2luZyB0byBiZSBoYXBwZW5pbmcgc29vbi4gSSBmZWVsIGl0LuKAncKgU28gYXJvdW5kIDEwOjMwIHRoYXQgbmlnaHQsIEkgZ290IHRoZSBjYWxsIGZyb20gdGhlIE9C4oCTwqBNZWFnYW46IFlvdXJzP8KgSGVpZGk6IFNvcnJ5LCB0aGUgb25lIGluIHRoZSBob3NwaXRhbCB0aGF0IHdhcyB0cmVhdGluZyBtZS4gU2hlIGhhZCBzYWlkLCDigJxBbGwgcmlnaHQuIFlvdSBkb27igJl0IGhhdmUgcHJlZWNsYW1wc2lhLiBZb3UgZG9u4oCZdCBoYXZlIHRvIGNvbWUgYmFjay7igJ0gSSBzYWlkLCDigJxPa2F5LiBXZSBkaWQgaXQu4oCdwqBNZWFnYW46IFllcC4gWWVwLiBZZXAuIENhbiB5b3UgaW1hZ2luZSBoYXZpbmcgdG8gYmUgdGhlcmUgdGhhdCB3aG9sZSB0aW1lP8KgSGVpZGk6IE5vLiBZZWFoLiBJ4oCZbSBzdXJlIHRoZXkgd291bGQgaGF2ZSBmb3VuZCBzb21ldGhpbmcgZWxzZS4gV2hvIGtub3dzP8KgTWVhZ2FuOiBZb3UgbmV2ZXIga25vdy7CoDU0OjUzIFNwb250YW5lb3VzIGxhYm9ySGVpZGk6IFllYWgsIHNvIHdoZW4gd2Ugd2VyZSBob21lLCB3ZSB1bnBhY2tlZCBvdXIgYmFncywgYXRlIHNvbWUgZm9vZCBhbmQgc2VudCBteSBtb20gaG9tZS4gSSBib3VuY2VkIG9uIG15IGJpcnRoIGJhbGwuIEkgd2FzIHB1bXBlZC4gSSB3YXMgc28gZXhjaXRlZC7CoFdlIHdlcmUgbGlrZSwg4oCcT2theS4gQmFjayBvbiB0aGUgbm9ybWFsIHRyYWNrLuKAnSBUaGVuIGFyb3VuZCBtaWRuaWdodCwgc29tZSBjb250cmFjdGlvbnMgc3RhcnRlZCB0aGF0IEkgZmlndXJlZCB3b3VsZCBzdG9wIG9uY2UgSSBsYWlkIGRvd24gZm9yIGJlZC4gSSBkaWRu4oCZdCByZWFsbHkga25vdy4gSSBuZXZlciByZWFsbHkgaGFkIG5vcm1hbCwgbm9uLVBpdG9jaW4taW5kdWNlZCBjb250cmFjdGlvbnMgYmVmb3JlLCBzbyBJIGRpZG7igJl0IHJlYWxseSBrbm93IHdoYXQgdGhleSB3b3VsZCBmZWVsIGxpa2UuIEkgd2FzIGluIGRlbmlhbCwgdG8gYmUgaG9uZXN0LiBJIHdhcyBsaWtlLCDigJxUaGVyZeKAmXMgbm8gd2F5LiBJ4oCZbSBub3QgZ29pbmcgaW50byBsYWJvciByaWdodCBub3cuIFdoYXQgYXJlIHRoZXNlPyBUaGVzZSBhcmUgbm90aGluZy4gSXTigJlzIGp1c3QgY2F1c2UgSeKAmW0gbmVydm91cyBvciBzb21ldGhpbmcu4oCdwqBJIGxhaWQgZG93bi4gTXkgaHVzYmFuZCB3YXMgYWxyZWFkeSBhc2xlZXAgYXQgdGhpcyBwb2ludCBhbmQgdGhleSBkaWRu4oCZdCBzdG9wLiBUaGV5IGp1c3Qga2VwdCBnZXR0aW5nIHN0cm9uZ2VyLiBJIHdhcyBseWluZyB0aGVyZSB0aGlua2luZywg4oCcTm8uIEkgY2Fu4oCZdCBnbyBpbnRvIGxhYm9yIHJpZ2h0IG5vdy4gSSBkb27igJl0IHdhbnQgdG8gc2VlIHRoYXQgT0IuIEkgY2Fu4oCZdC4gSSBjYW7igJl0LiBUaGlzIGlzIG5vdCBoYXBwZW5pbmcu4oCdIEkgd2FzIGp1c3Qgd2lsbGluZyBteSBib2R5LCB3aXNoaW5nIGFuZCB3aWxsaW5nIG15IGJvZHkgdG8gd2FpdCB1bnRpbCA2OjAwIEFNIG9yIDc6MDAgQU0gdW50aWwgdGhlIHNoaWZ0IGNoYW5nZS7CoFNvIHRoZW4gSSB3YXMgbGlrZSwg4oCcT2theS4gSSBzaG91bGQgcHJvYmFibHkgc3RhcnQgdGltaW5nIHRoZXNlIGJlY2F1c2UgdGhpcyBpcyBubyBqb2tlLuKAnSBJIGZvdW5kIGEgdGltZXIgYW5kIHN0YXJ0ZWQgdGltaW5nIHRoZW0uIFRoZXkgd2VyZSBzcGFjZWQgYXQgNSBtaW51dGVzIGFwYXJ0IGxhc3RpbmcgYSBtaW51dGUgZWFjaC4gSSB3YXMgbGlrZSwg4oCcVGhpcyBpcyBlYXJseSBsYWJvci4gVGhpcyBpcyBpdC7igJ0gSSBmaW5hbGx5IHdva2UgbXkgaHVzYmFuZCB1cCBhbmQgSSB3YXMgbGlrZSwg4oCcSGV5LiBJIHRoaW5rIHdl4oCZcmUgZ29pbmcu4oCdwqBNZWFnYW46IFRoaXMgaXMgZ29pbmcgdG8gaGFwcGVuLsKgSGVpZGk6IFllYWguIEkgY2FsbGVkIG15IGRvdWxhLiBJIGhhZCBiZWVuIHRleHRpbmcgaGVyIG1lYW53aGlsZSB0aGUgd2hvbGUgdGltZSBhbmQgc2hlIHdhcyBzdXBlciBzdXBwb3J0aXZlIHRocm91Z2hvdXQsIHRoZW4gSSBmaW5hbGx5IHdhcyBsaWtlLCDigJxJIG5lZWQgdG8gY2FsbCBoZXIu4oCdIFNoZSB0YWxrZWQgbWUgdGhyb3VnaCB3aGF0IEkgd2FzIGV4cGVyaWVuY2luZyBiZWNhdXNlIEkgaGFkIG5vIGlkZWEuIFNoZSB3YXMgbGlrZSwg4oCcWW91IGd1eXMgc2hvdWxkIHByb2JhYmx5IGxlYXZlIHNvb24gYmVjYXVzZSB0aGlzIGlzIHlvdXIgc2Vjb25kIGJhYnkgYW5kIGl0IGNvdWxkIGhhcHBlbiByZWFsbHkgZmFzdC7igJ3CoEkgbm90aWNlZCB0aGVyZSB3YXMgcGluayBkaXNjaGFyZ2UuwqBNZWFnYW46IEFuZCB5b3UgaGFkIG1hZGUgaXQgdG8gMTAgYmVmb3JlLsKgSGVpZGk6IFllcywgZXhhY3RseS4gU2hlIHdhcyBsaWtlLCDigJxUaGlzIGNvdWxkIGhhcHBlbiByZWFsbHkgZmFzdC7igJ0gSSBub3RpY2VkIHNvbWUgZGlzY2hhcmdlIGFuZCBpdCB3YXMgcGluay4gQ29udHJhY3Rpb25zIHN0YXJ0ZWQgdG8gYmUgcmVhbGx5IHJlZ3VsYXIgYW5kIHJlYWxseSBwYWluZnVsLiBTaGUgd2FzIGxpa2UsIOKAnFRoYXTigJlzIHByb2JhYmx5IHlvdXIgY2Vydml4IGRpbGF0aW5nLuKAnSBJIHdhcyBsaWtlLCDigJxXaHkgYW0gSSBkcmFnZ2luZyBteSBmZWV0PyBXZSBuZWVkIHRvIGdvLiBXZSBuZWVkIHRvIGdvIG5vdy7igJ3CoDU3OjQzIEdvaW5nIHRvIHRoZSBob3NwaXRhbEhlaWRpOiBXZSBjYWxsZWQgbXkgbW9tIHRvIGhhdmUgaGVyIGNvbWUgYmFjayB0byBvdXIgaG91c2UuIEkgdGhpbmsgaXQgd2FzIDE6MDAgaW4gdGhlIG1vcm5pbmcgYXQgdGhpcyBwb2ludC4gU2hlIGRpZG7igJl0IGFuc3dlciBpbW1lZGlhdGVseSBwcm9iYWJseSBiZWNhdXNlIHNoZSB3YXMgZXhoYXVzdGVkLsKgTWVhZ2FuOiBQcm9iYWJseSBhc2xlZXAsIHllYWguwqBIZWlkaTogV2hlbiBzaGUgZGlkLCBpdCB3YXMgZmluYWxseSAyOjAwIEFNIGFuZCB0aGVyZSB3YXMgYSBiaXQgb2YgYW4gaWNlIHN0b3JtIG91dHNpZGUsIGp1c3QgYSBsaXR0bGUgb25lIGJ1dCBqdXN0IGVub3VnaCB0byBtYWtlIHRoZSByb2FkcyBzbGlwcGVyeSBiZWNhdXNlIHNoZSBoYWQgdGV4dGVkIG1lIHdoZW4gc2hlIHdhcyBnb2luZyBiYWNrIGhvbWUgYW5kIHNoZSB3YXMgbGlrZSwg4oCcSXTigJlzIGtpbmQgb2YgaWN5LiBJIGp1c3Qgd2FudCB0byBsZXQgeW91IGtub3cu4oCdwqBTbyB0aGVuIEkgd2FzIGxpa2UsIOKAnE9oIG5vLiBNeSBtb23igJlzIG9uIGhlciB3YXksIGJ1dCBpdOKAmXMgZ29pbmcgdG8gdGFrZSBoZXIgYSB3aGlsZSB0byBnZXQgYmFjayB0byB0aGUgaG91c2Uu4oCdIFRoZW4gaXTigJlzIGdvaW5nIHRvIHRha2UgdXMgYSB3aGlsZSB0byBnZXQgdG8gdGhlIGhvc3BpdGFsLsKgSXQgd2FzIHJlYWxseSBnZXR0aW5nIHByZXR0eSBzY2FyeSwgYnV0IHdlIHdlcmUganVzdCBsaWtlLCDigJxPa2F5LiBMZXTigJlzIGp1c3QgcGFjayBvdXIgYmFncyBhZ2FpbizigJ0gYmVjYXVzZSB3ZSBoYWQgc3RhcnRlZCB1bnBhY2tpbmcgdGhlbS4gTXkgcHJvdmlkZXIgaGFkIGFjdHVhbGx5IHNhaWQgdGhhdCB0aGV5IHdlcmUgY29tZm9ydGFibGUgd2l0aCBtZSBnb2luZyB1bnRpbCBhdCBsZWFzdCA0MSB3ZWVrcyBzbyBJIHdhcyBsaWtlLCDigJxJIGNvdWxkIGdvIHVudGlsIDQxIHdlZWtzIGFuZCB0aGVuIHdobyBrbm93cz/igJ3CoE1lYWdhbjogUmlnaHQuwqBIZWlkaTogQW55d2F5LCBzbyB3ZSBwdXQgZXZlcnl0aGluZyBiYWNrLiBJdCB3YXMgYSByZWFsbHkgZ29vZCBkaXN0cmFjdGlvbiBhbmQgdGhlbiBldmVyeSBzaW5nbGUgY29udHJhY3Rpb24sIHdlIHdvdWxkIHN0b3AgYW5kIGJyYWNlIG91cnNlbHZlcy4gTXkgbW9tIGdvdCB0byBvdXIgaG91c2UgYXQgMzoxNS4gV2UgZ290IHRvIHRoZSBob3NwaXRhbCBhcm91bmQgNDowMCBBTS4gSXQgd2FzIHRoZSBsb25nZXN0IGNhciByaWRlIG9mIG15IGxpZmUuIE15IGRvdWxhIHdhcyBsaWtlLCDigJxUaGUgY29udHJhY3Rpb25zIG1pZ2h0IHNsb3cgZG93biBpbiB0aGUgY2FyLuKAnSBJIHdhcyBzZWNyZXRseSBwcmF5aW5nIHRoYXQgdGhleSBkaWRu4oCZdCBiZWNhdXNlIHNvIG1hbnkgcGVvcGxlIHRoYXQgSSBrbmV3IGhhZCBwcm9kcm9tYWwgbGFib3IgYW5kIEkgd2FzIGxpa2UsIOKAnEkgd2FudCB0aGlzIHRvIGNvbWUgbGlrZSBhIGZyZWlnaHQgdHJhaW4uIEkgZG9u4oCZdCB3YW50IGl0IHRvIHN0b3Au4oCdIEl0IGlzIHNvIHBhaW5mdWwsIHRoZW4gYSBsb3Qgb2YgcGVvcGxlIHNheSB5b3UgZ2V0IG5lcnZvdXMgd2hlbiB5b3UgZ2V0IGluIHRoZSBob3NwaXRhbC4gVGhpbmdzIHdpbGwgc2xvdyBkb3duLiBJIHdhcyBqdXN0IHNvIG5lcnZvdXMgYWJvdXQgYWxsIG9mIHRoYXQuwqBJIGdvdCB0byB0aGUgaG9zcGl0YWwuIE15IGRvdWxhIGFycml2ZWQgc29vbiBhZnRlci4gV2Ugc3BlbnQgYWxtb3N0IHR3byBob3VycyBpbiB0cmlhZ2UgZXZlbiB0aG91Z2ggd2Ugd2VyZSBhbHJlYWR5IHRoZXJlIGZpbGxpbmcgb3V0IHBhcGVyd29yay4gVGhlIGNvbnRyYWN0aW9ucyBkaWRu4oCZdCBzdG9wIG9yIHNsb3cgZG93biBkdXJpbmcgdGhpcy4gSSB3YXMgYmVzaWRlIG15c2VsZi4gSSB3YXMgbGlrZSwg4oCcT2ggbXkgZ29zaC4gTXkgYm9keSBpcyByZWFkeS4gV2UgYXJlIGRvaW5nIHRoaXMu4oCdIFRoZSBudXJzZSBpbiB0cmlhZ2UsIGF0IHRoZSB0aW1lLCB3YXMgYSBkaWZmZXJlbnQgbnVyc2UuIEkgdGhpbmsgc2hlIHdvcmtlZCBhIGhhbGYgc2hpZnQgb3Igc29tZXRoaW5nLCBidXQgc2hlIHdhcyByZWFsbHkgc2tlcHRpY2FsIG9mIFZCQUMuIEkgd2FzIG5vdCBjb21mb3J0YWJsZSB3aXRoIGhlci4gU2hlIHNhaWQgSSBjb3VsZG7igJl0IGVhdC4gU2hlIGhhZCBvYnZpb3VzbHkgb3V0ZGF0ZWQgaW5mby7CoEkgYXNrZWQgaGVyLCDigJxXaHkgY2Fu4oCZdCBJIGVhdD/igJ0gU2hlIHNhaWQsIOKAnFdlbGwsIHRoZSBvZGRzIG9mIHlvdSBuZWVkaW5nIGFub3RoZXIgQy1zZWN0aW9uIGFyZSBoaWdoZXIu4oCdIEnigJltIGxpa2UsIOKAnFdlbGwsIGhvdyBkbyB5b3Uga25vdyB0aGF0P+KAnSBJdCB3YXMganVzdCByZWFsbHkgZnJ1c3RyYXRpbmcuIEkgcmVxdWVzdGVkIGEgbWlkd2lmZSB0byBkZWxpdmVyIG15IG1pZHdpZmUgYmVjYXVzZSB0aGUgc2FtZSBPQnMgd2VyZSBvbiBzdGFmZi4gSSB3YXMgZ29pbmcgdG8gYSBtaWR3aWZlIGZvciBteSBjYXJlLCBhIG1pZHdpZmUsIGFuZCBhbiBPQiB0ZWFtLiBJIGFjdHVhbGx5IGVuZGVkIHVwIHNlZWluZyB0aGUgbWlkd2lmZSBldmVuIG1vcmUgdGhhbiB0aGUgT0Igc28gSSByZWFsbHkgd2FzIGNvbWZvcnRhYmxlIHdpdGggcmVxdWVzdGluZyBhIG1pZHdpZmUgdG8gZGVsaXZlciwgYnV0IHRoZSBudXJzZSByZWFsbHkgcHVzaGVkIGJhY2suIFNoZSBzYWlkLCDigJxZb3XigJlyZSBhIFZCQUMuIEkgZG9u4oCZdCB0aGluayB5b3UgY2FuIGhhdmUgYSBtaWR3aWZlLuKAnSBZZWFoLiBTaGUgd2VudCBpbnRvIHRoZSBoYWxsLCBtYWRlIGEgcGhvbmUgY2FsbCB3aXRoIHRoZSBtaWR3aWZlIGFuZCB0aGUgbWlkd2lmZSBvbiBzdGFmZiBhY3R1YWxseSBzYWlkIG5vIHN1cHBvc2VkbHkgYmVjYXVzZSBJIHdhcyBhIFZCQUMuwqBNZWFnYW46IFdoYXQ/IFRoZXkgaGFkIG5ldmVyIHNhaWQgYW55dGhpbmcgbGlrZSB0aGlzIGluIHlvdXIgcHJlbmF0YWxzLsKgSGVpZGk6IE5vLiBOby4gSSB0aGluayBhZ2FpbiwgaXTigJlzIGEgbGl0dGxlIGRpZmZlcmVudC4gVGhleSBhbHNvIHVzZSBvdGhlciBob3NwaXRhbCBzdGFmZiBhdCB0aGlzIGhvc3BpdGFsIHNvIHlvdSBuZXZlciBrbm93IHdobyB5b3XigJlyZSBnb2luZyB0byBnZXQsIGJ1dCBteSBkb3VsYSBpcyB0aGVyZSBhbmQgdGhhdOKAmXMgd2hhdCBtYXR0ZXJzLiBUaGF04oCZcyB3aHkgSSBoYWQgYSBkb3VsYSBiZWNhdXNlIHlvdSBkb27igJl0IGtub3cuwqBNZWFnYW46IFlvdSBkb27igJl0IGFsd2F5cyBrbm93LCB5ZWFoLsKgMTowMjowMyBMYWJvcmluZyBpbiB0aGUgdHViSGVpZGk6IFRoZXkgYXNrZWQgdG8gZG8gYSBjZXJ2aWNhbCBjaGVjay4gSSB3YXMgaGVzaXRhbnQsIGJ1dCB0aGV5IHNhaWQsIOKAnFdlIGhhdmUgdG8gZG8gdGhpcyB0byBhZG1pdCB5b3Uu4oCdIEkgd2FzIGxpa2UsIOKAnEnigJltIG5vdCBsZWF2aW5nIGF0IHRoaXMgcG9pbnQuIEnigJltIGNsZWFybHkgaW4gbGFib3Iu4oCdIEkgY29uc2VudGVkIHRvIGl0IGFuZCB0aGV5IGZvdW5kIEkgd2FzIDQgY2VudGltZXRlcnMgZGlsYXRlZCBzbyBJIHN0YXllZC4gSSBnb3QgdG8gbXkgcm9vbSBhcm91bmQgNjozMCBhbmQgYWN0dWFsbHksIEkgdGhpbmsgSSB3YXMgYWJvdXQgODAlIGVmZmFjZWQgYXQgdGhpcyBwb2ludC7CoEkgZ290IHRvIG15IHJvb20gYXJvdW5kIDY6MzAgYW5kIEkganVzdCBiZWdhbiBzZXR0aW5nIGl0IHVwIHRvIGRpc3RyYWN0IG15c2VsZi4gTXkgZG91bGEgc3RhcnRlZCBzZXR0aW5nIHVwIHRoZSBiYXRoIGZvciBtZS4gSSB3YXMgbGlrZSwg4oCcSSB3YW50IHRvIGdvIHRvIHRoZSBiYXRoLuKAnSBJIGdvdCB0byB0aGUgdHViIGFyb3VuZCA3OjAwIEFNIHRvIGRlYWwgd2l0aCB0aGUgY29udHJhY3Rpb25zIGJlY2F1c2UgSSByZWFsbHkgd2FudGVkIGEgbmF0dXJhbCBiaXJ0aCB0aGlzIHRpbWUuIE15IHdhdGVyIGJyb2tlIDUgbWludXRlcyBhZnRlciB0aGF0LsKgU2hpZnQgY2hhbmdlZCBhdCA3OjAwIEFNLiBJIGZlZWwgbGlrZSBteSBib2R5IHdhcyBsaWtlLCDigJxPa2F5LCBoZXkuIFNoaWZ0IGNoYW5nZSBhdCA3OjAwLOKAnSBhbmQgdGhlbiBteSB3YXRlciBicm9rZS7CoE1lYWdhbjogWW91IHNhaWQgd2Ugd2VyZSBpbiB0cmlhZ2UgZm9yIHR3byBob3VycyBhbmQgSSB3YXMgbGlrZSwg4oCcWW91ciBib2R5IHdhcyB3YWl0aW5nIGZvciBzaGlmdCBjaGFuZ2UgaW50dWl0aXZlbHku4oCdIFRoZXJlIHlvdSBnby7CoEhlaWRpOiBJIGdvdCBpbiB0aGUgdHViLiBNeSB3YXRlciBicm9rZS4gQSBuZXcgbnVyc2UgY2FtZSBpbiBhcm91bmQgNzoxNS4gU2hlIGhhZCBhIHRyYWluZWUsIGJ1dCB0aGlzIHdhcyBhIG51cnNlIHdobyBoYWQgYSBsb3Qgb2YgZXhwZXJpZW5jZSBhbmQgc2hlIHdhcyBqdXN0IHRyYWluaW5nIHRvIGJlIGluIGxhYm9yIGFuZCBkZWxpdmVyeSBzbyBpdCB3YXMgYmFzaWNhbGx5IGxpa2UgYW4gZXh0cmEgc2V0IG9mIGV4cGVyaWVuY2VkIGhhbmRzLiBTaGUgd2FzIGFsc28gYSBudXJzZSB3aG8gaGFkIHJ1biBhIHRyYWluaW5nIGZvciB1cyBhIGNvdXBsZSBvZiBtb250aHMgYmVmb3JlIGFuZCBJIHdhcyBsaWtlLCDigJxJIGhvcGUgSSBnZXQgdGhpcyBudXJzZS4gSSByZWFsbHksIHJlYWxseSBob3BlIEkgZ2V0IHRoaXMgbnVyc2Uu4oCdIEluIHNoZSB3YWxrZWQsIGFuZCBJIGNvdWxkbuKAmXQgYmVsaWV2ZSBpdC7CoFNoZSBjYW1lIGRvd24gdG8gbWUgYXQgdGhlIHR1Yi4gU2hlIHN0YXJ0ZWQgYXNraW5nIG1lIHF1ZXN0aW9ucyByaWdodCBhd2F5IGFib3V0IG15IGJpcnRoIHBsYW4uIEl04oCZcyBsaWtlIHNoZSBzdHVkaWVkIGl0LiBJdCB3YXMgdGhlIG1vc3QgYW1hemluZyB0aGluZy4gSSBjYW7igJl0IGV4YWN0bHkgcmVtZW1iZXIgd2hhdCBzaGUgd2FzIGFza2luZywgYnV0IGp1c3QgY2xhcmlmaWNhdGlvbiBhbmQgc2hlIHdhcyBsaWtlLCDigJxZZXMuIFdlIGNhbiBkbyB0aGlzLiBXZSBjYW4gZG8gdGhpcyBhbmQgd2Ugd2lsbCBkbyB0aGF0LuKAnSBJIHdhcyBsaWtlLCDigJxXb3cu4oCdIFRoZSBmaXJzdCB0aW1lLCBJIGhhZCBhIGJpcnRoIHBsYW4sIGJ1dCBJ4oCZbSBwcmV0dHkgc3VyZSB0aGV5IGJ1cm5lZCBpdC7CoE1lYWdhbjogQXd3LsKgSGVpZGk6IFRoZW4gc2hlIGp1c3Qgc3RhcnRlZCB0YWxraW5nIGFib3V0IGhvdyB0aGUgYmlydGggcHJvY2VzcyB3b3VsZCBnbyBhbmQgaG93IEkgd291bGQgYmUgZmVlbGluZyBtZW50YWxseSBtb3JlIHRoYW4gbGlrZWx5IGFuZCBzaGUgYWxzbyBzYWlkIHRoYXQgc2hlIGlzIHdlbGwtdmVyc2VkIGluIFNwaW5uaW5nIEJhYmllcy7CoE1lYWdhbjogV2hhdCB5b3Ugd2FudGVkIcKgSGVpZGk6IFllYWguIFllYWguIEkgd2FzIGxpa2UsIOKAnFRoaXMgaXMgaGVhdmVuLuKAnSBJIGFsc28gdG9vayBhIHNob3J0IGNvdXJzZSBpbiBpdCB0byBwcmVwIGZvciB0aGlzIGxhYm9yIGFuZCBJIHJlYWxseSB3YXMgdHJ5aW5nIHRvIGRvIGFsbCBvZiB0aGUgdGhpbmdzLiBJIGNvdWxkbuKAmXQgZG8gYWxsIG9mIHRoZSB0aGluZ3MsIGJ1dCBJIHRoaW5rIHRoZXJlIGlzIGEgbG90IG9mIHNjaWVuY2UgdG8gU3Bpbm5pbmcgQmFiaWVzLCBlc3BlY2lhbGx5IGhhdmluZyBhbiBPUCBiYWJ5IHRoZSBmaXJzdCB0aW1lLsKgSW5pdGlhbGx5LCBJIHdhcyBleHBlcmllbmNpbmcgYmFjayBsYWJvci4gU2hlIGFza2VkIG1lLCDigJxXaGVyZSBkbyB5b3UgZmVlbCB5b3VyIHBhaW4/4oCdIEkgc2FpZCwg4oCcSW4gbXkgYmFjay7igJ0gU2hlIHNhaWQsIOKAnEdldCBvbiBhbGwgZm91cnMuIFRoZSBiYWJ5IGNvdWxkIGJlIE9QLuKAnSBJIHdhcyBqdXN0IGxpa2UsIOKAnE9oIG15IGdvc2guIEkgd2lsbCBkbyBhbnl0aGluZyB0byBub3QgaGF2ZSBhbm90aGVyIE9QIGJhYnku4oCdIFNoZSBzYWlkLCDigJxXZeKAmXJlIGdvaW5nIHRvIHNwaW4gaGVyLuKAnSBJIHN0YXllZCBvbiBhbGwgZm91cnMuIEkganVzdCBkaWQgdGhpcy4gSSBzdGFydGVkIHVzaW5nIHRoZSBuaXRyb3VzLiBUaGlzIGhvc3BpdGFsIHByb3ZpZGVkIG5pdHJvdXMuwqBNZWFnYW46IE5pdHJvdXMgb3hpZGU/SGVpZGk6IFllYWguIFRoZSBvdGhlciBob3NwaXRhbCBkaWQgbm90IGhhdmUgdGhhdCwgYnV0IEkgd2FzIHNvIGV4Y2l0ZWQgZm9yIHRoYXQuIEl0IGhlbHBlZCBtZSBqdXN0IGJyZWF0aGUgdGhyb3VnaCBteSBjb250cmFjdGlvbnMsIHJlYWxseSBnZXQgaW4gdHVuZSB3aXRoIG15IGJvZHksIGFuZCBnYXZlIG1lIGEgZm9jdXMuIEkgd2FzIGFibGUgdG8gbW92ZSBhcm91bmQgcmVhbGx5IGZyZWVseS7CoFdoZW4gSSB3YXMgaW4gdGhlIHR1YiwgSSBzdGFydGVkIHRvIGZlZWwgdGhlIHVyZ2UgdG8gcHVzaCBzbyB3ZSBtb3ZlZCBvdXQgaW50byB0aGUgYmVkLiBJIHN0aWxsIHN0YXllZCBvbiBhbGwgZm91cnMuIEJ1dCBJIHdhcyBhbHNvIGp1c3QsIEkgZG9u4oCZdCByZW1lbWJlciB0aGlzLCBidXQgbXkgZG91bGEgd2FzIHNheWluZyB0aGF0IEkgcmVhbGx5IHdhcyBraW5kIG9mIGRhbmNpbmcuIEkgd2FzIG1vdmluZyBpbiB0aGUgd2F5cyB0aGF0IG15IGJvZHkgdG9sZCBtZSB0byBkby4gSXQgZmVsdCBzbyBpbmNyZWRpYmxlIGFuZCBvYnZpb3VzbHkgcGFpbmZ1bC7CoDE6MDY6MjIgUHVzaGluZyBmb3IgMzAgbWludXRlc0hlaWRpOiBUaGVuIGl0IHdhcyBhYm91dCA5OjE1IGFuZCBJIHdhcyByZWFsbHksIHJlYWxseSB3YW50aW5nIHRvIHB1c2ggYXQgdGhpcyBwb2ludC4gSSB3YXMgdG9sZCB0byB3YWl0IGZvciBhIGNlcnZpY2FsIGNoZWNrIHRob3VnaCBhbmQgSSB3YXMgbGlrZSwg4oCcV2h5IGRvIEkgbmVlZCBhIGNlcnZpY2FsIGNoZWNrPyBJ4oCZbSByZWFkeS7igJ0gTWVhZ2FuOiBNeSBib2R5IGlzIHNheWluZyBJ4oCZbSByZWFkeSwgeWVhaC7CoEhlaWRpOiBZZWFoLiBBIG1pZHdpZmUgY2FtZSBpbi4gU2hlIGludHJvZHVjZWQgaGVyc2VsZiBhbmQgc2hlIHdhcyBsaWtlLCDigJxJ4oCZbSBnb2luZyB0byBiZSBkZWxpdmVyaW5nIHlvdXIgYmFieS7igJ0gSSB3YXMgbGlrZSwg4oCcT2theS7igJ0gSSBjb3VsZG7igJl0IGJlbGlldmUgaXQuIEl0IHdhcyBhIGRpZmZlcmVudCBtaWR3aWZlIGFuZCBzaGUgd2FzIGxpa2UsIOKAnEkgd2FudCB0byBjaGVjayB5b3UgYmVjYXVzZSB5b3UgY291bGQgaGF2ZSBhIGxpcCBpZiB5b3XigJlyZSBub3QgZnVsbHkgZWZmYWNlZC4gWW91ciBwdXNoaW5nIHdpbGwgYmUgaW5lZmZlY3RpdmUu4oCdIFNoZSBmb3VuZCB0aGF0IEkgd2FzIDEwIGNlbnRpbWV0ZXJzIGRpbGF0ZWQsIGZ1bGx5IGVmZmFjZWQgc28gdGhlbiB3ZSB3ZW50IG9uIGFuZCBwdXNoZWQuwqBNeSBkYXVnaHRlciBjYW1lIG91dCBhdCA5OjQ2IEFNIHNvIHdlIHB1c2hlZCBmb3IgYSBoYWxmIGhvdXIuwqBNZWFnYW46IE9oIG15IGdvc2ghIFNvIHlvdSBnb3QgYmFieSBpbiBhIGdvb2QgcG9zaXRpb24gYW5kIGlzbuKAmXQgdGhlcmUgc3VjaCBhIGRpZmZlcmVuY2UgYmV0d2VlbiBwdXNoaW5nP8KgSGVpZGk6IFllcy4gTm90IGhhdmluZyB0aGUgZXBpZHVyYWwsIEkgY291bGQgZmVlbCBldmVyeXRoaW5nLiBJdCB3YXMgc28gcmVhbC4gU2hlIHdhcyA3IHBvdW5kcywgMyBvdW5jZXMuIFNoZSBkaWQgaGF2ZSBhIGNvbXBvdW5kIHByZXNlbnRhdGlvbi4gU2hlIHdhcyBoZWFkIGRvd24sIGJ1dCB5ZWFoLiBTaGUgY2FtZSBvdXQgd2l0aCBoZXIgaGFuZCBwcmVzc2VkIGFnYWluc3QgaGVyIGhlYWQuwqBNZWFnYW46IFllcywgY29tZSBvdXQgdGhpbmtpbmcuwqBIZWlkaTogWWVhaC4gSSBoYWQgcmVhbGx5IG5vIHRlYXJpbmcsIHZlcnksIHZlcnkgbWluaW1hbC4gSSBhY2hpZXZlZCB0aGUgZGVsYXllZCBjb3JkIGNsYW1waW5nLiBNeSBodXNiYW5kIGdvdCB0byBjdXQgdGhlIGNvcmQuIFdlIGRpZG7igJl0IGhhdmUgdG8gcmVtaW5kIHRoZW0gb2Ygb3VyIHdpc2hlcy4gVGhleSBqdXN0IGtuZXcuIFdlIGhhZCBhIGdvbGRlbiBob3VyIHdoaWNoIEkgbmV2ZXIgaGFkIGJlZm9yZSwgYnV0IEkgd2FzIHRvbGQgSSBjb3VsZCB0YWtlIGFzIGxvbmcgYXMgSSB3YW50ZWQsIGFuZCB5ZWFoLiBJdCB3YXMganVzdCB0aGUgbW9zdCBiZWF1dGlmdWwgdGhpbmcgSSBoYXZlIGV2ZXIgZXhwZXJpZW5jZWQgaW4gbXkgbGlmZSBhbmQgSSBqdXN0IGNvdWxkbuKAmXQgYmVsaWV2ZSBJIGRpZCBpdC7CoE1lYWdhbjogWWVhaCwgd2hhdCBhIGpvdXJuZXkuIEkgYW0gc28gaGFwcHkgZm9yIHlvdS7CoEhlaWRpOiBUaGFuayB5b3UuwqBNZWFnYW46IENvbmdyYXR1bGF0aW9ucy4gQW5kIG5vdywgYXQgdGhpcyB0aW1lIG9mIHJlY29yZGluZywgaG93IG9sZCBpcyB5b3VyIGJhYnk/wqBIZWlkaTogU2hlIGlzIDggd2Vla3MuTWVhZ2FuOiA4IHdlZWtzLiBCcmFuZCBuZXchIEhvdyBoYXMgdGhlIHBvc3RwYXJ0dW0gYmVlbj/CoEhlaWRpOiBPaCBteSBnb3NoLiBJdOKAmXMgYmVlbiBhbWF6aW5nLiBJIG1lYW4sIGFzIGFtYXppbmcgYXMgaXQgY2FuIGJlLiBMZXTigJlzIGJlIHJlYWwsIGJ1dCBjb21wYXJlZCB0byB3aGF0IGl0IHdhcy7CoE1lYWdhbjogR29vZC4gSeKAmW0gc28gaGFwcHkgZm9yIHlvdS4gWW91IGtub3csIHdoZW4geW91IGZpbmlzaGVkIHlvdXIgZmlyc3QsIHlvdSB3ZXJlIGxpa2UsIOKAnE15IGh1c2JhbmQgYW5kIEkgZGlkbuKAmXQgZXZlbiBrbm93IGlmIHdlIHdvdWxkIGV2ZXIgd2FudCBhbm90aGVyIGtpZC7igJ0gSSBjYW4ganVzdCBzZWUgdGhpcyBqb3kgb24geW91ciBmYWNlIHJpZ2h0IG5vdy4gV2hlcmUgYXJlIHlvdSBhdCBpbiB0aGF0IHN0YWdlIG5vdz8gQXJlIHlvdSB0d28gYW5kIGRvbmUgb3IgYXJlIHlvdSBsaWtlLCDigJxJIGNvdWxkIGRvIHRoaXMgYWdhaW7igJ0/wqBIZWlkaTogV2UgYXJlIHR3byBhbmQgZG9uZS7CoE1lYWdhbjogSGV5LsKgSGVpZGk6IFllYWgsIEkgbWVhbiBpdOKAmXMgZnVubnkgYmVjYXVzZSB0aGUgbnVyc2UgYW5kIG15IE9CIHdlcmUgbGlrZSwg4oCcWW91IHJlYWxseSBzaG91bGQgaGF2ZSBhbm90aGVyIG9uZS7igJ3CoE1lYWdhbjogVGhpcyBpcyB3aGF0IEkgZGlkLiBJIHdlbnQgb3V0IHdpdGggYSBiYW5nLiBZb3Ugd2VudCBvdXQgd2l0aCBhIGJhbmcuwqBIZWlkaTogWW91IGNhbuKAmXQgdG9wIHRoaXMuwqBNZWFnYW46IFlvdSBnb3QgdGhlIGJpcnRoIHlvdSB3YW50ZWQgYW5kIGFsbCB0aGUgdGhpbmdzLiBZb3Uga25vdywgeW91IGFkdm9jYXRlZCBmb3IgeW91cnNlbGYgaW4gdGhlIGJpcnRoIHJvb20uIFlvdSBsZWZ0IGFuZCB0aGVuIHN0aWxsIGFkdm9jYXRlZCBmb3IgeW91cnNlbGYgaW4gdGhlIGJpcnRoIHJvb20uIEkgbWVhbiwgaG93IGFtYXppbmcuIEhvdyBhbWF6aW5nLsKgSGVpZGk6IFllYWguIEkgZW5kZWQgdXAgd2l0aCB0aGUgbW9zdCBzdXBwb3J0aXZlIHRlYW0uIFlvdSBkbyBuZXZlciBrbm93IHdoYXQgeW914oCZcmUgZ29pbmcgdG8gZ2V0LCBidXQgdGhlIHRlYW0gdGhhdCBjYW1lIGluIGF0IDc6MDAgQU0sIG9oIG15IGdvb2RuZXNzLiBUaGV5IHRyZWF0ZWQgbWUgbGlrZSBJIHdhcyBqdXN0IGEgbm9ybWFsLCB2YWdpbmFsIGJpcnRoLiBUaGVyZSB3YXMgbm8gVkJBQy4gVGhlcmUgd2FzIG5vIGphcmdvbi4gSXQgd2FzIGJlYXV0aWZ1bC7CoE1lYWdhbjogSSBsb3ZlIGhlYXJpbmcgdGhhdC4gVGhhdCBpcyB0cnVseSBob3cgaXQgaXMgc3VwcG9zZWQgdG8gYmUgYW5kIGl04oCZcyBzbyBvZnRlbiBub3QuIFRoZW4geWVhaCwgdGhlbiB3ZSBsZWFybmVkIG1vcmUgYWJvdXQgdGhlIGNvcnJlY3QgZGlhZ25vc2lzIG9yIHRlcm0gb2YgbG93IHBsYXRlbGV0cy4gSSB0b3RhbGx5IEdvb2dsZWQgaXQgcmVhbGx5IHF1aWNrbHkgYW5kIGl0IGp1c3Qgc2FpZCB0aGF0IGdlc3RhdGlvbmFsIHRocm9tYm9jeXRvcGVuaWEsIGhvdyBkbyB5b3Ugc2F5IGl0P8KgSGVpZGk6IFRocm9tYm9jeXRvcGVuaWEuwqBNZWFnYW46IFRocm9tYm9jeXRvcGVuaWEgaXMgYSBkaWFnbm9zaXMgb2YgZXhjbHVzaW9uLiBUaGUgY29uZGl0aW9uIGlzIGFzeW1wdG9tYXRpYy4gSXQgdXN1YWxseSBvY2N1cnMgaW4gdGhlIHNlY29uZCBoYWxmIG9mIHByZWduYW5jeSBpbiB0aGUgYWJzZW5jZSBvZiBhIGhpc3Rvcnkgb2YgdGhyb21ib2N5dG9wZW5pYS7CoEhlaWRpOiBZb3UgZ290IGl0LsKgTWVhZ2FuOiBJdCBzYWlkLCDigJxUaGUgcHJlZ25hbmN5IGFuZCB0aGUgcGxhdGVsZXQgY291bnRzIHNwb250YW5lb3VzbHkgcmV0dXJuIHRvIG5vcm1hbCB3aXRoaW4gdGhlIGZpcnN0IHR3byBtb250aHMgb2YgcG9zdHBhcnR1bS7igJ0gV2Ugd2lsbCBtYWtlIHN1cmUgdG8gaGF2ZSBhIGxpdHRsZSBiaXQgbW9yZSByZWFkaW5nLiBJdCB3aWxsIGdvIGJhY2sgaW50byBzb21lIHRoaW5ncywgYnV0IG9uZSBvZiB0aGUgdGhpbmdzIGl0IGRvZXMgc2F5IGlzIHRoYXQgaXQgaXMgbm90IG5lY2Vzc2FyaWx5IGFuIGluZGljYXRpb24gZm9yIGEgQ2VzYXJlYW4gZGVsaXZlcnkgd2hpY2ggaXMgYWxzbyBpbXBvcnRhbnQgdG8ga25vdyBiZWNhdXNlIEkgbWVhbiwgdGhlcmUgY2FuIGJlIGxvdyBwbGF0ZWxldCBsZXZlbHMgdGhhdCBhcmUgbW9yZSBpbnRlbnNlIGxpa2UgSEVMTFAgc3luZHJvbWUgYW5kIHRoaW5ncyBsaWtlIHRoYXQsIGJ1dCB0aGlzIGlzIGEgcmVhbGx5IGdvb2QgdGhpbmdzIHRvIGtub3cgYmVjYXVzZSB0aGF0IHdvdWxkIGhhdmUgZWFzaWx5IGJlZW4gc29tZXRoaW5nIGlmIGl0IGhhZG7igJl0IGJlZW4gZm9yIERyLiBOYXRoYW4gRm94IGFuZCBpZiBpdCBoYWRu4oCZdCBiZWVuIGZvciB0aGVtIHRhbGtpbmcgdG8geW91IGFib3V0IHRoaXMuIEl0IGNvdWxkIGhhdmUgc2NhcmVkIHlvdSBsaWtlLCDigJxPaCwgb2theS4gT2theS4gTGV04oCZcyBzdGF5LuKAnSBCdXQgeW91IHdlcmUgZnVsbHkgZWR1Y2F0ZWQgaW4gdGhlIHNpdHVhdGlvbiBhbmQgd2VyZSBhYmxlIHRvIG1ha2UgYSBnb29kIGNob2ljZSBmb3IgeW91IGFuZCBhZHZvY2F0ZSBmb3IgeW91cnNlbGYgYW5kIHNheSwg4oCcSSBmZWVsIGdvb2QgYWJvdXQgdGhpcy4gWW91IGNhbiBjYWxsIG1lIHdoZW4gdGhlIHByZWVjbGFtcHNpYSBsZXZlbHMgY29tZSBiYWNrLCBidXQgSSBmZWVsIGdvb2QgYWJvdXQgdGhpcyBkZWNpc2lvbi4gV2XigJlyZSBtb3Zpbmcgb24u4oCdwqBUaGVuIHRoZSBhbWF6aW5nLCBtaXJhY3Vsb3VzLCBubyBpbnN1bGluIG5lZWQsIHRoYXTigJlzIGFub3RoZXIgcmVhbGx5IGNvb2wgdGhpbmcgYWJvdXQgeW91ciBzdG9yeSwgYnV0IEkgYWxzbyB3YW50ZWQgdG8gc2hhcmUgTGlseSBOaWNob2xzLiBJIGRvbuKAmXQga25vdyBpZiB5b3XigJl2ZSBldmVyIGhlYXJkIG9mIGhlci7CoEhlaWRpOiBZZXMuIEZvciBteSBmaXJzdCBwcmVnbmFuY3ksIEkgcmVhZCBib3RoIG9mIGhlciBib29rcy4gU2hl4oCZcyBhbWF6aW5nLsKgTWVhZ2FuOiBTaGXigJlzIGFtYXppbmcuIFdl4oCZbGwgYmUgc3VyZSB0byBsaW5rIGhlciBib29rcyBhbmQgc3R1ZmYgaW4gdGhlIHNob3cgbm90ZXMgYXMgd2VsbCBzbyB5b3UgY2FuIG1ha2Ugc3VyZSB0byBjaGVjayBpdCBvdXQuIElmIHlvdSB3ZXJlIGdpdmVuIGEgZGlhZ25vc2lzIG9mIGdlc3RhdGlvbmFsIGRpYWJldGVzIG9yIGV2ZW4gYWN0dWFsbHkganVzdCBpbiBnZW5lcmFsLCBoZXIgYm9va3MgYXJlIGFtYXppbmcuIFlvdSBjYW4gcmVhZCBhbmQgYmUgcmVhbGx5LCByZWFsbHkgd2VsbCBlZHVjYXRlZC7CoE9rYXksIHdlbGwgdGhhbmsgeW91IHNvIG11Y2ggZm9yIHNoYXJpbmcgeW91ciBiZWF1dGlmdWwgc3Rvcmllcy7CoEhlaWRpOiBZZWFoLiBUaGFuayB5b3UgZm9yIGhhdmluZyBtZS7CoENsb3NpbmdXb3VsZCB5b3UgbGlrZSB0byBiZSBhIGd1ZXN0IG9uIHRoZSBwb2RjYXN0PyBUZWxsIHVzIGFib3V0IHlvdXIgZXhwZXJpZW5jZSBhdCB0aGV2YmFjbGluay5jb20vc2hhcmUuIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGFsbCB0aGluZ3MgVkJBQyBpbmNsdWRpbmcgb25saW5lIGFuZCBpbi1wZXJzb24gVkJBQyBjbGFzc2VzLCBUaGUgVkJBQyBMaW5rIGJsb2csIGFuZCBNZWFnYW7igJlzIGJpbywgaGVhZCBvdmVyIHRvIHRoZXZiYWNsaW5rLmNvbS4gQ29uZ3JhdHVsYXRpb25zIG9uIHN0YXJ0aW5nIHlvdXIgam91cm5leSBvZiBsZWFybmluZyBhbmQgZGlzY292ZXJ5IHdpdGggVGhlIFZCQUMgTGluay5TdXBwb3J0IHRoaXMgcG9kY2FzdCBhdCDigJQgaHR0cHM6Ly9yZWRjaXJjbGUuY29tL3RoZS12YmFjLWxpbmsvZG9uYXRpb25zQWR2ZXJ0aXNpbmcgSW5xdWlyaWVzOiBodHRwczovL3JlZGNpcmNsZS5jb20vYnJhbmRzIiwiZHVyYXRpb24iOnsidG90YWxNaWxsaXNlY29uZHMiOjQzNzU1MzZ9LCJpZCI6IjYzUnI0TU9vUVZYMnA2QVEwV2NiT3YiLCJtZWRpYVR5cGVzIjpbIkFVRElPIl0sIm5hbWUiOiJFcGlzb2RlIDI5MyBIZWlkaSdzIFZCQUMgKyBHZXN0YXRpb25hbCBEaWFiZXRlcywgR0JTICYgQWR2YW5jZWQgTWF0ZXJuYWwgQWdlIiwicGxheWFiaWxpdHkiOnsicGxheWFibGUiOnRydWUsInJlYXNvbiI6IlBMQVlBQkxFIn0sInBsYXllZFN0YXRlIjp7InBsYXlQb3NpdGlvbk1pbGxpc2Vjb25kcyI6MCwic3RhdGUiOiJOT1RfU1RBUlRFRCJ9LCJwb2RjYXN0VjIiOnsiX190eXBlbmFtZSI6IlBvZGNhc3RSZXNwb25zZVdyYXBwZXIiLCJkYXRhIjp7Il9fdHlwZW5hbWUiOiJQb2RjYXN0IiwiY292ZXJBcnQiOnsic291cmNlcyI6W3siaGVpZ2h0Ijo2NCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwZjY4ZGJiNWY3NmJhNDMyZGZjMzAzZjM3ZjgwNiIsIndpZHRoIjo2NH0seyJoZWlnaHQiOjMwMCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwNWYxZmJiNWY3NmJhNDMyZGZjMzAzZjM3ZjgwNiIsIndpZHRoIjozMDB9LHsiaGVpZ2h0Ijo2NDAsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMGJhOGFiYjVmNzZiYTQzMmRmYzMwM2YzN2Y4MDYiLCJ3aWR0aCI6NjQwfV19LCJuYW1lIjoiVGhlIFZCQUMgTGluayIsInNob3dUeXBlcyI6W10sInVyaSI6InNwb3RpZnk6c2hvdzozNmJWeHFPR2QxRVljUjBvSnRlRjVuIn19LCJyZWxlYXNlRGF0ZSI6eyJpc29TdHJpbmciOiIyMDI0LTA0LTIyVDA3OjEwOjAwWiJ9LCJyZXN0cmljdGlvbnMiOnsicGF5d2FsbENvbnRlbnQiOmZhbHNlfSwidXJpIjoic3BvdGlmeTplcGlzb2RlOjYzUnI0TU9vUVZYMnA2QVEwV2NiT3YifSx7Il9fdHlwZW5hbWUiOiJFcGlzb2RlIiwiYXVkaW8iOnsiaXRlbXMiOlt7ImZpbGVJZCI6IjNmZjIwYjdhZTdhNTUxODU1MjY2YjY1YzEyNjc5NjE4MzlkODgxNjAiLCJmb3JtYXQiOiJNUDRfMTI4IiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvM2ZmMjBiN2FlN2E1NTE4NTUyNjZiNjVjMTI2Nzk2MTgzOWQ4ODE2MCJ9LHsiZmlsZUlkIjoiMzJlZTNjMzkxNzhhZTZkZGE2ZDBlOGNkOWYyNTJhYWIxZGNlNDhhNyIsImZvcm1hdCI6IkFBQ18yNCIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3LzMyZWUzYzM5MTc4YWU2ZGRhNmQwZThjZDlmMjUyYWFiMWRjZTQ4YTcifSx7ImZpbGVJZCI6IjlmZWMyMTkzYzI1MDc0OTk4ODZhNjA3MTQ5YzRjNjUzNzg4OTkyYzYiLCJmb3JtYXQiOiJNUDRfMTI4X0RVQUwiLCJ1cmwiOiJodHRwczovL3Auc2Nkbi5jby9tcDMtcHJldmlldy85ZmVjMjE5M2MyNTA3NDk5ODg2YTYwNzE0OWM0YzY1Mzc4ODk5MmM2In0seyJmaWxlSWQiOiJhNzE3MzI1ZjFkMDc1NDk1YjkyODU4YWM1ZjViZmNkZjQxOWJmMzIxIiwiZm9ybWF0IjoiTVA0XzEyOF9DQkNTIiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvYTcxNzMyNWYxZDA3NTQ5NWI5Mjg1OGFjNWY1YmZjZGY0MTliZjMyMSJ9LHsiZmlsZUlkIjoiODhhNjExYjgwMTU4OGYwYjZkZWRiODcwMTIxMmQ4NzBkYzUxMDZmNSIsImZvcm1hdCI6Ik9HR19WT1JCSVNfOTYiLCJ1cmwiOiJodHRwczovL3Auc2Nkbi5jby9tcDMtcHJldmlldy84OGE2MTFiODAxNTg4ZjBiNmRlZGI4NzAxMjEyZDg3MGRjNTEwNmY1In1dfSwiY29udGVudFJhdGluZyI6eyJsYWJlbCI6Ik5PTkUifSwiY292ZXJBcnQiOnsic291cmNlcyI6W3siaGVpZ2h0Ijo2NCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwZjY4ZGZiM2VlOTVlMDEwMDI0NDY5ZTk1ODkzYiIsIndpZHRoIjo2NH0seyJoZWlnaHQiOjMwMCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwNWYxZmZiM2VlOTVlMDEwMDI0NDY5ZTk1ODkzYiIsIndpZHRoIjozMDB9LHsiaGVpZ2h0Ijo2NDAsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMGJhOGFmYjNlZTk1ZTAxMDAyNDQ2OWU5NTg5M2IiLCJ3aWR0aCI6NjQwfV19LCJkZXNjcmlwdGlvbiI6IlRvZGF54oCZcyBlcGlzb2RlIGhhcyBhIHdlYWx0aCBvZiBpbmZvcm1hdGlvbiB5b3Ugd29u4oCZdCB3YW50IHRvIG1pc3MhIERyLiBLZW5kcmEgT2hvcmEgaXMgYSBMaWNlbnNlZCBDbGluaWNhbCBNYXJyaWFnZSAmIEZhbWlseSBUaGVyYXBpc3QgYW5kIGFsc28gYSBWQkFDIG1vbS4gRnJvbSBiZWluZyB0b2xkIHNoZSB3b3VsZCBuZXZlciBoYXZlIGNoaWxkcmVuIHRvIGN1cnJlbnRseSBleHBlY3RpbmcgaGVyIHRoaXJkIGJhYnkgYm95LCBLZW5kcmEgc2hhcmVzIGhvdyBwcmlvcml0aXppbmcgaGVyIG1lbnRhbCBoZWFsdGggaGVscGVkIGhlciB0aHJvdWdoIHNvbWUgcmVhbGx5IHRvdWdoIHllYXJzLsKgS2VuZHJh4oCZcyBmaXJzdCBiaXJ0aCB3YXMgYSBwbGFubmVkIGJyZWVjaCBob21lIGJpcnRoIHdpdGggYW4gZW1wb3dlcmluZyBsYWJvci4gQnV0IHdoZW4gYmFieSB3YXMgbm90IGRlc2NlbmRpbmcgYWZ0ZXIgaG91cnMgb2YgcHVzaGluZywgc2hlIGZlbHQgYXQgcGVhY2UgdHJhbnNmZXJyaW5nIHRvIHRoZSBob3NwaXRhbC4gVW5mb3J0dW5hdGVseSwgS2VuZHJh4oCZcyBob3NwaXRhbCBleHBlcmllbmNlIHdhcyB0cmF1bWF0aWMgYW5kIHJlc3VsdGVkIGluIGEgQy1zZWN0aW9uIHVuZGVyIGFuZXN0aGVzaWEuwqBUaHJvdWdoIHByb2Nlc3NpbmcgYW5kIGhlYWxpbmcsIEtlbmRyYSB3YXMgYWJsZSB0byBwcmVwYXJlIGZvciBhbmQgYWNoaWV2ZSB0aGUgaG9tZSBiaXJ0aCBzaGUgaG9wZWQgZm9yIHRoZSBmaXJzdCB0aW1lIHdpdGggaGVyIHNlY29uZCBiYWJ5IHdobyB3YXMgYm9ybiBvbmx5IDE0IG1vbnRocyBhZnRlciBoZXIgZmlyc3QuwqBUaWEsIGEgVkJBQyBkb3VsYSBmcm9tIHRoZSBDaGljYWdvIGFyZWEsIGpvaW5zIE1lYWdhbiBhcyBoZXIgY29ob3N0IHRvZGF5IGFuZCBmaW5pc2hlcyB0aGUgZXBpc29kZSB3aXRoIHRoZSB0b3AgdGhyZWUgcGllY2VzIG9mIGFkdmljZSB0aGF0IHNoZSBnaXZlcyB0byBhbGwgb2YgaGVyIGNsaWVudHMuwqBLZW5kcmEncyBXZWJzaXRlVGlhJ3MgV2Vic2l0ZUluZm9ybWVkIFByZWduYW5jeSAtIGNvZGU6IHZiYWNsaW5rNDI0TmVlZGVkIFdlYnNpdGVIb3cgdG8gVkJBQzogVGhlIFVsdGltYXRlIFByZXAgQ291cnNlIGZvciBQYXJlbnRzRnVsbCBUcmFuc2NyaXB0IHVuZGVyIEVwaXNvZGUgRGV0YWlsc8KgMDM6MjQgUmV2aWV3IG9mIHRoZSBXZWVrMDY6MDcgS2VuZHJh4oCZcyBwcm9mZXNzaW9uYWwgYmFja2dyb3VuZDA5OjAwIEtlbmRyYeKAmXMgc3VycHJpc2UgcHJlZ25hbmN5MTA6NTQgRmlyc3QgYmlydGgxMzoxNCBTdXJyZW5kZXJpbmcxNjoxNSBTdXJwcmlzZSBiYWJ5IG51bWJlciB0d28yMTowMCBLZW5kcmHigJlzIFZCQUMyOTozMCBQcm9jZXNzaW5nIGJpcnRoczMzOjMxIEVyaW7igJlzIGUtY291cnNlczM2OjE2IEJlbmVmaXRzIG9mIHRoZXJhcHk0MTozOSBTaG9ydCBpbnRlcnZhbCBiZXR3ZWVuIHByZWduYW5jaWVzNDU6NTEgVGlh4oCZcyB0b3AgdGhyZWUgdGlwczQ4OjU0IEhpcmUgYSBncmVhdCBzdXBwb3J0IHRlYW3CoDUxOjM4IFByZXBhcmUgeW91ciBtaW5kTWVhZ2FuOiBIZWxsbywgaGVsbG8uIFdlIGhhdmUgYW5vdGhlciBhbWF6aW5nIGVwaXNvZGUgZm9yIHlvdSBndXlzIHRvZGF5IGFuZCBndWVzcyB3aGF0PyBXZSBkaWQgdGhpcyBhIGNvdXBsZSBvZiB3ZWVrcyBhZ28gYW5kIEkgdGhvdWdodCBpdCB3b3VsZCBiZSBmdW4gdG8gZG8gaXQgYWdhaW4uIFdlIGhhdmUgYSBjby1ob3N0IHdpdGggdXMgdG9kYXkuIEl04oCZcyBub3QgSnVsaWUsIGJ1dCBpdCBpcyBUaWEuIEhlbGxvLCBUaWEuwqBUaWE6IEhpLiBUaGFuayB5b3Ugc28gbXVjaCBmb3IgaGF2aW5nIG1lLsKgTWVhZ2FuOiBBYnNvbHV0ZWx5LiBUaWEgaXMgYW1hemluZyBhbmQgc2hlIGlzIGFjdHVhbGx5IG9uZSBvZiBvdXIgVkJBQyBjZXJ0aWZpZWQgZG91bGFzLiBJIHdhbnQgdG8gdHVybiB0aGUgdGltZSBhIGxpdHRsZSBiaXQgb3ZlciB0byB5b3UgYW5kIHRlbGwgdXMgd2hlcmUgY2FuIHBlb3BsZSBmaW5kIHlvdS4gV2hhdCBpcyB5b3VyIGJ1c2luZXNzIG5hbWU/IEFsbCBvZiB0aGF0LsKgVGlhOiBZZWFoLiBJIGFtIGluIHRoZSBDaGljYWdvbGFuZCBhcmVhIHNvIEkgc2VydmUgYSB3aWRlIHJhZGl1cyBhYm91dCBhbiBob3VyIGZyb20gbXkgaG9tZXRvd24gb2YgTW91bnQgUHJvc3BlY3QuIE15IGJ1c2luZXNzIGlzIENoaWNhZ29sYW5kIEJpcnRoIGFuZCBCYWJ5LiBNb3N0IHBlb3BsZSBjYW4gZmluZCBtZSBvbiBteSB3ZWJzaXRlLiBJdCBpcyBDaGljYWdvbGFuZGJpcnRoYW5kYmFieS5jb20gb3IgdGhleSBjYW4gZW1haWwgbWUgYXQgY2hpYmlydGhhbmRiYWJ5QGdtYWlsLmNvbS4gWWVhaC4gSSB3b3VsZCBsb3ZlIGZvciBwZW9wbGUgdG8gcmVhY2ggb3V0IHRvIG1lIGlmIHRoZXkgYXJlIGluIG15IGFyZWEuwqBNZWFnYW46IEF3ZXNvbWUuIFdlIHdpbGwgbWFrZSBzdXJlIHRvIGhhdmUgaGVyIGxpbmsgYW5kIGV2ZXJ5dGhpbmcgYWxzbyBpbiB0aGUgc2hvdyBub3Rlcy4gWW91IGNhbiBlYXNpbHkgZmluZCBoZXIuIElmIHlvdeKAmXJlIGluIGhlciBhcmVhIGxvb2tpbmcgZm9yIGEgZG91bGEsIGRlZmluaXRlbHkgZ2l2ZSBoZXIgYSBjYWxsLk9rYXksIHlvdSBndXlzLiBXZSBoYXZlIGEgZ3Vlc3QgdG9kYXkuIEkgbWVhbiwgeW91IGFyZSBhbGwgc3BlY2lhbC4gRXZlcnkgZ3Vlc3QgaXMgc28gc3BlY2lhbCwgYnV0IERyLiBLZW5kcmEgT2hvcmEgaXMgd2l0aCB1cyB0b2RheS4gU2hlIGlzIGEgVkJBQyBtb20gYW5kIHRoZW4gc2hlIGFsc28gb2ZmZXJzIHNvbWV0aGluZyB2ZXJ5IHNwZWNpYWwgdGhhdCBJIHRoaW5rIGNvbm5lY3RzIG9yIGNhbiBjb25uZWN0IGEgbG90IHdpdGggb3VyIGF1ZGllbmNlIGJlY2F1c2Ugd2UgZ28gdGhyb3VnaCBhIGxvdCBvZiBzdHVmZiBhcyBWQkFDIG1vbXMgYW5kIEMtc2VjdGlvbiBtb21zIGFuZCBhbGwgb2YgdGhpcy4gU2hlIGFjdHVhbGx5IG93bnMgYSB3ZWxsbmVzcyBjb21wYW55IGFuZCBzaGUgaXMgYSBtZW50YWwgaGVhbHRoIGFuZCB3ZWxsbmVzcyBwcmFjdGljZSBpbiBIYXJ0Zm9yZCBDb3VudHkuwqBLZW5kcmE6IE1obW0uwqBNZWFnYW46IEF3ZXNvbWUsIG9rYXksIGluIE1hcnlsYW5kLiBTaGUgc3BlY2lhbGl6ZXMgaW4gY291cGxlcyB0aGVyYXB5IGFuZCBwZXJpbmF0YWwgbWVudGFsIGhlYWx0aC4gSW4gaGVyIGJyaWVmIHllYXJzIGFzIGEgbW9tLCBzaGUgaGFzIGxlYXJuZWQgdG8gbG92ZSBhbmQgYXBwcmVjaWF0ZSBzbG93aW5nIGRvd24gd2hpY2ggSSBrbm93IHdlIGFsbCBuZWVkIHRvIGRvIGluIGxpZmUsIGFsbCB0aGluZ3MgbmV1dHJhbCwgYW5kIGxvdHMgb2YgdGltZSBvdXRkb29ycy4gSGVyIFZCQUMgam91cm5leSBpcyBvbmUgb2YgaGVyIG1vc3QgcHJvdWQgbW9tZW50cyBhcyBhIHdvbWFuIGFuZCBhIG1vbS7CoEkgYW0gZXhjaXRlZCBmb3IgaGVyIHRvIGNvbWUgdG8gdGFsayBhYm91dCBoZXIgVkJBQyBzdG9yeSBidXQgdGhlbiBhbHNvIGEgbGl0dGxlIGJpdCBtb3JlIG9mIHdoYXQgc2hlIG9mZmVycyBiZWNhdXNlIEkgZG8uIExpa2UgSSBzYWlkLCBJIHRoaW5rIGl0IGFwcGxpZXMgdmVyeSB3ZWxsIHRvIG91ciBjb21tdW5pdHkuwqAwMzoyNCBSZXZpZXcgb2YgdGhlIFdlZWtNZWFnYW46IEJ1dCBvZiBjb3Vyc2UsIHdlIGhhdmUgYSBSZXZpZXcgb2YgdGhlIFdlZWsgc28gSeKAmW0gZ29pbmcgdG8gdHVybiB0aGUgdGltZSBiYWNrIG92ZXIgdG8gVGlhIHJlYWxseSBxdWlja2x5IGFuZCB0aGVuIHdl4oCZbGwgZGl2ZSByaWdodCBpbi7CoFRpYTogWWVhaC4gSSBoYXZlIGEgcmV2aWV3IGZyb20gZG1pbGxlcjIxMzk1IGZyb20gU2VwdGVtYmVyIDE4LCAyMDIzLiBUaGUgc3ViamVjdCBpcywg4oCcRW1wb3dlcmluZyBhbmQgTW90aXZhdGluZy7igJ0gVGhpcyBpcyBmcm9tIEFwcGxlIFBvZGNhc3RzLiBJdCBzYXlzLCDigJxJIGp1c3QgaGFkIG15IHN1Y2Nlc3NmdWwgVkJBMkMgYW5kIHdvdWxkIGxvdmUgdG8gdGhhbmsgVGhlIFZCQUMgTGluayBQb2RjYXN0IGZvciBtb3RpdmF0aW5nLCBlZHVjYXRpbmcsIGFuZCB1cGxpZnRpbmcgbXkgc3Bpcml0IHRvIGhlbHAgcHJlcGFyZSBteXNlbGYgZm9yIG15IFZCQTJDLiBJIGxpc3RlbmVkIHRvIFRoZSBWQkFDIExpbmsgUG9kY2FzdCBvbiBteSBkcml2ZXMgdG8gd29yayBhbmQgd2hpbGUgY2xlYW5pbmcgYXJvdW5kIHRoZSBob3VzZS4gRWFjaCBiaXJ0aCBzdG9yeSBicm91Z2h0IHNvIG1hbnkgZW1vdGlvbnMgYmFjayB0byBtZSByZWxhdGluZyB0byBvdGhlciBtYW1hcyByZWxhdGluZyB0byBiaXJ0aCB0cmF1bWEgZnJvbSBvdXIgcHJpb3IgYmlydGhzIGFuZCBob3cgZGVlcGx5IHdlIGRyZWFtIG9mIGEgVkJBQy4gSSByZWNvbW1lbmQgdGhpcyBwb2RjYXN0IHRvIGFueW9uZSB3aG8gd2lzaGVzIGZvciBhIFZCQUMgYW5kIGFsc28gdG8gYW55IHByZWduYW50IG1vbXMgd2hvIGp1c3Qgd291bGQgbG92ZSB0byBoZWFyIGJpcnRoIHN0b3JpZXMgYW5kIHRvIGVkdWNhdGUgdGhlbXNlbHZlcyBtb3JlIG9uIGJpcnRoIGZhY3RzLuKAncKgTWVhZ2FuOiBBd3csIHRoYW5rIHlvdSBmb3IgdGhhdCByZXZpZXcuIFRoYXQgd2FzIGFtYXppbmcuIE9uY2UgaW4gYSB3aGlsZSwgd2Ugd2lsbCBoYXZlIGEgcmV2aWV3IHRoYXQgdGFsa3MgYWJvdXQgcmVjb21tZW5kaW5nIGl0IHRvIGFsbCBWQkFDIG1vbXMgb3IgY2xpZW50cyBvciBhbnlvbmUgd2FudGluZyB0byBrbm93IHRoZWlyIG9wdGlvbnMgZm9yIGJpcnRoIGFmdGVyIENlc2FyZWFuLCBidXQgSSByZWFsbHkgZG8gbG92ZSBpdCB3aGVuIHBlb3BsZSBhbHNvIHJlY29nbml6ZSB0aGF0IHRoaXMgcG9kY2FzdCBjYW4gaGVscCB0aG9zZSBmaXJzdC10aW1lIHBhcmVudHMgdG9vLsKgSSBtZWFuLCBvdXIgQ2VzYXJlYW4gcmF0ZSBpcyBhc3Ryb25vbWljYWxseSBoaWdoIGFuZCBpdOKAmXMgYW4gaXNzdWUuIEkgdGhpbmsgb25lIG9mIHRoZSB3YXlzIHRoYXQgd2UgY2FuIGhlbHAgaGVyZSBpbiBvdXIgc21hbGwgY29tbXVuaXR5LCBidXQgYWxzbyB2ZXJ5IGJpZyBjb21tdW5pdHkgaXMgdG8gaGVscCBlZHVjYXRlIHRob3NlIGZpcnN0LXRpbWUgbW9tcyBhYm91dCB0aGVpciBvcHRpb25zIGFuZCB3aHkgQ2VzYXJlYW5zIGFyZSBoYXBwZW5pbmcgYW5kIHdoYXQgaXMgYmVpbmcgZG9uZSBvdXQgdGhlcmUgYW5kIHNhaWQgb3V0IHRoZXJlIHRoYXQgbWF5IGJlIGNhdXNpbmcgdGhlIHdob2xlIHJvb3QgcHJvYmxlbSBvZiB0aGUgQ2VzYXJlYW4gcmlzZS7CoFNvIEkgbG92ZSB0aGF0IHNoZSBwb2ludGVkIHRoYXQgb3V0LsKgMDY6MDcgS2VuZHJh4oCZcyBwcm9mZXNzaW9uYWwgYmFja2dyb3VuZE1lYWdhbjogT2theSwgY3V0ZSBLZW5kcmEuIFRoYW5rIHlvdSBzbyBtdWNoIGZvciBqb2luaW5nIHVzIHRvZGF5LsKgS2VuZHJhOiBUaGFua3MgZm9yIGhhdmluZyBtZS7CoE1lYWdhbjogSSB3YW50IHRvIHR1cm4gdGhlIHRpbWUgb3ZlciB0byB5b3UuIEnigJltIGV4Y2l0ZWQgdG8gaGVhciBtb3JlIGFib3V0IHlvdXIgc3RvcmllcyBhbmQgeW91ciBqb3VybmV5IGFuZCB3aGF0IHlvdSBkbyBldmVyeSBkYXkuIEkgYWxzbyBob3BlIHRoYXQgd2UgY2FuIHRhbGsgYSBsaXR0bGUgYml0IGFib3V0IHlvdXIgZS1jb3Vyc2VzLCBzcGVjaWZpY2FsbHkgdHdvIG9mIHRoZW3igJMgdGhlIGJpcnRoIHRyYXVtYSBhbmQgdGhlIHJlYmlydGguIEkgbG92ZSB0aGF0IHRpdGxlIGJ5IHRoZSB3YXkuwqBLZW5kcmE6IFBlcmZlY3QsIHRoYW5rIHlvdS7CoEkgZmVlbCBsaWtlIG15IHN0b3J5IGludGVydHdpbmVzIHdpdGggbWVudGFsIGhlYWx0aCBpbiBhIHJlYWxseSBpbXBvcnRhbnQgd2F5IGJlY2F1c2Ugb2YgbXkgYnVzaW5lc3MgYnV0IGl0IGFsc28gaXMgbGlrZSBldmVyeSBzdGVwIG9mIG15IHByb2Zlc3Npb25hbCBqb3VybmV5IGhhcyBqdXN0IGJlZW4gYSBjb3VwbGUgc3RlcHMgYWhlYWQgb2YgbXkgcGVyc29uYWwgam91cm5leSBhbmQgcHJlcGFyZWQgbWUgaW4gYSByZWFsbHkgYmVhdXRpZnVsIGFuZCBpbXBvcnRhbnQgd2F5LsKgSeKAmWxsIHByb2JhYmx5IHN0YXJ0IHRoZXJlIGJlY2F1c2UgdGhhdOKAmXMgbWF5YmUgd2hlcmUgaXQgbWFrZXMgdGhlIG1vc3Qgc2Vuc2UuIEkgZ290IGludG8gcHJpdmF0ZSBwcmFjdGljZSB5ZWFycyBhZ28sIG1heWJlIDggb3IgOSB5ZWFycyBhZ28gYW5kIEkgYWN0dWFsbHkgaGFkIHF1aXRlIGEgZmV3IGNsaWVudHMgd2hvIGNhbWUgdG8gbWUgd2hvIGhhZCBpbmZlcnRpbGl0eSBhcyBhIHBhcnQgb2YgdGhlaXIgc3RvcnkuIFRoYXQgd2FzbuKAmXQgc29tZXRoaW5nIHRoYXQgd2FzIHNwZWNpZmljIHRvIG15IHRyYWluaW5nIGluIGdyYWQgc2Nob29sLiBJdCB3YXMgYSBsb3Qgb2YgY291cGxlc+KAmSB3b3JrLCBzbyBJIGtpbmQgb2YgZ290IGEgY3Jhc2ggY291cnNlIG9uIHRoZSBlbW90aW9uYWwgaGVhdmluZXNzIGFuZCBsb3NzIGFzc29jaWF0ZWQgd2l0aCBhbiBpbmZlcnRpbGl0eSBqb3VybmV5LsKgQXQgdGhhdCBwb2ludCBpbiBteSBzdG9yeSwgbXkgaHVzYmFuZCBhbmQgSSB3ZXJlbuKAmXQgdHJ5aW5nIHRvIGhhdmUga2lkcy4gSXQganVzdCB3YXNu4oCZdCBhIHBpZWNlIG9mIHRoZSBwdXp6bGUgeWV0LiBJIGp1c3Qgd29ya2VkIGFsb25nc2lkZSBvZiB0aGVtLCBzdXBwb3J0ZWQgdGhlbSwgYW5kIGxlYXJuZWQgYSB0b24gZnJvbSB0aGVtLiBJIG9wZW5lZCBteSBvd24gYnVzaW5lc3MgYW5kIGRpZCB0aGF0IGZvciBhIHllYXIgb3IgdHdv4oCTIHRoYXTigJlzIEVyaW4uIFRoZSBlLWNvdXJzZXMgYXJlIGFjdHVhbGx5IGRvbmUgYnkgRXJpbiBOZXd0b24uIFNoZSBpcyBvdXIgZXhwZXJ0IHBlcmluYXRhbCBtZW50YWwgaGVhbHRoIHNwZWNpYWxpc3QgYW5kIHNoZSBzdXBlcnZpc2VzIGFsbCBvZiB0aGUgY2xpbmljaWFucyBhdCBteSBwcmFjdGljZS4gU2hlIGlzIGZhbnRhc3RpYy7CoFdoZW4gSSBicm91Z2h0IGhlciBvbiwgc2hlIGhhZCBhIGdlbmVyaWMgc2tpbGwgc2V0IGJ1dCByZWFsbHkgd2FudGVkIHRvIHNwZWNpYWxpemUgaW4gdGhlIHBlcmluYXRhbCByZWFsbS4gVGhpcyB3YXMgcmlnaHQgd2hlbiBJIGdvdCBteSBpbmZlcnRpbGl0eSBkaWFnbm9zaXMuIFdlIGhhZCBiZWVuIHRyeWluZyBmb3IgYSBjb3VwbGUgb2YgeWVhcnMuIEkgaGFkIGxlYXJuZWQgd2hlbiB0byBnZXQgc29tZSBtZWRpY2FsIHRlc3RpbmcgYW5kIGFsbCBvZiB0aGF0IGRvbmUuIFRoZXkgc2FpZCwg4oCcRXNzZW50aWFsbHkgd2l0aCB5b3VyIGFnZSBhbmQgYWxzbyB3aXRoIGEgY291cGxlIG90aGVyIGZhY3RvcnMsIHdlIGRvbuKAmXQgdGhpbmsgbGlrZWx5IHRoYXQgeW914oCZcmUgZ29pbmcgdG8gaGF2ZSBjaGlsZHJlbi7igJ3CoEl0IHdhcyByaWdodCBhdCB0aGUgYmVnaW5uaW5nIG9mIENPVklEIGluIEZlYnJ1YXJ5IDIwMjAgYW5kIEkganVzdCByZW1lbWJlciBiZWluZyB0YWtlbiBhYmFjayBpbiBhIHdheSBJ4oCZdmUgbmV2ZXIgZXhwZXJpZW5jZWQgYmVmb3JlLiBDb21wbGV0ZSBhbmQgdG90YWwgZ3JpZWYgb3ZlciBzb21ldGhpbmcgSSBkaWRu4oCZdCBrbm93IGhvdyB0byBncmlldmUgZGVzcGl0ZSBteSBwcm9mZXNzaW9uLCBkZXNwaXRlIG15IHRlYW0gYW5kIGFsbCBvZiB0aGF0LiBJdCB3YXMgd2VpcmQuIEl0IHdhcyBhIHdlaXJkIHNlYXNvbiBvZiBqdXN0IG5vdCBldmVuIGJlaW5nIHN1cmUuIFdoYXQgZG8geW91IGRvIHdpdGggdGhpcyBsb3NzIHRoYXQgaGFzIG5vdCBldmVuIGhhcHBlbmVkIHlldD8gSXTigJlzIHRoaXMgdGhpbmcgdGhhdCB5b3UgY2Fu4oCZdCByZWNvbmNpbGUgb3IgbWFrZSBzZW5zZSBvZi5JIHNhdCB3aXRoIGl0IGZvciBhIHdoaWxlLiBNeSBodXNiYW5kIGFuZCBJIGFjdHVhbGx5IGVuZGVkIHVwIGRvaW5nIHNvbWUgb3RoZXIgdGhpbmdzIHByb2Zlc3Npb25hbGx5IHRvIGtlZXAgb3Vyc2VsdmVzIGJ1c3kgaWYgeW91IHdpbGwsIHRvIGZpbmQgbmV3IGVuZXJneSBhbmQgZXhjaXRlbWVudCwgc28gd2UgYm91Z2h0IGEgaG9tZSB0byByZW5vdmF0ZSwgYSB2YWNhdGlvbiBwcm9wZXJ0eSB0byByZW5vdmF0ZS4gTXkgaHVzYmFuZCBpcyBpbiBjb25zdHJ1Y3Rpb24uIFRoYXQgcmVhbGx5IHRvb2sgYSBsb3Qgb2Ygb3VyIHRpbWUgYW5kIGV4Y2l0ZW1lbnQuwqAwOTowMCBLZW5kcmHigJlzIHN1cnByaXNlIHByZWduYW5jeUtlbmRyYTogSSBldmVudHVhbGx5IHdyb3RlIGEgYmxvZy4gSSBkZWNpZGVkLCDigJxPa2F5LiBJIGNhbiBzaGFyZSBteSBzdG9yeSB3aXRoIHRoZSB3b3JsZC7igJ0gSSB3cm90ZSB0aGlzIGJsb2cg4oCcMTMgVHJ1dGhzIEFib3V0IEluZmVydGlsaXR54oCdLiBJdCB3YXMgZXNzZW50aWFsbHkgYSBxdWljayBzdW1tYXJ54oCTIG5vdCBxdWljaywgYSB2ZXJ5IGxvbmcgYmxvZ+KAkyBhIHN1bW1hcnkgb2YgbXkgam91cm5leSB3aXRoIGluZmVydGlsaXR5IGFuZCBzZWVpbmcgaXQgdGhyb3VnaCBteSBodXNiYW5k4oCZcyBleWVzIGFuZCBzZWVpbmcgaXQgZmlyc3RoYW5kIGluIG15IG93biBleHBlcmllbmNlLiBTb21ldGhpbmcgaW4gbWUgd2FzIGxpa2UsIOKAnFRoaXMgaXMgbm90IHRoZSBmdWxsIHN0b3J5IHlldC4gVGhlcmUgaXMgbW9yZSB0byBjb21lLuKAnSBUaGUgY2xpZW50cyB0aGF0IEkgaGFkIHdvcmtlZCB3aXRoLCB0aGlzIGNvbm5lY3Rpb24gdGhhdCBJIGhhZCB3aXRoIEVyaW4sIGhlciBkZXNpcmUgdG8gc2hhcmUgdGhlIGJpcnRoIHRyYXVtYSByZWNvdmVyeSB3aXRoIHRoZSB3b3JsZCwgYW5kIGFsbCBvZiB0aGVzZSBmYWN0b3JzIGp1c3QgZmVsdCBsaWtlIHRoZXJlIHdhcyBtb3JlIGluIHRoaXMgc3RvcnkuwqBFdmVudHVhbGx5LCBpbiBKYW51YXJ5IDIwMjEsIEkgZm91bmQgb3V0IHRoYXQgSSB3YXMgcHJlZ25hbnQgd2l0aCBteSBmaXJzdCBzb24gYW5kIGl0IHdhcyBhIGNvbXBsZXRlIGFuZCB0b3RhbCBzdXJwcmlzZS4gSXQgd2FzIGp1c3Qgc3VjaCBhIGZhaXRoIG1vbWVudCBmb3IgdXMgdGhhdCB3ZSBhY3R1YWxseSBmb3VuZCBvdXQgYXQgb3VyIGJlYWNoIGhvdXNlIHRoYXQgd2Ugd2VyZSByZW5vdmF0aW5nLiBJdCB3YXMgcmVhbGx5IHNlcmVuZGlwaXRvdXMuIEkgZG9u4oCZdCBrbm93LiBJdCB3YXMgbWFnaWNhbCBpZiB5b3Ugd2lsbC4gSSBoYXZlIGl0IG9uIHZpZGVvLiBJdCB3YXMgcmVhbGx5IGp1c3Qgc3VwZXIgc3dlZXQuwqBBdCB0aGUgdGltZSwgSSByZWFsbHkgZGlkbuKAmXQga25vdyBhbnlvbmUgd2hvIHdhcyBkb2luZyBob21lIGJpcnRocywgVkJBQyB3YXNu4oCZdCBwYXJ0IG9mIG15IGpvdXJuZXkgeWV0LCBzbyBJIGp1c3QgdGhvdWdodCwg4oCcTWFuLCBJIG5ldmVyIHRob3VnaHQgSSB3YXMgZ29pbmcgdG8gYmUgYSBtb20uIEkgbmVlZCB0byBkbyBldmVyeXRoaW5nIEkgY2FuIHRvIG1ha2UgdGhpcyB0aGUgbW9zdCBzYWNyZWQgam91cm5leSBwb3NzaWJsZS4gVGhlIG1vc3QgZW1wb3dlcmluZywgYW5kIGltcG9ydGFudC4gSSB3YW50IGhlYWx0aHkga2lkcy4gSSB3YW50IGVtb3Rpb25hbGx5IGhlYWx0aHnigJPigJ0gYW5kIGFsbCBvZiB0aGF0LsKgSSB0b29rIGEgbG90IG9mIGNhcmUgYW5kIGVuZXJneSBpbiB0aGUgcHJlZ25hbmN5IHRvIHJlYWQgdGhlIHJlc291cmNlcyBvbiBoYXZpbmcgYSB2YWdpbmFsIGJpcnRoIGFuZCBhbGwgb2YgdGhlIHRoaW5ncyB0aGF0IHdvdWxkIGhlbHAgbWUgYW5kIGxlYWQgdG8gc3VjY2VzcyBpbiB0aGF0IHJvdXRlIGFzIG5hdHVyYWxseSBhcyBwb3NzaWJsZSBpcyB3aGF0IEkgd2FudGVkLCB0aGUgbGVhc3QgaW50ZXJ2ZW50aW9uIHBvc3NpYmxlLiBJIHJlYWQgYWxsIG9mIHRoZSBzdG9yaWVzIGFuZCBsaXN0ZW5lZCB0byB0aGUgcG9kY2FzdCBlcGlzb2Rlcy4gSSBqdXN0IGZlbHQgb24gdG9wIG9mIHRoZSB3b3JsZCBsaWtlLCDigJxJ4oCZbSBnb2luZyB0byBkbyB0aGlzLiBUaGlzIGlzIGl0LiBJIGNhbiBkbyB0aGlzLiBNeSBib2R5IGNhbiBkbyB0aGlzLiBJ4oCZdmUgZG9uZSBoYXJkIHRoaW5ncy4gSeKAmXZlIG92ZXJjb21lIGhhcmQgdGhpbmdzLiBJIGFic29sdXRlbHkgY2FuIGRvIHRoaXMu4oCdwqAxMDo1NCBGaXJzdCBsYWJvcktlbmRyYTogVG93YXJkcyB0aGUgZW5kIG9mIG15IHByZWduYW5jeSwgbWF5YmUgYXQgMjYgd2Vla3MsIEkgZW5kZWQgdXAgZ2V0dGluZyBDT1ZJRCBhbmQgZm91bmQgb3V0IG15IGZpcnN0IHdhcyBicmVlY2guwqBNZWFnYW46IFdlcmUgeW91IHBsYW5uaW5nIGEgaG9tZSBiaXJ0aD/CoEtlbmRyYTogWWVzLCBpbiBNYXJ5bGFuZC4gTWhtbS4gTXkgcHJvdmlkZXLigJMgaW4gTWFyeWxhbmQsIHRoZXJlIGFyZSBkaWZmZXJlbnQgbGV2ZWxzIG9yIHN0YXR1c2VzIG9mIG1pZHdpdmVzIHR5cGljYWwgdG8gbG90cyBvZiBzdGF0ZXMuIE15IHByb3ZpZGVyIHdhcyBhbiBMUE0sIGEgbGljZW5zZWQgcHJvZmVzc2lvbiBtaWR3aWZlIHdobyB3YXMgY29tZm9ydGFibGUgd2l0aCBhdHRlbmRpbmcgYSBicmVlY2ggYnV0IHdhcyBub3QgbGVnYWxseSBhbGxvd2VkIHRvIGF0dGVuZCBhIGJyZWVjaC7CoEFyb3VuZCBtYXliZSAzMiB3ZWVrcyBlbnRlcnMgdGhlIHdob2xlIGVxdWF0aW9uIG9mLCB3aGF0IGRvIHdlIGRvIGFib3V0IHRoZSBmYWN0IHRoYXQgdGhpcyBpcyBub3QgbGVnYWw/IEluIG15IHBhcnRpY3VsYXIgYXJlYSwgdGhlcmUgcmVhbGx5IHdlcmUgbm90IGEgbG90IG9mIExOTXMsIGxpY2Vuc2VkIG51cnNlIG1pZHdpdmVzLCB0byBvdmVyc2VlIG15IGNhc2UuIFNoZSBoYWQgY2FsbGVkIGEgY291cGxlIG9mIHBlb3BsZSBhbmQgdGhleSBlc3NlbnRpYWxseSBkZWNsaW5lZC4gVGhleSB3ZXJlIGxpa2UsIOKAnEl04oCZcyB0b28gbGF0ZSBpbiB0aGUgcHJlZ25hbmN5LiBXZSBkb27igJl0IGtub3cgbXVjaCBhYm91dCB0aGlzIGNhc2UuIFdl4oCZcmUgbm90IHdpbGxpbmcgdG8gYXR0ZW5kIGl0LsKgV2UgZm91bmQgc29tZWJvZHkgb3V0IG9mIHN0YXRlIHdobyB3YXMgc3VwcG9ydGl2ZSwgZXhwbGFpbmVkIHRoZSB3aG9sZSBicmVlY2ggcHJvY2VzcywgYW5kIGZlbHQgdmVyeSBjb21mb3J0YWJsZSBkb2luZyBpdC4gTXkgZHJlYW0gb2YgaG9tZSBiaXJ0aCB3YXMgc2xpZ2h0bHkgYWx0ZXJlZCB0bywg4oCcT2theSwgbm93IEkgaGF2ZSB0byBsYWJvciBhdCBhIGJpcnRoIGNlbnRlciwgYnV0IEnigJlsbCBzdGlsbCBiZSBhYmxlIHRvIGRvIGl0IHZhZ2luYWxseS4gSeKAmWxsIHN0aWxsIGJlIGFibGUgdG8gZG8gYWxsIG9mIHRoZSB0aGluZ3Mu4oCdIFRoYXQgd2FzIHRoZSBtb3N0IGVtcG93ZXJpbmcsIGJlYXV0aWZ1bCBiaXJ0aCBvciBsYWJvciBleHBlcmllbmNlIGV2ZXIuIEkgZmVsdCBzbywg4oCcSSBhbSB3b21hbiwgaGVhciBtZSByb2FyLuKAnSBJIGp1c3QgZmVsdCBpbiBteSBlbGVtZW50LiBJIGZlbHQgcG93ZXIuIEkgZmVsdCBlbmVyZ3kgYW5kIGV4Y2l0ZW1lbnQuIEkgbGFib3JlZCBzbyBsb25nLCBmb3IgMjQgaG91cnMuIE15IHdhdGVyIGJyb2tlIGFuZCBhbGwgb2YgdGhlIHRoaW5ncy4gTXkgc2lzdGVycyB3ZXJlIHRoZXJlLiBJIGxhYm9yZWQgYWxsIG92ZXIgdGhpcyBiaXJ0aCBjZW50ZXLigJMgb3V0c2lkZSwgaW5zaWRlLCBkaWZmZXJlbnQgcm9vbXMsIGFuZCBpdCB3YXMganVzdCBhbWF6aW5nLsKgQXQgdGhlIGVuZCBvZiB0aGUgZGF5LCBJIHB1c2hlZCBmb3IgMyBob3VycyBhbmQgbXkgbGl0dGxlIGd1eSBqdXN0IHdvdWxkbuKAmXQgZHJvcC4gVGhleSB3ZXJlIGxpa2UsIOKAnEhl4oCZcyBlbmdhZ2VkLiBZb3XigJlyZSBkaWxhdGVkLiBBbGwgZ29vZCBzdHVmZizigJ0gYnV0IGhlIGp1c3Qgd2FzbuKAmXQgY29taW5nIG91dC4gVGhlcmUgd2FzIGEgc3VycmVuZGVyIGZvciBtZS4gVGhlcmUgd2FzIHRoaXPigJMgSSBrbmV3IHRoZSBzdGF0cy4gSSBrbmV3IHRoZSBtb3N0IGNvbW1vbiByZWFzb24gd29tZW4gdHJhbnNmZXIgaXMgZXhoYXVzdGlvbiBhbmQgSSBjZXJ0YWlubHkgd2FzIHRpcmVkLCBidXQgbXkgc3RhbWluYSBmb3IgdGhpcywg4oCcSSBoYXZlIHRvIGRvIHRoaXPigJ0gd2FzIHNvIHN0cm9uZy7CoE15IG1pZHdpZmUgd2FzIGdyZWF0LiBTaGUganVzdCBsb29rZWQgYXQgbWUgYW5kIHdhcyBqdXN0IGxpa2UsIOKAnEtlbmRyYSwgSSB0aGluayB5b3UgY291bGQga2VlcCBwdXNoaW5nIGZvciBob3VycyBhbmQgaG91cnMsIGJ1dCBJIGRvbuKAmXQgdGhpbmsgeW91ciBiYWJ54oCZcyBnb2luZyB0byBjb21lIG91dCBhbmQgSSB0aGluayB3ZSBuZWVkIHRvIGNvbnNpZGVyIGdvaW5nIHRvIHRoZSBob3NwaXRhbC7igJ3CoDEzOjE0IFN1cnJlbmRlcmluZ0tlbmRyYTogSXQgd2FzIGEgcmVhbGx5IHBhaW5mdWwgc3VycmVuZGVyIGZvciBtZSwgYnV0IEkganVzdCBmZWx0IGF0IGVhc2UgdG9vIGxpa2UsIOKAnE9rYXkuIFllYWguIFlvdeKAmXJlIHJpZ2h0LiBIZeKAmXMgbm90IGdvaW5nIHRvIGNvbWUgb3V0LuKAnSBUaGVyZSB3YXNu4oCZdCBhIHBhcnQgb2YgbWUgdGhhdCB0aG91Z2h0IEkgY291bGQgaGF2ZSBtYWRlIGl0IGhhcHBlbiBpZiBJIHB1c2hlZCBsb25nZXIuIEl0IGp1c3QgZmVsdCBsaWtlIHRoaXMgd2FzIHdoYXQgaGFkIHRvIGhhcHBlbi7CoFRoZSB1bmZvcnR1bmF0ZSBwYXJ0IGlzIGV2ZXJ5dGhpbmcgdXAgdW50aWwgdGhhdCBwb2ludOKAkyB0aGUgcHJlZ25hbmN5LCB0aGUgbGFib3IsIHdhcyBwZXJmZWN0LiBFeGFjdGx5IHdoYXQgSSB3YW50ZWQgYW5kIHRoZW4gd2UgdHJhbnNmZXJyZWQgdG8gdGhlIGhvc3BpdGFsIGFuZCBiZWNhdXNlIEkgd2FzIG91dC1vZi1zdGF0ZSBhbmQgSSB3YXNu4oCZdCBlc3RhYmxpc2hlZCB3aXRoIGEgcHJvdmlkZXIgYXQgdGhpcyBob3NwaXRhbCwgdGhlaXIgcmVhY3Rpb24gd2FzIGxpa2UsIOKAnFRoaXMgaXMgYW4gZW1lcmdlbmN5LiBUaGlzIHdvbWFuIG5lZWRzIHRvIGdvIG9uIHRoZSB0YWJsZSBpbiBzZWNvbmRzLuKAnSBJIHdhcyBqdXN0IGxpa2UsIOKAnEnigJl2ZSBiZWVuIGxhYm9yaW5nIGZvciBob3Vycy4gSeKAmXZlIGJlZW4gZG9pbmcgaGlwIHN3YXlzLiBJ4oCZdmUgYmVlbiB3b3JraW5nIHRocm91Z2ggbXkgY29udHJhY3Rpb25zLiBJ4oCZbSBnb29kLiBJIGNhbiB3YWxrIGJhY2sgdG8gdGhlIHJvb20u4oCdwqBUaGV5IHdlcmUgbGlrZSwg4oCcTm8sIHlvdSBuZWVkIHRvIGJlIGluIGEgd2hlZWxjaGFpci7igJ0gQWdhaW4sIGxvbmcgc3Rvcnkgc2hvcnQsIGEgbG90IG9mIGJhZCB0aGluZ3MgaGFwcGVuZWQgYXQgdGhlIGhvc3BpdGFsLiBUaGUgc3RhbmRhcmQgb2YgY2FyZSB3YXMgbm90IGlkZWFsLiBCYWJ5IG1hZGUgaXQgb3V0IHNhZmVseSBhbmQgZXZlcnl0aGluZyB3YXMgb2theSwgYnV0IG15IGh1c2JhbmTigJlzIGV4cGVyaWVuY2UsIHRoZSB0cmVhdG1lbnQgb2YgdGhlIGJhYnksIGFuZCBhbGwgb2YgdGhhdCB3YXMgbm90IGlkZWFsIGFuZCBsZWZ0IGVzc2VudGlhbGx5IGJpcnRoIHRyYXVtYSBmb3IgYWxsIG9mIHVzLCBidXQgSSBzdGlsbCBmZWx0IHRoYXQgZW1wb3dlcmVkIGVuZXJneSBvZiB0aGUgbGFib3IgdGhhdCBJIGRvbuKAmXQgdGhpbmsgaXQgcmVhbGx5IHJlZ2lzdGVyZWQgdG8gbWUgcmlnaHQgYXdheSB0aGF0IHRoZXJlIHdhcyB0cmF1bWEgaW52b2x2ZWQuwqBUaGV5IGRlY2xpbmVkIG15IGJpcnRoIHBsYW4uIFRoZXkgZGVjbGluZWQgbXkgZGVzaXJlIG5vdCB0byBiZSB1bmRlciBnZW5lcmFsIGFuZXN0aGVzaWEuIFRoZXkgcmVhbGx5IGluc2lzdGVkIHRoYXQgaXQgd2FzIGFuIGVtZXJnZW5jeS4gSSB3YXMgbGlrZSwg4oCcSGXigJlzIG5vdC4gSeKAmW0gZmluZS4gSGXigJlzIGZpbmUuIEFsbCB0aGUgaGVhcnQgcmF0ZXMgYW5kIGV2ZXJ5dGhpbmcgYXJlIGdvb2Qu4oCdwqBXZSBlbmRlZCB1cCBnb2luZyB0aHJvdWdoIHRoYXQgcHJvY2VzcyBhbmQgYmVjYXVzZSBoZSB3YXMgb3VyIGxpdHRsZSBtaXJhY2xlIGJhYnksIHdlIHdlcmUganVzdCBzdGlsbCBvbiB0b3Agb2YgdGhlIHdvcmxkLiBXZSBjYW1lIGhvbWUgZnJvbSB0aGUgaG9zcGl0YWwuIFdlIHdlcmUgbmV3IHBhcmVudHMgYW5kIHdlcmUganVzdCBzb2FraW5nIGl0IGFsbCBpbi4gU28gbXVjaCB0byBteSBzdXJwcmlzZSwgYSBmZXcgbW9udGhzIGxhdGVyLCBJIGZvdW5kIG91dCBJIHdhcyBwcmVnbmFudCB3aXRoIG15IHNlY29uZC4gSSB3YXMganVzdCBsaWtlLCDigJxIb2x5IHNtb2tlcy4gSG93IGRvIHlvdSBnbyBmcm9tIGluZmVydGlsaXR5IGRpYWdub3NpcyB0byB0d28ga2lkcyBiYWNrIHRvIGJhY2s/IFdoYXQgaGF2ZSBJIGdvdHRlbiBteXNlbGYgaW50bz/igJ1LZW5kcmE6IEFnYWluLCBJIHdhcyBqdXN0IGxpa2UsIOKAnEnigJl2ZSBnb3QgdG8gaGF2ZSB0aGlzIGhvbWUgYmlydGguIEnigJl2ZSBnb3QgdG8gaGF2ZSB0aGlzIHJlZGVtcHRpdmUgZXhwZXJpZW5jZSwgdGhpcyB2YWdpbmFsIGJpcnRoLOKAnSBzbyB0aGF04oCZcyB3aGVuIEkgc3RhcnRlZCBzdHVkeWluZyB0aGUgVkJBQyBwaWVjZSBpbiBwYXJ0aWN1bGFyIGFuZCBsZWFybmluZyB0aGF0IGxvdHMgb2Ygd29tZW4gZG8gdGhpcywgSSBjYW4gZG8gdGhpcy4gVGhhdCBzYW1lIGVuZXJneSBJIGNhcnJpZWQgaW50byB0aGUgZmlyc3Qgb25lLCBJIGNhbiBkbyB0aGlzLsKgVGhpcyBnbyBhcm91bmQsIEkgd291bGQgc2F5LCBteSBzdHVkeWluZyBsb29rZWQgZGlmZmVyZW50LiBNeSBzdXJyZW5kZXIgbG9va2VkIGRpZmZlcmVudC4gSSBqdXN0IGZlbHQgbW9yZSBlYXNlIGFuZCBwZWFjZSwgYnV0IGFsc28gaGFkIHRoaXMgYmFja3JvdW5kIGZlYXIgbGlrZSwg4oCcV2hhdCBpZiBJIGhhdmUgdG8gaGF2ZSBhbm90aGVyIEMtc2VjdGlvbj8gV2hhdCBpZiBJIGhhdmUgdG8gbGFuZCBpbiB0aGUgaG9zcGl0YWwgYWdhaW4/4oCdIEkgd2FzIGVzcGVjaWFsbHkgY29uY2VybmVkIGZvciBteSBodXNiYW5kIGFuZCB3aGF0IGhlIHdpdG5lc3NlZCBhcyB3ZWxsLsKgWW91IGtub3csIHdlIGFyZSBidXN5IG5ldyBwYXJlbnRzIGFuZCBwcmVwYXJpbmcgZm9yIGFub3RoZXIgYmFieSBhbmQgSSBqdXN0IHdvdWxkIHNheSBhdCB0aGUgdGltZSwgaXQgZGlkbuKAmXQgZmVlbCBsaWtlIEkgaGFkIGFzIG11Y2ggYXR0ZW50aW9uIG9uIHRoZSBwcmVnbmFuY3kgYXMgSSBkaWQgdGhlIGZpcnN0IGdvIGFyb3VuZC7CoDE2OjE1IFN1cnByaXNlIGJhYnkgbnVtYmVyIHR3b0tlbmRyYTogU28gdGhlbiBsZWFkaW5nIGludG8gbnVtYmVyIHR3bywgbXkgYmFieSBib3kgbnVtYmVyIHR3byBhbmQgaGlzIHN0b3J5LCBteSB3YXRlciBicm9rZSBhZ2FpbiB3aGljaCBJIGtub3cgaXMgcHJldHR5IHJhcmUgdG8gaGF2ZSB5b3VyIHdhdGVyIGJyZWFrIHNvIHRoZSBmYWN0IHRoYXQgaXQgYnJva2UgdHdpY2UgaXMgaW50ZXJlc3RpbmcuwqBNZWFnYW46IFRoZXkgc2F5IGl04oCZcyAxMCUuwqBLZW5kcmE6IFJpZ2h0P01lYWdhbjogVGhpcyBpcyB3aGF0IHRoZXkgdG9sZCBtZSB0d2ljZSBhdCB0aGUgaG9zcGl0YWwuIE15IHdhdGVyIGRvZXMgdGhlIHNhbWUgZGFuZyB0aGluZy4gSeKAmW0gdGhyZWUgZm9yIHRocmVl4oCTIHdhdGVyIGJyZWFrcyBmaXJzdC7CoEtlbmRyYTogVHdvIGZvciB0d28sIHllcC7CoE1lYWdhbjogVGhhdOKAmXMgZnVubnksIG9rYXkuwqBLZW5kcmE6IEludGVyZXN0aW5nLsKgTWVhZ2FuOiBZZWFoLsKgS2VuZHJhOiBJIHdhcyBraW5kIG9mIHN1cnByaXNlZCBteXNlbGYgYmVjYXVzZSBJIHdhcyBwcmVwYXJpbmcgZm9yIHNvbWV0aGluZyB0byBsb29rIGRpZmZlcmVudCBhbmQgaXQgcmVhbGx5IGRpZG7igJl0LiBJdCBsb29rZWQgc2ltaWxhci4gSXQgYnJva2UgZWFybHkgaW4gdGhlIG1vcm5pbmcuIE15IGR1ZSBkYXRlIHdhcyBDaHJpc3RtYXMgRGF5IGFuZCBJIHZlcnkgbXVjaCBkaWRu4oCZdCB3YW50IGEgQ2hyaXN0bWFzIGJhYnksIHNvIEkgd2FzIGFjdHVhbGx5IG92ZXIuIEl0IHdhcyBOZXcgWWVhcuKAmXMgRXZlLiBJdCB3YXMgTmV3IFllYXLigJlzIEV2ZSB3aGVuIG15IHdhdGVyIGJyb2tlLiBJIHdhcyBsaWtlLCDigJxJIGNhbiBoYXZlIGEgaG9saWRheSBiYWJ5LiBJIGp1c3QgZG9u4oCZdCB3YW50IGEgQ2hyaXN0bWFzIEV2ZSBvciBDaHJpc3RtYXMgRGF5IGJhYnku4oCdwqBUaGlzIGxhYm9yIHdhcyBtdWNoIHNob3J0ZXIuIEl0IHdhcyA5IGhvdXJzIGluIGxlbmd0aCBhbmQgYXQgaG9tZS4gSXQgd2FzIGhvbWUgYW5kIGl0IHdhcyBzbyBwZXJmZWN0LiBJIGhhZCBhIGJpcnRoIHBob3RvZ3JhcGhlciBhbmQgYWxsIG9mIHRoZSBzYW1lIHBlb3BsZSB0aGVyZeKAkyBteSBodXNiYW5kLCBteSBtb20sIG15IG1vdGhlci1pbi1sYXcgY2FtZSwgbXkgc2lzdGVyLCBhbmQgbXkgZG91bGEuIEkgbWVhbiwgaXQgd2FzIGp1c3QgcmVhbGx5IHBlcmZlY3QgaW4gdGhlIHNldHRpbmcsIGluIHRoZSBzZXR1cCwgaW4gdGhlIGNvbmZpZGVuY2UgdGhhdCBJIGZlbHQgZ29pbmcgaW50byBpdCwgYnV0IGFzIHNvb24gYXMgdGhlIGFjdGl2ZSBsYWJvciBoaXQsIEkgd2FzIGxpa2UsIOKAnEkgZG9u4oCZdCBrbm93IGlmIEkgY2FuIGRvIHRoaXMs4oCdIGJlY2F1c2UgYWxsIG9mIHRoZSBmZWFyIHRoYXQgdGhlIGVuZGluZyB3b3VsZG7igJl0IGJlIHdoYXQgSSB3YW50ZWQgd2FzIHRoZXJlLsKgRXZlbiB0aG91Z2ggZXZlcnlvbmUgY291bGQgdGVsbCB5b3UgdGhhdCB5b3UgaGF2ZSB0byByZWxlYXNlIHRoZSBmZWFyIGJlY2F1c2UgbGFib3IgY2FuIGdldCBzdGFsbGVkIGFuZCBhbGwgb2YgdGhlIHRoaW5ncywgSSBkb27igJl0IHRoaW5rIEkgY291bGQuIEl0IGp1c3QgZmVsdCBsaWtlIEkgaGFkIHRvIHdvcmsgd2l0aCB0aGUgZmVhciBhbmQgd29yayB0aHJvdWdoIHRoZSBmZWFyLkkgcmVtZW1iZXIgMTAgbWludXRlcyBpbnRvIGFjdGl2ZSBsYWJvciBzYXlpbmcgdG8gbXkgZG91bGEsIOKAnEkgZG9u4oCZdCBrbm93IGlmIEkgY2FuIGRvIHRoaXMs4oCdIGFuZCBpbiBteSBoZWFkIGFsc28ga25vd2luZywg4oCcWW91IGRvbuKAmXQgaGF2ZSBhbiBvcHRpb24uIFlvdeKAmXJlIG5vdCBnb2luZyB0byBzdXJyZW5kZXIgYW5kIGdvIHRvIHRoZSBob3NwaXRhbCBhbmQgaGF2ZSBhbm90aGVyIEMtc2VjdGlvbi4gWW91IGhhdmUgdG8gZ2l2ZSB5b3Vyc2VsZiB0aGUgY2hhbmNlLiBZb3UgaGF2ZSB0byBmaWdodCBmb3IgaXQu4oCdwqBJdCBmZWx0IGxpa2UgdGhlIG9ubHkgd2F5IG91dCB3YXMgdGhyb3VnaCBhbmQgYmVjYXVzZSBJIGhhZCBleHBlcmllbmNlZCBsYWJvciBiZWZvcmUgYnV0IG5ldmVyIGV4cGVyaWVuY2VkIGJhYnkgZHJvcHBpbmcgb3Igd2hhdCBpdCBmZWx0IGxpa2UgdG8gaGF2ZSBiYWJ5IGVuZ2FnZWQsIGl0IGp1c3Qgd2FzIG5ldy4gQW5kIHdpdGggZWFjaCBuZXcgdGhpbmcsIHRoZXJlIHdhcyB0aGlzIHNpbXVsdGFuZW91cyB0cnVzdGluZyBteSBib2R5IGFuZCBmZWVsaW5nIG5lcnZvdXMgZm9yIG15IGJvZHkgYWxsIGF0IG9uY2UuwqBJIGxhYm9yZWQgaW4gYSB2YXJpZXR5IG9mIHBvc2l0aW9ucy4gSSBsYWJvcmVkIGluIGEgYmlydGhpbmcgdHViLiBJIGRlY2xpbmVkIGFsbCBvZiB0aGUgY2hlY2tzLiBJbiBoaW5kc2lnaHQsIGdpdmVuIHRoZSBmYWN0IHRoYXQgSSB3YXMgc28gYWZyYWlkLCBJIGNhbiB0ZWxsIHRoYXQgSSBhbHNvIGp1c3QgaGFkIHRoaXMgaW5zdGluY3R1YWwga25vd2luZy4g4oCcSSBjYW4gZG8gdGhpcy4gSXTigJlzIGdvaW5nIHRvIGhhcHBlbi4gSSBrbm93IHdoZXJlIG15IGJvZHnigJlzIGF0LuKAnSBNeSBtb20sIGluIHBhcnRpY3VsYXIsIHJlYWxseSBsb3ZlcyB0byBrbm93IGFuZCBiZSBpbiB0aGUga25vdy4gU2hlIHdhbnRlZCB0byBzdXBwb3J0IG1lIGFuZCBiZSBhYmxlIHRvIGdpdmUgbWUgdGhhdCBlbmNvdXJhZ2VtZW50IGFuZCBob3BlLiBTaGUgd2FzIHJpZ2h0IGJ5IG15IHNpZGUsIOKAnEFyZSB5b3Ugc3VyZSB5b3UgZG9u4oCZdCB3YW50IHRoZW0gdG8gY2hlY2s/4oCdIEkgd2FzIGxpa2UsIOKAnE5vLiBJIGtub3cgaXQgaXMgaGFwcGVuaW5nLiBJIGtub3cgaGUgaXMgY29taW5nLuKAnSBJdCBqdXN0IHdhcyBhIG1hdHRlciBvZiBob3cgbG9uZyBkaWQgSSB0aGluayBJIGNvdWxkIGhvbGQgb24uIERpZCBJIHRoaW5rIEkgY291bGQgaG9sZCBvdXQ/wqBNeSBodXNiYW5kIGFuZCBJIHRoaXMgZ28gYXJvdW5kIGRpZCBhIGxvdCBvZiBjb3VwbGVz4oCZIHRoZXJhcHkgdG8gcHJvY2VzcyB0aGUgYmlydGggdHJhdW1hLCB0byBwcm9jZXNzIHRocm91Z2ggd2hhdCBoZSBleHBlcmllbmNlZCBhbmQgd2hhdCBoZSBzYXcgaW4gdGhlIGhvc3BpdGFsLiBJIGp1c3QgZmVlbCBlbW90aW9uYWwgbmFtaW5nIHRoYXQuIFRoaXMgdGltZSwgaGUgd2FzIGp1c3Qgc3VjaCBhIHN1cHBvcnQuIEhlIHdhcyBzbyBwcmVzZW50IGFuZCBhY3RpdmUuIEnigJltIHNvIGdsYWQgSSBoYXZlIGl0IG9uIHZpZGVvIGJlY2F1c2UgSSBnZXQgdG8gc2VlIGl0IG5vdyBhbmQgc2VlIGhpcyBzdXBwb3J0IG9mIG15IGJvZHksIGhpcyBzdXBwb3J0IG9mIHRoZSBzcGFjZSwgZmlsbGluZyB0aGUgYmlydGggdHViIHdpdGggbW9yZSBob3Qgd2F0ZXIsIGhvbGRpbmcgbXkgaGFuZCwgYW5kIGV2ZW4gcmlnaHQgYXQgdGhlIGVuZCBhcyBJIHdhcyBwdXNoaW5nIGJhYnkgb3V0LCBJIHdhcyBvbiBteSBiZWQgb24gYWxsIGZvdXJzIGFuZCBoZSB3YXMganVzdCByaWdodCB0aGVyZSB3YWl0aW5nIGZvciBiYWJ5LsKgVG8gbWUsIGl0IGp1c3Qgd2FzIGEgbG90IG9mIGdyb3d0aCBmb3IgYm90aCBvZiB1cyB0aGF0IGhlIGNhbWUgdG8gdGhlIG90aGVyIHNpZGUgdG9vLiBJdCB3YXNu4oCZdCBqdXN0IG15IGpvdXJuZXkuIEl0IHdhcyBvdXIgam91cm5leS4gVGhlIGZhY3QgdGhhdCBoZSBjb3VsZCBzdGFuZCB0aGVyZSwgc2l0IHRoZXJlLCBhbmQgYmUgcmVhZHkgZm9yIHRoZSBiYWJ5IHRvIGNvbWUgb3V0IGFuZCB0cnVzdCB0aGF0IHByb2Nlc3MgYWZ0ZXIgZXZlcnl0aGluZyBoZSBzYXcsIHRoZSBmYWN0IHRoYXQgaGUgdHJ1c3RlZCBtZSwgdGhhdCBqdXN0IGZlZWxzIGxpa2Ugc3VjaCBhIGdpZnQgYmVjYXVzZSBJIGhlYXIgc28gbWFueSBvZiBteSBmcmllbmRzIGFuZCBJ4oCZbSBkZWxpY2F0ZSBiZWNhdXNlIG9mIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhlIG1lbnRhbCBoZWFsdGggYW5kIG15IG93biBqb3VybmV5LiBJ4oCZbSBkZWxpY2F0ZSB3aXRoIGhvdyBtdWNoIEkgcHVzaCBvciBob3cgbXVjaCBJIHNheSwgYnV0IHNvbWUgb2YgbXkgb3duIGZyaWVuZHMgdGVsbCBtZSB0aGVpciBodXNiYW5kcyBhcmUgbm90IHN1cHBvcnRpdmUuIFRoZWlyIGh1c2JhbmRzIHdhbnQgeCwgeSwgYW5kIHouIEl04oCZcyByZWFsbHkgZGlzY291cmFnaW5nIHRvIHRoaW5rIHRoZSB3b21hbiBkb2VzbuKAmXQgaGF2ZSBhIHJpZ2h0IHRvIGhlciBvd24gYm9keSBvciBoZXIgb3duIHBsYW4uwqBJIGp1c3QgZmVsdCBsaWtlIGhlIGtuZXcgSSBjb3VsZCBkbyBpdC4gVGhhdCBmZWx0IGh1Z2UuIFNvIGh1Z2UgZm9yIG1lLsKgMjE6MDAgS2VuZHJh4oCZcyBWQkFDS2VuZHJhOiBZZWFoLCBhZnRlciA5IGhvdXJzIG9mIGxhYm9yIGFuZCBtYXliZSBhbiBob3VyIGFuZCBhIGhhbGYgb2YgcHVzaGluZyBpZiBJ4oCZbSByZW1lbWJlcmluZywgSSBkaWQgbm90IGhhdmUsIOKAnEkgYW0gd29tYW4sIGhlYXIgbWUgcm9hcuKAnSBlbmVyZ3kuIEkgaGFkIGEgbG90IG9mIGluc3RpbmN0dWFsLCBmZWFyLWJhc2VkLCDigJxJIGNhbiBkbyBpdCwgYnV0IEnigJltIHNjYXJlZCBvdXQgb2YgbXkgbWluZOKAnSBlbmVyZ3kuIEkgdGhpbmsgdGhhdOKAmXMgb2theS4gU29tZXRpbWVzIHRoYXTigJlzIHdoYXQgaXQgaXMuIFNvbWV0aW1lcyBpdOKAmXMgbm90IHRoZSBiZWF1dGlmdWwgdGhpbmcgSSB3YW50ZWQgcmlnaHQgYXdheS4gU29tZXRpbWVzIHlvdSBqdXN0IGFjY2VwdCB3aGF0IGl0IGlzLCBidXQgbWFuLCB0aGUgZW5kaW5nLsKgVGhlIGVuZGluZyB3YXMgZXZlcnl0aGluZyBJIG5lZWRlZCB0byBoZWFsLiBJdCB3YXMgZXZlcnl0aGluZyB0aGF0IEkgaGFkIGhvcGVkIGZvciBhbmQgcHJheWVkIGZvci4gSSBwdXNoZWQgc28gaGFyZC4gSXQgd2FzIHNvIHBhaW5mdWwsIHNvIHBhaW5mdWwsIGFuZCBpbiBteSBoZWFkLCBJIHdhcyBqdXN0IGxpa2UsIEkgaGFkIHdhdGNoZWQgdmlkZW9zIG9mIHdvbWVu4oCTIHRoaXMgbWlnaHQgYmUgVE1JIGluIHNvbWUgY2FzZXMsIGJ1dCBJ4oCZbSBzbyB1c2VkIHRvIGl0IGluIHRoZSBtZW50YWwgaGVhbHRoIHdvcmxkLiBJIHdhdGNoZWQgd29tZW4gd2hvIG9yZ2FzbWVkIGR1cmluZyBsYWJvciBhbmQgd29tZW4gd2hvIGVuam95ZWQgbGFib3IuIEkgd2FzIGp1c3QgbGlrZSwg4oCcSSBqdXN0IHdhbnQgdGhlIGlkZWFsLCBwYWluLWZyZWUgbGFib3Is4oCdIGFuZCBpdCB3YXMgbm90LiBJdCB3YXMgbm90IHBhaW4tZnJlZSwgYnV0IGl0IHdhcyBwZXJmZWN0LiBJdCB3YXMgc28gcGVyZmVjdC7CoFRoZSBiYWJ5IGRpZCBoYXZlIHNob3VsZGVyIGR5c3RvY2lhLCBzbyB0aGUgbWlkd2lmZSBoYWQgdG8gY29tZSBpbiwgaW50ZXJ2ZW5lLCBhbmQgcHVsbCBoaW0gb3V0LiBUaGF0IHdhcyBzY2FyeSBmb3IgMzAgc2Vjb25kcywgYnV0IHByb2JhYmx5IGxlc3Mgc2NhcnkgZm9yIG1lIGJlY2F1c2UgSSB3YXMganVzdCBmb2N1c2VkIG9uIGdldHRpbmcgYmFieSBvdXQgYW5kIGNvdWxkbuKAmXQgc2VlIGJlY2F1c2UgSSB3YXMgb24gYWxsIGZvdXJzLiBJIGNvdWxkbuKAmXQgc2VlIGhpbSwgYnV0IEkga25ldyBteSBtb20sIG15IG1vdGhlci1pbi1sYXcsIG15IGh1c2JhbmQsIGFuZCBteSBvdGhlciBzb24gd2VyZSBhbGwgYmVoaW5kIG1lLiBUaGV5IGNvdWxkIHNlZSBiYWJ5IGhhbGZ3YXkgb3V0IGVzc2VudGlhbGx5LCBzbyBJIHRoaW5rIGl0IHdhcyBwcm9iYWJseSBtb3JlIGFsYXJtaW5nIGZvciB0aGVtIHRoYW4gaXQgd2FzIGZvciBtZS7CoEJ1dCB5ZWFoLCBpdCB3YXMgcHJldHR5IGNyYXp5IGF0IHRoZSBlbmQuIEl0IGhhcHBlbmVkIHNvIHF1aWNrbHkgYW5kIHRoZW4gbXkgZmF2b3JpdGUgcGljdHVyZSBpcyB0aGlzIG9uZSB3aGVyZSB0aGV5IGhhbmQgaGltIHRvIG1lIGFuZCB5b3UgY2FuIHNlZSBpdCBpbiBteSBmYWNlLiBJ4oCZbSBzbyBvdmVyd2hlbG1lZCB3aXRo4oCTIEkgZGlkIGl0LiBJIGRpZCBpdCBhbmQgSSBsaXRlcmFsbHkgc2F5IG91dCBsb3VkLCDigJxUaGlzIGZlZWxzIHNvIHJlZGVtcHRpdmUu4oCdIEkga25ldyBpdCB3YXMgd2hhdCBJIG5lZWRlZCBhbmQgd2hhdCBteSBib2R5IG5lZWRlZCB0byBoZWFsLsKgTWVhZ2FuOiBUaG9zZSBwaWN0dXJlcywganVzdCB0aGUgcmF3bmVzcywgdGhlIHJhd25lc3MsIGFuZCB0aGUgZmFjZSwgYW5kIHRoZSBlbW90aW9ucywgc29tZXRpbWVzIHRoZXJlIGFyZSB0ZWFycyBvbiB0aGUgZmFjZSwgb2guIEl0IGp1c3QgZ2l2ZXMgbWUgY2hpbGxzIHRoaW5raW5nIGFib3V0IGl0LiBJIGhhdmUgb25lIG9mIHRob3NlIHBob3RvcyB0b28gdGhhdCBteSBmcmllbmQgd2FzIGFibGUgdG8gc25hcCBvZiBtZS4gT2gsIHRoZXnigJlyZSBqdXN0IHNvIGJlYXV0aWZ1bC4gSSB3YXMgdWdseSBjcnlpbmcgYW5kIEkgd2FzIHNjcmVhbWluZywg4oCcSSBkaWQgaXTigJ0gdG9vLCBidXQgaXQgdGVsbHMgdGhlIHdob2xlIHN0b3J5IHJpZ2h0IHRoZXJlLiBJdCB0ZWxscyBldmVyeXRoaW5nIHJpZ2h0IHRoZXJlIGluIG9uZSBpbWFnZS7CoFlvdSBtZW50aW9uZWQgdGhhdCB5b3Ugd2VyZSBzbyBoYXBweSB0aGF0IHlvdSBoYWQgaXQgb24gdmlkZW8gYW5kIHRoYXQgd2FzIG9uZSBvZiBteSBiaWdnZXN0IHJlZ3JldHMgaXMgbm90IGhhdmluZyBzb21lb25lIHRoZXJlIHNwZWNpZmljYWxseSB0byB2aWRlbyBpdC4gSSB3aXNoIEkgY291bGQgc2VlIG15IFZCQUMgZnJvbSB0aGUgb3RoZXIgc2lkZS7CoEtlbmRyYTogWWVhaCwgc3VyZS4gSeKAmXZlIHdhdGNoZWQgaXQgYSBoYW5kZnVsIG9mIHRpbWVzIGFuZCBJIGRvbuKAmXQgZ2V0IHRocm91Z2ggaXQgd2l0aG91dCBjcnlpbmcuIEl0IGlzIHNvIHNwZWNpYWwgdG8gbWUuwqBNZWFnYW46IEnigJltIHN1cmUuIEnigJltIHN1cmUuIFllYWguIEl04oCZcyBqdXN0IHNvIHNwZWNpYWwgdG8gaGF2ZSBzbyBob2xkIG9udG8gdGhhdCBmb3Igc3VyZS7CoDI0OjA3IFVuaXRpbmcgd2l0aCB5b3VyIGJpcnRoIHBhcnRuZXJNZWFnYW46IFRoZXJlIHdlcmUgc28gbWFueSB0aGluZ3MgeW91IGhhZCBicm91Z2h0IHVwIHRoYXQgeW91IHNhaWQuIFlvdSBncmV3IHRvZ2V0aGVyIGFuZCB0aGlzIHdhcyB5b3VyIGpvdXJuZXkuIEkgbG92ZWQgdGhhdCB5b3UgcG9pbnRlZCB0aGF0IG91dCBiZWNhdXNlIEkgdGhpbmsgc29tZXRpbWVzIGFzIFZCQUMgbW9tcywgd2XigJlyZSByZWFsbHkgaHlwZXItZm9jdXNlZCBvbiBWQkFDIGFuZCB0aGlzLCBhbmQgc29tZXRpbWVzLCBpdCBjYW4gbG9vayBvciBldmVuIHNvdW5kIGxpa2UgdGhlIOKAnG1l4oCdIHNob3cuIEl04oCZcyBtZSwgbWUsIG1lLCBtZS4gSXTigJlzIGFsbCBhYm91dCBtZSBhbmQgd2hhdCBJIHdhbnQuIEl04oCZcyB2ZXJ5LCB2ZXJ5LCB2ZXJ5IGltcG9ydGFudCwgYnV0IEkgbG92ZSB0aGF0IHlvdSBjYW4gc2F5IHRoYXQgeW91IGdyZXcgdG9nZXRoZXIuIFlvdSBwcm9jZXNzZWQgdG9nZXRoZXIgYW5kIHRoYXTigJlzIHNvIGltcG9ydGFudCBiZWNhdXNlIG15IGh1c2JhbmQgdG9vLiBJIGRpZG7igJl0IHJlYWxpemUgdW50aWwgaGUgbWFkZSB0aGUgc3RhdGVtZW50IHRoYXQgSeKAmW0gc3VyZSBldmVyeWJvZHkgaGFzIGhlYXJkIGJlZm9yZSBhYm91dCB0aGUgemlwcGVyLiBIZSBtYWRlIGEgdmVyeSBub3Qtc28tbmljZSBzdGF0ZW1lbnQgYW5kIEkgd2FzIGxpa2UsIOKAnFdob2EuIFlvdSBoYXZlIHRyYXVtYS7igJ3CoEkgZGlkbuKAmXQgZXZlbiBrbm93IHRoYXQgdW50aWwgaGUgaGFkIHNhaWQgdGhhdCBzdGF0ZW1lbnQgYW5kIHdlIGhhZCB0byB3b3JrIHRocm91Z2ggdGhhdC4gSGUgaGFkIHRvIHRydXN0IG1lIGFsc28gYW5kIEkgbG92ZSB0aGF0IHlvdSBzYWlkIHRoYXQuIEhlIHRydXN0ZWQgbWUuIFRoZXJlIGFyZSBhIGxvdCBvZiBwZW9wbGUgb3V0IHRoZXJlIHdobyBmZWVsIHNvIHN0cm9uZ2x5IHRoYXQgdGhleSBzaG91bGQgYmUgYXQgaG9tZSBvciBhdCBhIGJpcnRoIGNlbnRlciBvciB0aGF0IHRoZXkgZG9u4oCZdCB3YW50IGFuIGVwaWR1cmFsIG9yIHRoZXkgZG8gd2FudCBhbiBlcGlkdXJhbC7CoFRoZXJlIGFyZSBhbHdheXMgdGhpbmdzIHRoYXQgdXMgbW9tcywgV29tZW4gb2YgU3RyZW5ndGgsIGhhdmUgYW5kIHRoZW4gc29tZXRpbWVzIHRoZSBodXNiYW5kcyBhcmVu4oCZdCB0b3RhbGx5IG9uIGJvYXJkLiBXZSBkb27igJl0IGV2ZXIgd2FudCB0byBqdXN0IHRlbGwgdGhlbSB0aGF0IHRoZWlyIGZlZWxpbmdzIGRvbuKAmXQgbWF0dGVyLCBidXQgSSB0aGluayBpdOKAmXMgaW1wb3J0YW50IHRvIG5vdGUgdGhhdCB0aGF04oCZcyB3aGVuIHdlIHNob3VsZCB0YWxrIGFib3V0IHRoZSBmZWVsaW5ncyBhbmQgd2h5IHRob3NlIHRob3VnaHRzIG9yIHdoeSB0aG9zZSB0aGluZ3MgdGhhdCBhcmUgYmVpbmcgc2FpZCBhcmUgc28gbmVnYXRpdmUsIHJpZ2h0PyBXaHkgbm90IGEgaG9tZSBiaXJ0aCBvciB3aHkgbm90IGEgdmFnaW5hbCBiaXJ0aCBpbiBnZW5lcmFsPyBJIHNlZSBpdCBvbiB0aGUgZm9ydW1zLiBQZW9wbGUgYXJlIGxpa2UsIOKAnEkgd2FudCBhIFZCQUMgc28gYmFkbHksIGJ1dCBteSBodXNiYW5kIGlzIG5vdCBzdXBwb3J0aXZlIG9mIGl0LuKAnUl04oCZcyBsaWtlLCB3YWl0LCB3YWl0LCB3aGF0PyBXYWl0IGEgc2Vjb25kLiBNeSBodXNiYW5kIHdhc27igJl0IHN1cGVyIG9uIGJvYXJkLiBUaGF04oCZcyB3aHkgaGUgc2FpZCB0aGUgdGhpbmcgYWJvdXQgdGhlIHppcHBlci4gSGUgd2FzIGxpa2UsIOKAnEkgZG9u4oCZdCB1bmRlcnN0YW5kLuKAnSBJ4oCZbSBsaWtlLCDigJxJIGtub3cgYW5kIHlvdSBwcm9iYWJseSB3b27igJl0IGV2ZXIgdW5kZXJzdGFuZCBteSBkZXNpcmUgdG8gZ2l2ZSBiaXJ0aCB2YWdpbmFsbHksIGJ1dCB0aGlzIGlzIHdoeS7igJ0gV2UgdGFsa2VkIGFib3V0IHRob3NlIHRoaW5ncywgc28gaGF2ZSB0aG9zZSB0b3VnaCBjb252ZXJzYXRpb25zIGFsb25nIHRoZSB3YXksIG9yIGlmIHNvbWV0aGluZyBpcyBwdWxsaW5nIHlvdSBpbiBhbm90aGVyIGRpcmVjdGlvbiwgZG9u4oCZdCBmZWFyIHNheWluZyB0aGF0IG91dCBsb3VkIGJlY2F1c2Ugc29tZW9uZeKAkyBpdCBkb2VzbuKAmXQgZXZlbiBoYXZlIHRvIGJlIGEgcGFydG5lciBvciBhIGh1c2JhbmQuIEl0IGNhbiBiZSBhIG1vbSBvciB3aG9ldmVyLiBTb21lb25lIGlzIHNheWluZyBzb21ldGhpbmcgYW5kIHlvdSBkb27igJl0IHdhbnQgdGhlbSB0byBiZSBtYWQgb3IgeW91IGRvbuKAmXQgd2FudCB0aGVtIHRvIGRpc2FncmVlIHdpdGggeW91IHNvIHlvdSBnbyB0aGUgb3RoZXIgZGlyZWN0aW9uIHdoZW4geW91ciBoZWFydCBpcyBwdWxsaW5nIHlvdSBpbiBvbmUgZGlyZWN0aW9uIGZvciBhIHJlYXNvbi7CoEtlbmRyYTogWWVhaCwgYWJzb2x1dGVseS4gQW5kIHlvdSBkbyBnZXQgYXMgYSBWQkFDIG1vbSBvciBhIGhvbWUgYmlydGggbW9tLCB5b3UgZ2V0IGEgbG90IG9mIGZhY2lhbCBleHByZXNzaW9ucyBmcm9tIHBlb3BsZS7CoE1lYWdhbjogWWVhaCB5b3UgZG8uwqBLZW5kcmE6IE9yIGNvbW1lbnRzIGZyb20gcGVvcGxlLiBJdCBjYW4gYmUgdG91Z2ggdG8gbmF2aWdhdGUgYW5kIHRvIGhhdmUgdGhpcyBhcHByb3ByaWF0ZSBib3VuZGFyeSBvciBidWJibGUgd2hlcmUgeW91IHNheSwg4oCcTm8uIFRoaXMgaXMgbXkgc3RvcnkuIFRoaXMgaXMgbXkgam91cm5leS4gSeKAmXZlIGdvdCB0byBkbyB3aGF04oCZcyBnb29kIGZvciBtZSBhbmQgYmFieS7igJ0gWWVhaC4gSXTigJlzIGhhcmQuIEl04oCZcyBoYXJkIHRvIG5hdmlnYXRlIHRoYXQuIEkgZGVmaW5pdGVseSBncmlldmUgYW5kIHVuZGVyc3RhbmQgYW5kIGxhbWVudCB3aXRoIHRoZSBtb21zIHdobyBkb27igJl0IGhhdmUgc3VwcG9ydGl2ZSBwYXJ0bmVycy7CoFdlIGFyZSBhY3R1YWxseSBwcmVnbmFudCB3aXRoIGJveSBudW1iZXIgdGhyZWUuwqBNZWFnYW46IE9oIG15IGdvc2gsIHlheSFLZW5kcmE6IEkga25vdy4gSXTigJlzIGNyYXp5LiBJdOKAmXMgYmVlbiBiYWNrIHRvIGJhY2sgdG8gYmFjay4gSSB0aGluayBpbiBzb21lIHdheXMsIGdldHRpbmcgcHJlZ25hbnQgd2l0aCBudW1iZXIgdHdvIHB1c2hlZCBib3RoIG9mIHVzIHRvIHNheSwg4oCcV2UgaGF2ZSB0byBoZWFsIHRoaXMgZmFzdC7igJ0gSSBkb27igJl0IGxvdmUgdGhhdCBtaW5kc2V0LCBidXQgd2UgaGF2ZSB0byBhZGRyZXNzIGl0LiBJZiB5b3UgZG9u4oCZdCBoYXZlIGEgbnVtYmVyIHR3byBvciB0aHJlZSBpZiB5b3UgZG9u4oCZdCBoYXZlIGEgcXVpY2sgdGltZWxpbmUgYmV0d2VlbiB0aGVtLCB0aGVuIGl04oCZcyByZWFzb25hYmxlIHRoYXQgc29tZSBwZW9wbGUganVzdCBzYXksIOKAnFdlbGwsIGl04oCZcyBkb25lLiBUaGUgaG9zcGl0YWwgZGlkIHdoYXQgaXQgZGlkIG9yIHRoZSBzdG9yeSBkaWRu4oCZdCB1bmZvbGQgdGhlIHdheSBJIHdhbnRlZCBpdCB0b28uIEF0IGxlYXN0IGl04oCZcyBvdmVyIGFuZCBub3cgSSBjYW4ganVzdCBmb2N1cyBvbiBteSBoZWFsdGh5IGJhYnnigJ0gYW5kIHRoYXQga2luZCBvZiBtaW5kc2V0IHRoYXQgcGVvcGxlIGhhdmUuIFNvbWUgcGVvcGxlIGRvbuKAmXQgZXZlciBjb21lIGJhY2sgdG8gd2hhdCB0aGV5IGV4cGVyaWVuY2VkIG9yIGhvdyBiYWQgaXQgd2FzLsKgVGhhdOKAmXMgd2h5IEkgZm9sZCBpbiB0aGUgbWVudGFsIGhlYWx0aCBwaWVjZSBiZWNhdXNlIGlmIGl0IHJlYWxseSB3YXNu4oCZdCBmb3IgRXJpbiBhbmQgaGVyIGtub3dsZWRnZSwgaGVyIHVuZGVyc3RhbmRpbmcgb2YgYmlydGggdHJhdW1hLCBoZXIgb3duIHN0b3J54oCTIHNoZSBoYWQgdGhyZWUga2lkcyBiZWZvcmUgSSBldmVyIGV2ZW4gaGFkIG9uZeKAkyBJIGRvbuKAmXQgdGhpbmsgSSB3b3VsZCBoYXZlIGtub3duIGFzIGludGltYXRlbHkgaG93IGltcG9ydGFudCB0aGlzIHdvcmsgaXMuIE5vdywgdGhlIGZhY3QgdGhhdCB0aGUgcHJhY3RpY2UgaGFzIHRoaXMgd2hvbGUgYnJhbmNoIGFuZCB0aGlzIHdob2xlIHN1YnNldCBvZiBzZXJ2aW5nIG1vbXMgYW5kIHNlcnZpbmcgZmFtaWxpZXMgYW5kIHNlcnZpbmcgY291cGxlcywgd2UgaGF2ZSBwYWNrYWdlcyBmb3Igd29tZW4gYW5kIGZhbWlsaWVzIGFuZCBjb3VwbGVzIHRvIHdvcmsgb24gd2hpbGUgdGhleeKAmXJlIHByZWduYW50IHNvIHRoZXkgY2FuIHN0YXJ0IHRvIHByZXBhcmUsIG11Y2ggbGlrZSBhIGRvdWxhIHByb3ZpZGVzIGNoaWxkYmlydGggZWR1Y2F0aW9uLCBhIGxvdCBvZiBwZW9wbGUgb3Zlcmxvb2sgdGhlIGltcG9ydGFuY2Ugb2YgYXMgYSBjb3VwbGUsIHdoYXQgZG9lcyBpdCBsb29rIGxpa2UgdG8gZ2V0IG9uIHRoZSBzYW1lIHBhZ2U/IEFzIGEgd29tYW4sIHdoYXQgZG9lcyBpdCBsb29rIGxpa2UgdG8gcmVhbGx5IHByZXBhcmUgeW91ciBoZWFydCBhbmQgeW91ciBtaW5kIGFuZCB5b3VyIGJvZHkgZm9yIHRoaXM/VGlhOiBZZWFoLsKgS2VuZHJhOiBHb2QgZm9yYmlkLCBpdCBkb2VzbuKAmXQgdW5mb2xkIHRoZSB3YXkgeW91IHdhbnQsIHRoZSBmYWN0IHRoYXQgdGhlcmUgYXJlIHdvbWVuIG91dCB0aGVyZSB3aG8gaGF2ZSBjZXJ0aWZpY2F0aW9uIGFuZCB3aG8gaGF2ZSB0cmFpbmluZyBpbiBiaXJ0aCB0cmF1bWEgYW5kIGNhbiBoZWxwIHlvdSBoZWFs4oCTIHBlb3BsZSBsaWtlIEVyaW4gd2hvIGtub3cgaW50aW1hdGVseSB0aGUgcmVzZWFyY2guIFRoZXkga25vdyB3aGF0IGhlYWxpbmcgbG9va3MgbGlrZS4gSXTigJlzIHNvIHVzZWZ1bCBhbmQgaXTigJlzIHN1Y2ggYW4gaW1wb3J0YW50IGFuZCBncm93aW5nIGZpZWxkIGZvciB3b21lbi4gV2UgZ2V0IG1vcmUgYW5kIG1vcmUgY2FsbHMgd2hlcmUgcGVvcGxlIGFyZSBleGNpdGVkIHRvIGRvIHRoZSBiaXJ0aCB3b3JrLiBUaGV5IGFyZSBleGNpdGVkIHRvIGhlYWwgZnJvbSB0aGVpciB0cmF1bWEgYW5kIG9mIGNvdXJzZSwgdGhlcmUgYXJlIHRoZSBwZW9wbGUgd2hvIGhhdmUgaG9ycmlmaWMgc3RvcmllcyB3aGVyZSBpdOKAmXMgaGFyZC4gSXTigJlzIGhhcmQsIHRyYXVtYXRpYyB3b3JrLCBidXQgcmVhbGx5IGltcG9ydGFudCB0aGF0IHRoZXkgaGVhbCBmb3IgdGhlbXNlbHZlcyBhbmQgZm9yIHRoZWlyIGNoaWxkcmVuLsKgV2Ugc2VlIHRoZSBzcGVjdHJ1bSwgYnV0IGl04oCZcyBjb29sIHRoYXQgaXTigJlzIGEgZmllbGQgbm93IGFuZCB0aGF0IHRoZXJlIGFyZSBib29rcywgdGhlcmUgYXJlIHJlc291cmNlcywgYW5kIHRoZXJlIGFyZSBlLWNvdXJzZXMgZnJvbSBwZW9wbGUgd2hvIGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZy7CoDI5OjMwIFByb2Nlc3NpbmcgYmlydGhzTWVhZ2FuOiBZZWFoLCBhbmQgdG8geW91ciBwb2ludCwgeW91IHdlcmUgZm9yY2VkIHRvIHByb2Nlc3MgdGhpcyByZWFsbHkgZmFzdCB3aGljaCB3YXMgcmVhbGx5IGdvb2QsIGJ1dCBzb21ldGltZXMgaWYgd2UgZG9u4oCZdCBwcm9jZXNzLCBzb21ldGltZXMgaWYgd2Ugd2FpdCBhcyB3ZWxsIGZvciB0aGUgcHJvY2Vzc2luZywgd2UgZm9yZ2V0IHdoYXQgd2UgbmVlZGVkIHRvIHByb2Nlc3MuIERvZXMgdGhpcyBtYWtlIHNlbnNlPyBXZSBmb3JnZXQgdGhvc2UgZGV0YWlscyBhbmQgdGhlbiBzb21ldGltZXMsIG5vdCBhbHdheXMsIGJ1dCBzb21ldGltZXMgdGhleSBjcmVlcCBpbnRvIG91ciBuZXh0IGJpcnRoLsKgS2VuZHJhOiBZZWFoLsKgTWVhZ2FuOiBXZSBtYXkgdHJpZ2dlci4gV2UgbWF5IHN0YXJ0IGhhdmluZyB0aG91Z2h0cyBhbmQgYmUgbGlrZSwg4oCcT2ggbXkgZ29zaCzigJ0gYmVjYXVzZSB3ZSBwdXQgaXQgb2ZmLiBJdOKAmXMgZWFzeSB0byBkby4gSXTigJlzIHNvIGVhc3kgdG8gcHV0IG9mZi4g4oCcSeKAmWxsIHRoaW5rIGFib3V0IHRoYXQgbGF0ZXIuIEkgbm93IGhhdmUgdG8gdHJhbnNpdGlvbiBhbmQgbGVhcm4gaG93IHRvIGZlZWQgYSBiYWJ5LiBJIG5vdyBoYXZlIHRvIHRyYW5zaXRpb24gYW5kIGxlYXJuIGhvdyB0byBnZXQgb3V0IG9mIGEgY2FyIGFmdGVyIGEgQy1zZWN0aW9uLCB3aGF0IHdlaWdodCBJIGNhbiBob2xkIGFuZCB3aGF0IHdlZWsgSSBhbSzigJ0gYW5kIHdoYXRldmVyLiBJIHdhbnQgdG8gZHJvcCB0aGUgbWVzc2FnZSBvdXQgdGhlcmUuIFlvdSBkb27igJl0IGhhdmUgdG8gd2FpdCB1bnRpbCB5b3XigJlyZSBwcmVnbmFudCB0byBzdGFydCBwcm9jZXNzaW5nIHlvdXIgcGFzdCBwcmVnbmFuY3kgYW5kIGJpcnRoLiBJdOKAmXMgb2Z0ZW4gZG9uZS4gV2Ugd2FudCB0byBmb3JnZXQgc29tZXRpbWVzLiBTb21ldGltZXMsIGl04oCZcyBsaWtlLCDigJxJIGRvbuKAmXQgd2FudCB0byB0aGluayBhYm91dCB0aGF0IGV2ZXIgYWdhaW4u4oCdIE1heWJlIGl0IHdhcyBzbyB0cmF1bWF0aWMsIGJ1dCBpdCBjYW4gYmUgc28gaW1wb3J0YW50IGJlY2F1c2UgeW91IG5ldmVyIGtub3cgd2hlbiBpdCBjYW4gY3JlZXAgaW4uwqBLZW5kcmE6IFllYWguIFlvdXIgYm9keSBhbmQgeW91ciBjdWVz4oCTIGl04oCZcyBub3QganVzdCBkdXJpbmcgdGhlIHByZWduYW5jeSBhbmQgbGFib3IgdGhhdCB3ZSBuZWVkIHRvIGNoYW5uZWwgdGhhdCBpbnR1aXRpdmUgc2Vuc2UuIEV2ZW4ganVzdCB0aGUgb3RoZXIgZGF5LCBJIHdhcyBnZXR0aW5nIGEgbWFzc2FnZSBhbmQgSSBoYWQgdG8gbGF5IG9uIG15IHNpZGUgYmVjYXVzZSBJ4oCZbSBwcmVnbmFudC4gV2hlbiBJIHdhcyBzaWRlLWx5aW5nLCBJIHJlbWVtYmVyZWQgZm9yIHRoZSBmaXJzdCB0aW1lIGxhYm9yaW5nIGluIHRoYXQgcG9zaXRpb24uIEl0IHdhcyBjb21pbmcgYmFjayB0byBteSBib2R5IHdoaWxlIEkgd2FzIGdldHRpbmcgdGhlIG1hc3NhZ2UgYW5kIEkgd2FzIGxpa2UsIOKAnE9oLCBkYW5nLiBJIGZvcmdvdCBob3cgYmFkbHkgdGhhdCBodXJ0LuKAnSBJIHdhcyBmZWVsaW5nIHRoZSBmZWVscyBhZ2FpbiBhbmQgSSBrbmV3IEkgbmVlZGVkIHRvIGRlYWwgd2l0aCBpdC4gSSBuZWVkZWQgdG8gZmVlbCBpdCBhbmQgaGVhbCBpdCBpbiBteSBib2R5IGluIG9yZGVyIHRvIGZlZWwgcmVhZHkgZm9yIGEgbmV3IGJhYnkuwqBTbyBpdOKAmXMgaW1wb3J0YW50IHRoYXQgd2UgZGVhbCB3aXRoIHdoYXQgc2hvd3MgdXAsIHRoYXQgaW50dWl0aXZlIHNlbWFudGljIHNlbnNlIGFzIGl0IGFyaXNlcyBhbmQgbm90IGp1c3Qgc2F2ZSB0aGF0IGZvciBwcmVnbmFuY3kuIFdlIGtub3cuIEl0IHNob3dzIHVwIGV2ZXJ5d2hlcmUuIEl0IHNob3dzIHVwIGluIG91ciBzZXguIEl0IHNob3dzIHVwIGluIG91ciBjb25uZWN0aW9ucy4gVGhlc2UgdGhvdWdodHMgYW5kIHRoZXNlIGZlZWxpbmdzIGRvbuKAmXQgZ28gYXdheSBqdXN0IGJlY2F1c2UgdGhlIGxhYm9yIGFuZCBkZWxpdmVyeSBhcmUgb3Zlci4gVGlhLCB5b3Ugd2VyZSBzcGVha2luZyB0byBzb21ldGhpbmcgdG9vLCBzb3JyeS7CoFRpYTogSSB3YXMganVzdCBzYXlpbmcgdGhhdOKAmXMgb25lIG9mIHRoZSBtb3N0IGNoYWxsZW5naW5nIGFzcGVjdHMgb2YgYmVpbmcgYSBWQkFDLWNlcnRpZmllZCBkb3VsYS4gVGhlIGZpcnN0IGVkdWNhdGlvbiBkb2N1bWVudCBJIHNlbmQgb3V0IHRvIG15IGZhbWlseSBzYXlzLCDigJxJIGhpZ2hseSByZWNvbW1lbmQgeW91IHdvcmsgd2l0aCBhIHBlcnNvbiB3aG8gc3BlY2lhbGl6ZXMgaW4gcGVyaW5hdGFsIG1lbnRhbCBoZWFsdGggYXMgYSBzdGFuZGFyZC7igJ0gRXZlbiBpZiB5b3UgZG9u4oCZdCB0aGluayB5b3UgbmVlZCB0byBwcm9jZXNzIHRocm91Z2ggYSBwYXN0IGJpcnRoLCBpdCBjYW5ub3QgaHVydC4gSXQgY2FuIG9ubHkgaGVscC7CoEkgaGF2ZSBhIGxvdCBvZiBmYW1pbGllcyB3aG8gZG9u4oCZdCBoYXZlIGEgbG90IG9mIHRpbWUgdGhleSB0aGluayB0aGV5IHdpbGwgaGF2ZSB0aW1lIGxhdGVyIGFuZCB0aGV5IGdldCBpbnRvIHRoZWlyIGJpcnRoIGV4cGVyaWVuY2VzIGFuZCBJIHNlZSB0aGVzZSB0cmlnZ2VycyBwb3AgdXAuIEZvciBldmVyeSBzaW5nbGUgcGVyc29uIEkgd29yayB3aXRoLCB0aGF0IGxvb2tzIHNvIGRpZmZlcmVudCB0aGF0IEkgY2FuIG5ldmVyIGZ1bGx5IHByZXBhcmUgYXMgYSBkb3VsYSBvbiBob3cgdG8gaGVscCBlYWNoIGFuZCBldmVyeSBwZXJzb24sIGJ1dCBpdCBpcy4gSXQgY2FuIGJlIGEgcG9zaXRpb24gdGhhdCB3ZSBkZWNpZGUgdG8gbGFib3IgaW4gb3Igc29tZXRoaW5nIHNvbWVvbmUgc2F5cywgb3IgdGhlIGxvb2sgb24gdGhlaXIgaHVzYmFuZOKAmXMgZmFjZSBvciBqdXN0IHNvIG1hbnkgZGlmZmVyZW50IHRoaW5ncywgc28geWVhaC4gSSByZWFsbHkgcmVzb25hdGVkIHdpdGggeW91IHNheWluZyB0aGF0IGNlcnRhaW4gdGhpbmdzIHRyaWdnZXIgeW91IGFuZCB0aGUgaW1wb3J0YW5jZSBvZiByZWFsbHkgd29ya2luZyB0aHJvdWdoIHRoYXQgdHJhdW1hIGVzcGVjaWFsbHkgZ29pbmcgaW50byBhbm90aGVyIGJpcnRoIGJlY2F1c2UgeW91IG1heSB0aGluayB0aGF0IHlvdSBkb27igJl0IGhhdmUgdHJhdW1hIHRvIHdvcmsgdGhyb3VnaCBhbmQgdGhlbiBvbmNlIHlvdSBhcmUgaW4gbGFib3Igd2l0aCB0aGF0IG5leHQgYmFieSwgdGhhdCBpcyBhIHJlYWxseSBpbm9wcG9ydHVuZSB0aW1lIHRvIGZpbmQgb3V0IHRoYXQgeW91IHN1ZGRlbmx5IGRvIGhhdmUgdHJpZ2dlcnMuwqBZb3XigJlyZSBkZWFsaW5nIHdpdGggdGhhdCBjb21wb25lbnQgYW5kIGEgbG90IG9mIG15IFZCQUMgY2xpZW50cyBhbHNvIGZvciB3aGF0ZXZlciByZWFzb24gd2FudCB0byBnbyB1bm1lZGljYXRlZC4gVGhhdOKAmXMgdGhlaXIgZ29hbCB0byB0cnkgdG8gbWl0aWdhdGUgYW55IGV4dHJhIHBvdGVudGlhbCBzbG93aW5nIGRvd24gbGFib3Igb3IgcmlzayBzbyB0aGV5IGFyZSBkZWFsaW5nIHdpdGggdGhhdCB0cnlpbmcgdG8gYmUgaW4gYSBnb29kIG1lbnRhbCBzcGFjZSB0aGF0IGlzIGFscmVhZHkgZGlmZmljdWx0IHdoZW4geW91IGFyZSBoYXZpbmcgYW4gdW5tZWRpY2F0ZWQgYmlydGgsIGJ1dCB0aGVuIHRoYXQgYWRkZWQgdHJhdW1hIG9yIHRyaWdnZXJzIHRoZXkgZGlkbuKAmXQgZXhwZWN0IHRvIGV4cGVyaWVuY2UgdGhhdCB0aGV5IGFyZS4gSSB0aGluayBJIGFncmVlIHRoYXQgaXTigJlzIGp1c3Qgc3VjaCBhbiBpbXBvcnRhbnQgcGFydCBvZiBwcmVwYXJpbmcuwqBNZWFnYW46IE1obW0sIGFic29sdXRlbHkuwqAzMzozMSBFcmlu4oCZcyBlLWNvdXJzZXNNZWFnYW46IEtlbmRyYSwgY2FuIHlvdSB0ZWxsIHVzIGEgbGl0dGxlIGJpdCBtb3JlIGFib3V0IHRoZSBjb3Vyc2UgYW5kIGtpbmQgb2Ygd2hlbiBpdCB3b3VsZCBiZSBzdWdnZXN0ZWQgZm9yIHNvbWVvbmUgdG8gdGFrZSBpZiB0aGV54oCTIG9yIGlmIGl0IHdvdWxkIGV2ZW4gYmUgc3VnZ2VzdGVkIHRvIHRha2UgbGlrZSB3aGF0IFRpYSB3YXMgc2F5aW5nLCBldmVuIGlmIHlvdSBkb27igJl0IHRoaW5rIHlvdSBoYXZlIGJpcnRoIHRyYXVtYSBvciB5b3UgZG9u4oCZdCB0aGluayB5b3UgaGF2ZSBhIHBvb3IgZXhwZXJpZW5jZSBieSBhbGwgbWVhbnMuIENhbiB5b3UgdGFsayB0byB1cyBhYm91dCB0aGF0PyBXaGVuIHdvdWxkIHlvdSB0YWtlIGl0PyBXb3VsZCB5b3Ugc3VnZ2VzdCBpdD8gQWxsIG9mIHRoYXQuwqBLZW5kcmE6IFllYWgsIHdlbGwgZmlyc3QsIEkgd291bGQgaGlnaGx5IHJlY29tbWVuZCBoYXZpbmcgRXJpbiBvbiB0aGUgcG9kY2FzdC4gU2hl4oCZcyB0aGUgb25lIHdobyBrbm93cyBhbGwgb2YgdGhlIGlucyBhbmQgb3V0cyBvZiB0aGlzIHdvcmxkLsKgTWVhZ2FuOiBXZSBuZWVkIHRvIG1ha2UgdGhhdCBoYXBwZW4uwqBLZW5kcmE6IFNoZSB3b3VsZCBiZSBoYXBweSB0byBiZSBhIGd1ZXN0IGV4cGVydC4gSGVyIGZpcnN0IGNvdXJzZSwgUmViaXJ0aCwgcmVhbGx5IGlzIGRlc2lnbmVkIGZvciB3b21lbiB0byByZXdyaXRlIHRoZWlyIHN0b3JpZXMgc28gc2hlIHdvcmtzIHRocm91Z2ggdGhhdCBhbmQgd2Fsa3MgdGhyb3VnaCB0aGF0IHRocm91Z2ggdGhlIG1vZHVsZXMuIFRoZXkgYXJlIGFsbCBhdmFpbGFibGUgb25saW5l4oCTIG9yIEkgc2hvdWxkbuKAmXQgc2F5IHRoZXkgYXJlIGFsbCBhdmFpbGFibGUuIFlvdSBjYW4gZ2V0IGEgcHJldmlldyBvZiB0aGUgZS1jb3Vyc2UgdG8gc2VlIGlmIGl0IGlzIGEgZ29vZCBmaXQuIEVyaW4gYWxzbyBwcm92aWRlcyBjb25zdWx0YXRpb25zIHNvIHNoZSB3b3VsZCBiZSBoYXBweSB0byBjaGF0IHdpdGggc29tZW9uZSBhYm91dCwgaXMgdGhpcyBhIGdvb2QgY291cnNlIGZvciBtZT/CoFVsdGltYXRlbHksIGl0IGlzIGdldHRpbmcgYXQgdGhvc2UgcGVvcGxlIHdobyBoYXZlIGxvc3QgY29udHJvbCB0aHJvdWdoIHRoZWlyIGJpcnRoIGFuZCBkZWxpdmVyeSBzdG9yeSwgYW5kIGNvbnRyb2wgYW5kIGxvc3Mgb2YgY29udHJvbCBvZnRlbiBpcyBhIHNpZ24gdGhhdCBiaXJ0aCB0cmF1bWEgY291bGQgYmUgYXQgcGxheS4gU28gd2hlbiB3ZSBjb25zaWRlciB0aGF0LCBpZiBhIHdvbWFuIGNhbiBwYXVzZSBhbmQgcmVmbGVjdCBvbiBoZXIgc3RvcnkgYW5kIHNlZSwg4oCcV2VyZSB0aGVyZSB0aW1lcyB3aGVuIEkgd2FudGVkIFggYW5kIHRoYXQgcmlnaHQsIHRoYXQgY2hvaWNlIG9yIHRoYXQgZGVzaXJlIHdhcyB0YWtlbiBhd2F5IGZyb20gbWU/4oCdIFRoYXQgY291bGQgYmUgYSBnb29kIGluZGljYXRvciB0aGF0IEVyaW7igJlzIGNvdXJzZSB3b3VsZCBiZSBhIGdvb2QgZml0LsKgSG93ZXZlciwgSSBhbSBub3QgdGhlIG9uZSB3aG8gaXMgYW4gZXhwZXJ0IGluIGJpcnRoIHRyYXVtYS4gVGhlcmUgYXJlIG51YW5jZXMgdG8gdGhlIGNvdXJzZSB0aGF0IGlzIGEgbG90IG9mIGdvb2Qgc3RhdGlzdGljcyBhbmQgaW5mb3JtYXRpb24gc28gdGhlcmUgYXJlIHNvbWUgcHN5Y2hvZWR1Y2F0aW9uYWwgY29tcG9uZW50cy4gVGhlcmUgaXMgYW4gaW50ZXJhY3RpdmUgdmlkZW8gd2hlcmUgeW91IGdldCB0byBsZWFybiBmcm9tIEVyaW4gYW5kIHRoZW4gdGhlcmUgYXJlIGEgdG9uIG9mIGRpZmZlcmVudCBleGVyY2lzZXMgaW4gam91cm5hbGluZywgd3JpdGluZyBwcm9tcHRzLCBzb3J0aW5nIHRocm91Z2ggdGhlIGVtb3Rpb25zLCBhbmQgSSBiZWxpZXZlIHlvdSB3cml0ZSB5b3VyIGJpcnRoIHN0b3J5IHRocmVlIHRpbWVzIGFuZCBwcm9jZXNzIGl0IHRocmVlIGRpZmZlcmVudCB3YXlzIHRvIGdldCB0byB0aGUgb3RoZXIgc2lkZS7CoE1lYWdhbjogWWVzLsKgS2VuZHJhOiBUaGVuIGl04oCZcyB5b3VyIHN0b3J5LiBTaGUgaGFzIGEgY291cGxlIG9mIG90aGVyIGRpZmZlcmVudCB0aGluZ3MgZm9sZGVkIGluLiBZb3UgY2FuIGdldCBhIG11ZyB0aGF0IHlvdSBjYW4gcHVyY2hhc2UuIFlvdSBjYW4gZ2V0IGEgam91cm5hbC4gU2hlIGFsc28gaGFzIGFkZGl0aW9uYWwgc3VwcG9ydCB0aGF0IHNoZSBjYW4gcHJvdmlkZSBzbyB5b3UgY2FuIHB1cmNoYXNlIHRoZSBjb3Vyc2UgYW5kIHNvbWUgc2Vzc2lvbnMgaWYgdGhhdCBmZWVscyBsaWtlIHlvdeKAmWQgcmF0aGVyIGhhdmUgdGhhdCByYXRoZXIgdGhhbiBsZWFybiBhdCB5b3VyIG93biBwYWNlIGlmIHlvdSByZWFsbHkgd2FudCB0aGF0IHRpbWUgaW4gZnJvbnQgb2YgaGVyLiBTaGXigJlzIGxpY2Vuc2VkIGluIFBlbm5zeWx2YW5pYSBhbmQgTWFyeWxhbmQgc28gc2hlIGNhbiBzZWUgcGVvcGxlIGNsaW5pY2FsbHkgdGhyb3VnaCBUZWxlaGVhbHRoIGluIHRob3NlIHN0YXRlcy7CoE1lYWdhbjogQXdlc29tZS4gWWVhaCwgSSBqdXN0IHB1bGxlZCB1cCB0aGUgd2Vic2l0ZSBhbmQgd2FzIHJlYWRpbmcgYSBsaXR0bGUgYml0IG1vcmUgYWJvdXQgaGVyIGFuZCB3aHkgaGVyIGFuZCBqdXN0IHllYWguIEkgdGhpbmsgd2UgYXJlIGdvaW5nIHRvIGhhdmUgdG8gZG8gYSBzcGlub2ZmIGFuZCB0YWxrIGFib3V0IHRob3NlIGNvdXJzZXMgbW9yZSBiYXNlZCBvZmYgb2YgeW91ciBlcGlzb2RlIGFuZCB5b3VyIGpvdXJuZXkgYW5kIHlvdXIgY29ubmVjdGlvbiBiZWNhdXNlIGl0IHJlYWxseSBpcyBzbyBpbXBvcnRhbnQuwqAzNjoxNiBCZW5lZml0cyBvZiB0aGVyYXB5TWVhZ2FuOiBUaGVuIGNhbiB5b3UgYWxzbyB0YWxrIHRvIHVzIGFib3V0LCBva2F5LiBJIGRvbuKAmXQgbWVhbiB0aGlzIHRvIHNvdW5kIHJ1ZGUgYXQgYWxsLCBidXQgc29tZXRpbWVzLCBvdXIgbG92ZWx5IHBhcnRuZXJzIGFuZCBtZW4gc3BlY2lmaWNhbGx54oCTIEnigJltIHRyeWluZyBub3QgdG8gc2luZ2xlIHRoZW0gb3V0LCBidXQgSeKAmW0gc2luZ2xpbmcgdGhlbSBvdXQuIFRoZXkgaGF2ZSBhIGhhcmQgdGltZSB3aXRoIHRoZSB0aG91Z2h0IG9mIHRoZXJhcHkgb3IgY291bnNlbGluZyBlc3BlY2lhbGx5IGNvdXBsZXPigJkgdGhlcmFweS4gSXQgY2FuIGp1c3QgYmUgYSBoYXJkIHRoaW5nLiBJIHRoaW5rIHRoYXTigJlzIGJlY2F1c2Ugb2Ygd2hhdCB0aGUgd29ybGQgaGFzIGRvbmUuwqBCdXQgd291bGQgY291bGQgYmUgc2lnbnMgdGhhdCBtYXliZSBvdXIgcGFydG5lcnMgbWlnaHQgYmVuZWZpdCBmcm9tIHNvbWUgaGVscCBvciBzb21lIHRhbGtpbmcgb3IgdGhhdCBtYXliZSByZWxhdGlvbnNoaXAtd2lzZSBlc3BlY2lhbGx5IGZyb20gYSBiaXJ0aCBhbmQgbGlrZSB5b3Ugc2FpZCwgd2hhdCBoZSB3ZW50IHRocm91Z2gsIHdoYXQgeW91IHdlbnQgdGhyb3VnaCwgd2hhdCBhcmUgc29tZSBzaWducyBhbmQgaG93IGNvdWxkIHdlIHBvdGVudGlhbGx5IHN0YXJ0IHRoZXJlIHRvIGdldCBzb21lIGhlbHA/S2VuZHJhOiBZZWFoLiBZZWFoLCBpdOKAmXMgYSBnb29kIHF1ZXN0aW9uLiBUaGUgc2NpZW5jZSBwYXJ0IGlzIHRyaWNreSBiZWNhdXNlIHVuc3VycHJpc2luZ2x5IG15IGJpYXMgaXMgdGhhdCBldmVyeW9uZSBzaG91bGQgYmVuZWZpdCBmcm9tIHRoZXJhcHkuIEV2ZXJ5b25lIGNvdWxkIHVzZSB0aGVyYXB5IHNvIEkgcmVhbGx5IHByb21vdGUgdGhyb3VnaCB3aGF0IEkgd3JpdGUgYW5kIHNwZWFrIG9uIHRocm91Z2ggbXkgcHJhY3RpY2UgdGhhdCB0aGVyYXB5IHNob3VsZCBiZSB2aWV3ZWQgbW9yZSBhcyBhIHdlbGxuZXNzIHNlcnZpY2UuIEl0IHNob3VsZCBiZSB2aWV3ZWQgYXMgc29tZXRoaW5nIHRoYXQgd2UgYXJlIGRvaW5nIG91ciB3aG9sZSBsaWZlIHJhdGhlciB0aGFuIHdhaXRpbmcgdW50aWwgc29tZXRoaW5nIGdldHMgYmFkLiBJdOKAmXMgYSBsaXR0bGUgd2VpcmQgdGhhdCB3ZSBoYXZlIHBlZGlhdHJpY2lhbnMgd2hvIGNoZWNrIGluIG9uIHlvdXIgY2hpbGTigJlzIGhlYWx0aCB3ZWxsbmVzcy13aXNlIGFuZCB3aGVuIHRoZXkgYXJlIHNpY2sgYWxsIHRocm91Z2ggdGhlaXIgeW91bmcgYWR1bHQgeWVhcnMgYW5kIGNoaWxkaG9vZCwgYnV0IHdlIG5ldmVyIGNvbnNpZGVyIHRoZSBiZW5lZml0IG9mIG1lbnRhbCBoZWFsdGggaW4gdGhhdC7CoFNvIEkgdGhpbmsgeW91IGtub3cgeW91ciBwYXJ0bmVyIGJlc3QgYW5kIGlmIHlvdeKAmXJlIHdpdGggYSBtYW4gYW5kIHlvdSBmZWVsIGxpa2UgdGhlcmUgYXJlIHNvbWUgdGhpbmdzIHRoYXQgYXJlIHNob3dpbmcgdXAsIHRoZW4gSSB3b3VsZCB0cnVzdCB0aGF0IGZpcnN0IG9mZiBhbmQgSSB3b3VsZCBpbnZpdGUgdGhlIGNvbnZlcnNhdGlvbiBpbiB0aGUgd2F5IHRoYXQgeW91IGtub3cgaXMgYmVzdCBmb3IgeW91ciBwYXJ0bmVyLsKgU29tZSBwYXJ0bmVycywgSSB0aGluaywgYXBwZWFsIHRvIHRoZSBsb2dpYyBvZiBpdCBhbGwuIFNvbWUgYXJlIG1vcmUgaW4gdGhlIGZlZWxpbmcgcmVhbG0uIFNvbWV0aW1lcywgeW91IGNhbiBhcHBlYWwgdG8gc29tZW9uZSB3aGVuIHRoZXJlIGhhcyBiZWVuIGEgY29uZmxpY3QgYW5kIHRoYXQgY29uZmxpY3QgaXMgZW5vdWdoIG9mIGEgc2l0dWF0aW9uIHRvIHNheSwg4oCcVGhpcyBtYXR0ZXJzLuKAnSBTb21ldGltZXMsIGl0IGNhbiBqdXN0IGJlIG1vcmUgbGlrZSBhIHN1cHBvcnRpdmUgY29udmVyc2F0aW9uLiBZb3Ugd2FudCB0aGlzIHRvIGdvIHdlbGwuIFlvdSB3YW50IG91ciBmYW1pbHkgdG8gYmUgaGVhbHRoeS4gSSBrbm93IHlvdSBjYXJlIGFib3V0IHVzLiBJIGtub3cgeW91IGNhcmUgYWJvdXQgbWUuIFRoaXMgaXMgc29tZXRoaW5nLCBJIHRoaW5rLCB0aGF0IGNvdWxkIGhlbHAuIEp1c3QgbGlrZSB5b3Ugd291bGQgcGl0Y2gsIOKAnExldOKAmXMgaGF2ZSBhIGRvdWxhLOKAnSB5b3Ugd291bGQgcGl0Y2gsIOKAnExldOKAmXMgaGF2ZSBhIG1pZHdpZmXigJ0sIHlvdSB3b3VsZCBwaXRjaCB0aGlzLCByaWdodD8gWW914oCZcmUgcGl0Y2hpbmcgdGhlIHNhbWUgdGhpbmcuwqBZb3Uga25vdywgcmVjZW50bHksIHNvbWVvbmUgYWN0dWFsbHkgc2FpZCB0byBtZSwg4oCcV2UgcmVhbGx5IGRvbuKAmXQgbmVlZCB0byBmZWVsIGd1aWx0IG9yIHNoYW1lIGZvciBoYXZpbmcgcGFzc2lvbiBpbiBob3cgd2UgcGl0Y2gu4oCdIEl04oCZcyBub3Qgc29tZXRoaW5nIHdlIG5lZWQgdG8gZmVlbCBuZWdhdGl2ZWx5IGFib3V0LiBJZiB5b3UgZmVlbCBwYXNzaW9uYXRlIGFib3V0IHNvbWV0aGluZywgaXTigJlzIG9rYXkgdG8gcGl0Y2ggaXQgdG8geW91ciBwYXJ0bmVyLiBJIHdvdWxkIGludml0ZSB0aGF0LiBTaWducyBjb3VsZCBiZSBhIGRpc2dydW50bGVkIGNvbm5lY3Rpb24gd2l0aCBhIGNoaWxkLCBtYXliZSBzb21lIGVuZXJneSB0aGVyZSB0aGF0IGRvZXNu4oCZdCBzZWVtIGF0IGVhc2UuIEl0IGNvdWxkIGJlIGFuZ2VyLCBpdCBjb3VsZCBiZSBzaHV0dGluZyBkb3duIG9mIGVtb3Rpb24sIGJ1dCB0byBiZSBob25lc3QsIHRoZXNlIGFyZSB0aGluZ3Mgd2Ugc2VlIGN1bHR1cmFsbHkgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGJpcnRoIHRyYXVtYSBpcyBwYXJ0IG9mIHRoZSBlcXVhdGlvbiBvciBub3QuwqBBZ2FpbiwgSSB0aGluayBFcmluIHdvdWxkIGJlIGJldHRlciBzdWl0ZWQgdG8gYW5zd2VyIHdoYXQgYXJlIHRoZSBzaWducyB0aGF0IGEgbWFuIGhhcyBleHBlcmllbmNlZCBzZWNvbmRhcnkgYmlydGggdHJhdW1hIG9yIGJpcnRoIHRyYXVtYSBmcm9tIHRoZSBleHBlcmllbmNlLCBidXQgZnJvbSBhIGNvdXBsZXPigJkgcGVyc3BlY3RpdmUsIEkgbWVhbiwgSSB0aGluayBjb3VwbGVzIGJlbmVmaXQgZnJvbSBjaGVjay1pbnMgYWxsIHRoZSB0aW1lIHNvIEkgZW5jb3VyYWdlIHBlb3BsZSB0byBkbyBhIHllYXJseSBjaGVjay1pbiB3aXRoIGEgcHJvdmlkZXIuIFNvbWV0aW1lcyBJIG5vdGljZSBmcm9tIG1lbiwgdGhhdCBwcm92aWRlcyBhIGxpdHRsZSBiaXQgbW9yZSBvZiBhIHNhZmV0eSBuZXQgbWVudGFsaXR5IGluIHRoZWlyIGhlYWQgaWYgdGhleSBkb27igJl0IGxvdmUgY29uZmxpY3QsIGlmIHRoZXkgZG9u4oCZdCBsb3ZlIHByb2Nlc3NpbmcgdGhlaXIgZW1vdGlvbnMsIHRoZW4gd2hhdOKAmXMgdGhlIGJvdHRvbSBsaW5lPyBXaGF0IGRvIHRoZXkgbmVlZCB0byBiZSBkb2luZyBpbiBvcmRlciB0byBhdm9pZCBtb3JlIGJsb3d1cHMgYW5kIGF2b2lkIG1vcmUgZW1vdGlvbmFsIGJyZWFrZG93bnM/IEl04oCZcyBsaWtlLCB3ZWxsIGNoZWNrIGluIG9uIHlvdXIgcGFydG5lcnNoaXBzLiBUaGF04oCZcyB0aGUgYmFzaWMgdGhpbmcuIEhhdmluZyBhIHRoaXJkIHBhcnR5IGhlbHBzIHdpdGggdGhhdCwgaXQgY3JlYXRlcyBzbyBtdWNoIG1vcmUgZWFzZSBpbiB0aGUgY29udmVyc2F0aW9uIGFuZCBmbG93IGluIHRoZSBwcm9jZXNzLsKgT25lIGFuZ2xlIGNvdWxkIGJlIHByZXNlbnRpbmcgaXQgdGhhdCB3YXkgb2YsIOKAnExldOKAmXMganVzdCBkbyBhIGNoZWNrLWluLiBMZXTigJlzIGxldCBhIHByb3ZpZGVyIGxvb2sgdXMgb3ZlciBhbmQgc2F5LCDigJhZb3VyIG1hcnJpYWdlIGxvb2tzIGdyZWF0LiBDb21lIGJhY2sgdG8gbWUgaW4gYSB5ZWFyIG1lbnRhbGl0eSzigJnigJ0gb3IgdGhlcmUgY291bGQgYmUgYW4gYWN0dWFsIGhpY2N1cCBhbmQgdGhhdCBoaWNjdXAgY291bGQgYmUgZW5vdWdoIG9mIGEgY2F0YWx5c3QgdG8gc2F5LCDigJxIZXksIHdlIGV4cGVyaWVuY2VkIHNvbWV0aGluZyBwcmV0dHkgaW50ZW5zZSB0b2dldGhlci4gV291bGQgeW91IGJlIHdpbGxpbmcgdG8gY29uc2lkZXIgZ29pbmc/4oCdIElmIHdlIGdvIGFuZCB0aGV5IHNheSwg4oCcWW91IGd1eXMgYWN0dWFsbHkgc2VlbSBwcmV0dHkgYWRhcHRhYmxlLiBZb3Ugc2VlbSBsaWtlIHlvdSBhcmUgY29ucXVlcmluZyB0aGlzIHRoaW5nIHdlbGws4oCdIHRoZW4gZmluZS4gVGhhdOKAmXMgYmVzdC1jYXNlIHNjZW5hcmlvLkJ1dCBpZiB5b3XigJlyZSBub3QsIHdvdWxkbuKAmXQgd2Ugd2FudCB0byBiZSBhcyBjb25uZWN0ZWQgYW5kIGhlYWx0aHkgYXMgYSBjb3VwbGUgYXMgcG9zc2libGU/IElmIHlvdXIgcGFydG5lciwgeW91ciBodXNiYW5kIGlzIGxpa2UsIOKAnE5vcGUsIGRvbuKAmXQgY2FyZS4gRG9u4oCZdCB3YW50IHRvIGJlIGhlYWx0aHks4oCdIHRoZW4gd2UgaGF2ZSBhIGRpZmZlcmVudCBiZWFzdCB0byBjb25xdWVyIGFuZCB0byB0YWNrbGUuIEkgdGhpbmsgeW91IHNwb2tlIHRvIGl0LiBPdXIgY3VsdHVyZSB1bmZvcnR1bmF0ZWx5IGlzIGp1c3QgdHVybmluZyB0aGUgY29ybmVyIG5vdyBpbiBpdHMgdmlldyBvZiBtZW50YWwgaGVhbHRoLiBXZSBoYXZlIGEgbG90IG9mIHdvcmsgdG8gZG8gaW4gaG93IHdlIHByZXNlbnQgaXQgYW5kIEkgYWN0dWFsbHkganVzdCBoYWQgYSBmcmllbmQgdGVsbCBtZSByZWNlbnRseSB0aGF0IGhlciBodXNiYW5kIGxpc3RlbmVkIHRvIGEgcG9kY2FzdCB0aGF0IHdhcyBhbGwgYWJvdXQgaG93IHRoZXJhcHkgaXMgYmFkLiBJIHdhcyBsaWtlLCDigJxPaCBtYW4uIEl04oCZcyBsaWtlIG9uZSBzdGVwIGZvcndhcmQsIHR3byBzdGVwcyBiYWNrLuKAnVNvIHlvdSBrbm93LCBnaXZlIGFuZCB0YWtlLCByaWdodD8gSeKAmW0gbm90IGdvaW5nIHRvIGJlIGFibGUgdG8gY29udmluY2UgZXZlcnlvbmUuIFdoaWxlIGluIGdyYWQgc2Nob29sLCB3ZSBkbyBsZWFybiB0ZWNobmlxdWVzIG9yIHN0cmF0ZWdpZXMgZm9yIGhvdyB0byBoZWxwIHNvbWVvbmUgc2VlIHRoZSBiZW5lZml0IG9mIHRoZXJhcHksIHRvIGJlIGhvbmVzdCwgcGVvcGxlIHNlZSB3aGF0IHRoZXkgd2FudCB0byBzZWUgYW5kIGlmIHNvbWVvbmUgc2l0cyBhY3Jvc3MgZnJvbSBtZSBhbmQgdGhleSBkb27igJl0IHNlZSB0aGUgdmFsdWUgb2YgdGhpcyBzcGFjZSwgdGhlbiBJIGZlZWwgdGhhdC4gSSBrbm93IHRoYXQgYW5kIGFsbCBJIGNhbiBkbyBpcyB0cnkgdG8gcHJlc2VudCBhcyBjYWxtbHkgYXMgcG9zc2libGUgd2h5IEkgdGhpbmsgYSBzdXBwb3J0aXZlIGVudmlyb25tZW50IHdvdWxkIGhlbHAgaW4gdGhlaXIgaGVhbGluZywgYnV0IHRoZSByZXN0IGlzIGEgbGl0dGxlIGJpdCBvZiBzdXJyZW5kZXJpbmcgdG8gdGhlIGdyZWF0ZXIgcG93ZXJzIGlmIHlvdSB3aWxsLCBzdXJyZW5kZXJpbmcgdG8gR29kIHRoYXQgaG9wZWZ1bGx5IHRoYXQgbWFycmlhZ2Ugd2lsbCBnZXQgdGhlIGhlYWxpbmcgYW5kIHN1cHBvcnQgaXQgbmVlZHMgYXQgc29tZSBwb2ludCBpZiBub3QgaW4gdGhlcmFweS7CoDQxOjM5IFNob3J0IGludGVydmFsIGJldHdlZW4gcHJlZ25hbmNpZXNNZWFnYW46IE9rYXksIGFuZCB0aGVuIGFsc28gbGFzdCBidXQgbm90IGxlYXN0IGJlZm9yZSB3ZSBsZXQgdGhpcyBhbWF6aW5nIGVwaXNvZGUgZ28sIEkgd2FudGVkIHRvIHRvdWNoIG9uIHNvbWV0aGluZyB0aGF0IEkgbm90aWNlZCB5b3Ugc2FpZCBlYXJsaWVyIHdpdGhpbiB0YWxraW5nIGFib3V0IHlvdXIgc2Vjb25kLiBUaGF0IGlzIHRoZSBzaG9ydCBpbnRlcnZhbC4gWW91IHNhaWQgdGhhdCB5b3UgZ290IHByZWduYW50IHN1cGVyIHN1cnByaXNpbmdseSBmb3VyIG1vbnRocyBhZnRlciBoYXZpbmcgeW91ciBmaXJzdCBzb24gc28gdGhhdCBtZWFucyB5b3UgaGFkIHRoYXQgMTQuNSBtb250aCBnYXAgd2hpY2ggaXMgYSByZWFsbHkgYmlnIHRoaW5nLiBEaWQgYW55b25lIGV2ZXIgc2F5IGFueXRoaW5nIHRvIHlvdSBhYm91dCB0aGF0PyBIb3cgd2FzIHRoYXQgYXNwZWN0IG9mIGl0P8Kg4oCL4oCLU28gSSBoYWQgbWVudGlvbmVkIHRoYXQgbXkgcHJvdmlkZXIgd2FzIGFuIExQTSBzbyBJIGtuZXcgZ29pbmcgaW50byB0aGUgc2Vjb25kIG9uZSwgSSB3YXNu4oCZdCBnb2luZyB0byBiZSBhYmxlIHRvIHdvcmsgd2l0aCBoZXIgYmVjYXVzZSBpbiBNYXJ5bGFuZCwgc2hlIGRvZXNu4oCZdCBoYXZlIGEgcmlnaHQgdG8gZG8gVkJBQ3MgZXZlbiB0aG91Z2ggc2hlIGZlZWxzIGNvbWZvcnRhYmxlIGFuZCBzaGUgd29ya3MgYWNyb3NzIHN0YXRlIGxpbmVzIHdpdGggc29tZSBBbWlzaCBjb21tdW5pdGllcyBhbmQgdGhpbmdzIGxpa2UgdGhhdCBhbmQgZG9lcyBWQkFDcywgSSBrbmV3IHRoYXQgc2hlIHdvdWxkbuKAmXQuwqBTaGUgYWN0dWFsbHkgZW5kZWQgdXAgZ2V0dGluZyBtZSBhbiBMTk0gb24gbXkgY2FzZSBzbyBraW5kIG9mIGxpa2UgYSBiYWNrdXAgbWlkd2lmZSBpZiB5b3Ugd2lsbCB3aG8gd2FzIHRlY2huaWNhbGx5IHRoZSBwcmltYXJ5IGJ1dCB0aGVyZSBpbiBjYXNlIG9mIGFuIGVtZXJnZW5jeSBhbmQgaW4gdGhhdCBqb3VybmV5LCB0aGV5IGhhZCBhY3R1YWxseSwgc29tZSBvZiB0aGUgbWlkd2l2ZXMgaW4gbXkgY29tbXVuaXR5IGNhdWdodCB3aW5kIG9mIG15IHN0b3J5IGFuZCBJIHRoaW5rIHRoZSBtZW50YWwgaGVhbHRoIGludGVyc2VjdGlvbiBhbmQgbXkgYnVzaW5lc3MgYW5kIHdhbnRlZCBtZSB0byBjb21lIGFkdm9jYXRlLsKgSSBhY3R1YWxseSBnb3QgdG8gd3JpdGUgdXAgbXkgc3RvcnkgYW5kIGdvIHRvIEFubmFwb2xpcyBhbmQgc3VwcG9ydCBhIGJpbGwgdGhhdCBkaWRu4oCZdCBnZXQgcGFzc2VkIHdoaWNoIGlzIHN0aWxsIHNvIGNyYXp5IHRvIG1lLiBJdCBoYXMgYmVlbiAxMCB5ZWFycyBpbiB0aGUgbWFraW5nLiBUaGV54oCZdmUgYmVlbiB0cnlpbmcgdG8gZ2V0IExQTXMgdGhlIHJpZ2h0IHRvIGRvIFZCQUNzIGFuZCBvbmUgb2YgdGhlIGZhY3RvcnMgaW4gdGhlIGxlZ2lzbGF0aXZlIGVmZm9ydCBpcyB0aGF0IGRvY3RvcnMgc3VnZ2VzdCB0aGF0IHRoYXQgc2hvcnQgaW50ZXJ2YWwgaXMgbm90IHNhZmUgZm9yIGEgd29tYW4gdG8gY29udGludWUgdG8gaGF2ZSB0aGUgbmF0dXJhbCBiaXJ0aC7CoFNvIHlvdSBrbm93LCBpdCB3YXMganVzdCBhIGhlYWRhY2hlIGFmdGVyIGhhdmluZyB0aGF0IGZpcnN0IHByZWduYW5jeSBhbmQgaGF2aW5nIHRvIGdvIGFjcm9zcyBzdGF0ZSBsaW5lcyB0byBmaW5kIGEgc3VwcG9ydGl2ZSBwcm92aWRlciBmb3IgdGhlIGJyZWVjaCBhbmQgdGhlbiBhbm90aGVyIHByZWduYW5jeSB3aGVyZSB0aGV54oCZcmUgZXNzZW50aWFsbHkgc2F5aW5nLCDigJxZb3UgZG9u4oCZdCBnZXQgdG8gcGljayB5b3VyIHByb3ZpZGVyLiBZb3UgZG9u4oCZdCBnZXQgdG8gcGljayB0aGUgcGVyc29uIHlvdSBmZWVsIHNhZmVzdCBvciBtb3N0IGNvbWZvcnRhYmxlIHdpdGguIFlvdSBoYXZlIHRvIGdvIHRoZSByb3V0ZS7igJ0gSW4gTWFyeWxhbmQsIHRoZXJl4oCZcyBhY3R1YWxseSBub3QgYSBsb3Qgb2YgaG9zcGl0YWxzIHRoYXQgd2lsbCBhbGxvdyB5b3UgdG8gZG8gdmFnaW5hbCBldmVuIGluIHRoZSBob3NwaXRhbCBhbmQgdGhleeKAmXJlIHB1c2hpbmcgdGhlIEMtc2VjdGlvbiBmcm9tIHRoZSBnZXQtZ28gYmVjYXVzZSBvZiB0aGUgc2hvcnQgaW50ZXJ2YWwgcGllY2UuSeKAmW0gZ2xhZCB3ZSBjaXJjbGVkIGJhY2sgdG8gdGhhdCBiZWNhdXNlIGl04oCZcyBqdXN0IGNyYXp5IHRvIHNwZWFrIHRvIGxlZ2lzbGF0b3JzLCB0byBzcGVhayB0byBBbm5hcG9saXMsIHRvIHNoYXJlIG15IHN0b3J5LCBhbmQgdG8gYmUgc2l0dGluZyB0aGVyZeKAlCBJIHdhcyBob2xkaW5nIG15IGJhYnkuIEhlIHdhcyBtYXliZSA2IHdlZWtzIG9sZCBzbyBJ4oCZbSBiYWJ5IHdlYXJpbmcgaGltIGFuZCBzcGVha2luZyBteSBzdG9yeSBhbmQgSeKAmW0gbGlrZSwg4oCcVGhpcyBpcyBhY3R1YWxseSBpbnNhbmUuIEnigJltIGEgd29tYW4gd2hvIGFjdHVhbGx5IGRvZXNu4oCZdCBldmVuIGdldCB0byBwaWNrIG15IHByb3ZpZGVyLuKAnUl04oCZcyBzbyBzY2FyeSBhbmQgYWxhcm1pbmcgdGhhdCBpbiBzb21lIHN0YXRlcywgdGhpcyBpcyB0aGUgcHJlZGljYW1lbnQgdGhhdCB3ZSBhcmUgaW4sIGJ1dCBob3BlZnVsbHkgYXMgd29tZW4gY29udGludWUgdG8gc3BlYWsgYW5kIGNvbnRpbnVlIHRvIHNoYXJlIGhvdyBpbXBvcnRhbnQgaXQgaXMgdGhhdCB0aGV5IGhhdmUgcmlnaHRzIHRvIHRoZWlyIHByb3ZpZGVycywgcmlnaHRzIHRvIHRoZWlyIGVudmlyb25tZW50IG9mIHRoYXQsIGFuZCBhbGwgb2YgdGhhdCwgd2XigJlsbCBzZWUgc29tZSBtb3ZlbWVudCBldmVudHVhbGx5LsKgTWVhZ2FuOiBZZXMuIEkgd2FzIGdvaW5nIHRvIHNheSwgc3BlYWsgdXAuIFRoYXQgaXMgd2hhdCB3ZSBuZWVkIGlzIHNwZWFrIHVwLCBzcGVhayB1cCwgc3BlYWsgdXAuIFllcywgdGhleeKAmXZlIGdvdCBzb21lIGV2aWRlbmNlIG91dCB0aGVyZSBzaG93aW5nIHRoYXQgbGVzcyB0aGFuIDE4IG1vbnRocyBvciB3aGF0ZXZlciwgZXZlbiBzb21lIHByb3ZpZGVycyBzYXkgMjQgbW9udGhzIGlzIGxlc3MgaWRlYWwsIGJ1dCBwZW9wbGUgYXJlIGRvaW5nIGl0LiBUaGV5IGFyZSBkb2luZyBpdCBzYWZlbHkuIE1vbSBhbmQgYmFieSBhcmUgb2theSBzbyBzcGVhayB1cCBzbyB5b3UgY2FuIGdldCB5b3VyIHByb3ZpZGVyLiBTcGVhayB1cCBzbyB3ZSBjYW4gbWFrZSB0aGF0IG1vdmVtZW50IGFuZCBzZWUgdGhhdCBjaGFuZ2UuIFRoYW5rIHlvdSBzbyBtdWNoIGFuZCBhbHNvLCBjb25ncmF0cyBmb3IgZG9pbmcgdGhhdC4gVGhhdOKAmXMgYSByZWFsbHkgZW1vdGlvbmFsIHRpbWXigJQgNiB3ZWVrcy4gSG9seSBjb3cuIFRoYW5rIHlvdSBmb3IgZG9pbmcgdGhhdCBhbmQgc3BlYWtpbmcgdXAuwqBLZW5kcmE6IFRoYXQgZmVsdCBoZWFsaW5nIHRvby4gVGhlIFZCQUMgZmVsdCBoZWFsaW5nLCBidXQgaXQgYWxzbyBmZWx0IGhlYWxpbmcgdG8gYmUgbGlrZSwg4oCcSSBuZWVkIHRvIGhhdmUgYSB2b2ljZSBpbiB0aGlzIGVxdWF0aW9uIGJlY2F1c2UgSSB3YW50IHRvIGNob29zZSBteSBwcm92aWRlciBmb3IgbXkgbmV4dCBiYWJ5IGFuZCBpcm9uaWNhbGx5LCB0aGUgYmlsbCBkaWRu4oCZdCBnZXQgcGFzc2VkIGFuZCBJ4oCZbSBvbiB0byB0aGUgbmV4dCBiYWJ5IGFuZCBzdGlsbCBoYWQgdG8gcGljayBhIGRpZmZlcmVudCBwcm92aWRlci4gSeKAmW0gaW4gdGhlIHNhbWUgcHJlZGljYW1lbnQu4oCdIFNvIHllYWgsIGtlZXAgc3BlYWtpbmcgdXAuIEkgYWdyZWUuIFRoYW5rIHlvdS7CoE1lYWdhbjogQXdlc29tZS4gSSBsb3ZlIGl0LiBUaGFuayB5b3Ugc28gbXVjaCBmb3Igc2hhcmluZyB5b3VyIGtub3dsZWRnZSwgeW91ciBzdG9yeSwgeW91ciBiZWF1dGlmdWwgc3RvcnksIGFuZCB5b3VyIHJlZGVtcHRpdmUgYmlydGgsIGFuZCBJ4oCZbSBkZWZpbml0ZWx5IGdvaW5nIHRvIHJlYWNoIG91dCB0byBFcmluIHRvIGRvIGEgc3Bpbm9mZi7CoEtlbmRyYTogU3VyZSwgc3VyZS7CoE1lYWdhbjogSG9wZWZ1bGx5IHNoZeKAmWxsIGFjY2VwdCB0aGUgaW52aXRhdGlvbiBhbmQgd2XigJlsbCBoYXZlIGhlciBvbiBpbiBhbm90aGVyIGVwaXNvZGUuwqA0NTo1MSBUaWHigJlzIHRvcCB0aHJlZSB0aXBzTWVhZ2FuOiBUaGVuIEkgd2FudGVkIHRvIHR1cm4gdGhlIHRpbWUgb3ZlciB0byBUaWEgcmVhbGx5IHF1aWNrbHkgYmVmb3JlIHdlIHdyYXAgdXAgYmVjYXVzZSB3ZSBoYXZlIHRhbGtlZCBhIGxvdCBhYm91dCwgaW4gdGhpcyB3aG9sZSBmb3J1bSwgd2UgdGFsayBhYm91dCBob3cgdG8gc3VwcG9ydCBWQkFDIGFuZCBob3cgdG8gbG92ZS4gU2hl4oCZcyBhIGRvdWxhIGFuZCBJIHdhbnRlZCB0byBrbm93IG9uZSBvZiB0aGUgdG9wIHRocmVlIHdheXMgdGhhdCBzaGXigJQgaGVyIGFkdmljZSwgaGVyIGxvdmUsIHdoYXQgZG8geW91IHByb3ZpZGUgZm9yIHlvdXIgZG91bGFzIGFuZCB3aGF0IGRvIHlvdSBzdWdnZXN0P8KgVGlhOiBZZWFoLCBhYnNvbHV0ZWx5LiBUaGVyZSBhcmUgdGhyZWUga2V5IHRoaW5ncyB0aGF0IEkgdGhpbmsgc3VwZXIgYmVuZWZpdCBhbnkgbW9tLCByZWFsbHkgYW55IG1vbSB3aG8gaXMgZW1iYXJraW5nIG9uIHRoaXMgam91cm5leSBvZiBwcmVnbmFuY3kgYW5kIGJpcnRoIGJ1dCBwYXJ0aWN1bGFybHkgZm9yIG15IG1vbXMgd2hvIGFyZSB3YW50aW5nIGEgVkJBQy4gSSBhbHdheXMgc2F5IHRoYXQgdGhlIG51bWJlciBvbmUgdGhpbmfigJQgSSBzaG91bGQgc2F5IHRvIGhpcmUgYSBkb3VsYSBidXQgdGhhdOKAmXMgbm90IGluIG15IHRvcCB0aHJlZSBiZWNhdXNlIEkgZmVlbCBsaWtlIHRoZXJlIGFyZSB0aHJlZSB0aGluZ3MgdGhhdCBwZW9wbGUgY2FuIHJlYWxseSBmb2N1cyBvbiBvdXRzaWRlIG9mIHRoYXQuwqBUaGUgZmlyc3Qgb25lIGlzIGdldHRpbmcgYSBzdXBwb3J0aXZlIHByb3ZpZGVyLiBIYW5kcyBkb3duLCBpZiB0aGVyZSBpcyBub3RoaW5nIGVsc2UgdGhhdCB5b3UgZG8gZHVyaW5nIHRoaXMgcHJvY2VzcywgdGhlIG1vc3QgaW1wb3J0YW50IHRoaW5nIGlzIGdldHRpbmcgYSBzdXBwb3J0aXZlIHByb3ZpZGVyLiBTbyB3ZSB0YWxrIGEgbG90IGFib3V0IHdoYXQgYXJlIHJlZCBmbGFncy4gV2hhdCBhcmUgZ3JlZW4gZmxhZ3M/IEkgbWFrZSBpdCBhYnVuZGFudGx5IGNsZWFyIHRoYXQgdGhlIGJlc3QgZG91bGEgaW4gdGhlIHdvcmxkIGNhbm5vdCBzYXZlIHlvdSBmcm9tIGEgcG9vciBwcm92aWRlciBvciBhbiB1bnN1cHBvcnRpdmUgcHJvdmlkZXIuIFRoZXJlIGlzIG5vdGhpbmcgd2UgY2FuIGRvLsKgV2UgY2FuIGhlbHAgeW91IGFkdm9jYXRlIGFuZCB3ZSBjYW4gZWR1Y2F0ZSwgYnV0IHRoYXTigJlzIGFsbCB0byB0cnkgdG8gaG9wZWZ1bGx5IGxlYWQgeW91IHRvIGlkZW50aWZ5IGlmIHlvdSBhcmUgd2l0aCBhbiB1bnN1cHBvcnRpdmUgcHJvdmlkZXIgYW5kIHRoZW4gaG93IHRvIHN1cHBvcnQgeW91IGluIGZpbmRpbmcgYSBwcm92aWRlciB0aGF0IHJlYWxseSBqaXZlcyB3aXRoIHlvdSwgc3VwcG9ydHMgeW91ciBiaXJ0aCB2aXNpb24gdGhhdCB5b3UgZmVlbCBzYWZlIHdpdGguIEZlZWxpbmcgc2FmZSBpcyBzbyBpbmNyZWRpYmx5IGltcG9ydGFudCBpbiB0aGlzIHByb2Nlc3MgZXNwZWNpYWxseSBpZiB5b3UgbWF5YmUgZG9u4oCZdCB0cnVzdCB5b3VyIGJvZHkgYWxsIHRoZSB3YXkuwqBJIGhhdmUgYSBsb3Qgb2YgVkJBQyBjbGllbnRzIHdobyBhcmUgbGlrZSwg4oCcSSB3YW50IHRvIHRydXN0IG15IGJvZHkuIEV2ZXJ5b25lIHNheXMgdGhhdCBvdXIgYm9kaWVzIGFyZSBtYWRlIHRvIGJpcnRoLCBidXQgdGhlIGZpcnN0IHRpbWUsIGl0IGRpZG7igJl0IGhhcHBlbi4gSSBoYXZlIGEgaGFyZCB0aW1lIHRydXN0aW5nIG15IGJvZHkgYmVjYXVzZSBJIGZlZWwgbGlrZSBpdCBsZXQgbWUgZG93biB0aGUgZmlyc3QgdGltZS7igJ0gU28gZmVlbGluZyBzYWZlIHdpdGggYSBwcm92aWRlciwgZmVlbGluZyBoZWFyZCBieSBhIHByb3ZpZGVyLCBhbmQgaGF2aW5nIHNvbWVvbmUgd2hvIGlzIGdlbnVpbmVseSBvbiB5b3VyIHRlYW0gd2hvIGxvdmVzIFZCQUMsIHdobyBsb3ZlcyBiaXJ0aCwgdGhhdCBpc27igJl0IGdvaW5nIHRvIGJlIGEgcm9hZGJsb2NrIG9yIGFuIG9ic3RhY2xlIGlzIHNvIGluY3JlZGlibHkgaW1wb3J0YW50LiBXZSBhbHdheXMgdGVsbOKAlCBJIHdvcmsgd2l0aCBhIHBhcnRuZXIuIEhlciBuYW1lIGlzIExpc2EuwqBXZSB0ZWxsIG91ciBjbGllbnRzLCDigJxXZSBjYW4gaW4gdGhlIHdvcnN0IGNhc2Ugc2NlbmFyaW8gaGVscCB5b3UgYWR2b2NhdGUgYW5kIGFkdm9jYXRlIHNlbWkgb24geW91ciBiZWhhbGYs4oCdIGJ1dCB3ZSBuZXZlciBzcGVhayBmb3Igb3VyIGNsaWVudHMuIERvIHlvdSByZWFsbHkgd2FudCB0byBiZSBmaWdodGluZyBvbiB5b3VyIGJpcnRoIGRheT8gRG8geW91IHdhbnQgdGhhdCB0byBiZSBwYXJ0IG9mIHlvdXIgYmlydGggc3RvcnkgdGhhdCDigJxJIGhhZCB0byBzcGVuZCB0aW1lIGZpZ2h0aW5nIG9yIHB1c2hpbmcgYmFjayB0cnlpbmcgdG8gYXNrIGZvciB0aGUgYmFzaWMgY2FyZSBvciByZXNwZWN0IHRoYXQgSSBkZXNlcnZl4oCdP8KgTXkgbnVtYmVyIG9uZSB0aXAgaXMgdG8gaGlyZSBhIHN1cHBvcnRpdmUgcHJvdmlkZXIuIEJlaW5nIGJvbGQgaW4gZmlyaW5nIGEgcHJvdmlkZXIgdGhhdCBpcyBub3QgZm9yIHlvdS4gWW91IGNhbiBzYXksIOKAnFRoaXMgcmVsYXRpb25zaGlwIGlzIG5vdCB3b3JraW5nIGZvciBtZSzigJ0gYW5kIGZpbmQgc29tZW9uZSBlbHNlLiBZb3UgY2FuIGZvY3VzIGxlc3Mgb24gaHVydGluZyBmZWVsaW5ncyBhbmQgZm9jdXMgbW9yZSBvbiB3aGF0IHlvdSBuZWVkIGR1cmluZyB0aGlzIHRpbWUsIGFic29sdXRlbHkuwqA0ODo1NCBIaXJlIGEgZ3JlYXQgc3VwcG9ydCB0ZWFtwqBUaWE6IE15IHNlY29uZCB0aXDigJMgYW5kIHRoaXMgaXMgaG9uZXN0bHkgZ3JlYXQgZm9yIHRoaXMgZXBpc29kZSB3aXRoIEtlbmRyYSBpcyBoaXJpbmcgYSBncmVhdCBzdXBwb3J0IHRlYW0gYW5kIHRoYXQgaW5jbHVkZXMgZG91bGFzLCBidXQgaGF2aW5nIHRoYXQgcmVhbGx5IGdvb2QsIHN0cm9uZyBhZGphY2VudCBzdXBwb3J0IGluIGFkZGl0aW9uIHRvIGEgc3VwcG9ydGl2ZSBwcm92aWRlciBpcyByZWFsbHkgaW1wb3J0YW50IHNvIHdlIHRhbGsgYWJvdXQgZ2V0dGluZyBhIG1lbnRhbCBoZWFsdGggcHJvZmVzc2lvbmFsIHF1ZXVlZCB1cCBhbmQgdGhhdOKAmXMgZm9yIGFueSBvZiBvdXIgbW9tcywgc2Vjb25kLXRpbWUgbW9tcywgZmlyc3QtdGltZSBtb21zLCBWQkFDIG1vbXMuIEnigJltIGFsd2F5cyBsaWtlLCDigJxJZiB5b3UgcnVuIGludG8gYSBwcm9ibGVtLCB5b3UgZG9u4oCZdCB3YW50IHRvIGJlIGEgbmV3IHBhdGllbnQuIFlvdSBkb27igJl0IHdhbnQgdG8gYmUgNiB3ZWVrcyBwb3N0cGFydHVtIGZlZWxpbmcgbGlrZSB5b3UgZXhwZXJpZW5jZWQgYmlydGggdHJhdW1hLCB0aGUgd29ybGQgaXMgbm93IGNyYXNoaW5nIGRvd24gYW5kIHdlIGFyZSB0cnlpbmcgdG8gZmluZCBhIHByb3ZpZGVyIGluIHRoaXMgZm9nIHdoZW4gSSBrbm934oCdIGJlY2F1c2UgZXZlcnlvbmUgaW4gbXkgaG91c2Ugc2VlcyBhIG1lbnRhbCBoZWFsdGggcHJvdmlkZXIgYmVjYXVzZSBJIGZlZWwgbGlrZSBpdOKAmXMgYSBzdXBlciBpbXBvcnRhbnQgd2VsbG5lc3MgdGhpbmcsIGJ1dCBpdCB0YWtlcyBhIHdoaWxlIHRvIGdldCBpbi7CoFlvdSBkb27igJl0IHdhbnQgdG8gYmUgZmlnaHRpbmcgaW5zdXJhbmNlIGFuZCBmaW5kaW5nIHByb3ZpZGVycy4gTWF5YmUgdGhlIGZpcnN0IG9uZSBpcyBub3QgYSBnb29kIGZpdCBhbmQgZG9pbmcgYWxsIG9mIHRoYXQgd2hlbiB5b3UgYXJlIGNhcnJ5aW5nIHRoZSB3ZWlnaHQgb2YgdGhlIHdvcmxkIGJlY2F1c2UgeW91IG5lZWQgaGVscCBub3cuIEnigJltIGxpa2UsIHRoZSB3b3JzdCBjYXNlIHNjZW5hcmlvIGlzIHlvdeKAmWxsIGZlZWwgbGlrZSBpdCB3YXMgb25lIHVubmVjZXNzYXJ5IHZpc2l0IHBvc3QtYmlydGggYW5kIHRoYXQgeW91IGdvdCB0byBwcm9jZXNzIHRoaXMgYW1hemluZyBiaXJ0aCBzdG9yeSwgYW5kIHdobyBkb2VzbuKAmXQgbGlrZSB0YWxraW5nIGFib3V0IGFuIGFtYXppbmcgYmlydGggc3Rvcnk/wqBLZW5kcmE6IFNvIHdlbGwgc2FpZC7CoFRpYTogWWVhaC4gSWYgdGhhdOKAmXMgbm90IHRoZSBjYXNlIHRob3VnaCwgeW914oCZcmUgcXVldWVkIHVwIG5vdyB3aXRoIHNvbWVvbmUgdG8gYmUgcHJlcGFyZWQgdG8gaGVscCB5b3UgdGhhdCB5b3XigJl2ZSBidWlsdCB0aGlzIHNlbWktcmVsYXRpb25zaGlwIHdpdGguIEkgZmVlbCBsaWtlIGl04oCZcyBzdXBlciBpbXBvcnRhbnQgdG8gaGF2ZSBtZW50YWwgaGVhbHRoLCBhbmQgYSBnb29kIElCQ0xDIGlmIHlvdXIgZ29hbCBpcyB0byBicmVhc3RmZWVkIGJlY2F1c2UgYWdhaW4sIGZpbmRpbmcgdGhhdCB0aHJlZSBkYXlzIGhvbWUgZnJvbSB0aGUgaG9zcGl0YWwgYW5kIG15IGJhYnnigJlzIG5vdCBlYXRpbmcgaXMgYSBkaWZmaWN1bHQgdGltZSB0byBmaW5kIGFuIElCQ0xDIHdobyB3b3JrcyB3aXRoIHlvdXIgaW5zdXJhbmNlLCB0aGF0IGhhcyBhbiBvcGVuaW5nIHRoYXQgY2FuIGNvbWUgdG8geW91IGluIHlvdXIgYXJlYS7CoE1lYWdhbjogVGhhdCBjYW4gYWxzbyBhZmZlY3QgdXMgZXZlbiBtb3JlIG1lbnRhbGx5LsKgVGlhOiBZZXMuIFllYWgsIHllYWguIEJlIHJlYWxseSBwcm9hY3RpdmUgYWJvdXQgaGF2aW5nIHlvdXIgdmlsbGFnZSBvciB5b3VyIHRlYW0gcXVldWVkIHVwIGFuZCByZWFkeSB0byBnby4gV2UgYWxzbyBmaW5kIHRoaXMgd2l0aCBtYXNzYWdlIHRoZXJhcGlzdHMsIGNoaXJvcHJhY3RvcnMsIGFuZCBwZWx2aWMgZmxvb3IgUFTigJQgSSBoYXZlIGEgd2hvbGUgbGlzdC4gSeKAmW0gbGlrZSwg4oCcSSBrbm93IGl0IHNlZW1zIGxpa2UgYSBsb3QuIEl0IHNlZW1zIGxpa2UgSeKAmW0gYXNraW5nIHlvdSB0byBzcGVuZCBzbyBtdWNoIG9mIHlvdXIgdGltZSBvbiB0aGlzLOKAnSBidXQgSSBqdXN0IHdhbnQgcGVvcGxlIHRvIGhhdmUgdGhlIGJlc3QgcHJlZ25hbmN5IGFuZCBhIHJlYWxseSBzdXBwb3J0ZWQsIGhhcHB5IHBvc3RwYXJ0dW0gdGhhdCB0aGV5IGNhbi4gSSBmZWVsIGxpa2UgYWxsIG9mIHRoZXNlIHByb3ZpZGVycywgZXNwZWNpYWxseSBteSBWQkFDIG1vbXMgcGxheSBhIGtleSByb2xlIHdpdGggc2NhciB0aXNzdWUgYW5kIGJhYnkgcG9zaXRpb25pbmcgYW5kIHlvdXIgcGVsdmljIGZsb29yLCB5b3UgYXJlIGNvbm5lY3RlZCB3aXRoIGl0IGJlY2F1c2UgaXQgY2FuIGdldCBvZmYgZXZlbiBhZnRlciBhIEMtc2VjdGlvbi7CoEkgaGVhciBhIGxvdCwg4oCcSSBoYWQgYSBDLXNlY3Rpb24uIEkgZGlkbuKAmXQgaGF2ZSBhIHZhZ2luYWwgYmlydGguIFdoeSBkbyBJIG5lZWQgcGVsdmljIGZsb29yIHRoZXJhcHk/4oCdIFdl4oCZcmUgZ29pbmcgdG8gaGF2ZSBhIHdob2xlIGNvbnZlcnNhdGlvbiBhYm91dCB0aGlzLCBidXQgdGhhdCByZWFsbHkgZ29lcyBpbnRvIHRoYXQuIEJ1aWxkaW5nIGFuIGFtYXppbmcgc3VwcG9ydCB0ZWFtIGFuZCBob3cgaW1wb3J0YW50IHRoYXQgaXMuwqA1MTozOCBQcmVwYXJlIHlvdXIgbWluZFRpYTogTGFzdGx5LCBpdOKAmXMgcHJlcGFyaW5nIHlvdXIgbWluZC4gRXZlcnlib2R5IHRoaW5rcyB0aGF0IGhpcmluZyBhIGRvdWxhIGlzIHNvIGhlbHBmdWwgZm9yIHBhaW4gcmVsaWVmIGFuZCBlbmNvdXJhZ2VtZW50IGFuZCBzdWdnZXN0aW5nIHBvc2l0aW9ucyB0byB5b3UsIGJ1dCB3aGVuIEkgbWVhbiB3aXRoIHBlb3BsZSBmb3IgcGxhbm5pbmcgdGhlaXIgYmlydGggaW4gdGhlaXIgcHJlbmF0YWxzLCB3ZSB0YWxrIGFib3V0LCDigJxJIGNhbiBzdWdnZXN0IGFsbCBvZiB0aGUgcG9zaXRpb25zIGluIHRoZSB3b3JsZCBhbmQgeW91IGNhbiBkbyBsdW5nZXMgZXZlcnkgZGF5IGFuZCBiZSBwaHlzaWNhbGx5IHN0cm9uZywgYnV0IGlmIHlvdSBkbyBub3QgcHJlcCB0byBiZSBtZW50YWxseSBwcmVwYXJlZCB0byBnbyB0aHJvdWdoIGJpcnRoIHdoZXRoZXIgdGhhdOKAmXMgYSBWQkFDLCB1bm1lZGljYXRlZCBkZWxpdmVyeSwgb3IgYW55IHR5cGUgb2YgZGVsaXZlcnks4oCdIHBlb3BsZSB0ZW5kIHRvIHBhbmljIHdoZW4gdGhleSBmZWVsIHRoYXQgaW50ZW5zZSBzZW5zYXRpb24uIEl0IGlzbuKAmXQgYSBzZW5zYXRpb24gdGhhdCB5b3UgY2FuIHByZXBhcmUgZm9yIGlmIHlvdSBoYXZlbuKAmXQgZmVsdCBpdCBiZWZvcmUgc28gaWYgeW91IGhhdmUgbm90IHByZXBhcmVkIG9yIHBsYW5uZWQgYSB3YXkgdG8gc3RheSBtaW5kZnVsIGFuZCByZWxheGVkIGFuZCBncm91bmRlZCBhbmQgY29uZmlkZW50IGFuZCB5b3Ugc3RhcnQgdG8gcGFuaWMsIHRoYXQgcmVhbGx5IHJhbXBzIHVwIHlvdXIgZGlzY29tZm9ydCBhbmQgaXTigJlzIHNvIGhhcmQgdG8gZ2V0IG91dCBvZiB0aGF0IGN5Y2xlIG9uY2UgeW914oCZcmUgaW4gaXQuwqBJ4oCZbSBsaWtlLCB5ZXMuIERvIHRoZSBsdW5nZXMuIERvIHRoZSBwcmVuYXRhbCB5b2dhLiBIYXZlIHlvdXIgYm9keSBpbiBhIGdvb2QgcGxhY2UsIGJ1dCBpZiB5b3Ugb25seSBjb3VsZCBwaWNrIG9uZSwgSSB3b3VsZCBzYXkgdG8gdHJhaW4geW91ciBtaW5kLiBTaXQgZG93biBhbmQgZmlndXJlIG91dCB3aGF0IG1ha2VzIHlvdSBmZWVsIGdvb2QgZW1vdGlvbmFsbHksIHdoYXQgbWFrZXMgeW91ciBib2R5IHJlbGF4LCB3aGF0IG1ha2VzIHlvdSBmZWVsIHNhZmUgYW5kIHRocm93IHlvdXJzZWxmIGludG8gdGhhdCBiZWNhdXNlIHRoYXQgaXMgZ29pbmcgdG8gYmUgc28gdmFsdWFibGUgdG8geW91IGluIGxhYm9yLsKgWWVhaC4gVGhhdCBpcyBlc3NlbnRpYWxseSB3aGF0IEkgdGFsayBhYm91dCB3aXRoIGFsbCBvZiBteSBmYW1pbGllcyBpbiBhIHZlcnkgY29uZGVuc2VkIHZlcnNpb24gb2YgbXkgdG9wIHRocmVlIHRpcHMuwqBLZW5kcmE6IFRob3NlIGFyZSBncmVhdC7CoE1lYWdhbjogVGhvc2UgYXJlIHNvIGdyZWF0LiBTbywgc28gZ3JlYXQuIFdoZW4geW91IHRhbGsgYWJvdXQgYnVpbGRpbmcgeW91ciBiaXJ0aCB0ZWFtLCBhIHByb3ZpZGVyIGFuZCBhIGRvdWxhIHJlYWxseSBhcmVu4oCZdCBqdXN0IHRob3NlIHR3byB0aGluZ3MuIEl0IHJlbWluZGVkIG1lIHdoZW4geW91IHdlcmUgc2F5aW5nIHRoYXQgd2hlbiB3ZSBwbGFuIG91ciB3ZWRkaW5ncywgd2UgaGlyZSBjYXRlcmVycyBhbmQgcGhvdG9ncmFwaGVycyBhbmQgZmxvcmlzdHMgYW5kIHZpZGVvZ3JhcGhlcnMgYW5kIHdoYXRldmVyLiBXZSBoaXJlIGFsbCBvZiB0aGUgcGVvcGxlLiBXZSBoaXJlIHRoZSB3aG9sZSB0ZWFtLCBldmVyeXRoaW5nLiBCdXQgdGhlbiBzb21ldGltZXMsIG5vdCBldmVuIGp1c3Qgc29tZXRpbWVzLCBhIGxvdCBvZiB0aGUgdGltZSB3aGVuIHdlIGFyZSBoYXZpbmcgdGhlc2UgYmFiaWVzLCB3ZSBkb27igJl0IHJlYWxseSBwdXQgaXQgYXMgYSBwcmlvcml0eSBsaWtlIHdlIHdvdWxkIGF0IGEgd2VkZGluZy4gV2UgZG9u4oCZdCBsb29rIGF0IHRoYXQgd2hlbiBpdCBpc+KAkyBJIGRvbuKAmXQgd2FudCB0byBzYXkgd2VkZGluZ3MgYXJlbuKAmXQgaW1wb3J0YW50LiBUaGV5IGFyZSBhbWF6aW5nLiBUaGlzIGlzIHdoYXQgc3RhcnRzIGEgbG90IG9mIHRoZSBqb3VybmV5cywgYnV0IHRoaXMgaXMgYSByZWFsbHkgYmlnIGRheS7CoFlvdSBoYXZpbmcgeW91ciBiYWJ5IGlzIGEgcmVhbGx5IGJpZyBkYXkgYW5kIHlvdSBnbyB0aHJvdWdoIGEgbG90IG1lbnRhbGx5IGFuZCBwaHlzaWNhbGx5LiBJdOKAmXMgYWxsIGNvbm5lY3RlZCBzbyB5b3UgZGVzZXJ2ZSB0byBjcmVhdGUgdGhhdCBwb3dlcmhvdXNlIHRlYW0sIHRvIHNlZSBhIG1lbnRhbCB0aGVyYXBpc3QgYW5kIHdvcmsgb24geW91ciBtZW50YWwgaGVhbHRoLCB0byBkbyBhIGNoaXJvcHJhY3RvciwgdGhlIHBlbHZpYyBmbG9vciB0aGVyYXBpc3QsIG1hc3NhZ2UsIHRoZSBudXRyaXRpb25pc3QgZXZlbi4gR2V0IHRoZSBnb29kIG51dHJpZW50cy4gR2V0IHRoZSBnb29kIHRoaW5ncyB0aGF0IHlvdSBuZWVkIGFuZCBiZSBzZXQgdXAgYW5kIG5vdCBoYXZlIHRvIGxvb2sgYmFjayBhbmQgYmUgbGlrZSwg4oCcSSB3aXNoIEkgZGlk4oCdIG9yIOKAnEkgd2lzaCBJIGtuZXfigJ0uIEl04oCZcyBzbyBpbXBvcnRhbnQuIFllYWguIFlvdSBtaWdodCBub3QgbmVlZCBldmVyeSBzaW5nbGUgcGFydCBvZiBpdCBhbG9uZyB0aGUgd2F5IGJ1dCB5b3UgbWlnaHQgbm90IGtub3cgdGhhdCB5b3UgbmVlZCB0aGF0IGluIHRoZSBmdXR1cmUuIEl04oCZcyB0aGVyZS4gSXTigJlzIHJlYWR5IGZvciB5b3UgYW5kIHlvdeKAmXJlIGFuY2hvcmVkIGluLktlbmRyYTogSXTigJlzIGxpa2UgeW91IGRvbuKAmXQga25vdyB3aGF0IHlvdSBkb27igJl0IGtub3cuIEkgYWRkZWQgY2hpcm9wcmFjdGljIGNhcmUgdG8gbXkgc2Vjb25kIHByZWduYW5jeSBiZWNhdXNlIEkgcmVhbGx5IHdhbnRlZCB0byBzdXBwb3J0IGFzIG11Y2ggb3BlbmluZyBpbiBteSBib2R5IGFzIHBvc3NpYmxlIHNvIEkgZGlkbuKAmXQgaGF2ZSBhbm90aGVyIGJyZWVjaC4gQnV0IHRoaXMgZ28gYXJvdW5kLCBJ4oCZdmUgYWRkZWQgdGhlIHBlbHZpYyBmbG9vciBhdCB0aGUgcmVjb21tZW5kYXRpb24gb2YgbXkgbWlkd2lmZSBhbmQgSSBoYWQgdGhpcywg4oCcRXZlcnlib2R5IHBlZXMgYSBsaXR0bGUgYWZ0ZXIgdGhleeKAmXZlIGhhZCBhIGNvdXBsZSBvZiBiYWJpZXMuIEl04oCZcyBmaW5lLCByaWdodD/igJ0gYnV0IHNoZSB3YXMgbGlrZSwg4oCcTm8uIFlvdSBjYW4gaGVhbCB0aGF0LuKAncKgU28gd2hlbiBJIHdlbnQgYW5kIHNhdyB0aGUgcGVsdmljIGZsb29yIHRoZXJhcGlzdCB0aGUgZmlyc3QgdGltZSwgc2hlIHdhcyBsaWtlLCDigJxXaGVuIGRpZCB0aGlzIGJlZ2luP+KAnSBJIHdhcyB0aGlua2luZy4gSSB3YXMgdGhpbmtpbmcuIEkgd2FzIGxpa2UsIOKAnEkgd2FzIGF0IGEgVGF5bG9yIFN3aWZ0IGNvbmNlcnQgYW5kIEkgdHJpZWQganVtcGluZyB1cCBhbmQgZG93biBhbmQgaXQgYWxsIGNhbWUgb3V0LuKAnSBJIHdhcyBnb25lLiBJIHdhcyBnb25lLiBJIHdhcyB0aGVyZSBsYXN0IHdlZWsgYW5kIGRvaW5nIHRoZSBleGVyY2lzZXMgYW5kIEkgZmVsdCB0aGlzIHN1cmdlIG9mIGVtb3Rpb24gb24gdGhlIHdheSBob21lLiBJ4oCZbSBsaWtlLCDigJxLZW5kcmEsIHlvdSBrbm93IHRoaXMuIFlvdSBrbm93IHRoYXQgd2hlbiB5b3Ugd29yayBpbiB0aGUgcGVsdmljIHJlZ2lvbiwgd2hlbiB5b3Ugd29yayBpbiB0aGUgaGlwIHJlZ2lvbiwgdGhlcmUgYXJlIGVtb3Rpb25hbCBtZW1vcmllcyBzdG9yZWQgaW4gdGhhdCBwYXJ0IG9mIHlvdXIgYm9keS7igJ0gUGVsdmljIGZsb29yIHRoZXJhcHkgaXNu4oCZdCBqdXN0IGFib3V0IGVuaGFuY2luZyB5b3VyIHBlbHZpYyBmbG9vci4gSXTigJlzIHRoYXQgd2hvbGUgbGlzdCBvZiBlbmNvbXBhc3NpbmcgY2FyZSwgc28gSeKAmW0gc28gZ2xhZCB5b3Ugc3Bva2UgdG8gdGhhdCBUaWEuwqBUaWE6IFllYWguIFllYWguIEkgZmVlbCBsaWtlIGl0IHJlYWxseSBjbGlja3MgZm9yIHBlb3BsZSB3aGVuIEkgc2F5IGl04oCZcyBhIG1hbnRyYS4gVHJlYXQgeW91ciBiaXJ0aCBsaWtlIGl04oCZcyB5b3VyIHdlZGRpbmcuIFlvdeKAmXJlIGVudGl0bGVkIHRvIGJlIGEgZGl2YSwgYnJpZGV6aWxsYSwgb3Igd2hhdGV2ZXIuIEluIHRoZSBlcXVhdGlvbiBvZiB5b3VyIGJpcnRoLCB5b3Ugd2lsbCByZW1lbWJlciB0d28gZGF5cyBpbiB5b3VyIGxpZmUgb3IgbWF5YmUgdGhyZWUuIEdyYWR1YXRpbmcgZnJvbSBjb2xsZWdlLCB5b3VyIHdlZGRpbmcgZGF5LCBhbmQgdGhlIGRheSB5b3UgZ2l2ZSBiaXJ0aC4gVGhleSB3aWxsIGxpdmUgaW4geW91ciBicmFpbi7CoEJlY2F1c2UgaXTigJlzIGJlZW4gc28gbWVkaWNhbGl6ZWQsIEkgZmVlbCBsaWtlIHdlIGp1c3QgZ2l2ZSBiaXJ0aCBvdmVyLiBXZeKAmXJlIGxpa2UsIOKAnEl04oCZcyBqdXN0IHRoaXMgdGhpbmcgdGhhdCBoYXBwZW5zIHRvIHVz4oCdIGJ1dCB5b3UgZG9u4oCZdCByZWFsaXplIHRoZSBlbW90aW9uIGFuZCB0aGUgbWVtb3J5IGFuZCB0aGUgZmVlbGluZyB5b3Ugd2lsbCBjYXJyeSB3aXRoIHlvdSBqdXN0IGxpa2UgeW91ciB3ZWRkaW5nIGRheSBmb3JldmVyLiBCZSB0aGUgcGVyc29uIHdobyB0cmVhdHMgaXQgbGlrZSB5b3VyIHdlZGRpbmcuIFdoZW4gSSBzYXkgdGhhdCwgdGhleeKAmXJlIGxpa2UsIOKAnE9oIG15IGdvc2guIE9mIGNvdXJzZS4gV2h5IGFtIEkgbm90IGRvaW5nIHRoaXM/4oCdTWVhZ2FuOiBZZXMuIEV4YWN0bHkgdGhvdWdoLiBEbyBpdC4gV29tZW4gb2YgU3RyZW5ndGgsIHlvdSBkZXNlcnZlIGl0LiBQdXQgeW91cnNlbGYgaW4gdGhhdCBsaW5lIG9mIGJlaW5nIGZpcnN0LiBJdOKAmXMgb2theS4gSXTigJlzIG9rYXkuIEkgbG92ZSB0aGF0IHlvdeKAmXJlIGxpa2UgdGhlIGJpcnRoLXppbGxhLiBXaGF0IGRvIHdlIG5lZWQgdG8gYmU/IEkgZG9u4oCZdCBrbm93IHdoYXQgd2UgbmVlZCB0byBiZSwgYnV0IHlvdSBkZXNlcnZlIGl0LCBhbmQgb2ggbXkgZ29zaC4gR3JlYXQgdGlwcy4gQW1hemluZyBzdG9yeS4gUG9zc2libGUgc3Bpbi1vZmYgaGVyZS4gQWxsIG9mIHRoZSBnb29kIHRoaW5ncyBoYXBwZW5pbmcgdG9kYXkgaGVyZSBvbiBUaGUgVkJBQyBMaW5rIFBvZGNhc3QuwqBDbG9zaW5nV291bGQgeW91IGxpa2UgdG8gYmUgYSBndWVzdCBvbiB0aGUgcG9kY2FzdD8gVGVsbCB1cyBhYm91dCB5b3VyIGV4cGVyaWVuY2UgYXQgdGhldmJhY2xpbmsuY29tL3NoYXJlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBhbGwgdGhpbmdzIFZCQUMgaW5jbHVkaW5nIG9ubGluZSBhbmQgaW4tcGVyc29uIFZCQUMgY2xhc3NlcywgVGhlIFZCQUMgTGluayBibG9nLCBhbmQgTWVhZ2Fu4oCZcyBiaW8sIGhlYWQgb3ZlciB0byB0aGV2YmFjbGluay5jb20uIENvbmdyYXR1bGF0aW9ucyBvbiBzdGFydGluZyB5b3VyIGpvdXJuZXkgb2YgbGVhcm5pbmcgYW5kIGRpc2NvdmVyeSB3aXRoIFRoZSBWQkFDIExpbmsuU3VwcG9ydCB0aGlzIHBvZGNhc3QgYXQg4oCUIGh0dHBzOi8vcmVkY2lyY2xlLmNvbS90aGUtdmJhYy1saW5rL2RvbmF0aW9uc0FkdmVydGlzaW5nIElucXVpcmllczogaHR0cHM6Ly9yZWRjaXJjbGUuY29tL2JyYW5kcyIsImR1cmF0aW9uIjp7InRvdGFsTWlsbGlzZWNvbmRzIjozNDQ4MTExfSwiaWQiOiI2UXIzekU2Q2c3NGRReVk3c0NzRnRWIiwibWVkaWFUeXBlcyI6WyJBVURJTyJdLCJuYW1lIjoiRXBpc29kZSAyOTUgRHIuIEtlbmRyYSdzIEVtcG93ZXJpbmcgSEJBQyArIFRpcHMgRnJvbSBhIFZCQUMgRG91bGEiLCJwbGF5YWJpbGl0eSI6eyJwbGF5YWJsZSI6dHJ1ZSwicmVhc29uIjoiUExBWUFCTEUifSwicGxheWVkU3RhdGUiOnsicGxheVBvc2l0aW9uTWlsbGlzZWNvbmRzIjowLCJzdGF0ZSI6Ik5PVF9TVEFSVEVEIn0sInBvZGNhc3RWMiI6eyJfX3R5cGVuYW1lIjoiUG9kY2FzdFJlc3BvbnNlV3JhcHBlciIsImRhdGEiOnsiX190eXBlbmFtZSI6IlBvZGNhc3QiLCJjb3ZlckFydCI6eyJzb3VyY2VzIjpbeyJoZWlnaHQiOjY0LCJ1cmwiOiJodHRwczovL2kuc2Nkbi5jby9pbWFnZS9hYjY3NjU2MzAwMDBmNjhkYmI1Zjc2YmE0MzJkZmMzMDNmMzdmODA2Iiwid2lkdGgiOjY0fSx7ImhlaWdodCI6MzAwLCJ1cmwiOiJodHRwczovL2kuc2Nkbi5jby9pbWFnZS9hYjY3NjU2MzAwMDA1ZjFmYmI1Zjc2YmE0MzJkZmMzMDNmMzdmODA2Iiwid2lkdGgiOjMwMH0seyJoZWlnaHQiOjY0MCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwYmE4YWJiNWY3NmJhNDMyZGZjMzAzZjM3ZjgwNiIsIndpZHRoIjo2NDB9XX0sIm5hbWUiOiJUaGUgVkJBQyBMaW5rIiwic2hvd1R5cGVzIjpbXSwidXJpIjoic3BvdGlmeTpzaG93OjM2YlZ4cU9HZDFFWWNSMG9KdGVGNW4ifX0sInJlbGVhc2VEYXRlIjp7Imlzb1N0cmluZyI6IjIwMjQtMDQtMjlUMTI6MDA6MDBaIn0sInJlc3RyaWN0aW9ucyI6eyJwYXl3YWxsQ29udGVudCI6ZmFsc2V9LCJ1cmkiOiJzcG90aWZ5OmVwaXNvZGU6NlFyM3pFNkNnNzRkUXlZN3NDc0Z0ViJ9LHsiX190eXBlbmFtZSI6IkVwaXNvZGUiLCJhdWRpbyI6eyJpdGVtcyI6W3siZmlsZUlkIjoiNTg4MjdjYmFkNDM1NmU4MzczM2FiMzBjYTkxMzI5YjM0MjVlN2Y1NSIsImZvcm1hdCI6IkFBQ18yNCIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3LzU4ODI3Y2JhZDQzNTZlODM3MzNhYjMwY2E5MTMyOWIzNDI1ZTdmNTUifSx7ImZpbGVJZCI6IjA1YzVjNmM3MTJlNjczMTA2MGIzODk3Y2JmOGMxODgzM2EyMDNlYjUiLCJmb3JtYXQiOiJPR0dfVk9SQklTXzk2IiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvMDVjNWM2YzcxMmU2NzMxMDYwYjM4OTdjYmY4YzE4ODMzYTIwM2ViNSJ9LHsiZmlsZUlkIjoiNDE2MTExNTAzNzkxOTJlMmIyYzNlYzJkMDJhZjE4NWJkNDdmODkyYSIsImZvcm1hdCI6Ik1QNF8xMjgiLCJ1cmwiOiJodHRwczovL3Auc2Nkbi5jby9tcDMtcHJldmlldy80MTYxMTE1MDM3OTE5MmUyYjJjM2VjMmQwMmFmMTg1YmQ0N2Y4OTJhIn0seyJmaWxlSWQiOiIyNGMxNjZlNGNlMmFmYjAxNWRjNTA3M2Y5N2U4YTBkNzU0YmRkM2YxIiwiZm9ybWF0IjoiTVA0XzEyOF9EVUFMIiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvMjRjMTY2ZTRjZTJhZmIwMTVkYzUwNzNmOTdlOGEwZDc1NGJkZDNmMSJ9LHsiZmlsZUlkIjoiZDc4YzBiZDBiMzA3OWYwZGI0MDljYzU3ZmYzODM4ZmI2YzEwODM3YiIsImZvcm1hdCI6Ik1QNF8xMjhfQ0JDUyIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3L2Q3OGMwYmQwYjMwNzlmMGRiNDA5Y2M1N2ZmMzgzOGZiNmMxMDgzN2IifV19LCJjb250ZW50UmF0aW5nIjp7ImxhYmVsIjoiTk9ORSJ9LCJjb3ZlckFydCI6eyJzb3VyY2VzIjpbeyJoZWlnaHQiOjY0LCJ1cmwiOiJodHRwczovL2kuc2Nkbi5jby9pbWFnZS9hYjY3NjU2MzAwMDBmNjhkZGYzNWFmOGUwZDgwYjcxMzg4ZjdhNjQyIiwid2lkdGgiOjY0fSx7ImhlaWdodCI6MzAwLCJ1cmwiOiJodHRwczovL2kuc2Nkbi5jby9pbWFnZS9hYjY3NjU2MzAwMDA1ZjFmZGYzNWFmOGUwZDgwYjcxMzg4ZjdhNjQyIiwid2lkdGgiOjMwMH0seyJoZWlnaHQiOjY0MCwidXJsIjoiaHR0cHM6Ly9pLnNjZG4uY28vaW1hZ2UvYWI2NzY1NjMwMDAwYmE4YWRmMzVhZjhlMGQ4MGI3MTM4OGY3YTY0MiIsIndpZHRoIjo2NDB9XX0sImRlc2NyaXB0aW9uIjoiSGF5bGV5IGpvaW5zIHRoZSBzaG93IHRvZGF5IHNoYXJpbmcgaGVyIGJyZWVjaCBDZXNhcmVhbiBhbmQgdW5tZWRpY2F0ZWQgaG9zcGl0YWwgVkJBQyBzdG9yaWVzLiBNZWFnYW4gYW5kIEhheWxleSBkaXZlIGRlZXAgaW50byB0aGUgcHJvcyBhbmQgY29ucyBvZiBnZXR0aW5nIGFuIGVwaWR1cmFsIGFuZCB3aHkgcHJvdmlkZXJzIHRlbGwgd29tZW4gc28gbWFueSBkaWZmZXJlbnQgdGhpbmdzIHdoZW4gaXQgY29tZXMgdG8gZXBpZHVyYWxzIGFuZCBWQkFDIVdoaWxlIEhheWxleSBoYWQgdGhlIGRyZWFtaWVzdCBiaXJ0aCBzaGUgY291bGQgaGF2ZSBpbWFnaW5lZCBhbmQgZXZlcnl0aGluZyB3ZW50IGFjY29yZGluZyB0byBwbGFuLCBoZXIgcG9zdHBhcnR1bSBleHBlcmllbmNlIHdpdGggcHJvbGFwc2Ugd2FzIG5vdCBzb21ldGhpbmcgc2hlIHdhcyBwcmVwYXJlZCBmb3IuIEhheWxleSBzaGFyZXMgaGVyIHN5bXB0b21zLCB3aGF0IHNoZSB3aXNoZWQgc2hlIGtuZXcsIGFuZCB3aGF0IHNoZSBoYXMgZG9uZSBzaW5jZSB0byByZWNvdmVyIGFuZCBmZWVsIGxpa2UgaGVyc2VsZiBhZ2Fpbi7CoE5lZWRlZCBXZWJzaXRlSG93IHRvIFZCQUM6IFRoZSBVbHRpbWF0ZSBQcmVwIENvdXJzZSBmb3IgUGFyZW50c0Z1bGwgVHJhbnNjcmlwdCB1bmRlciBFcGlzb2RlIERldGFpbHPCoDAyOjQ3IEp1c3QtaW4tY2FzZSBlcGlkdXJhbDA0OjE2IERyLiBNY0d1aXJl4oCZcyBpbnNpZ2h0IG9uIGVwaWR1cmFsczA4OjQyIFVzaW5nIGFuIGVwaWR1cmFsIGFzIGEgdG9vbDEwOjQ0IEhheWxleeKAmXMgZmlyc3QgcHJlZ25hbmN5IGFuZCBiaXJ0aDEyOjAwIERvaW5nIFZCQUMgcmVzZWFyY2ggYmVmb3JlIHByZWduYW5jeTEzOjUxIEhheWxleeKAmXMgc2Vjb25kIHByZWduYW5jeTE4OjE1IExhYm9yIGJlZ2luczIwOjE2IEdvaW5nIHRvIHRoZSBob3NwaXRhbDI0OjIwIFB1c2hpbmcyNzowNSBIYXlsZXnigJlzIHByb2xhcHNlIGV4cGVyaWVuY2UzMjowMSBTeW1wdG9tcyBvZiB1dGVyaW5lIHByb2xhcHNlMzU6MjkgUHJvbGFwc2UgY2FuIGhhcHBlbk1lYWdhbjogSGVsbG8sIGhlbGxvIFdvbWVuIG9mIFN0cmVuZ3RoLiBZb3UgZ3V5cywgSSBhbSBleGNpdGVkIGFib3V0IHRvZGF54oCZcyBlcGlzb2RlLiBJIGxvdmUgdGFsa2luZyBhYm91dCBWQkFDIG9idmlvdXNseSwgYnV0IHNwZWNpZmljYWxseSwgd2UgYXJlIGdvaW5nIHRvIHRhbGsgYSBsaXR0bGUgYml0IGFib3V0IHVubWVkaWNhdGVkIHZlcnN1cyBtZWRpY2F0ZWQuIE91ciBmcmllbmQsIEhheWxleSwgZnJvbSBOb3J0aCBDYXJvbGluYSBoYXMgaGFkIGEgYmVhdXRpZnVsIHVubWVkaWNhdGVkIGhvc3BpdGFsIFZCQUMgc28gSSB3YW50IHRvIGFsc28gdGFsayBhYm91dCB0aGUgb3Bwb3NpdGUgc2lkZSBvZiB0aGF0IGFuZCB0YWxrIGFib3V0IG1lZGljYXRlZCBWQkFDLsKgV2UgaGF2ZSBzbyBtYW55IHBlb3BsZSBpbiBvdXIgY29tbXVuaXR5IHRoYXQgSSBzZWUgdHlwZSwg4oCcSSB3YW50IGEgVkJBQywgYnV0IEkgZG9u4oCZdCB3YW50IHRvIGdvIHVubWVkaWNhdGVkIGFuZCBteSBkb2N0b3Igc2F5cyBJIGhhdmUgdG8uIEkgY2Fu4oCZdCBoYXZlIGFuIGVwaWR1cmFs4oCdIG9yIHRoZSB0b3RhbCBmbGlwc2lkZSBvZiB0aGF0IHdoZXJlLCDigJxJIHJlYWxseSB3YW50IGFuIHVubWVkaWNhdGVkIFZCQUMsIGJ1dCBteSBkb2N0b3Igc2F5cyBJIGNhbuKAmXQgZ28gdW5tZWRpY2F0ZWQuIEkgaGF2ZSB0byBoYXZlIHRoZSBlcGlkdXJhbC7igJ0gRGlkIEkganVzdCBzYXkgdGhhdCBjb3JyZWN0bHksIEhheWxleT/CoEhheWxleTogWWVzLCB5ZWFoLsKgTWVhZ2FuOiBJdOKAmXMgZWl0aGVyIG9uZSBvciB0aGUgb3RoZXIuIFdl4oCZdmUgZ290IHByb3ZpZGVycyB0ZWxsaW5nIHBlb3BsZSB0aGV5IGNhbuKAmXQgaGF2ZSBhbiBlcGlkdXJhbCBvciB0aGV5IGhhdmUgdG8gaGF2ZSBhbiBlcGlkdXJhbC4gU28gSSB3YW50ZWQgdG8ganVzdCB0YWxrIGEgbGl0dGxlIGJpdCB0b2RheSBiZWZvcmUgd2UgZ2V0IGdvaW5nIG9uIHRob3NlIHR3byB0b3BpY3MuwqBGaXJzdCBvZiBhbGwsIGxldOKAmXMgdGFsayBhYm91dCB1bm1lZGljYXRlZCBiaXJ0aC4gSGF5bGV5IGFuZCBJIGFyZSBsaXZpbmcgcHJvb2YgdG9kYXkuIFdlIGFyZSBvbiB0aGlzIGVwaXNvZGUgdGhhdCB1bm1lZGljYXRlZCBWQkFDIGlzIDEwMCUgcG9zc2libGUsIGFjaGlldmFibGUsIGFuZCBzYWZlLiBBIGxvdCBvZiB0aG9zZSBwcm92aWRlcnMgY29tZSBvdXQgYW5kIHNheSB0aGF0IHRoZXkgY2Fu4oCZdCBnbyB1bm1lZGljYXRlZCBiZWNhdXNlIHRoZXkgc2F5IGl04oCZcyBub3Qgc2FmZS4gSW4gdGhlIHJhcmUgY2hhbmNlLCB3ZSBrbm93IHRoYXQgdXRlcmluZSBydXB0dXJlIGhhcHBlbnMgYnV0IGl0IGlzIHJhcmUuIEluIHRoZSByYXJlIGNoYW5jZSBvZiBhIHV0ZXJpbmUgcnVwdHVyZSwgdGhhdCBpcyB3aGVyZSB0aGV5IHNheSB0aGF0IGlzIG5vdCBva2F5LsKgT3IgdGhleSB3aWxsIHNheSB0aGluZ3MgbGlrZSwg4oCcQnV0IHlvdSB3b3VsZG7igJl0IHdhbnQgdG8gYmUga25vY2tlZCBvdXQgZm9yIHlvdXIgYmlydGgs4oCdIHdoaWNoIGlzIHNjYXJ5LiBJIGRvbuKAmXQgd2FudCB0byBiZSBrbm9ja2VkIG91dCBmb3IgbXkgYmlydGggYW5kIEkga25vdyBwZW9wbGUgaGF2ZS4gQSBsb3Qgb2YgdGhlIHRpbWUsIGl0IGlzIG5vdCB0aGUgbW9zdCBwbGVhc2FudCBleHBlcmllbmNlLiBZZWFoLiBPa2F5LCBzbyBsZXTigJlzIHRhbGsgYWJvdXQgdGhhdC7CoFVubWVkaWNhdGVkIHZhZ2luYWwgYmlydGggaXMgdW5tZWRpY2F0ZWQgdmFnaW5hbCBiaXJ0aC4gVGhhdOKAmXMgd2hhdCBpdCBpcy4gSeKAmW0ganVzdCBsYXlpbmcgaXQgb3V0IHRoZXJlLiBZZXMsIHdlIGhhdmUgYSBzbGlnaHQgaW5jcmVhc2UgaW4gdXRlcmluZSBydXB0dXJlLiBZZXMuIFdoYXQgaGFwcGVucyBpZiB3ZSBoYXZlIGEgdXRlcmluZSBydXB0dXJlIGFuZCB3ZSBhcmUgdW5tZWRpYXRlZD/CoEEgbG90IG9mIHRoZSB0aW1lLCB3ZSBhcmUgbm90aWNpbmcgdGhhdCB0aGVyZSBhcmUgc2lnbnMgb2YgdXRlcmluZSBydXB0dXJlLiBXaGVuIHdlIGdldCBhbiBlcGlkdXJhbCBhbmQgYSBzcGluYWwsIHdlIGdvIGJhY2sgYW5kIGhhdmUgYSBDLXNlY3Rpb24uIFNpbXBsZSBhcyB0aGF0LsKgT3IgaWYgaXQgaXMgYSB0cnVlIG1lZGljYWwgZW1lcmdlbmN5LCB5ZXMsIHRoZXJlIGlzIHRoYXQgc21hbGwgcmlzayBvZiBuZWVkaW5nIHRvIGJlIHB1dCB1bmRlci4gU21hbGwgcmlzayBhbmQgc21hbGwgcmlzayBlcXVhbCByaXNrIG9mIGNvdXJzZSwgYnV0IGl04oCZcyBsb3cuwqAwMjo0NyBKdXN0LWluLWNhc2UgZXBpZHVyYWxNZWFnYW46IFdoYXQgYWJvdXQgaWYgd2UgaGF2ZSB0aGUganVzdC1pbi1jYXNlIGVwaWR1cmFsPyBJIHNlcmlvdXNseSBzb21ldGltZXMganVzdCB3YW50IHRvIHNvY2sgc29tZW9uZSB3aG8gc2F5cyDigJxKdXN0IGluIGNhc2XigJ0uIFdlIGRvbuKAmXQgbmVlZCB0byBiZSBwbGFjaW5nIGFuIGVwaWR1cmFsIGp1c3QgdG8gaGF2ZSBpdCByZWFkeSB0byBkb3NlIGJlY2F1c2UgZ3Vlc3Mgd2hhdD8gSW4gdGhlIGV2ZW50IHRoYXQgaXQgaXMgYSB0cnVlIGVtZXJnZW5jeSBhbmQgd2UgcmVhbGx5IGRvIG5lZWQgdG8gZ28gaW4gZm9yIGFuIGltbWVkaWF0ZSBDZXNhcmVhbiwgaXTigJlzIHRoZSBzYW1lIHRoaW5nLiBXZSBnZXQga25vY2tlZCBvdXQuwqBJIGtub3cgdGhhdCB0aGVzZSB3b3JkcyBhcmUga2luZCBvZiBiaWcgYW5kIGhhcnNoIHdvcmRzLiBXZSBnZXQga25vY2tlZCBvdXQsIGJ1dCB3ZSBnZXQgcHV0IHVuZGVyIGdlbmVyYWwgYW5lc3RoZXNpYSBpZiB3ZSBkb27igJl0IGhhdmUgYW55dGhpbmcgaW4gb3VyIHN5c3RlbS7CoE5vdywgbGV04oCZcyB0YWxrIGFib3V0IGFuIGVwaWR1cmFsLiBZb3UgYWN0dWFsbHkgaGF2ZSBhbiBlcGlkdXJhbCBwbGFjZWQuIEl04oCZcyBydW5uaW5nLiBJdOKAmXMgZG9zZWQgYW5kIHdlIGhhdmUgYSB1dGVyaW5lIHJ1cHR1cmUuIEd1ZXNzIHdoYXQ/IFdvbWVuIG9mIFN0cmVuZ3RoLCBtb3JlIHRoYW4gbGlrZWx5LCBpdCBzdGlsbCBoYXMgdG8gYmUgZG9zZWQgZnVydGhlciBiZWNhdXNlIGFuIGVwaWR1cmFsIGlzIG5vdCBsaWtlIGEgc3BpbmFsLiBJdOKAmXMganVzdCBub3QuIFRoZXkgaGF2ZSB0byBkb3NlIGl0IGZ1cnRoZXIuwqBXaXRoIG15IGZpcnN0IENlc2FyZWFuLCBJIGhhZCBhbiBlcGlkdXJhbC4gVGhleSBoYWQgdG8gY29tZSBpbiwgZG9zZSBpdCB0byBhIGRlZXBlciBleHRyZW1lIHNvIEkgd2FzbuKAmXQgZmVlbGluZyBteSBzdXJnZXJ5IGFuZCBJIGhhZCB0byB3YWl0LiBSaWdodD8gV2UgYXJlIHN0aWxsIHdhaXRpbmcuIEl04oCZcyB0aGUgc2FtZSB0aGluZy4gVGhlcmUgaXMgYWx3YXlzIGEgd2FpdCBhbmQgaXQgdGFrZXMgdGltZS4gSXQgdGFrZXMgYWJvdXQgMTUtMjAgbWludXRlcyBmb3IgYW55IGVwaWR1cmFsIHRvIGtpY2sgaW4gZGVlcCBlbm91Z2guwqAwNDoxNiBEci4gTWNHdWlyZeKAmXMgaW5zaWdodCBvbiBlcGlkdXJhbHNNZWFnYW46IERyLiBNY0d1aXJlIHdyb3RlIGZvciBZYWxlIE1lZGljaW5lLiBTaGUgdGFsa3MgYWJvdXQgdGhpcyBlcGlkdXJhbCBhbmQgaXMgaXQgc2FmZSBhbmQgaG93IGFyZSB0aGV5IGRpZmZlcmVudC4gU2hlIHRhbGtzIGFib3V0IGhvdyB0aGV5IHRydWx5IGFyZSBkaWZmZXJlbnQgdGhhbiB0aGV5IHdlcmUgYmFjayBpbiB0aGUgZGF5IGJlY2F1c2UgdGhleSBhcmUgZG9zaW5nIHRoZW0gbGlnaHRlci4gV2Uga25vdyB0aGF0LiBXZSBoYXZlIHNlZW4gdGhhdCwgYnV0IHdlIHN0aWxsIGhhdmUgc29tZSBwcmV0dHkgc2VyaW91cyByaXNrcyBhcyB3ZWxsIHdpdGggZXBpZHVyYWxzIGV2ZW4gdGhvdWdoIGFnYWluLCB0aGV5IGFyZSBzbWFsbGVyLiBUaGVyZSBhcmUgYmxvb2QgY2xvdHMsIHNwaW5hbCBpbmZlY3Rpb25zLCBzcGluYWwgaGVhZGFjaGVzLCB0aGVtIG5vdCB3b3JraW5nLCBhbmQgdGhpbmdzIGxpa2UgdGhhdCwgYW5kIGJsb29kIHByZXNzdXJlLsKgSeKAmW0gZ29pbmcgdG8gc2F5IGFzIGEgZG91bGEsIEnigJl2ZSBhdHRlbmRlZCBvdmVyIDM1MCBiaXJ0aHMuIEFzIGEgZG91bGEsIEkgd2lsbCBzYXkgYSBsYXJnZSBwb3J0aW9uIG9mIGFueSBjbGllbnQsIG5vdCBqdXN0IFZCQUMsIHdobyByZWNlaXZlcyBhbiBlcGlkdXJhbCBoYXMgYSBibG9vZCBwcmVzc3VyZSBkaXAuIEV2ZW4gd2hlbiB0aGV5IGhhdmUgYSBsYXJnZSBhbW91bnQgb2YgZmx1aWQgYmVjYXVzZSBhIGxvdCBvZiB0aGUgdGltZSB0aGV5IHdpbGwgY3JhbSBmbHVpZHMgaW4gdG8gdHJ5IHRvIGhlbHAgdGhpcywgYnV0IHRoZXJlIGlzIHNvbWUgc29ydCBvZiBibG9vZCBwcmVzc3VyZSBkaXAgYW5kIGJhYnkgc2VlbXMgdG8gc3RydWdnbGUgd2hlbiB0aGF0IGhhcHBlbnMuwqBUaGVuIGl04oCZcyB0aGUgY2FzY2FkZeKAkyByb2xsaW5nIG92ZXIsIG1vdmUsIG1vdmUsIG1vdmUsIG1vdmUuIEJhYnkgZG9lc27igJl0IHJlY292ZXIgb3IgbW9t4oCZcyBibG9vZCBwcmVzc3VyZSBkb2VzbuKAmXQgcmVjb3ZlciBhbmQgd2UgYXJlIG9mZiB0byBhbiBPUi7CoE9uZSBvZiB0aGUgYmlnZ2VzdCBxdWVzdGlvbnMgdGhhdCBJIHRoaW5rIGlzIGEgcmVhbGx5IGhvdCBkZWJhdGUgaW4gdGhlIG1lZGljYWwgd29ybGQgaXMgZG9lcyBhbiBlcGlkdXJhbCByYWlzZSB5b3VyIGNoYW5jZXMgb2YgYSBDZXNhcmVhbj8gTW9zdCBwZW9wbGUgb3V0IHRoZXJlIGFyZSBnb2luZyB0byBzYXksIOKAnE5vLCBpdCBkb2VzbuKAmXQu4oCdIFRoZSBzdHVkaWVzIGFyZSBwcmV0dHkgbG93LCB0aG91Z2guIEkgdGhpbmsgaW4gb25lIHN0dWR5IHRoZXJlIHdlcmUgMiwwMDAgcGVvcGxlIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQgYW5kIHRoZXkgc2hvd2VkIGl0IGRpZG7igJl0LsKgQnV0IEkgbWVhbiwgZnJvbSBhIGRvdWxh4oCZcyBzdGFuZHBvaW50LCBJIGtub3cgSSBkb27igJl0IHNlZSBhcyBtYW55IGJpcnRocyBhcyB0aGVzZSBPQnMsIGJ1dCBJIGRlZmluaXRlbHkgc2VlIGl0IHNlZW1zIHRvIGRvIHRoYXTigJMgdGhlIGJsb29kIHByZXNzdXJlIGRyb3AgdGhpbmcuIFNvIGlzIGl0IHNhZmU/IFllcy4gRG8geW91IGhhdmUgdG8gZ28gdW5tZWRpY2F0ZWQgaWYgeW91IGhhdmUgYSBWQkFDPyBOby4gRG8geW91IGhhdmUgdG8gZ2V0IGFuIGVwaWR1cmFsIGlmIHlvdSBoYXZlIGFuIGVwaWR1cmFsPyBOby4gRG8gd2hhdCBpcyBiZXN0IGZvciB5b3UuwqBXaGF0IHNoZSBzYXlzIGlzLCDigJxUaG9zZSBzdHVkaWVzIHdlIGtub3cgdGhhdCBoYXZlIGEgaGlnaGVyIGNvbmNlbnRyYXRpb24gb2YgZXBpZHVyYWwgbWVkaWNpbmUgd2FzIGFzc29jaWF0ZWQgd2l0aCBhbiBpbmNyZWFzZWQgcmlzayBvZiBDZXNhcmVhbiwgdGhvdWdoIGxvd2VyIGNvbmNlbnRyYXRpb24gd2Ugbm93IHVzZSBhY3R1YWxseSBwcm9tb3RlcyBub3JtYWwsIHNwb250YW5lb3VzIHZhZ2luYWwgZGVsaXZlcnkgd2l0aG91dCBhc3Npc3RhbmNlLuKAnSBXaGVuIHNoZSBzYXlzIGFzc2lzdGFuY2UsIGEgbG90IG9mIHRoZSB0aW1lIHdoZW4gd2UgaGF2ZSBlcGlkdXJhbHMsIHdlIGhhdmUgdmFjdXVtIG9yIGZvcmNlcHMgYXNzaXN0YW5jZSBiZWNhdXNlIHdlIGhhdmUgbGFjayBvZiBtb2JpbGl0eS7CoFRoYXTigJlzIHdoYXQgc2hlIHdhcyBzYXlpbmcgaGVyZS4gSSB3YW50IHRvIG1ha2Ugc3VyZSB0byBwcm92aWRlIHRoZSBsaW5rIGFuZCBzb21lIG90aGVyIGxpbmtzIG9uIG91ciBibG9nIGZvciBlcGlkdXJhbHMgc28geW91IGNhbiBkZWNpZGUgd2hhdCBpcyBiZXN0IGZvciB5b3UuIEJ1dCBmb3Igbm93LCB3ZSBhcmUgZ29pbmcgdG8gZ2V0IGludG8gYSBzdG9yeSBvZiBhbiB1bm1lZGljYXRlZCwgdmFnaW5hbCBiaXJ0aC7CoDA4OjQyIFVzaW5nIGFuIGVwaWR1cmFsIGFzIGEgdG9vbE1lYWdhbjogT2theSwgTXMuIEhheWxleS4gV2VsY29tZSB0byB0aGUgc2hvdy7CoEhheWxleTogVGhhbmsgeW91IGZvciBoYXZpbmcgbWUuIEl04oCZcyByZWFsbHkgY3JhenkgdG8gYmUgb24gaGVyZSBzaGFyaW5nIHNvIHRoYW5rIHlvdS7CoE1lYWdhbjogSSB0YWxrIGFib3V0IGhvdyBpdOKAmXMgY3JhenkgdG8gYmUgZnVsbC1jaXJjbGUgd2hlcmUgeW91IGFyZSBsaXN0ZW5pbmcuIFlvdSBhcmUgcHJlcGFyaW5nLiBBbGwgb2YgdGhlIHBlb3BsZSBpbiB5b3VyIGVhciBhcmUgbW90aXZhdGluZyBhbmQgdGhlbiBoZXJlIHlvdSBhcmUgdG9kYXkgc2hhcmluZyB5b3VyIHN0b3J5IG1vdGl2YXRpbmcgb3RoZXJzIGluIHlvdXIgc2FtZSBzcGFjZSB4LCB5LCB6IG1vbnRocyBhZ28uwqBIYXlsZXk6IFllYWguIEl04oCZcyBjcmF6eS4gSXQgcmVhbGx5IGlzIGEgZnVsbC1jaXJjbGUgbW9tZW50IGxpa2UgeW91IG1lbnRpb25lZC7CoE1lYWdhbjogWWVhaC4gV2VsbCwgSSBhbSBzbyBob25vcmVkIHRoYXQgeW91IGFyZSBoZXJlLiBJIHdvdWxkIGxvdmUgdG8gdHVybiB0aGUgdGltZSBvdmVyIHRvIHlvdS7CoEhheWxleTogU3VyZS4gU28geWVhaCwgSSBhbHNvIGxvdmUgd2hhdCB5b3Ugd2VyZSBzYXlpbmcgcmVhbGx5IHF1aWNrbHkgb24gdGhlIGVwaWR1cmFsIHZlcnN1cyBub3QuIEZ1bGwgdHJhbnNwYXJlbmN5LCB3aGVuIEkgd2VudCBpbnRvIHRoaXMsIEkgZGVmaW5pdGVseSByZWNvZ25pemVkIHRoYXQgYW4gZXBpZHVyYWwgaXMgYSB0b29sIGFuZCBJIGtuZXcgYW5kIHdhbnRlZCB0byBwcmVwYXJlIG15c2VsZi4gSWYgSSBhbeKAkyBvYnZpb3VzbHksIGJpcnRoIGlzIG5vdCBwbGVhc2FudC4gSXTigJlzIG5vdCBnb2luZyB0byBiZSBhIHdhbGsgaW4gdGhlIHBhcmsuIEJ1dCBJIGtuZXcgdGhlcmUgd2FzIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIGJlaW5nIGluIHBhaW4gdmVyc3VzIHN1ZmZlcmluZy4gSSByZWFsbHkgd2FudGVkIHRvIGtub3cgdGhhdCBmb3IgbXlzZWxmLiBJdCBpZiB0dXJuZWQgaW50byB0aGF0IHN1ZmZlcmluZywgSSB3b3VsZG7igJl0IGhhdmUgYmVlbiBvcHBvc2VkIHRvIGhlbHBpbmcgbXkgYm9keSB0byBnZXQgbXkgYmFieS7CoE1lYWdhbjogVG8gdGhlIG5leHQgcG9pbnQsIHllYWguwqBIYXlsZXk6IEJ1dCB0aGVyZSBpcyBhIGRpZmZlcmVuY2UgYmV0d2VlbiBiZWluZyBpbiBwYWluIGFuZCBzdWZmZXJpbmcuwqBNZWFnYW46IEFzIGEgZG91bGEsIHdlIHRhbGsgYWJvdXQgdGhhdCBhIGxvdCB3aGVyZSB3ZSBhcmUgbGlrZSwgb2theS4gV2UgYXJlIHBsYW5uaW5nIHRvIGdvIHVubWVkaWNhdGVkLiBUaGF0IGlzIGZhbnRhc3RpYyBhbmQgdGhlbiB3ZSB0YWxrIGFib3V0IHRoYXQgcGFpbiB2ZXJzdXMgc3VmZmVyaW5nIGFuZCB0aGF0IHRyYW5zaXRpb24gYmVjYXVzZSB3aGVuIHdlIGFyZSBzdWZmZXJpbmcsIHdlIHN0YXJ0IGhhdmluZyB0aGluZ3MgdGhhdCBjb21lIHVwIGxhdGVyLiBXZSBkb27igJl0IHRoaW5rIGFib3V0IGl0LiBXZSBhcmUgc3VmZmVyaW5nIG5vdywgYnV0IHBvc3RwYXJ0dW0gZGVwcmVzc2lvbiwgcG9zdHBhcnR1bSBhbnhpZXR5LCBhbmQgcG9zdHBhcnR1bSB0cmF1bWEuIFdlIGhhdmUgdGhlc2UgdGhpbmdzIHRoYXQgYXJlIG5vdCB3b3J0aCBpdCwgc28gaW4gdGhlIGVuZCwgeW91IGhhdmUgdG8gZG8gd2hhdOKAmXMgYmVzdCBmb3IgeW91IGFuZCBrZWVwIHlvdSBpbiB0aGF0IHBvc2l0aXZlIHNwYWNlIGFuZCByZWNvZ25pemUgcGFpbiB2ZXJzdXMgc3VmZmVyaW5nLsKgSGF5bGV5OiBZZWFoLiBFeGFjdGx5LCBzbyBJIGxvdmUgdGhhdC7CoDEwOjQ0IEhheWxleeKAmXMgZmlyc3QgcHJlZ25hbmN5IGFuZCBiaXJ0aEhheWxleTogVG8gc3RhcnQgdGhpcyB3aG9sZSBzdG9yeSBJIGd1ZXNzLCBpcyBiYWNrIGluIEFwcmlsIDIwMjEsIEkgaGFkIG15IGRhdWdodGVyLiBTaGUgd2FzIGJyZWVjaC4gRm9yIG1lLCBJIGtuZXcgcHJldHR5IGVhcmx5IG9uIHRoYXQgc2hlIHdhcyBicmVlY2guIFNoZSB3YXMgc28gYWN0aXZlLiBJIGtuZXcgdGhhdCwg4oCcT2gsIHlvdSBhcmUgdHJ5aW5nIHRvIGZsaXAgaW4gdGhlcmUu4oCdIEkgZGlkIGFsbCBvZiB0aGUgdGhpbmdzLiBJIGRpZCBTcGlubmluZyBCYWJpZXMgYW5kIHRyaWVkIGFsbCBvZiB0aGUgdGhpbmdzLCBidXQgaXQgd2FzIHN0aWxsIENPVklEIHRpbWUgc28gSSBqdXN0IGRpZG7igJl0IGdvIHRvIGFjdXB1bmN0dXJlLiBJIGZlZWwgbGlrZSBpZiBpdCB3YXNu4oCZdCBDT1ZJRCB0aW1lcyBzdGlsbCwgSSBtYXliZSB3b3VsZCBoYXZlIHRyaWVkIG1vcmUgdGhpbmdzLiBCdXQgd2l0aCB0aGF0IGJlaW5nIHNhaWQsIEkgZmVsdCBsaWtlIHNoZSB3YXMgbGl0ZXJhbGx5IHRyeWluZyB0byB0dXJuIGJlY2F1c2UgSeKAmW0gbGlrZSwg4oCcV2hhdCBhcmUgeW91IGRvaW5nPyBJZiB5b3XigJlyZSBub3QgZmxpcHBpbmcsIHRoZW4gSeKAmW0gbm90IHN1cmUuIFRoZW4geW91IGNhbuKAmXQu4oCdIEkganVzdCBmZWx0IGluIG15IGJvZHkgdGhhdCB0aGVyZSB3YXMgYSByZWFzb24uwqBJIGRpZG7igJl0IHRyeSBtYW51YWxseSBmbGlwcGluZyBoZXIgb3IgdGhpbmdzIGxpa2UgdGhhdC4gVG8gaGVscCB3aXRoIHBlYWNlIG9mIG1pbmQsIEkgb3B0ZWQgZm9yIGEgQ2VzYXJlYW4gZXZlbiB0aG91Z2ggdGhhdCB3YXMgdGhlIGxhc3QgdGhpbmcgSSB3YW50ZWQuIEnigJltIHRlcnJpZmllZCBvZiBzdXJnZXJpZXMgYW5kIG5lZWRsZXMuIEkgd2FzIGxpa2UsIOKAnEkgZG8gbm90IHdhbnQgdGhpcy4gVGhpcyBpcyB0aGUgYWJzb2x1dGUgbGFzdCB0aGluZyBJIHdhbnQs4oCdIGJ1dCBhdCB0aGUgc2FtZSB0aW1lLCBJIHdhcyBoYXBweSB0aGF0IEkgY291bGQgbWVudGFsbHkgcHJlcGFyZSBmb3IgdGhhdCBpbnN0ZWFkIG9mIGl0IGJlaW5nIHNwcnVuZyBvbiBtZS4gQW5kIGhvbmVzdGx5LCBJIGZlZWwgbGlrZSBJIGhhZCBhIHByZXR0eSBnb29kIHJlY292ZXJ5IHdpdGggdGhhdC7CoEF0IHRoZSBzYW1lIHRpbWUsIEkga25ldyBmb3IgYW55IGZ1dHVyZSBjaGlsZHJlbiwgSSBkaWQgbm90IHdhbnQgdG8gaGF2ZSBhbm90aGVyIEMtc2VjdGlvbi7CoDEyOjAwIERvaW5nIFZCQUMgcmVzZWFyY2ggYmVmb3JlIHByZWduYW5jeUhheWxleTogU28gZmFzdCBmb3J3YXJkLiBXZSBtb3ZlZCBhY3Jvc3MgdGhlIGNvdW50cnkgd2hlbiBzaGUgd2FzIGFib3V0IDkgbW9udGhzIG9sZC4gSSB3YXMgZGVmaW5pdGVseSBub3QgcHJlZ25hbnQgeWV0LCBidXQgd2Ugd2VyZSB0aGlua2luZyBhYm91dCBleHBhbmRpbmcgb3VyIGZhbWlseS4gSSBoYWQgYWxyZWFkeSBzdGFydGVkIHJlc2VhcmNoaW5nIHByb3ZpZGVycyBpbiB0aGUgYXJlYSwgam9pbmluZyBGYWNlYm9vayBwYWdlcyBsaWtlIHRoZSBJQ0FOIEZhY2Vib29rIGdyb3VwIGluIHRoZSBhcmVhIGFuZCBsaXRlcmFsbHkgcHJlcGFyaW5nIGV2ZW4gdGhvdWdoIEkgd2FzbuKAmXQgcHJlZ25hbnQgYmVjYXVzZSBJIGp1c3QgcmVhbGx5IHdhbnRlZCB0byBtYWtlIHRoaXMuwqBNZWFnYW46IFRoYXQgaXMgaW1wb3J0YW50LsKgSGF5bGV5OiBZZWFoLiBJIGp1c3QgZGlkIG15IHJlc2VhcmNoLiBJIHJlYWxseSwgcmVhbGx5IHdhbnRlZCB0byBiZSBub3QgaW4gYSBzaXR1YXRpb24gd2hlcmUgSeKAmW0gbGlrZSwg4oCcT2ggc2hvb3QuIEnigJltIHByZWduYW50IGFuZCBub3cgSSBuZWVkIHRvIHN0cnVnZ2xlIHRvIGZpbmQgYSBzdXBwb3J0aXZlIHByb3ZpZGVyLOKAnSBiZWNhdXNlIHVuZm9ydHVuYXRlbHksIGl04oCZcyBoYXJkIHRvIGZpbmQgVkJBQy1zdXBwb3J0aXZlIHByb3ZpZGVycy4gSSB3aXNoIHRoYXQgd2FzbuKAmXQgdGhlIGNhc2UsIGJ1dCBJIGZlZWwgbGlrZSB0aGF04oCZcyB1bmZvcnR1bmF0ZWx5IHRoZSBtYWpvcml0eS7CoE1lYWdhbjogVGhlIHJlYWxpdHksIGl0IHN1Y2tzLiBJdOKAmXMgc3R1cGlkLiBJIGhhdmUgYSBsb3Qgb2Ygd29yZHMgZm9yIHRoYXQsIGJ1dCBpdCBpcyB0aGUgcmVhbGl0eS4gSXQgaXMgbW9yZSBvZnRlbiB0aGF0IGl04oCZcyBoYXJkIHRvIGZpbmQgdGhhdCB0cnVlIHN1cHBvcnQgdGhhbiBpdCBpcyB0byBmaW5kIHRoZSBvcHBvc2l0ZS7CoEhheWxleTogWWVwLiBJIHJlbWVtYmVyIEkgbWFkZSBhIGNvdXBsZSBvZiBhcHBvaW50bWVudHMganVzdCB0byB0YWxrIHdpdGggcGVvcGxlIHRvIGJlIGxpa2UsIOKAnEhleSwgaG93IGRvIHlvdSBmZWVsIGFib3V0IHRoaXM/IEnigJltIGxvb2tpbmcgdG8gZXN0YWJsaXNoIGNhcmUu4oCdIEkgcmVtZW1iZXIgSSB3ZW50IHRvIHR3byBkaWZmZXJlbnQgcGxhY2VzLiBPbmUgd2FzIGFuIE9CIGFuZCB0aGV5IGRpZCBoYXZlIHNvbWUgbWlkd2l2ZXMgdGhlcmUsIGJ1dCB5ZWFoLiBUaGV5IHdlcmUgbGlrZSwg4oCcV2VsbCwgeW91IGNhbiBvciB5b3UgY2FuIHRyeSB0aGF0LOKAnSBhbmQgSSB3YXMgbGlrZSwg4oCcQ29vbC4gVGhpcyBkb2VzbuKAmXQgc291bmQgbGlrZSAxMDAlLuKAncKgSSBldmVudHVhbGx5IGZvdW5kIGEgZ3JvdXAgb2YgbWlkd2l2ZXMuIEkgZmVsdCB3YXMgYSB0b3RhbCAxODAgd2l0aCB0aGUgd2F5IHRoYXQgdGhlIGNhcmUgZmVsdC4gTm90IHRoYXQgeW91IGNhbuKAmXQgZ2V0IHRoYXQgd2l0aCBPQnMsIGJ1dCB0aGV5IHdlcmUgbGlrZSwg4oCcWWVhaC4gV2XigJlyZSBnb2luZyB0byBkbyB0aGF0LuKAnSBJdCB3YXMganVzdCBsaWtlLCDigJxDb29sLiBXZeKAmXJlIGdvaW5nIHRvIGRvIHRoYXQu4oCdwqBNZWFnYW46IEkgbG92ZSB0aGF0LiBZb3XigJlyZSBsaWtlLCDigJxBbmQgZ3JlYXQuIEkgd2FzIGFsbW9zdCBub3QgZXhwZWN0aW5nIHlvdSB0byBzYXkgdGhhdCBzbyBmYW50YXN0aWMu4oCdwqBIYXlsZXk6IEV4YWN0bHkuIEnigJltIGxpa2UsIOKAnFBlcmZlY3Qu4oCdMTM6NTEgSGF5bGV54oCZcyBzZWNvbmQgcHJlZ25hbmN5SGF5bGV5OiBGYXN0IGZvcndhcmQsIEkgdGhlbiBnZXQgcHJlZ25hbnQgd2l0aCBteSBzZWNvbmQuIEkgZXN0YWJsaXNoZWQgY2FyZSB0aHJvdWdoIHRoZW0uIEkgZmVsdCBsaWtlIHRoZSB3aG9sZSBwcm9jZXNzIHdhcyBqdXN0IHNvIGNoaWxsLiBFdmVuIGp1c3Qgd2l0aCBhbnl0aGluZywgbWF5YmUgaXTigJlzIGp1c3QgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB5b3VyIGZpcnN0IHByZWduYW5jeSBhbmQgc2Vjb25kIHByZWduYW5jeSB3aGVyZSB5b3UgYXJlIHNvIG5lcnZvdXMgYWJvdXQgZXZlcnl0aGluZyB3aXRoIHRoZSBmaXJzdCwgYnV0IGV2ZW4gdGhlIHVsdHJhc291bmQgdGhhdCBqdXN0IGZlbHQgdmVyeeKAkyB3aXRoIG15IGZpcnN0LCB0aGV5IHdvdWxkIHJlYWxseSBtYWtlIG1lIGZlZWwgbGlrZSB0aGV5IHdlcmUgcmVhbGx5IG1ha2luZyBzdXJlLCBub3QgdGhhdCB5b3Ugc2hvdWxkbuKAmXQgbWFrZSBzdXJlIHRoaW5ncyBhcmUgb2theSwgYnV0IHRoZXkganVzdCByZWFsbHkgbWFkZSBtZSBmZWVsIGxpa2UgZXZlcnl0aGluZyB3YXMgc28gbWVkaWNhbCBhbmQgdGhpbmdzIGNvdWxkIGdvIHdyb25nIG9yIHNvbWV0aGluZy7CoFdpdGggbXkgc2Vjb25kLCB0aGV5IHdlcmUganVzdCBsaWtlLCDigJxZZWFoLCBiYWJ5IGlzIGdyZWF0LuKAnSBPa2F5LCBjb29sLiBQZXJmZWN0LiBTbyB0aGF0IHdhcyBhd2Vzb21lIGFuZCBkZWZpbml0ZWx5IG5vdCB3aGF0IEkgZXhwZWN0ZWQuIEFnYWluLCBpdOKAmXMgYSBkaWZmZXJlbnQgb2ZmaWNlIGFuZCBhIGRpZmZlcmVudCBzdGF0ZS4gSXQgd2FzIGEgdG90YWxseSBkaWZmZXJlbnQgZXhwZXJpZW5jZSBhbmQgYW1hemluZy4gQnV0IEkgd2FzIGRlZmluaXRlbHkgaW4gbXkgaGVhZCB0aGUgd2hvbGUgcHJlZ25hbmN5LiBJIGRpZCBub3Qgd2FudCB0aGlzIGJhYnkgdG8gZmxpcC4gSSBqdXN0IGtlcHQgZG9pbmcgZXZlcnl0aGluZyBJIGNvdWxkIHRocm91Z2hvdXQgbXkgd2hvbGUgcHJlZ25hbmN5LCByZWFsbHkgd29ya2luZyBvbiBteSBtZW50YWxpdHkgYW5kIG15IG1pbmRzZXQuwqBJIGZvdW5kIGEgZG91bGEuIEkgd2VudCB0byBhIGNoaXJvcHJhY3RvciB0b3dhcmRzIHRoZSBlbmQgb2YgbXkgcHJlZ25hbmN5LiBJIHdlbnQgdG8gcGVsdmljIGhlYWx0aCwgcGh5c2ljYWwgdGhlcmFweSwgYW5kIEkgZGlkIGFsbCBvZiB0aGUgdGhpbmdzIGJlY2F1c2UgSeKAmW0gbGlrZSwg4oCcSSB3YW50IHRvIGRvIGV2ZXJ5dGhpbmcgdGhhdCBJIHBvc3NpYmx5IGNhbiB0byBtYWtlIHRoaXMgaGFwcGVuLuKAnSBUaGF0IHdheSBpZiBJIGRpZG7igJl0LCBJIHdvdWxkIGF0IGxlYXN0IGtub3csIOKAnEhleSwgSSBkaWQgZXZlcnl0aGluZyBhbmQgSSB0b3RhbGx5IHByZXBhcmVkLuKAnSBTbyBtZW50YWxseSwgdGhhdOKAmXMganVzdCB3aGF0IEkgbmVlZGVkLiBCdXQgeWVhaC4gSSB3YXMgZGVmaW5pdGVseSBzbyBpbiBteSBoZWFkIGxpa2UsIOKAnFdoYXQgaWYgdGhpcyBiYWJ5IGRlY2lkZXMgdG8gYmUgYnJlZWNoIGFnYWluPyBJIHdvdWxkIGJlIHNvIHNhZC7igJ0gQnV0IGx1Y2tpbHksIHRoYXQgZGlkIG5vdCBoYXBwZW4uwqBJIGFsc28gZmVsbCBvbiBteSB0YWlsYm9uZS4gSSBodXJ0IG15IHRhaWxib25lIHdoZW4gSSB3YXMgNCBtb250aHMgYmVmb3JlIGRlbGl2ZXJ5IHNvIHRoYXQgd2FzIHJlYWxseSBub3QgZ3JlYXQgZWl0aGVyIGJlY2F1c2Ugb25lIHRoaW5nIHRoYXQgb25jZSBJIHdvdWxkIGdldCBpbnRvIGxhYm9yLCBJIGhhZCBzbyBtdWNoIHRhaWxib25lIHBhaW4gYW5kIHRoYXQgd2FzIGp1c3Qgc29tZXRoaW5nIHRoYXQgSSB3YXMgbm90IGV4cGVjdGluZy7CoFNvIHRoZSBwcmVnbmFuY3kgZGVmaW5pdGVseSBoYWQgdXBzIGFuZCBkb3ducy4gSSBmZWVsIGxpa2UgbWF5YmUgeW91IGNhbiBhbnN3ZXIgaWYgdGhpcyBpcyB5b3VyIGV4cGVyaWVuY2UgdG9vIGRvd24gdGhlIGxpbmUgd2l0aCBwcmVnbmFuY2llcywgYnV0IEkgZmVlbCBsaWtlIHlvdXIgYm9keSBqdXN0IGZlZWxzIGV2ZXJ5dGhpbmcgc28gbXVjaCBxdWlja2VyIHdpdGggdGhlIHNlY29uZCBwcmVnbmFuY3kuIExpa2UsIOKAnE9oLCBJ4oCZbSBhbHJlYWR5IHNvcmUgYW5kIGl04oCZcyBub3QgZXZlbiB0aGUgc2Vjb25kIHRyaW1lc3Rlci4gV2hhdOKAmXMgaGFwcGVuaW5nP+KAncKgTWVhZ2FuOiBJIGJlbGlldmUgdGhhdC7CoEhheWxleTogWWVhaCwgc28gSSBmb3VuZCB0aGF0IHJlYWxseSBwcmVwYXJpbmcgaXMgbXkgbnVtYmVyLW9uZSB0aXAgb2YgZG9pbmcgeW91ciByZXNlYXJjaCwgbGlzdGVuaW5nIHRvIHBvZGNhc3RzLCByZWFsbHkgZ2V0IGluIHRoYXQgc3BhY2Ugb2YgdGhlcmUgd2FzIG5vIGRvdWJ0IGluIG15IG1pbmQgdGhhdCBJIHdhc27igJl0IGdvaW5nIHRvIGJlIGFibGUgdG8gaGF2ZSBhIFZCQUMgYW5kIEkgZmVlbCBsaWtlIHRoYXQgcmVhbGx5IGhlbHBlZCBtZSBvdXQgd2hlbiBsYWJvciBjYW1lIGJlY2F1c2UgaXQgd2FzbuKAmXQgc29tZXRoaW5nIHRoYXQgSSBldmVuIHRob3VnaHQgYWJvdXQuIEkgY2FuIHBzeWNoZSBteXNlbGYgb3V0IG9mIEkgZGlkbuKAmXQgZ2V0IHdvcnJpZWQuwqBNZWFnYW46IEhvdyBhbWF6aW5nIGlzIHRoYXQ/IEkgZmVlbCBsaWtlIHRoYXQgZ29lcyBhZ2FpbiwgaXTigJlzIGxpa2UgdGhlIGZ1bGwgY2lyY2xlIG9mLCDigJxPa2F5LiBJIGFtIGVkdWNhdGVkLiBJIGhhdmUgdGhlIHN1cHBvcnQuIEkgaGF2ZSB0aGUgYm9keSBhbmQgdGhlIGJhYnkgcmVhZHkgdG8gZG8gdGhpcy7igJ0gV2hlbiB3ZSBoYXZlIGdhcHMgaW4gb3VyIGNpcmNsZSB3aGVyZSBpdOKAmXMgbGlrZSwg4oCcT2theSwgd2VsbCBJ4oCZbSBlZHVjYXRlZCBzbyBJIGZlZWwgY29uZmlkZW50IGluIG15IGFiaWxpdHks4oCdIGJ1dCB0aGVuIHdlIGhhdmUgYSBwcm92aWRlciB3aG8gaXMgd2lzaHktd2FzaHkgYW5kIHNodXR0aW5nIG1lIGRvd24gb3IgSSBoYXZlIGEgZmFtaWx5IG1lbWJlciB3aG8gaXMgbGlrZSwg4oCcT2gsIHlvdSBhcmUgcmVhbGx5IG1ha2luZyBhIGJhZCBjaG9pY2Us4oCdIG9yIHN0YXJ0cyBxdWVzdGlvbmluZyB1cyBhbmQgcGxhY2luZyBkb3VidCwgYnV0IHRoZW4gd2UgYXJlIGNvbmZpZGVudCBpbiBvdXIgYm9keS4gV2UgYXJlIGhlYWx0aHkgYW5kIGFsbCBvZiB0aGVzZSB0aGluZ3MuwqBCdXQgd2hlbiB0aGVyZSBhcmUgZ2Fwcywgd2UgY2Fu4oCZdCBnbyBpbnRvIGJpcnRoIHdpdGggdGhhdCBtZW50YWxpdHkuIFRoYXTigJlzIHNvbWV0aGluZyBJIHdpc2ggZm9yIGV2ZXJ5IHNpbmdsZSBwZXJzb24gZ29pbmcgaW4gdG8gaGF2ZSBhIGJhYnkgbm8gbWF0dGVyIHdoYXQgaXMganVzdCBmZWVsaW5nIGNvbmZpZGVudCBhbmQgaGF2aW5nIHRoYXQgbWVudGFsaXR5IG9mIHN0cmVzcy1mcmVlIG9mIHRoZSBkb3VidC4gVGhlcmUgYXJlIGFsd2F5cyB0aGUgd2hhdC1pZnMgYW5kIHRoZSB3b25kZXJzIGFuZCBldmVyeSBiaXJ0aCBleHBlcmllbmNlIGlzIGRpZmZlcmVudCwgYnV0IHRvIG5vdCBkb3VidCBvdXJzZWx2ZXMgb3Igb3VyIGFiaWxpdHkgYW5kIGl0IGNvbWVzIHdpdGggZWR1Y2F0aW9uLCBzdXBwb3J0LCBhbmQgYWxsIG9mIHRob3NlIHRoaW5ncy7CoEhheWxleTogWWVhaCwgZXhhY3RseS4gTGlrZSByZWFkaW5nIG15IGJvb2tzIGFuZCBsaXN0ZW5pbmcgdG8gc3RvcmllcyBhbmQgYmVpbmcgbGlrZSwg4oCcWWVhaC4gTXkgYm9keSBjYW4gZG8gdGhpcy4gVGhpcyBpcyB3aGF0IHBlb3BsZSBoYXZlIGRvbmUgZm9yIGFsbCBvZiB0aW1lLuKAncKgTWVhZ2FuOiBGb3JldmVyLsKgSGF5bGV5OiBXZSBjYW4gZG8gdGhpcy4gWWVhaC4gRGVmaW5pdGVseSwgSSBhZ3JlZS4gSWYgeW91IGRvbuKAmXQgaGF2ZSBldmVyeSBzaW5nbGUgb25lIG9mIHRob3NlIGFzcGVjdHMsIGl0IGp1c3QgbWFrZXMgdGhpbmdzIHNvIG11Y2ggaGFyZGVyIG9uIHlvdXJzZWxmIGFuZCBldmVyeXRoaW5nLsKgMTg6MTUgTGFib3IgYmVnaW5zSGF5bGV5OiBTbyBmYXN0IGZvcndhcmQsIEkgbmV2ZXIgd2VudCB0aHJvdWdoIGxhYm9yIHdpdGggbXkgZmlyc3QsIHNvIEkgc3RpbGwgZmVsdCBsaWtlIGEgZmlyc3QtdGltZSBtb20gaW4gdGhlIHNlbnNlIHRoYXQgSSB3YXMgbGlrZSwg4oCcV2lsbCBJIGtub3cgd2hlbiBJ4oCZbSBpbiBsYWJvcj8gV2hhdOKAmXMgaXQgZ29pbmcgdG8gZmVlbCBsaWtlP+KAncKgSXQgd2FzIEZlYnJ1YXJ5IGxhc3QgeWVhci4gSSBkb27igJl0IGtub3csIHdoYXRldmVyIGRheSBpdCB3YXMuIEkgZ3Vlc3MgaXQgd2FzIHRoZSAyMm5kLiBJIGd1ZXNzIEkgd2FzIGhhdmluZyBjcmFtcGluZy4gSSBkb27igJl0IGtub3cuIFRoZXkgd2VyZSByZWFsbHkgbWlsZCBzbyBJIGRpZG7igJl0IHJlYWxseSB0aGluayBhYm91dCBpdC4gSSB3YXMgd29ya2luZyBhbmQgdGFraW5nIGNhcmUgb2YgbXkgZmlyc3Rib3JuLsKgTG9va2luZyBiYWNrLCBJ4oCZbSBsaWtlLCDigJxPaCwgSSBndWVzcyBpdCB3YXMgbWF5YmUgZWFybHkgbGFib3Iu4oCdIEJ1dCBJIGRpZG7igJl0IHJlYWxseSB0aGluayBhYm91dCBpdC4gQnV0IEkgaGFkIHBhc3RhIGZvciBkaW5uZXIgd2hpY2ggSSB0aGluayBpcyBoaWxhcmlvdXMuIEkganVzdCBhdGUgcGFzdGEgYmVjYXVzZSBmYXN0IGZvcndhcmQsIEkgYW0gcHV0dGluZyBteSBsaXR0bGUgb25lIHRvIGJlZCBhdCA3OjAwIFBNIGFuZCBJIHN0YXJ0IGdldHRpbmcgcmVhbGx5IGJhZCBzdG9tYWNoIHBhaW5zLiBJ4oCZbSBsaWtlLCDigJxJcyB0aGlzIGZyb20gbXkgZGlubmVyPyBJcyBteSBzdG9tYWNoIGp1c3QgdXBzZXQ/IEkgZG9u4oCZdCBrbm93IHdoYXTigJlzIGhhcHBlbmluZy7igJ3CoEkgcmVtZW1iZXIgSSBoYWQgdG8gaGF2ZSBteSBodXNiYW5kIGZpbmlzaCBwdXR0aW5nIGhlciB0byBiZWQuIEkgd2FzIHJlYWxseSBub3QgZmVlbGluZyBnb29kLiBJIHdhcyBsaWtlLCDigJxPa2F5LiBBbSBJIGp1c3QgcmVhbGx5IG5vdCBmZWVsaW5nIGdvb2Q/IElzIHRoaXMgbGFib3I/IEnigJltIG5vdCBzdXJlIHdoYXTigJlzIGhhcHBlbmluZy7igJ3CoFNvIEkgZ2V0IGluIHRoZSBzaG93ZXIgYW5kIEnigJltIGxpa2UsIOKAnEFsbCByaWdodC4gTGV0IG1lIGp1c3QgZ2V0IGluIHRoZSBzaG93ZXIgYW5kIHNlZSB3aGF04oCZcyB1cC7igJ0gVGhlbiBteSBodXNiYW5kIGNvbWVzIGJhY2sgaW4gYW5kIEnigJltIGxpa2UsIOKAnEhleSwgSSBkb27igJl0IHdhbnQgdG8gZnJlYWsgeW91IG91dC4gSeKAmW0gbm90IHN1cmUgaWYgdGhpcyBpcyBsYWJvciBvciBub3QsIGJ1dCBtYXliZSBpdCBpcy7igJ1JdOKAmXMgZ2V0dGluZyBjbG9zZXIgdG8gODowMCBQTSBvciBzbyBhbmQgdGhpbmdzIGFyZSByZWFsbHkgc3RhcnRpbmcgdG8gcmFtcCB1cC4gSeKAmW0gbGlrZSwg4oCcT2theSwgdGhpcyBpcyBwcm9iYWJseSBsYWJvci7igJ0gSSBkbyByZW1lbWJlciBoYXZpbmcgYSB0aG91Z2h0IG9mLCDigJxTaG9vdC4gSWYgdGhpcyBpcyBob3cgZWFybHkgbGFib3IgaXMgYW5kIEnigJltIGFscmVhZHkgZmVlbGluZyBpdCBsaWtlIHRoaXMsIEnigJltIHdvcnJpZWQuIEkgZG9u4oCZdCBrbm93IHRoYXQgSSBjYW4gZG8gdGhpcy7igJ0gSSBoYWQgdGhvc2UgdGhvdWdodHMuIEkgZmVlbCBsaWtlIEkgcXVpY2tseSBnb3Qgb3V0IG9mIHRoYXQsIGJ1dCBpdCBmcmVha2VkIG1lIG91dC4gSSB3YXNu4oCZdCBwcmVwYXJlZCBmb3IgdGhhdC4gSSBrbm93IHlvdSBjYW4gaGF2ZSB0aG9zZSB0aG91Z2h0cyBkb3duIHRoZSBsaW5lIGluIGFjdGl2ZSBsYWJvciwgYnV0IEkgd2FzIGxpa2UsIOKAnElmIEnigJltIGFscmVhZHkgZmVlbGluZyB0aGlzIGFuZCBJIGRvbuKAmXQgZXZlbiBrbm93IGlmIEnigJltIGluIGxhYm9yIHlldCwgc2hvb3QuIEnigJltIGluIHRyb3VibGUu4oCdwqAyMDoxNiBHb2luZyB0byB0aGUgaG9zcGl0YWxIYXlsZXk6IEZhc3QgZm9yd2FyZCwgd2Ugc3RhcnRlZCB0aW1pbmcgdGhlIGNvbnRyYWN0aW9ucyBhcm91bmQgODozMCBvciA5OjAwIGF0IG5pZ2h0IHNvIG9ubHkgYW4gaG91ciBhbmQgYSBoYWxmIG9yIHNvIGFmdGVyIEkgZmlyc3QgaGFkIHRoYXQgY29udHJhY3Rpb24gdGhhdCBJIGZlbHQuIFRoZXkgd2VyZSBhbHJlYWR5IGxhc3Rpbmcgb3ZlciBhIG1pbnV0ZSBsb25nIGFuZCBjb21pbmcgMy02IG1pbnV0ZXMgYXBhcnQuIEl0IGdvdCByZWFsbHkgaW50ZW5zZSByZWFsbHkgcXVpY2tseS7CoEkgd2FzIGxpa2UsIOKAnEFsbCByaWdodC7igJ0gV2UgcHV0IG9uIEhhcnJ5IFBvdHRlci4gSSB3YXMgbGlrZSwg4oCcTGV04oCZcyBqdXN0IHRyeSB0byBnZXQgc29tZSBzbGVlcC4gTGV0IG1lIHJlc3QgaGVyZS7igJ0gSm9rZXMgb24gdXMuIFdlIGRpZCBub3QgcmVzdC4gV2UgZGlkIG5vdCBnZXQgc2xlZXAuIEkgZW5kZWQgdXAgY2FsbGluZyBvdXIgbWlkd2l2ZXMgYW5kIG91ciBkb3VsYS4gVGhleSB3ZXJlIGxpa2UsIOKAnE9rYXkuIFlvdSBzaG91bGQgcHJvYmFibHkgdGhpbmsgYWJvdXQgY29taW5nIGluLuKAncKgV2UgbGVmdCBvdXIgaG91c2UgYXQgMTE6MDAgUE0uIFdlIGxpdmUgYW4gaG91ciBmcm9tIHRoZSBob3NwaXRhbCBvciA0MCBtaW51dGVzLiBJIHdhcyBmcmVha2luZyBvdXQgYmVjYXVzZSBvbmUgb2YgdGhlIGNvbmNlcm5zIEkgZmVlbCBsaWtlIGV2ZXJ5b25lIGhhcyBpcywg4oCcSSBkb27igJl0IHdhbnQgdG8gaGF2ZSBteSBiYWJ5IGluIHRoZSBjYXIs4oCdIGJ1dCB5b3UgZG9u4oCZdCB3YW50IHRvIGdldCB0aGVyZSB0b28gc29vbi4gSXTigJlzIG9uZSBvZiB0aG9zZSB0aGluZ3MuIEkgcmVhbGx5LCB0cnVseSBiZWxpZXZlIHRob3VnaCBmb3IgbWUtLSBwZW9wbGUgc2F5IGl04oCZcyBuaWNlIHRvIGxhYm9yIGF0IGhvbWUgYmVjYXVzZSB5b3UgYXJlIGNvbWZvcnRhYmxlIGFuZCBJIGRvIGdldCB0aGF0IGJ1dCBmb3IgbWUsIEkgd2FudGVkIHRvIGdldCB0byBteSBwbGFjZSBvZiBiaXJ0aCBhbmQgSSBmZWVsIGxpa2UgdGhhdCB3YXMgYSBodWdlIHRoaW5nIGZvciBtZSBhbmQgbXkgbWluZHNldC7CoE9uY2UgSSBnb3QgdG8gbXkgcGxhY2Ugb2YgYmlydGgsIEkgd2FzIGxpa2UsIOKAnE9rYXkuIFRoaXMgaXMgd2hlcmUgSeKAmW0gZ2l2aW5nIGJpcnRoLiBJIGRvbuKAmXQgbmVlZCB0byB0cmF2ZWwu4oCdIEkgcmVsYXhlZCBhIGxvdC4gVGhhdCB3YXMgYWxzbyBzb21ldGhpbmcgSSBhc3N1bWVkIEkgd2FudGVkIHRvIGJlIGF0IGhvbWUgbG9uZ2VyLCBidXQgZm9yIG1lLCBJIHdhcyBsaWtlLCDigJxOby4gSSBuZWVkIHRvIGZlZWwgY29tZm9ydGFibGUgYW5kIGluIG15IHNwYWNlLuKAncKgSG93ZXZlciwgd2hlbiBJIGdvdCB0aGVyZSwgSSB3YXMgYWxyZWFkeSAxMDAlIGVmZmFjZWQsIDAgc3RhdGlvbiwgYW5kIDcgY2VudGltZXRlcnMuwqBNZWFnYW46IE5pY2UhwqBIYXlsZXk6IFNvIEkgd2FzIGFscmVhZHkgcHJldHR5IGZhciBhbG9uZy7CoE1lYWdhbjogWW91IHByZXR0eSBtdWNoIGxhYm9yZWQgYXQgaG9tZSB2ZXJ5IHdlbGwuwqBIYXlsZXk6IFllYWgsIGV4YWN0bHkuIFNvIEkgd2FzIGxpa2UsIOKAnE9rYXku4oCdIEJ1dCBJIGp1c3QgcmVhbGx5IHdhbnRlZCB0byBnZXQgdG8gdGhlIGhvc3BpdGFsLiBJIHdhcyBsaWtlLCDigJxHZXQgbWUgdG8gbXkgcGVvcGxlIGJlY2F1c2UgSSBuZWVkIHN1cHBvcnQu4oCdwqBNZWFnYW46IFllYWguwqBIYXlsZXk6IFNvIHdlIGZpbmFsbHkgZ2V0IHRvIHRoZSByb29tLiBUaGV5IGhhZCBhIGJhdGh0dWIgd2hpY2ggd2FzIGdyZWF0IHNvIHRoZXkgZmlsbGVkIHRoZSB0dWIgdXAuIEkgZGlkIGhhdmUgYW4gSVYgcGxhY2VkIGJ1dCB0aGV5IGRpZG7igJl0IGhhdmUgaXQgaG9va2VkIHRvIGFueXRoaW5nLiBUaGV5IGp1c3QgaGFkIGl0IHBsYWNlZC4gV2hhdCB3YXMgYW5ub3lpbmcgYWJvdXQgdGhhdCB3YXMgdGhleSBmb3Jnb3QgdG8gdGFwZSBpdCB3aGVuIEkgZ290IGluIHRoZSB0dWIgc28gb2YgY291cnNlLCBpdCBmZWxsIG91dC4gU28gdGhleSBsaXRlcmFsbHkgSSB0aGluaywgdHJpZWQgdG8gc3RpY2sgbWUgbGlrZSAxMCB0aW1lcy4gSeKAmW0gbm90IGV2ZW4gZXhhZ2dlcmF0aW5nLiBJdCB3YXMgYSB3aG9sZSBzaXR1YXRpb24gc28gdGhhdCB3YXMgbm90IGZ1bi7CoFllYWguIExhYm9yaW5nIGluIHRoZSB0dWIgd2FzIGdyZWF0IGFuZCBvbiB0aGUgdG9pbGV0IHdhcyBncmVhdC4gQnV0IGl0IHJlYWxseSwgeWVhaC4gT25jZSBJIHdhcyB0aGVyZSBhbmQgaGFkIG15IHBlb3BsZSwgSSBqdXN0IGZlbHQgbGlrZSBJIHdhcyBpbiB0aGUgem9uZSBhbmQgZXZlcnl0aGluZyBzZWVtZWQgYSBsb3QgYmV0dGVyIHRoYW4gd2hlbiBJIHdhcyBhdCBob21lIGluIG15IGhlYWQganVzdCBiZWluZyBsaWtlLCDigJxXaGF04oCZcyBoYXBwZW5pbmc/4oCdwqBTbyB5ZWFoLiBFdmVyeXRoaW5nIG1vdmVkIHJlYWxseSBxdWlja2x5IGJ1dCBJIHdhc27igJl0IHByZXBhcmVkIGZvciB0YWlsYm9uZSBwYWluLiBUaGVuIEkgbWVhbiwgSSBndWVzcyBJIHByb2JhYmx5IHNob3VsZCBoYXZlLiBJdCB3YXMga2luZCBvZiBpbiBteSBoZWFkIHRoYXQgdGhpcyBzaG91bGQgYmUgYSB0aGluZyBiZWNhdXNlIG9mIHdoZW4gSSBmZWxsLCBidXQgbWFuLiBUaGUgYmFjayBwYWluIGFuZCB0aGUgdGFpbGJvbmUgcGFpbiBzbyBldmVuIHRoaW5ncyBsaWtlIHRoZSBkb3VibGUgaGlwIHNxdWVlemUgdGhhdCBJIHRob3VnaHQsIOKAnE9oIHllYWgsIHRoYXTigJlzIGdvaW5nIHRvIGhlbHAgbWXigJ0gd2VyZSBsaWtlLCBuby7CoE1lYWdhbjogQW5kIHNhY3J1bSwgb29mLiBZZWFoLiBObyB3b25kZXIgdGhlIHRvaWxldCBmZWx0IHJlYWxseSBnb29kIGJlY2F1c2UgeW91IHdlcmUgYWJsZSB0byBzaXQgd2l0aG91dCBwcmVzc3VyZSBvcGVuIGFuZCByZWxlYXNlIHRoYXQuwqBIYXlsZXk6IFllYWgsIGV4YWN0bHkuIFRoYXQgd2FzIHBlcmZlY3Qgb3IgaGFuZHMgYW5kIGtuZWVzIGluIHRoZSB0dWIgYmVjYXVzZSB5ZWFoLiBJIGNvdWxkbuKAmXQgc2l0LiBJdCB3YXMgYSB3aG9sZSB0aGluZy7CoEkgZG9u4oCZdCByZW1lbWJlciBob25lc3RseSBmcm9tIHdoZW4gbXkgbGFib3Igc3RhcnRlZCBhdCBob21lLCBJIGRvbuKAmXQgcmVtZW1iZXIgaG9uZXN0bHkgcGVha2luZyBhbmQgZ2V0dGluZyBhbnkgd29yc2UuIEl0IGp1c3QgaG9uZXN0bHkgZmVsdCB0aGUgc2FtZS4gSW50ZW5zZSBmcm9tIHRoZSBiZWdpbm5pbmcgYWxsIHRoZSB3YXkgdW50aWwgdGhlIGVuZCB3aGljaCB3YXMgYWxzbyBzb21ldGhpbmcgdGhhdCBJIHdhcyBub3QgcHJlcGFyZWQgZm9yLiBJIHRoaW5rIG9idmlvdXNseSBpdCBpcyBkaWZmZXJlbnQgZm9yIGV2ZXJ5Ym9keSwgYnV0IHRoYXQgd2FzIHNvbWV0aGluZyBJIHdhcyBsaWtlLCDigJxPaC7igJ0gSSB3YXMgcGxlYXNhbnRseSBzdXJwcmlzZWQgaW4gdGhlIHNlbnNlIG9mIGF0IGxlYXN0IGl0IHdhc27igJl0IGxpa2UsIOKAnFNob290LiBJ4oCZbSB0b3RhbGx5IHNjcmV3ZWQgbGF0ZXIs4oCdIGJ1dCBhbHNvLCBpdCB3YXMgaW50ZW5zZSB2ZXJ5IHF1aWNrbHkgZWFybHkgb24gYW5kIHRocm91Z2hvdXQuwqAyNDoyMCBQdXNoaW5nSGF5bGV5OiBTbyBmYXN0IGZvcndhcmQsIEkgZmVlbCBsaWtlIG5vdyBpdOKAmXMgNzowMCBBTS4gV2UgZ2V0IHRvIHRoZSBob3NwaXRhbCBhdCBiYXNpY2FsbHkgMTowMCBBTS4gQXQgNzowMCBBTSwgSeKAmW0gYXQgMTAgY2VudGltZXRlcnMgYW5kIEkgZmVlbCB0aGUgdXJnZSB0byBwdXNoIHNvIHdlIHN0YXJ0IHB1c2hpbmcgaW4gZGlmZmVyZW50IHBvc2l0aW9ucy4gT25lIHRoaW5nIEkgcmVhbGx5IHdhbnRlZCBmb3IgbXlzZWxmIHdhcyB0byBub3QgcHVzaCBsb3VuZ2luZyBvbiBhIGJlZC4gSG93ZXZlciwgd2l0aCBteSB0YWlsYm9uZSwgSSBmZWx0IGxpa2UgZXZlcnl0aGluZyBodXJ0IHNvIGl0IGVuZGVkIHVwIHdoZXJlIHdlIHRyaWVkIHNvIG1hbnkgcG9zaXRpb25zIGJ1dCBJIHdhcyBraW5kIG9mIHNlbWktcmVjbGluZWQganVzdCBiZWNhdXNlIEkgZmVsdCBsaWtlIEkgbmVlZGVkIHRoYXQgc3VwcG9ydC4gSSBkb27igJl0IGtub3cuwqBJIHRvbGQgbXlzZWxmIHRvIGJlIG9rYXkgd2l0aCB1bHRpbWF0ZWx5IHB1c2hpbmcgaW4gdGhlIHBvc2l0aW9uIHRoYXQgSSDigJxkaWRu4oCZdCB3YW504oCdIGFuZCBiZWluZyBva2F5IHdpdGggdGhhdCB3YXMgc29tZXRoaW5nIHRoYXQgSSB3YXMgbGlrZSwg4oCcWW91IGtub3cgd2hhdD8gTGlzdGVuIHRvIHdoYXQgSSBuZWVkIGluIHRoaXMgbW9tZW50IGFuZCBkbyB3aGF04oCZcyBiZXN0LuKAnSBTbyBpdCB3YXMgb25lIG9mIHRob3NlIG1vbWVudHMgd2hlcmUgaXQgd2FzIGxpa2UsIOKAnEFsbCByaWdodC4gSSBuZWVkIHRvIGp1c3QgbGV0IGdvIG9mIHdoYXQgSSB3YXMgYXNzdW1pbmcgYW5kIGRvIHdoYXTigJlzIGJlc3QgZm9yIG1lLuKAncKgV2UgcHVzaGVkIGZvciBhIHdoaWxlLiBJdCB3YXMgNjAgb3Igc28gbWludXRlcyB3aGljaCB3YXPigJPCoE1lYWdhbjogVGhhdOKAmXMgYWN0dWFsbHkgbm90IGJhZCBmb3IgYSBmaXJzdC10aW1lIG1vbS7CoEhheWxleTogUmVhbGx5PyBJIHRoaW5rIGl0IHdhcyA2MCwgbWF5YmUgNzAgb3Igc28uIEJ1dCBJIGRvIHJlbWVtYmVyIHB1c2hpbmcgYmVpbmcgaGFyZGVyIHRoYW4gSSB0aG91Z2h0LiBUaGF0IHdhcyBub3Qgc29tZXRoaW5nIHRoYXQgSSBoYWQgcHJlcGFyZWQgZm9yLiBJIGZlZWwgbGlrZSBmb3IgYW55IG1hbWFzIG91dCB0aGVyZSBsaXN0ZW5pbmcsIHByZXBhcmUgZm9yIHB1c2hpbmcuwqBNZWFnYW46IFllYWguIFB1c2hpbmcgaXMgaGFyZCB3b3JrLsKgSGF5bGV5OiBJdOKAmXMgaGFyZC4gSSB0aGluayB0aGF0IHRpcmVkIG1lIG91dCBob25lc3RseSBtb3JlIHRoYW4gdGhlIGxhYm9yLiBJdCB3YXMgcHVzaGluZyBhbmQgSSB0aGluayBpdCB3YXMgaGFsZiBiZWNhdXNlIEkgZGlkIG5vdCBwcmVwYXJlIGFzIG11Y2ggZm9yIGl0IGFuZCBiZWNhdXNlIG9idmlvdXNseSBhdCB0aGUgZW5kIG9mIGl0LCB5b3XigJlyZSBhbHJlYWR5IHRpcmVkIGFuZCBleGhhdXN0ZWQuIEJ1dCB5ZWFoLiBJIGRpZCBub3QgcHJlcGFyZSBmb3IgcHVzaGluZyB0byBsYXN0IGFzIGxvbmcgZWl0aGVyLiBJIGZlZWwgbGlrZSBJIGRpZCBrbm93IHRoYXQsIGJ1dCBtZW50YWxseSwgSSBmZWVsIGxpa2UsIOKAnFdhaXQuIFRoaXMgaXMgc3RpbGwgaGFwcGVuaW5nLOKAnSBhbmQgaXQgYmVpbmcgaW50ZW5zZS7CoEJ1dCB0aGVuIGhlIGZpbmFsbHkgd2FzIGJvcm4gYW5kIEkganVzdCBsaXRlcmFsbHkgZ3JhYmJlZCBoaW0uIE15IGh1c2JhbmQgd2FzIGhlbHBpbmcgY2F0Y2ggaGltLCBidXQgSSBsaXRlcmFsbHkganVzdCB0b29rIGhpbSByaWdodCBhd2F5LsKgTWVhZ2FuOiBBdywgY3V0ZS7CoEhheWxleTogSXQgd2FzIGdyZWF0LiBTbyB0aGVuIEkgaGFkIHRoaXMgaHVnZSBoaWdoIG9mIGxpa2UsIOKAnFdvdy4gSSBkaWQgdGhpcyBWQkFDIHVubWVkaWNhdGVkLiBUaGlzIGlzIGdyZWF0LOKAnSB0aGVuIGZhc3QgZm9yd2FyZCB0byBwb3N0cGFydHVtLCB0aGUgbnVyc2UgaGFkIGtpbmQgb2YgbWVudGlvbmVkIG9yIG15IG1pZHdpZmUgaGFkIGtpbmQgb2YgbWVudGlvbmVkLCDigJxPaCwgeW91IGhhdmUgYSBzbGlnaHQgdXRlcmluZSBwcm9sYXBzZS7igJ0gSSB3YXMganVzdCBsaWtlLCDigJxJIGRvbuKAmXQga25vdyB3aGF0IHRoYXQgbWVhbnMuIENvb2wu4oCdIFRoZXkgbWVudGlvbmVkIGl0IGFzIHdlIHdlcmUgaW4gdGhlIGhvc3BpdGFsIGFuZCBpdCB3YXNu4oCZdCB1bnRpbCBhZnRlcndhcmQgdGhhdCBJIHN0aWxsIHdhcyBsaWtlLCDigJxObyBvbmUgaXMgdGVsbGluZyBtZSB3aGF0IGFueSBvZiB0aGlzIG1lYW5zLiBXaGF0IGlzIHRoaXM/IEkgZG9u4oCZdCBldmVuIGtub3cgd2hhdCB0aGlzIGlzLuKAnSBUaGV5IHdlcmUgYmVpbmcgc28gY2FzdWFsIGFib3V0IGl0IGFuZCBJIHdhc27igJl0IGdldHRpbmcgYW55IGluZm9ybWF0aW9uLsKgMjc6MDUgSGF5bGV54oCZcyBwcm9sYXBzZSBleHBlcmllbmNlSGF5bGV5OiBUaGF0IHdhcyBzb21ldGhpbmcgdGhhdCB3YXMgZnJ1c3RyYXRpbmcgYmVjYXVzZSB0aGVuIHBvc3RwYXJ0dW0sIGEgY291cGxlIHdlZWtzIGluIHdoZW4gSSB3YXMgc3RhcnRpbmcgdG8gaGF2ZSBzb21lIHN5bXB0b21zIG9mIHByb2xhcHNlLCBJIHdhcyBsaWtlLCDigJxXZWxsLCBubyBvbmUgaXMgZ2l2aW5nIG1lIGFuc3dlcnMuIE5vYm9keSB0b2xkIG1lIHdoYXQgdGhpcyBpcy4gTm93IEnigJltIHBvc3RwYXJ0dW0gZmVlbGluZyBjb25mdXNlZCBhbmQgaW4gdGhlIGRhcmsu4oCdwqBJdCB3YXMgcmVhbGx5IGludGVyZXN0aW5nIHRvIGdvIGZyb20gdGhpcyBoaWdoIGhpZ2ggb2YsIOKAnFdvdy4gSSBoYWQgYW4gYW1hemluZyBiaXJ0aCwgc3VjY2Vzc2Z1bCBWQkFDLCB1bm1lZGljYXRlZOKAnSB0byBub3cgcXVlc3Rpb25pbmcsIOKAnFdlbGwsIHdoYXQgZGlkIEkgZG8/4oCdIFlvdSBxdWVzdGlvbiB5b3Vyc2VsZi4gRGlkIEkgZG8gc29tZXRoaW5nIHdyb25nPyBDb3VsZCBJIGhhdmUgZG9uZSBzb21ldGhpbmcgZGlmZmVyZW50bHk/IFdoeSBkaWQgdGhpcyBoYXBwZW4/IEJlY2F1c2Ugbm8gb25lIGVsc2UgYXBwYXJlbnRseSBoYWQgdGhpcyB3aGljaCBpcyBhY3R1YWxseSBub3QgdHJ1ZS4gSXTigJlzIGp1c3Qgbm90IHRhbGtlZCBhYm91dC7CoFNvIHRoYXQgd2FzIGEgdmVyeSBiaWcgcGFydCBvZiBwb3N0cGFydHVtIHRoYXQgSSB3YXMgbm90IGF0IGFsbCBwcmVwYXJlZCBmb3IuwqBNZWFnYW46IFllYWguIFRoYXTigJlzIGhhcmQuIExldOKAmXMgdGFsayBhIGxpdHRsZSBiaXQgYWJvdXQgdGhlIHN5bXB0b21zIHRoYXQgeW91IHdlcmUgcmVjZWl2aW5nLiBXaGF0IHN5bXB0b21zIGRpZCB5b3UgaGF2ZT/CoEhheWxleTogWWVhaC4gU28gYXQgdGhlIGJlZ2lubmluZywgSSBmZWx0IGxpa2UgSSB3YXMgbGlrZSwg4oCcSSBkb27igJl0IGtub3cgd2hhdCB0aGlzIG1lYW5zLiBJ4oCZbSBub3QgcmVhbGx5IGZlZWxpbmcgaXQuIFlvdSBqdXN0IHNhaWQgSSBoYXZlIGEgc2xpZ2h0IHV0ZXJpbmUgcHJvbGFwc2UuIFdl4oCZbGwgY2hlY2sgdGhhdCBsYXRlci7igJ0gVGhlbiB5b3UgZG9u4oCZdCBnbyB0byB5b3VyIHZpc2l0IHVudGlsIGhvd2V2ZXIgbWFueSB3ZWVrcyBwb3N0cGFydHVtLiBTbyBJIHdhcyBsaWtlLCBva2F5LsKgQnV0IHRoZW4gd2hlbiBJIHdhcyBob21lIGEgY291cGxlIG9mIHdlZWtzIGxhdGVyLCBtYXliZSB0d28gb3Igc28gd2Vla3MsIEkgd2FzIGZlZWxpbmcgaGVhdmluZXNzIG9yIHVuY29tZm9ydGFibGUgb3IgcGFpbiBhIGxpdHRsZSBiaXQuIFRoaXMgZG9lc27igJl0IGZlZWwgbm9ybWFsLiBJIGZlbHQgYnVsZ2luZyBpbiB0aGUgYmVnaW5uaW5nLiBUaGF0IGVtb3Rpb25hbGx5IGFuZCBtZW50YWxseSByZWFsbHkgZ290IHRvIG1lLiBJIHdhcyBsaWtlLCDigJxXaHkgaXMgbXkgYm9keSBkb2luZyB0aGlzP+KAnSBUaGVuIEkgd291bGQgcmVtZW1iZXIgbWVzc2FnaW5nIG15IG1pZHdpZmUgb24gdGhlIGxpdHRsZSBwb3J0YWwgYW5kIHRoZXkgd2VyZSBsaWtlLCDigJxZb3XigJlyZSByZWFsbHkgZWFybHkgcG9zdHBhcnR1bS4gV2Ugd2lsbCB0YWxrIHdoZW4gd2Ugc2VlIHlvdSzigJ0gYW5kIG5vIGhlbHAuIEnigJltIGxpa2UsIOKAnFdlbGwsIHRoYXQgZG9lc27igJl0IGhlbHAgbWUgbm93IHdoZW4gSeKAmW0gbm90IGZlZWxpbmcgZ3JlYXQuIEl0IGRvZXNu4oCZdCBoZWxwIG1lIHdoZW4gSeKAmW0ganVzdCBsaWtlLCB5ZWFoLsKgVGhleSB3ZXJlIGxpa2UsIOKAnE1vc3Qgb2YgdGhlIHRpbWUsIGl0IHdpbGwgcmVzb2x2ZeKAnSBvciB3aGF0ZXZlci4gSXTigJlzIGxpa2UsIG9rYXkgYnV0IEnigJltIG5vdCBoYXBweSByaWdodCBub3cuIEnigJltIG5vdCBmZWVsaW5nIGdyZWF0IG5vdy4gU28gZmluYWxseSwgYXMgc29vbiBhcyBJIGRpZCBoYXZlIG15IHBlbHZpYyBmbG9vciBQVCBmcm9tIGJlZm9yZSwgSSBlbWFpbGVkIGhlciBsaWtlLCDigJxIZXksIGlzIHRoZXJlIGFueXRoaW5nIHlvdSBjYW4gcmVjb21tZW5kIGJlY2F1c2UgSeKAmW0gbm90IHNlZWluZyBteSBtaWR3aWZlIGZvciBhIHdoaWxlPyBObyBvbmUgaXMgcmVhbGx5IGhlbHBpbmcgbWUgb3V0LuKAnSBTaGUgd2FzIGxpa2UsIOKAnFllYWgsIHlvdSBjYW4gY29tZSBpbi4gSSBjYW7igJl0IHJlYWxseSBkbyBhbiBleGFtIHlldCBiZWNhdXNlIHlvdSBhcmUgc3RpbGwgc28gZWFybHksIGJ1dCBJIGNhbiBzZWUgeW91LiBJIGNhbiB0YWxrIHRvIHlvdS4gSSBjYW4gbG9vayBhdCB0aGluZ3MgYW5kIHNlZSB3aGF0IGlzIGhhcHBlbmluZy7igJ3CoFNvIHRoYXQgd2FzIHJlYWxseSBoZWxwZnVsLiBXaGF04oCZcyBpbnRlcmVzdGluZyBpcyBub3csIEnigJltIGhvd2V2ZXIgbWFueSBtb250aHMgcG9zdHBhcnR1bSwgYnV0IGV2ZW4gSSBmZWVsIGxpa2UgYSBtb250aCBvciB0d28gd2hlbiBJIGNvdWxkIGdvIG9udG8gbXkgcGVsdmljIGZsb29yIFBULCBzaGUgZGlkbuKAmXQgc2VlIGFueSBzb3J0IG9mIHV0ZXJpbmUgcHJvbGFwc2UsIGJ1dCBJIHRoaW5rIEkgaGF2ZSBhIHNsaWdodCBibGFkZGVyIGN5c3RvY2VsZSBzbyBJ4oCZbSBub3Qgc3VyZSB3aGVyZSB0aGUgdXRlcmluZSB0aGluZyBoYXBwZW5lZCBpbiB0aGUgYmVnaW5uaW5nIG9mIHdoZW4gSSBkZWxpdmVyZWQgYW5kIHRoZXkgaGFkIHNhaWQgSSBoYWQgdXRlcmluZSBwcm9sYXBzZSwgYnV0IG5vdywgaXQgbG9va3MgbGlrZSBpdOKAmXMganVzdCBhIHNsaWdodCBjeXN0b2NlbGUuwqBCdXQgd2hhdOKAmXMgZnJ1c3RyYXRpbmcgYWJvdXQgd2hhdCBJ4oCZdmUgbm90aWNlZCB3aXRoIHBlb3BsZSB3aXRoIHByb2xhcHNlIGlzIGEpIHRoZSBncmFkZXMgZG9u4oCZdCBzZWVtaW5nbHkgbWF0dGVyIGluIHRoYXQgeW91IGNhbiBiZSBhIGdyYWRlIDEgcHJvbGFwc2Ugd2hpY2ggSSB0aGluayB0ZWNobmljYWxseSBJIHByb2JhYmx5IGFtLCBidXQgaWYgeW91IGFyZSBoYXZpbmcgc3ltcHRvbXMsIHRoZW4gbGV04oCZcyBnZXQgdGhhdCBmaWd1cmVkIG91dCBiZWNhdXNlIHNvIG1hbnkgdGltZXMsIHBlb3BsZSB3b3VsZCBiZSBsaWtlLCDigJxXZWxsLCBpdOKAmXMgbm90IGJhZOKAnSBvciDigJxJIGRvbuKAmXQgZXZlbiBzZWUgYW55dGhpbmcs4oCdIGJ1dCBpdOKAmXMgbGlrZSwg4oCcT2theSwgd2VsbCBJIGFtIGZlZWxpbmcgdGhlc2Ugc3ltcHRvbXMgYW5kIGl0IGlzIG1lbnRhbGx5IGNhdXNpbmcgbWXigJMgaXTigJlzIG1ha2luZyBtZSBpbiBteSBoZWFkLiBJdOKAmXMgbWFraW5nIG1lIGRlcHJlc3NlZC4gSXTigJlzIG1ha2luZyBtZSB1cHNldCBhYm91dCBteSBib2R5IHNvIGxldOKAmXMgZmluZCBzb21lb25lIHRvIGFjdHVhbGx5IHdvcmsgb24gdGhhdCB3aXRoIG1lIGluc3RlYWQgb2YgZGlzbWlzc2luZyB0aGF0IHdhcyBodWdlIGJlY2F1c2UgeWVhaC4gSSBkb27igJl0IGhhdmUgYSBncmFkZSA0IHByb2xhcHNlIG9yIGdyYWRlIDMgb3Igd2hhdGV2ZXIgaXQgaXMgdGhhdCB5b3UgY29uc2lkZXIgYmFjaywgYnV0IGlmIGl04oCZcyBtYWtpbmcgbXkgZGF5LXRvLWRheSBhbmQgbWUgbm90IGJlIGFibGUgdG8gZG8gdGhpbmdzLCB0aGVuIHRoYXTigJlzIGEgcHJvYmxlbS7CoE1lYWdhbjogWWVzLiBJIGxvdmUgdGhhdCB5b3UgYXJlIHRhbGtpbmcgYWJvdXQgdGhhdC4gV29tZW4gb2YgU3RyZW5ndGgsIGF0IGxlYXN0IGhlcmUgaW4gdGhlIFUuUy4sIHRha2Ugd2F5IHRvbyBsb25nIHRvIGJlIGNoZWNrZWQgaW4gb24gYWZ0ZXIgaGF2aW5nIGEgYmFieS4gU2l4IHdlZWtzIGlzIG1pbmQtYm9nZ2xpbmcgdG8gbWUuIEEgbG90IGhhcHBlbnMgaW4gc2l4IHdlZWtzLiBXZSBoYXZlIGEgbG90IG9mIGhvcm1vbmVzIHNoaWZ0aW5nLiBXZSBoYXZlIGEgbG90IG9mIHJlY292ZXJpbmcuIFdlIGhhdmUgYSBsb3Qgb2YgdGhpbmdzIHRoYXQgbWF5IG5lZWQgdG8gYmUgYWRkcmVzc2VkIGVhcmxpZXIgb24gb3IgdGhhdCBjYW4gc3RhcnQgaGVscGluZyB1cyB3aXRoIG91ciBtZW50YWwgaGVhbHRoLiBUaGVyZSBhcmUgc28gbWFueSB0aGluZ3MuwqBJIGFncmVlLiBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBhbnkgdHlwZSBvZiB0aGVzZSBzeW1wdG9tcyBhbmQgeW91ciBoZWFydCBpcyBsaWtlLCDigJxUaGlzIGlzbuKAmXQgZ29vZCBvciB0aGlzIGlzIGFmZmVjdGluZyBtZSzigJ0gcmVhY2ggb3V0IHRvIHNvbWVvbmUuIElmIHlvdeKAmXJlIE9CIG9yIHlvdXIgbWlkd2lmZSdzIG9mZmljZSBpcyBsaWtlLCDigJxXZeKAmWxsIHNlZSB5b3UgYXQgc2l4IHdlZWtzLOKAnSBnbyB0byB0aGF0IHBlbHZpYyBmbG9vciBQVC4gUmV2aWV3IHdpdGggdGhlbS7CoDMyOjAxIFN5bXB0b21zIG9mIHV0ZXJpbmUgcHJvbGFwc2VNZWFnYW46IEkgd2FudCB0byB0YWxrIGFib3V0IHNvbWUgb2YgdGhlIHN5bXB0b21zIG9mIHV0ZXJpbmUgc3BlY2lmaWNhbGx5IGFuZCB3aGF0IGl0IGlzLiBVdGVyaW5lIHByb2xhcHNlIG9jY3VycyB3aGVuIHRoZSBtdXNjbGVzIGFuZCB0aXNzdWVzIGluIHlvdXIgcGVsdmlzIGFyZSB3ZWFrZW5lZC4gV2Uga25vdyB0aGF0IHRocm91Z2ggY2hpbGRiaXJ0aCwgdGhhdCBoYXBwZW5zLiBXZSBwdXNoIGFuZCBzb21ldGltZXMgd2hlbiB3ZSBwdXNoIGxvbmdlciBob3VycyBvciB3aGF0ZXZlciwgd2UgY2FuIHdlYWtlbiB0aGF0LsKgQnV0IG1vc3QgcGVvcGxlIHdpdGggdXRlcmluZSBwcm9sYXBzZSBhcmUgYSBsaXR0bGUgb2xkZXIuIFRoZXkgYXJlIDUwLTgwIHllYXJzIG9sZCBidXQgaXQgY2FuIGhhcHBlbiBpbiBjaGlsZGJpcnRoLiBTbyBoZXJlIGFyZSBzb21lIG9mIHRoZSBzeW1wdG9tcy7CoExlYWtpbmcgb2YgdXJpbmUsIGluYWJpbGl0eSB0byBjb21wbGV0ZWx5IGVtcHR5IHlvdXIgYmxhZGRlcuKAkyBzbyB5b3UgZ28gdG8gdGhlIGJhdGhyb29tLCB5b3Ugc3RhbmQgdXAgYW5kIHlvdeKAmXJlIGxpa2UsIOKAnE9oLCB0aGVyZeKAmXMgbW9yZSzigJ0gb3IgeW91IHN0YXJ0IGxlYWtpbmcgbW9yZS4gVGhhdCBoZWF2aW5lc3MgZG93biB0aGVyZeKAkyBzbyBJIGhhZCBhIGN5c3RvY2VsZSBhcyB3ZWxsLiBJdOKAmXMgc28gd2VpcmQsIGJ1dCBJIHJlbWVtYmVyIHdhbnRpbmcgdG8gc2l0IG9uIHRoZSBjb3JuZXIgb2YgdGhlIGNvdWNoIG9yIG9uIHRoZSBlZGdlIG9mIHRoZSBjb3VjaCBqdXN0IHRvIHB1dCBzb21lIGNvdW50ZXIgcHJlc3N1cmUuIERvIHlvdSBrbm93IHdoYXQgSSBtZWFuP8KgSGF5bGV5OiBZZXAuIFllcC7CoE1lYWdhbjogVGhhdCBidWxnaW5nLCBsb3dlciBiYWNrIHBhaW4gd2hpY2ggYSBsb3Qgb2YgdGhlIHRpbWUgd2UgYXJlIGxpa2UsIOKAnE9oLCBiYWNrIHBhaW4uIFdlIGFyZSBudXJzaW5nLiBXZSBhcmUgcmVjb3ZlcmluZy4gV2UgYXJlIGh1bmNoZWQuIFllYWgsIHRoYXTigJlzIG5vcm1hbC7igJ0gTG93ZXIgYmFjayBwYWluIGlzIG5vdCBuZWNlc3NhcmlseSBub3JtYWwuIEFjaGluZyBvciBmZWVsaW5nIHRoYXQgaW4geW91ciBsb3dlciBhYmRvbWVuIG9yIGRvd24gaW4geW91ciBwZWx2aWMgYXJlYSBhbmQgZXZlbiBzZXZlcmUgY29uc3RpcGF0aW9uLiBXZSBrbm93IHRoYXQgYWZ0ZXIgY2hpbGRiaXJ0aCwgZXNwZWNpYWxseSBpZiB3ZSBoYXZlIGFuIGVwaWR1cmFsIG9yIHdl4oCZdmUgaGFkIGEgbG90IG9mIGludGVydmVudGlvbiBhbmQgc3R1ZmYgbGlrZSB0aGF0LCBjb25zdGlwYXRpb24gY2FuIGhhcHBlbi4gQSBsb3Qgb2YgcGVvcGxlIGdldCBpcm9uIHN1cHBsZW1lbnRzIGFuZCBzdHVmZiBsaWtlIHRoYXQgdG8gaGF2ZSB0aGF0IGJlIGxlc3NlbmVkLCBidXQgdGhlc2UgYXJlIHN5bXB0b21zIHRoYXQgdHJ1bHkgbmVlZCB0byBiZSBkaXNjdXNzZWQgYW5kIG5vdCBpZ25vcmVkIGZvciBzaXggd2Vla3MgYmVjYXVzZSBsaWtlIEhheWxleSB3YXMgc2F5aW5nLCBpdCBjYW4gc3RhcnQgd2VhcmluZyBvbiBvdXIgbWVudGFsIGhlYWx0aC4gSSByZW1lbWJlciB3YW50aW5nIHRvIGdvIG91dCBhbmQgd2FsayBhcm91bmQgdGhlIGJsb2NrIHdpdGggbXkga2lkcyBhbmQganVzdCB3YW50aW5nIHRvIGhvbGQgbXlzZWxmIGRvd24gdGhlcmUgYmVjYXVzZSBpdCB3YXMgc28gYnVsZ3kgYW5kIGFjaHkuwqBIYXlsZXk6IFllcy7CoE1lYWdhbjogQWNjb3JkaW5nIHRvIGEgc3R1ZHksIGl0IHNhaWQgdGhhdCBhcm91bmQgMzUlIG9mIHdvbWVuIHdobyBoYXZlIHJlY2VudGx5IGdpdmVuIGJpcnRoIHN1ZmZlciBmcm9tIHByb2xhcHNlLiAzNSUuIFRoYXTigJlzIGEgbG90IG9mIHVzLCB5b3UgZ3V5cy4gQSBsb3Qgb2YgcGVvcGxlLiBUaGUgY3lzdG9jZWxlIGlzIHdoZW4gdGhlIHdhbGwgYmV0d2VlbiB0aGUgYmxhZGRlciBhbmQgdGhlIHZhZ2luYWwgd2FsbCB3ZWFrZW5zIHNvIHdlIGNhbuKAmXQga2VnZWwuIEl04oCZcyBub3QgdGlnaHQuIEl04oCZcyB3ZWFrZW5lZCBzbyBpdCBjb21lcyBkb3duLsKgQWdhaW4sIGlmIHlvdSBhcmUgZXhwZXJpZW5jaW5nIGFueSBvZiB0aGVzZSBzeW1wdG9tcywga25vdyB0aGF0IGl04oCZcyBub3QgbmVjZXNzYXJpbHkgc29tZXRoaW5nIHlvdSBoYXZlIHRvIGp1c3QgZGVhbCB3aXRoLiBBbmQgeWVzLCBpdCB3aWxsIHByb2JhYmx5IHJlc29sdmUgaW4gdGltZSwgYnV0IHlvdSBjb3VsZCBhbHNvIHByb2JhYmx5IGdldCBzb21lIGhlbHAgc29vbmVyIHJhdGhlciB0aGFuIGxhdGVyIGFuZCBoZWxwIHlvdXJzZWxmIG1lbnRhbGx5IG5vdCB3b3JyeSBhYm91dCB0aGF0LsKgSSBoYXZlIGEgZnJpZW5kIHdobyBoYWQgYSBwcmV0dHkgaGlnaC1ncmFkZSBwcm9sYXBzZS4gU2hlIGVuZGVkIHVwIHNjaGVkdWxpbmcgd2hpY2ggaXMgdG90YWxseSBmaW5lLiBTaGUgZW5kZWQgdXAgc2NoZWR1bGluZyBDLXNlY3Rpb25zIGZvciB0aGUgcmVzdCBvZiBoZXIgYmlydGhzIGJlY2F1c2Ugc2hlIHdhcyBzbyB0ZXJyaWZpZWQgb2YgaGF2aW5nIHRoYXQgaXNzdWUgYmVjYXVzZSBzaGUgZGlkIGhhdmUgYmxhZGRlciBhbmQgZmVjYWwgaXNzdWVzLiBXaGVuIHlvdSBhcmUgcGVlaW5nIGFuZCBwb29waW5nIHlvdXJzZWxmLCB0aGF04oCZcyBub3QgZnVuLiBJdOKAmXMgbm90IGZ1biwgYnV0IHlvdSBjYW4gZ2V0IHRoZSBzdXBwb3J0IG91dCB0aGVyZSBhbmQgeW91IGRlc2VydmUgdGhlIHN1cHBvcnQgYW5kIHlvdSBkbyBub3QgbmVlZCB0byBiZSBwdXNoZWQgb2ZmIGZvciBzaXggd2Vla3MuwqBNYWtlIHN1cmUgdG8gZm9sbG93IHlvdXIgaGVhcnQgYW5kIGdldCB0aGUgaGVscCB5b3UgbmVlZC7CoDM1OjI5IFByb2xhcHNlIGNhbiBoYXBwZW5IYXlsZXk6IFllYWgsIGV4YWN0bHkuIEkgdGhpbmsgYW5vdGhlciB0aGluZyB0aGF0IEkgd291bGQgaGF2ZSBsb3ZlZCB0byBoYXZlIGtub3duLCBJIGZlZWwgbGlrZSBubyBvbmUgdGFsa3MgYWJvdXQgcHJvbGFwc2UuIFdoZW4gSSB3ZW50IHRocm91Z2ggbXkgcHJlZ25hbmN5IGNsYXNzZXMgb3IgZXZlbiBqdXN0IHdpdGggdGhlIGRvY3RvciBvciB3aXRoIG15IG1pZHdpZmUsIG5vIG9uZSBldmVyIG1lbnRpb25lZCwg4oCcT2gsIHRoaXMgY291bGQgaGFwcGVuLiBUaGlzIGNvdWxkIGJlIGEgY29tcGxpY2F0aW9uLiBUaGlzIGNvdWxkIGhhcHBlbiBhZnRlciBiaXJ0aC7igJ0gTm8gb25lIGV2ZXIgbWVudGlvbmVkIHRoYXQgdG8gbWUsIHNvIEkgd2FzIGxpa2UsIOKAnEkgZG9u4oCZdCBldmVuIGtub3cgd2hhdCB0aGlzIGlzLOKAnSB0aGVuIEkgZmVsdCByZWFsbHkgYWxvbmUgbGlrZSwg4oCcV2h5IGFtIEkgdGhlIG9ubHkgcG9zdHBhcnR1bSBwZXJzb24gd2hvIGhhcyB0aGlzIGhhcHBlbj/igJ3CoE1lYWdhbjogUmlnaHQgb3IgdGhhdOKAmXMganVzdCB0YWxraW5nIGFib3V0IGl0LsKgSGF5bGV5OiBJbiByZWFsaXR5LCBJ4oCZbSBub3QuwqBNZWFnYW46IE5vLCB5b3XigJlyZSBub3QuIFllYWguIFRoZXJlIGFyZSBhIHRvbiBvZiByaXNrIGZhY3RvcnMsIGJ1dCBnaXZpbmcgYmlydGggaXMgZWFzaWx5IHRoZSBoaWdoZXN0IHJpc2suIFRoaW5rIGFib3V0IHRoZSBhbW91bnQgb2YgcHJlc3N1cmUgdGhhdCB3ZSBhcmUgcHV0dGluZyBvbiBvdXIgcGVsdmljIGZsb29yIGFuZCBvdXIgb3JnYW5zIHdoZW4gd2UgYXJlIHB1c2hpbmcgb3V0IGEgYmFieS4gSSB0aGluayB0aGF0IGlzIGFub3RoZXIgcmVhc29uLiBJIGtub3cgeW91IGRpZCB0aGlzLiBJIGtub3cgeW91IHdlbnQgdG8gcGVsdmljIFBUIGJlZm9yZWhhbmQsIGJ1dCBlc3BlY2lhbGx5IGlmIHlvdeKAmXZlIGhhZCB0aGlzIGluIHRoZSBwYXN0IG9yIHlvdSBhcmUgdGhpbmtpbmcgYWJvdXQgdGhpcywgdGFsayB0byB5b3VyIHBlbHZpYyBmbG9vciBQVCBhbmQgc2F5LCDigJxPa2F5LiBDYW4geW91IGdpdmUgbWUgc29tZSBndWlkYW5jZSBvbiBwdXNoaW5nPyBDYW4gd2UgdGFsayBhYm91dCBob3cgdG8gdHJ5IHRvIGF2b2lkIHRoaXM/4oCdwqBJIGFjdHVhbGx5IGhhZCBhbm90aGVyIGNsaWVudOKAkyBteSBvdGhlciBvbmUgd2FzIGp1c3QgYSBmcmllbmQuIEkgd2FzbuKAmXQgaGVyIGRvdWxhLCBidXQgdGhpcyB3YXMgYSBjbGllbnQuIFNoZSBoYWQgc29tZSBwcmV0dHkgcm91Z2ggUFQgdGhpbmdzIGFuZCBoYWQgdG8gZ28gdGhyb3VnaCBhIGxvdCBvZiBQVC4gVGhhdCB3YXMgaGVyIHRoaW5nIGFuZCB0aGV5IHNhaWQsIOKAnEFzIHNvb24gYXMgeW91IGZlZWwgdGhpcywgSSB3YW50IHlvdSB0byBjaGFuZ2UgcG9zaXRpb25zLiBJIHdhbnQgeW91IHRvIHB1c2ggZGlmZmVyZW50bHkuIEkgd2FudCB5b3UgdG8gYnJlYXRoZSBkaWZmZXJlbnRseS7igJ0gU2hlIGJlbGlldmVzIHRoYXQgaGVyIHdvcmsgYmVmb3JlIGFuZCBoZXIgd29yayBkdXJpbmcgYW5kIGhlciBkaWZmZXJlbnQgc3R5bGUgb2YgcHVzaGluZyBoZWxwZWQuIEJhYnkgY2FtZSBvdXQgcmVhbGx5IGZhc3QuIFNoZSBhY3R1YWxseSBkaWRu4oCZdCBoYXZlIGFueSBwZWx2aWMgaXNzdWVzIHdoaWNoIHdhcyBhIHJlYWxseSBncmF0ZWZ1bCB0aGluZyBmb3IgaGVyIGJlY2F1c2Ugc2hlIGhhZCBhIHByZXR0eSBzZXZlcmUgY29tcGxpY2F0aW9uLsKgWWVhaC4gSXQgZG9lc27igJl0IGFsd2F5cyBoYXZlIHRvIGJlIHRoYXQgc28gdGhhdCB3YXMgYW5vdGhlciBtZXNzYWdlLiBJZiB5b3UgaGF2ZSBpdCwgaXQgZG9lc27igJl0IGhhdmUgdG8gYmUgbGlrZSB0aGF0IG5leHQgdGltZSBvciBpdCBkb2VzbuKAmXQgbWVhbiBpdOKAmXMgYWx3YXlzIGdvaW5nIHRvIGJlIGxpa2UgdGhhdCBuZXh0IHRpbWUuIEJ1dCBrbm93IHRoYXQgaWYgeW91IGFyZSBoYXZpbmcgdGhhdCwgeW914oCZcmUgcHJvYmFibHkgbm90IHRoZSBvbmx5IG9uZS4gMzUlIG9mIHVzLCB0aGF04oCZcyBhIGxhcmdlIGNodW5rIG9mIHBlb3BsZS4gVGhhdOKAmXMgcmlnaHQgdXAgdGhlcmUgd2l0aCB0aGUgQ2VzYXJlYW4gcmF0ZS4gSXTigJlzIHF1aXRlIGhpZ2guwqBIYXlsZXk6IFRoYXTigJlzIHRydWUuwqBNZWFnYW46IFNvIGtub3cgdGhhdCBpdOKAmXMgb2theSB0byB0YWxrIGFib3V0IGl0LiBJdOKAmXMgb2theSB0byBvcGVuIHVwLiBZb3UgZG8gbm90IGhhdmUgdG8gZGVhbCB3aXRoIGl0LiBZb3UgY2FuIGdldCBoZWxwIGFuZCB5b3UgZGVzZXJ2ZSBpdC7CoEhheWxleTogWWVhaC4gWWVhaC4gRXhhY3RseS4gSSBmZWVsIGxpa2UgZm9yIGEgd2hpbGUsIEkganVzdCBjcmllZCB0byBteSBodXNiYW5kIGFuZCBoZSB3YXMgbGlrZSwg4oCcSXTigJlzIG9rYXkgdG8gZmVlbCB0aGlzIHdheS7igJ0gU3RvcCBibGFtaW5nIHlvdXJzZWxmLiBSZWFsbHkgZ2V0dGluZyBvdXQgb2YgeW91ciBoZWFkLiBZb3UgZGlkbuKAmXQgY2F1c2UgdGhpcyBhbmQgeWVhaC4gWW91IGNhbiBhYnNvbHV0ZWx5IGdldCBoZWxwLiBJZiBwZW9wbGUgYXJlIHB1c2hpbmcgeW91IG9mZiwgbGV04oCZcyBmaW5kIHNvbWVib2R5IGVsc2UgdGhlbiB3aG8gd2lsbCB0YWxrIHRvIHlvdSBpbiB0aGUgbWVhbnRpbWUgYmVjYXVzZSB5b3VyIG1lbnRhbCBoZWFsdGggbWF0dGVycy4gSG93IHlvdSBhcmUgZmVlbGluZyBtYXR0ZXJzIGJlY2F1c2UgeWVhaC4gTm93LCBoZXJlIEkgYW0gZ2V0dGluZyBjbG9zZSB0byBhIHllYXIgcG9zdHBhcnR1bSBhbmQgSeKAmW0gZmVlbGluZyBzbyBtdWNoIGJldHRlciwgYnV0IGl04oCZcyBiZWNhdXNlIEnigJl2ZSBiZWVuIGxpc3RlbmluZyB0byBteSBib2R5IGFuZCBJ4oCZdmUgYmVlbiB3b3JraW5nIHdpdGggYSBQVCBkb2luZyBleGVyY2lzZXMgYW5kIHN1cHBvcnRpbmcgbXlzZWxmIGFuZCB3b3JraW5nIG9uIGRyaW5raW5nIHdhdGVyLCBub3QgZ2V0dGluZyBjb25zdGlwYXRlZCBsaWtlIHlvdSBzYWlkIGFuZCBhbGwgb2YgdGhlc2UgdGhpbmdzLsKgQWdhaW4sIHdlcmUgdGhlcmUgdGltZXMgaW4gbXkgcG9zdHBhcnR1bSBqb3VybmV5IHdoZW4gSSB3YXMgbGlrZSwg4oCcVGhpcyBpcyBub3Qgd2hhdCBJIHdhbnQgdG8gYmUgZGVhbGluZyB3aXRoP+KAnSBZZXMuIEJ1dCB5b3UgY2FuIGFic29sdXRlbHnigJMgaXQgZG9lcyBnZXQgYmV0dGVyLiBJZiB5b3XigJlyZSBmZWVsaW5nIHRoaXMgd2F5LCBpdCBzdWNrcyBhbmQgeW91IGZlZWwgbGlrZSBpdOKAmXMgbmV2ZXIgZ29pbmcgdG8gZ2V0IGJldHRlci4gSSBnZXQgaXQuIEkgd2FzIHRoZXJlLCBidXQgaXQgcmVhbGx5IGRvZXMgYW5kIHlvdeKAmXJlIG5vdCB0aGUgb25seSBwZXJzb24uwqBBdCB0aGUgc2FtZSB0aW1lLCBJIGRvbuKAmXQgd2FudCB0byBzY2FyZSBwZW9wbGUuIFRoaXMgbWF5IG5vdCBoYXBwZW4gdG8geW91IGVpdGhlciBmb3Igc3VyZS4gQnV0IGlmIGl0IGRvZXMsIGxpc3RlbiB0byB5b3Vyc2VsZiBhbmQgeW91IGNhbiBnZXQgaGVscC7CoE1lYWdhbjogQW5kIHRoYXTigJlzIHRoZSBtZXNzYWdlLCByaWdodD8gSXTigJlzIG5vdCBnb2luZyB0byBoYXBwZW4gdG8gZXZlcnlib2R5IGJ1dCBpdCBkb2VzIGhhcHBlbiBhbmQgaXTigJlzIGltcG9ydGFudCB0byBrbm93IHRoYXQgeW91IGRvbuKAmXQgaGF2ZSB0byBpZ25vcmUgaXQuIFlvdSBkb27igJl0IGhhdmUgdG8gc3VmZmVyIGluIHNpbGVuY2UuIFlvdSBjYW4gZ2V0IGhlbHAgYW5kIGhhdmUgYSBiZXR0ZXIgcG9zdHBhcnR1bS4gVGhlcmUgYXJlIHRvbnMgb2YgdGhpbmdz4oCTIEkgdGhpbmsgSeKAmXZlIHRhbGtlZCBhYm91dCB0aGlz4oCTIGluIG15IHBvc3RwYXJ0dW0gam91cm5leSB3aGVyZSBJIHdhcyBsaWtlLCDigJxJIGdvdCB0aGUgYmlydGggSSB3YW50ZWQsIGJ1dCBJ4oCZbSBzbyBmcnVzdHJhdGVkIHRoYXQgdGhlc2UgdGhpbmdzIGFyZSBoYXBwZW5pbmcu4oCdIFlvdSBjYW4gYWxzbyBoYXZlIGJvdGggb2YgdGhvc2UgZmVlbGluZ3MuIFlvdSBjYW4gYmUgc3VwZXIgaGFwcHkgZm9yIHlvdXIgYmlydGggYnV0IGFsc28gcmVhbGx5IGZydXN0cmF0ZWQgd2l0aCB5b3VyIHBvc3RwYXJ0dW0gam91cm5leSBvciB2aWNlIHZlcnNhIHdoZXJlIHlvdeKAmXJlIGxpa2UsIOKAnEkgaGFkIGEgcmVhbGx5IGNyYXBweSBiaXJ0aCwgYnV0IG1hbiwgSeKAmW0gc28gZ3JhdGVmdWwgZm9yIHRoaXMgcG9zdHBhcnR1bSBqb3VybmV5LuKAnSBZb3UgY2FuIGhhdmUgdGhvc2UgZmVlbGluZ3MgdG9nZXRoZXIuIFlvdSBkb27igJl0IGhhdmUgdG8gYmUgcXVpZXQgYmVjYXVzZSB5b3UgaGFkIHRoZSBiaXJ0aCB0aGF0IGV2ZXJ5b25lIGtuZXcgeW91IHdhbnRlZC7CoEhheWxleTogUmlnaHQsIGV4YWN0bHkuIEl0IGRvZXNu4oCZdCBkaW1pbmlzaCBob3cgcHJvdWQgSSBhbSBvZiBoYXZpbmcgYSBuYXR1cmFsIFZCQUMgYW5kIGRvaW5nIHRoYXQgZXZlbiB0aG91Z2ggYXQgdGltZXMgaW4gdGhlIGJlZ2lubmluZywgSSBkaWQgcXVlc3Rpb24gdGhhdC7CoE1lYWdhbjogT2ggeWVhaC4gWWVhaC4gVGhhdOKAmXMgbmF0dXJhbC7CoEhheWxleTogQnV0IGxvb2tpbmcgYmFjaywgSeKAmW0gbGlrZSwg4oCcVGhhdOKAmXMgYW1hemluZy7igJ0gSeKAmW0gc28gcHJvdWQgb2YgbXlzZWxmIHRoYXQgSSBhY2hpZXZlZCBhIFZCQUMgYW5kIGhhZCBhbiB1bm1lZGljYXRlZCBvbmUuIEl04oCZcyBqdXN0IGNyYXp5IHRvIG1lLsKgTWVhZ2FuOiBBYnNvbHV0ZWx5LiBXZWxsLCB0aGFuayB5b3UgZm9yIHNoYXJpbmcgeW91ciBzdG9yeSB0b2RheS7CoEhheWxleTogVGhhbmsgeW91IGZvciBoYXZpbmcgbWUuIEkga25vdyBJIGNhbiB0YWxrIGEgbG90LsKgTWVhZ2FuOiBJdCB3YXMgd29uZGVyZnVsLsKgQ2xvc2luZ1dvdWxkIHlvdSBsaWtlIHRvIGJlIGEgZ3Vlc3Qgb24gdGhlIHBvZGNhc3Q/IFRlbGwgdXMgYWJvdXQgeW91ciBleHBlcmllbmNlIGF0IHRoZXZiYWNsaW5rLmNvbS9zaGFyZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gYWxsIHRoaW5ncyBWQkFDIGluY2x1ZGluZyBvbmxpbmUgYW5kIGluLXBlcnNvbiBWQkFDIGNsYXNzZXMsIFRoZSBWQkFDIExpbmsgYmxvZywgYW5kIE1lYWdhbuKAmXMgYmlvLCBoZWFkIG92ZXIgdG8gdGhldmJhY2xpbmsuY29tLiBDb25ncmF0dWxhdGlvbnMgb24gc3RhcnRpbmcgeW91ciBqb3VybmV5IG9mIGxlYXJuaW5nIGFuZCBkaXNjb3Zlcnkgd2l0aCBUaGUgVkJBQyBMaW5rLlN1cHBvcnQgdGhpcyBwb2RjYXN0IGF0IOKAlCBodHRwczovL3JlZGNpcmNsZS5jb20vdGhlLXZiYWMtbGluay9kb25hdGlvbnNBZHZlcnRpc2luZyBJbnF1aXJpZXM6IGh0dHBzOi8vcmVkY2lyY2xlLmNvbS9icmFuZHMiLCJkdXJhdGlvbiI6eyJ0b3RhbE1pbGxpc2Vjb25kcyI6MjQ2NTgyOH0sImlkIjoiMkdybEFmTUhmcjY3RWw5Ujd5VXFUSyIsIm1lZGlhVHlwZXMiOlsiQVVESU8iXSwibmFtZSI6IkVwaXNvZGUgMjkwIEhheWxleSdzIFVubWVkaWNhdGVkIFZCQUMgKyBFcGlkdXJhbCBhbmQgUHJvbGFwc2UgVGFsayIsInBsYXlhYmlsaXR5Ijp7InBsYXlhYmxlIjp0cnVlLCJyZWFzb24iOiJQTEFZQUJMRSJ9LCJwbGF5ZWRTdGF0ZSI6eyJwbGF5UG9zaXRpb25NaWxsaXNlY29uZHMiOjAsInN0YXRlIjoiTk9UX1NUQVJURUQifSwicG9kY2FzdFYyIjp7Il9fdHlwZW5hbWUiOiJQb2RjYXN0UmVzcG9uc2VXcmFwcGVyIiwiZGF0YSI6eyJfX3R5cGVuYW1lIjoiUG9kY2FzdCIsImNvdmVyQXJ0Ijp7InNvdXJjZXMiOlt7ImhlaWdodCI6NjQsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMGY2OGRiYjVmNzZiYTQzMmRmYzMwM2YzN2Y4MDYiLCJ3aWR0aCI6NjR9LHsiaGVpZ2h0IjozMDAsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMDVmMWZiYjVmNzZiYTQzMmRmYzMwM2YzN2Y4MDYiLCJ3aWR0aCI6MzAwfSx7ImhlaWdodCI6NjQwLCJ1cmwiOiJodHRwczovL2kuc2Nkbi5jby9pbWFnZS9hYjY3NjU2MzAwMDBiYThhYmI1Zjc2YmE0MzJkZmMzMDNmMzdmODA2Iiwid2lkdGgiOjY0MH1dfSwibmFtZSI6IlRoZSBWQkFDIExpbmsiLCJzaG93VHlwZXMiOltdLCJ1cmkiOiJzcG90aWZ5OnNob3c6MzZiVnhxT0dkMUVZY1Iwb0p0ZUY1biJ9fSwicmVsZWFzZURhdGUiOnsiaXNvU3RyaW5nIjoiMjAyNC0wNC0xMFQwNzoxMDowMFoifSwicmVzdHJpY3Rpb25zIjp7InBheXdhbGxDb250ZW50IjpmYWxzZX0sInVyaSI6InNwb3RpZnk6ZXBpc29kZToyR3JsQWZNSGZyNjdFbDlSN3lVcVRLIn0seyJfX3R5cGVuYW1lIjoiRXBpc29kZSIsImF1ZGlvIjp7Iml0ZW1zIjpbeyJmaWxlSWQiOiJhNGJlZjIxNDg2MmRkYjhmZGI4MWFlMDUwNDBlMTMwZTE1MTdjMTk2IiwiZm9ybWF0IjoiTVA0XzEyOF9EVUFMIiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvYTRiZWYyMTQ4NjJkZGI4ZmRiODFhZTA1MDQwZTEzMGUxNTE3YzE5NiJ9LHsiZmlsZUlkIjoiZWIzY2I5NjdhNjMwOWM4ZDMyM2VlOGUyODQwZGQ5NWYwOGQyNzBhOCIsImZvcm1hdCI6Ik1QNF8xMjhfQ0JDUyIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3L2ViM2NiOTY3YTYzMDljOGQzMjNlZThlMjg0MGRkOTVmMDhkMjcwYTgifSx7ImZpbGVJZCI6Ijg0MzVkYWYzNTJiYjg1MTAzNzEzMjcwNjc2ODczYWNlYzhiOGVmMGIiLCJmb3JtYXQiOiJBQUNfMjQiLCJ1cmwiOiJodHRwczovL3Auc2Nkbi5jby9tcDMtcHJldmlldy84NDM1ZGFmMzUyYmI4NTEwMzcxMzI3MDY3Njg3M2FjZWM4YjhlZjBiIn0seyJmaWxlSWQiOiI4YjFiNjMxYWRiOTgxMWJlY2ZhNTdiODQ5ZjYzZDY2NDZjOGViZGE2IiwiZm9ybWF0IjoiT0dHX1ZPUkJJU185NiIsInVybCI6Imh0dHBzOi8vcC5zY2RuLmNvL21wMy1wcmV2aWV3LzhiMWI2MzFhZGI5ODExYmVjZmE1N2I4NDlmNjNkNjY0NmM4ZWJkYTYifSx7ImZpbGVJZCI6IjUyY2JmNjA5YmFmNzllN2QwY2YyNGUwM2JlZDUyZTBlMjk3MWMxMWEiLCJmb3JtYXQiOiJNUDRfMTI4IiwidXJsIjoiaHR0cHM6Ly9wLnNjZG4uY28vbXAzLXByZXZpZXcvNTJjYmY2MDliYWY3OWU3ZDBjZjI0ZTAzYmVkNTJlMGUyOTcxYzExYSJ9XX0sImNvbnRlbnRSYXRpbmciOnsibGFiZWwiOiJOT05FIn0sImNvdmVyQXJ0Ijp7InNvdXJjZXMiOlt7ImhlaWdodCI6NjQsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMGY2OGRlYTZlYjU5ZGY0MGFjZDc0NzI0ODRkMzEiLCJ3aWR0aCI6NjR9LHsiaGVpZ2h0IjozMDAsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMDVmMWZlYTZlYjU5ZGY0MGFjZDc0NzI0ODRkMzEiLCJ3aWR0aCI6MzAwfSx7ImhlaWdodCI6NjQwLCJ1cmwiOiJodHRwczovL2kuc2Nkbi5jby9pbWFnZS9hYjY3NjU2MzAwMDBiYThhZWE2ZWI1OWRmNDBhY2Q3NDcyNDg0ZDMxIiwid2lkdGgiOjY0MH1dfSwiZGVzY3JpcHRpb24iOiJPdXIgZnJpZW5kLCBLZWxzZXksIHNoYXJlcyB3aXRoIHVzIHRvZGF5IHdoYXQgZ2l2aW5nIGJpcnRoIGlzIGxpa2UgaW4gQ2FuYWRhLiBGcm9tIG1vdmluZyBhbmQgdHJhdmVsaW5nIGJldHdlZW4gcHJvdmluY2VzLCBLZWxzZXkgaGFkIGV4cGVyaWVuY2VkIGRpZmZlcmVudCBtb2RlbHMgb2YgY2FyZSBhbmQgd2hlbiBpdCBjYW1lIHRpbWUgdG8gcHJlcGFyZSBmb3IgaGVyIFZCQUMsIHNoZSB3YXMgdmVyeSBwcm9hY3RpdmUgYWJvdXQgY2hvb3NpbmcgYSBiaXJ0aCBlbnZpcm9ubWVudCB3aGVyZSBzaGUgZmVsdCBzYWZlc3QuwqBGcm9tIGEgc2NhcnkgQ2VzYXJlYW4gdW5kZXIgZ2VuZXJhbCBhbmVzdGhlc2lhIHRvIGFuIGVtcG93ZXJpbmcgdW5tZWRpY2F0ZWQgVkJBQyBpbiBhIGJpcnRoIGNlbnRlciwgS2Vsc2V54oCZcyBqb3VybmV5IGlzIGVudGVydGFpbmluZywgYmVhdXRpZnVsLCBhbmQgcG93ZXJmdWwuIFdlIGxvdmUgaGVhcmluZyB0aGUgdW5pcXVlIGRldGFpbHMgb2YgaGVyIHN0b3J5IGluY2x1ZGluZyBnaXZpbmcgYmlydGggYXQgdGhlIHNhbWUgdGltZSBhcyBoZXIgZG91bGEganVzdCBpbiB0aGUgbmV4dCByb29tIG92ZXIhwqBUaGUgcGVyc29uYWxpemVkIGNhcmUgc2hlIHdhcyBnaXZlbiBkdXJpbmcgaGVyIFZCQUMgaXMgc28gZW5kZWFyaW5nIGFuZCBoZWFydHdhcm1pbmcuIEFzIGhlciBodXNiYW5kIG1lbnRpb25lZCwgaXQgc2hvdWxkIGJlIHRoZSBnb2xkIHN0YW5kYXJkIG9mIGNhcmUgYW5kIHdlIGFncmVlIcKgVGhlIFZCQUMgTGluayBCbG9nOiBBc3Npc3RlZCBEZWxpdmVyeUZldGFsIFRhY2h5Y2FyZGlhIGluIHRoZSBEZWxpdmVyeSBSb29tSXMgVGhlcmUgU3RpbGwgYSBQbGFjZSBmb3IgRm9yY2VwcyBpbiBNb2Rlcm4gT2JzdGV0cmljcz9Gb3JjZXBzIERlbGl2ZXJ5IENvbXBsaWNhdGlvbnNOZWVkZWQgV2Vic2l0ZUhvdyB0byBWQkFDOiBUaGUgVWx0aW1hdGUgUHJlcCBDb3Vyc2UgZm9yIFBhcmVudHNGdWxsIFRyYW5zY3JpcHQgdW5kZXIgRXBpc29kZSBEZXRhaWxzwqAwNzozNiBSZXZpZXcgb2YgdGhlIFdlZWswOToyNyBLZWxzZXnigJlzIHN0b3JpZXMxMTo0NyBMb2dpc3RpY3Mgb2YgZ2l2aW5nIGJpcnRoIGluIENhbmFkYTE0OjM4IEEgbm9ybWFsIHByZWduYW5jeTE3OjUwIEFycml2aW5nIGF0IHRoZSBob3NwaXRhbDIxOjM3IFN0YWxsaW5nIGF0IDcgY2VudGltZXRlcnMyNjoyMiBBc3luY2xpdGljIGFuZCBPUCBwb3NpdGlvbmluZzI5OjMxIEtlbHNleeKAmXMgQ2VzYXJlYW4gdW5kZXIgZ2VuZXJhbCBhbmVzdGhlc2lhMzQ6NTAgU2Vjb25kIHByZWduYW5jeSBhbmQgVkJBQyBwcmVwNDE6MDcgU3dpdGNoaW5nIHRvIG1pZHdpdmVzNDY6MTQgQmVnaW5uaW5nIG9mIGxhYm9yNTE6MDcgRHJpdmluZyB0byB0aGUgYmlydGggY2VudGVyNTQ6NDkgUHVzaGluZyBiYWJ5IG91dCBpbiB0d28gcHVzaGVzMTowMDoyNCBEaWZmZXJlbmNlcyBpbiBjYXJlMTowMjoxMSBFbnRlcm92aXJ1czE6MDg6MDIgUmlzayBmYWN0b3JzIGZvciBmb3JjZXBzIGFuZCB2YWN1dW0gZGVsaXZlcmllc01lYWdhbjogSGVsbG8sIFdvbWVuIG9mIFN0cmVuZ3RoLiBXZSBoYXZlIG91ciBmcmllbmQsIEtlbHNleSwgZnJvbSBDYW5hZGEuIElzIHRoYXQgY29ycmVjdD/CoEtlbHNleTogWWVzLiBZZWFoLsKgTWVhZ2FuOiBTaGXigJlzIHNoYXJpbmcgaGVyIHN0b3J5IHdpdGggeW91IGd1eXMgdG9kYXkuIFNvbWV0aGluZyBhYm91dCBoZXIgZmlyc3Qgc3Rvcnkgb2YgaGVyIEMtc2VjdGlvbiB0aGF0IHN0b29kIG91dCB0byBtZSB3YXMgdGhhdCBzaGUgaGFkIGEgZm9yY2VwcyBhdHRlbXB0IHRoYXQgZGlkbuKAmXQgd29yayBvdXQuIFNvbWV0aW1lcyB0aGF0IGhhcHBlbnMuIEkgd2FudCB0byB0YWxrIGEgbGl0dGxlIGJpdCBhYm91dCBmb3JjZXBzIGhlcmUgaW4ganVzdCBhIG1pbnV0ZSBiZWZvcmUgd2UgZ2V0IGludG8gaGVyIHN0b3J5LiBLZWxzZXksIEkgd2FudGVkIHRvIGFzayB5b3UgdGhhdCB0aGlzIGlzIHNvbWV0aGluZyB0aGF0IGluIG91ciBkb3VsYSBwcmFjdGljZSB3ZSB3aWxsIGFzayBvdXIgY2xpZW50cy4gSWYgaXQgY29tZXMgZG93biB0byBhbiBhc3Npc3RlZCBiaXJ0aCB3aXRoIGZvcmNlcHMgb3IgYSB2YWN1dW0sIHdoYXQgd291bGQgeW91IHByZWZlcj8gSXTigJlzIGEgd2VpcmQgdGhpbmcgYmVjYXVzZSB5b3XigJlyZSBsaWtlLCBXZWxsLCBJ4oCZbSBub3QgcGxhbm5pbmcgb24gdGhhdCwgYnV0IGEgbG90IG9mIHBlb3BsZSBhY3R1YWxseSBhbnN3ZXIsIOKAnEkgd291bGQgcmF0aGVyIG5vdCBkbyB0aG9zZSBhbmQgZ28gc3RyYWlnaHQgdG8gYSBDLXNlY3Rpb24u4oCdIFNvbWUgcGVvcGxlIGFyZSBsaWtlLCDigJxJIHdvdWxkIHJhdGhlciBkbyBldmVyeSBsYXN0LWRpdGNoIGVmZm9ydCBiZWZvcmUgSSBnbyB0byBhIEMtc2VjdGlvbi7igJ3CoERpZCB5b3UgZXZlciB0aGluayBhYm91dCB0aGF0IGJlZm9yZT8gSGFkIGl0IGV2ZXIgYmVlbiBkaXNjdXNzZWQgYmVmb3JlIGFzIHRoZWlyIHN0eWxlPyBUaGF04oCZcyBhbm90aGVyIHRoaW5nLiBTb21lIHByb3ZpZGVycyBhcmUgcmVhbGx5IHZhY3V1bS1oYXBweS4gU29tZSBhcmUgcmVhbGx5IGZvcmNlcHMtaGFwcHkuIEkga25vdyBpdOKAmXMgYSByYW5kb20gcXVlc3Rpb24sIGJ1dCBJIHdhcyBqdXN0IHdvbmRlcmluZywgaGFkIHlvdSBldmVyIHRob3VnaHQgb2YgdGhhdCBiZWZvcmUgZ29pbmcgaW50byBiaXJ0aD/CoEtlbHNleTogU28gbm8uIEkgZGlkbuKAmXQgdGhpbmsgYWJvdXQgd2hldGhlciBJIHdhbnRlZCBhIEMtc2VjdGlvbiBvciBhIGZvcmNlcHMgZGVsaXZlcnkuIEhvd2V2ZXIsIEkgd2FzIHJlYWxseSBzdGF1bmNobHkgYWdhaW5zdCBoYXZpbmcgYSBDLXNlY3Rpb24uIFRoYXQgd2FzIHByaW1hcmlseSBub3RoaW5nIGFnYWluc3QgaXQsIGl0IHdhcyBqdXN0IHRoYXQgSSBoYXZlIGEgcmVhbGx5IGh1Z2UgZmVhciBvZiBhd2FrZSBzdXJnZXJ5IHNvIHdpdGggbXkgZm9yY2VwcyBhdHRlbXB0LCB0aGUgT0Igd2hvIHdhcyB0aGVyZSBiZWNhdXNlIGl0IHdhc27igJl0IG15IHByb3ZpZGVyLiBUaGF04oCZcyBub3QgdGhlIHdheSBDYW5hZGEgd29ya3MuIFRoZSBPQiB3aG8gd2FzIHRoZXJlIHdobyB3YXMgY2FsbGVkIGluIHNhaWQsIOKAnEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkbyBmb3JjZXBzPyBZb3UgY291bGQgdGVhci7igJ3CoEkgdG9sZCBoZXIsIOKAnEkgd291bGQgcmF0aGVyIHRlYXIgdGhhbiBoYXZlIGEgQy1zZWN0aW9uLuKAnSBUaGF0IHdhcyBqdXN0IGEgcGVyc29uYWwgcHJlZmVyZW5jZSBmb3IgbWUgYmVjYXVzZSBJIHdhcyBzbyB0ZXJyaWZpZWQgb2YgaGF2aW5nIGEgQy1zZWN0aW9uLsKgTWVhZ2FuOiBZZWFoLiBJIHRoaW5rIHRoYXQgaXMgdmVyeSBjb21tb24gYW5kIHZlcnkgdmFsaWQgdG8gYmUgbGlrZSwg4oCcTm8sIEkgd291bGQgcmF0aGVyIHRyeSB0aGlzLuKAncKgS2Vsc2V5OiBZZWFoLsKgTWVhZ2FuOiBTbyBJIGRpZC4gSSB3YW50ZWQgdG8gZ28gb3ZlciBqdXN0IGEgbGl0dGxlIGJpdC4gSSBtZWFuLCBJIGhhdmUgc2VlbiBhIGNvdXBsZSBvZiBmb3JjZXBzIGFuZCB0aGV5IGFyZSBub3QgaGFwcGVuaW5nIGFzIG9mdGVuIHRoZXNlIGRheXMsIGJ1dCB0aGVyZSB3YXMgYW4gYXJ0aWNsZSB0aGF0IHNhaWQsIOKAnElzIHRoZXJlIHN0aWxsIGEgcGxhY2UgZm9yIGZvcmNlcHMgZGVsaXZlcnkgaW4gbW9kZXJuIG9ic3RldHJpY3M/4oCdIEnigJltIHRyeWluZyB0byBzYXkgb2JzdGV0cmljaWFucyBhbmQgb2JzdGV0cmljcy4gV2XigJlyZSBqdXN0IGdvaW5nIHRvIHN0b3AuwqBLZWxzZXk6IFdlIGtub3cgd2hhdCB5b3UgbWVhbi7CoE1lYWdhbjogWW91IGtub3cgd2hhdCBJIG1lYW4uIFRoZXJlIHdhcyBhbiBhcnRpY2xlIGFuZCBJIHdhcyBsaWtlLCBUaGF04oCZcyBhIHJlYWxseSBnb29kIHF1ZXN0aW9uLCBiZWNhdXNlIEkgdGhpbmsgYSBsb3Qgb2YgcGVvcGxlIHRoaW5rIHRoZXkgc2hvdWxkbuKAmXQgYmUgZG9uZSBhbnltb3JlIG9yIGEgdmFjdXVtIHNob3VsZG7igJl0IGJlIGRvbmUgYW55bW9yZSBlaXRoZXIuIEl0IHRhbGtlZCBhIGxpdHRsZSBiaXQgYWJvdXQgdGhlIGJhY2tncm91bmQuIGl0IHNheXMsIHRoYXQgbm93YWRheXMgd2UgYXJlIHNlZWluZyBhIGRlY3JlYXNlIGluIGluc3RydW1lbnRhbCBkZWxpdmVyaWVzIGFuZCBhIGNvbnRpbnVvdXMgaW5jcmVhc2Ugb2YgQ2VzYXJlYW4gcmF0ZXMuIFRoYXQgbWFrZXMgbWUgd29uZGVyIGlmIHdlIHdlcmUgdG8gaW5jcmVhc2UgdmFnaW5hbCBhbmQgaGVscCBpbnN0cnVtZW50YWxseSBpZiB0aGF0IHdvdWxkIGRlY3JlYXNlLCBidXQgb25lIG9mIHRoZSB0aGluZ3MgdGhhdCBJIHRob3VnaHQgd2FzIGludGVyZXN0aW5nIGlzIHRoYXQgaXQgc2F5cywg4oCcVGhlIHByZXZhbGVuY2Ugb2YgZm9yY2VwcyBkZWxpdmVyeSB3YXMgMi4yJSBhbmQgdGhlIG1vc3QgY29tbW9uIGluZGljYXRpb24gZm9yIGEgZm9yY2VwIGRlbGl2ZXJ5IHdhcyBmZXRhbCBkaXN0cmVzcy7igJ0gSXQgaXMgdmVyeSBjb21tb24gd2hlcmUgaXTigJlzIHJlYWxseSwgcmVhbGx5IGNsb3NlLCBiYWJ5IGlzIHN0cnVnZ2xpbmcuIEJhYnkgaXMgc28gbG93IGFuZCBsZXTigJlzIGdldCBiYWJ5IG91dC7CoFRoYXTigJlzIDgxLjYlIHdoaWNoIGlzIGNyYXp5LiBJdCBzYXlzLCDigJxBbW9uZyBtb3RoZXJzLCB0aGUgbW9zdCBmcmVxdWVudCBjb21wbGljYXRpb24gaXMgdmFnaW5hbCBsYWNlcmF0aW9uLOKAnSB3aGljaCBtZWFucyB3ZSBoYXZlIHRlYXJpbmcgYXQgNDElIGFuZCB0aGlyZCBhbmQgZm91cnRoLWRlZ3JlZSBwZXJpbmVhbCB0ZWFycyB3ZXJlIG5vdGVkLiBJdCBzYXlzLCDigJxSZWdhcmRpbmcgbmVvbmF0YWwgQVBHQVIgc2NvcmVzLCBhcm91bmQgOCBhcm91bmQgdGhlIGZpcnN0IGFuZCB0aGUgZmlmdGggbWludXRlLOKAnSB3aGljaCBpcyBhcm91bmQgOTEuMiUgYW5kIDk4JSBvZiBuZXdib3JucyB3aGljaCBpcyBwcmV0dHkgZ3JlYXQuIEFuIDggQVBHQVIgaXMgcHJldHR5IGdyZWF0LsKgSSB0aGluayBhIGxvdCBvZiBwZW9wbGUgd29ycnkgYWJvdXQgdGhhdC4gSXQgc2F5cywg4oCcOC44JSBleHBlcmllbmNlIHNldmVyZSBiaXJ0aCBpbmp1cmllcyBsaWtlIGhlbWF0b21hcyBhbmQgY2xhdmljbGUgZnJhY3R1cmVzLuKAnSBUaG9zZSBhcmUgcHJvYmFibHkgc2hvdWxkZXIgZHlzdG9jaWFzLiBUaGF04oCZcyBwcm9iYWJseSB3aHkgdGhleSB3ZXJlIGhhdmluZy4gSXQgc2F5cywg4oCcQWx0aG91Z2ggZmV0YWwgZGlzdHJlc3MgaXMgdGhlIG1vc3QgY29tbW9uIGluZGljYXRpb24gZm9yIGZvcmNlcHMgZGVsaXZlcnksIHRoZSB2YXN0IG1ham9yaXR5IG9mIG5ld2Jvcm5zIHdlcmUgYWN0dWFsbHkgaW4gZ29vZCBjb25kaXRpb24gYW5kIGRpZG7igJl0IHJlcXVpcmUgTklDVSBjYXJlLuKAncKgVGhhdOKAmXMgc29tZXRoaW5nIHRoYXQgd2FzIGtpbmQgb2YgY29vbC4gT2J2aW91c2x5LCB0aGVyZSBhcmUgYSB0b24gb2YgbW9yZSBzdHVkaWVzIGFuZCBkZWVwZXIgc3R1ZGllcyBvbiB0aGF0LiBUaGlzIHdhcyBqdXN0IG9uZSwgYnV0IGl0IHdhcyBraW5kIG9mIGludGVyZXN0aW5nLiBJdCB3YXMgbGlrZSwgYWxsIHJpZ2h0LiBUaGF0IGlzIGEgZ29vZCBxdWVzdGlvbiB0byBhc2sgYXMgd2UgYXJlIHByZXBhcmluZyBmb3IgVkJBQyBpcyBoZXksIGlmIGZvciBzb21lIHJlYXNvbiBhIGZvcmNlcHMgb3IgYSB2YWN1dW0gaXMgbmVjZXNzYXJ5LCB0aGF04oCZcyBzb21ldGhpbmcgdG8gdGhpbmsgYWJvdXQuIFdoYXQgZG8gd2Ugd2FudCB0byBkbyBhdCB0aGF0IHBvaW50P8KgSSBsb3ZlIGhvdyB5b3Ugd2VyZSBsaWtlLCDigJxZZWFoLCBJIGRpZG7igJl0IHdhbnQgYSBDLXNlY3Rpb24uIEkgZmVhcmVkIHRoYXQgbW9yZSB0aGFuIEkgZGlkIHRoYXQu4oCdIEFueXdheSwgZ2V0dGluZyBvZmYgdGhhdCB0b3BpYyBub3cgc28gd2UgY2FuIGdldCB0aGlzIHJldmlldyBhbmQgZ2V0IG9uIHRvIHlvdXIgc3RvcnkgYnV0IEkgdGhpbmsgaXTigJlzIGEgdG9waWMgd2UgZG9u4oCZdCB0YWxrIGFib3V0IGFuZCBpdOKAmXMgbm90IHNvbWV0aGluZyB0aGF0IHdlIGFyZSB0aGlua2luZyBhYm91dCBzbyBhcyB5b3UgYXJlIHByZXBhcmluZywgV29tZW4gb2YgU3RyZW5ndGgsIGZvciB5b3VyIFZCQUMsIGl0IG1pZ2h0IGJlIHNvbWV0aGluZyB0aGF0IHlvdSB3YW50IHRvIGRpc2N1c3MgYW5kIGxlYXJuIG1vcmUgYWJvdXQgYm90aCB2YWN1dW0gYW5kIGZvcmNlcHMgYW5kIGRpc2N1c3Mgd2l0aCB5b3VyIHByb3ZpZGVyIHdoYXQgdGhlaXIgdG9vbCBvZiBjaG9pY2UgaXMgYW5kIGp1c3QgaGF2ZSB0aGF0IGluIHRoZSBiYWNrIG9mIHlvdXIgbWluZC7CoDA3OjM2IFJldmlldyBvZiB0aGUgV2Vla01lYWdhbjogT2theSwgc28gb250byB0b2RheeKAmXMgcmV2aWV3LiBJdCBpcyBmcm9tIGxhdXJlbnN3YXQgYW5kIGl0IHdhcyBiYWNrIGluIDIwMjMuIEl0IHNheXMsIOKAnFRoYW5rIFlvdS7igJ0gSXQgc2F5cywg4oCcSSBsaXN0ZW5lZCB0byBhcyBtYW55IGVwaXNvZGVzIGFzIHBvc3NpYmxlIHdoZW4gcHJlcGFyaW5nIGZvciBteSBWQkFDLiBUaGUgc3RvcmllcyBvbiBoZXJlIHdlcmUgc28gZW5jb3VyYWdpbmcgdG8gbWUgYW5kIE1lYWdhbiBpcyBzbyBrbm93bGVkZ2VhYmxlIGFuZCByZWFzc3VyaW5nLiBJIGFtIGhhcHB5IHRvIHNheSB0aGF0IEkgaGFkIG15IHVubWVkaWNhdGVkIGhvc3BpdGFsIFZCQUMgbGFzdCB3ZWVrIGFuZCBJIGNhdWdodCBteSBvd24gYmFieSBiZWZvcmUgdGhlIGRvY3RvciBldmVuIGdvdCBpbiB0aGUgcm9vbS7igJ3CoE9oIG15IGdvc2gsIHRoYXQgaXMgYXdlc29tZS4gU2VyaW91c2x5LCBjYXRjaGluZyB5b3VyIG93biBiYWJ5IGlzIHNvIGFtYXppbmcuIEkgbG92ZWQgaXQgcGVyc29uYWxseSBteXNlbGYgYXMgd2VsbCBhbmQgaGlnaGx5IGVuY291cmFnZSBpdCB0byBhbnlvbmUgdGhhdCBpcyBzb3J0IG9mIGludGVyZXN0ZWQgYmVjYXVzZSBpdCBpcyBhIHJlYWxseSBjb29sIGZlZWxpbmcuIFRoYW5rIHlvdSBmb3IgeW91ciByZXZpZXcgYW5kIGFzIGFsd2F5cywgd2UgYXJlIGxvb2tpbmcgZm9yIHJldmlld3MuIEl0IGlzIHdoYXQgaGVscHMgcGVvcGxlIGZpbmQgdGhpcyBwb2RjYXN0LiBJdCBoZWxwcyB1cyBncm93IGFzIGEgY29tbXVuaXR5LiBZb3UgY2FuIGxlYXZlIGl0IG9uIEFwcGxlLCBHb29nbGUsIGVtYWlsIHVzLCBvciB3aGF0ZXZlciBidXQgd2UgYXJlIHNvIGdyYXRlZnVsIGZvciB5b3VyIHJldmlld3MuwqAwOToyNyBLZWxzZXnigJlzIHN0b3JpZXNNZWFnYW46IE9rYXksIEtlbHNleS7CoEtlbHNleTogWWVhaD8gSGkuwqBNZWFnYW46IEhlbGxvLiBXZWxjb21lIHRvIHRoZSBzaG93LsKgS2Vsc2V5OiBUaGFuayB5b3UuIEnigJltIHN1cGVyLCBzdXBlciBleGNpdGVkLsKgTWVhZ2FuOiBNZSB0b28uIE1lIHRvby4gSSB3b3VsZCBsb3ZlIHRvIHR1cm4gdGhlIHRpbWUgb3ZlciB0byB5b3UuIEJvdGggb2YgeW91ciBiYWJpZXMgd2VyZSBib3JuIGluIENhbmFkYS4gVGhhdOKAmXMgY29ycmVjdCwgcmlnaHQ/wqBLZWxzZXk6IFllcy4gWWVhaC7CoE1lYWdhbjogVGVsbCB1cyB0aGUgc3RvcnkuwqBLZWxzZXk6IFllYWgsIHNvIGJhc2ljYWxseSBteSBodXNiYW5kIGFuZCBJIGdvdCBtYXJyaWVkIGluIE5vdmVtYmVyIDIwMTkuIEp1c3QgcHJpb3IgdG8gdGhhdCwgd2UgaGFkIGFjdHVhbGx5IGJlZW4gbGl2aW5nIGluIE5ldyBCcnVuc3dpY2suIEp1c3QgcHJpb3IgdG8gZ2V0dGluZyBtYXJyaWVkLCB3ZSBkZWNpZGVkIHRvIG1vdmUgYmFjayBiZWNhdXNlIHdlIGFyZSBmcm9tIE90dG93YS4gV2UgbW92ZWQgdG8gT3R0b3dhLiBXZSB3ZXJlIGxpdmluZyB3aXRoIGhpcyBwYXJlbnRzLCBoaXMgZGFkLCBhdCB0aGUgdGltZS7CoFdlIHdlbnQgdG8gTWV4aWNvIGZvciBvdXIgaG9uZXltb29uIGFuZCBvbiBvdXIgaG9uZXltb29uLCB3ZSBkZWNpZGVkIHRvIHN0YXJ0IHRyeWluZyB0byBoYXZlIGEgYmFieS4gV2UgZGVjaWRlZCB0byBzdGFydCB0cnlpbmcgYnV0IG5vdCBwcmV2ZW50aW5nIGl0IGJlY2F1c2Ugd2Ugd2VyZW7igJl0IHN1cmUgaG93IGxvbmcgaXQgd2FzIGdvaW5nIHRvIHRha2UgYW5kIHRoZXJlIHdhcyBubyBpbmRpY2F0aW9uIHRoYXQgaXQgY291bGQgdGFrZSBhIHdoaWxlIGJ1dCBteSBodXNiYW5kIGlzIGFjdHVhbGx5IGFuIElWRiBiYWJ5LiBJdCBoYWQgdGFrZW4gNyB5ZWFycyBmb3IgaGlzIHBhcmVudHMgdG8gY29uY2VpdmUgaGltLsKgTWVhZ2FuOiA3IHllYXJzLCB3b3cuIFRoZXkgYXJlIGFtYXppbmcuIFRoYXTigJlzIGEgbG9uZyB0aW1lLsKgS2Vsc2V5OiBIZSB3YXMgYWN0dWFsbHkgdGhlaXIgbGFzdCBhdHRlbXB0LiBXaGVuIGhpcyBtb20gZ290IHVwIHRvIHNheSBvdXIgd2VkZGluZyBzcGVlY2gsIHNoZSB3YXMgbGlrZSBteSAxIGluIDcgb3Igc29tZXRoaW5nIGxpa2UgdGhhdCBhbmQgSSB3YXMganVzdCBiYXdsaW5nLsKgU28gYmVjYXVzZSBvZiB0aGF0LCB3ZSBkZWNpZGVkIHRvIHN0YXJ0IHRyeWluZyBhbmQgbm90IHByZXZlbnRpbmcgYnV0IHRoZXJlIHdhcyBub3RoaW5nIGluZGljYXRpbmcgaXQgd291bGQgdGFrZSB1cyBhIHdoaWxlLiBXZSBzdGFydGVkIHRyeWluZyBpbiBEZWNlbWJlciBvZiAyMDE5IGFuZCBpdCBqdXN0IHdhc27igJl0IGhhcHBlbmluZyBmb3IgdXMgc28gYXJvdW5kIHRoZSB5ZWFyIG1hcmssIHdlIGhhZCBhIGxvdCBvZiBmcmllbmRzIHdobyBzdGFydGVkIHRyeWluZyBhcm91bmQgdGhlIHNhbWUgdGltZSBhcyB1cyBhbmQgd2VyZSBnZXR0aW5nIHByZWduYW50IHJlYWxseSwgcmVhbGx5IHF1aWNrbHkuIEkgd2FzIGdvaW5nIHRvIHNvIG1hbnkgYmFieSBzaG93ZXJzIGFuZCBjcm9jaGV0aW5nIGJhYnkgYmxhbmtldHMgdGhhdCBqdXN0IHdlcmVu4oCZdCBmb3IgbXkgYmFieS7CoEFjdHVhbGx5LCB0aGUgeWVhciBtYXJrIHJvbGxlZCBhcm91bmQgYW5kIEkgZ290IG15IHBlcmlvZCB0aGUgZGF5IG9mLiBNeSBiZXN0IGZyaWVuZCBnYXZlIGJpcnRoIHRoZSBkYXkgb2YuIEkgd2FzIHRyeWluZyBzbyBoYXJkIHRvIGJlIGhhcHB5IGFuZCBzdGF5IHBvc2l0aXZlIGFuZCB3aGF0bm90LCBidXQgaXQgd2FzIGRldmFzdGF0aW5nLsKgMTE6NDcgTG9naXN0aWNzIG9mIGdpdmluZyBiaXJ0aCBpbiBDYW5hZGFLZWxzZXk6IFdlIGVuZGVkIHVwIGJlaW5nIHJlZmVycmVkIHRvIGEgZmVydGlsaXR5IGNsaW5pYy4gVGhleSBkaWQgYSBmdWxsIHdvcmstdXAgb24gYm90aCBvZiB1cyBhbmQgdGhlcmUgd2FzIG5vdGhpbmcuIFRoZXkgZGlkbuKAmXQgY29tZSB1cCB3aXRoIGFueXRoaW5nLiBTbyB0aGV5IHNhaWQsIOKAnFlvdSBjb3VsZCBrZWVwIHRyeWluZyBvciB3ZSBjb3VsZCBzdGFydCBJVUku4oCdIE15IGh1c2JhbmQgYW5kIEkgc2FpZCwg4oCcTGV04oCZcyBkbyAzIG1vcmUgbW9udGhzIG9mIHRyeWluZyBvbiBvdXIgb3duLCBhbmQgdGhlbiB3ZSB3aWxsIHRyeSBmb3IgSVVJLuKAnSBPdXIgZmVydGlsaXR5IGNsaW5pYyB3YXMgaW4gT250YXJpbyBhbmQgd2UgZW5kZWQgdXAgbW92aW5nIHRvIEdhdGluZWF1LCBRdWViZWMgaW4gSnVseSAyMDIwLlRoZSB3YXkgaXQgd29ya3MgaW4gQ2FuYWRhIGlzIHlvdSBoYXZlIHlvdXIgaGVhbHRoY2FyZSB3aGljaCBjb3ZlcnMuIFlvdSBjYW4gZ28gaW50ZXItcHJvdmluY2lhbGx5IGFuZCBnaXZlIHlvdXIgY2FyZCB1bmxlc3MgeW91IGFyZSBmcm9tIFF1ZWJlYy4gSWYgeW91IGFyZSBmcm9tIFF1ZWJlYywgaXTigJlzIGtpbmQgb2YgbGlrZSBsaXZpbmcgaW4gYW5vdGhlciBjb3VudHJ5LiBJZiB5b3UgaGF2ZSBhIFJBTVEgY2FyZCwgeW91IGFjdHVhbGx5IGhhdmUgdG8gcGF5IGZvciB5b3VyIGNhcmUgaW4gT250YXJpby7CoFRoZSBRdWViZWMgZ292ZXJubWVudCB3aWxsIHJlaW1idXJzZSB5b3UgYnV0IG9ubHkgZm9yIDMwJS4gSXTigJlzIHN1cGVyIHdlaXJkLiBJZiB5b3UgYXJlIGZyb20gT250YXJpbyBhbmQgZ28gdG8gUXVlYmVjLCB0aGUgT250YXJpbyBnb3Zlcm5tZW50IHdpbGwgY292ZXIgeW91IGluIFF1ZWJlYy7CoE1lYWdhbjogV2hhdD8gU28gd2VpcmQuIFRoaXMgd29ybGQgaXMgc28gd2VpcmQuwqBLZWxzZXk6IEkga25vdy4gSXTigJlzIHN1cGVyIGJpemFycmUuIFNvIGVzc2VudGlhbGx5IHdlIG1vdmVkIHRvIEdhdGluZWF1IGJlY2F1c2UgdGhlIGhvdXNpbmcgbWFya2V0IHdhcyBhIGxpdHRsZSBsZXNzIGV4cGVuc2l2ZS4gSSB3YXMgd29ya2luZyBpbiBHYXRpbmVhdSBhdCB0aGUgdGltZSBhcyBhIHRlYWNoZXIuIEkgd2FzIGV4dHJlbWVseSBzdHJlc3NlZCBvdXQgaW4gbXkgam9iIGVzcGVjaWFsbHkgb25jZSBDT1ZJRCBoaXQuIFdlIHdlcmUgc2VudCBiYWNrIHRvIHRoZSBjbGFzc3Jvb20gYmVmb3JlIGFueSBvZiB0aGUgb3RoZXIgcHJvdmluY2VzIHdlcmUuwqBBbnl3YXksIEkgd2FzIGV4dHJlbWVseSBzdHJlc3NlZCBvdXQgaW4gbXkgam9iIGFuZCBJIGRlY2lkZWQgdG8gc3dpdGNoIHRvIHRoZSBPbnRhcmlvIHNpZGUgYmVjYXVzZSB5b3UgY2FuIGdvIGJldHdlZW4gdGhlIHR3by4gV2hlcmUgSSBsaXZlZCwgeW91IGNyb3NzIGEgYnJpZGdlIGFuZCB5b3UgY2FuIGdldCB0byBPdHRhd2Egc28geW91IGFyZSBpbiBPbnRhcmlvLsKgRXNzZW50aWFsbHksIHdlIHdlbnQgdGhyb3VnaCB0aGUgZmVydGlsaXR5IGNsaW5pYy4gVGhleSBzYWlkIHRoYXQgbm90aGluZyB3YXMgZ29pbmcgb24gYnV0IGJlY2F1c2UgdGhlIEdhdGluZWF1IGdvdmVybm1lbnQgd2lsbCBjb3ZlciB5b3UgZm9yIElWRiBhbmQgYW55IGZlcnRpbGl0eSB0cmVhdG1lbnRzIHVwIHRvIGEgY2VydGFpbiBwcmljZSBzbyB3ZSBoYWQgdG8gYmUgcmVmZXJyZWQgYmFjayB0byBRdWViZWMgZm9yIElVSS4gVGhlIG1vbnRoIHRoYXQgd2Ugd2VyZSByZWZlcnJlZCBiYWNrIHRvIFF1ZWJlYyBmb3IgSVVJLCBpdCB3YXMgdGhlIGRheSBiZWZvcmUgbXkgYXBwb2ludG1lbnQgdGhhdCBJIGZvdW5kIG91dCBJIHdhcyBwcmVnbmFudC7CoE1lYWdhbjogT2ggbXkgZ29zaCwgeWF5IcKgS2Vsc2V5OiBZZWFoLCBvbiBvdXIgb3duLiBJdCBzdXBlciBqdXN0IGhhcHBlbmVkIGFuZCBzb21lIHdlaXJkIGZ1bm55IHRoaW5ncyBoYXBwZW5lZC4gVGhlIGRheSBiZWZvcmUsIG15IGh1c2JhbmQgYW5kIEkgd2VudCBmb3IgYSB3YWxrIGFyb3VuZCBvdXIgbmVpZ2hib3Job29kLiBJIGZvdW5kIGEgcXVhcnRlciBhbmQgd2FzIGxpa2UgSWYgcGVubmllcyBhcmUgbHVja3ksIHRoZW4gcXVhcnRlcnMgbXVzdCBiZSBzdXBlciBsdWNreS4gSSBwaWNrZWQgdXAgdGhlIHF1YXJ0ZXIgYW5kIHB1dCBpdCBpbiBteSBwb2NrZXQgYW5kIHRoZSBkYXkgYWZ0ZXIsIEkgZm91bmQgb3V0IEkgd2FzIHByZWduYW50LsKgVGhlc2Ugd2VpcmQgdGhpbmdzIGtlcHQgaGFwcGVuaW5nLiBNeSBwcmVnbmFuY3kgbWFkZSBtZSBvZGRseSBwc3ljaGljIHRvbyB3aGljaCBJ4oCZbGwgZ2V0IGludG8gYWZ0ZXIuwqAxNDozOCBBIG5vcm1hbCBwcmVnbmFuY3lLZWxzZXk6IEkgZ290IHByZWduYW50IGluIE1hcmNoLiBJIHdhcyBkdWUgTm92ZW1iZXIgMjh0aC4gSSBoYWQgYSBzdXBlciBlYXN5IHByZWduYW5jeS4gSSB3YXMgbmF1c2VvdXMgZm9yIHRoZSBmaXJzdCBsaXR0bGUgYml0LiBJIHdhcyB3b3JraW5nIGZvciBhIHZpcnR1YWwgc2Nob29sIGluIE9udGFyaW8gc28gSSBkaWRu4oCZdCBoYXZlIHRvIGdvIGludG8gdGhlIHNjaG9vbCB3aGljaCB3YXMgcmVhbGx5IG5pY2UuIEkganVzdCBnb3QgdG8gaGFuZyBvdXQgaW4gbXkgYmFzZW1lbnQgYW5kIHllYWguIEkgbWFpbmx5IGhhZCBuYXVzZWEgYXMgYSBzeW1wdG9tIGJ1dCBJIHdhcyBhbHNvIGV4dHJlbWVseSBhbnhpb3VzIGJlY2F1c2UgaXQgaGFkIHRha2VuIHVzIHNvIGxvbmcgdG8gZ2V0IHByZWduYW50LiBJdCBmZWx0IGxpa2UgaXQgd2FzIHNvIGxvbmcuIEl0IHdhcyBhYm91dCAxNSBtb250aHMuwqBJIHdhcyBzdXBlciBhbnhpb3VzLiBJIGhhZCBoZWFyZCBzbyBtYW55IHN0b3JpZXMgb2YgbWlzY2FycmlhZ2UgYW5kIHdoYXRub3QsIGJ1dCBsdWNraWx5LCB3ZSB3ZXJlIGZvbGxvd2VkIGJ5IHRoZSBmZXJ0aWxpdHkgY2xpbmljIGJlY2F1c2Ugd2Ugd2VyZSB3aXRoIHRoZW0gc28gd2UgaGFkIGEgc2NhbiBhdCA1IHdlZWtzIGFuZCB3ZSBoYWQgYSBzY2FuIGF0IDggd2Vla3MgYW5kIHRoZW4gYXQgMTIgd2Vla3Mgb25jZSB3ZSBncmFkdWF0ZWQgd2hpY2ggd2FzIHJlYWxseSBuaWNlLsKgSXQgd2FzIGEgcmVhbGx5LCByZWFsbHkgbm9ybWFsIHByZWduYW5jeS4gSSBlbmRlZCB1cCBnb2luZyBiYWNrIGludG8gdGhlIHNjaG9vbCBpbiBTZXB0ZW1iZXIgYW5kIEkgd2FzIHdvcmtpbmcgYXMgYSBGcmVuY2ggdGVhY2hlci4gSSB3ZW50IG9mZiB3b3JrIGF0IDM2IHdlZWtzLiBJdCB3YXMgcHJldHR5IG5vcm1hbC4gVGhlIHJlYXNvbiBJIHNheSB0aGF0IEkgd2FzIHBzeWNoaWMgZHVyaW5nIG15IHByZWduYW5jeSBpcyB0aGF0IEkga2VwdCBzYXlpbmcgYWxsIG9mIHRoZXNlIHRoaW5ncyBhYm91dCBteSBiYWJ5LsKgSSBoYWQgdGhpcyBndXQgaW5zdGluY3QgdGhhdCBoZSB3YXMgYSBib3kgYW5kIHN1cmUgZW5vdWdoLCBpdCB3YXMgYSBib3kuIE1pbmQgeW91LCBpdOKAmXMgYmVjYXVzZSBteSBodXNiYW5k4oCZcyBmYW1pbHkgb25seSByZWFsbHkgaGFzIGJveXMgYnV0IHRoZW4gd2l0aCBjZXJ0YWluIHRoaW5ncywgcGVvcGxlIHdvdWxkIHNheSwg4oCcV2hlbiBkbyB5b3UgdGhpbmsgaGUgd2lsbCBiZSBib3JuP+KAnSBJ4oCZZCBiZSBsaWtlLCDigJxPaCwgSSB0aGluayBEZWNlbWJlciA0dGgu4oCdIEkgd291bGQgbWFrZSBvZmYtaGFuZCBjb21tZW50cyBsaWtlLCDigJxPaCwgaGXigJlzIGdvaW5nIHRvIGhhdmUgcmVhbGx5IGRhcmsgaGFpci7igJ0gTXkgaHVzYmFuZCBhbmQgSSB3ZXJlIGJvdGggYm9ybiBhdCA1OjAwLiBJIHdhcyBib3JuIGF0IDU6MDAgYXQgbmlnaHQuIEhlIHdhcyBib3JuIGF0IDU6MDAgaW4gdGhlIG1vcm5pbmcuIEkgc2FpZCwg4oCcV291bGRu4oCZdCBpdCBiZSBmdW5ueSBpZiBoZSB3YXMgYm9ybiBhdCA1OjAwP+KAncKgSSBzYWlkLCDigJxIZeKAmXMgZ29pbmcgdG8gYmUgb3ZlciA5IHBvdW5kcy4gSSBjYW4ganVzdCBmZWVsIGl0LiBIZeKAmXMgZ29pbmcgdG8gYmUgOSBwb3VuZHMu4oCdIFRoZW4gdGhlIG90aGVyIHdlaXJkIHRoaW5nIGlzIHRoYXQgSSBzYWlkIGhlIHdvdWxkIGJlIGJvcm4gRGVjZW1iZXIgNHRoLCBidXQgc29tZW9uZSB0b2xkIG1lLCDigJxObywgeW91IGRvbuKAmXQgd2FudCBoaW0gdG8gYmUgYm9ybiBvbiBEZWNlbWJlciA0dGguIEhlIHdpbGwgc2hhcmUgYSBiaXJ0aGRheSB3aXRoIHlvdXIgY291c2luLuKAnSBJIHdhcyBsaWtlLCDigJxPa2F5LCBEZWNlbWJlciAzcmQu4oCdwqBEZWNlbWJlciAzcmQgcm9sbHMgYXJvdW5kIGFuZCBJIGFtIDUgZGF5cyBwYXN0IG15IGR1ZSBkYXRlLiBJIHdha2UgdXAgaW4gdGhlIG1vcm5pbmcgdG8gZ28gdG8gdGhlIHdhc2hyb29tIGFuZCBteSB3YXRlciBicmVha3MuIEkgaGFkIG5vdCBiZWVuIHdlbGwtaW5mb3JtZWQgYWJvdXQgYmlydGguIEkgd2FzIGp1c3QgZ29pbmcgaW50byBpdCBsaWtlLCBZZWFoLiBFdmVyeXRoaW5nIGlzIGdvaW5nIHRvIGJlIGZpbmUuIEkgaGFkIGEgYnVuY2ggb2YgZnJpZW5kcyB3aG8ganVzdCBoYWQgYmFiaWVzIGFuZCBldmVyeXRoaW5nIHdhcyBzbW9vdGggc2FpbGluZy7CoFRoZSBvbmx5IHRpbWUgSSBoYWQgaGVhcmQgb2YgYSBDLXNlY3Rpb24gd2FzIHdoZW4gbXkgYXVudCBoYWQgdHdvIEMtc2VjdGlvbnMgYmVjYXVzZSBzaGUgaGFkIGEgYnJlZWNoIGJhYnkgYW5kIGEgc3BlY2lhbCBzY2FyIGFuZCB0aGVuIHRoZXkgZGlkbuKAmXQgZ2l2ZSBoZXIgYW4gb3B0aW9uIGZvciBhIEMtc2VjdGlvbi4gSSB3YXMgbGlrZSwgT2ggeWVhaC4gSXTigJlzIGdvaW5nIHRvIGJlIGZpbmUuwqBNeSBwcm92aWRlciB0b2xkIG1lLCDigJxJZiB5b3VyIHdhdGVyIGJyZWFrcywgZ28gc3RyYWlnaHQgdG8gbGFib3IgYW5kIGRlbGl2ZXJ5LuKAncKgTWVhZ2FuOiBNYW55IGRvLCBieSB0aGUgd2F5LsKgS2Vsc2V5OiBZZXMsIEkgZG8ga25vdyB0aGF0LsKgTWVhZ2FuOiBJdOKAmXMgYSB2ZXJ5IG5vcm1hbCB0aGluZyBmb3IgcGVvcGxlIHRvIHNheSwgYnV0IHdlIGRvbuKAmXQgaGF2ZSB0byBkbyB0aGF0LsKgS2Vsc2V5OiBFeGFjdGx5LsKgTWVhZ2FuOiBJIGRpZCB0aGUgc2FtZSB0aGluZywgdGhlIHNhbWUgZXhhY3QgdGhpbmcuwqAxNzo1MCBBcnJpdmluZyBhdCB0aGUgaG9zcGl0YWxLZWxzZXk6IFllYWgsIHNvIHdlIHdlbnQgaW50byBsYWJvciBhbmQgZGVsaXZlcnkuIEFjdHVhbGx5LCB3ZSB3ZW50IHNsb3dseS4gTXkgaHVzYmFuZCB3YXMgbGlrZSwg4oCcSeKAmW0gZ29pbmcgdG8gdGFrZSBhIHNob3dlci7igJ0gSSB3YXMgdW5kZXIgdGhlIGltcHJlc3Npb24gdGhhdCBiYWJ5IHdhcyBnb2luZyB0byBiZSBib3JuIGluIGEgY291cGxlIG9mIGhvdXJzLiBJIHdhcyBsaWtlLCDigJxXZeKAmXZlIGdvdCB0byBnby7igJ0gSGUgd2FzIGxpa2UsIOKAnE5vLCBuby4gSeKAmXZlIGdvdCB0byB0YWtlIGEgc2hvd2VyLiBGaXJzdCBpbXByZXNzaW9ucyBhcmUgaW1wb3J0YW50LuKAnSBJIHdhcyBsaWtlLCDigJxBbGwgcmlnaHQu4oCdwqBUaGVuIHdlIHdlbnQgYW5kIHdlIGdvdCBUaW0gSG9ydG9u4oCZcyBiZWNhdXNlIEkgd2FzIHN1cGVyIGh1bmdyeS4gSSBmaWd1cmVkIFRoaXMgd2lsbCBiZSB0aGUgbGFzdCB0aW1lIEkgZWF0LldlIGdvdCB0byBsYWJvciBhbmQgZGVsaXZlcnkuIFRoZXkgbW9uaXRvcmVkIG1lIGZvciB0d28gaG91cnMgYW5kIEkgZGlkbuKAmXQgaGF2ZSBhIGNvbnRyYWN0aW9uIHVudGlsIDY6MDAgcmlnaHQgYXMgSSB3YXMgbGVhdmluZyBhbmQgSSB3YXMgb25seSBhIGNlbnRpbWV0ZXIgZGlsYXRlZC4gU2hlIHdhcyBsaWtlLCDigJxDb21lIGJhY2sgaW4gMTIgaG91cnMgb3Igc29vbmVyIGlmIHlvdXIgY29udHJhY3Rpb25zIGdldCBpbnRlbnNlLuKAncKgU28gSSB3ZW50IGhvbWUuIEkgZGVjaWRlZCB0byBnbyB0byBzbGVlcCBidXQgSSB3YXMgaGF2aW5nIGlycmVndWxhciBjb250cmFjdGlvbnMuIEkgd29rZSB1cCBwcm9iYWJseSBhcm91bmQgbm9vbiBhbmQgSSB3YXMgc3RhcnRpbmcgdG8gZ2V0IHVuY29tZm9ydGFibGUuIE15IGNvbnRyYWN0aW9ucyB3ZXJlIHN0YXJ0aW5nIHRvIGdldCBjbG9zZXIgdG9nZXRoZXIgYW5kIHRoZXkgd2VyZSBtb3JlIGludGVuc2UuIEkgY291bGQgZmVlbCB0aGVtIGluIG15IGJhY2sgYW5kIGluIG15IGJ1bS4gSSBsZWFybmVkIGEgbGVzc29uLiBBbnl3YXksIEnigJlsbCBnZXQgaW50byB0aGF0IGFmdGVyLsKgSSBjb3VsZCBmZWVsIHRoZW0gbW9zdGx5IGluIG15IGJhY2sgYW5kIGluIG15IGJ1bS4gTXkgaHVzYmFuZCB3YXMgbGlrZSwg4oCcWW91IGxvb2sgbGlrZSB5b3XigJlyZSByZWFsbHkgdW5jb21mb3J0YWJsZS4gV2UgbmVlZCB0byBnbyB0byB0aGUgaG9zcGl0YWwgbm93LuKAnSBIZSB3YXMgYWZyYWlkIG9mIGdldHRpbmcgc3R1Y2sgaW4gdHJhZmZpYyBiZWNhdXNlIEkgZW5kZWQgdXAgZ2l2aW5nIGJpcnRoIGluIE9udGFyaW8gZXZlbiB0aG91Z2ggd2UgbGl2ZWQgaW4gUXVlYmVjLiBUaGUgcmVhc29uIGlzIHRoZSBob3NwaXRhbCBJIGdhdmUgYmlydGggYXQgYWN0dWFsbHkgdGFrZXMgeW91ciBSQU1RIGNhcmQsIHRoZSBRdWViZWMgaGVhbHRoY2FyZSBjYXJkIHNvIHdlIHdlcmVu4oCZdCBnb2luZyB0byBiZSBjaGFyZ2VkIGZvciBpdCBvciBhbnl0aGluZy4gVGhlIEdhdGluZWF1IGhvc3BpdGFscyBhcmUgbm90IGtub3duIGZvciBiZWluZyBzdXBlciB3ZWxsLWVxdWlwcGVkIGZvciBtdWNoIHNvIHdlIHByZWZlcnJlZCB0byBnaXZlIGJpcnRoIGluIE9udGFyaW8uwqBXZSBkcm92ZSB0byBPbnRhcmlvIHdoaWNoIHdhcyBhIDMwLW1pbnV0ZSBkcml2ZSBzbyBub3Qgc3VwZXIgdGVycmlibGUsIGJ1dCB0cmFmZmljIGNhbiBiZSBiYWQgZ29pbmcgYWNyb3NzIHRoZSBicmlkZ2Ugc29tZXRpbWVzLiBUaGUgd2hvbGUgd2F5IHRoZXJlLCBJIGhhZCByZWFsbHkgdW5jb21mb3J0YWJsZSBjb250cmFjdGlvbnMuwqBXZSBnb3QgdG8gdGhlIGhvc3BpdGFsIGFuZCB0aGUgZG9jdG9yIGhhZCBtZSBpbiB0aGUgd2FpdGluZyByb29tIGZvciAzMCBtaW51dGVzLCBub3QgdGVycmlibGUuIFRoZSBkb2N0b3IgbWVldHMgd2l0aCB1cyBhbmQgaW1tZWRpYXRlbHksIEkganVzdCB3YXMgbm90IGludG8gaGltLiBIZSBqdXN0IHB1dCBtZSBvZmYuIEhlIG1hZGUgYW4gb2ZmLWhhbmQgY29tbWVudCBhYm91dCBudXJzZXMuIEhlIHdhcyBsaWtlLCDigJxJIHNlZSBwYWluLiBEbyB5b3Ugd2FudCBwYWluIG1lZGljYXRpb24/IERvIHlvdSB3YW50IEFkdmlsIG9yIFR5bGVub2w/4oCdIEkgd2FzIGxpa2UsIOKAnFdoYXRldmVyIHlvdSBjYW4gZ2l2ZSBtZSwgSSBkb27igJl0IGtub3cu4oCdIEkgdG9sZCBoaW0sIOKAnE9uZSBvZiB0aGUgdGhpbmdzIGdvaW5nIGludG8gaXQgaXMgdGhhdCBteSBodXNiYW5kIHdvdWxkIHJlYWxseSBsaWtlIHRvIGNhdGNoIHRoZSBiYWJ5LiBDYW4gd2UgZG8gdGhhdD/igJ3CoEhlIHdhcyBsaWtlLCDigJxXZWxsLCBkbyB5b3UgdGhpbmsgeW91IGNhbiBoYW5kbGUgaXQ/4oCdIEnigJltIGxpa2UsIOKAnFdlbGwsIGhlIHdhcyBhIGZpcmVmaWdodGVyIHNvIGhl4oCZcyBwcmV0dHkgb2theSB3aXRoIHRoYXQga2luZCBvZiBzdHVmZi7igJ0gWWVhaC4gSSBjYW7igJl0IGV2ZW4gcmVtZW1iZXIgdGhlIGNvbW1lbnQgbm93LCBidXQgaGUgbWFkZSBhbiBvZmZoYW5kIGNvbW1lbnQgbGlrZSwg4oCcV2VsbCwgdGhhdOKAmXMgd2hhdCBudXJzZXMgYXJlIGZvcizigJ0gb3Igc29tZXRoaW5nIGxpa2UgdGhhdC4gSSBqdXN0IHdhcyBzdXBlciBwdXQgb2ZmIGJ5IGhpbS7CoFdlIHdlbnQgaW50byBvdXIgcm9vbSBhbmQgSSBkaWRu4oCZdCBrbm93IGF0IHRoZSB0aW1lIHRoYXQgbWF5YmUgSSBjb3VsZCBoYXZlIGFza2VkIGZvciBzb21lb25lIGRpZmZlcmVudCBvciB3aGF0ZXZlci4gV2UgZ28gaW50byBvdXIgcm9vbSBhbmQgd2UgZ2V0IHNldCB1cCBhbmQgdGhleSB3ZXJlIGxpa2UsIOKAnFdlIGhhdmUgdG8gbW9uaXRvciB5b3UgZm9yIGEgbGl0dGxlIGJpdC7igJ0gSSB3YXMgbGlrZSwg4oCcSeKAmWQgcmVhbGx5IGxpa2UgdG8gbGFib3IgaW4gdGhlIHR1Yi4gQ2FuIEkgZ2V0IGluIHRoZSB0dWI/4oCdIFRoZXkgc2FpZCwg4oCcV2UgbmVlZCB0aGUgbW9uaXRvciBvbiB5b3UgZm9yIGFuIGhvdXIu4oCdIEnigJltIGxpa2UsIOKAnE9rYXku4oCdwqBUaGV5IG1vbml0b3IgbWUgZm9yIGFuIGhvdXIuIFRoZXkgZ2l2ZSBtZSBhIHNob3Qgb2YgRGVtZXJvbCBvciB3aGF0ZXZlci4gSSB3YXMgdW5kZXIgdGhlIGltcHJlc3Npb24gYW5kIG15IG1pbmRzZXQgZ29pbmcgaW50byBpdCB3YXMgdGhhdCB3aGVuIHlvdSBnaXZlIGJpcnRoLCB5b3UgdXNlIHBhaW4gbWVkaWNhdGlvbiBhcyBwYWluIG1hbmFnZW1lbnQuIEkgaGFkbuKAmXQgcmVzZWFyY2hlZCBhbnl0aGluZyBlbHNlLiBJIHdhcyBqdXN0IGxpa2UsIOKAnEkgd2FudCB0aGUgZXBpZHVyYWwgYXMgc29vbiBhcyBJIGNhbiBnZXQgaXQgYW5kIHdoYXRldmVyIHlvdSBjYW4gZ2l2ZSBtZSBmb3IgdGhlIHBhaW4gaXMgZ3JlYXQu4oCdwqAyMTozNyBTdGFsbGluZyBhdCA3IGNlbnRpbWV0ZXJzS2Vsc2V5OiBJIHdhcyBtb25pdG9yZWQgZm9yIGFib3V0IGFuIGhvdXIgYW5kIHRoZXkgbGV0IG1lIGdldCBpbiB0aGUgdHViLiBGb3IgdHdvIGhvdXJzLCBJIGxhaWQgaW4gdGhlIHR1YiBhbmQgdGhhdOKAmXMgbXkgYmVzdCBtZW1vcnkgb2YgbXkgYmlydGggd2l0aCBteSBmaXJzdC4gSSBsYWlkIGluIHRoZSB0dWIgYW5kIGxpc3RlbmVkIHRvIG11c2ljLiBNeSBodXNiYW5kIGFuZCBJIHdlcmUgaW4gdGhlIGRhcmsuIEl0IHdhcyB2ZXJ5IGNhbG0sIHNvb3RoaW5nLCBhbmQgcmVsYXhpbmcuIFdoZW4gSSBnb3Qgb3V0LCB0aGUgZG9jdG9yIHdhcyBsaWtlLCDigJxXZSBuZWVkIHRvIGNoZWNrIHlvdS7igJ0gSGUgY2hlY2tlZCBtZSBhbmQgSSB3YXMgYXQgYSAxIGJ1dCBoZSBjb3VsZCBzdHJldGNoIG1lIHRvIGEgMy4gSGUgc2FpZCwg4oCcSWYgeW91IHdhbnQgeW91ciBlcGlkdXJhbCwgeW91IGNhbiBoYXZlIGl0IG5vdy7igJ1JIGRpZG7igJl0IGtub3cgYW55IGJldHRlciBzbyBJIHNhaWQsIOKAnFllYWgsIG9rYXkuIEdpdmUgbWUgdGhlIGVwaWR1cmFsLuKAnSBPdmVybmlnaHQsIEkgd2FzIHByb2dyZXNzaW5nIDIgY2VudGltZXRlcnMgZXZlcnkgMiBob3Vycy4gV2UgZ290IHRvIDM6MDAgaW4gdGhlIG1vcm5pbmcuIEkgdG9sZCBhIG51cnNlLCDigJxJIGZlZWwgYSBsb3Qgb2YgcHJlc3N1cmUgaW4gbXkgYnVtLuKAnSBJIHNhaWQsIOKAnEkgZmVlbCBsaWtlIEkgaGF2ZSB0byBwdXNoLuKAnSBTaGUgY2hlY2tlZCBtZSBhbmQgc2hlIHdhcyBsaWtlLCDigJxObywgbm8uIFlvdeKAmXJlIG9ubHkgYXQgYSA3LuKAnSA1OjAwIEFNIHJvbGxzIGFyb3VuZC4gTXkgbnVyc2UgY29tZXMgaW4gYWdhaW4gYW5kIHNoZSBjaGVja3MgbWUgYW5kIHNoZeKAmXMgbGlrZSwg4oCcT2gsIHlvdeKAmXJlIGF0IGEgOS7igJ0gQW5vdGhlciBudXJzZSBjb21lcyBpbiByaWdodCBhZnRlciBhbmQgc2hlIHNheXMsIOKAnFNoZeKAmXMgbm90IGF0IGEgOS4gU2hl4oCZcyBhdCBhIDcu4oCdVGhlIHR3byBvZiB0aGVtIHdlcmUgbGlrZSwg4oCcV2UgbmVlZCB0byBnZXQgYSBkb2N0b3IgaW4gaGVyZSB0byBjb25maXJtLuKAnSBJdOKAmXMgNTowMCBBTS4gVGhlIGRvY3RvciBkaWRu4oCZdCBzaG93IHVwIHVudGlsIGNsb3NlIHRvIDc6NDUuIEhl4oCZcyBsaWtlLCDigJxJ4oCZbSBub3QgZ29pbmcgdG8gY2hlY2sgeW91IGJlY2F1c2UgdGhlIGNoYW5nZW92ZXIgd2lsbCBoYXBwZW4gaW4gMTUgbWludXRlcyBhbmQgdGhlIG5ldyBkb2N0b3IgaXMgZ29pbmcgdG8gY2hlY2sgeW91LiBJIGRvbuKAmXQgd2FudCB0byBpbnRyb2R1Y2UgYW55IG1vcmUgYmFjdGVyaWEu4oCdwqBUaGUgbmV3IGRvY3RvciBjYW1lIGluIGF0IDg6MzAuIFNoZSBjaGVja2VkIG1lIGFuZCBzaGUgZ29lcywg4oCcTm8sIHlvdeKAmXJlIHN0aWxsIGF0IGEgNy4gWW914oCZdmUgYmVlbiBzdHVjayBhdCBhIDcgZm9yIGEgZmV3IGhvdXJzLiBXZSByZWFsbHkgbmVlZCB0byBzdGFydCB0YWxraW5nIGFib3V0IGEgQy1zZWN0aW9uLuKAnSBJdCB3YXMgdGhlIGZpcnN0IHRpbWUgc2hlIGhhZCBzZWVuIG1lLiBJIGhhZCBiZWVuIGx5aW5nIGluIGEgYmVkIG5vdyBmb3IgYWxtb3N0IDEyIGhvdXJzLiBUaGV5IGdhdmUgbWUgdGhlIHBlYW51dCBiYWxsIGZvciAyIGhvdXJzIGFuZCB0aGVuIHRoZXkgdG9vayBpdCBhd2F5IEkgdGhpbmsgYmVjYXVzZSBteSBzb27igJlzIGhlYXJ0IHJhdGUgaGFkIHN0YXJ0ZWQgdG8gZ28gZnVubnkgb3IgdGhleSBsb3N0IGl0IG9yIHNvbWV0aGluZyBsaWtlIHRoYXQgYnV0IGhlIHdhcyBkb2luZyBmaW5lLsKgVGhleSBsb3N0IGl0IGJlY2F1c2UgaGUgbW92ZWQgb3Igd2hhdGV2ZXIuIFRoZXkgdG9vayB0aGUgcGVhbnV0IGJhbGwgYXdheSBhbmQgbm90aGluZyBzaG93ZWQgdGhhdCBoZSB3YXMgdW5kZXIgYW55IGRpc3RyZXNzIGF0IGFsbCBidXQgc2hlIHdhcyBsaWtlLCDigJxZb3XigJl2ZSBiZWVuIHN0dWNrIGF0IDcgZm9yIGEgd2hpbGUgc28gSSB3YW50IHlvdSB0byB0YWxrIGFib3V0IGl0IHdpdGggeW91ciBodXNiYW5kLuKAnSBJIHdhcyBpbiB0ZWFycyBiZWNhdXNlIGFnYWluLCB0aGUgd2hvbGUgdGltZSwgYWxsIEkgc2FpZCB0byBteSBvd24gcHJvdmlkZXIgd2FzLCDigJxJIGRvbuKAmXQgd2FudCBhIEMtc2VjdGlvbi4gSSBkb27igJl0IGNhcmUgd2hhdCBoYXBwZW5zLiBJIGRvbuKAmXQgd2FudCBhIEMtc2VjdGlvbi7igJ3CoFNvIEnigJltIGluIHRlYXJzLiBTaGXigJlzIGxpa2UsIOKAnFRhbGsgYWJvdXQgaXQgd2l0aCB5b3VyIGh1c2JhbmQu4oCdIFNoZSBjb21lcyBiYWNrIGFuIGhvdXIgbGF0ZXIgYW5kIHdlIHdlcmUgbGlrZSwg4oCcV2Ugd2FudCB0byB3YWl0IGEgbGl0dGxlIGJpdCBsb25nZXIu4oCdIFNoZSBnb2VzLCDigJxPa2F5LCB3aGF0IHdl4oCZcmUgZ29pbmcgdG8gZG8gaXMgcHV0IHlvdSBvbiB0aGUgaGlnaGVzdCBkb3NlIG9mIFBpdG9jaW4u4oCdIFNoZSB3YXMgbGlrZSwg4oCcV2XigJlyZSBnb2luZyB0byBzdGFydCB5b3Ugb24gUGl0b2NpbiBhbmQgZXZlcnkgNSBtaW51dGVzLCB3ZeKAmXJlIGdvaW5nIHRvIGluY3JlYXNlIGl0IHVudGlsIHlvdeKAmXJlIGF0IHRoZSBoaWdoZXN0IGRvc2UuIFRoZW4gd2XigJlsbCB3YWl0IDIgaG91cnMsIGNoZWNrIHlvdSBhZ2FpbiwgYW5kIGlmIHlvdSBoYXZlbuKAmXQgZ29uZSBhbnl3aGVyZSwgeW914oCZbGwgaGF2ZSB0byBoYXZlIGEgQy1zZWN0aW9uLuKAncKgSSBkaWRu4oCZdCBrbm93IGFueSBiZXR0ZXIgc28gSSB3YXMgbGlrZSwg4oCcT2theS7igJ0gVGhleSBzdGFydGVkIG1lIG9uIHRoZSBQaXRvY2luIGJ1dCBJ4oCZbSBoYXZpbmcgaW50ZW5zZSBwYWluIGFuZCBwcmVzc3VyZSBpbiBteSBidW0uIEnigJltIGxpa2UsIOKAnEkgZmVlbCBsaWtlIEkgaGF2ZSB0byBwdXNoLiBNeSBib2R5IGZlZWxzIGxpa2UgaXQgaXMgcHVzaGluZy7igJ0gSSBrbmV3IHRoYXQgaWYgeW91IHB1c2hlZCB0b28gc29vbiwgeW91ciBjZXJ2aXggd291bGQgc3dlbGwuIFRoYXTigJlzIG9uZSBvZiB0aGUgZmV3IHRoaW5ncyBJIGRpZCBrbm93LsKgVGhleSBwdXQgbWUgb24gUGl0b2NpbiBhbmQgSSB3YXMgY3J5aW5nIGJlY2F1c2UgSSB3YXMgcGFuaWNraW5nLiBNeSBodXNiYW5kIHdhcyBoYXZpbmcgdG8gcHVzaCBteSBib2x1cyBldmVyeSAxNSBtaW51dGVzIHdoZW4gaXQgY2FtZSBvbiBiZWNhdXNlIEkgY291bGQgZmVlbCBldmVyeXRoaW5nIHRocm91Z2ggdGhlIGVwaWR1cmFsLiBUaGUgbnVyc2Ugd2FzIG5vdCBzdXBlciBraW5kIGFib3V0IGl0LiBTaGUgd2FzIGxpa2UsIOKAnFlvdSBuZWVkIHRvIHN0b3AgcHVzaGluZy4gSWYgSSBjaGVjayB5b3Ugbm93IGFuZCB5b3XigJlyZSBub3QgYW4gOCwgdGhlbiB5b3XigJlyZSBnb2luZyB0byBoYXZlIGEgQy1zZWN0aW9uLuKAncKgU2hlIGp1c3Qgd2FzIG5vdCBvdmVybHkgY29tcGFzc2lvbmF0ZSBvciBhbnl0aGluZy4gV2VsbCwgZmluYWxseSwgc2hlIHN1Z2dlc3RzLCDigJxXaHkgZG9u4oCZdCB3ZSBwdXQgeW91IG9uIHlvdXIgaGFuZHMgYW5kIGtuZWVzP+KAnSBTaGUgcHV0IG1lIG9uIG15IGhhbmRzIGFuZCBrbmVlcyBhbmQgSSBmZWx0IGltbWVkaWF0ZSByZWxpZWYuIFNvbWV0aGluZyBjaGFuZ2VkIGluIGJhYnnigJlzIHBvc2l0aW9uLiBJIHNhdCB0aGVyZSBhbmQgSSB3YXMgYWJsZSB0byB0YWxrLiBJIHdhcyBjb21mb3J0YWJsZSBhbmQgSSB3YXMgZmluZS4gSSB0aGluayB3ZSBnb3QgdG8gYW4gaG91ciBhbmQgYSBoYWxmIGFuZCB0aGVuIHRoZXkgY2hlY2tlZCBtZSBiZWNhdXNlIHdoYXQgaGFwcGVuZWQgd2FzIHRoZXkgcHV0IG1lIG9uIG15IGhhbmRzIGFuZCBrbmVlcyBhbmQgbXkgZmVldCBsb3N0IGNpcmN1bGF0aW9uIGFuZCB0dXJuZWQgcHVycGxlIGFuZCB3ZW50IG51bWIuwqBZZWFoLCBzbyB0aGVuIHRoZXkgcHV0IG1lIG9uIG15IGJhY2sgYWdhaW4uIFRoZXkgY2hlY2tlZCBtZSBhbmQgdGhleSB3ZXJlIGxpa2UsIOKAnE9oLCB5b3XigJlyZSBhdCBhIDkuNS7igJ0gSeKAmW0gbGlrZSwg4oCcWWVzLuKAnSBJIHByb2dyZXNzZWQuwqAyNjoyMiBBc3luY2xpdGljIGFuZCBPUCBwb3NpdGlvbmluZ0tlbHNleTogRmluYWxseSwgd2UgZ290IHRvIDEwIGNlbnRpbWV0ZXJzIGFuZCBJIHdhcyBhIHR5cGljYWwgeW91IHB1c2ggb24geW91ciBiYWNrIHR5cGUgb2YgdGhpbmcuIFRoZSBkb2N0b3Igc2FpZCwg4oCcV2UgY2Fubm90IHdhaXQgdG8gbGV0IGJhYnkgZGVzY2VuZC4gWW91ciB3YXRlciBoYXMgYmVlbiBicm9rZW4gdG9vIGxvbmcu4oCdIFRoZW4gc2hlIGNoZWNrcyBtZSBhbmQgc2hl4oCZcyBsaWtlLCDigJxPaCB5ZWFoLCBhbmQgYmFieeKAmXMgT1Au4oCdIEkgc2hvdWxkIGhhdmUgbGVhcm5lZC4gSGFkIEkgZG9uZSBteSByZXNlYXJjaCwgSSB3b3VsZCBoYXZlIGtub3duIGFsbCB0aGF0IHByZXNzdXJlIHdhcyBteSBPUCBiYWJ5LsKgU28gc2hlIHNhaWQsIOKAnEJhYnkgaXMgT1AuIFdl4oCZcmUgZ29pbmcgdG8gc3RhcnQgcHVzaGluZy7igJ0gSSB3YXMgc28gZnJ1c3RyYXRlZCBieSBoZXIgYmVjYXVzZSBzaGUgd291bGQgbGVhdmUgdGhlIHJvb20gYW5kIHRoZW4gc2hl4oCZZCBjb21lIGJhY2sgYW5kIHNoZeKAmWQgc2l0IHRoZXJlIGp1c3Qgd2l0aCBoZXIgaGFuZCBpbnNpZGUgb2YgbWUgYW5kIGNoZWNraW5nIGhlciB3YXRjaCBhbmQgc3R1ZmYuIFNoZSB3YXMganVzdCB3YWl0aW5nIGZvciB0aGUgaG91cnMgdG8gcGFzcy4gSeKAmW0gZG9pbmcgZXZlcnl0aGluZyBJIGNhbi7CoE9uY2UgdGhleSB0b2xkIG1lIHRoYXQgSSBjb3VsZCBwdXNoLCBJIHdhcyBsaWtlLCDigJxZZXMuIExldOKAmXMgZ2V0IHRoaXMgYmFieSBvdXQu4oCdIEkgcHVzaGVkIGZvciAzLjUgaG91cnMgYW5kIHRoZW4gdGhleSBzYWlkLCDigJxXZeKAmWxsIGdpdmUgeW91IDMwIG1vcmUgbWludXRlcyBhbmQgaWYgeW91IGNhbm5vdCBnZXQgYmFieSBvdXQgaW4gMzAgbWludXRlcywgd2XigJlsbCB0cnkgZm9yY2VwcyBidXQgd2XigJlsbCBuZWVkIGFuIE9CIHRvIGNvbWUgaW4gYmVjYXVzZSBpZiBmb3JjZXBzIGZhaWwsIHlvdSB3aWxsIGhhdmUgYSBDLXNlY3Rpb24u4oCdwqBJIGRlY2lkZWQgdG8gcHVzaCBmb3IgMzAgbW9yZSBtaW51dGVzIGFuZCB0aGUgbnVyc2UgY2FtZSBpbiBhbmQgc2FpZCwg4oCcTGV04oCZcyBmbGlwIHlvdS7igJ0gVGhleSBmbGlwcGVkIG1lIGFnYWluIGFuZCBJIGxvc3QgYWxsIG9mIG15IHByb2dyZXNzLiBUaGV5IGhhZCBhbHNvIHRvbGQgbWUgdGhhdCBub3Qgb25seSB3YXMgYmFieSBPUCBidXQgaGUgd2FzIGFzeW5jbGl0aWMgc28gaGlzIGhlYWQgd2FzIHRpbHRlZCB0byB0aGUgc2lkZS4gVGhleSBzYWlkLCDigJxUaGF04oCZcyBwcm9iYWJseSB3aGF04oCZcyBoYXBwZW5pbmcu4oCdIEJ1dCB3aGVuIEkgZmxpcHBlZCwgSSBsb3N0IG15IHByb2dyZXNzLiBUaGVyZSB3YXMgYSBuZXcgbnVyc2Ugd2hvIGNvdWxkbuKAmXQgZmlndXJlIG91dCBob3cgdG8gZ2V0IHRoZSBtb25pdG9yIG9uIG1lIHNvIEkgY291bGRu4oCZdCBwdXNoIGluIHRoYXQgdGltZS4gVGhleSB3ZXJlIGxpa2UsIOKAnFdlbGwsIHdl4oCZcmUgZ29pbmcgdG8gc3RvcCBwdXNoaW5nIGJlY2F1c2Ugd2hhdGV2ZXIu4oCdwqAzMCBtaW51dGVzIHBhc3NlZCBhbmQgSSBoYWQgbG9zdCBhbGwgb2YgbXkgcHJvZ3Jlc3MuIFRoZXnigJlyZSBsaWtlLCDigJxPa2F5LCB3ZeKAmXJlIGdvaW5nIHRvIGdldCB0aGUgT0IgaW4u4oCdIFNoZSBjb21lcyBpbiBhbmQgc2hlIHNheXMsIOKAnFlvdSBjb3VsZCB0ZWFyLuKAnSBJIHNhaWQsIOKAnEkgd291bGQgcmF0aGVyIHRlYXIgdGhhbiBoYXZlIGEgQy1zZWN0aW9uLiBJIGRvbuKAmXQgd2FudCB0byBoYXZlIGEgQy1zZWN0aW9uLuKAncKgVGhlbiBJIHNhaWQsIOKAnFdoYXQgYXJlIHRoZSBjaGFuY2VzIHRoYXQgdGhpcyB3aWxsIHdvcms/4oCdIFNoZSBzYWlkLCDigJxJIHdvdWxkbuKAmXQgZG8gaXQgaWYgSSBkaWRu4oCZdCB0aGluayBpdCB3b3VsZCB3b3JrLuKAnSBBcyBzaGUgdHJpZWQgdG8gZ2V0IHRoZSBmb3JjZXBzIG9uLCBJIGNvdWxkIGZlZWwgbXkgYm9keSBwdXNoaW5nLiBJ4oCZbSBsaWtlLCDigJxDYW4gSSBwdXNoPyBDYW4gSSBwdXNoP+KAnSBTaGXigJlzIGxpa2UsIOKAnE5vLCBkb27igJl0IHB1c2ggcmlnaHQgbm93LuKAncKgTXkgYm9keSBpcyBkb2luZyBpdCBmb3IgbWUgYW5kIHNoZSBjYW7igJl0IGdldCB0aGUgZm9yY2VwcyBvbiBzbyBzaGXigJlzIGxpa2UsIOKAnEkgY2Fu4oCZdCBkbyBpdC7igJ0gQXMgc2hlIHdhcyB0cnlpbmcgdG8gcHV0IHRoZSBmb3JjZXBzIG9uLCBiYWJ5IHN0YXJ0ZWQgZ2V0dGluZyB0YWNoeWNhcmRpYyBzbyB0aGV5IHNhaWQsIOKAnFRoaW5ncyBhcmUgZ29pbmcgdG8gZ2V0IHJlYWxseSBzY2FyeSBmb3IgYSBtaW51dGUgYmVjYXVzZSB0aGlzIGlzIGFuIGVtZXJnZW5jeSBDLXNlY3Rpb24uIEEgbG90IG9mIHBlb3BsZSBhcmUgY29taW5nIGluIGhlcmUgYW5kIHdlIGhhdmUgdG8gdHVybiBvbiBhbGFybXMgaW4gdGhlIGhhbGx3YXkgYmVjYXVzZSB3ZSBoYXZlIHRvIGdldCB5b3UgdG8gdGhlIE9SIHJlYWxseSBxdWlja2x5LuKAncKgTWVhZ2FuOiBXYWl0LCBzbyBiYWJ54oCZcyBoZWFydCByYXRlIGlzIGhpZ2ggbm90IGxvdywgYW5kIGp1c3QgYmVjYXVzZSBiYWJ54oCZcyBoZWFydCByYXRlIHdlbnQgYSBsaXR0bGUgaGlnaCwgdGhleSB0cmVhdGVkIGl0IGFzIGEgdHJ1ZSBlbWVyZ2VuY3kuwqBLZWxzZXk6IFllcy7CoE1lYWdhbjogT2theS7CoDI5OjMxIEtlbHNleeKAmXMgQ2VzYXJlYW4gdW5kZXIgZ2VuZXJhbCBhbmVzdGhlc2lhS2Vsc2V5OiBUaGV5IHN0YXJ0IHRocm93aW5nIGNsb3RoZXMgYXQgbXkgaHVzYmFuZC4gVGhlcmUgd2VyZSBwZW9wbGUgcGlsaW5nIGluLiBJ4oCZbSBpbiBhIGhvc3BpdGFsIHRoYXQgaXMgRnJlbmNoLXNwZWFraW5nLiBJIGNhbiBzcGVhayBGcmVuY2ggYnV0IG5vdCBtZWRpY2FsIHRlcm1pbm9sb2d5LiBOb2JvZHkgaXMgdGFsa2luZyB0byBtZS4gVGhleeKAmXJlIGFsbCBqdXN0IHRhbGtpbmcgYXJvdW5kIG1lIGFuZCB0aGV54oCZcmUgcnVzaGluZyBtZSBkb3duIHRoZSBoYWxsd2F5LiBJ4oCZbSBiYXdsaW5nIGFuZCBJ4oCZbSBsaWtlLCDigJxJIGRvbuKAmXQgd2FudCB0aGlzLuKAnSBJIGhhdmUgbm8gaWRlYSB3aGVyZSBteSBodXNiYW5kIGlzLiBUaGV54oCZcmUgdHJ5aW5nIHRvIHB1c2ggbXkgbGVncyB0b2dldGhlciBidXQgYmFieSBpcyBzbyBsb3cgdGhhdCBpdCBodXJ0cyB0byBkbyB0aGF0LiBJ4oCZbSB0ZWxsaW5nIHRoZW0gdG8gc3RvcCBhbmQgd2hhdG5vdC7CoFdlIGdldCBpbnRvIHRoZSBPUiBhbmQgSSB3YXMgaW5jb25zb2xhYmxlIGJlY2F1c2UgSSB3YXMgdGVycmlmaWVkLiBUaGV5IGdhdmUgbWUgbXkgc3BpbmFsIHdoaWNoIGRpZG7igJl0IHRha2UuIFRoZXkgZ2F2ZSBtZSB0aGUgcGluY2ggdGVzdCBhbmQgSSB3YXMgbGlrZSwg4oCcSSBjYW4gZmVlbCBpdC4gSSBjYW4gZmVlbCBpdC7igJ0gSeKAmW0gY3J5aW5nLCDigJxQbGVhc2UganVzdCBwdXQgbWUgb3V0LiBJIGRvbuKAmXQgd2FudCB0byBiZSBhd2FrZSBmb3IgdGhpcy4gSeKAmW0gc2NhcmVkLuKAnSBUaGV54oCZcmUgbm90IHRhbGtpbmcgdG8gbWUgYW5kIHRoYXTigJlzIHRoZSBsYXN0IHRoaW5nIEkgcmVtZW1iZXIgaXMgc2F5aW5nLCDigJxJIGNhbiBmZWVsIHRoYXQs4oCdIGFuZCB0aGV5IHB1dCBtZSBvdXQuwqBJIHdhcyB1bmRlciBnZW5lcmFsIGFuZXN0aGVzaWEgYW5kIEkgd29rZSB1cCAyIGhvdXJzIGxhdGVyIGluIHJlY292ZXJ5IGJ5IG15c2VsZi4gSXQgd2FzIENPVklELiBJdCB3YXMgaW4gRGVjZW1iZXIgMjAyMS4gTXkgaHVzYmFuZCBjb3VsZG7igJl0IGJlIHRoZXJlLiBJIGFza2VkIHdoZXJlIGhlIHdhcyBhbmQgdGhleSBzYWlkLCDigJxPaCwgaGXigJlzIGluIHlvdXIgcm9vbSB3aXRoIHlvdXIgYmFieS4gRXZlcnl0aGluZyBpcyBmaW5lLuKAnSBJIHdhcyBzb2JiaW5nLiBUaGUgZmlyc3QgdGhpbmcgc2hlIHNhaWQgdG8gbWUgd2FzLCDigJxFdmVyeXRoaW5nIHdlbnQgZ3JlYXQuIFlvdSBhcmUgYSBncmVhdCBjYW5kaWRhdGUgZm9yIGEgVkJBQy7igJ0gVGhhdCBzdHVjayB3aXRoIG1lLsKgVGhlIHdob2xlIHdheSBiYWNrIHRvIG15IHJvb20sIEkgd2FzIHN0YXJpbmcgYXQgdGhlIGNlaWxpbmcuIEkgY291bGRu4oCZdCBsb29rIGF0IGFueW9uZS4gSSB3YXMganVzdCBkZXZhc3RhdGVkIGJ5IGhvdyBldmVyeXRoaW5nIGhhZCBnb25lLiBJIGRpZG7igJl0IHRoaW5rIEkgY291bGQgZXZlciBsb29rIGF0IG15IGh1c2JhbmQgb3IgbXkgYmFieSBldmVyIGFnYWluLiBJIHdhcyBqdXN0IGxpa2UsIFdoYXQgaGFwcGVuZWQ/SSBoZWFyIG15IGh1c2JhbmQuIEhlIGlzIGxpa2UsIOKAnFlvdSBuZWVkIHRvIHNlZS4gT3VyIGJhYnkgaXMgaGVyZS4gWW91IHNob3VsZCBzZWUgaGltLiBIZSBpcyBzbyBiZWF1dGlmdWwuIEhlIGhhcyB0aGUgbW9zdCBiZWF1dGlmdWwgZXllcy7igJ0gSGUgY2FtZSBhcm91bmQgdG8gbXkgYmVkIGFuZCBoZSBwYXNzZWQgbWUgbXkgc29uIGFuZCBub3RoaW5nIG1hdHRlcmVkLiBOb25lIG9mIGl0IG1hdHRlcmVkLiBIZSB3YXMgOSBwb3VuZHMsIDggb3VuY2VzIHNvIEkgd2FzIHJpZ2h0LiBIZSB3YXMgYm9ybiBvbiBEZWNlbWJlciA0dGggd2hpY2ggSSBoYWQgc2FpZCBhdCA1OjExIFBNLsKgTWVhZ2FuOiBPaCBteSBnb3NoLsKgS2Vsc2V5OiBZZWFoLiBIZSBoYWQgYSBmdWxsIGhlYWQgb2YgZGFyayBoYWlyLiBIZSB3YXMgYm9ybiBpbiBhIHNub3dzdG9ybS4gVGhhdCB3YXMgdGhlIG90aGVyIHRoaW5nLiBJIHNhaWQsIOKAnEhl4oCZcyBnb2luZyB0byBiZSBib3JuIGluIGEgc25vd3N0b3JtLOKAnSBiZWNhdXNlIG15IGh1c2JhbmQgYW5kIEkgd2VyZSBib3RoIGJvcm4gZHVyaW5nIGEgc25vd3N0b3JtIGFuZCBoZSB3YXMgYm9ybiBkdXJpbmcgYSBzbm93c3Rvcm0uwqBZZWFoLCBoZSB3YXMgcGVyZmVjdC4gSGUgd2FzIGh1Z2UgYW5kIGhlIHdhcyBjaHVua3kgYW5kIGhlIGxvb2tlZCBleGFjdGx5IGxpa2UgbWUuIE5vcm1hbGx5LCB0aGV5IGxvb2sgbGlrZSB0aGVpciBkYWRzIGlzIHdoYXQgSeKAmXZlIGhlYXJkIGJ1dCBoZSBsb29rZWQgZXhhY3RseSBsaWtlIG1lIGFuZCB3YXMgc28gYmVhdXRpZnVsLsKgVGhyb3VnaG91dCBteSBwcmVnbmFuY3ksIEkgZG9u4oCZdCBsaWtlIGJlaW5nIHByZWduYW50IGJlY2F1c2UgSSBkb27igJl0IGxpa2Ugc2hhcmluZyBteSBib2R5IEnigJl2ZSBsZWFybmVkLiBUaHJvdWdob3V0IG15IHByZWduYW5jeSwgSSBzYWlkLCDigJxJIGRvbuKAmXQgd2FudCBhbm90aGVyLiBJIGRvbuKAmXQgdGhpbmsgSSB3YW50IGFub3RoZXIu4oCdIFdoZW4gaGUgd2FzIGJvcm4gYW5kIEkgaGVsZCBoaW0sIEkgd2FzIGxpa2UsIOKAnEkgd2lsbCBkbyB0aGlzIGFnYWluIGluIGEgaGVhcnRiZWF0LuKAncKgMzQ6NTAgU2Vjb25kIHByZWduYW5jeSBhbmQgVkJBQyBwcmVwS2Vsc2V5OiBQb3N0cGFydHVtIHdhcyBnb29kLiBJIGVuZGVkIHVwIHN0YXJ0aW5nIHRoZXJhcHkgNSBkYXlzIGFmdGVyIG15IEMtc2VjdGlvbi4gSGUgbGF0Y2hlZCBhbmQgaGUgZGlkIG5vdCBoYXZlIGJyZWFzdG1pbGsgZm9yIGhpcyBmaXJzdCBmZWVkIHdoaWNoIG1ha2VzIG1lIHJlYWxseSBzYWQuIEkgd2FzIGRldmFzdGF0ZWQgZnJvbSB0aGUgQy1zZWN0aW9uIGJlY2F1c2UgSSBkaWRu4oCZdCBnZXQgdG8gc2VlIG15IGJhYnkgYmUgYm9ybi4gSSBkaWRu4oCZdCBnZXQgdG8gaGVhciBoaXMgZmlyc3QgY3J5LiBJIGRpZG7igJl0IGdldCB0byB0b3VjaCBoaW0gZmlyc3QgYW5kIG15IGh1c2JhbmQgd2FzbuKAmXQgdGhlcmUuIEhlIHdhc27igJl0IGFsbG93ZWQgdG8gYmUgaW4gdGhlIHJvb20uwqBQb3N0cGFydHVtIHdhcyBmaW5lLiBJIHdhcyBzZXJpb3VzbHkgYW5lbWljLiBJIHdhcyBpbmNyZWRpYmx5IHN3b2xsZW4uIEkgaGFkIG5vIGtuZWVzIGJlY2F1c2UgSSB3YXMgb24gZmx1aWRzIGZvciBzbyBsb25nIGFuZCBnZXR0aW5nIGFyb3VuZCB3YXMgYXdmdWwsIGJ1dCBJIGp1c3QgZm9jdXNlZCBvbiBvdXIgYmFieS4gSGUgd2FzIHBlcmZlY3QuIEhlIHdhcyBzbyBlYXN5IGFuZCA2IHdlZWtzIHJvbGxlZCBhcm91bmQgYW5kIEkgd2FzIGxpa2UsIOKAnExldOKAmXMgaGF2ZSBhbm90aGVyLuKAnSBCdXQgd2Ugd2FpdGVkLsKgV2UgZGVjaWRlZCBhcm91bmQgOSBtb250aHMgdG8gc3RhcnQgdHJ5aW5nIGFnYWluIGFuZCBsb29zZWx5IHRyeWluZyBiZWNhdXNlIGFnYWluLCB3ZSB3ZXJlIHdvbmRlcmluZyBob3cgbG9uZyBpdCB3b3VsZCB0YWtlLsKgTWVhZ2FuOiBSaWdodC7CoEtlbHNleTogV2UgZW5kZWQgdXAgdHJ5aW5nIGdvdCA2IG1vbnRocyBhbmQgSSBnb3QgcHJlZ25hbnQgaW4gQXByaWwgb2YgMjAyMy4gTXkgZHVlIGRhdGUgd2FzIERlY2VtYmVyIDI5dGguIEFnYWluLCBzdXBlciwgc3VwZXIgZWFzeSBwcmVnbmFuY3kgdGhyb3VnaG91dC4gSW1tZWRpYXRlbHkgYWZ0ZXIgbXkgQy1zZWN0aW9uLCBJIGRlY2lkZWQgdG8gbG9vayBpbnRvIFZCQUMgYmVjYXVzZSB0aGF0IHN0dWNrIGluIG15IGhlYWQuIEkgaGFkIGJlZW4gbGlzdGVuaW5nIHRvIGEgZGlmZmVyZW50IGJpcnRoIHN0b3J5IHBvZGNhc3QuIEkgc2VhcmNoZWQgZm9yIFZCQUNzIGFuZCB0aGVyZSB3ZXJlbuKAmXQgbWFueSBhbmQgdGhlbiBJIHNlYXJjaGVkIFZCQUMgaW4gZ2VuZXJhbCBvbiBTcG90aWZ5IGFuZCBjYW1lIGFjcm9zcyB5b3UgZ3V5cy5JIHN0YXJ0ZWQgbGlzdGVuaW5nIHRvIFZCQUNzIGJlZm9yZSBnZXR0aW5nIHByZWduYW50IGFuZCBJIHN0YXJ0ZWQgZG9pbmcgbG90cyBvZiByZXNlYXJjaCBhYm91dCBpdC4gSSBsZWFybmVkIGFib3V0IHRoZSBjYXNjYWRlIG9mIGludGVydmVudGlvbnMgYW5kIGhvdyBteSBjYXNlIHdhcyByZWFsbHkgdHlwaWNhbC4gSSBzdGFydGVkIGxlYXJuaW5nIGFib3V0IE9QIGJhYmllcyBhbmQgaG93IHRoZSBwYWluIEkgd2FzIGZlZWxpbmcgY29ycmVsYXRlZCB3aXRoIHRoYXQuIEkgd2FudGVkIHRvIHRyeSBmb3IgYSBiaXJ0aCBpbiBhIGJpcnRoaW5nIGNlbnRlci7CoE5vdywgd2hlbiBJIGdvdCBwcmVnbmFudCB3aXRoIG15IHNlY29uZCBiYWJ5LCBJIHdhcyBsaXZpbmcgaW4gR2F0aW5lYXUgYnV0IHdlIGhhZCBhIGJ1bmNoIG9mIHN0dWZmIGhhcHBlbi4gTXkgbW90aGVyLWluLWxhdyBlbmRlZCB1cCBzcGxpdHRpbmcgdXAgd2l0aCBoZXIgaHVzYmFuZC4gV2Ugc2FpZCwgSGV5LCBsZXTigJlzIGJ1eSBhIGhvdXNlIGluIE9udGFyaW8gdG9nZXRoZXIgYW5kIHdl4oCZbGwgbW92ZSBpbi7CoEkgZm91bmQgb3V0IEkgd2FzIHByZWduYW50IGFib3V0IDIgd2Vla3MgYmVmb3JlIHdlIHB1dCBpbiBhbiBvZmZlciBvbiBhIGhvdXNlIGFuZCB3ZSBtb3ZlZCBpbiBpbiBKdWx5IHdoZW4gSSB3YXMgMTUgd2Vla3MgcHJlZ25hbnQuIEF0IHRoZSB0aW1lLCBteSBHUCB3YXMgbXkgcHJvdmlkZXIgZm9yIG15IGZpcnN0IGFuZCBJIHN0YXJ0ZWQgb2ZmIHdpdGggaGVyIHdpdGggbXkgc2Vjb25kIGFzIHdlbGwuIFRoZSB0aGluZyB3YXMgd2hlbiBJIGZvdW5kIG91dCBJIHdhcyBwcmVnbmFudCwgSSB3ZW50IHRvIGhlci4gU29ycnksIEkgc2hvdWxkIGhhdmUgc2FpZC7CoEFmdGVyIG15IEMtc2VjdGlvbiwgSSB3ZW50IHRvIGhlciBhbmQgc2FpZCwg4oCcSSB3YXMgdG9sZCBJIHdhcyBhIGdvb2QgY2FuZGlkYXRlIGZvciBhIFZCQUMu4oCdIFNoZSBzYWlkLCDigJxZZXMsIGJ1dCB5b3UgY2Fubm90IGdvIG92ZXIgeW91ciBkdWUgZGF0ZS4gV2XigJlyZSBnb2luZyB0byBtb25pdG9yIHlvdXIgYmFieSB0byBzZWUgaG93IGJpZyBpdCBpcyBiZWNhdXNlIHlvdSBoYWQgYSBiaWcgYmFieSBiZWZvcmUuIFlvdSBjYW5ub3QgYmUgaW5kdWNlZC4gWW91IG5lZWQgdG8gaGF2ZSAxOCBtb250aHMgYmV0d2VlbiBwcmVnbmFuY2llcy7igJ0gVHlwaWNhbC7CoE1lYWdhbjogQWxsIG9mIHRoZSByZWQgZmxhZ3MuwqBLZWxzZXk6IFllYWguIFRoaXMgd2FzIGJlZm9yZSBJIHN0YXJ0ZWQgbGlzdGVuaW5nIHRvIHlvdXIgcG9kY2FzdC4gVGhlbiBJIHN0YXJ0ZWQgbGlzdGVuaW5nIHRvIHlvdXIgcG9kY2FzdCBhbmQgd2hlbiBJIHdlbnQgaW4gdG8gc2VlIGhlciB3aGVuIEkgZm91bmQgb3V0IEkgd2FzIHByZWduYW50IGJlZm9yZSBJIGhhZCBnb25lIGludG8gYSBiaXJ0aGluZyBjZW50ZXIsIEkgc2FpZCB0byBoZXLigJMgYW5kIEnigJltIG5vdCBhbiBvdXRzcG9rZW4gcGVyc29uLiBJIHN0cnVnZ2xlIHRvIGFkdm9jYXRlIGZvciBteXNlbGYuIEkgc2FpZCwg4oCcSSB3YW50IHRvIHRyeSBmb3IgYSBWQkFDLCBidXQgSSBkbyBub3Qgd2FudCB5b3UgdG8gcHV0IGxpbWl0YXRpb25zIG9uIG1lLuKAnSBJIHNhaWQsIOKAnEkga25vdyB0aGF0IEkgY2FuIHNhZmVseSBoYXZlIGEgVkJBQyBldmVuIGlmIHRoZXJlIGlzIGxlc3MgdGhhbiAxOCBtb250aHMgYmV0d2VlbiBteSBwcmVnbmFuY2llcy7CoEZyb20gYmlydGggdG8gYmlydGgsIGl0IHdhcyAyIHllYXJzIGFuZCBhIGJpdCBzbyBpdCBkaWRu4oCZdCBtYXR0ZXIuIEkgc2FpZCwg4oCcSSBrbm93IHRoYXQgYmlnIGJhYmllcyBhcmUgMTAgcG91bmRzKy4gVGhhdCBpcyBtYWNyb3NvbWlhLiBJIGtub3cgdGhhdC7igJ0gSSBzYWlkLCDigJxJIGtub3cgdGhhdCBJIGNhbuKAmXQgYmUgaW5kdWNlZC7igJ0gSW4gQ2FuYWRhLCB0aGV5IGdlbmVyYWxseSBkb27igJl0IGRvIFBpdG9jaW4gZm9yIFZCQUNzIGF0IGFsbC4gVGhleSBkb27igJl0IGdlbmVyYWxseSBpbmR1Y2UgZm9yIFZCQUNzIGF0IGFsbC4gSSBzYWlkLCDigJxJIGRvIGtub3cgdGhhdCB0aGVyZSBhcmUgc2FmZSB3YXlzIHRvIGluZHVjZSB0aG91Z2ggYW5kIEkgZG8ga25vdyB0aGF0IEkgY2FuIHNhZmVseSBnbyBwYXN0IG15IGR1ZSBkYXRlLuKAnSBTaGUgc2FpZCwg4oCcSSBiZWxpZXZlIGluIGluZm9ybWVkIGNvbnNlbnQgYW5kIGlmIHlvdSB1bmRlcnN0YW5kIGFsbCBvZiB0aGlzLCBJIHRoaW5rIHRoYXQgeW91IGFyZSB3ZWxsIHByZXBhcmVkIGFuZCB3ZSBjYW4gbW92ZSBmb3J3YXJkIHdpdGggYSBWQkFDLuKAnSBJIHNhaWQsIOKAnEdyZWF0LuKAnSBJIGhhZCBhcHBsaWVkIGZvciBiaXJ0aGluZyBjZW50ZXJzIHByaW9yIHRvIHRoaXMgYnV0IGl0IGlzIHJlYWxseSBoYXJkIHRvIGdldCBpbnRvIHRoZW0gaGVyZS4gSSBlbmRlZCB1cCBiZWluZyBhYmxlIHRvIGdldCBpbnRvIG9uZSBpbiBHYXRpbmVhdS4gSSB3YXMgY29uY2VybmVkIGFib3V0IG1vdmluZyBvdmVyIGNyb3NzLXByb3ZpbmNlcyBhZ2Fpbi4gSXQgZW5kZWQgdXAgd29ya2luZyBvdXQuIEkgZGlkIHN0aWNrIHdpdGggbXkgR1AgdW50aWwgSSB3YXMgYWJvdXQgMjAgd2Vla3MgcHJlZ25hbnQganVzdCBpbiBjYXNlLsKgSXQgZGlkbuKAmXQgd29yayBvdXQgd2l0aCB0aGUgYmlydGhpbmcgY2VudGVyIGFmdGVyIG15IG1vdmUuIFdoYXQgaGFwcGVuZWQgd2FzLCBzaGUgd2FzIHN1cGVyLCBzdXBlciBzdXBwb3J0aXZlLCBidXQgc2hlIHdvdWxkIHNheSB0aGluZ3MgbGlrZSwg4oCcRG8geW91IHdhbnQgbWUgdG8gYm9vayB5b3UgYW4gYXBwb2ludG1lbnQgd2l0aCBhbiBPQiBqdXN0IGluIGNhc2U/4oCdIG9yIOKAnERvIHlvdSB3YW50IG1lIHRvIGJvb2sgeW91IGEgQy1zZWN0aW9uIGF0IDQwIHdlZWtzIGp1c3QgaW4gY2FzZT/igJ0gSSB3YXMgbGlrZSwg4oCcTm8sIEkgZG9u4oCZdCB3YW50IHlvdSB0by7igJ0gU2hlIHNhaWQsIOKAnE9rYXks4oCdIGJ1dCBhcm91bmQgMjAgd2Vla3MsIG15IG1pZHdpZmUgd2FzIGxpa2UsIOKAnFdlIGNhbiBrZWVwIHlvdSBvbiBldmVuIHRob3VnaCB5b3UgbGl2ZSBpbiBPbnRhcmlvLiBJdOKAmXMgbm8gcHJvYmxlbS7igJ0gSSBzYWlkIHRvIG15IEdQLCDigJxNeSBtaWR3aWZlIHdpbGwga2VlcCBtZSBvbi7igJ0gTXkgR1Agc2FpZCwg4oCcWW91IHNvdW5kIGxpa2UgYSByZWFsbHkgZ29vZCBjYW5kaWRhdGUgc28gZ28gYWhlYWQuIEkgcmVhbGx5IGhvcGUgaXQgd29ya3MgZm9yIHlvdS4gSSBob3BlIHRoYXQgaXTigJlzIGV2ZXJ5dGhpbmcgdGhhdCB5b3Ugd2FudC7igJ1NZWFnYW46IFRoYXTigJlzIGdvb2QuwqBLZWxzZXk6IFNoZSB3YXMgdmVyeSBzdXBwb3J0aXZlIG9mIGl0IHNvIEkgZmVsdCByZWFsbHkgZ29vZCBhYm91dCBpdC7CoDQxOjA3IFN3aXRjaGluZyB0byBtaWR3aXZlc0tlbHNleTogSSBzd2l0Y2hlZCB0byB0aGUgbWlkd2l2ZXMgZnVsbC10aW1lLiBNeSBwcmVnbmFuY3kgd2FzIHN1cGVyIHNtb290aCBhZ2FpbiwgYnV0IHRoZXJlIHdlcmUgbGl0dGxlIGhpY2N1cHMuIEkgZGlkbuKAmXQgcGFzcyBteSBvbmUtaG91ciBnZXN0YXRpb25hbCBkaWFiZXRlcyB0ZXN0LiBUaGV5IHNhaWQsIOKAnElmIHlvdSBoYXZlIGdlc3RhdGlvbmFsIGRpYWJldGVzIGFuZCBpdCBjYW7igJl0IGJlIG1hbmFnZWQsIHdlIHdpbGwgaGF2ZSB0byB0cmFuc2ZlciBjYXJlLuKAnSBBcm91bmQgMzcgd2Vla3MsIEkgc3RhcnRlZCBtZWFzdXJpbmcgbGFyZ2UgYW5kIHRoZXkgc2FpZCwg4oCcV2UgdGhpbmsgd2Ugd2FudCB0byBzZW5kIHlvdSBmb3IgYW4gdWx0cmFzb3VuZCBqdXN0IHRvIGJlIHN1cmUgb2YgaG93IGJpZyBiYWJ5IGlzLuKAnSBJIHNhaWQsIOKAnEkga25vdyB0aGF0IHRob3NlIHVsdHJhc291bmRzIGFyZW7igJl0IHN1cGVyIGFjY3VyYXRlIHNvIEnigJltIG5vdCBzdXJlIHRoYXTigJlzIHdoYXQgSSB3YW50LuKAnUkgZW5kZWQgdXAgZ2V0dGluZyBhIGRvdWxhIHRocm91Z2ggVGhlIFZCQUMgTGluay4gSSBmb3VuZCBhIGRvdWxhLsKgTWVhZ2FuOiBZYXkhS2Vsc2V5OiBZZWFoLCB3aGF0IHdhcyBmdW5ueSBhYm91dCB0aGUgZG91bGEgaXMgc2hlIHdhcyBwcmVnbmFudCB0b28gYW5kIGhlciBkdWUgZGF0ZSB3YXMgYSB3ZWVrIGFmdGVyIG1pbmUgYW5kIHdlIGZvdW5kIG91dCB0aGF0IHdlIHdlcmUgZ2l2aW5nIGJpcnRoIGF0IHRoZSBzYW1lIHBsYWNlLsKgTWVhZ2FuOiBPaCBteSBnb3NoLsKgS2Vsc2V5OiBTbyBzaGUgd2FzIGxpa2UsIOKAnEnigJlsbCBrZWVwIHlvdSBvbiBhbmQgSeKAmWxsIGRvIHlvdXIgcHJlbmF0YWwgYXBwb2ludG1lbnRzLCBidXQgSSBwcm9iYWJseSB3b27igJl0IGJlIGF0IHlvdXIgYmlydGguIEkgaGF2ZSBhIHBhcnRuZXIgd2hvIGlzIGEgbnV0cml0aW9uaXN0LuKAnSBTaGUgZW5kZWQgdXAgYmVpbmcgYW1hemluZy4gTXkgc29uIHdhcyBpbiBkYXljYXJlLiBJIGdvdCBzaWNrIGEgbG90IGFuZCBJIGNvdWxkbuKAmXQgdGFrZSBhbnl0aGluZyBmb3IgaXQgc28gc2hlIHdvdWxkIGhlbHAgbWUgZmluZCBuYXR1cmFsIHdheXMgb2YgZGVhbGluZyB3aXRoIGEgY291Z2guIEkgdGhpbmsgSSBoYWQgcHJlZ25hbmN5IHJoaW5pdGlzIGZvciB0aGUgbGFzdCB0cmltZXN0ZXIuIEkgd2FzIGNvbnN0YW50bHkgY29uZ2VzdGVkLiBJIGhhZCB0ZXJyaWJsZSBhY2lkIHJlZmx1eC4gU2hlIG9yaWdpbmFsbHkgaGFkIHByZXNjcmliZWQgY2hlc3Qgb3BlbmVycywgYnV0IG15IG1pZHdpZmUgZW5kZWQgdXAgcHV0dGluZyBtZSBvbiBtZWRpY2F0aW9uIGZvciBpdCBiZWNhdXNlIG9mIHRoZSB0cmlnZ2VyIHRvIGNvdWdoLiBTaGUgd2FzIGFmcmFpZCB0aGF0IG15IGNvdWdoIGNvdWxkIHRyaWdnZXIgbXkgd2F0ZXIgYnJlYWtpbmcgdG9vIGVhcmx5LsKgSSBjb3VsZG7igJl0IGdpdmUgYmlydGggYXQgdGhlIGJpcnRoIGNlbnRlciBpZiBiYWJ5IGNhbWUgYmVmb3JlIDM3IHdlZWtzLiBJIGhhZCB0byBtYWtlIGl0IHBhc3QgMzcgd2Vla3MuwqBZZWFoLCBzbyBwcmVnbmFuY3kgd2FzIHNtb290aC4gSSB3YXMgZXh0cmVtZWx5IG5hdXNlb3VzIGluIHRoZSBiZWdpbm5pbmcuIEl0IHdhcyByZWFsbHkgaGFyZCB3aXRoIGEgbGVzcy10aGFuLXR3by15ZWFyLW9sZC4gSSBrZXB0IGhpbSBob21lIGJlY2F1c2UgSeKAmW0gYSB0ZWFjaGVyLiBJ4oCZbSBob21lIG92ZXIgdGhlIHN1bW1lci4gSSBrZXB0IGhpbSBob21lIG92ZXIgdGhlIHN1bW1lciBhbmQgaXQgd2FzIHJvdWdoIGJlY2F1c2UgaGUganVzdCBpcyBuZWVkeSBhbmQgbXkgOS41LXBvdW5kIGJhYnkgY29udGludWVkIHRvIHN0YXkgaW4gdGhlIDk5dGggcGVyY2VudGlsZSBmb3IgaGVpZ2h0IGFuZCB3ZWlnaHQuIEhlIHdhbnRlZCB0byBiZSBjYXJyaWVkIGV2ZXJ5d2hlcmUgYnV0IGhlIGlzIHNvIGhlYXZ5IGFuZCBoZSBpcyBzdGlsbCBzbyBoZWF2eS7CoEkgd2FzIGEgbG90IG1vcmUgYWN0aXZlIGR1cmluZyB0aGlzIHByZWduYW5jeSB0aGFuIEkgaGFkIGJlZW4gcHJpb3IuIEkgdHJpZWQgcmVhbGx5IGhhcmQgdG8gd2FsayBhbmQgd2hhdG5vdCBhbmQgZG8gbG90cyBvZiBzdHJldGNoZXMuIEFyb3VuZCAzMCB3ZWVrcywgYmFieSB3YXMgc3RpbGwgYnJlZWNoIGFuZCBJIHN0YXJ0ZWQgdG8gcGFuaWMgYSBsaXR0bGUgYml0LiBJIHN0YXJ0ZWQgZG9pbmcgU3Bpbm5pbmcgQmFiaWVzIGV4ZXJjaXNlcyBhbmQgbG90cyBvZiBpbnZlcnNpb25zIGFuZCB3aGF0bm90LldoZW4gSSBmaXJzdCBtZXQgd2l0aCBteSBkb3VsYSwgSSB0YWxrZWQgd2l0aCBoZXIgYWJvdXQgZXZlcnl0aGluZy4gSSB3YXMgYWJsZSB0byBqdXN0IHNwaXQgb3V0IGZhY3RzIHRoYXQgSSBoYWQgbGVhcm5lZCBmcm9tIHlvdSBndXlzLiBTaGUgd2FzIGxpa2UsIOKAnEnigJl2ZSBuZXZlciBtZXQgc29tZW9uZSB3aG8gaXMgdGhpcyBwcmVwYXJlZCBvciB3aG8ga25vd3MgdGhpcyBtdWNoLuKAnSBTaGUgd2FzIGxpa2UsIOKAnEkgaGF2ZSBhbGwgb2YgdGhpcyBzdHVmZiB0byBnbyBvdmVyIHdpdGggeW91LCBidXQgeW91IGFscmVhZHkga25vdyBpdC7igJ3CoFNoZSBlbmRlZCB1cCBhcyB3ZWxsIGJlY29taW5nIGNlcnRpZmllZCBpbiBIeXBub0JpcnRoaW5nIHNvIEkgdG9vayBhIEh5cG5vQmlydGhpbmcgY2xhc3MuIEkgd2FzIHJlYWxseSBjb25jZXJuZWQgYWJvdXQgZG9pbmcgYW4gdW5tZWRpY2F0ZWQgVkJBQyBiZWNhdXNlIEkgZGlkbuKAmXQga25vdyBpZiBJIGNvdWxkIGhhbmRsZSB0aGUgcGFpbiBvZiBpdC4gSSBoYWQgb3JpZ2luYWxseSB3YW50ZWQgdG8gVkJBQyBpbiB0aGUgaG9zcGl0YWwsIGJ1dCBJIHdhdGNoZWTigJMgd2hhdCBpcyB0aGF0IGRvY3VtZW50YXJ5IHdpdGggUmlja2kgTGFrZT/CoE1lYWdhbjogVW0sIG9rYXksIGhvbGQgb24uwqBLZWxzZXk6IFRoZSBCdXNpbmVzcyBvZiBCZWluZyBCb3JuLsKgTWVhZ2FuOiBZZXMsIHRoYXTigJlzIGFsbCBJIGNvdWxkIHRoaW5rIG9mIHdhcyBCb3JuLiBUaGUgQnVzaW5lc3Mgb2YgQmVpbmcgQm9ybi7CoEtlbHNleTogTXkgZW50aXJlIHBlcnNwZWN0aXZlIG9uIGJpcnRoIGNvbXBsZXRlbHkgY2hhbmdlZC4gTXkgaHVzYmFuZCB3YXRjaGVkIGl0IHdpdGggbWUgYW5kIGhlIHdhcyBibG93biBhd2F5IGJ5IGl0LiBIZSB3YXMganVzdCBsaWtlLCDigJxJIHdhbnQgdGhhdC4gSSB3YW50IHRoYXQgZm9yIHVzLiBJIHdhbnQgdG8gYmUgYSBodWdlIHBhcnQgb2YgdGhpcy4gSSB3YW50IHRvIGhlbHAgeW91IHRocm91Z2ggaXQgYW5kIGJlIGFuIGFjdGl2ZSBwYXJ0aWNpcGFudC4gTGV04oCZcyBkbyB0aGlzLuKAnSBXZSBkaWQgdGhlIHByZW5hdGFsIGNsYXNzZXMgd2l0aCBteSBkb3VsYS4gSGUgbGVhcm5lZCBhbGwgb2YgdGhlIHBhaW4gbWFuYWdlbWVudCB0ZWNobmlxdWVzLiBIZSB3YXMgc28gZXhjaXRlZCBmb3IgY291bnRlcnByZXNzdXJlIGFuZCBoZSB3YW50ZWQgdG8gYmUgYWN0aXZlLiBIZSB3YXMgZnVsbHkgc3VwcG9ydGl2ZSBhbmQgaGUgd2FudGVkIHRvIGNhdGNoIG91ciBiYWJ5LsKgVGhpcyB0aW1lIGFyb3VuZCwgd2UgZGlkbuKAmXQgZmluZCBvdXQgdGhlIHNleCBvZiBvdXIgYmFieS4gV2Ugd2FudGVkIGl0IHRvIGJlIGEgc3VycHJpc2UuIEkgd2FzIDEwMCUgc3VyZSBpdCB3b3VsZCBiZSBhIGdpcmwuIEkgZGlkbuKAmXQgZXZlbiBwaWNrIG91dCBhIGJveSBuYW1lLsKgQW55d2F5LCB3ZSBnZXQgdG8gRGVjZW1iZXIgMjFzdC4gSSBnZXQgY2hlY2tlZCBhbmQgc2hlIGNhbuKAmXQgZXZlbiByZWFjaCBteSBjZXJ2aXguIEl0IHdhcyBzbyBwb3N0ZXJpb3IuIEkgd2FzIHN1cGVyIGRpc2NvdXJhZ2VkLCBpbiB0ZWFycyBkaXNjb3VyYWdlZCBiZWNhdXNlIEkgd2FzIGFmcmFpZCBvZiBnb2luZyBwYXN0IG15IGR1ZSBkYXRlIGFuZCB0aGV5IHdlcmUgYWZyYWlkIHRoYXQgdGhpcyBiYWJ5IHdhcyBnb2luZyB0byBiZSBzbyBiaWcgYmVjYXVzZSBJIHdhcyBtZWFzdXJpbmcgbGFyZ2UuwqA0NjoxNCBCZWdpbm5pbmcgb2YgbGFib3JLZWxzZXk6IE92ZXJuaWdodCwgSSBzdGFydGVkIHRvIGhhdmUgY29udHJhY3Rpb25zLiBUaGV5IHdlcmUga2luZCBvZiByZWd1bGFyLCBidXQgdGhleSB3ZXJlIG1hbmFnZWFibGUuIERlY2VtYmVyIDIybmQgcm9sbHMgYXJvdW5kIGFuZCBJ4oCZbSBzdGlsbCBoYXZpbmcgY29udHJhY3Rpb25zIG9uIGFuZCBvZmYgYW5kIEkgc3RhcnQgZmVlbGluZyBzaWNrLiBJIGhhZCBwdWxsZWQgbXkgc29uIG91dCBvZiBkYXljYXJlIHRvIHByZXZlbnQgZ2V0dGluZyBzaWNrLsKgSSBzdGFydGVkIHRvIGdldCBhIGNvdWdoIGFuZCBJIHdhcyByZWFsbHkgY29uZ2VzdGVkLiBJIHdhc27igJl0IGZlZWxpbmcgd2VsbCBhdCBhbGwuIEkgd2FzIHN1cHBvc2VkIHRvIGdvIHRvIENvc3RjbyB3aXRoIG15IG1vbSB0aGF0IGRheS4gSSB0ZXh0ZWQgaGVyIGluIHRoZSBtb3JuaW5nLCDigJxJ4oCZbSBoYXZpbmcgY29udHJhY3Rpb25zLiBOb3QgZmVlbGluZyBncmVhdC4gTGV04oCZcyBjYW5jZWws4oCdIGJ1dCBiZWNhdXNlIG15IHNvbiB3YXMgaG9tZSwgdGhpbmdzIHN0YXJ0ZWQgdG8gc2xvdyBkb3duIHdpdGggdGhlIGNvbnRyYWN0aW9ucy4gSSBzYWlkLCDigJxZb3Uga25vdyB3aGF0PyBOZXZlciBtaW5kLiBJIG5lZWQgc29tZXRoaW5nIHRvIGRvIHRvZGF5LuKAncKgTXkgbW9tIHBpY2tzIG1lIHVwIGFuZCBteSBodXNiYW5kIGFuZCBoZXIgYXJlIGpva2luZyB0aGF0IEnigJltIGdvaW5nIHRvIGdvIGludG8gbGFib3IgYXQgQ29zdGNvLiBXZSB3YWxrZWQgdGhlIGVudGlyZXR5IG9mIENvc3RjbyBhcyBJIHdhcyBoYXZpbmcgY29udHJhY3Rpb25zLiBNeSAxOC15ZWFyLW9sZCBicm90aGVyIGlzIGluIHRoZSBiYWNrIG9mIHRoZSBjYXIuIEnigJltIGJyZWF0aGluZyB0aHJvdWdoIHRoZW0gYW5kIGhl4oCZcyBsaWtlLCDigJxXaGF0IGlzIGhhcHBlbmluZyByaWdodCBub3c/4oCdSSBnZXQgaG9tZS4gSSBzdGFydGVkIHRpbWluZyB0aGVtIGFuZCB0aGV5IHdlcmUgNiBtaW51dGVzIGFwYXJ0LiBNeSBodXNiYW5kIGRlY2lkZXMgdGhhdCBoZSBpcyBnb2luZyB0byB0YWtlIG91ciBzb24uIEhlIHdhcyBraW5kIG9mIG9mZiB3b3JrIHNvIGhlIHRvb2sgb3ZlciBjYXJlIG9mIG91ciAyLXllYXItb2xkLiBJIGVuZGVkIHVwIGdvaW5nIGFuZCB0YWtpbmcgYSBiYXRoIGFuZCBhbGwgb2YgdGhlIGNvbnRyYWN0aW9ucyBzdG9wcGVkLsKgVGhhdCBuaWdodCwgdGhleSBzdGFydGVkIGFnYWluIGFuZCB0aGVuIG9uIHRoZSAyNHRoIG9mIERlY2VtYmVyLCB0aGV5IHdlcmUgc3RpbGwgcHJldHR5IGluY29uc2lzdGVudCBidXQgbXkgZG91bGEgd2FzIHN1Z2dlc3RpbmcgdGhpbmdzIGxpa2UsIOKAnE9oLCBpZiB5b3XigJlyZSBjb21mb3J0YWJsZSwgaGF2ZSBzZXgsIHRoZW4gdGFrZSBhIHNob3dlci4gU2l0IG9uIHRoZSB0b2lsZXQgYW5kIGRvIG5pcHBsZSBzdGltdWxhdGlvbiBmb3IgMTUgbWludXRlcyBvbiBlYWNoIHNpZGUgYW5kIHNlZSBpZiB0aGF0IGdldHMgdGhpbmdzIGdvaW5nLuKAncKgV2UgaGFkIHNleCBhbmQgdGhlbiBpdCBhbGwgc3RvcHBlZC4gV2Uga2VwdCB0cnlpbmcgdGhpbmdzIGFuZCB0aGVuIG15IGRvdWxhIHdhcyBsaWtlLCDigJxJIGp1c3QgdGhpbmsgdGhhdCBtYXliZSB5b3VyIGJvZHkgbmVlZHMgdG8gcmVzdCBhbmQgcmVsYXggc28gbGV04oCZcyB0cnkgcmVzdGluZyBhbmQgcmVsYXhpbmcu4oCdIFdlbGwgdGhlbiwgdGhlIDI1dGggaXMgQ2hyaXN0bWFzIERheSBhbmQgSSBkZWNpZGVkIHRvIGhvc3QgQ2hyaXN0bWFzLsKgTWVhZ2FuOiBCZWNhdXNlIHRoYXQgd291bGQgYmUgYSByZWFsbHkgZ29vZCBkaXN0cmFjdGlvbi7CoEtlbHNleTogWWVhaCwgSSB3YXMgbGlrZSwg4oCcSXTigJlzIGdvaW5nIHRvIGJlIGZpbmUu4oCdIE15IG1vdGhlci1pbi1sYXcgd2FzIGxpa2UsIOKAnEnigJlsbCBjb29rIENocmlzdG1hcyBkaW5uZXIu4oCdIFByaW9yIHRvIHRoYXQsIEkgaGFkIGFsbCBvZiB0aGVzZSBpZGVhcy4gSeKAmW0gZ29pbmcgdG8gbWFrZSBicmVhZCBieSBteXNlbGYuIEnigJltIGdvaW5nIHRvIG1ha2UgYWxsIG9mIHRoZXNlIGRlc3NlcnRzLiBJ4oCZbSBnb2luZyB0byBtYWtlIHB1cHB5IGNob3cuIEnigJltIGdvaW5nIHRvIHdyYXAgYWxsIG9mIG15IGtpZOKAmXMgQ2hyaXN0bWFzIGdpZnRzLiBJ4oCZbSBnb2luZyB0byBwdXQgdG9nZXRoZXIgaGlzIFBpa2xlciBUcmlhbmdlbCB3ZSBnb3QgZm9yIGhpbSBhbmQgd3JhcCB0aGF0LsKgSnVzdCBhbGwgb2YgdGhlc2UgdGhpbmdzIHRoYXQgSSB3YW50ZWQgdG8gZG8gZm9yIENocmlzdG1hcy4gQnkgdGhlIDI0dGgsIEkgd2FzIHNvIGV4aGF1c3RlZCBmcm9tIHRoZSBjb250cmFjdGlvbnMgdGhhdCBJIGRpZG7igJl0IGJha2UgYW55dGhpbmcuIFRoZXJlIHdhcyBubyB3YXkuIEJ1dCBJIGRpZCBob3N0IENocmlzdG1hcyBkaW5uZXIgYW5kIGV2ZXJ5b25lIHRvbGQgbWUsIOKAnFdoeT8gV2h5IGFyZSB5b3UgZG9pbmcgdGhhdD/igJ0gSSB3YXMgbGlrZSwg4oCcV2VsbCwgaXQgd2lsbCBiZSBlYXN5LOKAnSBiZWNhdXNlIG15IGh1c2JhbmQgYW5kIEkgYXJlIGJvdGggZnJvbSBkaXZvcmNlZCBmYW1pbGllcy4gV2XigJlsbCBqdXN0IGhhdmUgZXZlcnlvbmUgb3ZlciBmb3IgQ2hyaXN0bWFzLCBhbmQgdGhlbiB3ZSB3b27igJl0IGhhdmUgdG8gd29ycnkgYWJvdXQgZ29pbmcgdG8gYW55b25lIGVsc2UuwqBXZSBoYWQgbXkgbW9tIGFuZCBteSBicm90aGVycyBjYW1lIG92ZXIgYW5kIGhpcyBzdGVwLW1vbSBjYW1lIG92ZXIgYW5kIG15IHN0ZXAtZGFkIGNhbWUgb3Zlci4gSXQganVzdCB3YXMgbm90IGdyZWF0LsKgTWVhZ2FuOiBMaWtlIENocmlzdG1hcyBWYWNhdGlvbiB3aGVyZSB0aGUgZG9vciBrZWVwcyBvcGVuaW5nIGFuZCBhbGwgb2YgdGhlIGZhbWlseSBtZW1iZXJzIGtlZXAgc2hvd2luZyB1cC7CoEtlbHNleTogSSBrbm93LiBJIHdhcyBzdGlsbCBoYXZpbmcgY29udHJhY3Rpb25zLiBJIGNvdWxkbuKAmXQgc3RhbmQgdXAgb3Igc2l0IGRvd24gd2l0aG91dCBoYXZpbmcgYSBjb250cmFjdGlvbi7CoEkgd2FzIGp1c3QgZXhoYXVzdGVkIGFuZCB1bmNvbWZvcnRhYmxlIGFuZCBmZWx0IGh1Z2UuIFBlb3BsZSBhcmUgbGlrZSwg4oCcSG93IGFyZSB5b3UgZG9pbmc/4oCdIEnigJltIGxpa2UsIOKAnEnigJltIHN1cnZpdmluZy4gUmlnaHQgbm93LCBJ4oCZbSBqdXN0IHN1cnZpdmluZy7igJ3CoFNvIGFueXdheSwgZmluYWxseSBDaHJpc3RtYXMgRGF5IGlzIG92ZXIgYW5kIEJveGluZyBEYXksIEkgd2FrZSB1cCBhdCA3OjMwLiBJIGhhZCBhIHdlaXJkIGNvbnRyYWN0aW9uLiBJIHdlbnQgdG8gdGhlIHdhc2hyb29tIGFuZCBJIGhhZCBteSBibG9vZHkgc2hvdy4gSSB3YXMgbGlrZSwg4oCcSeKAmW0ganVzdCBnb2luZyB0byB0cnkgdG8gZ28gYmFjayB0byBiZWQs4oCdIGJlY2F1c2UgbXkgc29uIGFuZCBteSBodXNiYW5kIHdlcmVu4oCZdCB1cCBidXQgbXkgYmFjayBzdGFydGVkIHRvIGh1cnQuIEkgd2FzIGxpa2UsIOKAnE9rYXksIEnigJltIGFjdHVhbGx5IGp1c3QgZ29pbmcgdG8gZ2V0IG15IHNvbiB1cCBhbmQgZ28gZG93bnN0YWlycy7igJ3CoE15IGh1c2JhbmQgZ290IHVwIHdpdGggbWUuIFdlIGdvIGRvd25zdGFpcnMuIFdlIHN0YXJ0ZWQgZ2V0dGluZyBteSBzb24gcmVhZHkuIEnigJltIGxpa2UsIOKAnEnigJltIGdvaW5nIHRvIGdldCBpbiB0aGUgYmF0aCBhbmQgc2VlIGlmIG15IGNvbnRyYWN0aW9ucyBzdG9wIGJlY2F1c2UgSeKAmW0gcmVhbGx5IHVuY29tZm9ydGFibGUu4oCdIEkgY2FsbGVkIG15IG1pZHdpZmUgZnJvbSB0aGUgYmF0aHR1YiBhbmQgSSBzYWlkLCDigJxUaGV5IGFyZSA1IG1pbnV0ZXMgYXBhcnQgYW5kIHRoZXkgaGF2ZW7igJl0IHN0b3BwZWQsIGJ1dCBJ4oCZbSBzY2FyZWQgdG8gY29tZSBpbiBiZWNhdXNlIHdoYXQgaWYgdGhpcyBpc27igJl0IHJlYWw/4oCdIFNoZSBzYWlkLCDigJxJZiB5b3XigJlyZSBpbiB0aGUgYmF0aHR1YiBhbmQgdGhleSBhcmUgc3RpbGwgZ29pbmcsIHRoaXMgaXMgcmVhbCBsYWJvci4gWW91IG5lZWQgdG8gZ2V0IGhlcmUgbm93LuKAncKgNTE6MDcgRHJpdmluZyB0byB0aGUgYmlydGggY2VudGVyS2Vsc2V5OiBXZSBnZXQgYWxsIG9mIG91ciBzdHVmZiBpbiB0aGUgY2FyLiBJdCB3YXMgYSA1MC1taW51dGUgZHJpdmUgdG8gdGhlIGJpcnRoaW5nIGNlbnRlci7CoE1lYWdhbjogNTA/IDUtMD9LZWxzZXk6IDUtMC7CoE1lYWdhbjogT2theS7CoEtlbHNleTogVGhlIGdvb2QgcGFydCB3YXMgdGhhdCB0aGV5IHdlcmUgcmVndWxhcmx5IDQgbWludXRlcyBzbyBJIGNvdWxkIGxvb2sgYXQgdGhlIGNsb2NrIGFuZCBrbm93IHRoYXQgSSB3YXMgZ29pbmcgdG8gaGF2ZSBhIGNvbnRyYWN0aW9uIGFuZCBJIGNvdWxkIGJyZWF0aGUgdGhyb3VnaCBpdC4gSSB3YXMgbWFuYWdpbmcgcHJldHR5IHdlbGwgYXQgdGhhdCBwb2ludCwgYnV0IGJlZm9yZSB3ZSBoYWQgbGVmdCwgbXkgbW90aGVyLWluLWxhdyBkZWNpZGVkIHRvIHN0b3AgbWUgYXQgdGhlIGRvb3IuIFNoZSB3YXMgbGlrZSwg4oCcU28gd2hlcmUgYXJlIHlvdSBmZWVsaW5nIHRoZW0/4oCdIEnigJltIGxpa2UsIOKAnEkganVzdCBuZWVkIHRvIGdvLiBQbGVhc2UganVzdCBsZXQgbWUgZ28uIEkgY2Fu4oCZdCB0YWxrIHRvIHlvdSByaWdodCBub3cu4oCdIE15IGh1c2JhbmQgaXMgdHJ5aW5nIHRvIGdldCBtZSBvdXQgdGhlIGRvb3IgdG9vIGJlY2F1c2UgaGUga25vd3MuwqBXZSBnZXQgdG8gdGhlIGJpcnRoaW5nIGNlbnRlci4gSXQgd2FzIG5pY2UgYmVjYXVzZSBJIGNvdWxkIGNob29zZSB0aGUgY29sb3Igb2YgbXkgcm9vbS4gVGhleSBoYWQgb3B0aW9ucyBmb3IgdGhlIGNvbG9yIG9mIHlvdXIgcm9vbSBzbyBJIGNob3NlIHB1cnBsZS4gSSBnZXQgaW50byBteSByb29tLiBJdOKAmXMgbm93IDEwOjAwLiBJIGNvdWxkIGhlYXIgaW4gdGhlIG5leHQgcm9vbSBhIHdvbWFuIHNjcmVhbWluZywgbGl0ZXJhbGx5IHNjcmVhbWluZy4gSSBzdGFydCBwYW5pY2tpbmcuIEkgY2FuIGhlYXIgaGVyIHllbGxpbmcsIOKAnEdldCBvdXQgb2YgbWUgYWxyZWFkeSHigJ3CoE1lYWdhbjogQXd3LsKgS2Vsc2V5OiBNeSB2YWdpbmEgaXMgb24gZmlyZSEgSeKAmW0gcGFuaWNraW5nLiBNeSBtaWR3aWZlIHNheXMsIOKAnEkgbmVlZCB0byBtb25pdG9yIHlvdSBmb3IgYSBsaXR0bGUgYml0LCBzbyBjYW4geW91IGdldCBvbiB0aGUgYmVkPyBJ4oCZbSBnb2luZyB0byBtb25pdG9yIHlvdXIgYmFieeKAmXMgaGVhcnQgcmF0ZSBhbmQgdGhlbiBJ4oCZbSBnb2luZyB0byBtb25pdG9yIHlvdXIgY29udHJhY3Rpb25zLuKAnSBTaGUgY291bGQgZ2V0IGJhYnnigJlzIGhlYXJ0YmVhdCBhbmQgc2hlIGNvdWxkbuKAmXQgZ2V0IG15IGNvbnRyYWN0aW9ucyBvbiB0aGUgbW9uaXRvci7CoEF0IHRoaXMgcG9pbnQsIEnigJltIHN0YXJ0aW5nIHRvIHBhbmljIGJlY2F1c2UgSSBjYW4gc3RpbGwgaGVhciB0aGUgd29tYW4gc2NyZWFtaW5nLiBNeSBodXNiYW5k4oCZcyBsaWtlLCDigJxJ4oCZbSBnb2luZyB0byBnZXQgeW91IHlvdXIgaGVhZHBob25lcy7igJ0gSGUgZ2V0cyBtZSBteSBoZWFkcGhvbmVzLsKgTWVhZ2FuOiBWZXJ5IGdvb2QgY2FsbC7CoEtlbHNleTogSGUgZ2V0cyBtZSBteSBoZWFkcGhvbmVzIGFuZCBwdXRzIG9uIG15IGJpcnRoIHBsYXlsaXN0LiBJ4oCZbSBsYXlpbmcgdGhlcmUgYW5kIHRoaW5ncyBzdGFydCBnZXR0aW5nIHJlYWxseSBpbnRlbnNlIHJlYWxseSBmYXN0LiBJIHdhcyBwYW5pY2tpbmcgdGhhdCB0aGUgc2FtZSB0aGluZyB0aGF0IGhhZCBoYXBwZW5lZCB3aXRoIG15IHNvbiB3YXMgaGFwcGVuaW5nIGFnYWluLiBCdXQgSSBzdGFydGVkIGdldHRpbmcgaXJhdGUgYW5kIG15IG1pZHdpZmUgc3RpbGwgY291bGRu4oCZdCBnZXQgdGhlIGNvbnRyYWN0aW9ucyBvbiB0aGUgbW9uaXRvci4gSSByZW1lbWJlciBmbGluZ2luZyBteSBoZWFkcGhvbmVzIG9mZiBhbmQganVzdCBiZWluZyBsaWtlLCDigJxJIG5lZWQgdG8gZ28gdG8gdGhlIGJhdGhyb29tLiBMZXQgbWUgdXAuIEkgY2Fu4oCZdCBsYXkgaGVyZSBhbnltb3JlLuKAnVNoZeKAmXMgbGlrZSwg4oCcT2theS4gSWYgeW91IG5lZWQgdG8gZ28gdG8gdGhlIGJhdGhyb29tLCBnbyB0byB0aGUgYmF0aHJvb20u4oCdIEnigJltIHNpdHRpbmcgdGhlcmUgb24gdGhlIHRvaWxldC4gSeKAmW0gY3J5aW5nIGFuZCBJ4oCZbSB0ZWxsaW5nIG15IGh1c2JhbmQgdGhhdCBJIGNhbuKAmXQgZG8gdGhpcy4gSW4gdGhlIGJhY2sgb2YgbXkgaGVhZCwgSSBrbm93IHdoYXQgdGhhdCBtZWFucywgYnV0IEkgY291bGRu4oCZdCByYXRpb24gd2l0aCBteXNlbGYgYXQgdGhhdCBwb2ludC4gTXkgbWlkd2lmZSBoYWRu4oCZdCBjaGVja2VkIG1lIHlldCBhdCBhbGwgc28gc2hlIGdvZXMsIOKAnEkgcmVhbGx5IHdhbnQgdG8gY2hlY2sgeW91IGJlY2F1c2Ugd2UgaGF2ZW7igJl0IGRvbmUgdGhhdC7igJ3CoEkgaGFkIHRvIGdldCBvZmYgdGhlIHRvaWxldC4gSSBkaWRu4oCZdCB3YW50IHRvIGFuZCBhcyBJIHdhcyBnZXR0aW5nIG9mZiB0aGUgdG9pbGV0LCBJIHdhcyBzbyBob3QuIEnigJltIGZsaW5naW5nIG15IGNsb3RoZXMgb2ZmLiBJIGdldCB0byB0aGUgZWRnZSBvZiBteSBiZWQgYW5kIEnigJltIGxpa2UsIOKAnEl04oCZcyBub3QgbWUuIEl04oCZcyBteSBib2R5LiBJ4oCZbSBwdXNoaW5nLuKAnSBJIHNhdyBteSBzdG9tYWNoIGNvbnRvcnQuIEl0IHdhcyBqdXN0IGxpa2UgbXkgd2hvbGUgYm9keSB3YXMgbm90IG1lIGF0IGFsbC4gSXQgd2FzIHNvIHdpbGQgdG8gbWUuwqBNeSBtaWR3aWZlIGdldHMgbWUgb24gdGhlIGJlZCBmaW5hbGx5IGFuZCBzaGUgY2hlY2tzIG1lIGFuZCBzaGUgZ29lcywg4oCcWW914oCZcmUgYXQgdGhlIDd0aCBjZW50aW1ldGVyLuKAnSBTaGUgc2FpZCwg4oCcWW914oCZcmUgYSBzZWNvbmQtdGltZSBtb20gc28gaWYgeW91ciBib2R5IGZlZWxzIGxpa2UgaXQsIGl0IHJlbWVtYmVycy4gWW91IGNhbiBzdGFydCBwdXNoaW5nIHdoZW5ldmVyIHlvdSB3YW50LuKAnSBJdCB3YXMgc3VjaCBhIGRpZmZlcmVudCBleHBlcmllbmNlIGZyb20gYmVpbmcgdG9sZCBpbiB0aGUgaG9zcGl0YWwsIOKAnERvIG5vdCBwdXNoLOKAnSB3aGVuIEnigJltIGF0IDEwIGNlbnRpbWV0ZXJzIHRvIG15IG1pZHdpZmUgYmVpbmcgbGlrZSwg4oCcSWYgeW91ciBib2R5IGlzIHB1c2hpbmcsIGl04oCZcyBmaW5lLuKAncKgNTQ6NDkgUHVzaGluZyBiYWJ5IG91dCBpbiB0d28gcHVzaGVzS2Vsc2V5OiBTbyBzaGUgcHV0IG1lIG92ZXIgYSBiYWxsIGFuZCB0aGVuIHNoZSBjYWxsZWQgaW4gdGhlIGFzc2lzdGFudCBtaWR3aWZlIGJlY2F1c2Ugc2hlIHdhcyBsaWtlLCDigJxUaGlzIGlzIGhhcHBlbmluZyB2ZXJ5IHNvb24u4oCdwqBUaGUgYXNzaXN0YW50IG1pZHdpZmUgY29tZXMgaW4gYW5kIHRoYXQgd2FzIGZ1bm55IGJlY2F1c2Ugc2hlIGdvZXMsIOKAnE15IG5hbWUgaXMgR2FicmllbGxlLuKAnSBJIGhhZCBhIGZyaWVuZCB3aG8gaGFkIGdvbmUgdG8gdGhlIGJpcnRoIGNlbnRlciB3aG8gaGFkIEdhYnJpZWxsZS4gSSB0dXJuZWQgdG8gaGVyIGFuZCBzYWlkLCDigJxZb3Uga25vdyBteSBmcmllbmQsIEtlbGx5LuKAnSBTaGUgd2FzIGp1c3QgbGlrZSwg4oCcWWVhaC7igJ0gSeKAmW0gbGlrZSwg4oCcSSBoZWFyZCB5b3XigJlyZSByZWFsbHkgZ29vZC7igJ0gU2hl4oCZcyBsaWtlLCDigJxPa2F5LCBsZXTigJlz4oCTLuKAnVNvIG92ZXIgdGhlIGJhbGwsIG15IGh1c2JhbmQgdHJpZWQgdG8gZG8gY291bnRlcnByZXNzdXJlIG9uIG1lIGFuZCBJIHdhcyBsaWtlLCDigJxEb27igJl0LiBEb27igJl0IGRvIGl0LuKAnSBCdXQgaGUgcHJlc3NlZCBteSB0YWlsYm9uZSBkb3duIGFuZCB0aGF0IG1hZGUgYSBodWdlIGRpZmZlcmVuY2UgYW5kIEkganVzdCBraW5kIG9mIGxldCBteSBib2R5IGRvIGl0cyB0aGluZy4gVGhleSBoYWQgdG8gZmxpcCBtZSBhIGNvdXBsZSBvZiB0aW1lcyBhbmQgSSBlbmRlZCB1cCBiZWluZyBwdXQgb24gbXkgYmFjayB0byBwdXNoIGZvciB0aGUgZmluYWwgbGl0dGxlIGJpdCBiZWNhdXNlIHRoZXkgbmVlZGVkIHRvIGtlZXAgbW9uaXRvcmluZyBiYWJ54oCZcyBoZWFydCByYXRlLiBJdCBrZXB0IGdvaW5nIGRvd24gZXZlcnkgdGltZSBJIGhhZCBhIGNvbnRyYWN0aW9uIHNvIHRoZXkgd2VyZSBhIGxpdHRsZSBjb25jZXJuZWQuwqBBdCBvbmUgcG9pbnQsIHRoZXkgc2FpZCwg4oCcRG9u4oCZdCBwYW5pYywgYnV0IHdlIGFyZSBnb2luZyB0byBjYWxsIGFuIGFtYnVsYW5jZSBqdXN0IGluIGNhc2UganVzdCBiZWNhdXNlIHdlIGtlZXAgc2VlaW5nIHRoaXMuIFdl4oCZcmUgZ29pbmcgdG8gY2FsbCBhbiBhbWJ1bGFuY2UganVzdCBzbyB0aGF0IHRoZXkgYXJlIGhlcmUu4oCdIFllYWgsIHNvIEkgcHVzaGVkIG9uIG15IGJhY2sgZm9yIGEgd2hpbGUgYW5kIEkgcmVtZW1iZXIgYXQgb25lIHBvaW50LCBzaGUgc2FpZCwg4oCcVGhlIGhlYWTigJlzIHJpZ2h0IHRoZXJlLiBJZiB5b3UgcmVhY2ggZG93biwgeW91IGNhbiB0b3VjaCBpdC7igJ0gSSB3YXMgbGlrZSwg4oCcSeKAmW0gZ29pbmcgdG8gaGF2ZSBteSBiYWJ5IHZhZ2luYWxseS7igJ0gTXkgaHVzYmFuZCB3YXMgbGlrZSwg4oCcWWVhaCwgeW91IGFyZS7igJ0gSSB3YXMganVzdCBzbyBleGNpdGVkLsKgSW4gb25lIHB1c2gsIGhpcyBoZWFkIGNhbWUgb3V0IGFuZCBzaGUgZ29lcywg4oCcT3BlLCBoZeKAmXMgT1Au4oCdIEhlIHdhcyBzdW5ueS1zaWRlIHVwLiBNeSBodXNiYW5kIHdhcyBsaWtlLCDigJxIZeKAmXMgbG9va2luZyBhdCBtZS7igJ0gV2VsbCwgc29ycnkuIFRoYXTigJlzIGEgc3BvaWxlci4g4oCcVGhleeKAmXJlIGxvb2tpbmcgYXQgbWUuIEkgY2FuIHNlZSB0aGUgYmFieS4gVGhlaXIgZXllcyBhcmUgb3Blbi4gVGhlaXIgbW91dGggaXMgZ29pbmcu4oCdIEFuZCB0aGVuIHNoZSBzYWlkLCDigJxPa2F5LCBuZXh0IHRpbWUsIG9uZSByZWFsbHkgYmlnIHB1c2gs4oCdIGFuZCBoZSBjYW1lIG91dCBvbiB0aGUgc2Vjb25kIHB1c2guwqBNeSBodXNiYW5kIGNhdWdodCBoaW0gYW5kIHB1dCBoaW0gcmlnaHQgb24gbXkgY2hlc3QuIEkgd2FzIGxpa2UsIOKAnFdoYXQgaXMgaXQ/IFdoYXQgaXMgaXQ/4oCdIEl0IHdhcyBhbm90aGVyIGJveSwgc28gc3BvaWxlciBhbGVydC4gV2UgZGlkbuKAmXQgaGF2ZSBhIG5hbWUuIEkgZ290IHRvIGhvbGQgaGltIG9uIG15IGNoZXN0IGZvciAyIGhvdXJzLiBXZSBkaWQgZGVsYXllZCBjb3JkIGNsYW1waW5nLiBNeSBkb3VsYSBtYWRlIGl0IGluIHRoZSBsYXN0IDE1IG1pbnV0ZXMgYW5kIHNoZSBzYWlkIHRvIG1lLCDigJxJIHRoaW5rIFZpY3RvcmlhIGlzIGluIHRoZSBuZXh0IHJvb20gaGF2aW5nIGhlciBiYWJ5LuKAncKgTWVhZ2FuOiBOdWgtdWguIEkgd29uZGVyZWQgd2hlbiB5b3Ugd2VyZSBzYXlpbmcgdGhhdC4gSSB3YXMgbGlrZSwgSSB3b25kZXJlZCBpZiB0aGF0IHdhcyBoZXIgZG91bGEuIE9oIG15IGdvc2guwqBLZWxzZXk6IExpdGVyYWxseSwgb3VyIGJhYmllcyB3ZXJlIGJvcm4gMiBob3VycyBhcGFydC7CoE1lYWdhbjogT2gsIHRoYXTigJlzIHNvIGNvb2wuwqBLZWxzZXk6IFdlIHdlcmUgaW4gdGhlIGJpcnRoaW5nIGNlbnRlciBhdCB0aGUgc2FtZSB0aW1lIHdoaWNoIHdhcyB3aWxkLiBJIGdvdCB0byBzZWUgaGVyIG9uIG15IHdheSBvdXQgd2hpY2ggd2FzIHJlYWxseSBuaWNlLsKgTWVhZ2FuOiBUaGF04oCZcyBzbyBzcGVjaWFsLsKgS2Vsc2V5OiBOZWl0aGVyIG9mIHVzIGtuZXcgd2hhdCB3ZSB3ZXJlIGhhdmluZyBhbmQgd2UgYm90aCBoYWQgbGl0dGxlIGJveXMuIFRoZXkgd2VpZ2hlZCBoaW0gYW5kIG15IHN1cGVyIGJpZyBiYWJ5IHdhcyA4IHBvdW5kcywgMyBvdW5jZXMuwqBNZWFnYW46IFBlcmZlY3QuwqBLZWxzZXk6IFBlcmZlY3QuIFllYWguIFBlb3BsZSB3ZXJlIGxpa2UsIOKAnFRoYXTigJlzIGEgZ29vZC1zaXplZCBiYWJ5LuKAnSBJ4oCZbSBsaWtlLCDigJxNeSBmaXJzdCB3YXMgOS41IHBvdW5kcy4gSGXigJlzIHRpbnku4oCdIE15IGh1c2JhbmQgZ290IHRvIHRlbGwgbWUgdGhlIHNleCBvZiB0aGUgYmFieSB3aGljaCB3YXMgYW5vdGhlciB0aGluZyBJIHJlYWxseSwgcmVhbGx5IHdhbnRlZC4gV2UgZGlkIGRlbGF5ZWQgY29yZCBjbGFtcGluZy4gV2UgaGFkIHRoZSBnb2xkZW4gaG91ci4gV2UganVzdCBnb3QgdG8gc2l0IHRoZXJlIGFuZCBjb21wYXJlZCB0byBteSBwcmlvciBleHBlcmllbmNlLCBJIGp1c3QgZmVsdCBzbyBjYXJlZCBmb3IuIEkgcmVtZW1iZXIgYSBtaWR3aWZlIHB1dHRpbmcgYSBjb2xkIGNsb3RoIG9uIG15IGhlYWQgYW5kIEkgdGhhbmtlZCBoZXIuIEhlciByZXNwb25zZSB3YXMsIOKAnEkga25vdyB5b3UgYXJlIGdyYXRlZnVsLiBTYXZlIHlvdXIgc3RyZW5ndGgu4oCdIFNoZSB3YXMganVzdCBsaWtlLCDigJxZb3UgZG9u4oCZdCBuZWVkIHRvIHRlbGwgbWUgdGhhbmsgeW91IGF0IHRoaXMgbW9tZW50LiBKdXN0IGRvbuKAmXQgdGFsayBhdCBhbGwuIEkga25vdyB5b3UgYXJlIHRoYW5rZnVsLuKAnU1lYWdhbjogRW5qb3kuwqBLZWxzZXk6IFllYWgsIEkgd2FzIGdpdmVuIHdhdGVyIGluIGJldHdlZW4gcHVzaGluZy4gTXkgZG91bGEgc2F0IHRoZXJlIGFuZCBydWJiZWQgbXkgZXllYnJvd3Mgc28gSSB3YXNu4oCZdCB0ZW5zZSBiZWNhdXNlIEkgbGVhcm5lZCBhYm91dCB0aGUgZmVhci90ZW5zaW9uL3BhaW4gY3ljbGUuIE15IGh1c2JhbmQgZ290IHRvIGJlIGEgaHVnZSBwYXJ0IG9mIGl0IGFuZCBoZSBnb3QgdG8gY3V0IHRoZSBjb3JkLiBIZSBkaWRu4oCZdCBnZXQgdG8gZG8gdGhhdCB3aXRoIG91ciBmaXJzdC4gSGUgZ290IHRvIGhvbGQgb3VyIGJhYnkuIEhlIHRvdWNoZWQgaGltIGJlZm9yZSBhbnlvbmUuIEl0IHdhcyBqdXN04oCTIG15IGh1c2JhbmQgYW5kIEkgdGFsa2VkIGFib3V0IGl0IGZvciBhIHdoaWxlIGFmdGVyd2FyZCBhbmQgaGUgd2FzIGp1c3QgbGlrZSwg4oCcWW91IGtub3csIHdoeSBpcyB0aGlzIG5vdCB0aGUgZ29sZCBzdGFuZGFyZCBmb3IgYmlydGg/IFdoeSBpcyB0aGlzIG5vdCB3aGF0IHdlIGRvIGV2ZXJ5IHRpbWU/IFRoaXMgaXMgdGhlIG1vc3QgaW5jcmVkaWJsZSB0aGluZy7igJ3CoFdlIHJlY29yZGVkIHRoZSBlbnRpcmUgdGhpbmcuwqBNZWFnYW46IFlheS4gSWYgeW91IGRlY2lkZSB5b3Ugd2FudCB0byBzaGFyZSwgcG9zdCBpdCBpbiB0aGUgY29tbXVuaXR5LsKgS2Vsc2V5OiBUaGVyZSBpcyBhIDMwLW1pbnV0ZSB2aWRlbyBvdXQgdGhlcmUgYmVjYXVzZSBteSBzb24gd2FzIGFjdHVhbGx5LCBzbyBteSBmaXJzdCBiaXJ0aCB3YXMgMzggaG91cnMgdG90YWwuIE15IHNlY29uZCBiaXJ0aCwgSSBoYWQgbXkgZmlyc3QgcmVhbCBjb250cmFjdGlvbiBhdCA3OjMwIEFNLiBNeSBzb24gd2FzIGJvcm4gYXQgMTI6MzggUE0uIFRoZXJlIHdlcmUgNSBob3Vycy7CoE1lYWdhbjogQW5vdGhlciBmaXZlLCBieSB0aGUgd2F5LsKgS2Vsc2V5OiBJIGtub3csIHNvIHdlaXJkLiBJIHdhcyBub3QgcHN5Y2hpYyBmb3IgdGhpcyBiaXJ0aCBiZWNhdXNlIEkgaGFkIGEgYm95LiBJIHdhcyBzbyBjb252aW5jZWQgSSB3YXMgZ29pbmcgdG8gaGF2ZSBhIGdpcmwgYnV0IGhlIHdhcyBhIGxpdHRsZSBib3kgYW5kIGhlIHdhcyBiYWJ5IG5vLW5hbWUgZm9yIGZvdXIgZGF5cy4gV2UgZW5kZWQgdXAgbmFtaW5nIGhpbSBPbGl2ZXIuwqAxOjAwOjI0IERpZmZlcmVuY2VzIGluIGNhcmVLZWxzZXk6IFllYWgsIEkganVzdCBmZWx0IHNvIGNhcmVkIGFib3V0IGFuZCBsb29rZWQgYWZ0ZXIuIFRoZXJlIHdlcmUgZGlmZmVyZW5jZXMgbGlrZSBteSBodXNiYW5kIGhhZCB0byBnbyBvdXQgYW5kIHNlYXJjaCBmb3IgZm9vZCBhZnRlciBJIGdhdmUgYmlydGggYWZ0ZXIgbXkgZmlyc3QuIEhlIHdhcyBzbyBleGhhdXN0ZWQsIGhlIGNvdWxkbuKAmXQgZ2V0IG91dCBvZiB0aGUgcGFya2luZyBsb3Qgc28gbXkgbW90aGVyLWluLWxhdyBoYWQgdG8gZHJpdmUgaW4gdG8gYnJpbmcgdXMgZm9vZC4gSSBlbmRlZCB1cCBzY2FyZmluZyBkb3duIFBvcGV5ZeKAmXMgYnV0IEkgaGFkIGJlZW4gaW50dWJhdGVkIGFuZCBteSB0aHJvYXQgaHVydCBzbyBiYWRseS4gSSBhdGUgdGhlIHdvcmxk4oCZcyBkcmllc3QgYmlzY3VpdCBhbmQgdGhvdWdodCBJIHdhcyBnb2luZyB0byBjaG9rZSBhbmQgZGllLsKgQnV0IHdpdGggbXkgc2Vjb25kIGJpcnRoLCB0aGV5IGhhZCBhIHBvc3RwYXJ0dW0gZG91bGEgd2hvIHdhcyB0aGVyZS4gU2hlIG9mZmVyZWQgbWUgbGVudGlsIHNvdXAgYW5kIGEgZ3JpbGxlZCBjaGVlc2Ugc28gdGhhdCB3YXMgbXkgZmlyc3QgbWVhbC7CoE1lYWdhbjogU28gbXVjaCBiZXR0ZXIuwqBLZWxzZXk6IFllYWgsIGxvdmVseSBsZW50aWwgc291cCBhbmQgZ3JpbGxlZCBjaGVlc2UuIE15IHNvbiBoYWQgYmVlbiBwbGFjZWQgb24gbXkgY2hlc3QgYnV0IEkgc3RpbGwgaGFkIG15IGJyYSBzbyB0aGV5IHdhc2hlZCBpdCBmb3IgbWUgYmVmb3JlIEkgbGVmdC4gSnVzdCBzbWFsbCB0aGluZ3MgbGlrZSB0aGF0LCBJIGZlbHQgbGlrZSBJIHdhcyBjYXJlZCBmb3IuwqBNZWFnYW46IFllYWgsIGFic29sdXRlbHkuwqBLZWxzZXk6IFdlIGVuZGVkIHVwIGxlYXZpbmcgYXQgNTowMCBQTS4gV2Ugd2VyZSBob21lIGluIHRpbWUgdG8gZWF0IGRpbm5lciBhdCBob21lLsKgTWVhZ2FuOiBZZWFoLiBZZWFoLsKgS2Vsc2V5OiBUaGF0IHBvc3RwYXJ0dW0gZXhwZXJpZW5jZSB3YXMgaW5jcmVkaWJsZS4gV2UgbGl0ZXJhbGx5LCBJIHdhcyBhYmxlIHRvIGdldCB1cCBhbmQgd2FsayBhbmQgSSB3YXNu4oCZdCBkaXp6eSBvciBhbnl0aGluZy4gSSBiYXJlbHkgZmVsdCBsaWtlIEkgaGFkIGEgYmFieS4gSSBkaWQgaGF2ZSBhIHNlY29uZC1kZWdyZWUgdGVhciBidXQgZm9yIHNvbWUgcmVhc29uIHdhcyBqdXN0IGNvbXBsZXRlbHkgdW5ib3RoZXJlZCBieSBpdC4gTXkgbWlkd2lmZSBjYW1lIHRvIG1lIHBvc3RwYXJ0dW0gd2hpY2ggd2FzIHJlYWxseSBsb3ZlbHkuwqAxOjAyOjExIEVudGVyb3ZpcnVzS2Vsc2V5OiBIb3dldmVyLCBvbmUgdGhpbmcgSSBkaWQgd2FudCB0byB0b3VjaCBvbiB3YXMgSSBoYWQgYSBjb2xkIGR1cmluZyBsYWJvciBhbmQgdGhpcyBpcyBzb21ldGhpbmcgSSB3YW50ZWQgdG8gbWVudGlvbiBiZWNhdXNlIGl0IGlzIG5vdCBzb21ldGhpbmcgSSBrbmV3IGFib3V0LiBJIGhhZCBhIGNvdWdoIGFuZCBmaXZlIGRheXMgcG9zdHBhcnR1bSwgb24gTmV3IFllYXLigJlzIEV2ZSwgbXkgZG91bGEgY2FtZS4gTm90IG15IGRvdWxhLCBteSBtaWR3aWZlLiBBcyB0aGV5IGRvLCBzaGUgdGVtcGVkIG15IGJhYnkgYW5kIGhlIHdhcyBtZWFzdXJpbmcgYSBsaXR0bGUgaG90LiBTaGUgdGVtcGVkIGhpbSBhIHNlY29uZCB0aW1lIGFuZCBoZSB3YXMgbm9ybWFsLsKgQXJvdW5kIDQ6MDAgQU0gb24gTmV3IFllYXLigJlzIERheSwgSSByZWFsaXplZCBoZSB3YXMgdmVyeSB3YXJtLiBJIHRlbXBlZCBoaW0gYW5kIGhlIGhhZCBhIGZldmVyLiBJIG9ubHkga25vdyBDZWxzaXVzIGJ1dCBpdCB3YXMgMzkuOSB3aGljaCBpcyByZWFsbHkgaGlnaC4gSSB0ZW1wZWQgaGltIGEgc2Vjb25kIHRpbWUgYW5kIGhlIHdhcyAzOS4yLiBBbnl0aGluZyBvdmVyIDM4IGlzIGEgZmV2ZXIuIEkgZW5kZWQgdXAgaGF2aW5nIHRvIHRha2UgaGltIHRvIHRoZSBob3NwaXRhbCBhbmQgSSBkaWRu4oCZdCBrbm93IHdoYXQgdGhlIHByb3RvY29sIHdhcyBpZiB5b3VyIGJhYnkgZ2V0cyBhIGZldmVyIGJlbG93IHR3byBtb250aHMuwqBXZSB3ZXJlIHByZXR0eSBtdWNoIGFkbWl0dGVkIG9uIHRoZSBzcG90LiBIZSBoYWQgdGhlIGZ1bGwgd29ya3VwLiBIZSBoYWQgYmxvb2R3b3JrIGRvbmUuIEhlIGhhZCBhIGx1bWJhciBwdW5jdHVyZSBkb25lLiBIZSBkaWRu4oCZdCBoYXZlIGEgYmlydGggY2VydGlmaWNhdGUgYW5kIGhhZCB0byBoYXZlIGEgbHVtYmFyIHB1bmN0dXJlIGRvbmUgYmVjYXVzZSB0aGUgcHJvYmxlbSB3YXMgdGhhdCB0aGV5IHdlcmUgbG9va2luZyBmb3IgaW5mZWN0aW9ucy4gV2hlbiB0aGV5IGRpZCBoaXMgbHVtYmFyIHB1bmN0dXJlLCB0aGV5IGRpZCBmaW5kIHNvbWV0aGluZy4gSGUgaGFkIGEgdmlydXMgY2FsbGVkIGFuIGVudGVyb3ZpcnVzLiBJbiBhZHVsdHMsIGl04oCZcyBqdXN0IGEgY29tbW9uIGNvbGQsIGJ1dCBpZiB5b3UgZ2V0IGl0IHdoaWxlIHlvdSBhcmUgcHJlZ25hbnQsIHlvdSBjYW4gcGFzcyBpdCB0aHJvdWdoIHlvdXIgcGxhY2VudGEgdG8geW91ciBiYWJ5IGp1c3QgYmVmb3JlIHlvdSBkZWxpdmVyIGFuZCB5b3VyIGJhYnkgY2FuIGJlIGJvcm4gd2l0aCB0aGUgdmlydXMuwqBJdCBjYW4ganVzdCBwcmVzZW50IGFzIGEgZmV2ZXIsIGJ1dCBpdCBjYW4gYWxzbyBwcm9ncmVzcyB0byB2aXJhbCBtZW5pbmdpdGlzLsKgTWVhZ2FuOiBPaCwgc2NhcnkuwqBLZWxzZXk6IE15IHNvbiB3YXMga2VwdCBpbiB0aGUgaG9zcGl0YWwgZm9yIHR3byBuaWdodHMuIEJlY2F1c2Ugb2YgdGhlIGZldmVyLCBoZSBzdG9wcGVkIG51cnNpbmcuIEhlIHdhcyBzdXBlciBzbGVlcHkgYW5kIHRoZXkgbWFrZSB5b3Ugc3RheSBmb3IgdHdvIG5pZ2h0cyBldmVuIGlmIHRoZXkgcGVyayB1cCBhbmQgYXJlIG51cnNpbmcgYW5kIGV2ZXJ5dGhpbmcgc2VlbXMgZmluZS4gVGhleSB3aWxsIGtlZXAgeW91IGZvciB0d28gbmlnaHRzIGJlY2F1c2UgdGhleSBhcmUgbG9va2luZyBmb3IgdGhpbmdzIHRvIGdyb3cgb24gdGhlIGx1bWJhciBwdW5jdHVyZS4gSWYgYSBmZXZlciBpbmRpY2F0ZXMgYW4gaW5mZWN0aW9uIGFuZCBiZWNhdXNlIHRoZSBibG9vZC9icmFpbiBiYXJyaWVyIGlzIHNvIHRoaW4sIGluZmVjdGlvbnMgY2FuIHNwcmVhZCBzdXBlciBxdWlja2x5IHRvIHRoZSBicmFpbi7CoE1lYWdhbjogU2NhcnkuwqBLZWxzZXk6IEhlIGVuZGVkIHVwIGJlaW5nIG9rYXkuIEhlIGRpZG7igJl0IGhhdmUgdmlyYWwgbWVuaW5naXRpcyBhbmQgSSBoYWQgdGhlIG1vc3QgaW5jcmVkaWJsZSBhbmdlbCBudXJzZSB3aGlsZSBJIHdhcyB0aGVyZS4gSSB3YXMgc28gZ3JhdGVmdWwgZm9yIGhlci4gSSBmb3Jnb3QgbXkgUGVyaSBib3R0bGUgYXQgaG9tZSBhbmQgc2hlIG1hZGUgbWUgb25lLiBTaGUgZGlkIGV2ZXJ5dGhpbmcgc2hlIGNvdWxkIHRvIHByZXZlbnQgbXkgc29uIGZyb20gYmVpbmcgcHV0IG9uIGFuIE5HIHR1YmUgd2hpbGUgc3RpbGwgZ2V0dGluZyB0aGUgZmx1aWRzIGhlIG5lZWRlZC4gU2hlIG1hbmFnZWQgdG8gZ2V0IGhpbSBudXJzaW5nIGVub3VnaCB0aGF0IHdlIGRpZG7igJl0IGhhdmUgdG8gc3dpdGNoIHRvIGFuIE5HIHR1YmUuIFdlIGRpZG7igJl0IGhhdmUgdG8gc3dpdGNoIHRvIGJvdHRsZSBmZWVkaW5nLiBIZSBjb250aW51ZWQgdG8gbnVyc2UuwqBTaGUgc3R1Y2sgdXAgZm9yIG1lIHdoZW4gYSByZXNpZGVudCBjYW1lIGluIGFuZCB3YXMgbGlrZSwg4oCcV2VsbCwgd2hhdOKAmXMgaGlzIHVyaW5lIG91dHB1dCBsaWtlP+KAnSBJIHdhcyBsaWtlLCDigJxJIGRvbuKAmXQga25vdy4gSSBoYXZlIG5vIGlkZWEu4oCdIFNoZSB3YXMgbGlrZSwg4oCcQWxsIG9mIHRoYXQgaXMgaW4gaGlzIGNoYXJ0IGlmIHlvdSBqdXN0IGNoZWNrIGl0LiBTaGXigJlzIG9idmlvdXNseSB2ZXJ5IHRpcmVkLiBMZWF2ZSBoZXIgYWxvbmUu4oCdIEkgaGFkIGEgbG92ZWx5IGFuZ2VsIG51cnNlIGJ1dCBpdCBpcyBzb21ldGhpbmcgSSB3YW50ZWQgdG8gdG91Y2ggb24gYmVjYXVzZSBJIGhhZCBuZXZlciBoZWFyZCBvZiBlbnRlcm92aXJ1cy4gSSBkaWQga25vdyB3aGF0IHRvIGRvIGlmIHlvdXIgYmFieSBnb3QgYSBmZXZlciwgYnV0IGl0IGRlZmluaXRlbHkgaXMgdGhhdCB5b3UgdGFrZSB0aGVtIHJpZ2h0IHRvIHRoZSBlbWVyZ2VuY3kgcm9vbS4gR2VuZXJhbGx5LCB0aGV5IHdpbGwgYWRtaXQgeW91IGZvciB0d28gZGF5cy7CoEJ1dCB5ZWFoLCBvdGhlcndpc2UsIG15IHBvc3RwYXJ0dW0gZXhwZXJpZW5jZSB3YXMgbmlnaHQgYW5kIGRheSBjb21wYXJlZCB3aXRoIG15IEMtc2VjdGlvbi4gSSB3YXMgdXAgYW5kIG1vdmluZyBhbmQgSSBkaWQgZXhwZXJpZW5jZSBiYWJ5IGJsdWVzIHdpdGggbXkgZmlyc3QuIEkgY3JpZWQgZm9yIHdlZWtzLiBXaXRoIG15IHNlY29uZCwgSSB3YXMganVzdCBzbyBvdmVyIHRoZSBtb29uLiBCdXQgeWVhaCwgdGhhdOKAmXMgbXkgVkJBQy7CoE1lYWdhbjogSSBsb3ZlIGl0LiBUaGFuayB5b3Ugc28gbXVjaCBmb3Igc2hhcmluZyB0aGF0LiBJIGhhZCBhY3R1YWxseSBuZXZlciBoZWFyZCBvZiBlbnRlcm92aXJ1cy5LZWxzZXk6IEVudGVyb3ZpcnVzLk1lYWdhbjogRW50ZXJvdmlydXMuIEkgd2FzIGxpa2UsIFdoYXQgdGhlIGhlY2s/IFRoYXTigJlzIGFjdHVhbGx5IHdpdGggYW4gRS4gSSBkaWRu4oCZdCBrbm93IHRoYXQuIEkganVzdCBHb29nbGVkIHRoYXQgc28gaXTigJlzIHJlYWxseSwgcmVhbGx5IGdvb2QgdG8ga25vdyB0aGF04oCZcyBhIHRoaW5nLiBJdCBkb2VzIGxvb2sgbGlrZSBpdOKAmXMgcHJldHR5IHJhcmUgYnV0IGl04oCZcyBzb21ldGhpbmcgdG8gdGFrZSBzZXJpb3VzbHkuIFNvcnJ5LCBteSBkb2cgd2FzIGJhcmtpbmcgaW4gdGhlIGJhY2tncm91bmQuIEhl4oCZcyBnb3Qgc29tZXRoaW5nIHRvIHNheSB0b28uSeKAmW0gc28gaGFwcHkgZm9yIHlvdSBhbmQgSeKAmW0gc28gaGFwcHkgdGhhdCB5b3UgY291bGQgc2VlIHRoYXQgaXQgd2FzIGEgdmVyeSBzaW1pbGFyIHNpdHVhdGlvbiB3aXRoIGFuIE9QIGJhYnkgYW5kIHRoaW5ncyBsaWtlIHRoYXQgYW5kIHlvdSB3ZXJlIHN0aWxsIGFibGUgdG8gZGVsaXZlciB2YWdpbmFsbHkuIE1heWJlIGl0IHdhcyBhIGxpdHRsZSBiaXQgb2YgdGhhdCBhc3luY2xpdGljIHBvc2l0aW9uIHRoYXQgbWF5YmUgbWFkZSBpdCBhIGxpdHRsZSBoYXJkZXIgdG8gZ2V0IHVuZGVyIHRoYXQgcHViaWMgYm9uZS4gSXQgc291bmRzIGxpa2UgaW4gd2F5cyB0aGV5IHdlcmUgd2lsbGluZyB0byBoZWxwIHlvdSwgYnV0IHRoZXkgYWxzbyBkaWRu4oCZdCBoZWxwIHlvdSB0b28gbXVjaCBlaXRoZXIuwqBLZWxzZXk6IE5vLsKgTWVhZ2FuOiBZZWFoLiBJIGp1c3QgbG92ZSB0aGF0IHlvdSB3ZXJlIGFibGUgdG8gcHJvdmUgdG8geW91cnNlbGYgdG9vLiBOb3QgdGhhdCB3ZSBoYXZlIHRvIHByb3ZlIGFueXRoaW5nIHRvIG91cnNlbHZlcyBvciBhbnlib2R5LCBidXQgaXQgaXMgZGVmaW5pdGVseSBuaWNlIHdoZW4geW91IGFyZSBsaWtlLCBUaGlzIGlzIHRoZSBzYW1lIHNpdHVhdGlvbiBhbmQgbG9vaywgSSBkaWQgaXQuIFllcywgbXkgYmFieSB3YXMgYSBsaXR0bGUgc21hbGxlciwgYnV0IGl0IHByb2JhYmx5IHdhc27igJl0IHRoZSBzaXplIG1vcmUgdGhhbiBpdCB3YXMganVzdCBhIHNsaWdodCBiaXQgb2YgcG9zaXRpb24gYW5kIHByb2JhYmx5IHRoZSBjYXNjYWRlLsKgSSBsb3ZlIHRoYXQuMTowODowMiBSaXNrIGZhY3RvcnMgZm9yIGZvcmNlcHMgYW5kIHZhY3V1bSBkZWxpdmVyaWVzTWVhZ2FuOiBPa2F5LCBzbyBiZWZvcmUgSSBsZXQgeW91IGdvLCBJIHdhbnRlZCB0byB0b3VjaCBhIGxpdHRsZSBiaXQgbW9yZSBvbiB0aG9zZSByaXNrIGZhY3RvcnMgZm9yIGZvcmNlcHMgYW5kIHZhY3V1bSBiZWNhdXNlIHdlIHRhbGtlZCBhYm91dCB0aGF0IGluIHRoZSBiZWdpbm5pbmcgYW5kIHRlYXJpbmcuIFRlYXJpbmcgaXMgZGVmaW5pdGVseSBhIHJpc2suIFlvdSBldmVuIHNhaWQgd2l0aCB5b3VyIFZCQUMgYmFieSB0aGF0IHlvdSB0b3JlIGEgbGl0dGxlIGJpdCB3aGljaCBpcyByZWFsbHkgY29tbW9uIHdpdGggYSBwb3N0ZXJpb3IgYmFieSBjb21pbmcgb3V0IHZhZ2luYWxseSB0b28ganVzdCB0byBsZXQgbGlzdGVuZXJzIGtub3cuwqBUZWFyaW5nIGNhbiBoYXBwZW4uIEl0IGNhbiBoYXBwZW4gd2l0aCBhbnkgYmFieS4gV2UgY2FuIGdldCByZWN0YWwgcGFpbi4gUG9zdGVyaW9yIGJhYmllcywgb2ggbXkgZ29zaC4gQW1hemluZyB0byBub3Qgb25seSBsYWJvciB3aXRoIG9uZSBidXQgcHVzaCBvbmUgb3V0LiBJdCBpcyBoYXJkIHdvcmsuIFlvdSBkaWQgYW4gYW1hemluZyBqb2IuIFllYWguIEl0IG1heSBoYXZlIGEgbG93ZXIgY2hhbmNlIG9yIGEgaGlnaGVyIGNoYW5jZSBvZiBjb21pbmcgb3V0IHZhZ2luYWxseSBqdXN0IGluIGdlbmVyYWwuwqBGb3IgYmFieSwgdGhhdCBicnVpc2luZyB0byB0aGUgaGVhZCBvciBldmVuIG5lcnZlIGRhbWFnZS4gSXTigJlzIHJlYWxseSByYXJlIGJ1dCBpdCBpcyBhIHRoaW5nLiBUZW1wb3Jhcnkgc3dlbGxpbmcsIHNrdWxsIGZyYWN0dXJlc+KAkyBhZ2FpbiwgaXTigJlzIHJhcmUgYnV0IGl0IGlzIGEgdGhpbmcgc28gdGhlc2UgYXJlIGFsbCB0aGluZ3MgdG8gdGFrZSBpbnRvIGNvbnNpZGVyYXRpb24uwqBGb3IgdmFjdXVtLCB3ZeKAmXZlIGdvdCB3ZWFrZW5lZCBwZWx2aWMgZmxvb3IsIHRlYXJzIGFzIHdlbGwsIHBvc3NpYmxlIGV2ZW4gbGFyZ2VyIHRlYXJzIHdlaXJkbHkgZW5vdWdoIHNvIHRoYXTigJlzIGEgdGhpbmcgYW5kIHRoZW4geWVhaCwgZm9yIGJhYnksIHRoZSBzdWN0aW9uIGNhbiBwb3Agb2ZmIGFuZCBuZWVkIHRvIGJlIHJlcGxhY2VkIG9yIGNhdXNlIGhlbWF0b21hcyB0aGVyZS7CoEp1c3QgYWxsIHRoaW5ncyB0byB0YWtlIGludG8gY29uc2lkZXJhdGlvbi4gSW4gdGhlIHNob3cgbm90ZXMsIEkga25vdyB0aGlzIHdhc27igJl0IGEgY29tcGxldGUgZm9yY2VwcyBkZWxpdmVyeSwgYnV0IGJlY2F1c2UgaXQgd2FzIHNvbWV0aGluZyB3aXRoaW4geW91ciBzdG9yeSwgSSB3YW50ZWQgdG8gdG91Y2ggb24gdGhhdCB0b2RheSBhbmQgbWFrZSBzdXJlIHdlIGluY2x1ZGVkIGxpbmtzLiBJZiB5b3UgZ3V5cyB3YW50IHRvIGxlYXJuIG1vcmUsIGNoZWNrIG91dCB0aGUgc2hvdyBub3Rlcy4gQWxzbywgSSBqdXN0IHRoaW5rIGl04oCZcyBzbyBmdW4gdGhhdCB5b3UgYW5kIHlvdXIgZG91bGEgd2VyZSBhdCB0aGUgYmlydGggY2VudGVyIGF0IHRoZSBzYW1lIHRpbWUgZ2l2aW5nIGJpcnRoIGF0IHRoZSBzYW1lIHRpbWUuIFRoZXJlIGFyZSBzbyBtYW55IGZ1biB0aGluZ3MgYWJvdXQgdGhpcyBzdG9yeS4gQW1hemluZyBzdXBwb3J0IGl0IHNvdW5kcyBsaWtlIGZyb20geW91ciBodXNiYW5kLCBmcm9tIHlvdXIgZmFtaWx5LCBhbmQgZnJvbSBhbGwgb2YgdGhlIHRoaW5ncy4gSSBqdXN0IGxvdmVkIHlvdXIgc3RvcnkgYW5kIGFwcHJlY2lhdGUgeW91IHNvIG11Y2guwqBLZWxzZXk6IFRoYW5rIHlvdS4gVGhhbmsgeW91IHNvIG11Y2ggZm9yIGhhdmluZyBtZS7CoE1lYWdhbjogQWJzb2x1dGVseS4gSXTigJlzIGJlZW4gc3VjaCBhbiBob25vci7CoENsb3NpbmdXb3VsZCB5b3UgbGlrZSB0byBiZSBhIGd1ZXN0IG9uIHRoZSBwb2RjYXN0PyBUZWxsIHVzIGFib3V0IHlvdXIgZXhwZXJpZW5jZSBhdCB0aGV2YmFjbGluay5jb20vc2hhcmUuIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGFsbCB0aGluZ3MgVkJBQyBpbmNsdWRpbmcgb25saW5lIGFuZCBpbi1wZXJzb24gVkJBQyBjbGFzc2VzLCBUaGUgVkJBQyBMaW5rIGJsb2csIGFuZCBNZWFnYW7igJlzIGJpbywgaGVhZCBvdmVyIHRvIHRoZXZiYWNsaW5rLmNvbS4gQ29uZ3JhdHVsYXRpb25zIG9uIHN0YXJ0aW5nIHlvdXIgam91cm5leSBvZiBsZWFybmluZyBhbmQgZGlzY292ZXJ5IHdpdGggVGhlIFZCQUMgTGluay5TdXBwb3J0IHRoaXMgcG9kY2FzdCBhdCDigJQgaHR0cHM6Ly9yZWRjaXJjbGUuY29tL3RoZS12YmFjLWxpbmsvZG9uYXRpb25zQWR2ZXJ0aXNpbmcgSW5xdWlyaWVzOiBodHRwczovL3JlZGNpcmNsZS5jb20vYnJhbmRzIiwiZHVyYXRpb24iOnsidG90YWxNaWxsaXNlY29uZHMiOjQyNDQ5NTB9LCJpZCI6IjFvdkcwOTJwbFBseEhWaXpmR3VNTDQiLCJtZWRpYVR5cGVzIjpbIkFVRElPIl0sIm5hbWUiOiJFcGlzb2RlIDMwNiBLZWxzZXkncyBCaXJ0aCBDZW50ZXIgVkJBQyArIFRhbGsgQWJvdXQgRm9yY2VwcyIsInBsYXlhYmlsaXR5Ijp7InBsYXlhYmxlIjp0cnVlLCJyZWFzb24iOiJQTEFZQUJMRSJ9LCJwbGF5ZWRTdGF0ZSI6eyJwbGF5UG9zaXRpb25NaWxsaXNlY29uZHMiOjAsInN0YXRlIjoiTk9UX1NUQVJURUQifSwicG9kY2FzdFYyIjp7Il9fdHlwZW5hbWUiOiJQb2RjYXN0UmVzcG9uc2VXcmFwcGVyIiwiZGF0YSI6eyJfX3R5cGVuYW1lIjoiUG9kY2FzdCIsImNvdmVyQXJ0Ijp7InNvdXJjZXMiOlt7ImhlaWdodCI6NjQsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMGY2OGRiYjVmNzZiYTQzMmRmYzMwM2YzN2Y4MDYiLCJ3aWR0aCI6NjR9LHsiaGVpZ2h0IjozMDAsInVybCI6Imh0dHBzOi8vaS5zY2RuLmNvL2ltYWdlL2FiNjc2NTYzMDAwMDVmMWZiYjVmNzZiYTQzMmRmYzMwM2YzN2Y4MDYiLCJ3aWR0aCI6MzAwfSx7ImhlaWdodCI6NjQwLCJ1cmwiOiJodHRwczovL2kuc2Nkbi5jby9pbWFnZS9hYjY3NjU2MzAwMDBiYThhYmI1Zjc2YmE0MzJkZmMzMDNmMzdmODA2Iiwid2lkdGgiOjY0MH1dfSwibmFtZSI6IlRoZSBWQkFDIExpbmsiLCJzaG93VHlwZXMiOltdLCJ1cmkiOiJzcG90aWZ5OnNob3c6MzZiVnhxT0dkMUVZY1Iwb0p0ZUY1biJ9fSwicmVsZWFzZURhdGUiOnsiaXNvU3RyaW5nIjoiMjAyNC0wNi0wNVQwOTozMDowMFoifSwicmVzdHJpY3Rpb25zIjp7InBheXdhbGxDb250ZW50IjpmYWxzZX0sInVyaSI6InNwb3RpZnk6ZXBpc29kZToxb3ZHMDkycGxQbHhIVml6Zkd1TUw0In1dLCJ1cmkiOiJzcG90aWZ5OmVwaXNvZGU6ME9SUmpSN1FYOHBiclBhQmVOMktDUiIsInN0YXR1cyI6IkxPQURFRCJ9LCJzaW1pbGFyUGxheWxpc3RzIjp7InN0YXR1cyI6IlVOQVZBSUxBQkxFIn0sInNpbWlsYXJBbGJ1bXMiOnsic3RhdHVzIjoiVU5BVkFJTEFCTEUifSwicG9wdWxhckVwaXNvZGVzIjp7InN0YXR1cyI6IlVOQVZBSUxBQkxFIn19LCJwbGF5bGlzdFJlY29tbWVuZGVkVHJhY2tzIjp7InBsYXlsaXN0Ijp7InN0YXR1cyI6IlVOQVZBSUxBQkxFIn19LCJjb25jZXJ0SHViIjp7ImNvbmNlcnRGZWVkIjpudWxsLCJsb2NhdGlvbiI6bnVsbH0sIm1hc3RoZWFkIjp7ImlzQ3Jhd2xlckJvdCI6ZmFsc2V9fQ==</script><script id="remote-configuration" type="text/plain">eyIjdiI6IjEiLCJlbmFibGVJMThuUm91dGVzIjoidmFyaWFudCIsImRpc2FibGVVbmF1dGhMeXJpY3NDVEEiOnRydWUsIiNjb25maWd1cmF0aW9uQXNzaWdubWVudElkIjoiZGI3MzhkZmUtMWMyYi1kMDU2LTI2ZDMtNDY0NzgxY2VmODU4OjAiLCIjZ3JvdXBJZHMiOnsiZW5hYmxlSTE4blJvdXRlcyI6MTEwMjY2MSwiZGlzYWJsZVVuYXV0aEx5cmljc0NUQSI6MTE4NjU0MX0sIiNmZXRjaFRpbWVNaWxsaXMiOjE3MzIzNzc1MjI5OTAsIiNjb250ZXh0SGFzaCI6ImE1NGIwN2UxZDdhYTY0YWIifQ==</script><script src="https://open.spotifycdn.com/cdn/build/mobile-web-player/mobile-web-player.9dcf1ecc.js"></script><script src="https://open.spotifycdn.com/cdn/build/mobile-web-player/vendor~mobile-web-player.13b4135a.js"></script></body></html>