Stuck in TWRP (Recovery) - General Questions and Answers

Hello everyone, I hope I'm writing in the right section.
I'll go straight to the issue: after finally deciding to install a custom rom on my device (HUAWEI GX8), i decided to opt for this one: https://forum.xda-developers.com/moto-g4-plus/development/rom-aospextended-rom-v3-0-t3537792
The first problem i had to face was the "ERROR:7" (so the rom seemed to be made for a different phone than mine) that occured while installing the rom in the twrp, but being that the rom was specifically made for my phone I followed this guide: https://www.youtube.com/watch?v=wed03948gcg and fixed the issue, resulting in a perfect installation... or so I thought.
After rebooting, the phone didn't start the os but was stuck in the twrp (I tried rebooting multiple times and in different ways of course).
Being that I had made a backup before installing the new rom, I decided to restore that backup from the twrp... but still the phone is stuck in the twrp and I don't know what to do :crying:
I hope somebody can help me because I'm starting to panicking.
Cheers in advance.
PS: I'm a complete newb so this was the first time I installed a custom rom, I tried searching for this problem online but couldn't find a solution that fitted me. I hope I won't ask too many stupid questions.

SlimeAndroid said:
Hello everyone, I hope I'm writing in the right section.
I'll go straight to the issue: after finally deciding to install a custom rom on my device (HUAWEI GX8), i decided to opt for this one: https://forum.xda-developers.com/moto-g4-plus/development/rom-aospextended-rom-v3-0-t3537792
The first problem i had to face was the "ERROR:7" (so the rom seemed to be made for a different phone than mine) that occured while installing the rom in the twrp, but being that the rom was specifically made for my phone I followed this guide: https://www.youtube.com/watch?v=wed03948gcg and fixed the issue, resulting in a perfect installation... or so I thought.
After rebooting, the phone didn't start the os but was stuck in the twrp (I tried rebooting multiple times and in different ways of course).
Being that I had made a backup before installing the new rom, I decided to restore that backup from the twrp... but still the phone is stuck in the twrp and I don't know what to do :crying:
I hope somebody can help me because I'm starting to panicking.
Cheers in advance.
PS: I'm a complete newb so this was the first time I installed a custom rom, I tried searching for this problem online but couldn't find a solution that fitted me. I hope I won't ask too many stupid questions.
Click to expand...
Click to collapse
The ROM that you flashed was NOT made specifically for your device, you have HUAWEI GX8, the ROM was made for Moto G4 Plus. You would have know this if you had looked at the forum it was posted in. It was posted in in the Moto G4 forum, not in a Huawei forum.
The "fix" that you used didn't help.it successfully flash, it only help you "force" the ROM to flash. You bypassed a safety measure that was designed to keep you from flashing the wrong thing, now you're dealing with the results of forcing it to flash on a device it wasn't meant for.
Learn to pay attention to what you are reading.
You need to flash your stock firmware to fix this.
I DO NOT PROVIDE HELP IN PM, KEEP IT IN THE THREADS WHERE EVERYONE CAN SHARE

Droidriven said:
The ROM that you flashed was NOT made specifically for your device, you have HUAWEI GX8, the ROM was made for Moto G4 Plus. You would have know this if you had looked at the forum it was posted in. It was posted in in the Moto G4 forum, not in a Huawei forum.
Learn to pay attention to what you are reading.
You need to flash your stock firmware to fix this.
I DO NOT PROVIDE HELP IN PM, KEEP IT IN THE THREADS WHERE EVERYONE CAN SHARE
Click to expand...
Click to collapse
I'm sorry I may have linked the wrong page, either way on the website of the rom I downloaded the right thing, I'm sure about it because I checked it multiple times (the error I made in writing the post may be cause by me panicking, sorry :crying: ).
While waiting for answers I installed a different twrp and it WORKS! I'm so happy I could cry. Thank you nonetheless for your help (Still dunno what the problem was though xD)

@SlimeAndroid as you installed ROM of different phone, it might not get installed as ROM zip contains script for Mobile verification.
I assume you had wiped /system and after installation of wrong ROM you rebooted your phone without reading if TWRP said you don't have any OS installed or what. (That means you have ran without any OS, that may be reason why you stuck with TWRP.)
But after Restoring Backup of Working ROM, it should boot your device, but it doesn't.
We (on G4 plus) have faced issue: when phone start, it always goes to TWRP/recovery instead of booting to system.
Are you facing similar ?
Solution for this problem was to clear bootloader data, by using fastboot commands (i assume you know how to do, otherwise ask for better explanation )
Run this two commands from Comand Prompt
-> fastboot oem fb_mode_set
-> fastboot oem fb_mode_clear
This worked for us. You can try, if doesn't work then flash Stock ROM.

____Mdd said:
@SlimeAndroid as you installed ROM of different phone, it might not get installed as ROM zip contains script for Mobile verification.
I assume you had wiped /system and after installation of wrong ROM you rebooted your phone without reading if TWRP said you don't have any OS installed or what. (That means you have ran without any OS, that may be reason why you stuck with TWRP.)
But after Restoring Backup of Working ROM, it should boot your device, but it doesn't.
We (on G4 plus) have faced issue: when phone start, it always goes to TWRP/recovery instead of booting to system.
Are you facing similar ?
Solution for this problem was to clear bootloader data, by using fastboot commands (i assume you know how to do, otherwise ask for better explanation )
Run this two commands from Comand Prompt
-> fastboot oem fb_mode_set
-> fastboot oem fb_mode_clear
This worked for us. You can try, if doesn't work then flash Stock ROM.
Click to expand...
Click to collapse
If you read the post above yours, you'll see they solved the issue.
I DO NOT PROVIDE HELP IN PM, KEEP IT IN THE THREADS WHERE EVERYONE CAN SHARE

You always have to make sure the download is for your model of phone(settings -about) and always make sure the download has properly downloaded and I use md5 checksum as this verifies the download is not courupt.
Sent from my iPhone using Tapatalk

Related

OPO recovery boot error.

So, while I was messing around with my phone, I accidentally screwed stuff up. Unfortunately, I decided to get extra stupid and lock my bootloader. So now whenever i try to unlock my bootloader, boot into recovery or basically do anything beyond using CM11s, I get this youtu.be/tuWRHJA50hA. If any of you have any solutions, please help. If you need any extra details, I will be glad to answer. Thanks in advance for the help.
kurroption said:
So, while I was messing around with my phone, I accidentally screwed stuff up. Unfortunately, I decided to get extra stupid and lock my bootloader. So now whenever i try to unlock my bootloader, boot into recovery or basically do anything beyond using CM11s, I get this youtu.be/tuWRHJA50hA. If any of you have any solutions, please help. If you need any extra details, I will be glad to answer. Thanks in advance for the help.
Click to expand...
Click to collapse
You need to provide more information, like a detailed description of exactly what steps lead to this situation.
Heisenberg said:
You need to provide more information, like a detailed description of exactly what steps lead to this situation.
Click to expand...
Click to collapse
I wrote a detailed explanation on the OnePlus forums so here is it copy pasted.
TL;DR: Recovery won't boot, this happens
I've posted this on multiple sites to get as much help as possible. Check /u/braden26 for my posts on reddit about my issue. What I'm having trouble with is a strange issue when entering a recovery. . I'm guessing my recovery is corrupted or nonexistent, due to a few dumb mistakes I made. I first flashed the wrong rom and soft bricked my phone. At this time it was rooted, running cm 12.1 nightlies and using twrp. After this soft brick, I restored to cm11s, unlocked the bootloader and rooted. I installed sultan's cm12.1, but got another weird issue, so I decided to go back to cm12.1. Here's where my issue begins. When I tried to enter recovery, twrp was gone despite developer option for overwriting recoveries was off. So I downgraded to cm11s and tried again. Then it wouldn't install twrp at all. So I erased my recovery and accidentally hit oem lock instead of unlock. When I tried oem unlock after wards, it would reboot then do this which I already showed . The device runs fine, but I can't update cm11s to 12s or I stall custom recoveries. So I'm in a little bit of a problem here. I'm familiar with how to use fastboot, not all the commands, so don't be afraid to give them to me. Thank you for any help and if you need any more details please let me know.
kurroption said:
I wrote a detailed explanation on the OnePlus forums so here is it copy pasted.
TL;DR: Recovery won't boot, this happens
I've posted this on multiple sites to get as much help as possible. Check /u/braden26 for my posts on reddit about my issue. What I'm having trouble with is a strange issue when entering a recovery. . I'm guessing my recovery is corrupted or nonexistent, due to a few dumb mistakes I made. I first flashed the wrong rom and soft bricked my phone. At this time it was rooted, running cm 12.1 nightlies and using twrp. After this soft brick, I restored to cm11s, unlocked the bootloader and rooted. I installed sultan's cm12.1, but got another weird issue, so I decided to go back to cm12.1. Here's where my issue begins. When I tried to enter recovery, twrp was gone despite developer option for overwriting recoveries was off. So I downgraded to cm11s and tried again. Then it wouldn't install twrp at all. So I erased my recovery and accidentally hit oem lock instead of unlock. When I tried oem unlock after wards, it would reboot then do this which I already showed . The device runs fine, but I can't update cm11s to 12s or I stall custom recoveries. So I'm in a little bit of a problem here. I'm familiar with how to use fastboot, not all the commands, so don't be afraid to give them to me. Thank you for any help and if you need any more details please let me know.
Click to expand...
Click to collapse
You were using a toolkit?
Ok, so TWRP didn't initially stick and that's normal since Lollipop came out. It's in the FAQ thread, so doing some research most likely would have saved you from this whole situation. Right now though you're kinda screwed. With no recovery and a bootloader that won't unlock there's pretty much nothing you can do.

GT-N8000 downgrade and no update.

I've been using Gnabo v_7 version for quite a long time, and a very simple and beautiful day when I woke up my Samsung GT-N8000 was stuck on bootscreen. I wasn't able to do much so I got this "Brazil stock rom" that I found in a website, and it flashed all right, except for the detail that there is something at the screen that I haven't got a bloody clue how to remove. hahaha
And still, whenever I try to install another room, I got stuck at bootlogo and so on. I'm kinda lost here, mind a little help?
I traveled around the forum but well, I'm a little dumb so I couldn't find any proper information about, how to solve this. I would like to know if there is a way to remove this thing from the main screen, and post here the image for you guys to see it please.
I tried to post the image here to make it easier understanding, but since I got this login recently I can't =\
Thanks
Install custom recovery (if you haven't already. If you already have it installed, make sure to update to latest version), root device, wipe everything and flash custom ROM.
DroidTwe4kz said:
Install custom recovery (if you haven't already. If you already have it installed, make sure to update to latest version), root device, wipe everything and flash custom ROM.
Click to expand...
Click to collapse
So far I've tried the rom = N8000XXUDNE4 [still bootloop], then another 4.1 android version of other German rom XXALGA and nothing. Downloaded 3 Brazilian versions, and nothing. [I am from Brazil]. The only one that worked flashing using Odin was one called "KIES_HOME_N8000UBALGA_N8000ZTOALG3_N8000UBLG5.tar". And still, not recognizing my cellphone chip, and with some big watermark at the middle of the screen showing some information about the ROM and the version is 4.0. Even though this one worked fine, I was able to root and when I tried to flash another room, BANG! Bootloop again! =\
I was looking at the forum topics and I read some about ADB or something like that can fix this and "break" this bootloop making the device work normally again with the roms. But i haven't got a clue how to use it. Please help me! =\
vitortakeda said:
So far I've tried the rom = N8000XXUDNE4 [still bootloop], then another 4.1 android version of other German rom XXALGA and nothing. Downloaded 3 Brazilian versions, and nothing. [I am from Brazil]. The only one that worked flashing using Odin was one called "KIES_HOME_N8000UBALGA_N8000ZTOALG3_N8000UBLG5.tar". And still, not recognizing my cellphone chip, and with some big watermark at the middle of the screen showing some information about the ROM and the version is 4.0. Even though this one worked fine, I was able to root and when I tried to flash another room, BANG! Bootloop again! =\
I was looking at the forum topics and I read some about ADB or something like that can fix this and "break" this bootloop making the device work normally again with the roms. But i haven't got a clue how to use it. Please help me! =\
Click to expand...
Click to collapse
You can use ADB to push/pull files to Android. I don't know if you can use it to fix bootloop. With it, you can also reboot to recovery and sideload zip
DroidTwe4kz said:
You can use ADB to push/pull files to Android. I don't know if you can use it to fix bootloop. With it, you can also reboot to recovery and sideload zip
Click to expand...
Click to collapse
Well, after 2 days of research and paying attention on things here, I found out that my problem is "/EFS error". Meaning to use ADB to recover or fix it? But I don't know how to use this. I've downloaded 3GB of it but I was lost about using, and uninstalled. Is is there any short or better version and some good tutorial about using to retrieve my EFS so I can install another roms? I'm using original stock rom now, Brazilian android 4.0 and that's the only only the device is working fine but of course missing things as my cellphone card and the yellow message at the top of the screen. Please guide me through ADB.
P.s Is there a way to create /efs or something like so the device work properly? Cause I've deleted when I installed some rom, and I have no backup here. =\
Thanks!
vitortakeda said:
Well, after 2 days of research and paying attention on things here, I found out that my problem is "/EFS error". Meaning to use ADB to recover or fix it? But I don't know how to use this. I've downloaded 3GB of it but I was lost about using, and uninstalled. Is is there any short or better version and some good tutorial about using to retrieve my EFS so I can install another roms? I'm using original stock rom now, Brazilian android 4.0 and that's the only only the device is working fine but of course missing things as my cellphone card and the yellow message at the top of the screen. Please guide me through ADB.
P.s Is there a way to create /efs or something like so the device work properly? Cause I've deleted when I installed some rom, and I have no backup here. =\
Thanks!
Click to expand...
Click to collapse
Here is tutorial about how to install ADB and Fastboot drivers and use them. Unfortunately, I don't know how to use it to restore efs. Sorry.

oneplus one bootloop, many searches, no solution

I still have bootloop issue on my oneplus one, running on Cyanogen.
First, I know nothing about developping, I have been self teaching myself over the past 2 days to solve this frustrating bootlopp issue on my oneplus one.
2 days ago I didn't know what was TWRP and adb and fastboot, I have downloaded Android SDK for developpers, Java plateform in between because it was (uselessly) needed, I have flashed images (TWRP), not knowing what flashing was about and not knowing TWRP, randomly following up scattered (and uncomplete) tutorials of forumers writing mysterious and random terms of totally unknown notions for me as a normal user.
This been written, please be clear in your answers, honestly please, maybe some readers may understand how frustrating it can be to read so called tutorials in vocabulary that only developpers can get.
So here what I did so far
1) flash TWRP with fastboot
2) Then I tried entering "make_ext4fs /dev/block/mmcblk0p15". Many posts refer to this as the ultimate solution. (I cannot post link since I am new forumer)
a) First from command, shift+right click in my "adb" folder:
"adb shell" + "make_ext4fs /dev/block/mmcblk0p15"
Didn't work
b)Then I retried in TWRP directly on my phone, going in Advanced>Terminal Command>Select, then type: make_ext4fs /dev/block/mmcblk0p15
Didin't work
3) update the system
Also, I have an update available in my android system, hoping that it could solve the bootloop. When I update, it reboots and goes to TWRP boot mode, is that normal ? If yes what am I suppose to do ? Can an update system actually solve this bootloop issue ?
So far it doesn't solve my bootlopp issue.
What do you think ? What else can we do ?
Have you tried installing (flashing) custom firmware? Go to Cyanogenmod.org, or google "Cyanogenmod 12.1 for oneplusone download", look around, download the custom firmware (Rom) should be a .zip file, move it to your phone, then install it. I can help you more if you need.
Sent from my iPhone using Tapatalk
Hey, thanks for your answer. I ll try later this week and I ll keep you informed.
Just one detail: when flashing cyanogen 12.1, does it mean I completely wipe out my phone to reinstall the rom? (As far as I understand it's like formating a computer and reinstalling window )
there after an cyanigen update. I tried and wiped out my data and so far It works. Very simple, no more than 5min (I spent hours on this problem up to now)
For other readers try this.
If not well try MeowDude advice.
Special note : it looks like update doesn't work though, when it reboots I end up on TWRP and get a message at the end of the update "file md5 not found ". A future problem oncoming? Hope not
So far everything works anyway.
And thanks to MeiwDude

Bootloop 2013 Moto G Boost Mobile XT1031 8GB

Hey guys!
To start, I want to say what an amazing place XDA is and how much information and knowledge you can get from here and how awesome the moderators are. I don't think I could ever find another amazing and/or helpful community such as those found here! Thanks to all who have helped me out with my Android issues!
Now to my issue and I apologize ahead of time if there is another thread (or related thread) found in the forum.
As the title states, I have a 2013 Motorola Moto G XT1031 Boost Mobile device. I had upgraded it to Lollipop 5.0.2 or 5.1 when it came out (I can't remember which one it was) and I had then decided to root it. I can say that I believe I was successful in rooting the device because I was able to install Supersu and use RootChecker to verify the install. Everything was going okay until i decided to research and eventually install a custom recovery and attempt to install a custom ROM. Well, let's just say that the recovery install was a bust...
In doing my research for a custom recovery, I found that TWRP had a custom recovery for my phone and apparently for my firmware via TWRP's app on the Play Store. So, I searched for my device in their in-app search for a custom recovery, downloaded it and installed it from the app. Now, my gut told me that this probably wouldn't work and that I should probably be installing a custom recovery via CLI. Nope. I didn't do this. Instead, like I said, I installed a custom recovery from the app itself. That screwed things up for me. I have no idea if it was the install, but my phone began to act incredibly strange. When in the TWRP recovery, my screen had this line that would continuously scroll from top to bottom. It wasn't a completely solid line, but it was transparent, almost like an empty thermometer glass stick was going down the screen. It was weird and not normal. I figured the phone's software was partially broken. It only did this in the TWRP recovery. Nowhere else did this happen. It was slightly annoying.
Later on I decided to install a custom ROM. Again, I did the necessary research to find out if there were any ROMs available for my phone (using XDA of course and others) and found that there were a few out there. So, I downloaded one (wish I could remember which one) and attempted to install it...keyword there. After attempting the install, my phone would not boot. Like at all. Dead. So back to the drawing board I went to try and reverse the damage. Using XDA (ironically) and a plethora of other sites, I tried to resurrect my phone and bring it back to life. After countless hours of trying and trying and trying and more and more research, I just gave up. The phone is dead. Great. $170 spent on a phone to break it a year later.
It's been roughly 4-5 months since I have attempted to redo the process and after another minor attempt, somehow I was able to remove the root completely, including the custom recovery and ROM. I don't know what the heck I did, but it worked....sort of. The phone is now stuck in a bootloop on the logo and sometimes the "bootloader has been unlocked" screen when try and factory reset the phone from the default recovery. When trying to reinstall the stock firmware, I read everywhere that I need the phone to have USB-debugging set and to have this and that. I have this and that installed on my PC, but obviously cannot enable USB-debugging which is needed for ADB and fastboot to recognize my device.
So, my question for anyone who would like to help me out is this: what are my options? Is the phone recoverable? Is there any way I can get ADB/fastboot to see my device and finally install the stock firmware on the phone? I have the proper drivers installed and ADB/fastboot are on my PC. Any help would be amazing, even if you have to tell me to junk it.
blckdragn22 said:
When trying to reinstall the stock firmware, I read everywhere that I need the phone to have USB-debugging set
Click to expand...
Click to collapse
This is incorrect, where did you read that? To reinstall the stock firmware using fastboot, you must be able to boot to the bootloader menu only.
I heard this from a few websites actually, although I could never find a situational fix for my phone. I am trying to restore back to Lollipop without a custom recovery, because within the past hour I found out TWRP was never fully removed when I tried booting into recovery from the AP Fastboot menu when doing to power+vol down option. The TWRP logo shows for about 10 seconds and then the phone tries booting normally, showing the unlocked bootloader warning.
So, yes I can boot into the bootloader menu all day long with no problems. It's just an selection I make doesn't get me anywhere. My question I guess now is: how do I go about reinstalling stock firmware via the bootloader menu. I have Minimal ADB and Fastboot installed on my PC. If I need the full ADB, I can download that. And of course I'd need the firmware, too.
You can find stock firmware images in this thread, there's also a link to an installation guide there:
http://forum.xda-developers.com/moto-g/general/index-moto-g-falcon-factory-firmware-t3110795
_that said:
You can find stock firmware images in this thread, there's also a link to an installation guide there:
http://forum.xda-developers.com/moto-g/general/index-moto-g-falcon-factory-firmware-t3110795
Click to expand...
Click to collapse
This thread had the firmware I was looking for thank you. I believe I have the flashing stock firmware process down, I hope. I'l refer to the guide if I need help. Thank you so much!
_that said:
You can find stock firmware images in this thread, there's also a link to an installation guide there:
http://forum.xda-developers.com/moto-g/general/index-moto-g-falcon-factory-firmware-t3110795
Click to expand...
Click to collapse
I am trying to follow the steps listed here http://forum.xda-developers.com/showthread.php?t=2542219&page=35 and for some reason I cannot run any of the commands pertaining to the sparsechunks. This is what I get:
Is there anything you could tell me about that?
Edit: I was able to figure what the issue was when trying to write the sparsechunks. I had to insert a "." after 'sparsechunk' because that is how the file is named in the folder. However, now I am getting a new error, but it takes place on the phone screen. Every time I attempt to write a sparsechunk, it will initiate the process of doing so, but on the phone I'll get what appears to be an error saying, "Image is too large" in pink lettering. Why does this happen? Each sparsechunk file is at least 4MB less than the max-sparse-size according to the ADB and my phone, which is set to 256MB. Is there any way to change that?
blckdragn22 said:
However, now I am getting a new error, but it takes place on the phone screen. Every time I attempt to write a sparsechunk, it will initiate the process of doing so, but on the phone I'll get what appears to be an error saying, "Image is too large" in pink lettering. Why does this happen? Each sparsechunk file is at least 4MB less than the max-sparse-size according to the ADB and my phone, which is set to 256MB. Is there any way to change that?
Click to expand...
Click to collapse
Check which sparsechunk files you have and make sure you flash all of them in ascending order. If it still fails, copy/paste the contents of your command prompt window (no screenshots please).
_that said:
Check which sparsechunk files you have and make sure you flash all of them in ascending order. If it still fails, copy/paste the contents of your command prompt window (no screenshots please).
Click to expand...
Click to collapse
I will try that. There was a ...sparsechunks.0 as well apart from sparsechunks.1, sparsechunks.2 and sparsechunks.3. Shall I include that, too?
And adding the screenshot was an amateur mistake. My bad.
@_that this worked like a charm. Phone is 100% working ans usable now. Incredibly helpful. Thank you so much!

Factory Reset Failed

Hello everyone, I have recently bought my new phone Blu Pure XL and I rooted it successfully. So as things go on I accidentally uninstall Xposed .apk and I flashed the Xposed Framework again (Which was a huge mistake); My phone would be stuck on the 2nd Boot Blu Logo screen and I read to wipe the cache. When that didn't work I just wiped everything, but.... *Sigh* Thats when things went beyond my realm of understanding. My phonr won't let me factory reset it because basically nothing is mounted.
As seen here: (make sure the "H" is connected with the "T".)
h ttp://i.imgur.com/TKHxh7R.jpg
Can anyone help? If so, how?! Anything and everything will be helpful!
Thanks!
http://forum.xda-developers.com/pure-xl/help/guide-unbrick-softbricked-blu-pure-xl-t3371981
Possible Solution Found!
tbirdguy said:
http://forum.xda-developers.com/pure-xl/help/guide-unbrick-softbricked-blu-pure-xl-t3371981
Click to expand...
Click to collapse
Thank you so much for providing this possible solution for me and I will try it out right now! I've come across this thread many of times, but I've overlooked it because it said nothing about important folders being unmounted.
Thanks!
This will definitely work... all the info you need is in that thread; read it; then read it some more, then read it one more time... then go ahead and read it again lol...
SP flash tool is your friend;
although I have few idea on possibly easier solutions (no sp flash learning curve lol)
look into flashing TWRP 2.8 from here: http://forum.xda-developers.com/pure-xl/development/twrp-twrp-blu-pure-xl-allview-x2-xtreme-t3269596 using fastboot;
then you maybe can flash the BLU ROM from here: http://forum.xda-developers.com/pure-xl/general/rom-blu-pure-xl-stock-rom-t3382722 and hope it fixes your issue (if you already have twrp make sure u are using 2.8; 3.0+ has issues with partition corruption (kinda sounds like what happened to you)
if your partition table is messed up follow the unbrick thread especially the section about flashing the condor COMPLETE rom via fastboot then reflashing to BLU (the condor ROM flash fixes the partitions so you can flash the BLU stuff)
Wish you luck and once again READ (I can be kind of an ass when it comes to questions asked without research, just FYI lol, but I do try to help those who help themselves!)

Categories

Resources