Proposed Law To Open Code ... In Cars
SEWilco writes: "A Minneapolis Star Tribune story points out that small repair shops say they lose money because they don't have access to car computer codes. These 'codes' are the diagnostic messages used by onboard computers to report problems and perform tests. Older designs only required a jumper wire to make a test light flash code patterns, certain dashboard actions to display codes, or a cheap display terminal from a parts store. Now the interfaces and code meanings are more complex and undocumented, so only auto dealer repair shops can easily find causes of some problems. U.S. Senate S.2617 and House H. R. 2735
would force auto manufacturers to share the codes. Sen. Wellstone says that manufacturers are acting like a cartel, blocking independent shops and car owners. But GM is being helpful."
Finally an open source analogy your grandmother can understand
Yes, another case of intellectual property rights being used to extort money or exercise a monopoly.
How long before the world (particularly the USA) wakes up to the fact that the changing face of communications and information sharing means that this old model of IP protection needs to be reviewed.
I guess anyone who reverse-engineered these components would automaticaly be in breach of the DMCA and anyone who passed on the information would be stung for copyright infringement.
As a result -- we all pay far too much for products and services while the few who were smart enough to corner the IP involved do very nicely.
But hey -- that's what capitalism is all about so I guess we can't complain. But then again -- how capitalist are we when we use taxation as a method of redistributing wealth?
Someone ought to make up their mind on this one.
Basically, they're leveraging their IP. I say good for them, but most people here will probably want to skewer them.
People rarely think about this kind of thing before purchasing a car. Maybe they should.
Or being able to prevent an accident?
Hmmmmmm...
Step 1: Wait for this law to be voted and put into effect.
Step 2: Start pushing for a law that mandates opening code... everywhere. Say that it prevents small independant consultants from repairing Microsoft ware.
An article on this topic can be found at CNN as well.
It has alot of tweakable settings, none of which I can preform myself but if I give the kid who works for the big bad car dealer $10 he'll do whatever I want.
Next car I buy, I will demand open specifications for, I'm getting tired of paying the kid to do what should have come with the car that I own.
I'm sure as fuck not signing a EULA when I buy my car not to violate its software.
Its funny, because its sort of related to the Ask Slashdot question about car performance tuning software a week ago. All these computerized systems have left cars incredibly complex to tune, repair, or modify.
Thankfully for some vehicle types, the enthusiast market has reverse engineered a lot of these protocols and codes. I've driven two different Audi's for the last three years, and spent an ungodly large amount of time and money tweaking and otherwise customizing them. Our enthusiast community has software like VAG-COM which can provide a suprisingly large amount of capability for Volkswagen, Audi's and other VAG-group cars. But now Audi (and presumably Volkswagen) is changing their protocols yet again, keeping things proprietary and secret. Thankfully, I'm sure they'll be reverse engineered yet again.
Even with the capabilities the software has, we're still faced with having very good documentation for what most "sensor" blocks are, but essentially none for what the "settings" blocks are. I can read anything I want, but without insider VAG knowledge, I can't recode a damn thing.
Amazingly through trial and error, people have even figured out how to reprogram basic functionality on their cars, like how the automatic transmissions shift.
I would love to see this law passed, but it doesn't help things much if its just emissions codes that have to be released.
But can it run linux?
a serious logged in phristy! you all suck tacoass!
Imagine a beow...
This article here, even though it seems to be written for the person wanting to do their own maintenance, seems like it would have some handy information for small repair shops, as well.
It basically points out a few new programs and an physical interface that is designed for use with a laptop that can interpret many diagnostic codes. Just install the software, plug in your car and off you go.
Palaces, barricades, threats, meet promises
That's funny.
cartel... hehehe
heh
I have been pwned because my
It would make car repairs so much easier... Which is exactly WHY the dealerships and manufacturers don't want any part of it. When your car starts breaking down a lot you either bring it to the dealership who has the only tool out to read the diagnostic info (dealership wins), or you buy a new car (SOME manufacturer wins).
I mean, if the manufacturers wanted to, it would be easy enough to put a text readout in the dashboard that would say "engine airflow sensor failure" or something similar. Even an error code that you could look up in the manual would be decent.
When I buy a new car, part of my shopping checklist will be to see if I can get a (most likely) 3rd party diagnostic plugin tool.
If more buyers demand onboard diagnostics to be usable by owners without expensive dealership computers, it might start forcing manufacturers to make the information easily accessible.
Reminds me of Harry Harrison's "Deathworld" trilogy (part 2). Give the buyers of the vehicles (in that case, steam wagons), the bare minimum of information to make servicing/repairing them impossible. At least the manufacturers aren't sealing the hoods and putting mustard gas inside to prevent repairs (yet).
"Nothing strengthens authority so much as silence." - Charles de Gaulle
Everyone saying this is some sort of victory for Open Source is an illiterate moron, or didn't read the article.
M$ will veto it.
info about car computers
Maybe we can force GM to install linux on the cars! Soon everyone will be driving because of Tux!
Most manufacturers (well, certainly most japanese ones, and I'm 99% certain all US..) have used ODB-II from 1996 onwards to allow a standardised interface to their diagnostic (and often tuning..) information. This is a standardised interface, and does exactly what is being requested here.
You can buy standard ODB-II scanners, or PC interface boards. You can read and write data values in real time, it is a great system.
Of course, it is only manditory in some US locations, and manufacturers are free to make non-ODB models for other markets. More pressure for them to all support this would be a good thing.
The biggest problem is that 90+% of 'normal' mechanics out there seem incapable of interpreting the complexities of modern fuel injection systems (I've helped design some, and even I find them hard to understand at times), more information does not always fix that problem! The number of times 'they' (your normal mechanic) fall back to a mode of just replacing bits at random to 'fix' a problem is high.
I thought violation of the DMCA for reverse-engineering only happened if the person doing so bypassed a security method intended to protect a copyrighted work? Now, technically the DMCA gives copyright to so everything with as much creative input as a hearty fart, but the auto manufacturers would have to have some sort of copy protection mechanism on their codes to claim the DMCA violation. Again, the DMCA is so lame it doesn't take a particularly stout protection mechanism, but would the auto manufacturers bother? Would they implement public-key encryption between the OBD-II microprocessor and the error code display device? Would they say they use N-8-1 serial encoding to protect their copyright? Would a court fall for that?
Code-reading software these mechanics could use exists, and it's cheap, once you have a laptop. What is the precise complaint of the auto shops, I wonder? Because it can't simply be that there's no way for them to get the codes out without paying the manufacturer. Are they just bitching that they have to do work? That they have to have specialized tools (like that's new)? Or that they have to learn how to use PCs?
While trolling takes on many forms, many of them merely being nuisances (crapflooding, goat links, page widening, etc) you'll find the vast majority of trolling occurring in posts similar to posts such as your original. On Slashdot, well-thought out and reasoned posts have become indistinguishable from trolls. This is made all the more obvious by the dimness of the moderators who would mod you down -1 in a heartbeat if not for the length of your post (as if that were the measure of an argument).
I too am a troll, much along the lines as you (though perhaps you don't realize yourself as such yet). I used to post, IMO, well argued posts and was consistently modded down by the Slashdot groupthink moderators. This is not to say that I didn't eventually hit the karma cap, but that along the way it was painfully obvious that my pro-Windows, anti-GPL opinion was not tolerated here.
Upon the realization of that I had my epiphany that pearls are not to be given to swine (this seems to be the same satori experience you are having now). Pigs deserve slop, and now that is all they get from me.
In any case, I'm not one of the nuisance trolls as I listed above, but one of the provocative trolls such as yourself (please do not take offense, this is not an insult as it may first appear). The Slashdot feeding frenzy that follows any post that attempts to support Microsoft or attack Linux or posit Creationism is a wondrous thing to watch, much like a thunderstorm or a supernova. The one difference is that you, the troll, have total control over the experience, much like a god who views his masterpiece from another dimension.
This is not to say that Slashdot is void of intellectual content. On the contrary, you'll find quite a bit of interesting information in the Science and Developer sections. You will find *no* intellectual content in the YRO section.
It's a travesty that a good idea like Slashdot, allowing users to create their own content, has succumbed to the mindless pursuit of mental masturbation of FSF zealots.
So while this may be the end of your Slashdot infancy, I think you will find your maturation into a Slashdot provocateur quite fulfilling and fun. Isn't that why you joined the technology revolution in the first place?
The I-DRIVE system in the new BMW 745 is based on Windows-CE
Does this bill mandate opening that?
Of course , im sure BMW is now thinking they should have used home grown SuSE instead, considering all the computer related problems the 745's are having
* Carthago Delenda Est *
IP laws would have stopped me from stealing this rhyme off some dingleberries webpage if i gave a fuck about shit like IP laws.
my name is shaki im a paki smell real nasty like ass cracky and nut sacky cuz i dont use soap so i smell like dead goat like a horse eating oat and taking a shit dont make me bitch about your high prices seventeen cents and i have a crisis my wife is a bitch who thinks shes hot but shes not cuz shes all i got from my mom for droppin the bomb on isreal and still i smell cuz i know i suck you american fuck but you still need us cuz we got the fuel butt fuckin mule come into my tent and i sodomize you i do not speak english very well as you can tell and i dont use soap as you can smell make you wanna impale your head on a rail as i drive like a snail down the highway dont make me say batarahzees get on your knees and suck my dick you american prick as i eat garlic and take a piss on your store on the floor dont want no more you fucking whore cuz you want to be lord then BUTT SULTAN BUTT SULTAN bitch be boltin as i fuck you like an animal ride you like a camel sportin my towel and worshipin cow i tell you right now i bring you down so batarahzees lets go to chuck-e-cheese and play some games as us kids take a shit on the ride want to make you cry want to make you die then fry you fucking guy PAKI RHYME.
Back when I worked for Sun Electric (before they got bought by Snap-On Tools), one of the hardest parts of making diagnostic disks for the newer cars was getting access to the codes. Information about what the codes mean, and how to get them, are "trade secrets" jealously guarded by the big automotive manufacturers, so they can provide *their* repair facilities with the stuff they need to do the work, thus effectively gauranteeing them a captive market.
... while these "confidential" documents were copied. We ran a few years behind - not that it mattered much to Sun, because nobody takes a new, still-under-warranty car to Joe's Auto Repair & Bait Shop. Our customers got the cars after they went out of warranty, and by then we always had the codes, and hardware to allow them to be read.
We'd eventually get copies of the specs, by having some employee schmooze the people at the auto makers, and they'd conveniently leave the codes on their desks, and step out for a loooooong lunch
It'd be a whole lot less sleazy, though, if the car makers had to release the codes, and how to get them. I do see, however, that this could cause problems, as many of the datastreams are bi-directional, allowing you to change things while the engine is running, potentially causing a malfunction. I wonder if the lawmakers have considered that?
Lemon curry?
I've never found a damn thing of use in the S4 Bentley manual. It has minimal documentation of ECM codings, and no way to search by DTC. The one or two things I've had to look up how to do in there have been wrong, as well. Maybe VW ones are better...
I feel that your attempt to fix the vocabulary issues on Slashdot will, in the end, be worth about as much as a fart in a hurricane. If 18 years of our excellent public schooling system here in the United States can't produce expert wordsmiths, what on Earth possibly can?
I bet that part costs $10 to manufacture.
Actually, it probably only cost $5.00 max - the MAP sensor tends to be one of the most complicated sensors in a vehicle today, but even so it is typically only a stress gauge mounted in a custom body that is part of the air intake so that as air passes by, it exerts a force - typically a custom chip inside interprets this force and relays it back to the computer (in some manner).
But back to your assertion - my brother-in-law's truck was having problems, and one of the codes in the ODB-I system said that he needed a new throttle position sensor - we found it was a dealer part - the dealer wanted $50.00! Since he needed it, he bought it. But guess what this "sensor" was...
Yup, a 100K potentiometer with spring return to zero, in a custom molded body.
F'in car manufacturers...
Reason is the Path to God - Anon
was redneck a derogatory term... My cousin who happens to be into cars happens to also fancy himself a redneck. He says that since he doesn't drink alcohol, he takes a root beer with him to job interviews.
I recently ran into something somewhat similar. I have an older Acura Legend that has had a couple of nagging problems I've been trying to track down. First is a ticking sound from somewhere within the mass of emissions-control components. The other was an occasional failure of the air conditioning to cool.
Anyway, I was doing some searching on Google and Google Groups, trying to see if someone had been down either of these paths before. I ended up, through an Acura enthusiasts site, at Alldata, a mechanics' and do-it-yourself'ers online technical reference subscription site.
Alldata had a list of Technical Service Belletins (TSBs) for my car -- these are notices sent from the manufacturer to dealers notifying them of, let's say "anomalies", in their product to be aware of. Sure enough, one was titled "BUZZING FROM EMISSIONS CONTROL BOX" and another was titled "A/C INTERMITTENTLY BLOWS WARM AIR". Jackpot!
All I had to do now was subscribe to Alldata for a (relatively) measly $25 a year to read the full text of the TSB. But wait! It turns out that of the world's car companies, Honda (who makes Acuras) and BMW (you know what they make) do not allow their TSBs to be distributed to the owners of their products.
I called Acura's toll-free number and complained, and sure enough, they said they only provide and authorize distribution of TSBs to dealers. Seems Honda likes to keep secret what they know is wrong with their cars, giving their dealers an advantage and making owners and independent mechanics suffer along rediscovering what's wrong with Honda's shoddy products.
Anyway, fortunately, I discovered an excellent service, Taylor Automotive Tech-Line which is a kind of a pay-per-incident tech support for mechanics and others. A simple web form and $20 later, and they emailed me TIFFs of the "secret" TSBs. Both of which were exactly what was wrong with my car!
Turns out the air conditioning problem was caused by a circuit board chock full of cold solder joints that had cracked. Ten minutes with a soldering iron and fresh solder corrected that manufacturing defect. The clicking sound was diagnosed in less than five minutes with the help of the TSB and fixed by replacing a $59 chunk of plastic (a "Constant Vacuum Control Valve").
Taylor Auto Tech's motto, by the way, is "We Fill In The Cracks On The Information Highway". Thankfully, someone is.
This is interesting. As a co-owner of a small independant garage that primarily works on GM, Ford, and Chrysler, I never had difficuly in obtaining error codes and how to pull them. Not only do the manufacturers provided manuals, but so do the aftermarket companies. Even getting a quicky codelist from the dealerships have never been difficult.
Now in the beginning of ECM's, all the sensors had different names, but the SAE has been working hard at even removing these obstacles. Also the auto industry is naturally working at producing standard error codes. Todays mechanics owe no loyatly to a dealership or brand (not a bad thing) Its much easier and cheaper if when another dealership or garage picks up a skilled mechanic they don't need to retrain them on that brands codes.
The automotive manufacturers know this and are migrating to common codes on their own. No need for the government to come in and add an additional expense to a process that is already happening.
What is happening is the liability of working on a car is becoming too expensive for small independant garages. This will be the death of mom and pop shops before nonstandard ecm codes are.
Gator/Claria is Spyware.
Wouldn't the equivalent of forcing them to open the code be to force them to hand over the patents and specifications on their assembly equipment?
"The emissions repair codes are linked to anti-theft devices, which is causing the insurance industry to oppose the EPA proposal. Getting the codes to more repair shops could make it easier for auto thieves to obtain that information, insurers say."
Ok, is the auto industry just making this up so they'll have support for not giving out the codes? Or did some nimrod in the design stage actually think that linking the _emissions control_ system and the _anti-theft_ system was a _good_ idea?
Perhaps there's an unadvertised theft protection device in newer cars, if the onboard computer think the car is being stolen, instead of running the exaust through the catalytic converter it redirects it into the air condtioning system.
This Space Intentionally Left Blank
Here is an article about it.
And you think it is bad now...
I have very little doubt that as the technology matures, they will be able to build a car that ONLY runs on "dealer gas", which has certain molecular marker "tags" in the gasoline to identify it, custom sensors (similar to that used for DNA analysis, only MUCH faster) in the fuel lines, etc hooked up to the computer. When I mean "dealer gas", though, it will probably be a "cooperative" agreement between a gas company and the manufacturer - or maybe it will be something where all gas will work, but a "certain" gas will work "best" - literally.
Reason is the Path to God - Anon
Photocopier makers used to be notorious for this sort of thing (they still are, it's just that all new photocopiers are now laser printers :) ).
Any sufficiently advanced technology is indistinguishable from a rigged demo
--Andy Finkel (J. Klass?)
It seems to me that this is a situation just begging for the Govt. to mandate that all the auto manufacturers should get together to create a standardized list of error codes, that they all use, and everyone who wants to know can find out the codes and their meanings. Note that the Govt. should NOT specify the codes; the Govt. is usually too stupid/ignorant to do something like that right. The industry, however, knows what kinds of codes are needed, and their relative importance, and so it is the industry that should create the list (preferably open-ended, for future expansion).
Apparently all mechanics that work on cars are named Joe.
/.!"
In a controversial move today, Slashdot.org opened a new can of worms with their posting of open source the error codes message. Joe's everywhere are in shock at finding out that they indeed missed their calling.
From Joe C in Paduka, Ky.: "When I found out I was supposed to be working in automotive repairs, I completely was flabergasted. I have always felt like I was missing something in my life, this can explain why. Thanks
From Joe E. Muntzenburger in Lake Okeechobee, FL.: "Man, when they told me I was supposed to be "Big Joe" down at my local auto-shop, I was stunned. I mean, being CEO of a large paper mill is great, but it can't compare to sweating underneath the hood of a car I don't understand!"
Mods: If you don't get it, then you haven't been reading the comments.
Sent from your iPad.
...I had a brake problem for years, every couple of days to weeks, the computer would bitch about something wrong with the brakes (brake warning light). All the places I took the truck to basically kept saying, "We can't do anything because we can't read the computer codes." So, I kept having to take the truck to the GM dealer and pay their premium prices to "fix" the truck.
1 set of pads and disks replaced and cleaned, 2 master cylinders, a brake computer, and a dump valve later, after bitching relentlessly with the dealer about the problem, the light stopped coming on, yet the problems with the brakes continued. The truck liked to drift to the left or right when braking, sometimes hard. I suspected they cut the line to the warning light somewhere.
After taking the truck in for inspection at another place that is reputed as trustworthy, they replaced my brake lines (the only thing the dealer hadn't) saying that they where old and that the drifting was a sure sign they where wearing out. Problem fixed. Over a thousand dollers to fix a $50 problem thanks to GM.
Any sufficiently advanced influence is indistinguishable from control.
VAG-COM, My girl friend got that once. Some Cephlexin cleared it right up.
Religion is a gateway psychosis. -- Dave Foley
I work as a mechanic full time right now... and I worked as a technician for the past 4 years while I went to school (CS major working as a mechanic, go figure). Anyway, I've never had a problem with this mysterious hidden code problem. It's pretty simple, I use a handheld diagnostic scanner (Genisys scanner, it runs a Lynx realtime linux, has usb ports, pcmcia ports, ethernet, large color screen, pretty sweet)
it plugs into ALL cars made after 1996 (when the standard for OBDII came out) and most domestic cars with computers made before then. It tells me what code (or codes) have been set, and the data from the time it was set (RPM , engine temp, TPC value etc).
I then take the code, and usually it will say something along the lines of "PO0047 OXY Sensor Bank 2" (I made that code up, but it is very close to something which would actually occur)
Now, that tells me its an oxygen sensor in bank 2, no problem.
It seems to me all these "independent shops" just dont have the proper equipment(sidenote: I work at an independent shop). I have NEVER had a car give me a code that was "secret" and that I didnt have access to. Ofcourse, We have the proper equipment (the scanner was $6,000) and we also have several DVDS which , for each code in the computer give you a flow chart of what to check that could set that code.
It seems that the backwoods shops that people go to because they are cheap, dont have that equipment. Which is why noone understands that when we scan your computer for codes, we charge $55 just to check what the codes are for, not even to fix them.
So remember, when you get your car fixed and it costs a lot for something you think must be simple, remember that the mechanic is probably still paying for thousands of dollars in tools he needs for his job.
That was a long rant,but some of it was ontopic I guess.
car company, cartel. ha ha. sounds wierd in some odd way.
*runs off*
Every time I plugged in my 96 Audi A4 Quattro, three or four undocumented codes would come up. One of these was due to a co-worker starting the car while it was in gear ( I was in the back seat, completely intoxicated after a lunchtime margarita fest.) I was lucky enough to know a mechanic who had _some_ of these codes in a database on a nice diagnostic computer. However, many codes were not listed at all, mostly non-critical or not a real error condition, and would not show up again when cleared. (these are the mystery codes) When I was a mechanic a few years ago working on Navistar Diesel truck engines controlled by the MC68HC11 microcontrollers (motorolla 68ks) all codes were documented and the engines could perform real-time checks of all the electronics. The ECU had to be plugged into a hand-held computer that would display all the engine's feedback in realtime on a 5X5 screen. I want one in my car, but that looks like its a few years down the road.
1) Most manufacturers in fact do NOT provide any information about their ECM codings or diagnostic trouble codes. The ONLY published codes are typically the OBD codes, which everyone knows anyway. While we're all proud of you for having three systems to do that at home, clearly you've never used them for actually diagnosing real non-emissions related problems with your car, or you own an older-model (early OBD2) American car.
2) Also blatently incorrect. Companies absolutely hold this information close. In the example I used, Audi's tech manuals cost well over an order of magnitude more than the "consumer" level manuals cost. They are virtually impossible to purchase, anyway, if you're not certified by them. Not coincidentally, virtually all certified mechanics work for dealerships. The manuals that we end users have access to have the very bare minimum of information to perform very basic maintennance on the car. For example, say I want to flush my brake fluid. The procedure that the consumer manuals lists is very different from what the tech manuals list -- they don't even mention that you need to cycle the ABS controller using a VAG tool.
a) Yeah, thats a pretty common excuse stated by people who want to spout off and make people think they know what they're talking about
b) In most cases, this is also blatently wrong. The basic principles of how cars work have not changed much. No one needs to know how the internal code that runs the engine works, but knowing what all the errors it can tell you mean is pretty damn important. Knowing that changing your brake fluid the "old" way isn't doing the job completely is important to know too. This isn't stuff that "backyard" mechanics don't understand, this is stuff they are being deliberately not told. There's a big difference.
You know, you're right, there's a big problem with people who believe what they read. On here, though, there's a bigger problem with people who know a lot less than they think they know. Not that I'm pointing any fingers directly at you.
It could be ODB-II. I haven't looked that much into car stuff in a while.
Jesus was all right but his disciples were thick and ordinary. -John Lennon
This is what makes too many laws. There is already a solution in place, the citizens and representatives just need to use them:
First, it's OBD (OnBoard Diagnostics) not ODB (OnDiagnostic Boards) just for future reference.
I agree totally that OBD-II rocks, standards rock, etc.. but I'll bet you can't point out a single website explaining how it works, what the pinouts are, or (praying for a miracle here) downloadable software to interface with!
I was just thumbing through a JC Whitney catalog and the only thing they offer is a $300 unit (a dumbed-down PC in a cute little case with an LCD screen). Oh, and look at this! The unit can interface with your PC to give you even MORE information! (addressing manufacturers of such units) Dumbasses!!!!!!! Stop pretending that your lame little $50 device can do more than a top of the line PC and start making SOFTWARE!!!
You can run but you can't hide, except, apparently, along the Afghan-Pakistani border.
Fud #1:
"From a business standpoint, it's diluting our franchise" to make the codes public, he said. "A franchise becomes meaningless."
I'm not even sure what that means, but it sounds scary. We can't have meaningless franchises! The whole system will break down, and then who'll fix your car, huh?
Fud #2:
William Abraham, executive vice president of the Greater Metropolitan Automobile Dealers Association of Minnesota, said that manufacturers "want it to be repaired right the first time. . . . All things being equal, they'd rather have you repair them at a dealership because they know they can get the job done right."
Translation: independent mechanics are scam artists who will leave your car in worse shape than they found it. We can't have them using our codes, that would be like endorsing them to ruin your car and rip you off. And you don't want that, do you? Never mind, of course, that dealer mechanics work on a pay system where the less time they spend fixing your car, the more money they make, and the least profitable jobs go to the worst mechanics. Now that's a system you can endorse!
Fud #3:
Lambert, of the car dealers association, said there is no evidence that independent repair shops are being driven out of business, and he said that consumers enjoy "a wealth of options." He said that no products are more regulated than automobiles, adding that manufacturers must be concerned with safety equipment, recalls and warranties.
There's two in here. 1) These codes are hurting independents? Prove it! Sure pal, right after I prove global warming when Antartica becomes a beach resort. Stall long enough, and there won't be any independent mechanics around to raise a fuss. 2) We're regulated, so you can be sure the government is making sure the system is fair. Oh, please. See US vs. Microsoft.
Fud #3:
They have a right, I think, to restrict who has access to all of that technology," he said. "Otherwise, they're left with people they don't have any relationship with working on vehicles that they're still responsible for."
Of course the manufacturers don't have a relationship with the independent mechanics -- the manufacturers deliberately refused to establish one to keep you away from them! If they started sharing the codes, then they would have a relationship, now wouldn't they? And you know what? I have a better relationship with my mechanic than with the dealer! But apparently that relationship isn't important (or maybe it is, that's why the dealers are trying to break it).
Fud #3:
"The old garage mechanic is gone," he said. "In fact, the term 'mechanic' is gone. They're called technicians now. These people have to be very intelligent people. They're working on computers, and it's a high-tech industry.
Of course, the guy from the dealer association said that customers have lots of "options", and that there's no evidence the mechanics are in trouble. Now, having assuaged our concern for the little guy, this other dude says that they don't even exist anymore anyhow. Pay no attention to that shop that says "Main St. Auto Repair" down the block. He's just a gorilla in overalls that couldn't possibly understand how to read a number from a screen, and look it up in a book that says, "water pump is failing." That's way too sophistamacated for a dumb schmoe like that. Forget that he has twenty years of experience and the dealer guy is some kid fresh out of a technical school (see Unix admins vs. MSCEs).
How many times have you heard someone ask, "when your Linux server breaks, who are you gonna call?"
FUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFU DFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDF UDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUD FUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFUDFU
If you're correct, which I hope you are, prove it by pointing me out to the software and pinouts/adapter cables. I'll be eternally grateful, as I've been searching for ANYTHING like that for quite some time. Thanks!
You can run but you can't hide, except, apparently, along the Afghan-Pakistani border.
What? What? Huge companies attempting to limit competition so they can collect assured profits perpetually?
Say it isn't so!
If you don't see the problem with secret repair codes, would you buy a computer with diagnostic codes that were kept secret in order to force you to return it to the factory for repair at exorbitant rates?
Have you ever heard of SAE? All this is allready published and easy of access to anyone who is willing to pay for the documentation.
We have all those FMI code which are not hidden to anyone, they are all well described. Buy yourself the latest SAE books and build a small board with a can controller that supports J1939, J1850 or whatever other can protocol you wish to snoope at.
I do not understand how people still believe patents have a place in our society after all the proof of how much damage they do. All the hiding and/or prohibiting of technologies is causing more problems than it will ever, theoretically, solve. For those of you that still believe patents still have a place in our world, do you think changing protocols like this benefits society? does it benefit the company? does it benefit anyone at all? Does making a technology/invention/idea proprietary help any person or company? There are many myths to patents, and all the arguments for patents have already been shot down. Do a search for "Brian Martin Intellectualy Property" and you'll find some good papers by him. His papers contain many references pertaining to intellectual property. Mod me down if you wish, it is not Off-topic even though it does sound like it though. Thank you for your time.
Question everything.
Wouldn't it just make sense to reverse-engineer this stuff and post it on the internet? I mean it can't be that difficult as far as reverse engineering goes...
Hopefully this will be extended so that all hardware specs will be open. People who would otherwise be using Free software are losing money because they have to stick with commercial products, because vendors don't release specs and provide {no,lousy} drivers. Yada, yada.
---
The nice thing about standards is that there are so many of them to choose from.
-- Andrew S. Tanenbaum
Please correct me if I got my facts wrong.
I am from Minnesota. The only reason Wellstone is proposing this now is because it is an election year. He is trying to show his support for the "little guy". He knows he has a fight on his hands with Coleman. I won't vote for either one because Wellstone is a jack*ss and Coleman was put into place by Bush when Chenney came to town and asked all the other Republicans to step out of the primarys.
As many peolpe have already pointed out. Car manufactures are starting to go in this direction on thier own. They started with ODB-II and are going even further with ODB-III.
Didn't Microsoft get itself involved with project that involved putting Windows in cars to run things like the sound system, or GPS or whatever?
It was probably based on either WindowsCE or WindowsNT...but either way...wouldn't this law force Microsoft to reveal the "codes" (read: source) to fix any "problems" (read: bugs) in that product?
???
Join us now and share the car codecs, you will be free mechanics, you will be free. Join us now and open the car codecs, you will be free mechanics, you will be freeeee"
a little sniffing around yields this ODBScan Protocol Interface
They also sell the interface hardware and software for
There are also numerous places to download free OBD demos.
It's OBD -- On Board Diagnostics
Ferrari and other exotic car rentals in New York
Specifically, for VW/Audi, but the concept still holds
OpenDiag.org
Soon, I fear, you will buy a car with no self-servicable parts. Many people already pay someone else to change their oil and other service items. "Sorry, but you must be an authorized dealer to access the engine compartment of your 2007 Chevy SuperAvalance EXT. No service is needed for normal use."
Most people have no idea how or why they change belts, oil, tires, etc.
Sure, on my 1957 Chevy Bel-Air, I do all that myself (plus some! *Grin*) - but, honestly, on my 2000 ZR2, I do the oil changes and other services, and not much else.
People don't care how their cars run - only that they do. If you give them a spout on the outside - like behind a headlight, etc. for washer fluid, and the gas fill door, that's all they'll care about - and manufacturers will seal the hood for "aerodynamics, strength, and safety of the frontal impact zone."
*Sigh*
God, I'm such a cynic these days.
"If there's hope, it lies in the proles..."
It's the classic little vs big guy.
The auto makers should share the codes for the same reason Microsoft should share the (internal) APIs: openness fosters fairness and competition, which is good for the consumer.
Hopefully, someone will point this out to the congress-critters, and the analogy might finally turn on the light in their heads about software.
"The old garage mechanic is gone," he said. "In fact, the term 'mechanic' is gone. They're called technicians now. These people have to be very intelligent people. They're working on computers, and it's a high-tech industry. . . . How does the guy that's in a little town of a population of 500 people get educated about the electronics of a $30,000 new automobile?
Could he be any more condescending?
Don't moderate flamebait as Troll. Know the difference or you will be Meta-moderated.
I'll be interested in seeing a list of internal APIs that aren't painstakingly documented on MSDN.
I don't remember the API, but MS didn't give Netscape an API until it was released, but gave it to others before the release. This was part of the DOJ case against MS. There were also allegations during the same trial that MS withheld important APIs from competitors that their applications developers had access to. In other words, information passed between the OS and applications groups at MS that should have been public for other application developers to see.
You can get a scan tool from many sourses (try Snap On) That will give codes and much more. The interface is described by law and must be adheared to by manufactures. The problem is not the codes or even repair manuels which are more important than just the codes. The real problem is training. The auto industry is one of the fastest changing ones. I have to spend a lot of time training just to keep up and I only work on GMs mostly Chevys. The independants multiply there problems by every manufacture they work on.
It is interesting how senators are willing to help the little auto mechanic, from being locked out by the large manufacturer, but not the little pc software developer from being locked out by the large software developers.
What is it? Is it because auto mechanics is an easier bussiness to understand? Are they better organized? Or is it because the small automechanic is an old institution.
I didnt see any post relating to the story on CNN. I guess I have to do it then.
Here ya go : CNN Story
Rapid Nirvana
Well, hopefully this sets a precident that, if you don't at least expose your functionality through APIs or whatever the car equivalent is to an API, that you'll be made to!
I personally think I shouldn't have to pay $55 for this... because I think you shouldn't have to pay $6000 for that dumb scanner in the first place (times however many of them you have.) The problem is that mechanics are getting ripped off because this equipment they use is so rare.
How hard would it be to connect one of these $6000 machines to a PC with some kind of cable connect? You could have the PC generate every possible code sequence, over the line, then watch the results on the scanner and renter the results into the PC. Viola, the database is yours. Now reverse that connector so the PC can detect the codes, and for the price of whatever cable and port you need to hook up, the (hopefully free) cost of a 486, and a little programming for your UI, you've got yourself an equivalent scanner. And then you can start charging me what that service is actually worth (next to nothing) and make bank because people will actually start having the money to fix thier car everytime the mystery "check engine" light comes on.
You're comparing apples to oranges...
Giving out the source would be like giving out the engine design specs. Ford and GM go through a lot of R&D and don't want to have to give out every piece of info about the cas they build and they shouldn't have to, Microsoft goes through a lot of R&D and also shouldn't have to give out their "engine source."
Giving out the API would be good though...
The man who trades freedom for security does not deserve nor will he ever receive either. - Benjamin Franklin
Nothing Government does these days is good, besides, it's none of their damn business anyway. I bought a 1994 Lexus 2 years ago because I was told they are the most reliable car, and I have to say I have not put any money into it, besides scheduled maintenance, in the last 2 years. I won't go anywhere else but the dealer for anything. Modern cars are too complicated to be handled by inexperienced grease monkeys @ the Joe's Garage (Frank Zappa reference). It's the same crap as the Government forcing cable operators to open their lines to all the ISP's. Get the GD Government out of our life & let us do as we please. There are way too many fucking laws already. Let's start eliminating them before we get anymore that restrict us from doing whatever we want.
Nah, never mind. This one's just too easy.
Forgive me if I may seem anti-tech, but..
Cars shouldn't depend on computers. I know they're useful for diagnosing problems, but when you can't give someone a jump without worrying about zapping the computer, things have gone too far.
Just wait till a bug some place in MS-Car causes your airbag to activate , or you have to "upgrade" the damn thing every 3 months with new software.
I always look for older vehicles that don't have extra gadgets to break. Just like good software design, anything that doesn't need to be there - shouldn't.
Standard gauges (temp. oil pressure, alternator etc..) and a good mechanic should be able to figure out whats wrong. Thats why they make the big bucks.
Most newer automakers use a standard dignostics program called OBD2. Most competant repair shops have these scan tools as they are readily available on the internet and updates are downloadable.
The scan tool can be purchased from
http://www.autotap.com/
You can't fix a computer with a 21mm wrench!
With all their computer controlled complexity, today's cars require more than a normal toolbox to keep them running smoothly. Computer controls and a vast array of sensors require today's mechanics to have access to all of that information going on inside the car - whether they work at a dealership, small shop, or their back yard.
Are you frustrated because you want to fix the "service engine soon" or "check engine light", but you can't seem to pinpoint the problem? For the first time, you can access the same information as the dealership mechanics. Use AutoTap scan tool and your PC to monitor real time data from virtually every sensor on your car, as well as read and clear Diagnostic Trouble Codes.
AutoTap OBDII scanner is an OBDII scan tool that performs the same job as the big diagnostic scanner that a dealership uses. It converts the SAEJ1850 or ISO9141 specification of your vehicle's computer circuits into the RS-232 format that your PC can understand. Then it organizes the data on your screen and adds useful help links to make your diagnosis easier.
Autotap offers a model that covers all OBD2 equipped vehicles for $489.95
That is a drop in the bucket compared to the amount of money most mechanics have invested in their own tools.
OBD and the codes aforementioned are different. OBD (on-board diagnostics) is a very limited system that only gives certain diagnostic information about the car. The codes in question here are ones about more detailed systems, and are basically the "dumps" of all of what the computer processes, not just if a fault code is stored. This way if your computer doesn't sense something is wrong to store a fault code, the dealerships can still figure out exactly what is going on with the engine and what settings the computer has the engine running at. Most car manufacturers have extra computer systems attached to cars nowadays that arent linked to the OBD system. The bill Senator Wellstone is proposing basically makes it so any information that a dealer can extract from the computers must also be shared with the 3rd party mechanics. This goes far above and beyond OBD. I personally think it's a good step. It seems to me like the dealers want to hide information from the customers and then claim the problems are not covered under warranty.
-- There's only one replacement for displacement.....
Automakers make money by keeping this stuff secret. Why?
Dealerships do two types of repairs:
Customer Pay, and Warranty pay. As a way to protect consumers from questionable hourly billing, shops use a refrence book that tells them about how many hours a job will take. This book is how your estimate is determined (plus or minus whatever the service writer thinks they can get out of you)
What you're not told is that customer pay jobs
are often quoted TWICE the time alocated for warranty jobs. Very few mechanics like warranty jobs unless it's something that they have a really good shortcut around (i.e. A faster way to replace an engine than the shop manual shows)
Since automakers tell the dealerships how much they will pay for warranty jobs, Dealerships tend to make up for it by overcharging for customer pay jobs (via padding the quoted labor times)
So who gets screwed?
Not the automakers...
They sell more replacement parts when they can eliminate independant shops and
aftermarket parts. Independant shops tend to buy more aftermarket parts than OEM parts.
Not the Dealerships...
The dealership mechanics don't like to give up their "gravy" jobs like brakes & transmission services to Independant shops because those gravy jobs are what help them compensate for warranty work. Dearership owners feel the same way. For a given week, if mechanic 1 can replace 10 customer pay transmissions, and mechanic 2 can replace the same number of warranty transmissions, Mechanic 1 just earned the dealership twice as much and without all the BS warranty paperwork.
Independant shops get screwed.
Common sense. They can't compete because automakers are trying everything they can to get customers to come to them for all their needs. Independant shops must then rely on oil changes & mufflers to make their money, and there's too much competition there because it doesn't involve as much training. There isn't nearly as much money to be made changing oil as there can be for drivability & electrical stuff. The little shops must do a lot more little tests that the Non-OBD2 codes provide. How can a little shop compete?
Customers get screwed.
Mainly because competition is eliminated.
Don't expect to see any improvement either.
CNN headline news has been reporting that there will be a shortage of about 200,000 mechanics by the year 2010. Expect to see dealerships take advantage of that and watch labor rates and times skyrocket.
Perhaps one day our cars won't start until we break the shrink wrap that says we must agree to the End User License Agreement before using the car.
It brings new meaning to the term "24-month lease".
-ez
The problem here may not be just getting car manufacturers to divulge engine codes, but rather the maker of the ECU itself. For instance, Bosch produces ECUs or other engine components for virtually every car maker. Last year, Bosch had over $23x10^9 in sales in the automotive sector alone. Since nearly all European manufacturers rely on the Motronic ECU for higher-end engine applications, I'm sure that many Engine Control and Error Codes are similar amongst many different models and manufacturers.
I'm not entirely sure about whether or not the problem is the manufacturers' reluctance to supply codes. Perhaps they have a contract or something with the supplier of the ECUs to keep things hush-hush. Not only do the manufacturers make out by requiring service at their garage with their advanced tools, but the ECU supplier stays safe from the competition by not having all the details of their system easily divulged.
--- At my sig, unleash hell.
I, right now am having car problems right now. It will cost me $75 to have the mechanic to "download" the fault codes for my Mazda. And after that, I will probably get ripped off yet again for the repair. But as for my previous car, an Isuzu, told in the manual how to check the fault codes. It was an easy thing to do.
Also for those having car problems many Automotive parts retailers such as Autozone are offering free OBD2 service to pull codes and tell you what the problem is.
Maybe he wanted a decent car. Not everyone drives American cars, nor should they, and there are many foreign cars manufactured here so don't go whining about jobs you sniveling little dweeb.
Join the Libertarian Party!!
http://www.lp.org/issues/
They want to keep capatalism, but revamp the current IP system.
Libertas in infinitum
"because Biggie done do some of that shit too"
and I noticed a banner in the window that caught my eye.
This pretty much sums it all up. They offer FREE code retrieval.
Back when I had a Jeep Wrangler, I bought a Haynes service manual that showed me what its codes were. I could easily obtain the error messages through a morse-code system.
To see what the diagnostic computer felt was wrong, you turned the ignition key so that it went off/on/of/on/of/on. After the third and final "on," the check engine light would flash a certain number of times, which corresponded to a specific problem code.
flash - flash - flash
*pause*
flaah - flash - flash
... that would mean 33. 33 stood for Air Conditioning, IIRC. That code would always come back since my Jeep didn't have an A/C unit plugged into the diagnostic box.
Anyways... the Jeep was a '91. I miss it so much.
*tear*
The hard drive is but a small chunk of a computer. I don't mind if the drive is sealed and the firmware proprietary, as long as it conforms to a well-documented standard interface, and doesn't require any proprietary tweaks to perform well.
Likewise, I don't care what shape my pistons are ground in, or how the valvetrain actually works. Overhead or pushrod, seal it up so I never see it, I don't care.
However, my computer as a whole had better not be welded shut! I want to be able to inspect its operation, make sure I'm the user and it's the tool, not the other way around. I want to be able to control its operation, write my own programs, and tweak the misfeatures of others' programs. I'll never need to manually adjust the flying gap on my hard drive, but I definitely do want to customize my boot sequence, and scrutinize data leaving over my net connection.
Likewise, my car should be open enough that I can change the parts I want to. I'm happy with the engine, but why can't I turn off my headlights when I pull into my friend's driveway, so as not to wake his neighbors? I want wiring diagrams, so I can make the lighter socket behave more sensibly. I don't care if certain parts are sealed for practical reasons, but the rest of it should be open for me, the owner, to customize.
I think your analoy is flawed because you compare the hard drive to a car. The drive can be a black-box with no ill effect. It's the computer system as a whole that must be open to the user. The car can contain several black-box components, but I should be free to inspect and reconfigure the connections between them.
If you think this tendency in cars is scary, go read this article on Microsoft's Palladium plan. Talk about welded shut! At least your car doesn't refuse to carry passengers and cargo that haven't been approved by the manufacturer.
I didn't seem to find any ODB stuff for my Honda Accord, anyone know where I can get it?
It's Old Dirty Bastard. What he's doing in my car, I'll never know.
There is a Federal debt, about 4 trillion dollars worth. Most of it was run up during the Eighties when major tax cuts were instituted. And the Fed engine is once again running in the red due to the new tax cuts, especially the ones phasing in over the next eight years. It's going to be huge, the debt.
Now here's the income redistribution part. 17% or so of every tax dollar taken in by the IRS is spent to pay the interest on those trillions of dollars of tax-cut spawned debt. Year after year since the middle '80's, 17 percent of our country's gross revenue is peeled off and sent to...
Bond holders. When the Guv, in our name, can't raise enough money to pay for bread and tanks and roads, it has to borrowed. Usually this is done through bonds, paper bought by investors, both in the U.S. and abroad, which will earn interest year by year.
We pipe tens of billions of dollars of our income every year to very wealthy individuals and institutions. A great deal of the wealth in this nation is generated by that distribution. It's better than a gold mine, better than real estate.
Multiply this yearly welfare payment by about 21 years. We have, in the name of tax cuts, pumped hundreds and hundreds of billions of dollars into the pockets of people who could afford to buy all those bonds and float all those loans. A goodly number of them are offshore... just about anyone can buy our money-making debt. To be really awestruck, adjust those dollars for inflation and recalculate what wealth we have transferred for a few bucks off our taxes.
Is it no wonder that wealthy people love tax breaks and don't mind a massive debt? Hell, I knew of an economics professor who straight-out declared that reducing or eliminating the national debt would spread destabilization around the world -- and he was right. Investors around the world love the money pump! It's like a rain of gold that will never end.
Now, for an exercise, compare the amount spent on debt service, which goes to wealthy/well off debt owners, to the amounts spent on aid for dependent children or Head Start. It's pitiful. The spending on our debt to the enrichment of the very well to do dwarfs anything we spend on the poor or schools.
The debt and deficit spending due to tax cuts are the biggest wealth redistribution scam in the history of mankind.
CNN requires registration for video viewing.
As always when this subject comes up, major props to Chrysler for making the codes easy to get. At least, in the past. Looks like it's not so easy on newer models. (Must be the Daimler folks that are influencing it.) Too bad.
"Alcohol, Tobacco, Firearms, and Explosives" should be a convenience store, not a government agency.
I'm fortunate to have access to diagnostic equipment and also be involved in automotive product development. Why give access to the general user? 99% of people would see a code and panic. Our product is a fuel regulation device, has 10 possible trouble codes and over 100 separate components. I have three years of experience on the part and still consult the official manuals from time to time.
We see here a lot of people sprouting complaints of FUD and conspiracy. Think of your safety, what would you do if an ABS module code came up? Disassemble the module on your kitchen bench? It's a potentially dangerous situation and as system complexity increases, who best to mess with it than the trained "expert".
Are there many software developers who provide full source code to users when they know the non-skilled user will mess with it and potentially affect the functionality of the product (and ther image)?
On the other side of the coin, as an informed consumer I would like more than the obligatory "check engine" light so I can keep my mechanic honest!
I would buy American. Except you put the steering wheel on the wrong side of the car. Bloody stupid place to put it if you ask me, I mean what does a passenger need with a steering wheel. Oh wait, your in america, your passenger is your driver, and that is Sinister. ;)
In the UK, there aren't that many US cars sold new. More European LHD cars are appearing because their prices are cheaper than in the UK, so maybe that will start to change the balance, and we will see more UK specced, but LHD American manufactured LHD cars here. Chevrolet sell the Camaro amongst other models, and the price for the performance, and specs is impressive compared to other cars on the UK market for the price, but the LHD scares a lot of people off buying, along with the percieved higher cost of imported parts, and the lablour at specialist repair shops.
A Skoda is for life, not for casual humour.
Ridiculous. Your "inexperienced" grease monkeys just may discover a much more effecient way to repair or maintain your car if the source were open.
Time is what keeps everything from happening all at once.
You know, there's sites and people who likes to mess with the computers in cars too. and many sites were they take them apart and see what makes them tick. one example. For a computer geek like myself, I it have been fun to get into this, and then "modding" the car by replacing the software ROM with a more performance oriented(granted, fuel economy and emmisions takes a blow).
After reading the many messages regarding this topic. Here is a breakdown of information. There are many trouble codes which can be transmitted by the ALDL unit. Also, which most people did not discuss here is the serial data. This data is streaming information which contains information on fuel mixture, speed, and A/C information. The serial data can be read from the ALDL to your computer. Please visit this site for a simple hardware interface and some information on ALDL timings. http://www.techedge.com.au/vehicle/aldl8192/8192hw . tm
There is tons of software out there.
http://www.andywhittaker.com/ecu/ecu_software.htm
Here is the best site on the ALDL(ECM) protocol. Check this site out........
http://www.ws6transam.org/ALDL.html
I have a working interface board for my car computer. GPS, MP3, DVD and realtime (yeah right) automobile information from the ALDL unit.
Enjoy..!!!!!!!
This is NOT about cars, this is about software and about interchange formats!
I hope this law makes it: this will be the grounds for asking for a law that forces Microsoft et al. to open their document format.
Today, independent programmers cannot perform services for their customers because large software makers hide the specifications for document formats. This means that an independent programmer cannot properly access and service the customer's database/spreadsheet/file without specialized tools that he would be required to buy from the software maker. This, in fact, amounts to some degree of cartelization, in so far as only programmers "licensed" by the software maker have access to these tools, in what amounts to a cartel. By effectively preventing independent programmers from obtaining revenue from services, this situation limits choice for consumers and harms many independent programmers, who are sometimes the sole financial support for their family.
This about it. This may be the way to go.
free the mallocs!
The Government is a monopoly trying to get as much as possible from its subj.. ehm citizen.
http://www.eveeieyhfgfcdoosammgwsnboivvbsczxlzgabc / /ooieiabdcdjsvbkeldfogjhiyeeejkagclmieooionoepdk / /abcdefmfighyiqxjklmonopqrosoyotuvwxoyqwertyuiov / /sdfghjklqewiuznmbjadzmcloeuirquakndsflksjdflkas / /fskdfasiewurznmcvweroiqewrnamdnzcvuowieramnfkas / /dfhzuxcihskjrnakjzkjcxbviusayrkajsfzxncvizudyri / /bakdnfbzkcvhgiuegriweramdnfzxlcvueirhamdnzkciue / /jranbsdmfzcowierandmfxzncbkjhfabsdifuweajzkxcuw / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /fzbxcvkxlkcnvmndskfjwehaiursdfzjxnbjkdfhskdflas / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /fzbxcvkxlkcnvmndskfjwehaiursdfzjxnbjkdfhskdflas / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /ooieiabdcdjsvbkeldfogjhiyeeejkagclmieooionoepdk / /abcdefmfighyiqxjklmonopqrosoyotuvwxoyqwertyuiov / /sdfghjklqewiuznmbjadzmcloeuirquakndsflksjdflkas / /fskdfasiewurznmcvweroiqewrnamdnzcvuowieramnfkas / /dfhzuxcihskjrnakjzkjcxbviusayrkajsfzxncvizudyri / /bakdnfbzkcvhgiuegriweramdnfzxlcvueirhamdnzkciue / /jranbsdmfzcowierandmfxzncbkjhfabsdifuweajzkxcuw / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /fzbxcvkxlkcnvmndskfjwehaiursdfzjxnbjkdfhskdflas / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /fzbxcvkxlkcnvmndskfjwehaiursdfzjxnbjkdfhskdflas / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /ooieiabdcdjsvbkeldfogjhiyeeejkagclmieooionoepdk / /abcdefmfighyiqxjklmonopqrosoyotuvwxoyqwertyuiov / /sdfghjklqewiuznmbjadzmcloeuirquakndsflksjdflkas / /fskdfasiewurznmcvweroiqewrnamdnzcvuowieramnfkas / /dfhzuxcihskjrnakjzkjcxbviusayrkajsfzxncvizudyri / /bakdnfbzkcvhgiuegriweramdnfzxlcvueirhamdnzkciue / /jranbsdmfzcowierandmfxzncbkjhfabsdifuweajzkxcuw / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /fzbxcvkxlkcnvmndskfjwehaiursdfzjxnbjkdfhskdflas / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /fzbxcvkxlkcnvmndskfjwehaiursdfzjxnbjkdfhskdflas / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /ooieiabdcdjsvbkeldfogjhiyeeejkagclmieooionoepdk / /abcdefmfighyiqxjklmonopqrosoyotuvwxoyqwertyuiov / /sdfghjklqewiuznmbjadzmcloeuirquakndsflksjdflkas / /fskdfasiewurznmcvweroiqewrnamdnzcvuowieramnfkas / /dfhzuxcihskjrnakjzkjcxbviusayrkajsfzxncvizudyri / /bakdnfbzkcvhgiuegriweramdnfzxlcvueirhamdnzkciue / /jranbsdmfzcowierandmfxzncbkjhfabsdifuweajzkxcuw / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /fzbxcvkxlkcnvmndskfjwehaiursdfzjxnbjkdfhskdflas / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /fzbxcvkxlkcnvmndskfjwehaiursdfzjxnbjkdfhskdflas / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /ooieiabdcdjsvbkeldfogjhiyeeejkagclmieooionoepdk / /abcdefmfighyiqxjklmonopqrosoyotuvwxoyqwertyuiov / /sdfghjklqewiuznmbjadzmcloeuirquakndsflksjdflkas / /fskdfasiewurznmcvweroiqewrnamdnzcvuowieramnfkas / /dfhzuxcihskjrnakjzkjcxbviusayrkajsfzxncvizudyri / /bakdnfbzkcvhgiuegriweramdnfzxlcvueirhamdnzkciue / /jranbsdmfzcowierandmfxzncbkjhfabsdifuweajzkxcuw / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /fzbxcvkxlkcnvmndskfjwehaiursdfzjxnbjkdfhskdflas / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /fzbxcvkxlkcnvmndskfjwehaiursdfzjxnbjkdfhskdflas / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /ooieiabdcdjsvbkeldfogjhiyeeejkagclmieooionoepdk / /abcdefmfighyiqxjklmonopqrosoyotuvwxoyqwertyuiov / /sdfghjklqewiuznmbjadzmcloeuirquakndsflksjdflkas / /fskdfasiewurznmcvweroiqewrnamdnzcvuowieramnfkas / /dfhzuxcihskjrnakjzkjcxbviusayrkajsfzxncvizudyri / /bakdnfbzkcvhgiuegriweramdnfzxlcvueirhamdnzkciue / /jranbsdmfzcowierandmfxzncbkjhfabsdifuweajzkxcuw / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /fzbxcvkxlkcnvmndskfjwehaiursdfzjxnbjkdfhskdflas / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /fzbxcvkxlkcnvmndskfjwehaiursdfzjxnbjkdfhskdflas / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /ooieiabdcdjsvbkeldfogjhiyeeejkagclmieooionoepdk / /abcdefmfighyiqxjklmonopqrosoyotuvwxoyqwertyuiov / /sdfghjklqewiuznmbjadzmcloeuirquakndsflksjdflkas / /fskdfasiewurznmcvweroiqewrnamdnzcvuowieramnfkas / /dfhzuxcihskjrnakjzkjcxbviusayrkajsfzxncvizudyri / /bakdnfbzkcvhgiuegriweramdnfzxlcvueirhamdnzkciue / /jranbsdmfzcowierandmfxzncbkjhfabsdifuweajzkxcuw / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /fzbxcvkxlkcnvmndskfjwehaiursdfzjxnbjkdfhskdflas / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /fzbxcvkxlkcnvmndskfjwehaiursdfzjxnbjkdfhskdflas / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /ooieiabdcdjsvbkeldfogjhiyeeejkagclmieooionoepdk / /abcdefmfighyiqxjklmonopqrosoyotuvwxoyqwertyuiov / /sdfghjklqewiuznmbjadzmcloeuirquakndsflksjdflkas / /fskdfasiewurznmcvweroiqewrnamdnzcvuowieramnfkas / /dfhzuxcihskjrnakjzkjcxbviusayrkajsfzxncvizudyri / /bakdnfbzkcvhgiuegriweramdnfzxlcvueirhamdnzkciue / /jranbsdmfzcowierandmfxzncbkjhfabsdifuweajzkxcuw / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /fzbxcvkxlkcnvmndskfjwehaiursdfzjxnbjkdfhskdflas / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /fzbxcvkxlkcnvmndskfjwehaiursdfzjxnbjkdfhskdflas / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /yroausdfzxmncvskeyiqozsjhfasdfoiwueranmcnzbkjhd / /ueafhksjfwheuirasdjhbzxiuewjhasmdnkfzxciurhaskj / /roiquwermcvkhiruhasdkjfnzxkjyeiuahsdbzxckjvopwe / /uqweuirjhvxzckjhweriuasydfoiqurnmxckvhweruiahdj / /znkxcvjhwierahsfzkxhhidufhsakjbzxjchiwueryqagsd / /kjhaksdfnbakwreyhaisknfjkzxbcvkoiqwueraskfzxcbk / /nlkwejrasoidjfxzlknvlkwjeroiasudflknzxlkbjeoiru / /slkdjfzxnmvkljdfawienzxveoriuaskdfjzxcmbnkseuri / /kfjlznxcvksjroeijasdklzjfowierqouasdhfzxncbkjhd / /jsdfljkweoriuasdfkjzxmcnvlkjdowuieraksdflkzxjbo / /werklasdnfmzxclkjewoijasdlfknzlkjwoeirqpweoiasd / /kjzxjvwperaksdjfxzweirjaslkdfzxnclvkjweroiasufd / /zxclkjeworijasdflknzlbkoiwuraksjflknxblkwjerois / /jfweknasdkfjzoxijkenraksjdfoizxjvlknwerlkajsdfo / /erhasdfzxncvkjdfyiuzxcnvsikirkajeajsbdfkzxbuyef / /rahsdjbzcvxmnvcuweyriausdnfzxbcvkwueyrajnbvkjxg / /iwueyajdfkzxjcnbkeyriaushdfkjbzbuowrnasdkfbhuie / /asjmfnkkbyiurnakjsndfkzjbhiuwerajsknfkzbyhweiua / /dkfjbzkxvbjywekrjaskjnvzxjcweruiasdhfkzjxnsjkld / /fasoidfjalskdfasklhfxjdnmenrqoiuozxcopjgneaksjo / /nzxdkfajlsdfkljsdfoiasdfasndflzxkcvozixucoqweiu / /pwoeiruzxmncvoutyqwerizxnvmxmcnvoweurqmznxmbouw / /rmnzbkhuyrtjghanzxcvbkhgjweyriaudfbznbkweruyabz / /bcvnkdhityqhagsdfjglsieurakfsdnfbvfdsajkbiuyqwe / /kweorjasdknfbkjsdoifuzxbcmfgsltjewioahsdfnbzxcb / /heoiroaisjdfzbxckjksrhiuehadsfbzkxjcbhkeuryaksj
I have a BMW and was floored to learn that the local mechanic Bubba could purchase software from BMW USA and hook his laptop right into my M3.
According to him, BMW was one of the first car companies to allow third party shops access to their diagnostic software. While I'm sure it's not cheap, it is a good way to transfer knowledge into a different busniess sector. Most of Bubba's clients are BMW fanatics who want to squeeze every ounce of horsepower out of their little German bathtubs. I think it's a good niche.
I haven't checked (since I don't have a car that is 1996 or newer which has OBDII), but would the Mitchell Books give more information since they seem to be better than the Haynes books?
One of the problems with OBDII is that there are three (3) protocols instead of just one. The ISO for European and Asian cars, the variable pulsewideth and the pulse modulation one that I believe Ford or Chrysler use since they want to be different! Thus the American car manufacturers use one or the other pulse modulation technique (opposite of their competitor) instead of using the ISO one! Thus, when you buy a cheap diagnostic tool ($200) at PepBoys it is only geared to a specific manufacture, Ford, Chrysler or Foreign since the hardware interface is designed for only one of the three protocols. Moreover, the device can't be updated if one should buy a newer car and thus one has to buy another $200 device that has been upgraded from the tool company. NOTE: I wonder if the new Zaurus Linux PDA can be adapted to do a wireless interface to the cars computer so that it is portable.
See http://www.obd-2.com which contains shematics for a universal OBD-II interface or for $76 they will build it for you. They sell s/w for the laptop too! Also there is GPL software called freediag on sourceforge, but I don't know how functional or good it is. Any comments on it?
Please read this.
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
Any ideas on how to answer these concerns?
science is a religion
like smoke'n blunts
I have three related stories about the absence of good diagnostic information, both showing WHY the auto manufacturers should open the protocols.
First story. I was on vacation at the Grand Canyon's South rim, and the plan was to head to the North Rim. While that is only a few miles as the neutrino flies, it's about 150 miles by road. Furthurmore, the South Rim is pretty damn far from anything else. So, I get into my car (a 1997 Grand Marquis that had just had its 100kMile service) and lo and behold, the "Overdrive OFF" indicator starts flashing - a fault has been detected in the automatic transmission. Between having the "Check Engine" light come on or this, I'll pick the "Check Engine" light any day - you can troubleshoot an engine in the field, and generally most engine failures are "limp home" failures. A tranny failure tends to be a "walk home" moment.
After poking, prodding, and checking, the light goes out. No explaination. So, we head off for the North Rim. 80 miles from anywhere the tranny goes "thump", the light flashes, and I curse. I managed to get to civilization, rent a UHaul truck and car trailer, and tow my car home. The dealership tells me the ATF had started to break down - they flushed it and changed the filter.
Now, BECAUSE the South Rim is so far from anywhere, and because so many vehicles go there, there is a service shop there. Had the car been able to tell me "Clutch #2 slippage detected - possible fluid breakdown" I could have gone to the shop at the South Rim, had the fluid changed, and gone on without having my plans screwed up. Instead, I paid US$900 to tow my car home, and US$200 for the service.
Second story: A couple of months later, I was going to work. I turned the key, and the "Check Engine" light stayed on. I checked the oil, listens for strange noises, and said "Emissions problem, not serious, call the dealer." Sure enough, the dealership read the codes, and said "Transient failure to pull a vacuum on the fuel tank vapor recovery - It's not showing now. Keep an eye on it. And damn guy, but according to this you've hit the rev limiter on this thing! How fast were you GOING?" Cost: $150. Had I been able to read the codes, I could have cleared it and kept an eye on it.
Third story: A few weeks later, I was heading home, pulled out from a stop, and the tranny said "bang" and the "Overdrive OFF" indicator began to blink. It turns out the fluid had gone bad BECAUSE the #2 clutch had failed. US$1300 later, I have a rebuild in place. I took the car to a tranny shop nearby, rather than the dealership. As I was demonstrating the failure to the mechanic (at that point, it was still intermittant) I commented "Yeah, I know how hard it is to troubleshoot intermittant failures - I am a software engineer". His immediate response: "Maybe you could write some software for us that would work on all of these cars!"
Conclusion: There is a clear harm to the consumer by the practices of the auto manufacturers, who together are acting in an anti-competitive and monopolistic fashion. I hope we CAN make them play nice (imagine a nice GTK front-end for diagnostics....)
www.eFax.com are spammers
...change your oil correctly - and now you want them hacking your ignition?
No thanks.
The specs should be published - that much I agree with (after all you bought your car and it should be fully documented).
However, I will stick with my personal motto: if you want it done right (well, done right some of the time) take it to the dealer.
I am very small, utmostly microscopic.
As I live in minnesota I am against anything that wellstone is for. Hey has done nothing useful in his years in the senate. The first two times he ran he promised only to go two terms. Now he is running for a third. This man is full or crap and I hate all the things he has done to minnesota, it is a worse place for him being born.
Capitalism: unequal distribution of wealth
Socialism: equal distribution of poverty
Did anyone actually read the article. (I read the cnn one, not the other). Despite what a lot of people are suggesting, this is not about making the code open or available to people so that they can hack their cars. It's about documenting what the diagnostic codes that the mechanics receive mean.
The post seems to imply that poor Mr automachanic lacks the equipment to interface with these cars. That is simply not true. What he lacks is the documentation that tells him that a '5642AGDS' returned from the fuel control systems means the plugs are not firing correctly.
I'm not saying this is not a good battle to fight, but at the very least it would be nice if people actually knew what they were fighting for.
Different manufacturers use different pins on the standard OBD-II conenctor, though most pinouts are documented. You can find generic software that can read the raw code, but it's hard to find anything (and nearly impossible to find something affordable) that will translate those numbers into something human readable. It's also hard to find something that will write back to the computer. All manufactuerers extend the standard few codes with their own propreitary stuff, and the things that get written back are different from manufacturer to manufacturer (and model to model). *Those* are the things we need opened, not the already open standard.
:) The OBD-II thing is the same idea.
People see that there's a standard and assume that it's all OK. Kerberos is a standard and LDAP is a standard, I wonder why it's hard to make programs that work with MS's kerberos implementation and Active Directory? Is it because of undocumented vendor-specific extensions? I'll bet it is...
--just last week was listening to a mechanic bitch about this. Said in a lot of cases he would get stumped on analysis and was forced to send potential customers to the dealer. This is literally just a young couple who scraped together the loot to start a small repair shop and are struggling. I'm gonna pass the info on these bills to them.
It really is a case of a few bad apples ruining it for all the honest shops, backyard mechanics, and hotrodders out there. What happens all too often is somebody adds/modifies/improves some feature on the car, usually with very little knowledge of how the thing works, and then has a problem - like breaks or burns out some part. Then they remove their mod, and come into the dealership complaining about "doesn't run right" - hoping to be taken for an innocent fool. The repair shop usually can spot what the most likely case is, but goes ahead and turns in a warranty repair anyway - the manufacturer ends up paying for it...
This is real $$ here - and anything, even a diagnostic display that says "turbo overboost", that can help/encourage/egg-on the few bad apples is not released (If anybody out there rememebers the '86 Buick Riv/Olds Toronado with the CRTs, did you know that with a special key press the CRT became a built in real time dianostic/test station? Things like running parameters, test output, etc. were available... just not publicized). BTW, the original reason for standardizing on CARB's OBD stuff was so that small shops could buy 1 $200 tool and work on the emissions of all vehicle manufacturers. Well, today, its more like a $700 tool..
The case that all manufacturer fear, is that with new car systems, substantial control of the vehicles basic safety parameters are at the command of the electronic systems onboard - nobody wants to see a person modify their own car, and end up having an accident that kills them (like 200 degrees of timing adjustment available to the engine computer, Yaw rate selectable by the Dynamic Stability Control, etc.).
Screw the codes! What I want is an led readout with a descriptive message that *I* can read.
I want to be able to call my mechanic and tell him that my car says my left front brake pad is bad. This way, I don't have to wonder if my car needs service, and if it's gonna be expensive.
Stupid engine lights. Stupid car mfr's. They don't *want* customers to know what's wrong because it *might* lose repair business. They miss the true point that customers would be happier with dealers and repair shops if they didn't have to take their word for what is damaged.
It would also be good for everyone, dealers, repair shops, and customers, if customers knew what the problems were as soon as they developed. As it is, the mechanic might be able to tell from the codes reported, but the customer doesn't know until he/she hears a weird noise or the car just won't go.
They should be made public. My father owned a garage up until the early 90s. He got out just as computerized cars were really becoming popular and widespread. The few years he had in them were hecktic. Every damned car had a different monitoring device and connector. Do you have any idea how much those bitches cost?! I think there should be a standard. Make it like SNMP where the basic, common things are given a common/standardized OID and then let the vendors put their proprietary stuff under their company OID. More things need standards.
As many peolpe have already pointed out. Car manufactures are starting to go in this direction on thier own. They started with ODB-II and are going even further with ODB-III.
ODB-II & ODB-III are mandates of the Clean Air Act of 1990.
I've used Mitchell books for various electrical problems and projects over the years, They are far more in depth then a Chiltons or a Haynes manual. I do not know what they contain as far as computer codes and diagnostics are concerned though. The manuals are very expensive but you can usually find them at a larger community library. Worth a look if the regular manuals are not detaled enough for your project.
Bad boys rape our young girls but Violet gives willingly.
It's a matter of whether a lawyer decides to wield the DMCA...and if a court agrees. A Florida court has already decided that automotive computer hex codes have copyright protection.
Look at how much you pay in taxes. Tally up how much of that money you get back from the government in various forms. If you don't get back exactly the same amount then either you paid for someone else's benefits or someone else paid for your benefits.
Then look at the tax tables -- the rich get taxed at a much higher rate, and look at the government benefits given to the poor. Do you think that taking from the rich and giving to the poor is not redistribution?
Or...do you think that taking from taxpayers to build a $200 million stadium for a rich team to play in is not redistribution?
How can you think you so tchnologically advanced to be on /. and not have the sense to be able to fix your own car. I won't let anyone not a dealer or local shop. Dealer shops are just as sloppy and stupid as ant other shop. These codes would help tremendously at diagnosing problems.
The StarTribune article mentions problems maintaining thing such as door locks and air bags. I personally once had a car which decided to refuse to start -- it stumped a garage, but fortunately I found it was reporting a published code that an impossible throttle position was detected. The switch which reports that you've floored the gas pedal was always on, and the computer shut off the ignition when it saw both that and the throttle-at-idle switches were on. I fixed it by unplugging the cable to the broken "full throttle" switch, as I don't drive at full throttle.
Colleges don't have automotive programs, unless perhaps it's a 'technical college' -- i.e., a two-year technical program -- i.e. a trade school...
Or, even more accurately, specific training provided by the auto manufacturers themselves.
Ever notice those signs on the garage wall, "A.C.E.", "some-manufacturer-or-other certified" and such? They're automotive certifications, just like for we computer geeks.
If, due to their negligent or incompetent service technicians, you have incurred unreasonable expenses, let them take their parts back and put the old ones on for refund.
GM SUCKS!
..if your car runs like shit, start it in the parking lot, let it idle until the fan comes on, and shut it off. Do this twice. Now take it for a drive, like you usually would drive the vehicle.
That should reset the ECM FI map (it's sort of a neural net with some node weights pre-programmed) that you probably wiped out by disconnecting the battery.
Also, your stereo might get angry, too.
Do daemons dream of electric sleep()?
Yeah, and we all KNOW how useful computer certification programs are. Heh.
I won't set foot in a new car dealer!
Also, you don't want them to feel foolish, just hungry!
-fb Everything not expressly forbidden is now mandatory.
Oh no! he's escaped from comp.sys.amiga!
HERE is scanner and software for under 500 bucks that will scan a GM, Ford or Chrystler.
If you just want one for your particular model, it's only 300 bucks.
This space intentionally left blank
The original argument/question was offtopic. The poster had rhetorically asked about any U.S. wealth redistribution programs currently in effect, and I provided the one, big, All-Father blessed money transfer of all time. And one that is simply not discussed anywhere that I have noticed. It's like ignoring a T. Rex eating your family in the living room whilst you are watching Buffy. Weird.
With the money spent on that debt service, we could rebuild all our public schools, finance the space program, give true tax cuts, on and on. But we have a permanent wealth drain leaching 17% of our tax contributions into a chuckling black hole of investors.
To be honest, I never checked it out that far, and it was obvious from the checking I did (with a multimeter) that it had a "dead" spot (can't remember if it was an open or short).
You also bring up good points about the longevity and environment it was in. However, I still believe that Ford (it was an F-150) was selling them at a HUGE markup. The thing was made of plastic, with a plastic inner "knob" that the throttle shaft passed through to engage it. It was probably made pretty sturdy for the environment, but I doubt it cost much to manufacture - certainly not anywhere close to $50.00...
Reason is the Path to God - Anon
The U.S. debt is 5.95 trillion, not 3. And the Bushers want the debt ceiling raised by 450 billion, or we default on the debt by next week.
That will be nearly 6.5 thousand billion dollars. And we pay interest on that, every day. It's strangling us. And making some people filthy rich.
BBC online: Monday, 24 June, 2002, 12:07 GMT 13:07 UK
US could default on debt
2. I would wager that most bugs found in Microsoft code are found by studying APIs or by running debuggers on the code to find buffer overflows and the like. Automotive computers don't run outside programs.
3. If we did GPL the code, it would be hard to prove that another company was using it. As it is, automotive companies heavily use patent laws and trade secrets to protect their IP from their competitors. Granted, an individual may come up with something better, but how do you convice a manager that this is more likely than losing IP to your competitor?
science is a religion
If the technical manual for end-users specifies a procedure for changing the brake fluid and on purpose fails to inform the end-user that they need to use a certain software tool on the ABS controller to regain safe operation then Audi is risking people's lives for profit. The proper way to do it would be to either make the ABS post fluid-change procedure unnecessary, make the ABS post fluid-change accessible to the end-user or advise the end-user that neither they nor an unauthorized mechanic can not change the brake fluid and retain safe operation of the vehicle.
So remember, when you get your car fixed and it costs a lot for something you think must be simple, remember that the mechanic is probably still paying for thousands of dollars in tools he needs for his job. That is as lame an excuse as I'd expect from any car mechanic, buddy. YOU should be bitching to the auto makers that their toolkits are too expensive instead of just passing the cost on to your customers. Bet those DVD's with the problem resolution procedures cost a lot too, but I also know for a fact and from painful experience that "authorized mechanics" are the worst kind of crooked scum on the planet. BTW... on my Mercedes the "Check Lights" indicator just came on. Must be some kind of replacement part lifetime issue because my lights are working just fine. Guess what, if the lights go I'll just replace the lights myself and that "Check Lights" indicator can stay on forever for all I care. Oh and one more thing... Interestingly enough the "Check Brakes" came on after I had to brake real hard on the Autobahn a while back. Apparently it had come on when I was already braking on the bare metal so I had to get the brake plates "Bremsplatten" whatever replaced. Fuck that indicator. You automechanic cunts probably set some sort of configuration value on that sensor so that I would have no advance warning and that's exactly what happened. Well I took it to an authorized Daimler shop and it cost me a fucking 400 EUR to get my brakes fixed. Now I'm worried what those cocksuckers did to my car that would pop up as an issue next. I know that the automobile mafia uses parts with a defined lifespan. I wouldn't put it beyond Daimler to include a feature in their firmware to cause problems on purpose after so much time or so and so many miles.
Not really, but the one analogy my grandmother would understand real quick was if I could get at the wireless interface they use in the hospital to reprogram her pacemaker. Yes... pacemakers are nowadays very smart and they accept commands over a wireless interface and I pretty much doubt that they bother with message authentication codes or encryption. Imagine how fast I could get the diag codes to all the car a certain company makes if I told the auto maker's CEO I already have access to the command interface of his pace-maker, while standing next to him with a Palm in my hands? :-)