kod çok uzun o yüzden koyamıyorum link halinde verdim