File: blk00249.txt

ASCRIBESPOOLTRANSFER
ASCRIBESPOOLREPLENISH
ASCRIBESPOOLREGISTER
ASCRIBESPOOLTRANSFER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
Mined by AntPool bj78
/TangPool/avalon4_tl/
ASCRIBESPOOLREGISTER
Mined by AntPool sc1#
/TangPool/tangpoolgonbo/HAOBTC
ASCRIBESPOOLREGISTER
Mined by chenchunshu888
ASCRIBESPOOLREGISTER
Mined by AntPool usa1%
ASCRIBESPOOLREGISTER
Mined by AntPool bj69
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
Mined by AntPool sc1#
Mined by AntPool bj0
Mined by AntPool sc0
ASCRIBESPOOLREGISTER
Mined by AntPool sc1#
Mined by AntPool usa1%
u=https://cpr.sm/h-gGwVBvDU
u=https://cpr.sm/h-gGwVBvDU
u=https://cpr.sm/h-gGwVBvDU
...BUT SWEAT MEMORIES REMAIN
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
u=http://n.opn.as/154\
u=http://n.opn.as/15
/TangPool/haobtc/HAOBTC.COM
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
Mined by AntPool sc0
ASCRIBESPOOLREGISTER
Mined by AntPool sc0
Mined by AntPool sc1#
Mined by AntPool sc0
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
Mined by AntPool bj0
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
Mined by mayixiongdi
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
u=https://cpr.sm/h-gGwVBvDU
Mined by wangxingsmile
 u=https://coinprism.exchange/usd8]
 u=http://www.chroma.io/demo.jsonoX
unsuccessful double-spend attempt
unsuccessful double-spend attempt
u=https://cpr.sm/OtsBbXIlgK
u=https://cpr.sm/pIkkn6sJPUX
Mined by AntPool sc1#
unsuccessful double-spend attempt
Mined by AntPool bj69
#The truth is that there is no spoon
Mined by AntPool usa1%
unsuccessful double-spend attempt
@CoinTelegraph: Warning! Kaspersky Alerts Users of Malware and 'Blockchain
                Abuse' http://dlvr.it/987VNp  #malware #INTERPOL
                pic.twitter.com/Hr0NSk61ni
@adam3us: .@CoinTelegraph makes no sense to me. op_return is not executed as
          code by any browser; op_return makes the most useless virus vector
@comefrombeyond: @adam3us @CoinTelegraph They said "blockchain", not "Bitcoin".
                 #Ethereum
@jgarzik: @adam3us @CoinTelegraph In the past, at least one block explorer
          website failed to quote properly, sending code direct from chain to
@adam3us: "no malware thru blockchain; just possibility concerns Kaspersky" w
          Snowden revelations there's 1000s of actual things to be concerned
                If so can it be prevented? @NickSzabo4
free money: KzY8w7AViarPncmWXjXChPgQPrcGWxpTZous4UrXLK48zBK1fUvP
@CoinTelegraph: Warning! Kaspersky Alerts Users of Malware and 'Blockchain
                Abuse' http://dlvr.it/987VNp  #malware #INTERPOL
                pic.twitter.com/Hr0NSk61ni
@adam3us: .@CoinTelegraph makes no sense to me. op_return is not executed as
          code by any browser; op_return makes the most useless virus vector
@comefrombeyond: @adam3us @CoinTelegraph They said "blockchain", not "Bitcoin".
                 #Ethereum
@jgarzik: @adam3us @CoinTelegraph In the past, at least one block explorer
          website failed to quote properly, sending code direct from chain to
@adam3us: "no malware thru blockchain; just possibility concerns Kaspersky" w
          Snowden revelations there's 1000s of actual things to be concerned
@VeryVeriViral: @jgarzik @adam3us @CoinTelegraph @kaspersky Is this possible?
free money: KzY8w7AViarPncmWXjXChPgQPrcGWxpTZous4UrXLK48zBK1fUvP
KzY8w7AViarPncmWXjXChPgQPrcGWxpTZous4UrXLK48zBK1fUvP
/TangPool/tangpoolgonbo/HAOBTC
Time is always against us.
Mined by liuchangcaipiao
Mined by AntPool sc1#
Time is always against us.
$/mining.bitcoinaffiliatenetwork.com/
Time is always against us.
Follow the white rabbit.
http://cointelegraph.com/news/113806/warning-kaspersky-alerts-users-of-malware-and-blockchain-abuse
Warning! Kaspersky Alerts Users of Malware and 'Blockchain Abuse'
=================================================================
Kaspersky Labs warns users of a possible exploit in cryptocurrency blockchains
that would allow malicious actors to distribute malware or even images
depicting child abuse.
The warning is the result of research of INTERPOL Cyber threat experts, a group
that includes a Kaspersky employee.
They warn that the extra space provided in each transaction, intended for
notes, messages and as a space to allow additional functions to be built on top
of the blockchain, could in fact be used to spread malicious code or worse.
Kaspersky's report states:
    being injected and permanently hosted with no methods currently available
    to wipe this data. This could affect 'cyber hygiene' as well as the sharing
    of child sexual abuse images where the blockchain could become a safe haven
    for hosting such data."
The blockchain, as CoinTelegraph readers are assuredly aware, is the virtually
unmodifiable public ledger that acts as the backbone for the Bitcoin network.
Once someone commits data to the blockchain, it is there forever unless more
than 51 % of bitcoin miners decide to mine on a modified blockchain that
doesn't include that data. That would be what is called a "hardfork" and would
be extremely difficult if not impossible to pull off, with the current number
Despite Kaspersky's recent warnings, storing illegal data in a compressed
manner has been a concern for the Bitcoin community for a while. In fact, links
to sites containing child abuse images have already been found in early
Blockchain transactions don't provide enough room to store illegal images in an
uncompressed form effectively. What INTERPOL and Kaspersky seem to be concerned
about is either compressed, hashed, images on the Bitcoin blockchain or
uncompressed images on alternative coin blockchains that allow for more space.
Encrypted and compressed data needs to be uncompressed and decrypted with an
algorithm. Theoretically, since an algorithm is just a set of rules to
interpret data, any code can be turned into any other kind of code. Even the
words of this text could, in theory, be "decrypted" into an image of the
algorithm creator's choosing. It seems extremely unlikely that Bitcoin users
would be subject to prosecution for possession or distribution of child
pornography, when those images don't "exist" without proper decrypting
A more realistic concern would be a small script embedded into the blockchain
manages to run a damaging script in the few kilobytes of space provided. It
seems it would be difficult to get those scripts to run without user
interaction. Nevertheless, Kaspersky implies that even our private keys could
    "[Blockchain malware] could also enable crime scenarios in the future such
    as the deployment of modular malware, a reshaping of the distribution of
    zero-day attacks, as well as the creation of illegal underground
    marketplaces dealing in private keys which would allow access to this
Kaspersky stressed that they are believers in decentralized technology like the
blockchain, but pointed out that their role is to identify threats before they
become reality. At press time, there is no known instance of users storing and
executing malware through the Bitcoin blockchain; it is just a possibility that
concerns Kaspersky. They do not, at this time, offer any advice on how users
while blockchains are downloading is probably a good move, even though some
software often finds false positives.
Norton identifies every single cryptocurrency wallet as malware and
automatically deletes it. I'm pretty sure about that as I've tried to run
dozens - and not from small alt coins that might be dodgy, from coins with big
market caps, lots of users, and open source code. You have to restore it after
the fact and tell Norton to let it through.
Personally I suspect that this is the part of the industry making excuses
because they know their products can't deal with cryptocurrency software very
well and they would prefer you to think they are protecting you from these
imaginary threats than to think that they just can't be bothered to update the
way they recognise malware so that it doesn't automatically presume all
Kaspersky usually makes a lot of sense, and maybe he's been misquoted, but this
articles makes zero sense to me. How does a few bytes per transactions of
irreversible distributed ledger create a virus risk? Huh? You might want to
focus on say web sites, that have active readers (browsers) that run code. Or
phishing mail with attachments, or operating sytems and virus scanning systems
that blacklist and hence fail open; rather than capability based things like
Qubes that whitelist and fail closed. There is no javascript analog in
op_return data, and no user client software interpreting it as code, so the
articles claim doesnt make sense.

http://cointelegraph.com/news/113806/warning-kaspersky-alerts-users-of-malware-and-blockchain-abuse

Warning! Kaspersky Alerts Users of Malware and 'Blockchain Abuse'
=================================================================

Kaspersky Labs warns users of a possible exploit in cryptocurrency blockchains
that would allow malicious actors to distribute malware or even images
depicting child abuse.

The warning is the result of research of INTERPOL Cyber threat experts, a group
that includes a Kaspersky employee.

They warn that the extra space provided in each transaction, intended for
notes, messages and as a space to allow additional functions to be built on top
of the blockchain, could in fact be used to spread malicious code or worse.

Kaspersky's report states:

being injected and permanently hosted with no methods currently available
to wipe this data. This could affect 'cyber hygiene' as well as the sharing
of child sexual abuse images where the blockchain could become a safe haven
for hosting such data."

The blockchain, as CoinTelegraph readers are assuredly aware, is the virtually
unmodifiable public ledger that acts as the backbone for the Bitcoin network.
Once someone commits data to the blockchain, it is there forever unless more
than 51 % of bitcoin miners decide to mine on a modified blockchain that
doesn't include that data. That would be what is called a "hardfork" and would
be extremely difficult if not impossible to pull off, with the current number
of bitcoin users.

Despite Kaspersky's recent warnings, storing illegal data in a compressed
manner has been a concern for the Bitcoin community for a while. In fact, links
to sites containing child abuse images have already been found in early
accomplished.

Blockchain transactions don't provide enough room to store illegal images in an
uncompressed form effectively. What INTERPOL and Kaspersky seem to be concerned
about is either compressed, hashed, images on the Bitcoin blockchain or
uncompressed images on alternative coin blockchains that allow for more space.

Encrypted and compressed data needs to be uncompressed and decrypted with an
algorithm. Theoretically, since an algorithm is just a set of rules to
interpret data, any code can be turned into any other kind of code. Even the
words of this text could, in theory, be "decrypted" into an image of the
algorithm creator's choosing. It seems extremely unlikely that Bitcoin users
would be subject to prosecution for possession or distribution of child
pornography, when those images don't "exist" without proper decrypting
software.

A more realistic concern would be a small script embedded into the blockchain
manages to run a damaging script in the few kilobytes of space provided. It
seems it would be difficult to get those scripts to run without user
interaction. Nevertheless, Kaspersky implies that even our private keys could
be at risk.

"[Blockchain malware] could also enable crime scenarios in the future such
as the deployment of modular malware, a reshaping of the distribution of
zero-day attacks, as well as the creation of illegal underground
marketplaces dealing in private keys which would allow access to this
data."

Kaspersky stressed that they are believers in decentralized technology like the
blockchain, but pointed out that their role is to identify threats before they
become reality. At press time, there is no known instance of users storing and
executing malware through the Bitcoin blockchain; it is just a possibility that
concerns Kaspersky. They do not, at this time, offer any advice on how users
while blockchains are downloading is probably a good move, even though some
software often finds false positives.


Comments
========

Norton identifies every single cryptocurrency wallet as malware and
automatically deletes it. I'm pretty sure about that as I've tried to run
dozens - and not from small alt coins that might be dodgy, from coins with big
market caps, lots of users, and open source code. You have to restore it after
the fact and tell Norton to let it through.

Personally I suspect that this is the part of the industry making excuses
because they know their products can't deal with cryptocurrency software very
well and they would prefer you to think they are protecting you from these
imaginary threats than to think that they just can't be bothered to update the
way they recognise malware so that it doesn't automatically presume all

-Dean Scott Walsh


Kaspersky usually makes a lot of sense, and maybe he's been misquoted, but this
articles makes zero sense to me. How does a few bytes per transactions of
irreversible distributed ledger create a virus risk? Huh? You might want to
focus on say web sites, that have active readers (browsers) that run code. Or
phishing mail with attachments, or operating sytems and virus scanning systems
that blacklist and hence fail open; rather than capability based things like
Qubes that whitelist and fail closed. There is no javascript analog in
op_return data, and no user client software interpreting it as code, so the
articles claim doesnt make sense.

-Adam Back

Mined by AntPool sc0
Time is always against us.
ASCRIBESPOOLREGISTER
Mined by AntPool sc1#
ASCRIBESPOOLREGISTER
 Mined by AntPool nmg0&
#The truth is that there is no spoon
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
Mined by AntPool sc1#
-SMILE TO LIFE AND LIFE WILL SMILE BACK AT YOU
Auckland's Power Outage
or
Auckland - Your Y2K Beta Test Site

Last updated 24 May 1998

The following writeup is a (hopefully) more balanced view of what's
going on than the one being provided through official channels, I'll
keep this updated as new information comes to hand.  If anyone has
comments or updates on this, please send them to peterg@kcbbs.gen.nz,
or pgut001@cs.auckland.ac.nz after power is restored.

The city of Auckland, with a population of just over a million people, is New
Zealands largest city and has its power provided by Mercury Energy, who have
four 110kV cables feeding the central business district.  Because of one or
more of the reasons given below, all the cables have failed, leaving the
central city without power since the 20th of February.  So far this has
affected (at various times) a number of banking data centres (the first day the
processed - the data centres themselves have generators, but the sources
feeding them information don't), the stock exchange, some (unidentified)
central city post office buildings, customs and immigration, inland revenue,
internal affairs, social welfare, the Auckland City Council, the central police
station, Aucklands main hospital and medical school complex (they have
generators, but one of them failed, leaving the childrens hospital without
power for awhile), the city campus of the university and technical institute
(affecting 30,000 students in the middle of enrolment), several TV and radio
stations, many of the major city hotels, a virtual who's who of national and
multinational companies and corporations, and God knows what else (the
government departments have tentacles all over the city, so it's not so bad for
them).  Although many of these places have generators, there were various
glitches in switching over and one or two breakdowns which have caused
problems, and most of the generators can't handle anywhere near the load being
possible that the power company may not survive the lawsuits which follow this
(taking out some suburb is serious enough, but taking out the central business
district with its cluster of multinational accounting and legal firms, banks,
government departments, and whatnot is really bad).

Mercury have a web site http://www.mercury.co.nz/ which contains updates on the
situation somewhere on it, be aware that this site is subject to the usual
degree of spin control (there have been discrepancies to date between their
statements to the media and what's actually happening, and power-outage related
pages on their site tend to appear and disappear at random as it suits them).

Effects on the Central City
---------------------------

For those who know the area, the affected area of the city is bordered by Quay
Street, Victoria Park Market, Grafton Gulley, and the motorway.  At first the
the media were 1-3 weeks, but the estimates from power company workers are a
month at least (the official figures change constantly, they seem to be getting
slowly worse).  Usually it takes a minimum of 3 weeks to repair a fault in a
cable, however with crews working around the clock and the bare minimum of
testing of the repaired cables, it may be possible to do it in a week, provided
it holds together.  However, see the comments further down on overloaded cables
and cutting corners - already there are problems with leaks and blockages being
discovered in the gas-filled cables which are pushing the repair time out
further and further.  With political concerns overriding technical issues, it
may be that any repaired cables rushed back into service will fail again due to
the hurried nature of the work.

Workers from other power companies are being brought in and working in civvies
with company logos on their equipment painted over to hide the extent of the
problem.  Workers were flown in from Sydney, Australia to fix the cables
there's noone in NZ who can do this sort of work.  The estimate is that it'll
take about a week without power to redo these, and if the load placed on them
is too high they'll fail again (the faster they bring the cables back online,
the greater the chance of them failing, making it necessary to start again from
scratch).  Normally it takes a week of testing alone after a cable has been
repaired, this has been brought down to a single day because of the urgency
with which they're required, which isn't a good thing.

As it turned out, the two repaired oil-filled cables did indeed fail when they
were tested, leaving a stopgap cable link being built along the central cities
rail access corridor (more on this below) as the only hope for restoring power.
Although Mercury haven't admitted this, it's very likely that the two failed
cables are now beyond repair, since they haven't mentioned any further
timetables for repair efforts but are banking on getting power in via the
on Mercury's statements, which tend to be driven by politically expediency
rather than cold realism).

The time to lay the stopgap cable was originally quoted by Mercury as taking
six weeks, but the figure they're now giving is two months - "If you live or
work in the central city, stay away for the next two months".  To put this into
perspective, Mercury are telling government departments and multinational
corporations to shut down their operations in the city for two months.  For the
moment the city is hanging off a single gas-filled cable nearly half a century
old, with hopes of restoring another equally ancient gas-filled cable within
the next week.  Because of their age and fragility, both will be operating well
below their very limited capacity, providing only about 18MW each.

Initially (when Mercury were quoting one week to restore power), the mayor told
businesses in the central city to either close or relocate for a week or more.
continued outage will have on Auckland, the mayor is now considering declaring
a state of emergency (this hadn't been done until now because it wouldn't have
had any real effect except to impose another layer of complexity onto an
already complex mess).  The potential losses if major corporations and
businesses relocate out of Auckland are huge, there are already several large
organisations who have left and who aren't likely to return (in some cases the
contents of multiple floors of large office buildings were moved lock, stock,
and barrel to other locations).  Wellington (the capital) benefitted enormously
from this as companies relocated there from Auckland.

In the last five years, Mercury Energy have followed the present economic
wisdom of aiming for efficiency and a good return to their shareholders (the
Mercury Trust), raised power prices, reduced their field workforce by half, and
raised management salaries by 30%, with total revenues of $580M in 1997. In
pointless (and ultimately fruitless) struggle to take over their neighbouring
power supplier, Power NZ, which cost Mercury $300m.  In the middle of the first
week without power, the Auckland City Council called an emergency meeting in
the town hall to discuss the problems people were facing.  Some of the business
owners who attended were on the verge of bankruptcy because of the lack of
power, but Mercury didn't even bother turning up, an act which the mayor
described as "a disgrace".  This sort of thing isn't endearing them to their
clients/victims.  There seems to be a strong feeling that those who got the
huge pay rises and bonuses when things were going well should now take
responsibility when things are going badly. One company manager was even more
blunt: "fix the problem, make sure it doesn't happen again, then resign".  On
the afternoon in which Mercury directors held an emergency meeting to discuss
the implications of the two repaired cables failing, the meeting had to be
moved at the last minute because one of their dissatisfied customers/victims

Because the central city was without power, there was a civil defence callout
in the first few days to avoid a potential crime wave.  Police were called in
from other parts of the city to patrol the city center, leading to a lack of
policing in other areas.  The lack of power is affecting building access
control systems and alarms, buildings have to have doors propped open so people
can get in or out, so there's no real protection for the building contents.
The services of private security firms are in great demand.  By the end of the
week the policing and security issues had been more or less ironed out, and the
civil defence headquarters were closed as they were no longer needed.

Since water and sewage rely on electrically-driven pumps to get them into
office blocks and towers, these services often aren't available either. What
little power is available is being used by emergency and civil services as far
as possible, with other services like traffic lights being run if there's
available.  Combine the lack of sanitation with abscence of airconditioning and
you can imagine what conditions are like in parts of these buildings.  One
exasperated inner-city apartment owner summed the situation up with "I spent a
million dollars on this apartment and I can't even flush the toilet".

There's a serious problem with food in restaurants spoiling due to the lack of
refridgeration, with health inspectors out in force checking for compliance
with safety regulations.  The Ports of Auckland shifted 500 containers to
Wellington for unloading before the goods in them spoiled, and the city council
parked a large refridgerated container unit powered by a generator in a city
square for use by restaurants to store frozen food, although it's unclear how
much this will really help.  Retailers were told to sell all they could before
it spoiled and dump the rest.

Provisional tax payments are due at the end of the week, inland revenue have so
can't make the payments until power is restored.  The matter has now been taken
to the minister.  Several businesses had gone bankrupt by the end of the first
week without power, and the chairman of the Auckland Chamber of Commerce has
said that for a number of small businesses, the best option they have is to
walk away from their businesses and start again.

In one 10-15 story office block, sprinklers were activated by the power outages
and continued spraying water into the building for quite some time. A comment
from someone who saw the aftermath was "They may as well demolish the building
and start again".

Generators and Disaster Plans
-----------------------------

This sort of outage is (needless to say) extremely unusual.  In 1996 there
were, as a nationwide average, three power outages (of < 10 minutes duration) a
year, with a major outage (1-2 hours) occurring once every two years.  This one
a generator from Poland to try and keep things running.  Another company is
flying in generators from Australia.  An online news site was contacted by
several US companies wanted to buy advertising space, but they were rather
disappointed to learn that 110V 60Hz generators weren't going to sell too well
in a country which runs off 230V at 50Hz.

The lack of power is a UPS vendors dream, they're almost impossible to obtain -
one company asked that their order of UPS's be shipped with a full charge.
Many of the systems still running are hanging off heirarchical networks of
generators feeding large UPS's feeding smaller UPS's feeding computers,
routers, and whatnot.  One contributor reported seeing 30 cases of
newly-arrived UPS's outside a companies offices in the central city.  Another
contributor reported that a company bought 30 laptops and cellular modems and
sent the bill to Mercury.

ISP's located outside the central city are telehousing customers from within
drove his generator in from the Coromandel (several hours drive from Auckland)
and installed it by torchlight on Saturday evening.  Other ISP's on the edge of
the blackout area have various contingency plans ranging from switching to
generators as much as possible to relocating further out into the suburbs.
Computerworld magazine is being run from a garage in Newmarket (located a few
km from their usual central-city offices), the editor suggested renaming it to
Garageworld.  Vendors have reported huge jumps in notebook sales as people
relocate their offices into homes outside the central city area, cellphone
sales have jumped 25% and cellphone rentals 300%, with one large dealer running
out of phones entirely.  This has lead to a significant increase in utilisation
of the cellular network, with the system running almost at capacity in the
first few days of the outage.

Mercury are busy hiring out what generators they have at $1000/day to the
businesses they've cut off, and on the first Wednesday of the outage chartered
Australia at a cost of $1.5M.  The producers of Xena and Hercules have lent the
generators they normally use to the city (thanks guys).  Over the weeked at the
end of the first week, Mercury chartered a Russian Aleutian cargo plane from
Singapore and made two more trips to bring in another four Aggreko generators
from Brisbane and Sydney in time for the start of the next working week,
providing a total of 34MW of generators in operation in the central city by the
following week.  However no more large generators can be brought in by air in
the near future because further aircraft capable of carrying them aren't
available in this part of the world - the Russian cargo planes have moved on to
other work, and the only option left is to bring them in by ship.

Apparently the idea of moving ships from the naval base on the other side of
the harbour across to the Auckland waterfront to act as floating generators was
considered, but there are problems with feeding the power from the ships to the
even a fraction of the power required.  Another idea which was considered is
using one of the Cook Straight ferries (which could in theory provide around
10MW) as a floating generator (the term "ferry" is a considerable
understatement).  Currently a couple of waterfront businesses are being run
with power from ships acting as floating generators, and when both repaired
cables failed their testing, Mercury finally brought in a diesel-electric
trans-Tasman freighter, the Union Rotorua, to act as a 12MW floating generator,
and is considering bringing in another ship or installing generators on barges.
However the problem mentioned above of feeding power from the waterfront to the
city remains, with the Quay St substation only being able to run to a certain
limit (again, there's a problem with a single point of failure - if the
substation goes, there'll be serious trouble).  If a state of emergency is
declared, it might be possible to use it to string cables through the streets
to other substations and feed in power from there.

ship(s)) is fairly frightening, Telecom's generators alone are burning up 1,700
litres of diesel an hour (that's about 40 tons of fuel a day just to power the
central city phone network).  When asked about the diesel tankers parked
outside it, one petrol station some distance from the city centre said that it
was moving around 40,000 litres of diesel a day.  Based on known generator
capacity and consumption, a rough estimate puts the central cities usage as
high as a million litres of diesel a day (I'm open to corrections on this one).
There are concerns about how long the supply of diesel can hold out under these
load conditions.

Some companies have power through various lucky coincidences, for example
Datacom (who provide payroll services) were required by a contract with a
client to provide redundant backup systems which were set up only weeks before
the power outage.  Other organisations were less lucky, with Air New Zealand
finding out that although their data centre has enough generating and backup
(without any backup power source) meant they had to move their staff to other
centres around the country.

The organisations which do have generators are finding that, although you can
run them for the usual smoke test every few months, they can't supply power for
any extended period of time (the generator from Poland couldn't actually be run
once it was landed due to the excessive amount of noise it produced, although
this problem has now been resolved).  Other companies have found that their
generators have problems with fuel tanks placed too close to the generator or
inadequate cooling and exhaust ducting.  On the first full day without power,
there were four fire service callouts to generators which caught fire because
they weren't used to running for extended durations.  There have also been one
or two fires caused by incorrectly wired generators and emergency power
cabling.

There is by now enough raw data about Disaster Recovery Plans which don't work

Lawsuits, Government Enquiries, and Who's Really to Blame
---------------------------------------------------------

From talking to people in various affected central city buildings, as soon as
the power comes back on the affected law firms will be handling enough lawsuits
to keep them in clover for years.  In theory the current commercial monopolies
inherited the privileged positions of the old Power Boards from which they're
descended, making it impossible to sue them for failing to provide a service.
The only thing they can be sued for is negligence, there is mounting evidence
that this will be possible.  Mercury say that the cables were all dug up quite
recently to sleeve the joints as required by the Resource Management Act to
prevent loss of oil or gas into the environment, and that this indicates that
they were being maintained (this, however, seems more like "wave a dead chicken
over them to stop us being fined under the Resource Management Act" than any
said that the best thing to do is leave the cables buried and not touch them,
so digging them all up may have made things worse.  When asked whether he
believed Mercury had been negligent, the chairman hedged his bets by stating
that they hadn't been negligent in trying to restore the cables.

In 1993, five years before the current crisis, Mercury Energy had become
sufficiently concerned at the condition of the cables that they asked Leyland
Consultants to prepare a report on them, which recommended that the main cables
were at the end of their life and should be replaced (the engineers at Mercury
had been expressing concern about the state of the cables for some time before
that, see below).  In fact it was later revealed that Mercury's strategy for
the cables was that any failure in the gas-filled cables (which was seen as not
too unlikely) would result in their load being switched over to the oil-filled
ones which would then carry the full load.  This strategy was based on the
oil-filled ones.

When the first cable failed, the fallout from the outages it caused were such
that Mercury avoided making any real cuts to try and reduce the load on the
remaining cables (this weeks Computerworld, prepared before the outages,
contains an article reassuring everyone that the problem is solved and
everything is OK).  Mercury ran an emergency feed for several miles over a
string of poles, which had hardly been completed when the second cable failed.
They then tried to force a full load over the remaining cables by management
will-power alone, which unfortunately wasn't enough to overcome the basic laws
of physics, and everything which was left failed as well.

It's not unlikely that the combined legal resources of everyone they've annoyed
will find enough material in there to get to them (there are probably armies of
lawyers sitting around candles right now scrutinising the relevant
legislation), and the case will eventually get heard in the Auckland high court
have power either.  There are plans for multiple mass class action suits
against Mercury, one group has even said they'll get criminal charges pressed
against them for crimes against public welfare.  I think I'll join the class
action suits as well, the fact that the university machines are down means that
I've had to use tin to read news for more than a week, that's got to be worth
several hundred thousand dollars compensation for mental anguish.

The Prime Minister has already made a plea for people not to engage in a
witch-hunt against Mercury, but this appears extremely unlikely as things get
more and more desperate each day.  So far Mercury seem to have blamed the whole
mess on an act of God, knowing that it'll be more difficult for people to get
compensation cheques out of Him than from Mercury.  The government has said
they won't be offering any compensation because it's strictly a matter for
Mercury and the Auckland City Council, which has upset some Aucklanders because
wrong elsewhere.  Mercury and the Auckland Power Consumers Trust have set up a
$2M fund with each contributing $1M to help people and organisations affected
by the power outage, although the maximum possible payout of $2000 is of little
use to businesses faced with $1000/day charges for generators.  There's also
concern that the payouts may be a bit of a booby trap, with anyone applying for
funding finding it difficult to claim further compensation from Mercury in the
future.  In any case because of the tiny amount being paid out (an average of
$750, which can't even begin to sustain businesses who have lost nearly two
weeks worth of revenue) almost noone has applied for funds, and most of the $2M
is still sitting there untouched.  Consumers were, however, cheered to find out
that although there was no money available for them, $500,000 had been made
available for an enquiry into why the whole mess had occurred in the first
place.

A government enquiry into the whole matter was announced fairly early on (the
to have been looked at was the extremely peculiar relationship Mercury have
with the law firm Russell McVeagh.  Although Mercury is 100% owned by a trust,
of the 9 Mercury directors only 4 are appointed by the trust, with the majority
of 5 being appointed through some mechanism which involves Russell McVeagh.
Much of the Mercury board appears to consist of lawyers who know nothing about
running a power company (as a radio sketch by Fred Dagg, an ex-NZ comedian, put
it, "I'm an accountant, that's why I'm running a power company").  Mercury then
in turn appointed Russell McVeagh to act as their legal advisors.

Although this is just the usual paranoid structure set up when you ask lawyers
to manage things for you, to the public it looks very suspect, and was regarded
as being a primary target for any government investigation.  This corporate
structure is extremely nasty for the nominal owners (the public), because
although they don't control the company, they do carry all the liability for
for it through higher power bills.  Noone except the lawyers who set the whole
structure up will ever make any money out of this.  In any case there may not
be a Mercury Energy left to sue when all this is over: Although they are in
theory worth just under a billion dollars, much of that is buried in the ground
(and some of it just got reduced in value from "power cable" to "scrap metal")
and up on poles, so trying to keep the central city alive for another two
months may finish them financially.

Just before the first of an avalanche of lawsuits against them began, Mercury
made a last-minute bid to stave off problems by giving people direct access to
Mercury to lodge compensation claims, at the moment it's uncertain whether this
will have much effect.

According to a story in the New Zealand Herald (Auckland's largest paper), the
power problems go back to the old state-run Auckland Electric Power Board
(AEPB), the immediate predecessor of Mercury Energy.  Former AEPB engineers
1980's (in the early 1970's the cables were expected to last 10, perhaps 15
years if people were lucky).  Mercury Energy has full records of meetings,
reports, and discussion papers in which this problem was addressed, but has
declined to make them available even though they were once public records,
probably out of concern that they'd make a prime smoking gun for use in various
lawsuits.  According to the Herald, the issue of replacing the increasingly
dodgy cables came up again and again, but was ignored by the board until
Mercury inherited the problem in 1993.  When the old power boards got
restructured, a profit-driven mentality took hold with the idea being to drive
the plant as hard as possible while performing the minimum of routine
maintenance.  I'm not sure how much of this is just 20/20 hindsight, everyone
asked about the matter seems to have known that the cables were past the end of
their effective life, but noone did anything about it.  A Mercury board of
directors member has claimed in a TV interview that they had no idea that the
money fairly firmly on "We tried to tell them, but noone listened".

Looking a bit further afield than the Auckland central business district, all
of Northland is hanging off cables run by another power monopoly, Transpower,
which are even dodgier than the ones which failed in Auckland.  An engineer who
helped install the power network in the 1950's described the overhead cables
feeding the north as "totally shot" and "in need of urgent replacement".  The
closing of the white elephant Marsden Point power station in Whangarei several
years ago means that when these cables fail, there's no way to provide power to
all of Northland (the Marsden Point station consists of Marsden A, officially
mothballed (meaning partially dismantled and left to rot), and Marsden B, which
was never finished, everything just got left the way it was on the day work was
stopped).

Although there are new power stations such as the 400 MW Otahuhu power station
unit) being commissioned, there's nothing north of the Auckland choke point.
Hopefully the government enquiry will extend to looking at future problems in
supplying power further north as well.  My concern over this and the fact that
I'm writing this from a location north of Auckland which is supplied by the
aforementioned totally shot power cables is purely coincidental.

This kind of outage brings home the fact that electricity isn't a simple
commodity like clothing or electrical goods where an interruption of the supply
doesn't have any significant consequences.  Electricity is an essential
requirement for modern life.  If something goes wrong, it isn't just an
annoyance for the company shareholders, it's something which affects everyone.
This means that companies supplying essential services like electricity (and
water and other similar services) can't be run like standard companies where
the consequences of poor decision-making are restricted to the end-of-year
profit and share price, but need to have substantial extra capacity and
appears to be that privatisation is a Good Thing and everything else leads to
waste and inefficiency.  This was borne out by Mercury: They cut maintenance,
cut the workforce, deferred investment in new plant, made record profits, and
then knocked out the largest city in the country.

Even if there's a requirement to make a profit, a discussion with a specialist
in risk management indicates that there may be ways to ameliorate the cost of
ongoing maintenance and upgrading.  Consider the city of Wellington, which is
run as one of the larger corporations in New Zealand.  Wellington has an
extensive and complex risk management strategy in place which is used to reduce
insurance premiums (insurance companies can see the risk management in action
and therefore reduce their premiums).  Apparently this allows the city to run a
good maintenance program without incurring excessive costs.  In contrast the
risk management strategy adopted by AEPB directors appears to have been early
retirement.

-----------------

Two of the cables in question have copper conductors inside a pressurized
nitrogen jacket and are referred to as impregnated pressure (IP) cables
(apparently we're one of the few countries which still use these, they have a
reputation for being rather unreliable and became obsolete soon after they were
installed).  Installation work on them commenced in 1947, so they're over 50
years old and although they're supposed to have a life expectancy of up to 60
years, in real terms they were past it 15-20 years ago (more on this below).
The other two are oil-filled and are referred to as self-contained oil-filled
(SCOF) cables.  Installation commenced in 1975 (the installation,
commissioning, and testing can stretch over several years, so the dates quoted
can vary by a few years).  The oil-filled cables are supposedly rated at 60MW
each, the gas-filled ones at 50MW (although in practice they don't have
anywhere near this capacity, more on this below).  The central business

The intial suspicion was that the El Nino summer has dried out and heated the
ground so that vibration and ground movement (shrinkage) have damaged the
cables.  With daytime temperatures as high as 30C (86F) and humidity up to 75%,
air conditioning loads have soared (at one point it wasn't possible to obtain
fans in city stores).  Ground temperatures have also been very high,
accelerating the ageing of the cables.  It was also susoected that variations
in load were causing dynamic magnetic field changes, so that the
electromagnetic forces between the three conductors and the steel pipe jacket
(more on this below) caused the core to move around inside the pipe (this may
have been the reason why the later cable failures occured, they would have been
severely overloaded when the first cables went).  Also, due to very slight
temperature gradients around the cable, the differential thermal expansion
would cause various bending and warping forces, however the exact cause(s) of
subjected to lab analysis.  As it turned out, this was more or less what
happened to the various cables (see the enquiry results further down).

The oil-filled cables consist of three central copper/aluminium conductors
inside a fairly sizeable pipe filled with an insulating filler, with three
ducts carrying the pressurized oil dielectric consisting of tens to hundreds of
thousands of litres of oil contained in a typical pipe.  The much older
gas-filled cables are generally similar but have a much lower capacity than the
old-filled ones, and substitute nitrogen pressurized to 200psi for oil. In both
cases the gas/oil isn't used so much to cool the cables but to improve its
insulating properties.

The copper/aluminium conductorss are each about 8cm in diameter  core, and are
wrapped in 200 layers of special oil-impregnated paper tape, followed by
another copper sheath, and then a spiral wrap of 5mm bronze wire.  These three
filled with insulating filler with ducts for the oil or gas.  The outer sheath
consists of layers of lead, plastic, aluminium, and then more plastic.  At each
cable join is a splice which has temperature sensors, oil flow rate monitors,
and pressure monitors to check oil conditions.

Once the initial cable is installed, it's evacuated to both leak test it and
remove any contaminants (for example when there's no gas present the oil from
the paper tape which can leak into the gas duct in the gas-filled cables).
Then the ducts are flushed with dry nitrogen, evacuated, and finally pumped
full of high tension oil or gas under vaccuum to force any remaining
contaminants out. For the oil-filled cables, the oil is first sprayed into a
holding chamber at high temperature from hundreds of nozzles to get the maximum
surface area, the high temperature causes all the crap to boil out so the good
stuff which is left can be pumped into the pipeline.  Once the ducts appear to
be free of contaminants, a 5000V tester is used to ensure that none of the
high-voltage test is carried by solwly ramping the voltage up to at least 30%
above the normal voltage.  This is left for awhile, and the cable is then
slowly powered down. This test is carried out for all conductors, after which
the cable is hooked up at 110kV but left with no power flowing for at least 12
hours.  Finally, the load is gradually increased over the next 12 hours, with
the three cores typically carrying 600-800 amps of three-phase power.

Both ends of an oil-filled cable typically have large holding tanks of oil,
with pumps which are reversed every 6 hours so the oil oscillates back and
forth in the cable, eliminating hot spots and spreading the heat over a large
area.  In the last hour of the cycle, things are slowly run down to get zero
oil velocity, then everything is reversed and slowly run up again to move the
oil in the opposite direction.

Performing the repairs is difficult because at each point they have to sink a
point), line the shaft it to avoid the walls caving in, pump out any water
which accumulates, and then repair the cable in the rather cramped conditions.
Closing up the pipe after repairs is a special task in itself because as the
pipe is filled with oil and paper it has to be done with special equipment and
takes 8 hours to weld one section of pipe.  If the pipe is too hot to touch
10cm from the welding, they have to stop and let it cool before they can
continue.  After that, they have to go through the lengthy refilling process
described above.

Within 10 years of the gas-filled cables being installed, they were
experiencing 1-2 gas leaks a year, with each failure taking several weeks to
repair.  Luckily both cables never failed at the same time.  In 1995 (with the
oil-filled cables in place), both gas-filled cables failed, but the oil-filled
ones held up to the load, which was rather less than it was by 1998. According
to a former AEPB engineer, the problems with the oil-filled cables was caused
high thermal resistivity of the material surrounding the cables due to the dry,
hot ground.  Because of this, the cables should have been derated to around 50%
of their actual capacity at the time of the failure. The cable manufacturers
also stated that they were being run well outside their design limits (more
details on this below).

Fixing the Problem
------------------

Mercury have a $120M, 9.2km tunnel under construction which (had it been
finished) would have brought in the required power, however it passes under the
buildings which are now affected and during the planning stages the owners of
the buildings raised all sorts of objections to it (the project was initiated
in 1994, but construction didn't start until May 1997).  When completed, the
tunnel, which runs between 20 and 100 metres underground, and carry power and
communications cables into the central city.  The delay in starting the
other organisations to help fund the project by selling them space in the
tunnel, held things up for nearly two years, pushing back the 1997 completion
date by at least another 1 1/2 years.  I see a long period of finger-pointing
to follow.

As a relief measure, Mercury ran 9km of double circuit overhead cable along
concrete pylons hastily erected along the rail access corridor into the central
city.  Noone dared to raise any planning objections this time.  The work was
originally expected to take 6 weeks to complete using a mongolian hordes
approach with materials garnered from all over the country and cost $5M,
although like all of Mercury's estimates to date the completion time ended up
being stretched out by another few weeks.  This timetable was also useful as a
real indication of how repairable the oil-filled cables are: Mercury gave the
time to restore power to the central city as the time to install the stopgap
cable, indicating that although they wanted to try repairing the oil-filled
Mercury have also indicated that the stopgap cable would be expected to hold
for 18 months or until the tunnel is ready, which indicates that they're not
planning to get anything else done until the hoped-for completion date of the
tunnel.

Amazingly enough, the emergency link was completed in less time than expected,
with a warren of feeder cables at both ends being run to and from various
substations in the vicinity.  The rail tunnels were hastily fitted with what
one observer described as heffalump traps, and Mercury announced over the radio
that people could turn off their generators.  The power stayed on for nearly
two hours after the all-clear announcement was made.

By the following Monday, everything was more or less back to normal, with power
being supplied by the emergency feed.

The Aftermath
-------------

quickly, and was published on 8 May.  The inquiry was carried out by Integral
Energy, a large Australian power company.  The report found that Mercury's
planners made judgements on cable loading based on information provided by the
manufacturers rather than the actual conditions at hand (that is, they ran the
cables at their theoretical rating rather than the actual rating under the
conditions they operated in).  Although the cables supplied met the
requirements set by the (former) AEPB, they were operated in conditions well
outside those given in the requirements.  The gas-filled cables were installed
"contrary to good engineering practice", with bad ground stability in one
location leading to a continuing series of faults at that location.  In
addition since Mercury's planners regarded the gas-filled cables as inherently
unreliable, they didn't place much emphasis on maintaining the cables and
didn't investigate the cause of the repeated failures very closely.  At the
time of the investigation, Mercury were not utilising various alarm functions

As has been mentioned earlier, Mercury considerably over-rated the cables for
the conditions they were being operated in.  Although the oil-filled cables
have a nominal rating of 60MW, ground conditions meant they had a much lower
actual rating, so that the cables started to overheat when loaded to anything
more than half this rating (this indicates that even with all four cables fully
functional and supplying a normal load to the central city, the cables were
already overloaded and overheating).  This overheating couldn't have been
detected as part of Mercury's maintenance program.  According to the report,
Mercury didn't comply with the manufacturers recommendations for routine
testing and maintenance.  As a result once the gas-filled cables failed the
first oil-filled cable failed due to thermo-mechanical reasons (the
higher-than-allowable operating temperature allowed the conductors to move,
causing a joint to be compressed which resulted in it failing), and the second
(or to use trade union parlance, it went out in sympathy).

The enquiry completely avoided looking at Mercury's peculiar management
structure, covering only the technical aspects of the failure.

It's unlikely whether anyone will ever know the total cost of the outage, but
it's estimated that it cost Mercury around $150M, which is two years worth of
after-tax profit (their yearly operating revenue is $600M).

Bits and Pieces
---------------

Here's a panoramic photo of the central city by night:

+-------------------+
|                   |
|                   |
|                   |
|                   |
+-------------------+
In the foreground you can't see the town hall, with the Aotea Center and
council building in the background.  To the right you can't make out the side
of the Sky Tower, with the casino beneath it.

Here's another shot, taken from down by the waterfront:

+-------------------+
|                   |
|                   |
|                   |
|                   |
+-------------------+

In this one you can't see Queen Street and the businesses up either side, with
the Coopers and Lybrand tower not visible to the right.

I'll put more shots online later if I can find somewhere to power a scanner.

The power outages did bring out some good things.  After the power had been out
for about half an hour on the first day, someone mentioned that the fridges
self-sacrifice, everyone immediately rushed downstairs and saved all the beer
from getting warm (for UK readers who may not understand the significance of
this: Cold beer good, warm beer bad).

Auckland joke (you probably have to be a NZ'er to get this):

Q: If there are power shortages, which will you keep running, the cappucino
machine or the air conditioner?
A: Both.

More jokes:

Q: How many Aucklanders does it take to change a lightbulb?
A: Does it matter?

Pickup line for Aucklanders:
"Would you like to come up to my room and see my <arbitrary electrical
appliance> work?"

Q: What did Aucklanders use before candles?

Because of the Y2K problem, various people are planning on taking vacations
away from electronic devices in December 1999.  Central Auckland is looking
like a good place to take this vacation.

Various Odes to Mercury Energy
------------------------------

This isn't as good as I was hoping for, but here it is anyway, to the tune of
"Day-o" (I think that's what it's called):

Powwwwwwww eeeeeerrrrrrrrr!
Pow-ow-ow-er!

Workday come an' me
Wan' me power.

Hey mister Mercury man,
Gimme back me power
Workday come an' me

Six-week, seven-week,
Eight-week outage!
Workday come an' me
Wan' me power.

Powwwwwwww eeeeeerrrrrrrrr!
Pow-ow-ow-er!
Workday come an' me
Wan' me power.

I work all day
to build up me business
Workday come an' me
Wan' me power.

Now Mercury put me
out of de business
Workday come an' me
Wan' me power.
Powwwwwwww eeeeeerrrrrrrrr!
Pow-ow-ow-er!
Workday come an' me
Wan' me power.

This one, contributed by Nutta McBastard <nutta@kcbbs.gen.nz>, is much better:

BLUN-DER-ING MERCURY
(TO TUNE OF QUEEN'S 'BOHEMIAN RHAPSODY')

Pow-er, just went off again.
Flicked the switch right by my head.
Lights were shining now they're dead.
Pow-er, it had just been on
But now it's going to black out right away.
Pow-er, ooh-ooh,
Not enough to run the lights,
Don't have power now,
won't have no power tomorrow,
Powers off, powers off,

Too late, my dinner's cold,
Cold spaghetti, warm white wine,
Oven's powerless all the time.
Goodbye frozen produce, you've got to go
Fridge defrosting means you rot, no time at all.
Pow-er, ooh ooh,
Mercury you make me cry,
I really wish you'd never been here at all...

(Guitar solo)

I see a little UPS in place of pride,
Battery power, battery power!
Pass the fuel for the generators.
Diesel does just nicely
But it's very very dicey,
BANG
Generators?
Generators? (GENERATORS?)
(Burning generators just don't go. )

I've got no customers, somebody help me,
He's got no customers, get him cash immediately.
Economy's gone to crap
And this city's on its knees.

Power comes,
Power goes,
Nothing ever works.
Have power?
No!
It's blacked right out again.
(It not go!)
Mer-cu-ry!
(They cannot make it go!)
Mer-cu-ry!
(They cannot make it go!)
(They cannot make it go!)
(They cannot make it go!)
Mer-cury-ia, Mer-cury-ia,
Mer-cury-ia make it go!
Mer-cu-ry has devils for Directors.
Me... Poor me... Poor me!

(Guitar solo)

Directors blunder and believe it's alright?
They want to take over every Power Co in sight.
No way-mate! Let's hang the lot - YAY!
The chair would be better,
But it just won't work around here.

(Guitar solo)

Power really matters,
Consumers they can see.
Power really matters,
But not to Mer-cuuu-rryyy.

----------------

This writeup originally started as a page of notes covering an afternoon power
cut.  By the time it had grown into the current lengthy saga, I'd lost track of
who had contributed what, and when (and even the dates were a bit hazy, since
it was only expected to last a week I used references like "Wednesday" to
specify a time).  Suffice to say that lots of people have helped in bringing
you this information.
Mined by AntPool sc0
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

#!/usr/bin/env python3
#
# Copyright (C) 2015 Peter Todd
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.

# WARNING: Do not run this on a wallet with a non-trivial amount of BTC. This
# utility has had very little testing and is being published as a
# proof-of-concept only.

# Requires python-bitcoinlib w/ sendmany support:
#
# https://github.com/petertodd/python-bitcoinlib/commit/6a0a2b9429edea318bea7b65a68a950cae536790

import sys
if sys.version_info.major < 3:
sys.stderr.write('Sorry, Python 3.x required by this example.\n')
sys.exit(1)

import argparse
import hashlib
import logging
import os

import bitcoin.rpc
from bitcoin.core import *
from bitcoin.core.script import *
from bitcoin.wallet import *

parser = argparse.ArgumentParser(
description="Publish text in the blockchain, suitably padded for easy recovery with strings",
formatter_class=argparse.ArgumentDefaultsHelpFormatter)

parser.add_argument('-n', action='store_true',
dest='dryrun',
help="Dry-run; don't actually send the transactions")
parser.add_argument("-q","--quiet",action="count",default=0,
help="Be more quiet.")
parser.add_argument("-v","--verbose",action="count",default=0,
help="Be more verbose. Both -v and -q may be used multiple times.")
parser.add_argument("--min-len",action="store",type=int,default=20,
help="Minimum text length; shorter text is padded to this length")
parser.add_argument("-f","--fee-per-kb",action="store",type=float,default=0.0002,
parser.add_argument("-k","--privkey",action="store",type=str,default=None,
help="Specify private key")

net_parser = parser.add_mutually_exclusive_group()
net_parser.add_argument('-t','--testnet', action='store_true',
dest='testnet',
help='Use testnet')
net_parser.add_argument('-r','--regtest', action='store_true',
dest='regtest',
help='Use regtest')

parser.add_argument('fd', type=argparse.FileType('rb'), metavar='FILE',
help='Text file')

args = parser.parse_args()

# Setup logging
args.verbosity = args.verbose - args.quiet
if args.verbosity == 0:
logging.root.setLevel(logging.INFO)
elif args.verbosity >= 1:
elif args.verbosity == -1:
logging.root.setLevel(logging.WARNING)
elif args.verbosity <= -2:
logging.root.setLevel(logging.ERROR)

if args.testnet:
bitcoin.SelectParams('testnet')
elif args.regtest:
bitcoin.SelectParams('regtest')

proxy = bitcoin.rpc.Proxy()

if args.privkey is None:
args.privkey = CBitcoinSecret.from_secret_bytes(os.urandom(32))

else:
args.privkey = CBitcoinSecret(args.privkey)

logging.info('Using keypair %s %s' % (b2x(args.privkey.pub), args.privkey))

# Turn the text file into padded lines
# work around a bug where even though we specified binary encoding we get
# the sys.stdin instead.
args.fd = sys.stdin.buffer
padded_lines = [b'\x00' + line.strip().ljust(args.min_len) + b'\x00' for line in args.fd.readlines()]

scripts = []
while padded_lines:
def make_scripts(lines, n):
# The n makes sure every p2sh addr is unique; the pubkey lets us
# control the order the vin order vs. just using hashlocks.
redeemScript = []
for chunk in reversed(lines):
if len(chunk) > MAX_SCRIPT_ELEMENT_SIZE:
parser.exit('Lines must be less than %d characters; got %d characters' %\
(MAX_SCRIPT_ELEMENT_SIZE, len(chunk)))
redeemScript.extend([OP_HASH160, Hash160(chunk), OP_EQUALVERIFY])
redeemScript = CScript(redeemScript + [args.privkey.pub, OP_CHECKSIGVERIFY, n, 1])

return CScript(lines) + redeemScript, redeemScript

scriptSig = redeemScript = None
next_scriptSig, next_redeemScript = make_scripts(padded_lines[0:i+1], len(scripts))

# FIXME: magic numbers!
if len(next_redeemScript) > 520 or len(next_scriptSig) > 1600-100:
padded_lines = padded_lines[i+1:]
break

else:
scriptSig = next_scriptSig
redeemScript = next_redeemScript

else:
padded_lines = []

scripts.append((scriptSig, redeemScript))

# pay to the redeemScripts to make them spendable

# the 41 accounts for the size of the CTxIn itself
payments = {P2SHBitcoinAddress.from_redeemScript(redeemScript):int(((len(scriptSig)+41)/1000 * args.fee_per_kb)*COIN)
for scriptSig, redeemScript in scripts}
prevouts_by_scriptPubKey = None
if not args.dryrun:
txid = proxy.sendmany('', payments)

logging.info('Sent pre-pub tx: %s' % b2lx(txid))

tx = proxy.getrawtransaction(txid)

prevouts_by_scriptPubKey = {txout.scriptPubKey:COutPoint(txid, i) for i, txout in enumerate(tx.vout)}

else:
prevouts_by_scriptPubKey = {redeemScript.to_p2sh_scriptPubKey():COutPoint(b'\x00'*32, i)
for i, (scriptSig, redeemScript) in enumerate(scripts)}
logging.debug('Payments: %r' % payments)
logging.info('Total cost: %s BTC' % str_money_value(sum(amount for addr, amount in payments.items())))

# Create unsigned tx for SignatureHash


# By paying this rather than an OP_RETURN the tx shows up on bc.i, convenient
# for determining propagation; inception for the lulz.
# FIXME: these 600 satoshi's aren't taken into account above...
vout = [CTxOut(600, CScript().to_p2sh_scriptPubKey().to_p2sh_scriptPubKey())]
#vout = [CTxOut(0, CScript([OP_RETURN]))]

unsigned_vin = []
for scriptSig, redeemScript in scripts:
scriptPubKey = redeemScript.to_p2sh_scriptPubKey()

txin = CTxIn(prevouts_by_scriptPubKey[scriptPubKey])
unsigned_vin.append(txin)
unsigned_tx = CTransaction(unsigned_vin, vout)

# Sign!
signed_vin = []
for i, (scriptSig, redeemScript) in enumerate(scripts):
sighash = SignatureHash(redeemScript, unsigned_tx, i, SIGHASH_NONE)
sig = args.privkey.sign(sighash) + bytes([SIGHASH_NONE])

signed_scriptSig = CScript([sig] + list(scriptSig))

txin = CTxIn(unsigned_vin[i].prevout, signed_scriptSig)
signed_vin.append(txin)

signed_tx = CTransaction(signed_vin, vout)

if args.dryrun:
serialized_tx = signed_tx.serialize()
logging.info('tx size: %d bytes' % len(serialized_tx))
logging.debug('hex: %s' % b2x(serialized_tx))

else:
# FIXME: the tx could be too long here, but there's no way to get sendmany
# to *not* broadcast the transaction first. This is a proof-of-concept, so
# punting.
txid = proxy.sendrawtransaction(signed_tx)
logging.info('Sent publish tx: %s' % b2lx(txid))

-----BEGIN PGP SIGNATURE-----

iQGrBAEBCACVBQJVFnQAXhSAAAAAABUAQGJsb2NraGFzaEBiaXRjb2luLm9yZzAw
MDAwMDAwMDAwMDAwMDAxMTViMjRhYjJlNGY2Y2M1ZDZiMDBjNjhmM2MzOGJkNjBj
ZGIyZGZhOTYyZTIzY2UvFIAAAAAAFQARcGthLWFkZHJlc3NAZ251cGcub3JncGV0
oT77n6qIjaht9Erwot21EUzewixyI94I/twVYj5FNYF1V8iguGRMdNiSTWbwC45b
22gu8mxk5kvVLY1ncZTEu0vZJMb0+nXlbnEvRQN0QJ7rMg/8JmCLarZndpb1i8xK
AICy1se5SzpBRZtHKkqPm6tav3vlTRbQAaQL9fTuJFZ8TquS1G8oHv9cUt+RzgnB
QN5RXjxAASFwhjEze9qlPIcwSTvk68fWQCdXWS+sxA6vjt/BsSBCUaPdyHIZmO48
xa1i6nGq72I7Q3rzhXVcVYTSUKTAi89aaDD6Sxb0vD/8NzqLxE4QmTWSvUJDHQ==
=k/bK
-----END PGP SIGNATURE-----
Mined by AntPool bj78
Mined by AntPool sc1#
/TangPool/avalon4_tl/
Mined by AntPool sc1#
Mined by AntPool bj2/
Mined by AntPool sc1#
Mined by AntPool sc1#
/TangPool/haobtc/HAOBTC.COM
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
u=https://cpr.sm/QKrr8yhrm2
Mined by AntPool bj2/
ASCRIBESPOOLREGISTER
Mined by AntPool sc0
What is the Banking? Control.
Mined by AntPool bj78
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
Mined by AntPool bj78
ASCRIBESPOOLREGISTER
Mined by AntPool bj2/
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
Mined by AntPool usa1%
/TangPool/tangpoolgonbo/HAOBTC
l&HE WHO IS GIVEN EVERYTHING HAS NOTHING
(j&Lee Kuan Yew 16 Sep 1923 - 23 Mar 2015
Mined by wangxingsmile
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
Mined by AntPool sc0
Mined by AntPool bj78
Mined by AntPool usa1%
$/mining.bitcoinaffiliatenetwork.com/
/TangPool/dht025911/
n'NOTHING BIG CAME OUT OF SOMETHING SMALL
Mined by AntPool nmg0&
ASCRIBESPOOLREGISTER
Mined by AntPool sc0
$/mining.bitcoinaffiliatenetwork.com/
Mined by AntPool bj5/
9a998a75666dd9ad2c27
GB2APDK Ninjas team 4ever.
9a998a75666dd9ad2c27
1f87728ec6f025f2c257
5362d0ef4dedd872786b
642a9d65b76b7d0cc6cf
4a61bc69c49cfe7c6164
110983fef98211b9006b
d3df7d47985b879c8bfa
0c2c2d9cbcae4c4d689f
2c623677f83e67469439
bf80691109dc07f36100
8608d717df71e982d1c4
123b57812b5a32b6d4ef
dabcc703cdc3da44f15c
45de275b0a5dabf9dafe
9a998a75666dd9ad2c27
1f87728ec6f025f2c257
5362d0ef4dedd872786b
642a9d65b76b7d0cc6cf
4a61bc69c49cfe7c6164
110983fef98211b9006b
d3df7d47985b879c8bfa
0c2c2d9cbcae4c4d689f
2c623677f83e67469439
bf80691109dc07f36100
8608d717df71e982d1c4
123b57812b5a32b6d4ef
dabcc703cdc3da44f15c
45de275b0a5dabf9dafe
(j&<script>alert('Hello world');</script>
Mined by AntPool sc0
Mined by AntPool sc1#
/TangPool/tangpoolgonbo/HAOBTC
'NOTHING BIG CAME OUT OF SOMETHING SMALL
Mined by AntPool nmg0&
Mined by AntPool usa1%
Mined by AntPool usa1%
Mined by AntPool bj0
1embiivpxfdUfLKLp4LJ
MMtjYvK6c2EJA.SIG<88
|HH7+PJVqbvzCNd3VPzm
dJUarUqyT7Ll4OvQF7Gh
wGQ7JUVhdTUHc1nPq/dc
fAqvhim9Wggyri8A1m7y
uawhYiwA=>11<<!--TES
What is the Banking? Control.
Mined by xiafeng52188888
SatoshiTheBitcoiners
Mined by qq408049975
/TangPool/tangpoolgonbo/HAOBTC
Mined by AntPool sc0
Mined by dinglong123
Mined by AntPool bj78
Mined by AntPool sc0
Mined by AntPool usa09
Mined by AntPool sc1#
ASCRIBESPOOLREGISTER
$/mining.bitcoinaffiliatenetwork.com/
$/mining.bitcoinaffiliatenetwork.com/
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
Mined by AntPool usa09
Mined by AntPool sc1#
ASCRIBESPOOLREGISTER
Mined by qq2642205294
Mined by jorneyflair
Mined by AntPool bj69
Mined by AntPool sc1#
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
<script>alert('1');</script>
ASCRIBESPOOLREGISTER
<script>alert('1');</script>
/TangPool/avalon4_tl/
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
'NOTHING BIG CAME OUT OF SOMETHING SMALL
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
Follow the white rabbit.
/TangPool/haobtc/HAOBTC.COM
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
Mined by AntPool sc0
e8e89ea4318ee261aa2b
2e6e0013e828bc5ad991
870949c9264ae8f9ba35
17c091b8d423910eb04d
396a633cbaf0ce5181c2
b11db51989dcab74ef11
7052fb601911fc20ca84
154498a11fb6eeec47a7
138bde4ca7709f79ae1f
4593b2aa330db757bf04
8265b7232bb5bbd6997d
62ab98f7d6bbec707130
4c08333da1983dd33f24
2b910f7dd6a63b2fcf60
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
Welcome to the real world.
Mined by AntPool sc0
1embiivpxfdUfLKLp4LJ
MMtjYvK6c2EJA.SIG>88
<HHLD4NcyEbPK8YFL4s6
cWaP8AGtdb5x9R/OW5TQ
GDzqkemcz70RiKfxK2tf
YtOr9czM100OPuObvKBQ
ZMX02cAg=/96:This is
 a demonstration of
ownership by digital
y signing an object
using an owner's pri
vate key.creation.jp
EFGHIJSTUVWXYZcdefgh
HIJSTUVWXYZcdefghijs
u=https://bitcoins.uk/cc/tcp
u=https://bitcoins.uk/cc/tcpNy
ASCRIBESPOOLREGISTER
Mined by AntPool sc0
Mined by AntPool usa1%
221a5647753087aefc6d
b50a0a5d16888f04101d
d994d79e33d913a7c229
f268>4092/221a564775
3087aefc6db50a0a5d16
888f04101dd994d79e33
ad78d33db377ab4247bd
fcdcef9740161daf60d8
fb9f06c6e320a68e53fc
a152e48db3ab6c2e0ff2
0bfb69b082a1eb82c571
3277cf414c9d4e21b61a
432647e2ea211e056cce
6b1c23143feb3daa13ab
e811791ddc43217ded5a
4ce12611182d22d61ab1
396ad4989cb35ed9038e
2d36bb79f4005964ef94
992a7c5e69de197018c1
882b8042a3278fe232f6
b7b328504fce5fd8e653
2c3f4e98ac9bc292f8fc
6c9ab91832062e75ec30
e05a9c210b299288c57a
18d12f5780169a305b42
4bf74fda45e5558b2582
156420ed4ddc59ac0386
015c947ef752e8797ad8
1a23f44b1449fdefe12b
e242b759c03b5fd574af
57810f058f0ffb0534ad
7cf98d727a6847c243d8
050bd82e1320a4569488
33c3b96038ee55ce76dc
e4205c47ba5678e2a4a1
70eae42d5ff048878abf
d3519654aa5a4e12695f
6150acdceb9ed02bf439
ef8e5ff427ed478ca450
45b2d75b8125ec36c708
c8482991a12ec2e2ecae
53f0eb86c7c4456b478d
57ee5735f39fe4c5a2fd
692fb87e7a779295fb66
f833efecf53c38cfb940
a0c933176b90dfe89f0a
d9d300af351204c67676
ce9c763d40999ea36a19
1afa28c84b68e79bed76
9702022893366a0de3c3
7ba335d0a962e08bfcd3
6b6a5d3086749cf9c53e
b5e079a67e3307b1afe2
8115055a756827877563
cf68ef210a7235e7e01e
a1f3f1193883bf10ac3d
213873f08e878f714fa9
edc6c0b824f167f22b38
f94abe25f5357a5ee3df
07dd14e1e26ddb9c9d97
5bb98fdc192db70284fc
e97a3aa652e03a609c4a
3ac98251f854ca9c8048
ab24b24f8253ed7b2b85
b20d64326d632a706429
a74ba80806371d064bf8
d1459f99162198027bd9
f257ff628d7def867e95
4b6a76c15eb8c5da71f5
e0584e1eeca42e28b1aa
ed2abc839ba4cdd4154a
9377004958e2bcb9da45
ae23fd440485a649b8bd
3bbc773cdc28ab8d4bfe
7a152456ac74e869891f
c47d9f3bbc773cdc28ab
8d4bfe7a152456ac74e8
69891fb412c93d750406
dc28ab8d4bfe7a152456
ac74e869891fb412c93d
bc773cdc28ab8d4bfe7a
152456ac74e869891fb4
7d9f3bbc773cdc28ab8d
4bfe7a152456ac74e869
6896c47d9f3bbc773cdc
28ab8d4bfe7a152456ac
74e869891fb412c93d75
429b5c549f4d22e849d0
855a757d3ae7b7e8df39
31c3c9e445067041fad8
b847180d219ecd10eddc
e95e8431c3c9e4450670
41fad8b847180d219ecd
10eddca54288ff7d0b83
45067041fad8b847180d
219ecd10eddca54288ff
c3c9e445067041fad8b8
47180d219ecd10eddca5
5e8431c3c9e445067041
fad8b847180d219ecd10
eddca54288ff7d0b83dc
067041fad8b847180d21
9ecd10eddca54288ff7d
c9e445067041fad8b847
180d219ecd10eddca542
8431c3c9e445067041fa
d8b847180d219ecd10ed
99e95e8431c3c9e44506
7041fad8b847180d219e
cd10eddca54288ff7d0b
e445067041fad8b84718
0d219ecd10eddca54288
a4175f23326c8ee14acb
c9e5a16c9decb8f444bb
b102216a8850014cbd47
97e1d343b3625db5e879
b45ac47697e297add28c
4cbd4797e1d343b3625d
b5e879b45ac47697e297
8850014cbd4797e1d343
b3625db5e879b45ac476
02216a8850014cbd4797
e1d343b3625db5e879b4
5ac47697e297add28c83
bd4797e1d343b3625db5
e879b45ac47697e297ad
50014cbd4797e1d343b3
625db5e879b45ac47697
216a8850014cbd4797e1
d343b3625db5e879b45a
b0b102216a8850014cbd
4797e1d343b3625db5e8
79b45ac47697e297add2
014cbd4797e1d343b362
5db5e879b45ac47697e2
6a8850014cbd4797e1d3
43b3625db5e879b45ac4
9d65a1e2d45ec5c30b34
1fe80a0df200426f9d53
d10b235658be1d111660
946d8d967bd63f45b924
2fdf01a8696841e6d80e
1374e9946d8d967bd63f
45b9242fdf01a8696841
9eaf6eec3eb882e0066f
cfa7d46f39c2193921df
ad43faa9dda464d6ff24
5273f09867c347c798db
7f9df9fbcc7245202886
62e9efe54db47cdd12eb
908e?132"5273f09867c
347c798db7f9df9fbcc7
24520288662e9efe54db
8c74741805019eb968be
b30ec795072164da80e1
Mined by AntPool sc1#
Mined by AntPool sc0
Mined by AntPool sc1#
Mined by AntPool sc0
Mined by AntPool sc1#
*j(0123456789012345678901234567890123456789
Mined by AntPool sc1#
Mined by AntPool bj78
ASCRIBESPOOLREGISTER
Mined by AntPool bj2/
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
/TangPool/tangpoolgonbo/HAOBTC
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
u=https://cpr.sm/h-gGwVBvDU
What is the Banking? Control.
Mined by AntPool bj78
Mined by AntPool sc0
/TangPool/avalon4_tl/
...BUT SWEAT MEMORIES REMAIN
Mined by AntPool sc0
What is the Banking? Control.
ASCRIBESPOOLREGISTER
ASCRIBESPOOLREGISTER
u=https://cpr.sm/h-gGwVBvDUy
ASCRIBESPOOLREGISTER
u=https://cpr.sm/0Z1A1KnObM

blk00000.txt blk00001.txt blk00002.txt blk00003.txt blk00004.txt blk00005.txt blk00006.txt blk00007.txt blk00008.txt blk00009.txt blk00010.txt blk00011.txt blk00012.txt blk00013.txt blk00014.txt blk00015.txt blk00016.txt blk00017.txt blk00018.txt blk00019.txt blk00020.txt blk00021.txt blk00022.txt blk00023.txt blk00024.txt blk00025.txt blk00026.txt blk00027.txt blk00028.txt blk00029.txt blk00030.txt blk00031.txt blk00032.txt blk00033.txt blk00034.txt blk00035.txt blk00036.txt blk00037.txt blk00038.txt blk00039.txt blk00040.txt blk00041.txt blk00042.txt blk00043.txt blk00044.txt blk00045.txt blk00046.txt blk00047.txt blk00048.txt blk00049.txt blk00050.txt blk00051.txt blk00052.txt blk00053.txt blk00054.txt blk00055.txt blk00056.txt blk00057.txt blk00058.txt blk00059.txt blk00060.txt blk00061.txt blk00062.txt blk00063.txt blk00064.txt blk00065.txt blk00066.txt blk00067.txt blk00068.txt blk00069.txt blk00070.txt blk00071.txt blk00072.txt blk00073.txt blk00074.txt blk00075.txt blk00076.txt blk00077.txt blk00078.txt blk00079.txt blk00080.txt blk00081.txt blk00082.txt blk00083.txt blk00084.txt blk00085.txt blk00086.txt blk00087.txt blk00088.txt blk00089.txt blk00090.txt blk00091.txt blk00092.txt blk00093.txt blk00094.txt blk00095.txt blk00096.txt blk00097.txt blk00098.txt blk00099.txt blk00100.txt blk00101.txt blk00102.txt blk00103.txt blk00104.txt blk00105.txt blk00106.txt blk00107.txt blk00108.txt blk00109.txt blk00110.txt blk00111.txt blk00112.txt blk00113.txt blk00114.txt blk00115.txt blk00116.txt blk00117.txt blk00118.txt blk00119.txt blk00120.txt blk00121.txt blk00122.txt blk00123.txt blk00124.txt blk00125.txt blk00126.txt blk00127.txt blk00128.txt blk00129.txt blk00130.txt blk00131.txt blk00132.txt blk00133.txt blk00134.txt blk00135.txt blk00136.txt blk00137.txt blk00138.txt blk00139.txt blk00140.txt blk00141.txt blk00142.txt blk00143.txt blk00144.txt blk00145.txt blk00146.txt blk00147.txt blk00148.txt blk00149.txt blk00150.txt blk00151.txt blk00152.txt blk00153.txt blk00154.txt blk00155.txt blk00156.txt blk00157.txt blk00158.txt blk00159.txt blk00160.txt blk00161.txt blk00162.txt blk00163.txt blk00164.txt blk00165.txt blk00166.txt blk00167.txt blk00168.txt blk00169.txt blk00170.txt blk00171.txt blk00172.txt blk00173.txt blk00174.txt blk00175.txt blk00176.txt blk00177.txt blk00178.txt blk00179.txt blk00180.txt blk00181.txt blk00182.txt blk00183.txt blk00184.txt blk00185.txt blk00186.txt blk00187.txt blk00188.txt blk00189.txt blk00190.txt blk00191.txt blk00192.txt blk00193.txt blk00194.txt blk00195.txt blk00196.txt blk00197.txt blk00198.txt blk00199.txt blk00200.txt blk00201.txt blk00202.txt blk00203.txt blk00204.txt blk00205.txt blk00206.txt blk00207.txt blk00208.txt blk00209.txt blk00210.txt blk00211.txt blk00212.txt blk00213.txt blk00214.txt blk00215.txt blk00216.txt blk00217.txt blk00218.txt blk00219.txt blk00220.txt blk00221.txt blk00222.txt blk00223.txt blk00224.txt blk00225.txt blk00226.txt blk00227.txt blk00228.txt blk00229.txt blk00230.txt blk00231.txt blk00232.txt blk00233.txt blk00234.txt blk00235.txt blk00236.txt blk00237.txt blk00238.txt blk00239.txt blk00240.txt blk00241.txt blk00242.txt blk00243.txt blk00244.txt blk00245.txt blk00246.txt blk00247.txt blk00248.txt blk00249.txt blk00250.txt blk00251.txt blk00252.txt blk00253.txt blk00254.txt blk00255.txt blk00256.txt blk00257.txt blk00258.txt blk00259.txt blk00260.txt blk00261.txt blk00262.txt blk00263.txt blk00264.txt blk00265.txt blk00266.txt blk00267.txt blk00268.txt blk00269.txt blk00270.txt blk00271.txt blk00272.txt blk00273.txt blk00274.txt blk00275.txt blk00276.txt blk00277.txt blk00278.txt blk00279.txt blk00280.txt blk00281.txt blk00282.txt blk00283.txt blk00284.txt blk00285.txt blk00286.txt blk00287.txt blk00288.txt blk00289.txt blk00290.txt blk00291.txt blk00292.txt blk00293.txt blk00294.txt blk00295.txt blk00296.txt blk00297.txt blk00298.txt blk00299.txt blk00300.txt blk00301.txt blk00302.txt blk00303.txt blk00304.txt blk00305.txt blk00306.txt blk00307.txt blk00308.txt blk00309.txt blk00310.txt blk00311.txt blk00312.txt blk00313.txt blk00314.txt blk00315.txt blk00316.txt blk00317.txt blk00318.txt blk00319.txt blk00320.txt blk00321.txt blk00322.txt blk00323.txt blk00324.txt blk00325.txt blk00326.txt blk00327.txt blk00328.txt blk00329.txt blk00330.txt blk00331.txt blk00332.txt blk00333.txt blk00334.txt blk00335.txt blk00336.txt blk00337.txt blk00338.txt blk00339.txt blk00340.txt blk00341.txt blk00342.txt blk00343.txt blk00344.txt blk00345.txt blk00346.txt blk00347.txt blk00348.txt blk00349.txt blk00350.txt blk00351.txt blk00352.txt blk00353.txt blk00354.txt blk00355.txt blk00356.txt blk00357.txt blk00358.txt blk00359.txt blk00360.txt blk00361.txt blk00362.txt blk00363.txt blk00364.txt blk00365.txt blk00366.txt blk00367.txt blk00368.txt blk00369.txt blk00370.txt blk00371.txt blk00372.txt blk00373.txt blk00374.txt blk00375.txt blk00376.txt blk00377.txt blk00378.txt blk00379.txt blk00380.txt blk00381.txt blk00382.txt blk00383.txt blk00384.txt blk00385.txt blk00386.txt blk00387.txt blk00388.txt blk00389.txt blk00390.txt blk00391.txt blk00392.txt blk00393.txt blk00394.txt blk00395.txt blk00396.txt blk00397.txt blk00398.txt blk00399.txt blk00400.txt blk00401.txt blk00402.txt blk00403.txt blk00404.txt blk00405.txt blk00406.txt blk00407.txt blk00408.txt blk00409.txt blk00410.txt blk00411.txt blk00412.txt blk00413.txt blk00414.txt blk00415.txt blk00416.txt blk00417.txt blk00418.txt blk00419.txt blk00420.txt blk00421.txt blk00422.txt blk00423.txt blk00424.txt blk00425.txt blk00426.txt blk00427.txt blk00428.txt blk00429.txt blk00430.txt blk00431.txt blk00432.txt blk00433.txt blk00434.txt blk00435.txt blk00436.txt blk00437.txt blk00438.txt blk00439.txt blk00440.txt blk00441.txt blk00442.txt blk00443.txt blk00444.txt blk00445.txt blk00446.txt blk00447.txt blk00448.txt blk00449.txt blk00450.txt blk00451.txt blk00452.txt blk00453.txt blk00454.txt blk00455.txt blk00456.txt blk00457.txt blk00458.txt blk00459.txt blk00460.txt blk00461.txt blk00462.txt blk00463.txt blk00464.txt blk00465.txt blk00466.txt blk00467.txt blk00468.txt blk00469.txt blk00470.txt blk00471.txt blk00472.txt blk00473.txt blk00474.txt blk00475.txt blk00476.txt blk00477.txt blk00478.txt blk00479.txt blk00480.txt blk00481.txt blk00482.txt blk00483.txt blk00484.txt blk00485.txt blk00486.txt blk00487.txt blk00488.txt blk00489.txt blk00490.txt blk00491.txt blk00492.txt blk00493.txt blk00494.txt blk00495.txt blk00496.txt blk00497.txt blk00498.txt blk00499.txt blk00500.txt blk00501.txt blk00502.txt blk00503.txt blk00504.txt blk00505.txt blk00506.txt blk00507.txt blk00508.txt blk00509.txt blk00510.txt blk00511.txt blk00512.txt blk00513.txt blk00514.txt blk00515.txt blk00516.txt blk00517.txt blk00518.txt blk00519.txt blk00520.txt blk00521.txt blk00522.txt blk00523.txt blk00524.txt blk00525.txt blk00526.txt blk00527.txt blk00528.txt blk00529.txt blk00530.txt blk00531.txt blk00532.txt blk00533.txt blk00534.txt blk00535.txt blk00536.txt blk00537.txt blk00538.txt blk00539.txt blk00540.txt blk00541.txt blk00542.txt blk00543.txt blk00544.txt blk00545.txt blk00546.txt blk00547.txt blk00548.txt blk00549.txt blk00550.txt blk00551.txt blk00552.txt blk00553.txt blk00554.txt blk00555.txt blk00556.txt blk00557.txt blk00558.txt blk00559.txt blk00560.txt blk00561.txt blk00562.txt blk00563.txt blk00564.txt blk00565.txt blk00566.txt blk00567.txt blk00568.txt blk00569.txt blk00570.txt blk00571.txt blk00572.txt blk00573.txt blk00574.txt blk00575.txt blk00576.txt blk00577.txt blk00578.txt blk00579.txt blk00580.txt blk00581.txt blk00582.txt blk00583.txt blk00584.txt blk00585.txt blk00586.txt blk00587.txt blk00588.txt blk00589.txt blk00590.txt blk00591.txt blk00592.txt blk00593.txt blk00594.txt blk00595.txt blk00596.txt blk00597.txt blk00598.txt blk00599.txt blk00600.txt blk00601.txt blk00602.txt blk00603.txt blk00604.txt blk00605.txt blk00606.txt blk00607.txt blk00608.txt blk00609.txt blk00610.txt blk00611.txt blk00612.txt blk00613.txt blk00614.txt blk00615.txt blk00616.txt blk00617.txt blk00618.txt blk00619.txt blk00620.txt blk00621.txt blk00622.txt blk00623.txt blk00624.txt blk00625.txt blk00626.txt blk00627.txt blk00628.txt blk00629.txt blk00630.txt blk00631.txt blk00632.txt blk00633.txt blk00634.txt blk00635.txt blk00636.txt blk00637.txt blk00638.txt blk00639.txt blk00640.txt blk00641.txt blk00642.txt blk00643.txt blk00644.txt blk00645.txt blk00646.txt blk00647.txt blk00648.txt blk00649.txt blk00650.txt blk00651.txt blk00652.txt blk00653.txt blk00654.txt blk00655.txt blk00656.txt blk00657.txt blk00658.txt blk00659.txt blk00660.txt blk00661.txt blk00662.txt blk00663.txt blk00664.txt blk00665.txt blk00666.txt blk00667.txt blk00668.txt blk00669.txt blk00670.txt blk00671.txt blk00672.txt blk00673.txt blk00674.txt blk00675.txt blk00676.txt blk00677.txt blk00678.txt blk00679.txt blk00680.txt blk00681.txt blk00682.txt blk00683.txt blk00684.txt blk00685.txt blk00686.txt blk00687.txt blk00688.txt blk00689.txt blk00690.txt blk00691.txt blk00692.txt blk00693.txt blk00694.txt blk00695.txt blk00696.txt blk00697.txt blk00698.txt blk00699.txt blk00700.txt blk00701.txt blk00702.txt blk00703.txt blk00704.txt blk00705.txt blk00706.txt blk00707.txt blk00708.txt blk00709.txt blk00710.txt blk00711.txt blk00712.txt blk00713.txt blk00714.txt blk00715.txt blk00716.txt blk00717.txt blk00718.txt blk00719.txt blk00720.txt blk00721.txt blk00722.txt blk00723.txt blk00724.txt blk00725.txt blk00726.txt blk00727.txt blk00728.txt blk00729.txt blk00730.txt blk00731.txt blk00732.txt blk00733.txt blk00734.txt blk00735.txt blk00736.txt blk00737.txt blk00738.txt blk00739.txt blk00740.txt blk00741.txt blk00742.txt blk00743.txt blk00744.txt blk00745.txt blk00746.txt blk00747.txt blk00748.txt blk00749.txt blk00750.txt blk00751.txt blk00752.txt blk00753.txt blk00754.txt blk00755.txt blk00756.txt blk00757.txt blk00758.txt blk00759.txt blk00760.txt blk00761.txt blk00762.txt blk00763.txt blk00764.txt blk00765.txt blk00766.txt blk00767.txt blk00768.txt blk00769.txt blk00770.txt blk00771.txt blk00772.txt blk00773.txt blk00774.txt blk00775.txt blk00776.txt blk00777.txt blk00778.txt blk00779.txt blk00780.txt blk00781.txt blk00782.txt blk00783.txt blk00784.txt blk00785.txt blk00786.txt blk00787.txt blk00788.txt blk00789.txt blk00790.txt blk00791.txt blk00792.txt blk00793.txt blk00794.txt blk00795.txt blk00796.txt blk00797.txt blk00798.txt blk00799.txt blk00800.txt blk00801.txt blk00802.txt blk00803.txt blk00804.txt blk00805.txt blk00806.txt blk00807.txt blk00808.txt blk00809.txt blk00810.txt blk00811.txt blk00812.txt blk00813.txt blk00814.txt blk00815.txt blk00816.txt blk00817.txt blk00818.txt blk00819.txt blk00820.txt blk00821.txt blk00822.txt blk00823.txt blk00824.txt blk00825.txt blk00826.txt blk00827.txt blk00828.txt blk00829.txt blk00830.txt blk00831.txt blk00832.txt blk00833.txt blk00834.txt blk00835.txt blk00836.txt blk00837.txt blk00838.txt blk00839.txt blk00840.txt blk00841.txt blk00842.txt blk00843.txt blk00844.txt blk00845.txt blk00846.txt blk00847.txt blk00848.txt blk00849.txt blk00850.txt blk00851.txt blk00852.txt blk00853.txt blk00854.txt blk00855.txt blk00856.txt blk00857.txt blk00858.txt blk00859.txt blk00860.txt blk00861.txt blk00862.txt blk00863.txt blk00864.txt blk00865.txt blk00866.txt blk00867.txt blk00868.txt blk00869.txt blk00870.txt blk00871.txt blk00872.txt blk00873.txt blk00874.txt blk00875.txt blk00876.txt blk00877.txt blk00878.txt blk00879.txt blk00880.txt blk00881.txt blk00882.txt blk00883.txt blk00884.txt blk00885.txt blk00886.txt blk00887.txt blk00888.txt blk00889.txt blk00890.txt blk00891.txt blk00892.txt blk00893.txt blk00894.txt blk00895.txt blk00896.txt blk00897.txt blk00898.txt blk00899.txt blk00900.txt blk00901.txt blk00902.txt blk00903.txt blk00904.txt blk00905.txt blk00906.txt blk00907.txt blk00908.txt blk00909.txt blk00910.txt blk00911.txt blk00912.txt blk00913.txt blk00914.txt blk00915.txt blk00916.txt Show all files
Advertisement: