<human>: Give me the gist of the text in a nutshell

My boyfriend and I have been together for almost 3 years. Tonight, I bought him balloons and a card stating that I loved him and I was happy he got into a school he had applied for. He started crying, hugged me and said he didn't deserve me. He proceeded to talk about his issues with porn and that I was perfect. After that was spoken, he told me he cheated on me with a random in LA.

I am at a loss.. It makes sense now, since we had sex twice since he came back. He wasn't able to keep hard the first time, and the second time he had no issue. 

I don't know where to go... This all happened mere hours ago. I walked out without saying anything. He called an hour after I left. 

Do I give him another chance? Do we try to work on our problems? I don't understand. My feelings are crestfallen. Should I call him tonight? I'm so lost. Can you ever trust anyone after that?
<bot>: Boyfriend of 2.5 years cheated on me with a random on vacation, confessed it to me in a state of guilt. What do I do?