Generate chord structures that harmonize with the provided piece of music.
D |: GABG AGED | GABd edge | dBGB AGEG | DEGB AGED | GABG AGED | GABd efga | 
 gedB AGEG |1 DEGB AEGD :|2 DEGB AE G2 |: dega bd'ba | gedg edge | dega bd'ba | 
 gedg e2 ge | dega bd'ba | gedg edge | dBGB AGEG | DEGB AE G2 ::{A} [GB]6 [GB]2 | 
{A} [GB]3 [GB] AGEG | [GB]4{A} [GB]2 [GB]2 | DEGB AGED | GABG AGED | GABd efga | 
 gedB AGEG | DEGB AE G2 :| e g2 a g3 e | gedg ed g2 | e g2 a g3 e | ge d2 e4 | 
 e g2 a g3 e | gedg ed g2 | EFGE DCB,A, | DEGB AE G2 | e g2 a g3 e | gedg ed g2 | 
 e g2 a b3 e | ge d2 e4- | e2 ga b3 a | bagd efge | DEGB AGEG | DEGB AEGE |: 
 GABG AGED | GABd edge | dBGB AGEG | DEGB AGED | GABG AGED | GABd efga | gedB AGEG |1 
 DEGB AEGD :|2 DEGB AE G2 |: B,4- B,A,G,A, | B,CDG EFGE | A,B, D2 B,A,G,A, | 
 B,A,B,G, A,3 B, | G,A,B,C B,A,G,A, | B,CDG EFGE | DB,DG EFGA |1 BGAF G3 :|2 
 BGAF G3 ||  
X:1
L:1/8
M:2/2
K:G
 D |:"G" GABG AGED | GABd edge | dBGB AGEG | DEGB"D7" AGED |"G" GABG AGED | GABd efga | 
 gedB AGEG |1"D7" DEGB"G" AEGD :|2"D7" DEGB"G" AE G2 |:"G" dega bd'ba | gedg edge | dega bd'ba | 
 gedg"Em" e2 ge |"G" dega bd'ba | gedg edge | dBGB AGEG |"D7" DEGB"G" AE G2 ::{A}"G" [GB]6 [GB]2 | 
{A} [GB]3 [GB] AGEG | [GB]4{A} [GB]2 [GB]2 |"D7" DEGB"G" AGED |"G" GABG AGED | GABd efga | 
 gedB AGEG |"D7" DEGB"G" AE G2 :|"G" e g2 a g3 e | gedg ed g2 | e g2 a g3 e | ge d2"Em" e4 | 
"G" e g2 a g3 e | gedg ed g2 | EFGE DCB,A, |"D7" DEGB"G" AE G2 |"G" e g2 a g3 e | gedg ed g2 | 
 e g2 a b3 e | ge d2"Em" e4- |"G" e2 ga b3 a | bagd efge | DEGB AGEG |"D7" DEGB"G" AEGE |: 
"G" GABG AGED | GABd edge | dBGB AGEG | DEGB"D7" AGED |"G" GABG AGED | GABd efga | gedB AGEG |1 
"D7" DEGB"G" AEGD :|2"D7" DEGB"G" AE G2 |:"G" B,4- B,A,G,A, | B,CDG EFGE | A,B, D2 B,A,G,A, | 
 B,A,B,G,"D7" A,3 B, |"G" G,A,B,C B,A,G,A, |"G" B,CDG EFGE | DB,DG EFGA |1"D7" BGAF"G" G3 :|2 
"D7" BGAF"G" G3 ||  