Bitcoin Forum
March 19, 2024, 10:08:03 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [28] 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 ... 231 »
  Print  
Author Topic: Armory - Discussion Thread  (Read 521670 times)
cypherdoc
Legendary
*
Offline Offline

Activity: 1764
Merit: 1002



View Profile
April 08, 2012, 05:57:12 AM
 #541

also, everyone needs to realize that when they use Make Paper Backup,  you're only backing up the deterministic portion of a combined deterministic plus imported wallet or the combined deterministic plus individual imported key wallet.  you are not backing up the imported wallet or the individual imported keys .

likewise, using Backup Individual Keys only backs up keys that actually exist in the wallet at the time of the backup both deterministically generated and imported but will not backup future generated deterministic keys.

therefore, to properly make a paper backup of an imported wallet or a wallet with individual imported keys, one needs to do both a Make Paper Backup AND Backup Individual Keys.

the only way to make a complete backup in one step currently in Armory is to Make Digital Backup which backs up everything, both the deterministic and imported.
1710842883
Hero Member
*
Offline Offline

Posts: 1710842883

View Profile Personal Message (Offline)

Ignore
1710842883
Reply with quote  #2

1710842883
Report to moderator
1710842883
Hero Member
*
Offline Offline

Posts: 1710842883

View Profile Personal Message (Offline)

Ignore
1710842883
Reply with quote  #2

1710842883
Report to moderator
The forum strives to allow free discussion of any ideas. All policies are built around this principle. This doesn't mean you can post garbage, though: posts should actually contain ideas, and these ideas should be argued reasonably.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1710842883
Hero Member
*
Offline Offline

Posts: 1710842883

View Profile Personal Message (Offline)

Ignore
1710842883
Reply with quote  #2

1710842883
Report to moderator
1710842883
Hero Member
*
Offline Offline

Posts: 1710842883

View Profile Personal Message (Offline)

Ignore
1710842883
Reply with quote  #2

1710842883
Report to moderator
amincd
Hero Member
*****
Offline Offline

Activity: 772
Merit: 501


View Profile
April 08, 2012, 06:20:47 AM
 #542

Hi etotheipi, can I tweet you a donation through btctip.com? If so, please let me know your Twitter username.
dooglus
Legendary
*
Offline Offline

Activity: 2940
Merit: 1327



View Profile
April 08, 2012, 07:46:16 AM
Last edit: April 08, 2012, 08:10:41 AM by dooglus
 #543

I just installed armory for the first time.  It's almost impossible to read some of the text in tables due to the 'white on white' colour scheme.  Can you read the wallet ID?



It would be better if the background of text in tables used a colour that contrasts with the foreground colour of the user's theme.

By way of comparison, here's how highlighting looks in the Satoshi client.  Line 2 of 5 is highlighted:


Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
dooglus
Legendary
*
Offline Offline

Activity: 2940
Merit: 1327



View Profile
April 08, 2012, 08:29:23 AM
 #544

When I click "receive bitcoins" a dialog pops up asking "send from wallet...".

I'm trying to receive, not send.

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
April 08, 2012, 08:50:34 AM
 #545

When I click "receive bitcoins" a dialog pops up asking "send from wallet...".

I'm trying to receive, not send.
You have to tell it what wallet you want to receive the funds into.

EDIT: Oh. I misread that the first time.  Are you trying to say that the dialog should read "receive to wallet..." or something like that?

etotheipi (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
April 08, 2012, 02:36:52 PM
 #546

I knew this was going to bite me some day.  My PyQt book spends a lot of time setting colors based on the user's palette, but it's a lot of extra work!  

Once I get Beta out, I'll switch to development on a 1280x768 screen with a dark user-theme.  That will force me to fix colors and layout.

therefore, to properly make a paper backup of an imported wallet or a wallet with individual imported keys, one needs to do both a Make Paper Backup AND Backup Individual Keys.
the only way to make a complete backup in one step currently in Armory is to Make Digital Backup which backs up everything, both the deterministic and imported.

Per cypherdoc's suggestion (via PM) I will merge these both into a single backup interface and have a single print option, so that you can print both root/chain data, and imported keys.  It definitely makes sense to put it in one place, and reduce user confusion about what they are actually accomplishing.

Ugh, so much to do!


P.S. -   amincd:  I don't even have a twitter account!  I like the btctip idea, but I'm just not one of those people.  Please use the donation address in my sig.  Thanks!

Founder and CEO of Armory Technologies, Inc.
Armory Bitcoin Wallet: Bringing cold storage to the average user!
Only use Armory software signed by the Armory Offline Signing Key (0x98832223)

Please donate to the Armory project by clicking here!    (or donate directly via 1QBDLYTDFHHZAABYSKGKPWKLSXZWCCJQBX -- yes, it's a real address!)
dooglus
Legendary
*
Offline Offline

Activity: 2940
Merit: 1327



View Profile
April 09, 2012, 01:09:48 AM
 #547

When I click "receive bitcoins" a dialog pops up asking "send from wallet...".

I'm trying to receive, not send.
You have to tell it what wallet you want to receive the funds into.

EDIT: Oh. I misread that the first time.  Are you trying to say that the dialog should read "receive to wallet..." or something like that?

Yes.  Maybe just "select wallet" if you want it to be the same in both cases.  But showing "send from wallet" when I'm picking a wallet to receive the funds is just misleading.

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
dooglus
Legendary
*
Offline Offline

Activity: 2940
Merit: 1327



View Profile
April 09, 2012, 01:12:26 AM
 #548

I knew this was going to bite me some day.  My PyQt book spends a lot of time setting colors based on the user's palette, but it's a lot of extra work!  

If you just don't set the background colour, it defaults to something quite readable.  I set WltMine and WltOther to be None in and it made things look a lot better.  I got a couple of error messages though.

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
Foxpup
Legendary
*
Offline Offline

Activity: 4298
Merit: 3021


Vile Vixen and Miss Bitcointalk 2021-2023


View Profile
April 09, 2012, 01:37:13 AM
 #549

I've built Armory (0.70-beta)-alpha on MEPIS 11 (a distro based on Debian 6) and I'm having a major problem and few minor problems.

The major problem is that most of the time it'll flat-out refuse to start in online mode complaining that it doesn't have an Internet connection. My Internet connection has a highly variable latency (sometimes it's around 50ms, sometimes it's 5 seconds or even more) due to wireless reception issues, could that be the problem? If so, a higher (preferably configurable) timeout and/or a "Retry" button on the message box would be in order.

The minor problems are that the windows are just not wide enough to see everything without scrolling, and I have to make them a few pixels wider (or else maximise the window). But the program doesn't remember its window sizes when I quit (nor does it remember if it was maximised), so I have to do this every single time, which is most annoying.

Also, the advanced encryption options only appear when creating a new wallet. When encrypting a wallet after it's been created, the advanced encryption options don't appear. Is there no way to change the advanced encryption options for an existing wallet?

One more thing which isn't really a problem as such, but may be a possible source of confusion for new users, is that the "Receive Bitcoins" button creates a new address (without even asking for confirmation), while the same button on the Satoshi client displays a list of existing addresses, with an option to create new ones. I think it would be better to have a dialog asking the user whether they want to select an existing address (assuming the wallet has at least one address already), or create a new one (yes, you can put a "Don't ask me again" checkbox to avoid annoying those who actually like the present behaviour).

Also, I have a dark colour scheme too, and I have the same problem that dooglus has. Half the text is either light grey on white or dark red/green on dark grey. Argh, my eyes! One option (which shouldn't be too difficult) is to algorithmically generate colours based on the system colours, eg (pseudocode): GreenText = (SystemText * RGB(0.0, 1.0, 0.0)) + RGB(0.0, 0.25, 0.0); to get a dark green on systems with black text and a bright green on systems with white text, etc.

Oh, and the issue with running multiple instances of Armory should definitely be a high priority. Merely telling people not to do that is not a satisfactory solution, given the consequences.

Will pretend to do unspeakable things (while actually eating a taco) for bitcoins: 1K6d1EviQKX3SVKjPYmJGyWBb1avbmCFM4
I am not on the scammers' paradise known as Telegram! Do not believe anyone claiming to be me off-forum without a signed message from the above address! Accept no excuses and make no exceptions!
etotheipi (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
April 09, 2012, 04:07:18 AM
 #550

Foxpup, thanks for the feedback.

Certain things like color schemes and layouts, and certain robustness features, were overlooked in the first [major] release of Armory, I didn't even know if I'd ever finish the damned thing -- so I didn't spend much time polishing things.  This is definitely something that will be addressed after beta...

Not to mention that the color scheme stuff is not actually that hard.  I don't think I have a need to deviate much from the user's palette, which is available pretty easily within PyQt.  I just have to study up on what all the palette colors are and try to match (and probably slightly modify per your suggestion) to my application design. 

Similarly, the two-Armories-open-at-once thing can be fixed, but it's something I didn't even think about until now.  It is definitely high priority... it's actually already done in my dev code, and it will make it into the next minor release.

I'll see what I can do about changing the behavior for offline mode:  for now you can test it yourself:  https://github.com/etotheipi/BitcoinArmory/blob/master/ArmoryQt.py#L535 .  Look for "timeout" and change it to 5 or 10, or whatever seems appropriate. 

Founder and CEO of Armory Technologies, Inc.
Armory Bitcoin Wallet: Bringing cold storage to the average user!
Only use Armory software signed by the Armory Offline Signing Key (0x98832223)

Please donate to the Armory project by clicking here!    (or donate directly via 1QBDLYTDFHHZAABYSKGKPWKLSXZWCCJQBX -- yes, it's a real address!)
Foxpup
Legendary
*
Offline Offline

Activity: 4298
Merit: 3021


Vile Vixen and Miss Bitcointalk 2021-2023


View Profile
April 09, 2012, 04:35:57 AM
 #551

I'll see what I can do about changing the behavior for offline mode:  for now you can test it yourself:  https://github.com/etotheipi/BitcoinArmory/blob/master/ArmoryQt.py#L535 .  Look for "timeout" and change it to 5 or 10, or whatever seems appropriate. 

Thanks, that fixes it. I am curious why you thought a timeout of only 1 second would work in all cases; not everyone has cable or even DSL for that matter (at least not everyone in Australia Cry) This really needs to made configurable. And I take it that you'll be testing Internet connectivity by connecting to the actual Bitcoin network, rather than Google, once you've got the actual networking side done?

Will pretend to do unspeakable things (while actually eating a taco) for bitcoins: 1K6d1EviQKX3SVKjPYmJGyWBb1avbmCFM4
I am not on the scammers' paradise known as Telegram! Do not believe anyone claiming to be me off-forum without a signed message from the above address! Accept no excuses and make no exceptions!
Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
April 09, 2012, 05:49:18 AM
 #552

Is there any way to add public keys to a watching-only wallet?

I want to monitor some addresses on a web wallet from inside Armory.  For now, I imported the private key, turned the wallet into a watching-only wallet, and then flagged it as owned by someone else.  This works fine for now, but is a bit too many steps and a pain to do again if I add more keys.

Foxpup
Legendary
*
Offline Offline

Activity: 4298
Merit: 3021


Vile Vixen and Miss Bitcointalk 2021-2023


View Profile
April 09, 2012, 06:31:52 AM
 #553

Is there any way to add public keys to a watching-only wallet?

I want to monitor some addresses on a web wallet from inside Armory.  For now, I imported the private key, turned the wallet into a watching-only wallet, and then flagged it as owned by someone else.  This works fine for now, but is a bit too many steps and a pain to do again if I add more keys.

That only works if change gets sent back to your original address instead of a new address, otherwise the public key will show less money than is actually in the wallet. And there's no surer way of scaring people than telling them they have less money than they thought they did:
"Okay, so I'll send 0.5BTC and... wait, why'd my balance just go down by 20BTC? I only sent 0.5BTC!! Didn't I? FFFFUUUUUU!!!"

Will pretend to do unspeakable things (while actually eating a taco) for bitcoins: 1K6d1EviQKX3SVKjPYmJGyWBb1avbmCFM4
I am not on the scammers' paradise known as Telegram! Do not believe anyone claiming to be me off-forum without a signed message from the above address! Accept no excuses and make no exceptions!
Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
April 09, 2012, 03:46:22 PM
 #554

Is there any way to add public keys to a watching-only wallet?

I want to monitor some addresses on a web wallet from inside Armory.  For now, I imported the private key, turned the wallet into a watching-only wallet, and then flagged it as owned by someone else.  This works fine for now, but is a bit too many steps and a pain to do again if I add more keys.

That only works if change gets sent back to your original address instead of a new address, otherwise the public key will show less money than is actually in the wallet. And there's no surer way of scaring people than telling them they have less money than they thought they did:
"Okay, so I'll send 0.5BTC and... wait, why'd my balance just go down by 20BTC? I only sent 0.5BTC!! Didn't I? FFFFUUUUUU!!!"
My web wallet is blockchain.info. They allow you to send change back to any address so this is not a problem.

etotheipi (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
April 09, 2012, 04:29:59 PM
Last edit: April 10, 2012, 01:58:26 AM by etotheipi
 #555

Is there any way to add public keys to a watching-only wallet?

I want to monitor some addresses on a web wallet from inside Armory.  For now, I imported the private key, turned the wallet into a watching-only wallet, and then flagged it as owned by someone else.  This works fine for now, but is a bit too many steps and a pain to do again if I add more keys.

Red Emerald,

I had some reservations about enabling this.  While it's possible under the hood, there's risk of users adding watching-only addresses to the wallet, in a variety of ways.  The most important is that someone sneaks their own address into your wallet then sends you money to it making you believe that it's yours.  This is normally prevented due to requiring an encryption password to inject keys into your regular full wallets.

Also, mixing regular wallets with foreign keys can create lots of confusion the same way:  users add addresses on their own for a variety of reason, and then forget or don't realize what they're doing, and trick themselves into believing they have more money than they do.  it can be a mess, later, to figure out what keys are "legit" and which aren't (without comparing the WO wallet with the full wallet addr list).

This way, the only way to add an address to a wallet is by the person that has the private key for that address.  It's quite inconvenient (as you determined), but adds a certain robustness for users that are less knowledgeable.

I'll spend some time thinking about how to enable this responsibly.  Perhaps only in Dev mode...?   (though it doesn't solve the problem of someone sneaking a key into your wallet)

Founder and CEO of Armory Technologies, Inc.
Armory Bitcoin Wallet: Bringing cold storage to the average user!
Only use Armory software signed by the Armory Offline Signing Key (0x98832223)

Please donate to the Armory project by clicking here!    (or donate directly via 1QBDLYTDFHHZAABYSKGKPWKLSXZWCCJQBX -- yes, it's a real address!)
Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
April 10, 2012, 10:43:34 PM
 #556

Is there any way to add public keys to a watching-only wallet?

I want to monitor some addresses on a web wallet from inside Armory.  For now, I imported the private key, turned the wallet into a watching-only wallet, and then flagged it as owned by someone else.  This works fine for now, but is a bit too many steps and a pain to do again if I add more keys.

Red Emerald,

I had some reservations about enabling this.  While it's possible under the hood, there's risk of users adding watching-only addresses to the wallet, in a variety of ways.  The most important is that someone sneaks their own address into your wallet then sends you money to it making you believe that it's yours.  This is normally prevented due to requiring an encryption password to inject keys into your regular full wallets.

Also, mixing regular wallets with foreign keys can create lots of confusion the same way:  users add addresses on their own for a variety of reason, and then forget or don't realize what they're doing, and trick themselves into believing they have more money than they do.  it can be a mess, later, to figure out what keys are "legit" and which aren't (without comparing the WO wallet with the full wallet addr list).

This way, the only way to add an address to a wallet is by the person that has the private key for that address.  It's quite inconvenient (as you determined), but adds a certain robustness for users that are less knowledgeable.

I'll spend some time thinking about how to enable this responsibly.  Perhaps only in Dev mode...?   (though it doesn't solve the problem of someone sneaking a key into your wallet)
Developer mode only maybe?

Or maybe a third wallet type.  Something that lets you just watch any number of arbitrary bitcoin addresses.  These funds would not show in your spendable balance, but would make it easy to track funds and label transactions for your own bookkeeping.

I want an easy way to watch my blockchain.info address and an old paper wallet from one place.  Right now I just lookup my addresses on blockchain.info and then keep the totals in a spreadsheet. 

This is definitely low priority.

cypherdoc
Legendary
*
Offline Offline

Activity: 1764
Merit: 1002



View Profile
April 13, 2012, 02:47:16 PM
 #557

i just have to ask this even tho i trust Alan implicitly otherwise i wouldn't have given him so much money.

has any other coder looked to verify that private keys are in fact not being transferred to the online watching wallet by mistake or something?

i only bring this up b/c i did my first offline tx last nite and it worked perfectly but then realized i really am trusting that the watching wallet is in fact just that; a watching wallet.

don't take offense Alan.  this is just part of my paranoia and due diligence since i can't do it myself.
etotheipi (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
April 13, 2012, 03:03:04 PM
 #558

i just have to ask this even tho i trust Alan implicitly otherwise i wouldn't have given him so much money.

has any other coder looked to verify that private keys are in fact not being transferred to the online watching wallet by mistake or something?

i only bring this up b/c i did my first offline tx last nite and it worked perfectly but then realized i really am trusting that the watching wallet is in fact just that; a watching wallet.

don't take offense Alan.  this is just part of my paranoia and due diligence since i can't do it myself.

No offense taken.  I would like others to look at it and sanity check things.  I've done quite a bit of it during unit testing, but I wouldn't mind having some others vouch for it, too.

I have documented my wallet files which should make it easy to spawn a watching-only copy of one of your wallets and examine the binary of the *.wallet file.  The 32 bytes where each private key is stored should be all zeros. 

In a PyBtcAddress serialization, the private key starts 108 bytes into the 237-byte field.  In your wallet file, the root key starts 846 bytes from the beginning of the file, meaning bytes 954 to 954+32 should be zeros in your watching-only wallet. 






Founder and CEO of Armory Technologies, Inc.
Armory Bitcoin Wallet: Bringing cold storage to the average user!
Only use Armory software signed by the Armory Offline Signing Key (0x98832223)

Please donate to the Armory project by clicking here!    (or donate directly via 1QBDLYTDFHHZAABYSKGKPWKLSXZWCCJQBX -- yes, it's a real address!)
cypherdoc
Legendary
*
Offline Offline

Activity: 1764
Merit: 1002



View Profile
April 13, 2012, 03:43:11 PM
 #559

i have a question for you.

if i import one private key with 100 BTC into a fresh, new Armory wallet that has no deterministic addresses/keys generated yet and then immediately spend 1 BTC to a vendor, where do the remaining 99 BTC go?  i think you said there were some keys pre-generated?  if so how many and when would they run out before i have to generate more?

i actually think i remember you discussing this a way back.
etotheipi (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
April 13, 2012, 04:20:07 PM
 #560

i have a question for you.

if i import one private key with 100 BTC into a fresh, new Armory wallet that has no deterministic addresses/keys generated yet and then immediately spend 1 BTC to a vendor, where do the remaining 99 BTC go?  i think you said there were some keys pre-generated?  if so how many and when would they run out before i have to generate more?

i actually think i remember you discussing this a way back.

Armory wallets should always be thought of a "deterministic wallets", and imported keys basically being a bonus feature.  If you spend money from any one of your keys (imported or not), its change gets sent to the next unused address of your deterministic wallet. 

I don't know what you mean by "run out" and "generate more".  The wallet is deterministic meaning that your paper backup provides the seed that allows you to generate an infinite number of keys, and that whole process is transparent to you (and repeatable).  You never "run out", and "generating keys" simply means retrieving the next key in the sequence based on the information on your paper backup. 

Founder and CEO of Armory Technologies, Inc.
Armory Bitcoin Wallet: Bringing cold storage to the average user!
Only use Armory software signed by the Armory Offline Signing Key (0x98832223)

Please donate to the Armory project by clicking here!    (or donate directly via 1QBDLYTDFHHZAABYSKGKPWKLSXZWCCJQBX -- yes, it's a real address!)
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [28] 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 ... 231 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!