How to convert raw pdf from server to pdf document












-2















This is my code that converts the Retrofit HTTP ResponseBody to a raw String:



Method 1:



fun ByteArray.toHexString(): String {
var cnt = ""
var cnter = 0

return this.joinToString(cnt) {
if (cnter % 2 == 0)
cnt = " "
else
cnt = ""
cnter++
String.format("%02x", it)
}
}

fun convert() {
val result = response.byteStream().readBytes(response.contentLength().toInt())
val rawHtml = result.toHexString()
}


Method 1 result (snippet). It should have a whitespace after every 4th Byte:



255044462d312e340d0a25aaabacad0d0a312030206f626a0d0a3c3c0d0a2f4e616d65732032203020520d0a2f4f7574707574496e74656e7473205b3c3c0d0a2f446573744f757470757450726f66696c652033203020520d0a2f53202f4754535f50444641310d0a2f496e666f202863850eea75051264315790c769f97999de290d0a2f52656769737472794e616d652028290d0a2f4f7574707574436f6e646974696f6e2028290d0a2f54797065202f4f7574707574496e74656e740d0a2f4f7574707574436f6e646974696f6e4964656e746966696572202853a23adc3a21290d0a3e3e0d0a5d0d0a2f5669657765725072...


Method 2:



private fun getRawHTML(responseBody: ResponseBody): String {
val bodyString = responseBody.byteStream()

val reader = BufferedReader(InputStreamReader(bodyString, "iso-8859-1"), 16)
val sb = StringBuilder()
var line: String?

line = reader.readLine()

while (line != null) {
sb.append(line + "n")
line = reader.readLine()
}

bodyString.close()

return sb.toString()
}


Method 2 result (snippet):



%PDF-1.4
1 0 obj
<<
/Title (þÿ��M��i���n��p��e��n��s��o��v��e��r��z��i��c�.��n��l)
/Creator (þÿ��w�m��p��d��f�� ��0��1��2��.��1��.��2)
/Producer (þÿ�t�� ��4����6)
/CreationDate (D:20181122184902+01'00')
>>
endobj
3 0 obj
<<
/Type /ExtGState
/SA true
/SM 0.02
/ca 1.0
/CA 1.0
/AIS false
/SMask /None>>
/Filter /FlateDecode
>>
stream
xí]MGr½Ï¯èó*å÷` )Ñ ðÁðÁàZ^,FË{ðß÷{YÕ]


When scrolling down in this PDF it shows that the encoding is /Identity-H:



/Name /FBUKTZ+Verdana
/Type /Font
/Subtype /Type0
/BaseFont /FBUKTZ+Verdana
/Encoding /Identity-H
/ToUnicode 28 0 R
/DescendantFonts [29 0 R]
>>


Which charset corresponds to this?



I want to convert this to a PDF file that can be opened by Adobe acrobat reader and shows the original PDF. When I open a correct PDF file with sublime editor, I see this:



2550 4446 2d31 2e37 0a25 e2e3 cfd3 0a31
2030 206f 626a 0a3c 3c2f 416c 7465 726e
6174 652f 4465 7669 6365 5247 422f 4e20
332f 4c65 6e67 7468 2032 3631 352f 4669


Maybe I could rephrase the question to how can I convert the small snippet to this format? I'm using Kotlin and Java.










share|improve this question

























  • Comments are not for extended discussion; this conversation has been moved to chat.

    – Samuel Liew
    Nov 25 '18 at 3:53
















-2















This is my code that converts the Retrofit HTTP ResponseBody to a raw String:



Method 1:



fun ByteArray.toHexString(): String {
var cnt = ""
var cnter = 0

return this.joinToString(cnt) {
if (cnter % 2 == 0)
cnt = " "
else
cnt = ""
cnter++
String.format("%02x", it)
}
}

fun convert() {
val result = response.byteStream().readBytes(response.contentLength().toInt())
val rawHtml = result.toHexString()
}


Method 1 result (snippet). It should have a whitespace after every 4th Byte:



255044462d312e340d0a25aaabacad0d0a312030206f626a0d0a3c3c0d0a2f4e616d65732032203020520d0a2f4f7574707574496e74656e7473205b3c3c0d0a2f446573744f757470757450726f66696c652033203020520d0a2f53202f4754535f50444641310d0a2f496e666f202863850eea75051264315790c769f97999de290d0a2f52656769737472794e616d652028290d0a2f4f7574707574436f6e646974696f6e2028290d0a2f54797065202f4f7574707574496e74656e740d0a2f4f7574707574436f6e646974696f6e4964656e746966696572202853a23adc3a21290d0a3e3e0d0a5d0d0a2f5669657765725072...


Method 2:



private fun getRawHTML(responseBody: ResponseBody): String {
val bodyString = responseBody.byteStream()

val reader = BufferedReader(InputStreamReader(bodyString, "iso-8859-1"), 16)
val sb = StringBuilder()
var line: String?

line = reader.readLine()

while (line != null) {
sb.append(line + "n")
line = reader.readLine()
}

bodyString.close()

return sb.toString()
}


Method 2 result (snippet):



%PDF-1.4
1 0 obj
<<
/Title (þÿ��M��i���n��p��e��n��s��o��v��e��r��z��i��c�.��n��l)
/Creator (þÿ��w�m��p��d��f�� ��0��1��2��.��1��.��2)
/Producer (þÿ�t�� ��4����6)
/CreationDate (D:20181122184902+01'00')
>>
endobj
3 0 obj
<<
/Type /ExtGState
/SA true
/SM 0.02
/ca 1.0
/CA 1.0
/AIS false
/SMask /None>>
/Filter /FlateDecode
>>
stream
xí]MGr½Ï¯èó*å÷` )Ñ ðÁðÁàZ^,FË{ðß÷{YÕ]


When scrolling down in this PDF it shows that the encoding is /Identity-H:



/Name /FBUKTZ+Verdana
/Type /Font
/Subtype /Type0
/BaseFont /FBUKTZ+Verdana
/Encoding /Identity-H
/ToUnicode 28 0 R
/DescendantFonts [29 0 R]
>>


Which charset corresponds to this?



I want to convert this to a PDF file that can be opened by Adobe acrobat reader and shows the original PDF. When I open a correct PDF file with sublime editor, I see this:



2550 4446 2d31 2e37 0a25 e2e3 cfd3 0a31
2030 206f 626a 0a3c 3c2f 416c 7465 726e
6174 652f 4465 7669 6365 5247 422f 4e20
332f 4c65 6e67 7468 2032 3631 352f 4669


Maybe I could rephrase the question to how can I convert the small snippet to this format? I'm using Kotlin and Java.










share|improve this question

























  • Comments are not for extended discussion; this conversation has been moved to chat.

    – Samuel Liew
    Nov 25 '18 at 3:53














-2












-2








-2








This is my code that converts the Retrofit HTTP ResponseBody to a raw String:



Method 1:



fun ByteArray.toHexString(): String {
var cnt = ""
var cnter = 0

return this.joinToString(cnt) {
if (cnter % 2 == 0)
cnt = " "
else
cnt = ""
cnter++
String.format("%02x", it)
}
}

fun convert() {
val result = response.byteStream().readBytes(response.contentLength().toInt())
val rawHtml = result.toHexString()
}


Method 1 result (snippet). It should have a whitespace after every 4th Byte:



255044462d312e340d0a25aaabacad0d0a312030206f626a0d0a3c3c0d0a2f4e616d65732032203020520d0a2f4f7574707574496e74656e7473205b3c3c0d0a2f446573744f757470757450726f66696c652033203020520d0a2f53202f4754535f50444641310d0a2f496e666f202863850eea75051264315790c769f97999de290d0a2f52656769737472794e616d652028290d0a2f4f7574707574436f6e646974696f6e2028290d0a2f54797065202f4f7574707574496e74656e740d0a2f4f7574707574436f6e646974696f6e4964656e746966696572202853a23adc3a21290d0a3e3e0d0a5d0d0a2f5669657765725072...


Method 2:



private fun getRawHTML(responseBody: ResponseBody): String {
val bodyString = responseBody.byteStream()

val reader = BufferedReader(InputStreamReader(bodyString, "iso-8859-1"), 16)
val sb = StringBuilder()
var line: String?

line = reader.readLine()

while (line != null) {
sb.append(line + "n")
line = reader.readLine()
}

bodyString.close()

return sb.toString()
}


Method 2 result (snippet):



%PDF-1.4
1 0 obj
<<
/Title (þÿ��M��i���n��p��e��n��s��o��v��e��r��z��i��c�.��n��l)
/Creator (þÿ��w�m��p��d��f�� ��0��1��2��.��1��.��2)
/Producer (þÿ�t�� ��4����6)
/CreationDate (D:20181122184902+01'00')
>>
endobj
3 0 obj
<<
/Type /ExtGState
/SA true
/SM 0.02
/ca 1.0
/CA 1.0
/AIS false
/SMask /None>>
/Filter /FlateDecode
>>
stream
xí]MGr½Ï¯èó*å÷` )Ñ ðÁðÁàZ^,FË{ðß÷{YÕ]


When scrolling down in this PDF it shows that the encoding is /Identity-H:



/Name /FBUKTZ+Verdana
/Type /Font
/Subtype /Type0
/BaseFont /FBUKTZ+Verdana
/Encoding /Identity-H
/ToUnicode 28 0 R
/DescendantFonts [29 0 R]
>>


Which charset corresponds to this?



I want to convert this to a PDF file that can be opened by Adobe acrobat reader and shows the original PDF. When I open a correct PDF file with sublime editor, I see this:



2550 4446 2d31 2e37 0a25 e2e3 cfd3 0a31
2030 206f 626a 0a3c 3c2f 416c 7465 726e
6174 652f 4465 7669 6365 5247 422f 4e20
332f 4c65 6e67 7468 2032 3631 352f 4669


Maybe I could rephrase the question to how can I convert the small snippet to this format? I'm using Kotlin and Java.










share|improve this question
















This is my code that converts the Retrofit HTTP ResponseBody to a raw String:



Method 1:



fun ByteArray.toHexString(): String {
var cnt = ""
var cnter = 0

return this.joinToString(cnt) {
if (cnter % 2 == 0)
cnt = " "
else
cnt = ""
cnter++
String.format("%02x", it)
}
}

fun convert() {
val result = response.byteStream().readBytes(response.contentLength().toInt())
val rawHtml = result.toHexString()
}


Method 1 result (snippet). It should have a whitespace after every 4th Byte:



255044462d312e340d0a25aaabacad0d0a312030206f626a0d0a3c3c0d0a2f4e616d65732032203020520d0a2f4f7574707574496e74656e7473205b3c3c0d0a2f446573744f757470757450726f66696c652033203020520d0a2f53202f4754535f50444641310d0a2f496e666f202863850eea75051264315790c769f97999de290d0a2f52656769737472794e616d652028290d0a2f4f7574707574436f6e646974696f6e2028290d0a2f54797065202f4f7574707574496e74656e740d0a2f4f7574707574436f6e646974696f6e4964656e746966696572202853a23adc3a21290d0a3e3e0d0a5d0d0a2f5669657765725072...


Method 2:



private fun getRawHTML(responseBody: ResponseBody): String {
val bodyString = responseBody.byteStream()

val reader = BufferedReader(InputStreamReader(bodyString, "iso-8859-1"), 16)
val sb = StringBuilder()
var line: String?

line = reader.readLine()

while (line != null) {
sb.append(line + "n")
line = reader.readLine()
}

bodyString.close()

return sb.toString()
}


Method 2 result (snippet):



%PDF-1.4
1 0 obj
<<
/Title (þÿ��M��i���n��p��e��n��s��o��v��e��r��z��i��c�.��n��l)
/Creator (þÿ��w�m��p��d��f�� ��0��1��2��.��1��.��2)
/Producer (þÿ�t�� ��4����6)
/CreationDate (D:20181122184902+01'00')
>>
endobj
3 0 obj
<<
/Type /ExtGState
/SA true
/SM 0.02
/ca 1.0
/CA 1.0
/AIS false
/SMask /None>>
/Filter /FlateDecode
>>
stream
xí]MGr½Ï¯èó*å÷` )Ñ ðÁðÁàZ^,FË{ðß÷{YÕ]


When scrolling down in this PDF it shows that the encoding is /Identity-H:



/Name /FBUKTZ+Verdana
/Type /Font
/Subtype /Type0
/BaseFont /FBUKTZ+Verdana
/Encoding /Identity-H
/ToUnicode 28 0 R
/DescendantFonts [29 0 R]
>>


Which charset corresponds to this?



I want to convert this to a PDF file that can be opened by Adobe acrobat reader and shows the original PDF. When I open a correct PDF file with sublime editor, I see this:



2550 4446 2d31 2e37 0a25 e2e3 cfd3 0a31
2030 206f 626a 0a3c 3c2f 416c 7465 726e
6174 652f 4465 7669 6365 5247 422f 4e20
332f 4c65 6e67 7468 2032 3631 352f 4669


Maybe I could rephrase the question to how can I convert the small snippet to this format? I'm using Kotlin and Java.







java pdf kotlin






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 23 '18 at 9:47







Jim Clermonts

















asked Nov 22 '18 at 17:55









Jim ClermontsJim Clermonts

35521134




35521134













  • Comments are not for extended discussion; this conversation has been moved to chat.

    – Samuel Liew
    Nov 25 '18 at 3:53



















  • Comments are not for extended discussion; this conversation has been moved to chat.

    – Samuel Liew
    Nov 25 '18 at 3:53

















Comments are not for extended discussion; this conversation has been moved to chat.

– Samuel Liew
Nov 25 '18 at 3:53





Comments are not for extended discussion; this conversation has been moved to chat.

– Samuel Liew
Nov 25 '18 at 3:53












1 Answer
1






active

oldest

votes


















0














Here's a Kotlin program that downloads a PDF file from a server and saves it in a way that allows it to be opened in a PDF viewer:



import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.ResponseBody
import java.io.FileOutputStream

fun savePDF(response: ResponseBody) {
val fileOutputStream = FileOutputStream("my.pdf")
val data = response.byteStream().readBytes()
fileOutputStream.write(data)
}

fun main(args: Array<String>) {
val request = Request.Builder()
.url("http://www.oracle.com/events/global/en/java-outreach/resources/java-a-beginners-guide-1720064.pdf")
.build()
val client = OkHttpClient()
val response = client.newCall(request).execute()
val responseBody = response.body()
if (responseBody != null) {
savePDF(responseBody)
}
}





share|improve this answer
























  • With this solution I have to request write permissions to the Android user and we can't do that.

    – Jim Clermonts
    Nov 23 '18 at 11:13











  • This is a program that you can run locally to understand how downloading PDF files works. If you actually need to send the file to another server, you can also do this, and you don't need any permissions for this.

    – yole
    Nov 23 '18 at 11:21













  • Yeah but when opening the file it is not a PDF. This solution doesn't solve the question.

    – Jim Clermonts
    Nov 23 '18 at 11:22






  • 1





    If you run this program and open my.pdf, it is a PDF. I can't give you a solution that will work with uploading data to your server without knowing anything about your server.

    – yole
    Nov 23 '18 at 11:23













Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53436145%2fhow-to-convert-raw-pdf-from-server-to-pdf-document%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














Here's a Kotlin program that downloads a PDF file from a server and saves it in a way that allows it to be opened in a PDF viewer:



import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.ResponseBody
import java.io.FileOutputStream

fun savePDF(response: ResponseBody) {
val fileOutputStream = FileOutputStream("my.pdf")
val data = response.byteStream().readBytes()
fileOutputStream.write(data)
}

fun main(args: Array<String>) {
val request = Request.Builder()
.url("http://www.oracle.com/events/global/en/java-outreach/resources/java-a-beginners-guide-1720064.pdf")
.build()
val client = OkHttpClient()
val response = client.newCall(request).execute()
val responseBody = response.body()
if (responseBody != null) {
savePDF(responseBody)
}
}





share|improve this answer
























  • With this solution I have to request write permissions to the Android user and we can't do that.

    – Jim Clermonts
    Nov 23 '18 at 11:13











  • This is a program that you can run locally to understand how downloading PDF files works. If you actually need to send the file to another server, you can also do this, and you don't need any permissions for this.

    – yole
    Nov 23 '18 at 11:21













  • Yeah but when opening the file it is not a PDF. This solution doesn't solve the question.

    – Jim Clermonts
    Nov 23 '18 at 11:22






  • 1





    If you run this program and open my.pdf, it is a PDF. I can't give you a solution that will work with uploading data to your server without knowing anything about your server.

    – yole
    Nov 23 '18 at 11:23


















0














Here's a Kotlin program that downloads a PDF file from a server and saves it in a way that allows it to be opened in a PDF viewer:



import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.ResponseBody
import java.io.FileOutputStream

fun savePDF(response: ResponseBody) {
val fileOutputStream = FileOutputStream("my.pdf")
val data = response.byteStream().readBytes()
fileOutputStream.write(data)
}

fun main(args: Array<String>) {
val request = Request.Builder()
.url("http://www.oracle.com/events/global/en/java-outreach/resources/java-a-beginners-guide-1720064.pdf")
.build()
val client = OkHttpClient()
val response = client.newCall(request).execute()
val responseBody = response.body()
if (responseBody != null) {
savePDF(responseBody)
}
}





share|improve this answer
























  • With this solution I have to request write permissions to the Android user and we can't do that.

    – Jim Clermonts
    Nov 23 '18 at 11:13











  • This is a program that you can run locally to understand how downloading PDF files works. If you actually need to send the file to another server, you can also do this, and you don't need any permissions for this.

    – yole
    Nov 23 '18 at 11:21













  • Yeah but when opening the file it is not a PDF. This solution doesn't solve the question.

    – Jim Clermonts
    Nov 23 '18 at 11:22






  • 1





    If you run this program and open my.pdf, it is a PDF. I can't give you a solution that will work with uploading data to your server without knowing anything about your server.

    – yole
    Nov 23 '18 at 11:23
















0












0








0







Here's a Kotlin program that downloads a PDF file from a server and saves it in a way that allows it to be opened in a PDF viewer:



import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.ResponseBody
import java.io.FileOutputStream

fun savePDF(response: ResponseBody) {
val fileOutputStream = FileOutputStream("my.pdf")
val data = response.byteStream().readBytes()
fileOutputStream.write(data)
}

fun main(args: Array<String>) {
val request = Request.Builder()
.url("http://www.oracle.com/events/global/en/java-outreach/resources/java-a-beginners-guide-1720064.pdf")
.build()
val client = OkHttpClient()
val response = client.newCall(request).execute()
val responseBody = response.body()
if (responseBody != null) {
savePDF(responseBody)
}
}





share|improve this answer













Here's a Kotlin program that downloads a PDF file from a server and saves it in a way that allows it to be opened in a PDF viewer:



import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.ResponseBody
import java.io.FileOutputStream

fun savePDF(response: ResponseBody) {
val fileOutputStream = FileOutputStream("my.pdf")
val data = response.byteStream().readBytes()
fileOutputStream.write(data)
}

fun main(args: Array<String>) {
val request = Request.Builder()
.url("http://www.oracle.com/events/global/en/java-outreach/resources/java-a-beginners-guide-1720064.pdf")
.build()
val client = OkHttpClient()
val response = client.newCall(request).execute()
val responseBody = response.body()
if (responseBody != null) {
savePDF(responseBody)
}
}






share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 23 '18 at 10:36









yoleyole

60.6k11153145




60.6k11153145













  • With this solution I have to request write permissions to the Android user and we can't do that.

    – Jim Clermonts
    Nov 23 '18 at 11:13











  • This is a program that you can run locally to understand how downloading PDF files works. If you actually need to send the file to another server, you can also do this, and you don't need any permissions for this.

    – yole
    Nov 23 '18 at 11:21













  • Yeah but when opening the file it is not a PDF. This solution doesn't solve the question.

    – Jim Clermonts
    Nov 23 '18 at 11:22






  • 1





    If you run this program and open my.pdf, it is a PDF. I can't give you a solution that will work with uploading data to your server without knowing anything about your server.

    – yole
    Nov 23 '18 at 11:23





















  • With this solution I have to request write permissions to the Android user and we can't do that.

    – Jim Clermonts
    Nov 23 '18 at 11:13











  • This is a program that you can run locally to understand how downloading PDF files works. If you actually need to send the file to another server, you can also do this, and you don't need any permissions for this.

    – yole
    Nov 23 '18 at 11:21













  • Yeah but when opening the file it is not a PDF. This solution doesn't solve the question.

    – Jim Clermonts
    Nov 23 '18 at 11:22






  • 1





    If you run this program and open my.pdf, it is a PDF. I can't give you a solution that will work with uploading data to your server without knowing anything about your server.

    – yole
    Nov 23 '18 at 11:23



















With this solution I have to request write permissions to the Android user and we can't do that.

– Jim Clermonts
Nov 23 '18 at 11:13





With this solution I have to request write permissions to the Android user and we can't do that.

– Jim Clermonts
Nov 23 '18 at 11:13













This is a program that you can run locally to understand how downloading PDF files works. If you actually need to send the file to another server, you can also do this, and you don't need any permissions for this.

– yole
Nov 23 '18 at 11:21







This is a program that you can run locally to understand how downloading PDF files works. If you actually need to send the file to another server, you can also do this, and you don't need any permissions for this.

– yole
Nov 23 '18 at 11:21















Yeah but when opening the file it is not a PDF. This solution doesn't solve the question.

– Jim Clermonts
Nov 23 '18 at 11:22





Yeah but when opening the file it is not a PDF. This solution doesn't solve the question.

– Jim Clermonts
Nov 23 '18 at 11:22




1




1





If you run this program and open my.pdf, it is a PDF. I can't give you a solution that will work with uploading data to your server without knowing anything about your server.

– yole
Nov 23 '18 at 11:23







If you run this program and open my.pdf, it is a PDF. I can't give you a solution that will work with uploading data to your server without knowing anything about your server.

– yole
Nov 23 '18 at 11:23






















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53436145%2fhow-to-convert-raw-pdf-from-server-to-pdf-document%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

"Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

Alcedinidae

RAC Tourist Trophy