Jump to content

Economy Challenge - Cargo Delivery to LKO (1.2)


Recommended Posts

Continuation of economy challenge 1.2 with rules changed.

 

Categories

There are 3 categories each for Stock and Modded.

I. DISPOSABLE LIFTERS - Reliable Disposables

II. REUSABLE ROCKETS - Reusable Vertical Launch Vehicles

III. SPACEPLANES - Cargo Planes got to orbit

 

Scoring

  Score is given by {Expense} / {Payload mass} for the mission, for given Payload mass.

  - Expense doesn't include the price of the payload. Recovery cost is excluded from the expense for categories II and III.

  - All lifters listed will be the most efficient one among lifters with the same or lighter payload, in terms of the score given above.

  - i.e. a lifter won't be listed when it haul heavier payload than another lifter, and has worse score than that.

 

Rules

1. No cheat menu, No clipping of fuel tank & engine.

2. For stock entries, the craft should work in the same way with stock installs. For modded entries, only balanced mods are allowed.

3. You must launch from launchpad or runway.

4. You must achieve a stable orbit. (Pe >70km)

5. Payload must be separated from the lifter once in orbit. Decoupler used for this can NOT be a part of the payload.

6. Payload can have 1 pod, cockpit or probe core but nothing else that contributes any thrust or control authority to your craft. Also no lifting surfaces in payload.

7. Payload mass count after it's decoupled. If you had fuel or something disposable on the payload, give enough proof that you didn't throw any of them away.
  (e.g. Show that initial payload mass and final payload mass are same)

 

I. DISPOSABLE LIFTERS

1. Funds from recovery doesn't count.

 

II. REUSABLE ROCKETS

1. You should recover at least one part of your lifter.

2. The craft should fly vertically to orbit - Pitch should be above 30 degrees under stratosphere(7km)

3. If you return parts of the lifter from orbit you don't have to land on runway or launchpad for 100% refund. Just land somewhere on kerbin and you can count 100% refund. This is because once you are in orbit it is trivial (but time consuming and boring/irritating) to land at KSC.

4. If you return parts of the lifter that are dropped while suborbital or in atmosphere you must land them somewhere in the KSC area (not necessarily on the launchpad/runway) for 100% refund (KSC must be within sight from your landing spot). This is because again precision landing is boring/irritating. If it is outside the KSC, recovery cost is calculated as default.

 

III. SPACEPLANES

1. Feel free with recovery - you can either recover or dispose any parts.

2. The craft should fly horizontally to orbit. Perform horizontal flight (pitch < 30deg) at least once before reaching stratosphere(7km)

3. If you return parts of the lifter from orbit you don't have to land on runway or launchpad for 100% refund. Just land somewhere on kerbin and you can count 100% refund. This is because (IMO) once you are in orbit it is trivial (but time consuming and boring/irritating) to land at KSC.

4. If you return parts of the lifter that are dropped while suborbital or in atmosphere you must land them somewhere in the KSC area (not necessarily on the launchpad/runway) for 100% refund (KSC must be within sight from your landing spot). This is because again precision landing is boring/irritating. If it is outside the KSC, recovery cost is calculated as default.

 

Submission

 - Submission should include enough screenshots or video to prove validity of the mission.

 - Payload mass and cost should be presented clearly.

 - Username, brief explanation of the profile and characteristics will be listed. Craft file will be listed as well if it's given.

 

Leaderboard

Stock:

I)
  - 1.77t in 1720/t (3046 funds), @WanderingKid, with Thumper on the first stage and Terrier on the second stage. 3.2km/s to orbit!

  - 61.87t in 589.8/t (36488 funds), @maccollo, with Skipper augmented with Kickbacks.

II)
 
1.770t in 811.86/t (1437 funds) , @WanderingKid, with recoverable rocket SSTO powered by Skipper. Protective Fairing Included to protect the payload.

  3.280t in 756.10/t  (2480 funds), @Abastro, with fully recoverable TSTO with Nerv on the second stage.

  - 13.42t in 378.32/t (5077 funds), @Abastro, with fully recoverable TSTO w/o boostback. (Poodle on the second stage, Skipper&ReliantsX2 on the first stage)

  - 140.1t in 290.94/t (40761 funds), @Abastro,with fully recoverable TSTO w/o boostback. (Rhino&PoodlesX4 on the second stage, Mammoth&TwinboarsX4 on the first stage)

III)

  -  7.000t in 159.29/t (1115 funds), @NightshineRecorralis, with mk2 spaceplane with 2 R.A.P.I.E.Rs supplied by single Shock Cone Intake.

  -  10.50t in 69.00/t (725 funds), @OHara, with mk1 spaceplane with the payload between docking ports. Powered by 1 R.A.P.I.E.R and Shock Cone Intake.


Suboptimal Entries:

Spoiler

II)

  - 18.20t in 484.23/t (8813 funds) (Craft file), @Avo4Dayz, with simplistic recoverable rocket SSTO powered by single Twin-Boar.

  - 85.00t in 394.99/t (30315 funds), @Nefrums, with Shuttle second stage on SpaceX style first stage. (Rhino on the second stage, Mammoths&Vectors on the first stage)

III)

  -  10.50t in 106.57/t (1119 funds), @OHara, with improved version of @NightshineRecorralis's SSTO and giving it more cargo.

  -  11.60t in 113.69/t (1319 funds), @Clancy, with mk1-2 spaceplane powered by 2 RAPIERs supplied by and 1 NERV.
                                             (Just enough Oxidizer to push through the 30-40km, where the NERV can take its time getting to orbit.)

  -  62.00t in 109.02/t (6759 funds) (Craft file), @Wanderfound, with mk3 cargo bus 'kerbotruck',
                                             powered by 6 R.A.P.I.E.Rs and 3 Shock Cone Intakes with few wings - I guess, it's just not wingless

  -  82.40t in 88.46/t (7290 funds), @Wanderfound, with improved version of 'kerbotruck' - more boosters! (8 R.A.P.I.E.Rs and 4 Shock Cone Intakes)

  - 238.0t in 84.34/t (20074 funds) (Craft file), @OHara, with mk3 concept SSTO to the logical extreme supplemented by SRB sleds! (12 R.A.P.I.E.Rs)

 

Modded:

Edited by Reusables
Changed the scoring scheme back to cost per payload mass.
Link to comment
Share on other sites

8 minutes ago, Abastro said:

  - 7.000t in 1115:funds:(131.91/t), @NightshineRecorralis, with mk2 spaceplane with 2 R.A.P.I.E.Rs supplied by single Shock Cone Intake.

  - 11.60t in 1319:funds:(113.69/t), @Clancy, with mk1-2 spaceplane powered by 2 RAPIERs supplied by and 1 NERV.
                                             (Just enough Oxidizer to push through the 30-40km, where the NERV can take its time getting to orbit.)

  - 41.24t in 5440:funds:(159.29/t)(Craft file), @Wanderfound, with mk3 cargo bus powered by 6 R.A.P.I.E.Rs and 3 Shock Cone Intakes.
                                                                      with few wings - I guess, it's just not wingless

 

Reversed the kerbucks/ton numbers for me and @NightshineRecorralis there, @Abastro. :)

Link to comment
Share on other sites

So this isn't an official entry, but something people should look into. I built an Air-To-Orbit design to see if it had merit in an economy challenge. I may make a proper documented attempt later if I get bored but initial tests were very interesting
 

I achieved 4.575 t to 72km Pe on only 1,099 funds of liquid fuel and rocket fuel. The plane portion used 400 units and the rocket uses one of the large 1.25 tanks and one of the smalls. This set up equates to 240 f/t. But to achieve a proper attempt I would need to make a few changes. taking out a small portion of the payload to fit some parachutes or landing legs. This landed at adequate speed, but as I assumed it would never work it I didn't attach legs or chutes to the return rocket. Doing so would drop payload mass approximately 300kg. This changes cost to 258.5 f/t

I used mechjeb to orbit the rocket once it was moving and do my initial deorbit burn and FMRS which does a weird quick save hack to allow you to jump back and land early stages of rockets for recovery (not sure if counts funds in career or just for sake of doing space x styled flights).

In this set up the hardest part of the entire flight is turning the plane around, it is extremely stable if kept in a straight line.

As mentioned not an official entry as I am sure there isn't enough proof that it works. HOWEVER I have attached a craft file for people to play with.
Main reason for sharing was to see if other people can come up with more Air-To-Orbit designs.

craft file:
https://www.dropbox.com/s/z9dyuajr9jlg5ku/strato7.craft?dl=0

Link to comment
Share on other sites

11 hours ago, Avo4Dayz said:

snip

Again, looks great!

However, it does not fit in this challenge as it's using FMRS. Could you get rid of it? If you can, I'll list it ityou as special entry!

 

Besides, I'm going to switch to cost per payload mass, considering that it could be better to launch smaller payloads more times if it's more efficient.

Then the list(hall of fame?) will be cleaned up!

EDIT: Copied the leaderboard from the previous challenge, once more.

Edited by Reusables
Link to comment
Share on other sites

FMRS was to test the theory to see if it was even worth bothering with. Might give it a go later on at some point depends on if it de spawns half of the craft due to physics limits, might trial sometime. Lots of bad weather at the moment so nothing better to do anyway :wink:

Link to comment
Share on other sites

Taking @Wanderfound's mk3 concept to the logical extreme, I replaced the cockpit and the cargo bay with fuel, and strapped the payload to the sides, as if it was carrying a pig under each arm to market.  I was surprised how much wing it required.  It couldn't build up enough speed to take off on the runway, so I added a solid-rocket sled that was recovered from the water just past the runway. (KSP seems to require a probe core on recovered craft, to count money back from recovery.)  The result looks similar nefrum's heavy-ssto entry but much uglier (craft file).

My plan was to take 8 ore tanks under each wing, 272t, at 75/t, giving a fuel budget of k20,000.  The first attempt could only lift 14 tanks (http://imgur.com/a/AHNE4, 20,074 / 238t = 84.34/t ) but switching to round tanks rather than mk3 where possible, and making the nose more pointy, got all 16 ore tanks to orbit under budget:

(209,001 cost - 181,136 recovery - 8,488 booster-recovery) / 272 tonnes = 19,377 / 272t = 71.24/t

 

Edited by OHara
tweaked the concept to meet my budget
Link to comment
Share on other sites

On 2017. 3. 30. at 0:52 PM, Avo4Dayz said:

FMRS was to test the theory to see if it was even worth bothering with. Might give it a go later on at some point depends on if it de spawns half of the craft due to physics limits, might trial sometime. Lots of bad weather at the moment so nothing better to do anyway :wink:

I'm looking forward to it!

On 2017. 3. 31. at 4:14 PM, OHara said:

Taking @Wanderfound's mk3 concept to the logical extreme, I replaced the cockpit and the cargo bay with fuel, and strapped the payload to the sides, as if it was carrying a pig under each arm to market.  I was surprised how much wing it required.  It couldn't build up enough speed to take off on the runway, so I added a solid-rocket sled that was recovered from the water just past the runway. (KSP seems to require a probe core on recovered craft, to count money back from recovery.)  The result looks similar nefrum's heavy-ssto entry but much uglier (craft file).

My plan was to take 8 ore tanks under each wing, 272t, at 75/t, giving a fuel budget of k20,000.  That plan didn't quite work, but I got 7 tanks under each wing to orbit, for:

19000 liquid fuel  @ k15,200
12760 oxidizer     @ k 2,300
 4100 solid fuel    @ k 2,460

(206,572 cost - 8,054 sled recovery - 178,444 craft recovery) / 238t = 84.34/t

This one is truly amazing, that's clever use of SRBs!

Under a tenth of typical launch costs(rockets), It seems that it's really pushing the limit!

Besides, what about trying with lighter payloads? I've changed the challenge to give bonus for transporters with lighter payload.

Edited by Reusables
Link to comment
Share on other sites

14 hours ago, Abastro said:

Besides, what about trying with lighter payloads? I've changed the challenge to give bonus for transporters with lighter payload.

Good idea, because the efficiencies of scale tend to push designs for best cont-per-ton in the same direction.  More creative solutions will be needed to be efficient with a lighter payload.

First, though, I had to finish my original plan to get below 75/t with a spaceplane, so I updated my entry two posts above.

Link to comment
Share on other sites

A lighter-payload spaceplane.
I thought the economies of scale would be significant, because volume for cargo, and the engines and fuel to accelerate it to orbit, increases as length cubed while parasitic drag increases only as length squared.  In practice, though, a single 1.25-meter stack (craft file) saves so many draggy adapters that it comes out more efficient than the 12-Rapier version of the same concept.

I usually set docking ports to engage only when roll is aligned, and was surprised how difficult it is to align the wings by hand within 1° before the docking ports grab.

fuel budget
k320 for  400u LF giving 3074m/s air-breathing (allows ~1000m/s loss to drag)
k460 for 1000u LFO giving 890m/s with rocket
k780

The rather lucky and clean ascent in the photo series above came in under budget
(21,645 cost - 20,920 recovery) / 10.5t = 725 / 10.5t = 69.0/t

Edited by OHara
Looking back at "Stock Payload Fraction Challenge: 1.0.5 Edition" shows some space-planes in the 55/t -- 75/t range. We'll get under 50/t here.
Link to comment
Share on other sites

9 hours ago, OHara said:

A lighter-payload spaceplane.
I thought the economies of scale would be significant, because volume for cargo, and the engines and fuel to accelerate it to orbit, increases as length cubed while parasitic drag increases only as length squared.  In practice, though, a single 1.25-meter stack (craft file) saves so many draggy adapters that it comes out more efficient than the 12-Rapier version of the same concept.

I usually set docking ports to engage only when roll is aligned, and was surprised how difficult it is to align the wings by hand within 1° before the docking ports grab.

fuel budget

k320 for  400u LF giving 3074m/s air-breathing (allows ~1000m/s loss to drag)
k460 for 1000u LFO giving 890m/s with rocket
k780

The rather lucky and clean ascent in the photo series above came in under budget
(21,645 cost - 20,920 recovery) / 10.5t = 725 / 10.5t = 69.0/t

Just wow. :o. Now it's under 70/t, I can't even guess how cheap it is now.

Also, mk1 parts are the best!

Link to comment
Share on other sites

  • 2 weeks later...

Hello, curious about this challenge and wanted to understand a few things from the opening post, particularly because I have a series of satellite launchers I tend to use and it could be interesting seeing just how cheap I can get a 1.5-2t payload orbital (they got to 'good enough' and I rolled from there).  I don't know if I'll get them into submission range, but it looks fun.

Why are some of those entries sub-optimal?  They're cheaper/ton than some of the others listed above it that are considered valid attempts.

For scoring, you mention lighter payloads have a weighted scoring in the thread because of lighter payloads being more common, but you don't mention how they're weighted... or I just missed it.  Can you clarify this please?

As far as I can tell none of the sliders adjust parts cost between the difficulties, including testing between a normal and a hard career with the same craft file.  Just making sure I didn't miss something obvious that might throw my numbers off.  Is there a slider that affects this?

Finally, a number of my typical designs use a portion of the final payload for it's circularization burn simply because I dislike de-orbiting my boosters.  Is remaining payload viable, or is it a dead static payload to orbit?

Link to comment
Share on other sites

49 minutes ago, WanderingKid said:

Hello, curious about this challenge and wanted to understand a few things from the opening post, particularly because I have a series of satellite launchers I tend to use and it could be interesting seeing just how cheap I can get a 1.5-2t payload orbital (they got to 'good enough' and I rolled from there).  I don't know if I'll get them into submission range, but it looks fun.

Great, I'm looking forward to take a look on the lifters!

53 minutes ago, WanderingKid said:

Why are some of those entries sub-optimal?  They're cheaper/ton than some of the others listed above it that are considered valid attempts.

For scoring, you mention lighter payloads have a weighted scoring in the thread because of lighter payloads being more common, but you don't mention how they're weighted... or I just missed it.  Can you clarify this please?

I had hard time explaining the part, and it was far from success..

I wanted to make a family of lifters, for each payload ton range. I don't want to make hard limits on it. So I made it that lifters on the leaderboard are more efficient than any of those with lighter payload. So 13t lifter on the leaderboard is more efficient than 7t lifter.

The 7t lifter can be on the leaderboard as well, if there are no efficient lifter with even more lighter payload.

53 minutes ago, WanderingKid said:

As far as I can tell none of the sliders adjust parts cost between the difficulties, including testing between a normal and a hard career with the same craft file.  Just making sure I didn't miss something obvious that might throw my numbers off.  Is there a slider that affects this?

As far as I know, none of the options change cost of common lifters. Reusable part may vary per settings like reentry heating, but it's not adjusted eith easy/normal/moderate/hard.

57 minutes ago, WanderingKid said:

Finally, a number of my typical designs use a portion of the final payload for it's circularization burn simply because I dislike de-orbiting my boosters.  Is remaining payload viable, or is it a dead static payload to orbit?

It should be a dead static payload, but just giving more fuel tanks to the lifters will give it enough dv for circularization. Use Ore tanks for dummy payload, as they are handy. I recommend making a dummy career, it does not take much time. (Also useful for other tests related with cost)

Link to comment
Share on other sites

10 hours ago, Abastro said:

Great, I'm looking forward to take a look on the lifters!

Cool.  Thanks for the information.  I notice there are things you're not accounting for here, but that's fair as it's a challenge and the complexity can get ridiculous.  One of the things, for example, is fairings. Because you're using ore tanks as your control, it makes sense as you don't have a lot of things that will burn off.  This is a bit daunting to me because my re-usable payloads are typically either a fuel deadlifter (which has lots of little things hanging off it that don't like heat for rendezvous), satellite payloads for CommNets and mission satisfactions, or Kerbal delivery/recovery systems.  However, I'm ahead of myself... to the challenge!

First, my payload:

The Heavy Satellite is a workhorse for my Tech 1 career.  Carrying 2 MG-5 Antennas, a MatBay, Goo, the rest of the science trimmings, and 2,612 m/s dV once in orbit, lifting this thing cheaply is a major concern for my career cash grinds and establishing my Kerbin SOI CommNet, so it's a big deal for me... and thus, a perfect thing for me to work on for a challenge of this nature (I still win, even if I don't)! :cool: 

Payload: 1.77t  Cost: 7,305 

Disposable Launcher: BHS Launcher - A1


Cost of lifter system: 3,246. Remove 200 for the TT18-A, recovered on the pad, final: 3,046.  Per ton: 1,720 funds/ton.  This isn't awesome, and just squeaks into orbit, but it works.  It also launches with no upgrades to anything, one of my considerations for certain builds.  Of particular note, KER lists this as having 3,198 m/s dV on the pad.  The dV recovery to orbit is in the insanely overpowered TWR of the BACC during the initial ascent countering gravity losses.

Lifter system: 2xTR-18As, 1 FL-T400, 1 Terrier, 1 BACC, 4 Basic Fins, and an AE-FF1 Fairing to protect the payload and remove aerodynamic problems.

 
EDIT: I've found a curious bug.  The A1 is 10,445 when I load it.  If I detach and re-attach the TR-18A after the fairing, it goes to 10,551... which is the price of the fairing.  The fairing's price doesn't appear to be loading up from a craft save file unless reattached.

 

Edited by WanderingKid
Found a bug
Link to comment
Share on other sites

I didn't got what challenge actually is but have one launcher for kerbsynchronized obit and even mün delivery and a crew launcher for Mün Space stations and Orbiting missions (return too; not tested at minimus). Plz help i have one such cargo and one crew 3STO (including Booster Stage)

Link to comment
Share on other sites

I forgot this thread; Sorry for that.

On 2017. 4. 18. at 7:20 AM, WanderingKid said:

Cost of lifter system: 3,246. Remove 200 for the TT18-A, recovered on the pad, final: 3,046.  Per ton: 1,720 funds/ton.  This isn't awesome, and just squeaks into orbit, but it works.  It also launches with no upgrades to anything, one of my considerations for certain builds.  Of particular note, KER lists this as having 3,198 m/s dV on the pad.  The dV recovery to orbit is in the insanely overpowered TWR of the BACC during the initial ascent countering gravity losses.

So it's a disposable lifter for 1.77t of payload? That explains it, it's great for such a light payload! (I won't say Launch Stabilizer is part of the rocket)

Also it won't take much time and effort to orbit, which means it's practical with typical stock career.

I'll list you on the disposable category. Again, sorry for being late =P

 

17 hours ago, PrathamK said:

I didn't got what challenge actually is but have one launcher for kerbsynchronized obit and even mün delivery and a crew launcher for Mün Space stations and Orbiting missions (return too; not tested at minimus). Plz help i have one such cargo and one crew 3STO (including Booster Stage)

You need to get a payload to orbit very efficiently. Just provide screenshots/video for confirmation, and the cost of a launch.

As lifters with lighter payload are less efficient, they won't be compared ones with heavier payloads. So you can go super light, or go heavy and pushing the limit.

On 2017. 4. 18. at 7:20 AM, WanderingKid said:

EDIT: I've found a curious bug.  The A1 is 10,445 when I load it.  If I detach and re-attach the TR-18A after the fairing, it goes to 10,551... which is the price of the fairing.  The fairing's price doesn't appear to be loading up from a craft save file unless reattached.

Fairings have so many bugs... I encountered similar issues as well. I think it's prone to editing/reverts. (Its hitbox get messed up on revert)

Link to comment
Share on other sites

5 hours ago, Abastro said:

I forgot this thread; Sorry for that.

So it's a disposable lifter for 1.77t of payload? That explains it, it's great for such a light payload! (I won't say Launch Stabilizer is part of the rocket)

Also it won't take much time and effort to orbit, which means it's practical with typical stock career.

LOL, no worries.  Glad it counted.  I've messed with it a bit since then, experimenting with a spark engine and things like that.  I end up running into TWR issues in upper atmo, so I personally can't quite see a way of beating that without someone putting up an Okto, 2 solar panels, a single MG-5, an Oscar and a spark and calling it a payload. XD

I did however get inspired by your TSTO designs, and I'm currently fiddling around with design to get that payload to orbit that can be relanded using Tech-1 gear (T-45 + Junos, a few wings for landing control, and a couple of parachutes).  I heavily doubt it'll beat out Rapiers but it'll be a curious design anyway.  I'm basically hampering myself by not using the Tech 3 gear, but typically when I'm in Tech 3 I don't care about cash anymore anyway unless it's in huge values (like returning a dozen rhinos or something), as I've already bought the most expensive investment anyway.

Fun challenge. :)

Link to comment
Share on other sites

39 minutes ago, WanderingKid said:

I did however get inspired by your TSTO designs, and I'm currently fiddling around with design to get that payload to orbit that can be relanded using Tech-1 gear (T-45 + Junos, a few wings for landing control, and a couple of parachutes).

That sounds great, I want to look at how it goes!

You are going to make orbit before the first stage goes under 25km, right?

Besides, I think RAPIER has so low TWR that it won't lift enough payload. For 2t is too much..

Link to comment
Share on other sites

Whats the lowest possible weight of Payload and Highest Launcher Cost.Plz i think i have one such light launcher.

And how to record Videos in KSP?? I know Screenshots, Plz tell so i can Show Off here and my Friends too.:cool:

Edited by PrathamK
after your reply of sending screenshots and 'Video'.
Link to comment
Share on other sites

12 minutes ago, PrathamK said:

Whats the lowest possible weight of Payload and Highest Launcher Cost.Plz i think i have one such light launcher.

And how to record Videos in KSP?? I know Screenshots, Plz tell so i can Show Off here and my Friends too.:cool:

You can go as low as you can. There is certain limit, though. (0t is obviously prohibited)

There is no highest launch cost; It's just that you won't be listed and noted as suboptimal entry, when you are inefficient than lighter launch vehicle.

 

I don't know about recording video, I heard that you will need recording program like bandicam.

Link to comment
Share on other sites

4 minutes ago, dundun92 said:

Is StageRecovery allowed? It makes recovering stages a lot easier. What about mechjeb?

StageRecovery is not allowed. It may count as modded entry under StageRecovery category.

Flying with mechjeb is allowed, but the craft should work without the mechjeb module. (So that it could get to orbit if piloted well)

Link to comment
Share on other sites

 

1 hour ago, Abastro said:

StageRecovery is not allowed. It may count as modded entry under StageRecovery category.

Flying with mechjeb is allowed, but the craft should work without the mechjeb module. (So that it could get to orbit if piloted well)

The craft works well even with poor handling but i use Mechjeb and StageRecovery. Its my Carrer mode, i want a New module of my Station to be launched. But i didn't understand how StageRecovery works, All my stage recovers autonomously and Mod is just for recovery %. What to do? 

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...