0 && Not[SumSimplerQ[p,1] && Not[SumSimplerQ[m,1]]]
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_.+f_.*x_)^p_.,x_Symbol] :=
+ b*(a+b*x)^(m+1)*(c+d*x)^(n+1)*(e+f*x)^(p+1)/((m+1)*(b*c-a*d)*(b*e-a*f)) /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && EqQ[Simplify[m+n+p+3],0] && EqQ[a*d*f*(m+1)+b*c*f*(n+1)+b*d*e*(p+1),0] && NeQ[m,-1]
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_.+f_.*x_)^p_.,x_Symbol] :=
+ b*(a+b*x)^(m+1)*(c+d*x)^(n+1)*(e+f*x)^(p+1)/((m+1)*(b*c-a*d)*(b*e-a*f)) +
+ (a*d*f*(m+1)+b*c*f*(n+1)+b*d*e*(p+1))/((m+1)*(b*c-a*d)*(b*e-a*f))*Int[(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && EqQ[Simplify[m+n+p+3],0] && (RationalQ[m] && m<-1 || SumSimplerQ[m,1])
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_.+f_.*x_)^p_.,x_Symbol] :=
+ (a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^p/(b*(m+1)) -
+ 1/(b*(m+1))*Int[(a+b*x)^(m+1)*(c+d*x)^(n-1)*(e+f*x)^(p-1)*Simp[d*e*n+c*f*p+d*f*(n+p)*x,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && RationalQ[m,n,p] && m<-1 && n>0 && p>0 && (IntegersQ[2*m,2*n,2*p] || IntegersQ[m,n+p] || IntegersQ[p,m+n])
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_.+f_.*x_)^p_.,x_Symbol] :=
+ (b*c-a*d)*(a+b*x)^(m+1)*(c+d*x)^(n-1)*(e+f*x)^(p+1)/(b*(b*e-a*f)*(m+1)) +
+ 1/(b*(b*e-a*f)*(m+1))*Int[(a+b*x)^(m+1)*(c+d*x)^(n-2)*(e+f*x)^p*
+ Simp[a*d*(d*e*(n-1)+c*f*(p+1))+b*c*(d*e*(m-n+2)-c*f*(m+p+2))+d*(a*d*f*(n+p)+b*(d*e*(m+1)-c*f*(m+n+p+1)))*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && RationalQ[m,n,p] && m<-1 && n>1 && (IntegersQ[2*m,2*n,2*p] || IntegersQ[m,n+p] || IntegersQ[p,m+n])
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_.+f_.*x_)^p_.,x_Symbol] :=
+ (a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^(p+1)/((m+1)*(b*e-a*f)) -
+ 1/((m+1)*(b*e-a*f))*Int[(a+b*x)^(m+1)*(c+d*x)^(n-1)*(e+f*x)^p*
+ Simp[d*e*n+c*f*(m+p+2)+d*f*(m+n+p+2)*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && RationalQ[m,n,p] && m<-1 && n>0 && (IntegersQ[2*m,2*n,2*p] || IntegersQ[m,n+p] || IntegersQ[p,m+n])
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_.+f_.*x_)^p_.,x_Symbol] :=
+ b*(a+b*x)^(m-1)*(c+d*x)^(n+1)*(e+f*x)^(p+1)/(d*f*(m+n+p+1)) +
+ 1/(d*f*(m+n+p+1))*Int[(a+b*x)^(m-2)*(c+d*x)^n*(e+f*x)^p*
+ Simp[a^2*d*f*(m+n+p+1)-b*(b*c*e*(m-1)+a*(d*e*(n+1)+c*f*(p+1)))+b*(a*d*f*(2*m+n+p)-b*(d*e*(m+n)+c*f*(m+p)))*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,n,p},x] && RationalQ[m] && m>1 && NeQ[m+n+p+1,0] && IntegerQ[m]
+
+
+Int[(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_.*(e_.+f_.*x_)^p_.,x_Symbol] :=
+ (a+b*x)^m*(c+d*x)^n*(e+f*x)^(p+1)/(f*(m+n+p+1)) -
+ 1/(f*(m+n+p+1))*Int[(a+b*x)^(m-1)*(c+d*x)^(n-1)*(e+f*x)^p*
+ Simp[c*m*(b*e-a*f)+a*n*(d*e-c*f)+(d*m*(b*e-a*f)+b*n*(d*e-c*f))*x,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && RationalQ[m,n,p] && m>0 && n>0 && NeQ[m+n+p+1,0] &&
+ (IntegersQ[2*m,2*n,2*p] || (IntegersQ[m,n+p] || IntegersQ[p,m+n]))
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_.+f_.*x_)^p_.,x_Symbol] :=
+ b*(a+b*x)^(m-1)*(c+d*x)^(n+1)*(e+f*x)^(p+1)/(d*f*(m+n+p+1)) +
+ 1/(d*f*(m+n+p+1))*Int[(a+b*x)^(m-2)*(c+d*x)^n*(e+f*x)^p*
+ Simp[a^2*d*f*(m+n+p+1)-b*(b*c*e*(m-1)+a*(d*e*(n+1)+c*f*(p+1)))+b*(a*d*f*(2*m+n+p)-b*(d*e*(m+n)+c*f*(m+p)))*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,n,p},x] && RationalQ[m] && m>1 && NeQ[m+n+p+1,0] && IntegersQ[2*m,2*n,2*p]
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_.+f_.*x_)^p_.,x_Symbol] :=
+ b*(a+b*x)^(m+1)*(c+d*x)^(n+1)*(e+f*x)^(p+1)/((m+1)*(b*c-a*d)*(b*e-a*f)) +
+ 1/((m+1)*(b*c-a*d)*(b*e-a*f))*Int[(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^p*
+ Simp[a*d*f*(m+1)-b*(d*e*(m+n+2)+c*f*(m+p+2))-b*d*f*(m+n+p+3)*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,n,p},x] && RationalQ[m] && m<-1 && IntegerQ[m] && (IntegerQ[n] || IntegersQ[2*n,2*p])
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_.+f_.*x_)^p_.,x_Symbol] :=
+ b*(a+b*x)^(m+1)*(c+d*x)^(n+1)*(e+f*x)^(p+1)/((m+1)*(b*c-a*d)*(b*e-a*f)) +
+ 1/((m+1)*(b*c-a*d)*(b*e-a*f))*Int[(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^p*
+ Simp[a*d*f*(m+1)-b*(d*e*(m+n+2)+c*f*(m+p+2))-b*d*f*(m+n+p+3)*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,n,p},x] && RationalQ[m] && m<-1 && IntegersQ[2*m,2*n,2*p]
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_/(e_.+f_.*x_),x_Symbol] :=
+ b/f*Int[(a+b*x)^(m-1)*(c+d*x)^n,x] - (b*e-a*f)/f*Int[(a+b*x)^(m-1)*(c+d*x)^n/(e+f*x),x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && PositiveIntegerQ[Simplify[m+n+1]] &&
+ (RationalQ[m] && m>0 || Not[RationalQ[m]] && (SumSimplerQ[m,-1] || Not[SumSimplerQ[n,-1]]))
+
+
+(* Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_,x_Symbol] :=
+ b/f*Int[(a+b*x)^(m-1)*(c+d*x)^n*(e+f*x)^(p+1),x] - (b*e-a*f)/f*Int[(a+b*x)^(m-1)*(c+d*x)^n*(e+f*x)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && NegativeIntegerQ[p] && PositiveIntegerQ[m+n+p+2] && Not[SimplerQ[c+d*x,a+b*x]] *)
+
+
+Int[1/((a_.+b_.*x_)*Sqrt[c_.+d_.*x_]*(e_.+f_.*x_)^(1/4)),x_Symbol] :=
+ -4*Subst[Int[x^2/((b*e-a*f-b*x^4)*Sqrt[c-d*e/f+d*x^4/f]),x],x,(e+f*x)^(1/4)] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveQ[-f/(d*e-c*f)]
+
+
+Int[1/((a_.+b_.*x_)*Sqrt[c_.+d_.*x_]*(e_.+f_.*x_)^(1/4)),x_Symbol] :=
+ Sqrt[-f*(c+d*x)/(d*e-c*f)]/Sqrt[c+d*x]*Int[1/((a+b*x)*Sqrt[-c*f/(d*e-c*f)-d*f*x/(d*e-c*f)]*(e+f*x)^(1/4)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && Not[PositiveQ[-f/(d*e-c*f)]]
+
+
+Int[1/((a_.+b_.*x_)*Sqrt[c_.+d_.*x_]*(e_.+f_.*x_)^(3/4)),x_Symbol] :=
+ -4*Subst[Int[1/((b*e-a*f-b*x^4)*Sqrt[c-d*e/f+d*x^4/f]),x],x,(e+f*x)^(1/4)] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveQ[-f/(d*e-c*f)]
+
+
+Int[1/((a_.+b_.*x_)*Sqrt[c_.+d_.*x_]*(e_.+f_.*x_)^(3/4)),x_Symbol] :=
+ Sqrt[-f*(c+d*x)/(d*e-c*f)]/Sqrt[c+d*x]*Int[1/((a+b*x)*Sqrt[-c*f/(d*e-c*f)-d*f*x/(d*e-c*f)]*(e+f*x)^(3/4)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && Not[PositiveQ[-f/(d*e-c*f)]]
+
+
+Int[Sqrt[e_+f_.*x_]/(Sqrt[b_.*x_]*Sqrt[c_+d_.*x_]),x_Symbol] :=
+ 2*Sqrt[e]/b*Rt[-b/d,2]*EllipticE[ArcSin[Sqrt[b*x]/(Sqrt[c]*Rt[-b/d,2])],c*f/(d*e)] /;
+FreeQ[{b,c,d,e,f},x] && NeQ[d*e-c*f,0] && PositiveQ[c] && PositiveQ[e] && Not[NegativeQ[-b/d]]
+
+
+Int[Sqrt[e_+f_.*x_]/(Sqrt[b_.*x_]*Sqrt[c_+d_.*x_]),x_Symbol] :=
+ Sqrt[-b*x]/Sqrt[b*x]*Int[Sqrt[e+f*x]/(Sqrt[-b*x]*Sqrt[c+d*x]),x] /;
+FreeQ[{b,c,d,e,f},x] && NeQ[d*e-c*f,0] && PositiveQ[c] && PositiveQ[e] && NegativeQ[-b/d]
+
+
+Int[Sqrt[e_+f_.*x_]/(Sqrt[b_.*x_]*Sqrt[c_+d_.*x_]),x_Symbol] :=
+ Sqrt[e+f*x]*Sqrt[1+d*x/c]/(Sqrt[c+d*x]*Sqrt[1+f*x/e])*Int[Sqrt[1+f*x/e]/(Sqrt[b*x]*Sqrt[1+d*x/c]),x] /;
+FreeQ[{b,c,d,e,f},x] && NeQ[d*e-c*f,0] && Not[PositiveQ[c] && PositiveQ[e]]
+
+
+(* Int[Sqrt[e_.+f_.*x_]/(Sqrt[a_+b_.*x_]*Sqrt[c_+d_.*x_]),x_Symbol] :=
+ f/b*Int[Sqrt[a+b*x]/(Sqrt[c+d*x]*Sqrt[e+f*x]),x] -
+ f/b*Int[1/(Sqrt[a+b*x]*Sqrt[c+d*x]*Sqrt[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[b*e-f*(a-1),0] *)
+
+
+(* Int[Sqrt[e_.+f_.*x_]/(Sqrt[a_+b_.*x_]*Sqrt[c_+d_.*x_]),x_Symbol] :=
+ 2/b*Rt[-(b*c-a*d)/d,2]*Sqrt[(b*e-a*f)/(b*c-a*d)]*
+ EllipticE[ArcSin[Sqrt[a+b*x]/Rt[-(b*c-a*d)/d,2]],f*(b*c-a*d)/(d*(b*e-a*f))] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveQ[b/(b*c-a*d)] && PositiveQ[b/(b*e-a*f)] && Not[NegativeQ[-(b*c-a*d)/d]] &&
+ Not[SimplerQ[c+d*x,a+b*x] && PositiveQ[-d/(b*c-a*d)] && PositiveQ[d/(d*e-c*f)] && Not[NegativeQ[(b*c-a*d)/b]]] *)
+
+
+Int[Sqrt[e_.+f_.*x_]/(Sqrt[a_+b_.*x_]*Sqrt[c_+d_.*x_]),x_Symbol] :=
+ 2/b*Rt[-(b*e-a*f)/d,2]*EllipticE[ArcSin[Sqrt[a+b*x]/Rt[-(b*c-a*d)/d,2]],f*(b*c-a*d)/(d*(b*e-a*f))] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveQ[b/(b*c-a*d)] && PositiveQ[b/(b*e-a*f)] && Not[NegativeQ[-(b*c-a*d)/d]] &&
+ Not[SimplerQ[c+d*x,a+b*x] && PositiveQ[-d/(b*c-a*d)] && PositiveQ[d/(d*e-c*f)] && Not[NegativeQ[(b*c-a*d)/b]]]
+
+
+Int[Sqrt[e_.+f_.*x_]/(Sqrt[a_+b_.*x_]*Sqrt[c_+d_.*x_]),x_Symbol] :=
+ Sqrt[e+f*x]*Sqrt[b*(c+d*x)/(b*c-a*d)]/(Sqrt[c+d*x]*Sqrt[b*(e+f*x)/(b*e-a*f)])*
+ Int[Sqrt[b*e/(b*e-a*f)+b*f*x/(b*e-a*f)]/(Sqrt[a+b*x]*Sqrt[b*c/(b*c-a*d)+b*d*x/(b*c-a*d)]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && Not[PositiveQ[b/(b*c-a*d)] && PositiveQ[b/(b*e-a*f)]] && Not[NegativeQ[-(b*c-a*d)/d]]
+
+
+Int[1/(Sqrt[b_.*x_]*Sqrt[c_+d_.*x_]*Sqrt[e_+f_.*x_]),x_Symbol] :=
+ 2/(b*Sqrt[e])*Rt[-b/d,2]*EllipticF[ArcSin[Sqrt[b*x]/(Sqrt[c]*Rt[-b/d,2])],c*f/(d*e)] /;
+FreeQ[{b,c,d,e,f},x] && PositiveQ[c] && PositiveQ[e] && (PositiveQ[-b/d] || NegativeQ[-b/f])
+
+
+Int[1/(Sqrt[b_.*x_]*Sqrt[c_+d_.*x_]*Sqrt[e_+f_.*x_]),x_Symbol] :=
+ 2/(b*Sqrt[e])*Rt[-b/d,2]*EllipticF[ArcSin[Sqrt[b*x]/(Sqrt[c]*Rt[-b/d,2])],c*f/(d*e)] /;
+FreeQ[{b,c,d,e,f},x] && PositiveQ[c] && PositiveQ[e] && (PosQ[-b/d] || NegQ[-b/f])
+
+
+Int[1/(Sqrt[b_.*x_]*Sqrt[c_+d_.*x_]*Sqrt[e_+f_.*x_]),x_Symbol] :=
+ Sqrt[1+d*x/c]*Sqrt[1+f*x/e]/(Sqrt[c+d*x]*Sqrt[e+f*x])*Int[1/(Sqrt[b*x]*Sqrt[1+d*x/c]*Sqrt[1+f*x/e]),x] /;
+FreeQ[{b,c,d,e,f},x] && Not[PositiveQ[c] && PositiveQ[e]]
+
+
+Int[1/(Sqrt[a_+b_.*x_]*Sqrt[c_+d_.*x_]*Sqrt[e_+f_.*x_]),x_Symbol] :=
+ 2/b*Rt[-(b*c-a*d)/d,2]*Sqrt[b^2/((b*c-a*d)*(b*e-a*f))]*
+ EllipticF[ArcSin[Sqrt[a+b*x]/Rt[-(b*c-a*d)/d,2]],f*(b*c-a*d)/(d*(b*e-a*f))] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveQ[b/(b*c-a*d)] && PositiveQ[b/(b*e-a*f)] && SimplerQ[a+b*x,c+d*x] && SimplerQ[a+b*x,e+f*x] &&
+ (PositiveQ[-(b*c-a*d)/d] || NegativeQ[-(b*e-a*f)/f])
+
+
+Int[1/(Sqrt[a_+b_.*x_]*Sqrt[c_+d_.*x_]*Sqrt[e_+f_.*x_]),x_Symbol] :=
+ 2/b*Rt[-(b*c-a*d)/d,2]*Sqrt[b^2/((b*c-a*d)*(b*e-a*f))]*
+ EllipticF[ArcSin[Sqrt[a+b*x]/Rt[-(b*c-a*d)/d,2]],f*(b*c-a*d)/(d*(b*e-a*f))] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveQ[b/(b*c-a*d)] && PositiveQ[b/(b*e-a*f)] && SimplerQ[a+b*x,c+d*x] && SimplerQ[a+b*x,e+f*x] &&
+ (PosQ[-(b*c-a*d)/d] || NegQ[-(b*e-a*f)/f])
+
+
+Int[1/(Sqrt[a_+b_.*x_]*Sqrt[c_+d_.*x_]*Sqrt[e_+f_.*x_]),x_Symbol] :=
+ Sqrt[b*(c+d*x)/(b*c-a*d)]*Sqrt[b*(e+f*x)/(b*e-a*f)]/(Sqrt[c+d*x]*Sqrt[e+f*x])*
+ Int[1/(Sqrt[a+b*x]*Sqrt[b*c/(b*c-a*d)+b*d*x/(b*c-a*d)]*Sqrt[b*e/(b*e-a*f)+b*f*x/(b*e-a*f)]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && Not[PositiveQ[b/(b*c-a*d)] && PositiveQ[b/(b*e-a*f)]] && SimplerQ[a+b*x,c+d*x] && SimplerQ[a+b*x,e+f*x]
+
+
+Int[1/((a_.+b_.*x_)*(c_.+d_.*x_)^(1/3)*(e_.+f_.*x_)^(1/3)),x_Symbol] :=
+ With[{q=Rt[b*(b*e-a*f)/(b*c-a*d)^2,3]},
+ -Log[a+b*x]/(2*q*(b*c-a*d)) -
+ Sqrt[3]*ArcTan[1/Sqrt[3]+2*q*(c+d*x)^(2/3)/(Sqrt[3]*(e+f*x)^(1/3))]/(2*q*(b*c-a*d)) +
+ 3*Log[q*(c+d*x)^(2/3)-(e+f*x)^(1/3)]/(4*q*(b*c-a*d))] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[2*b*d*e-b*c*f-a*d*f,0]
+
+
+Int[(a_.+b_.*x_)^m_/((c_.+d_.*x_)^(1/3)*(e_.+f_.*x_)^(1/3)),x_Symbol] :=
+ b*(a+b*x)^(m+1)*(c+d*x)^(2/3)*(e+f*x)^(2/3)/((m+1)*(b*c-a*d)*(b*e-a*f)) +
+ f/(6*(m+1)*(b*c-a*d)*(b*e-a*f))*
+ Int[(a+b*x)^(m+1)*(a*d*(3*m+1)-3*b*c*(3*m+5)-2*b*d*(3*m+7)*x)/((c+d*x)^(1/3)*(e+f*x)^(1/3)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[2*b*d*e-b*c*f-a*d*f,0] && IntegerQ[m] && m<-1
+
+
+Int[(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_.*(f_.*x_)^p_.,x_Symbol] :=
+ Int[(a*c+b*d*x^2)^m*(f*x)^p,x] /;
+FreeQ[{a,b,c,d,f,m,n,p},x] && EqQ[b*c+a*d,0] && EqQ[m-n,0] && PositiveQ[a] && PositiveQ[c]
+
+
+Int[(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_.*(f_.*x_)^p_.,x_Symbol] :=
+ (a+b*x)^FracPart[m]*(c+d*x)^FracPart[m]/(a*c+b*d*x^2)^FracPart[m]*Int[(a*c+b*d*x^2)^m*(f*x)^p,x] /;
+FreeQ[{a,b,c,d,f,m,n,p},x] && EqQ[b*c+a*d,0] && EqQ[m-n,0]
+
+
+Int[(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_.*(f_.*x_)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*x)^n*(c+d*x)^n*(f*x)^p,(a+b*x)^(m-n),x],x] /;
+FreeQ[{a,b,c,d,f,m,n,p},x] && EqQ[b*c+a*d,0] && PositiveIntegerQ[m-n] && NeQ[m+n+p+2,0]
+
+
+Int[(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_.*(e_.+f_.*x_)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*x)^m*(c+d*x)^n*(e+f*x)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,n,p},x] && (PositiveIntegerQ[m] || NegativeIntegerQ[m,n])
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_.+f_.*x_)^p_.,x_Symbol] :=
+ b*(a+b*x)^(m+1)*(c+d*x)^(n+1)*(e+f*x)^(p+1)/((m+1)*(b*c-a*d)*(b*e-a*f)) +
+ 1/((m+1)*(b*c-a*d)*(b*e-a*f))*Int[(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^p*
+ Simp[a*d*f*(m+1)-b*(d*e*(m+n+2)+c*f*(m+p+2))-b*d*f*(m+n+p+3)*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && NegativeIntegerQ[m+n+p+2] && NeQ[m,-1] &&
+ (SumSimplerQ[m,1] || Not[NeQ[n,-1] && SumSimplerQ[n,1]] && Not[NeQ[p,-1] && SumSimplerQ[p,1]])
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_.+f_.*x_)^p_,x_Symbol] :=
+ (b*c-a*d)^n*(a+b*x)^(m+1)/((m+1)*(b*e-a*f)^(n+1)*(e+f*x)^(m+1))*
+ Hypergeometric2F1[m+1,-n,m+2,-(d*e-c*f)*(a+b*x)/((b*c-a*d)*(e+f*x))] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[m+n+p+2,0] && NegativeIntegerQ[n]
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_,x_Symbol] :=
+ (a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^(p+1)/((b*e-a*f)*(m+1))*((b*e-a*f)*(c+d*x)/((b*c-a*d)*(e+f*x)))^(-n)*
+ Hypergeometric2F1[m+1,-n,m+2,-(d*e-c*f)*(a+b*x)/((b*c-a*d)*(e+f*x))] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && EqQ[m+n+p+2,0] && Not[IntegerQ[n]]
+
+
+Int[(b_.*x_)^m_*(c_+d_.*x_)^n_*(e_+f_.*x_)^p_,x_Symbol] :=
+ c^n*e^p*(b*x)^(m+1)/(b*(m+1))*AppellF1[m+1,-n,-p,m+2,-d*x/c,-f*x/e] /;
+FreeQ[{b,c,d,e,f,m,n,p},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && PositiveQ[c] && (IntegerQ[p] || PositiveQ[e])
+
+
+Int[(b_.*x_)^m_*(c_+d_.*x_)^n_*(e_+f_.*x_)^p_,x_Symbol] :=
+ (c+d*x)^(n+1)/(d*(n+1)*(-d/(b*c))^m*(d/(d*e-c*f))^p)*AppellF1[n+1,-m,-p,n+2,1+d*x/c,-f*(c+d*x)/(d*e-c*f)] /;
+FreeQ[{b,c,d,e,f,m,n,p},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && PositiveQ[-d/(b*c)] && (IntegerQ[p] || PositiveQ[d/(d*e-c*f)])
+
+
+Int[(b_.*x_)^m_*(c_+d_.*x_)^n_*(e_+f_.*x_)^p_,x_Symbol] :=
+ c^IntPart[n]*(c+d*x)^FracPart[n]/(1+d*x/c)^FracPart[n]*Int[(b*x)^m*(1+d*x/c)^n*(e+f*x)^p,x] /;
+FreeQ[{b,c,d,e,f,m,n,p},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && Not[PositiveQ[c]]
+
+
+Int[(a_+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_,x_Symbol] :=
+ (b*e-a*f)^p*(a+b*x)^(m+1)/(b^(p+1)*(m+1)*(b/(b*c-a*d))^n)*
+ AppellF1[m+1,-n,-p,m+2,-d*(a+b*x)/(b*c-a*d),-f*(a+b*x)/(b*e-a*f)] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && IntegerQ[p] && PositiveQ[b/(b*c-a*d)] &&
+ Not[PositiveQ[d/(d*a-c*b)] && SimplerQ[c+d*x,a+b*x]]
+
+
+Int[(a_+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_,x_Symbol] :=
+ (c+d*x)^FracPart[n]/((b/(b*c-a*d))^IntPart[n]*(b*(c+d*x)/(b*c-a*d))^FracPart[n])*
+ Int[(a+b*x)^m*(b*c/(b*c-a*d)+b*d*x/(b*c-a*d))^n*(e+f*x)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && IntegerQ[p] && Not[PositiveQ[b/(b*c-a*d)]] &&
+ Not[SimplerQ[c+d*x,a+b*x]]
+
+
+Int[(a_+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_,x_Symbol] :=
+ (a+b*x)^(m+1)/(b*(m+1)*(b/(b*c-a*d))^n*(b/(b*e-a*f))^p)*AppellF1[m+1,-n,-p,m+2,-d*(a+b*x)/(b*c-a*d),-f*(a+b*x)/(b*e-a*f)] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && Not[IntegerQ[p]] &&
+ PositiveQ[b/(b*c-a*d)] && PositiveQ[b/(b*e-a*f)] &&
+ Not[PositiveQ[d/(d*a-c*b)] && PositiveQ[d/(d*e-c*f)] && SimplerQ[c+d*x,a+b*x]] &&
+ Not[PositiveQ[f/(f*a-e*b)] && PositiveQ[f/(f*c-e*d)] && SimplerQ[e+f*x,a+b*x]]
+
+
+Int[(a_+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_,x_Symbol] :=
+ (e+f*x)^FracPart[p]/((b/(b*e-a*f))^IntPart[p]*(b*(e+f*x)/(b*e-a*f))^FracPart[p])*
+ Int[(a+b*x)^m*(c+d*x)^n*(b*e/(b*e-a*f)+b*f*x/(b*e-a*f))^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && Not[IntegerQ[p]] &&
+ PositiveQ[b/(b*c-a*d)] && Not[PositiveQ[b/(b*e-a*f)]]
+
+
+Int[(a_+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_,x_Symbol] :=
+ (c+d*x)^FracPart[n]/((b/(b*c-a*d))^IntPart[n]*(b*(c+d*x)/(b*c-a*d))^FracPart[n])*
+ Int[(a+b*x)^m*(b*c/(b*c-a*d)+b*d*x/(b*c-a*d))^n*(e+f*x)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && Not[IntegerQ[p]] && Not[PositiveQ[b/(b*c-a*d)]] &&
+ Not[SimplerQ[c+d*x,a+b*x]] && Not[SimplerQ[e+f*x,a+b*x]]
+
+
+Int[(a_.+b_.*u_)^m_.*(c_.+d_.*u_)^n_.*(e_+f_.*u_)^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*x)^m*(c+d*x)^n*(e+f*x)^p,x],x,u] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && LinearQ[u,x] && NeQ[u-x,0]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.1.1.4 (a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q*)
+
+
+Int[(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_.*(e_+f_.*x_)*(g_.+h_.*x_),x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*x)^m*(c+d*x)^n*(e+f*x)*(g+h*x),x],x] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && (PositiveIntegerQ[m] || IntegersQ[m,n])
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_+f_.*x_)*(g_.+h_.*x_),x_Symbol] :=
+ (b^2*d*e*g-a^2*d*f*h*m-a*b*(d*(f*g+e*h)-c*f*h*(m+1))+b*f*h*(b*c-a*d)*(m+1)*x)*(a+b*x)^(m+1)*(c+d*x)^(n+1)/
+ (b^2*d*(b*c-a*d)*(m+1)) +
+ (a*d*f*h*m+b*(d*(f*g+e*h)-c*f*h*(m+2)))/(b^2*d)*Int[(a+b*x)^(m+1)*(c+d*x)^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n},x] && EqQ[m+n+2,0] && NeQ[m,-1] && Not[SumSimplerQ[n,1] && Not[SumSimplerQ[m,1]]]
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_+f_.*x_)*(g_.+h_.*x_),x_Symbol] :=
+ (b^2*c*d*e*g*(n+1)+a^2*c*d*f*h*(n+1)+a*b*(d^2*e*g*(m+1)+c^2*f*h*(m+1)-c*d*(f*g+e*h)*(m+n+2))+
+ (a^2*d^2*f*h*(n+1)-a*b*d^2*(f*g+e*h)*(n+1)+b^2*(c^2*f*h*(m+1)-c*d*(f*g+e*h)*(m+1)+d^2*e*g*(m+n+2)))*x)/
+ (b*d*(b*c-a*d)^2*(m+1)*(n+1))*(a+b*x)^(m+1)*(c+d*x)^(n+1) -
+ (a^2*d^2*f*h*(2+3*n+n^2)+a*b*d*(n+1)*(2*c*f*h*(m+1)-d*(f*g+e*h)*(m+n+3))+
+ b^2*(c^2*f*h*(2+3*m+m^2)-c*d*(f*g+e*h)*(m+1)*(m+n+3)+d^2*e*g*(6+m^2+5*n+n^2+m*(2*n+5))))/
+ (b*d*(b*c-a*d)^2*(m+1)*(n+1))*Int[(a+b*x)^(m+1)*(c+d*x)^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && RationalQ[m,n] && m<-1 && n<-1
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_+f_.*x_)*(g_.+h_.*x_),x_Symbol] :=
+ (b^3*c*e*g*(m+2)-a^3*d*f*h*(n+2)-a^2*b*(c*f*h*m-d*(f*g+e*h)*(m+n+3))-a*b^2*(c*(f*g+e*h)+d*e*g*(2*m+n+4))+
+ b*(a^2*d*f*h*(m-n)-a*b*(2*c*f*h*(m+1)-d*(f*g+e*h)*(n+1))+b^2*(c*(f*g+e*h)*(m+1)-d*e*g*(m+n+2)))*x)/
+ (b^2*(b*c-a*d)^2*(m+1)*(m+2))*(a+b*x)^(m+1)*(c+d*x)^(n+1) +
+ (f*h/b^2-(d*(m+n+3)*(a^2*d*f*h*(m-n)-a*b*(2*c*f*h*(m+1)-d*(f*g+e*h)*(n+1))+b^2*(c*(f*g+e*h)*(m+1)-d*e*g*(m+n+2))))/
+ (b^2*(b*c-a*d)^2*(m+1)*(m+2)))*
+ Int[(a+b*x)^(m+2)*(c+d*x)^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n},x] && (RationalQ[m] && m<-2 || EqQ[m+n+3,0] && Not[RationalQ[n] && n<-2])
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_+f_.*x_)*(g_.+h_.*x_),x_Symbol] :=
+ (a^2*d*f*h*(n+2)+b^2*d*e*g*(m+n+3)+a*b*(c*f*h*(m+1)-d*(f*g+e*h)*(m+n+3))+b*f*h*(b*c-a*d)*(m+1)*x)/
+ (b^2*d*(b*c-a*d)*(m+1)*(m+n+3))*(a+b*x)^(m+1)*(c+d*x)^(n+1) -
+ (a^2*d^2*f*h*(n+1)*(n+2)+a*b*d*(n+1)*(2*c*f*h*(m+1)-d*(f*g+e*h)*(m+n+3))+
+ b^2*(c^2*f*h*(m+1)*(m+2)-c*d*(f*g+e*h)*(m+1)*(m+n+3)+d^2*e*g*(m+n+2)*(m+n+3)))/
+ (b^2*d*(b*c-a*d)*(m+1)*(m+n+3))*Int[(a+b*x)^(m+1)*(c+d*x)^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n},x] && (RationalQ[m] && -2<=m<-1 || SumSimplerQ[m,1]) && NeQ[m,-1] && NeQ[m+n+3,0]
+
+
+Int[(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_.*(e_+f_.*x_)*(g_.+h_.*x_),x_Symbol] :=
+ -(a*d*f*h*(n+2)+b*c*f*h*(m+2)-b*d*(f*g+e*h)*(m+n+3)-b*d*f*h*(m+n+2)*x)*(a+b*x)^(m+1)*(c+d*x)^(n+1)/
+ (b^2*d^2*(m+n+2)*(m+n+3)) +
+ (a^2*d^2*f*h*(n+1)*(n+2)+a*b*d*(n+1)*(2*c*f*h*(m+1)-d*(f*g+e*h)*(m+n+3))+
+ b^2*(c^2*f*h*(m+1)*(m+2)-c*d*(f*g+e*h)*(m+1)*(m+n+3)+d^2*e*g*(m+n+2)*(m+n+3)))/
+ (b^2*d^2*(m+n+2)*(m+n+3))*Int[(a+b*x)^m*(c+d*x)^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n},x] && NeQ[m+n+2,0] && NeQ[m+n+3,0]
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*x)^m*(c+d*x)^n*(e+f*x)^p*(g+h*x),x],x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m},x] && (IntegersQ[m,n,p] || PositiveIntegerQ[n,p])
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
+ (b*g-a*h)*(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^(p+1)/(b*(b*e-a*f)*(m+1)) -
+ 1/(b*(b*e-a*f)*(m+1))*Int[(a+b*x)^(m+1)*(c+d*x)^(n-1)*(e+f*x)^p*
+ Simp[b*c*(f*g-e*h)*(m+1)+(b*g-a*h)*(d*e*n+c*f*(p+1))+d*(b*(f*g-e*h)*(m+1)+f*(b*g-a*h)*(n+p+1))*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,h,p},x] && RationalQ[m,n] && m<-1 && n>0 && IntegerQ[m]
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
+ (b*g-a*h)*(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^(p+1)/(b*(b*e-a*f)*(m+1)) -
+ 1/(b*(b*e-a*f)*(m+1))*Int[(a+b*x)^(m+1)*(c+d*x)^(n-1)*(e+f*x)^p*
+ Simp[b*c*(f*g-e*h)*(m+1)+(b*g-a*h)*(d*e*n+c*f*(p+1))+d*(b*(f*g-e*h)*(m+1)+f*(b*g-a*h)*(n+p+1))*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,h,p},x] && RationalQ[m,n] && m<-1 && n>0 && IntegersQ[2*m,2*n,2*p]
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
+ (b*g-a*h)*(a+b*x)^(m+1)*(c+d*x)^(n+1)*(e+f*x)^(p+1)/((m+1)*(b*c-a*d)*(b*e-a*f)) +
+ 1/((m+1)*(b*c-a*d)*(b*e-a*f))*Int[(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^p*
+ Simp[(a*d*f*g-b*(d*e+c*f)*g+b*c*e*h)*(m+1)-(b*g-a*h)*(d*e*(n+1)+c*f*(p+1))-d*f*(b*g-a*h)*(m+n+p+3)*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,h,n,p},x] && RationalQ[m] && m<-1 && IntegerQ[m]
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
+ (b*g-a*h)*(a+b*x)^(m+1)*(c+d*x)^(n+1)*(e+f*x)^(p+1)/((m+1)*(b*c-a*d)*(b*e-a*f)) +
+ 1/((m+1)*(b*c-a*d)*(b*e-a*f))*Int[(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^p*
+ Simp[(a*d*f*g-b*(d*e+c*f)*g+b*c*e*h)*(m+1)-(b*g-a*h)*(d*e*(n+1)+c*f*(p+1))-d*f*(b*g-a*h)*(m+n+p+3)*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,h,n,p},x] && RationalQ[m] && m<-1 && IntegersQ[2*m,2*n,2*p]
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
+ h*(a+b*x)^m*(c+d*x)^(n+1)*(e+f*x)^(p+1)/(d*f*(m+n+p+2)) +
+ 1/(d*f*(m+n+p+2))*Int[(a+b*x)^(m-1)*(c+d*x)^n*(e+f*x)^p*
+ Simp[a*d*f*g*(m+n+p+2)-h*(b*c*e*m+a*(d*e*(n+1)+c*f*(p+1)))+(b*d*f*g*(m+n+p+2)+h*(a*d*f*m-b*(d*e*(m+n+1)+c*f*(m+p+1))))*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,h,n,p},x] && RationalQ[m] && m>0 && NeQ[m+n+p+2,0] && IntegerQ[m]
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
+ h*(a+b*x)^m*(c+d*x)^(n+1)*(e+f*x)^(p+1)/(d*f*(m+n+p+2)) +
+ 1/(d*f*(m+n+p+2))*Int[(a+b*x)^(m-1)*(c+d*x)^n*(e+f*x)^p*
+ Simp[a*d*f*g*(m+n+p+2)-h*(b*c*e*m+a*(d*e*(n+1)+c*f*(p+1)))+(b*d*f*g*(m+n+p+2)+h*(a*d*f*m-b*(d*e*(m+n+1)+c*f*(m+p+1))))*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,h,n,p},x] && RationalQ[m] && m>0 && NeQ[m+n+p+2,0] && IntegersQ[2*m,2*n,2*p]
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
+ (b*g-a*h)*(a+b*x)^(m+1)*(c+d*x)^(n+1)*(e+f*x)^(p+1)/((m+1)*(b*c-a*d)*(b*e-a*f)) +
+ 1/((m+1)*(b*c-a*d)*(b*e-a*f))*Int[(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^p*
+ Simp[(a*d*f*g-b*(d*e+c*f)*g+b*c*e*h)*(m+1)-(b*g-a*h)*(d*e*(n+1)+c*f*(p+1))-d*f*(b*g-a*h)*(m+n+p+3)*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,h,n,p},x] && NegativeIntegerQ[m+n+p+2] && NeQ[m,-1] &&
+ (SumSimplerQ[m,1] || Not[NeQ[n,-1] && SumSimplerQ[n,1]] && Not[NeQ[p,-1] && SumSimplerQ[p,1]])
+
+
+Int[(e_.+f_.*x_)^p_*(g_.+h_.*x_)/((a_.+b_.*x_)*(c_.+d_.*x_)),x_Symbol] :=
+ (b*g-a*h)/(b*c-a*d)*Int[(e+f*x)^p/(a+b*x),x] -
+ (d*g-c*h)/(b*c-a*d)*Int[(e+f*x)^p/(c+d*x),x] /;
+FreeQ[{a,b,c,d,e,f,g,h},x]
+
+
+Int[(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_)/(a_.+b_.*x_),x_Symbol] :=
+ h/b*Int[(c+d*x)^n*(e+f*x)^p,x] + (b*g-a*h)/b*Int[(c+d*x)^n*(e+f*x)^p/(a+b*x),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,n,p},x]
+
+
+Int[(g_.+h_.*x_)/(Sqrt[a_.+b_.*x_]*Sqrt[c_+d_.*x_]*Sqrt[e_+f_.*x_]),x_Symbol] :=
+ h/f*Int[Sqrt[e+f*x]/(Sqrt[a+b*x]*Sqrt[c+d*x]),x] + (f*g-e*h)/f*Int[1/(Sqrt[a+b*x]*Sqrt[c+d*x]*Sqrt[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && SimplerQ[a+b*x,e+f*x] && SimplerQ[c+d*x,e+f*x]
+
+
+Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
+ h/b*Int[(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^p,x] + (b*g-a*h)/b*Int[(a+b*x)^m*(c+d*x)^n*(e+f*x)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n,p},x] && (SumSimplerQ[m,1] || Not[SumSimplerQ[n,1]] && Not[SumSimplerQ[p,1]])
+
+
+Int[(e_.+f_.*x_)^p_*(g_.+h_.*x_)^q_/((a_.+b_.*x_)*(c_.+d_.*x_)),x_Symbol] :=
+ (b*e-a*f)/(b*c-a*d)*Int[(e+f*x)^(p-1)*(g+h*x)^q/(a+b*x),x] -
+ (d*e-c*f)/(b*c-a*d)*Int[(e+f*x)^(p-1)*(g+h*x)^q/(c+d*x),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,q},x] && RationalQ[p] && 00 && m<-1 && Not[NegativeIntegerQ[(m+n*p+n+1)/n]] &&
+ IntBinomialQ[a,b,c,n,m,p,x]
+
+
+Int[(c_.*x_)^m_.*(a1_+b1_.*x_^n_)^p_*(a2_+b2_.*x_^n_)^p_,x_Symbol] :=
+ (c*x)^(m+1)*(a1+b1*x^n)^p*(a2+b2*x^n)^p/(c*(m+1)) -
+ 2*b1*b2*n*p/(c^(2*n)*(m+1))*Int[(c*x)^(m+2*n)*(a1+b1*x^n)^(p-1)*(a2+b2*x^n)^(p-1),x] /;
+FreeQ[{a1,b1,a2,b2,c,m},x] && EqQ[a2*b1+a1*b2] && PositiveIntegerQ[2*n] && RationalQ[m,p] && p>0 && NeQ[m+2*n*p+1] &&
+ IntBinomialQ[a1*a2,b1*b2,c,n,m,p,x]
+
+
+Int[(c_.*x_)^m_.*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ (c*x)^(m+1)*(a+b*x^n)^p/(c*(m+n*p+1)) +
+ a*n*p/(m+n*p+1)*Int[(c*x)^m*(a+b*x^n)^(p-1),x] /;
+FreeQ[{a,b,c,m},x] && PositiveIntegerQ[n] && RationalQ[m,p] && p>0 && NeQ[m+n*p+1] && IntBinomialQ[a,b,c,n,m,p,x]
+
+
+Int[(c_.*x_)^m_.*(a1_+b1_.*x_^n_)^p_*(a2_+b2_.*x_^n_)^p_,x_Symbol] :=
+ (c*x)^(m+1)*(a1+b1*x^n)^p*(a2+b2*x^n)^p/(c*(m+2*n*p+1)) +
+ 2*a1*a2*n*p/(m+2*n*p+1)*Int[(c*x)^m*(a1+b1*x^n)^(p-1)*(a2+b2*x^n)^(p-1),x] /;
+FreeQ[{a1,b1,a2,b2,c,m},x] && EqQ[a2*b1+a1*b2] && PositiveIntegerQ[2*n] && RationalQ[m,p] && p>0 && NeQ[m+2*n*p+1] &&
+ IntBinomialQ[a1*a2,b1*b2,c,n,m,p,x]
+
+
+Int[x_^2/(a_+b_.*x_^4)^(5/4),x_Symbol] :=
+ x*(1+a/(b*x^4))^(1/4)/(b*(a+b*x^4)^(1/4))*Int[1/(x^3*(1+a/(b*x^4))^(5/4)),x] /;
+FreeQ[{a,b},x] && PosQ[b/a]
+
+
+Int[x_^m_/(a_+b_.*x_^4)^(5/4),x_Symbol] :=
+ x^(m-3)/(b*(m-4)*(a+b*x^4)^(1/4)) - a*(m-3)/(b*(m-4))*Int[x^(m-4)/(a+b*x^4)^(5/4),x] /;
+FreeQ[{a,b},x] && PosQ[b/a] && PositiveIntegerQ[(m-2)/4]
+
+
+Int[x_^m_/(a_+b_.*x_^4)^(5/4),x_Symbol] :=
+ x^(m+1)/(a*(m+1)*(a+b*x^4)^(1/4)) - b*m/(a*(m+1))*Int[x^(m+4)/(a+b*x^4)^(5/4),x] /;
+FreeQ[{a,b},x] && PosQ[b/a] && NegativeIntegerQ[(m-2)/4]
+
+
+Int[Sqrt[c_.*x_]/(a_+b_.*x_^2)^(5/4),x_Symbol] :=
+ Sqrt[c*x]*(1+a/(b*x^2))^(1/4)/(b*(a+b*x^2)^(1/4))*Int[1/(x^2*(1+a/(b*x^2))^(5/4)),x] /;
+FreeQ[{a,b,c},x] && PosQ[b/a]
+
+
+Int[(c_.*x_)^m_/(a_+b_.*x_^2)^(5/4),x_Symbol] :=
+ 2*c*(c*x)^(m-1)/(b*(2*m-3)*(a+b*x^2)^(1/4)) - 2*a*c^2*(m-1)/(b*(2*m-3))*Int[(c*x)^(m-2)/(a+b*x^2)^(5/4),x] /;
+FreeQ[{a,b,c},x] && PosQ[b/a] && IntegerQ[2*m] && m>3/2
+
+
+Int[(c_.*x_)^m_/(a_+b_.*x_^2)^(5/4),x_Symbol] :=
+ (c*x)^(m+1)/(a*c*(m+1)*(a+b*x^2)^(1/4)) - b*(2*m+1)/(2*a*c^2*(m+1))*Int[(c*x)^(m+2)/(a+b*x^2)^(5/4),x] /;
+FreeQ[{a,b,c},x] && PosQ[b/a] && IntegerQ[2*m] && m<-1
+
+
+Int[x_^2/(a_+b_.*x_^4)^(5/4),x_Symbol] :=
+ -1/(b*x*(a+b*x^4)^(1/4)) - 1/b*Int[1/(x^2*(a+b*x^4)^(1/4)),x] /;
+FreeQ[{a,b},x] && NegQ[b/a]
+
+
+Int[(c_.*x_)^m_.*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ c^(n-1)*(c*x)^(m-n+1)*(a+b*x^n)^(p+1)/(b*n*(p+1)) -
+ c^n*(m-n+1)/(b*n*(p+1))*Int[(c*x)^(m-n)*(a+b*x^n)^(p+1),x] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[n] && RationalQ[m,p] && p<-1 && m+1>n &&
+ Not[NegativeIntegerQ[(m+n*(p+1)+1)/n]] && IntBinomialQ[a,b,c,n,m,p,x]
+
+
+(* Int[(c_.*x_)^m_.*u_^p_*v_^p_,x_Symbol] :=
+ With[{a=BinomialParts[u,x][[1]],b=BinomialParts[u,x][[2]],n=BinomialParts[u,x][[3]]},
+ c^(n-1)*(c*x)^(m-n+1)*u^(p+1)*v^(p+1)/(b*n*(p+1)) -
+ c^n*(m-n+1)/(b*n*(p+1))*Int[(c*x)^(m-n)*u^(p+1)*v^(p+1),x] /;
+ PositiveIntegerQ[n] && m+1>n && Not[NegativeIntegerQ[(m+n*(p+1)+1)/n]] &&
+ IntBinomialQ[a,b,c,n,m,p,x]] /;
+FreeQ[c,x] && BinomialQ[u*v,x] && RationalQ[m,p] && p<-1 *)
+
+
+Int[(c_.*x_)^m_.*(a1_+b1_.*x_^n_)^p_*(a2_+b2_.*x_^n_)^p_,x_Symbol] :=
+ c^(2*n-1)*(c*x)^(m-2*n+1)*(a1+b1*x^n)^(p+1)*(a2+b2*x^n)^(p+1)/(2*b1*b2*n*(p+1)) -
+ c^(2*n)*(m-2*n+1)/(2*b1*b2*n*(p+1))*Int[(c*x)^(m-2*n)*(a1+b1*x^n)^(p+1)*(a2+b2*x^n)^(p+1),x] /;
+FreeQ[{a1,b1,a2,b2,c},x] && EqQ[a2*b1+a1*b2] && PositiveIntegerQ[2*n] && RationalQ[m,p] && p<-1 && m+1>2*n &&
+ Not[NegativeIntegerQ[(m+2*n*(p+1)+1)/(2*n)]] && IntBinomialQ[a1*a2,b1*b2,c,n,m,p,x]
+
+
+Int[(c_.*x_)^m_.*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ -(c*x)^(m+1)*(a+b*x^n)^(p+1)/(a*c*n*(p+1)) +
+ (m+n*(p+1)+1)/(a*n*(p+1))*Int[(c*x)^m*(a+b*x^n)^(p+1),x] /;
+FreeQ[{a,b,c,m},x] && PositiveIntegerQ[n] && RationalQ[m,p] && p<-1 && IntBinomialQ[a,b,c,n,m,p,x]
+
+
+Int[(c_.*x_)^m_.*(a1_+b1_.*x_^n_)^p_*(a2_+b2_.*x_^n_)^p_,x_Symbol] :=
+ -(c*x)^(m+1)*(a1+b1*x^n)^(p+1)*(a2+b2*x^n)^(p+1)/(2*a1*a2*c*n*(p+1)) +
+ (m+2*n*(p+1)+1)/(2*a1*a2*n*(p+1))*Int[(c*x)^m*(a1+b1*x^n)^(p+1)*(a2+b2*x^n)^(p+1),x] /;
+FreeQ[{a1,b1,a2,b2,c,m},x] && EqQ[a2*b1+a1*b2] && PositiveIntegerQ[2*n] && RationalQ[m,p] && p<-1 &&
+ IntBinomialQ[a1*a2,b1*b2,c,n,m,p,x]
+
+
+Int[x_/(a_+b_.*x_^3),x_Symbol] :=
+ -1/(3*Rt[a,3]*Rt[b,3])*Int[1/(Rt[a,3]+Rt[b,3]*x),x] +
+ 1/(3*Rt[a,3]*Rt[b,3])*Int[(Rt[a,3]+Rt[b,3]*x)/(Rt[a,3]^2-Rt[a,3]*Rt[b,3]*x+Rt[b,3]^2*x^2),x] /;
+FreeQ[{a,b},x]
+
+
+(* Int[x_^m_./(a_+b_.*x_^5),x_Symbol] :=
+ With[{r=Numerator[Rt[a/b,5]], s=Denominator[Rt[a/b,5]]},
+ (-1)^m*r^(m+1)/(5*a*s^m)*Int[1/(r+s*x),x] +
+ 2*r^(m+1)/(5*a*s^m)*Int[(r*Cos[m*Pi/5]-s*Cos[(m+1)*Pi/5]*x)/(r^2-1/2*(1+Sqrt[5])*r*s*x+s^2*x^2),x] +
+ 2*r^(m+1)/(5*a*s^m)*Int[(r*Cos[3*m*Pi/5]-s*Cos[3*(m+1)*Pi/5]*x)/(r^2-1/2*(1-Sqrt[5])*r*s*x+s^2*x^2),x]] /;
+FreeQ[{a,b},x] && PositiveIntegerQ[m] && m<4 && PosQ[a/b] *)
+
+
+(* Int[x_^m_./(a_+b_.*x_^5),x_Symbol] :=
+ With[{r=Numerator[Rt[-a/b,5]], s=Denominator[Rt[-a/b,5]]},
+ (r^(m+1)/(5*a*s^m))*Int[1/(r-s*x),x] +
+ 2*(-1)^m*r^(m+1)/(5*a*s^m)*Int[(r*Cos[m*Pi/5]+s*Cos[(m+1)*Pi/5]*x)/(r^2+1/2*(1+Sqrt[5])*r*s*x+s^2*x^2),x] +
+ 2*(-1)^m*r^(m+1)/(5*a*s^m)*Int[(r*Cos[3*m*Pi/5]+s*Cos[3*(m+1)*Pi/5]*x)/(r^2+1/2*(1-Sqrt[5])*r*s*x+s^2*x^2),x]] /;
+FreeQ[{a,b},x] && PositiveIntegerQ[m] && m<4 && NegQ[a/b] *)
+
+
+Int[x_^m_./(a_+b_.*x_^n_),x_Symbol] :=
+ Module[{r=Numerator[Rt[a/b,n]], s=Denominator[Rt[a/b,n]], k, u},
+ u=Int[(r*Cos[(2*k-1)*m*Pi/n]-s*Cos[(2*k-1)*(m+1)*Pi/n]*x)/(r^2-2*r*s*Cos[(2*k-1)*Pi/n]*x+s^2*x^2),x];
+ -(-r)^(m+1)/(a*n*s^m)*Int[1/(r+s*x),x] + Dist[2*r^(m+1)/(a*n*s^m),Sum[u,{k,1,(n-1)/2}],x]] /;
+FreeQ[{a,b},x] && PositiveIntegerQ[(n-1)/2] && PositiveIntegerQ[m] && m2*n-1
+
+
+Int[x_/Sqrt[a_+b_.*x_^3],x_Symbol] :=
+ With[{r=Numer[Rt[b/a,3]], s=Denom[Rt[b/a,3]]},
+ Sqrt[2]*s/(Sqrt[2+Sqrt[3]]*r)*Int[1/Sqrt[a+b*x^3],x] + 1/r*Int[((1-Sqrt[3])*s+r*x)/Sqrt[a+b*x^3],x]] /;
+FreeQ[{a,b},x] && PosQ[a]
+
+
+Int[x_/Sqrt[a_+b_.*x_^3],x_Symbol] :=
+ With[{r=Numer[Rt[b/a,3]], s=Denom[Rt[b/a,3]]},
+ -Sqrt[2]*s/(Sqrt[2-Sqrt[3]]*r)*Int[1/Sqrt[a+b*x^3],x] + 1/r*Int[((1+Sqrt[3])*s+r*x)/Sqrt[a+b*x^3],x]] /;
+FreeQ[{a,b},x] && NegQ[a]
+
+
+Int[x_^2/Sqrt[a_+b_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b/a,2]},
+ 1/q*Int[1/Sqrt[a+b*x^4],x] - 1/q*Int[(1-q*x^2)/Sqrt[a+b*x^4],x]] /;
+FreeQ[{a,b},x] && PosQ[b/a]
+
+
+Int[x_^2/Sqrt[a_+b_.*x_^4],x_Symbol] :=
+ With[{q=Rt[-b/a,2]},
+ 1/q*Int[1/Sqrt[a+b*x^4],x] - 1/q*Int[(1-q*x^2)/Sqrt[a+b*x^4],x]] /;
+FreeQ[{a,b},x] && NegativeQ[a] && PositiveQ[b]
+
+
+Int[x_^2/Sqrt[a_+b_.*x_^4],x_Symbol] :=
+ With[{q=Rt[-b/a,2]},
+ -1/q*Int[1/Sqrt[a+b*x^4],x] + 1/q*Int[(1+q*x^2)/Sqrt[a+b*x^4],x]] /;
+FreeQ[{a,b},x] && NegQ[b/a]
+
+
+Int[x_^4/Sqrt[a_+b_.*x_^6],x_Symbol] :=
+ With[{r=Numer[Rt[b/a,3]], s=Denom[Rt[b/a,3]]},
+ (Sqrt[3]-1)*s^2/(2*r^2)*Int[1/Sqrt[a+b*x^6],x] - 1/(2*r^2)*Int[((Sqrt[3]-1)*s^2-2*r^2*x^4)/Sqrt[a+b*x^6],x]] /;
+FreeQ[{a,b},x]
+
+
+(* Int[x_^4/Sqrt[a_+b_.*x_^6],x_Symbol] :=
+ With[{r=Numer[Rt[b/a,3]], s=Denom[Rt[b/a,3]]},
+ (1+Sqrt[3])*r*x*Sqrt[a+b*x^6]/(2*b*(s+(1+Sqrt[3])*r*x^2)) -
+ 3^(1/4)*s*x*(s+r*x^2)*Sqrt[(s^2-r*s*x^2+r^2*x^4)/(s+(1+Sqrt[3])*r*x^2)^2]/
+ (2*r^2*Sqrt[a+b*x^6]*Sqrt[r*x^2*(s+r*x^2)/(s+(1+Sqrt[3])*r*x^2)^2])*
+ EllipticE[ArcCos[(s+(1-Sqrt[3])*r*x^2)/(s+(1+Sqrt[3])*r*x^2)],(2+Sqrt[3])/4] -
+ (1-Sqrt[3])*s*x*(s+r*x^2)*Sqrt[(s^2-r*s*x^2+r^2*x^4)/(s+(1+Sqrt[3])*r*x^2)^2]/
+ (4*3^(1/4)*r^2*Sqrt[a+b*x^6]*Sqrt[r*x^2*(s+r*x^2)/(s+(1+Sqrt[3])*r*x^2)^2])*
+ EllipticF[ArcCos[(s+(1-Sqrt[3])*r*x^2)/(s+(1+Sqrt[3])*r*x^2)],(2+Sqrt[3])/4]] /;
+FreeQ[{a,b},x] *)
+
+
+Int[x_^2/Sqrt[a_+b_.*x_^8],x_Symbol] :=
+ 1/(2*Rt[b/a,4])*Int[(1+Rt[b/a,4]*x^2)/Sqrt[a+b*x^8],x] -
+ 1/(2*Rt[b/a,4])*Int[(1-Rt[b/a,4]*x^2)/Sqrt[a+b*x^8],x] /;
+FreeQ[{a,b},x]
+
+
+Int[x_^2/(a_+b_.*x_^4)^(1/4),x_Symbol] :=
+ x^3/(2*(a+b*x^4)^(1/4)) - a/2*Int[x^2/(a+b*x^4)^(5/4),x] /;
+FreeQ[{a,b},x] && PosQ[b/a]
+
+
+Int[x_^2/(a_+b_.*x_^4)^(1/4),x_Symbol] :=
+ (a+b*x^4)^(3/4)/(2*b*x) + a/(2*b)*Int[1/(x^2*(a+b*x^4)^(1/4)),x] /;
+FreeQ[{a,b},x] && NegQ[b/a]
+
+
+Int[1/(x_^2*(a_+b_.*x_^4)^(1/4)),x_Symbol] :=
+ -1/(x*(a+b*x^4)^(1/4)) - b*Int[x^2/(a+b*x^4)^(5/4),x] /;
+FreeQ[{a,b},x] && PosQ[b/a]
+
+
+Int[1/(x_^2*(a_+b_.*x_^4)^(1/4)),x_Symbol] :=
+ x*(1+a/(b*x^4))^(1/4)/(a+b*x^4)^(1/4)*Int[1/(x^3*(1+a/(b*x^4))^(1/4)),x] /;
+FreeQ[{a,b},x] && NegQ[b/a]
+
+
+Int[Sqrt[c_*x_]/(a_+b_.*x_^2)^(1/4),x_Symbol] :=
+ x*Sqrt[c*x]/(a+b*x^2)^(1/4) - a/2*Int[Sqrt[c*x]/(a+b*x^2)^(5/4),x] /;
+FreeQ[{a,b,c},x] && PosQ[b/a]
+
+
+Int[Sqrt[c_*x_]/(a_+b_.*x_^2)^(1/4),x_Symbol] :=
+ c*(a+b*x^2)^(3/4)/(b*Sqrt[c*x]) + a*c^2/(2*b)*Int[1/((c*x)^(3/2)*(a+b*x^2)^(1/4)),x] /;
+FreeQ[{a,b,c},x] && NegQ[b/a]
+
+
+Int[1/((c_.*x_)^(3/2)*(a_+b_.*x_^2)^(1/4)),x_Symbol] :=
+ -2/(c*Sqrt[c*x]*(a+b*x^2)^(1/4)) - b/c^2*Int[Sqrt[c*x]/(a+b*x^2)^(5/4),x] /;
+FreeQ[{a,b,c},x] && PosQ[b/a]
+
+
+Int[1/((c_.*x_)^(3/2)*(a_+b_.*x_^2)^(1/4)),x_Symbol] :=
+ Sqrt[c*x]*(1+a/(b*x^2))^(1/4)/(c^2*(a+b*x^2)^(1/4))*Int[1/(x^2*(1+a/(b*x^2))^(1/4)),x] /;
+FreeQ[{a,b,c},x] && NegQ[b/a]
+
+
+Int[(c_.*x_)^m_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ c^(n-1)*(c*x)^(m-n+1)*(a+b*x^n)^(p+1)/(b*(m+n*p+1)) -
+ a*c^n*(m-n+1)/(b*(m+n*p+1))*Int[(c*x)^(m-n)*(a+b*x^n)^p,x] /;
+FreeQ[{a,b,c,p},x] && PositiveIntegerQ[n] && RationalQ[m] && m>n-1 && NeQ[m+n*p+1] && IntBinomialQ[a,b,c,n,m,p,x]
+
+
+Int[(c_.*x_)^m_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ c^(n-1)*(c*x)^(m-n+1)*(a+b*x^n)^(p+1)/(b*(m+n*p+1)) -
+ a*c^n*(m-n+1)/(b*(m+n*p+1))*Int[(c*x)^(m-n)*(a+b*x^n)^p,x] /;
+FreeQ[{a,b,c,m,p},x] && PositiveIntegerQ[n] && SumSimplerQ[m,-n] && NeQ[m+n*p+1] && NegativeIntegerQ[Simplify[(m+1)/n+p]]
+
+
+Int[(c_.*x_)^m_*(a1_+b1_.*x_^n_)^p_*(a2_+b2_.*x_^n_)^p_,x_Symbol] :=
+ c^(2*n-1)*(c*x)^(m-2*n+1)*(a1+b1*x^n)^(p+1)*(a2+b2*x^n)^(p+1)/(b1*b2*(m+2*n*p+1)) -
+ a1*a2*c^(2*n)*(m-2*n+1)/(b1*b2*(m+2*n*p+1))*Int[(c*x)^(m-2*n)*(a1+b1*x^n)^p*(a2+b2*x^n)^p,x] /;
+FreeQ[{a1,b1,a2,b2,c,p},x] && EqQ[a2*b1+a1*b2] && PositiveIntegerQ[2*n] && RationalQ[m] && m>2*n-1 &&
+ NeQ[m+2*n*p+1] && IntBinomialQ[a1*a2,b1*b2,c,n,m,p,x]
+
+
+Int[(c_.*x_)^m_*(a1_+b1_.*x_^n_)^p_*(a2_+b2_.*x_^n_)^p_,x_Symbol] :=
+ c^(2*n-1)*(c*x)^(m-2*n+1)*(a1+b1*x^n)^(p+1)*(a2+b2*x^n)^(p+1)/(b1*b2*(m+2*n*p+1)) -
+ a1*a2*c^(2*n)*(m-2*n+1)/(b1*b2*(m+2*n*p+1))*Int[(c*x)^(m-2*n)*(a1+b1*x^n)^p*(a2+b2*x^n)^p,x] /;
+FreeQ[{a1,b1,a2,b2,c,m,p},x] && EqQ[a2*b1+a1*b2] && PositiveIntegerQ[2*n] && SumSimplerQ[m,-2*n] && NeQ[m+2*n*p+1] &&
+ NegativeIntegerQ[Simplify[(m+1)/(2*n)+p]]
+
+
+Int[(c_.*x_)^m_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ (c*x)^(m+1)*(a+b*x^n)^(p+1)/(a*c*(m+1)) -
+ b*(m+n*(p+1)+1)/(a*c^n*(m+1))*Int[(c*x)^(m+n)*(a+b*x^n)^p,x] /;
+FreeQ[{a,b,c,p},x] && PositiveIntegerQ[n] && RationalQ[m] && m<-1 && IntBinomialQ[a,b,c,n,m,p,x]
+
+
+Int[(c_.*x_)^m_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ (c*x)^(m+1)*(a+b*x^n)^(p+1)/(a*c*(m+1)) -
+ b*(m+n*(p+1)+1)/(a*c^n*(m+1))*Int[(c*x)^(m+n)*(a+b*x^n)^p,x] /;
+FreeQ[{a,b,c,m,p},x] && PositiveIntegerQ[n] && SumSimplerQ[m,n] && NegativeIntegerQ[Simplify[(m+1)/n+p]]
+
+
+Int[(c_.*x_)^m_*(a1_+b1_.*x_^n_)^p_*(a2_+b2_.*x_^n_)^p_,x_Symbol] :=
+ (c*x)^(m+1)*(a1+b1*x^n)^(p+1)*(a2+b2*x^n)^(p+1)/(a1*a2*c*(m+1)) -
+ b1*b2*(m+2*n*(p+1)+1)/(a1*a2*c^(2*n)*(m+1))*Int[(c*x)^(m+2*n)*(a1+b1*x^n)^p*(a2+b2*x^n)^p,x] /;
+FreeQ[{a1,b1,a2,b2,c,p},x] && EqQ[a2*b1+a1*b2] && PositiveIntegerQ[2*n] && RationalQ[m] && m<-1 &&
+ IntBinomialQ[a1*a2,b1*b2,c,n,m,p,x]
+
+
+Int[(c_.*x_)^m_*(a1_+b1_.*x_^n_)^p_*(a2_+b2_.*x_^n_)^p_,x_Symbol] :=
+ (c*x)^(m+1)*(a1+b1*x^n)^(p+1)*(a2+b2*x^n)^(p+1)/(a1*a2*c*(m+1)) -
+ b1*b2*(m+2*n*(p+1)+1)/(a1*a2*c^(2*n)*(m+1))*Int[(c*x)^(m+2*n)*(a1+b1*x^n)^p*(a2+b2*x^n)^p,x] /;
+FreeQ[{a1,b1,a2,b2,c,m,p},x] && EqQ[a2*b1+a1*b2] && PositiveIntegerQ[2*n] && SumSimplerQ[m,2*n] &&
+ NegativeIntegerQ[Simplify[(m+1)/(2*n)+p]]
+
+
+Int[(c_.*x_)^m_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ With[{k=Denominator[m]},
+ k/c*Subst[Int[x^(k*(m+1)-1)*(a+b*x^(k*n)/c^n)^p,x],x,(c*x)^(1/k)]] /;
+FreeQ[{a,b,c,p},x] && PositiveIntegerQ[n] && FractionQ[m] && IntBinomialQ[a,b,c,n,m,p,x]
+
+
+Int[(c_.*x_)^m_*(a1_+b1_.*x_^n_)^p_*(a2_+b2_.*x_^n_)^p_,x_Symbol] :=
+ With[{k=Denominator[m]},
+ k/c*Subst[Int[x^(k*(m+1)-1)*(a1+b1*x^(k*n)/c^n)^p*(a2+b2*x^(k*n)/c^n)^p,x],x,(c*x)^(1/k)]] /;
+FreeQ[{a1,b1,a2,b2,c,p},x] && EqQ[a2*b1+a1*b2] && PositiveIntegerQ[2*n] && FractionQ[m] && IntBinomialQ[a1*a2,b1*b2,c,n,m,p,x]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ a^(p+(m+1)/n)*Subst[Int[x^m/(1-b*x^n)^(p+(m+1)/n+1),x],x,x/(a+b*x^n)^(1/n)] /;
+FreeQ[{a,b},x] && PositiveIntegerQ[n] && RationalQ[p] && -10
+
+
+Int[x_^m_.*(a1_+b1_.*x_^n_)^p_*(a2_+b2_.*x_^n_)^p_,x_Symbol] :=
+ x^(m+1)*(a1+b1*x^n)^p*(a2+b2*x^n)^p/(m+1) -
+ 2*b1*b2*n*p/(m+1)*Int[x^(m+n)*(a1+b1*x^n)^(p-1)*(a2+b2*x^n)^(p-1),x] /;
+FreeQ[{a1,b1,a2,b2,m,n},x] && EqQ[a2*b1+a1*b2] && EqQ[(m+1)/(2*n)+p] && RationalQ[p] && p>0
+
+
+Int[(c_*x_)^m_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ c^IntPart[m]*(c*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*x^n)^p,x] /;
+FreeQ[{a,b,c,m,n},x] && EqQ[(m+1)/n+p] && RationalQ[p] && p>0
+
+
+Int[(c_*x_)^m_*(a1_+b1_.*x_^n_)^p_*(a2_+b2_.*x_^n_)^p_,x_Symbol] :=
+ c^IntPart[m]*(c*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a1+b1*x^n)^p*(a2+b2*x^n)^p,x] /;
+FreeQ[{a1,b1,a2,b2,c,m,n},x] && EqQ[a2*b1+a1*b2] && EqQ[(m+1)/(2*n)+p] && RationalQ[p] && p>0
+
+
+Int[(c_.*x_)^m_.*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ (c*x)^(m+1)*(a+b*x^n)^p/(c*(m+n*p+1)) +
+ a*n*p/(m+n*p+1)*Int[(c*x)^m*(a+b*x^n)^(p-1),x] /;
+FreeQ[{a,b,c,m,n},x] && IntegerQ[p+Simplify[(m+1)/n]] && RationalQ[p] && p>0 && NeQ[m+n*p+1]
+
+
+Int[(c_.*x_)^m_.*(a1_+b1_.*x_^n_)^p_*(a2_+b2_.*x_^n_)^p_,x_Symbol] :=
+ (c*x)^(m+1)*(a1+b1*x^n)^p*(a2+b2*x^n)^p/(c*(m+2*n*p+1)) +
+ 2*a1*a2*n*p/(m+2*n*p+1)*Int[(c*x)^m*(a1+b1*x^n)^(p-1)*(a2+b2*x^n)^(p-1),x] /;
+FreeQ[{a1,b1,a2,b2,c,m,n},x] && EqQ[a2*b1+a1*b2] && IntegerQ[p+Simplify[(m+1)/(2*n)]] && RationalQ[p] && p>0 &&
+ NeQ[m+2*n*p+1]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ With[{k=Denominator[p]},
+ k*a^(p+Simplify[(m+1)/n])/n*
+ Subst[Int[x^(k*Simplify[(m+1)/n]-1)/(1-b*x^k)^(p+Simplify[(m+1)/n]+1),x],x,x^(n/k)/(a+b*x^n)^(1/k)]] /;
+FreeQ[{a,b,m,n},x] && IntegerQ[p+Simplify[(m+1)/n]] && RationalQ[p] && -1
0 && NeQ[p+1]
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ a^p*x/(c^(p+1)*(c+d*x^n)^(1/n))*Hypergeometric2F1[1/n,-p,1+1/n,-(b*c-a*d)*x^n/(a*(c+d*x^n))] /;
+FreeQ[{a,b,c,d,n,q},x] && NeQ[b*c-a*d,0] && EqQ[n*(p+q+1)+1] && NegativeIntegerQ[p]
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ x*(a+b*x^n)^p/(c*(c*(a+b*x^n)/(a*(c+d*x^n)))^p*(c+d*x^n)^(1/n+p))*
+ Hypergeometric2F1[1/n,-p,1+1/n,-(b*c-a*d)*x^n/(a*(c+d*x^n))] /;
+FreeQ[{a,b,c,d,n,p,q},x] && NeQ[b*c-a*d,0] && EqQ[n*(p+q+1)+1]
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ x*(a+b*x^n)^(p+1)*(c+d*x^n)^(q+1)/(a*c) /;
+FreeQ[{a,b,c,d,n,p,q},x] && NeQ[b*c-a*d,0] && EqQ[n*(p+q+2)+1] && EqQ[a*d*(p+1)+b*c*(q+1)]
+
+
+(* Int[(a1_+b1_.*x_^n2_.)^p_*(a2_+b2_.*x_^n2_.)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ x*(a1+b1*x^(n/2))^(p+1)*(a2+b2*x^(n/2))^(p+1)*(c+d*x^n)^(q+1)/(a1*a2*c) /;
+FreeQ[{a1,b1,a2,b2,c,d,n,p,q},x] && EqQ[n2-n/2] && EqQ[a2*b1+a1*b2] && EqQ[n*(p+q+2)+1] && EqQ[a1*a2*d*(p+1)+b1*b2*c*(q+1)] *)
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ -b*x*(a+b*x^n)^(p+1)*(c+d*x^n)^(q+1)/(a*n*(p+1)*(b*c-a*d)) +
+ (b*c+n*(p+1)*(b*c-a*d))/(a*n*(p+1)*(b*c-a*d))*Int[(a+b*x^n)^(p+1)*(c+d*x^n)^q,x] /;
+FreeQ[{a,b,c,d,n,q},x] && NeQ[b*c-a*d,0] && EqQ[n*(p+q+2)+1] && (RationalQ[p] && p<-1 || Not[RationalQ[q] && q<-1]) && NeQ[p+1]
+
+
+Int[(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_),x_Symbol] :=
+ c*x*(a+b*x^n)^(p+1)/a /;
+FreeQ[{a,b,c,d,n,p},x] && NeQ[b*c-a*d,0] && EqQ[a*d-b*c*(n*(p+1)+1),0]
+
+
+Int[(a1_+b1_.*x_^non2_.)^p_.*(a2_+b2_.*x_^non2_.)^p_.*(c_+d_.*x_^n_),x_Symbol] :=
+ c*x*(a1+b1*x^(n/2))^(p+1)*(a2+b2*x^(n/2))^(p+1)/(a1*a2) /;
+FreeQ[{a1,b1,a2,b2,c,d,n,p},x] && EqQ[non2,n/2] && EqQ[a2*b1+a1*b2,0] && EqQ[a1*a2*d-b1*b2*c*(n*(p+1)+1),0]
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_),x_Symbol] :=
+ -(b*c-a*d)*x*(a+b*x^n)^(p+1)/(a*b*n*(p+1)) -
+ (a*d-b*c*(n*(p+1)+1))/(a*b*n*(p+1))*Int[(a+b*x^n)^(p+1),x] /;
+FreeQ[{a,b,c,d,n,p},x] && NeQ[b*c-a*d,0] && (LtQ[p,-1] || ILtQ[1/n+p,0])
+
+
+Int[(a1_+b1_.*x_^non2_.)^p_.*(a2_+b2_.*x_^non2_.)^p_.*(c_+d_.*x_^n_),x_Symbol] :=
+ -(b1*b2*c-a1*a2*d)*x*(a1+b1*x^(n/2))^(p+1)*(a2+b2*x^(n/2))^(p+1)/(a1*a2*b1*b2*n*(p+1)) -
+ (a1*a2*d-b1*b2*c*(n*(p+1)+1))/(a1*a2*b1*b2*n*(p+1))*Int[(a1+b1*x^(n/2))^(p+1)*(a2+b2*x^(n/2))^(p+1),x] /;
+FreeQ[{a1,b1,a2,b2,c,d,n},x] && EqQ[non2,n/2] && EqQ[a2*b1+a1*b2,0] && (LtQ[p,-1] || ILtQ[1/n+p,0])
+
+
+Int[(c_+d_.*x_^n_)/(a_+b_.*x_^n_),x_Symbol] :=
+ c*x/a - (b*c-a*d)/a*Int[1/(b+a*x^(-n)),x] /;
+FreeQ[{a,b,c,d,n},x] && NeQ[b*c-a*d,0] && RationalQ[n] && n<0
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_),x_Symbol] :=
+ d*x*(a+b*x^n)^(p+1)/(b*(n*(p+1)+1)) -
+ (a*d-b*c*(n*(p+1)+1))/(b*(n*(p+1)+1))*Int[(a+b*x^n)^p,x] /;
+FreeQ[{a,b,c,d,n},x] && NeQ[b*c-a*d,0] && NeQ[n*(p+1)+1,0]
+
+
+Int[(a1_+b1_.*x_^non2_.)^p_.*(a2_+b2_.*x_^non2_.)^p_.*(c_+d_.*x_^n_),x_Symbol] :=
+ d*x*(a1+b1*x^(n/2))^(p+1)*(a2+b2*x^(n/2))^(p+1)/(b1*b2*(n*(p+1)+1)) -
+ (a1*a2*d-b1*b2*c*(n*(p+1)+1))/(b1*b2*(n*(p+1)+1))*Int[(a1+b1*x^(n/2))^p*(a2+b2*x^(n/2))^p,x] /;
+FreeQ[{a1,b1,a2,b2,c,d,n,p},x] && EqQ[non2,n/2] && EqQ[a2*b1+a1*b2,0] && NeQ[n*(p+1)+1,0]
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ Int[PolynomialDivide[(a+b*x^n)^p,(c+d*x^n)^(-q),x],x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0] && PositiveIntegerQ[n,p] && NegativeIntegerQ[q] && p>=-q
+
+
+Int[1/((a_+b_.*x_^n_)*(c_+d_.*x_^n_)),x_Symbol] :=
+ b/(b*c-a*d)*Int[1/(a+b*x^n),x] - d/(b*c-a*d)*Int[1/(c+d*x^n),x] /;
+FreeQ[{a,b,c,d,n},x] && NeQ[b*c-a*d,0]
+
+
+Int[1/((a_+b_.*x_^2)^(1/3)*(c_+d_.*x_^2)),x_Symbol] :=
+ Sqrt[3]/(2*c)*Int[1/((a+b*x^2)^(1/3)*(Sqrt[3]-Rt[b/a,2]*x)),x] +
+ Sqrt[3]/(2*c)*Int[1/((a+b*x^2)^(1/3)*(Sqrt[3]+Rt[b/a,2]*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0] && EqQ[b*c+3*a*d] && PosQ[b/a]
+
+
+Int[1/((a_+b_.*x_^2)^(1/3)*(c_+d_.*x_^2)),x_Symbol] :=
+ 1/6*Int[(3+Rt[-b/a,2]*x)/((a+b*x^2)^(1/3)*(c+d*x^2)),x] +
+ 1/6*Int[(3-Rt[-b/a,2]*x)/((a+b*x^2)^(1/3)*(c+d*x^2)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0] && EqQ[b*c+3*a*d] && NegQ[b/a]
+
+
+Int[(a_+b_.*x_^2)^(2/3)/(c_+d_.*x_^2),x_Symbol] :=
+ b/d*Int[1/(a+b*x^2)^(1/3),x] - (b*c-a*d)/d*Int[1/((a+b*x^2)^(1/3)*(c+d*x^2)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0] && EqQ[b*c+3*a*d]
+
+
+Int[1/((a_+b_.*x_^2)^(1/4)*(c_+d_.*x_^2)),x_Symbol] :=
+ Sqrt[-b*x^2/a]/(2*x)*Subst[Int[1/(Sqrt[-b*x/a]*(a+b*x)^(1/4)*(c+d*x)),x],x,x^2] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0]
+
+
+Int[1/((a_+b_.*x_^2)^(3/4)*(c_+d_.*x_^2)),x_Symbol] :=
+ Sqrt[-b*x^2/a]/(2*x)*Subst[Int[1/(Sqrt[-b*x/a]*(a+b*x)^(3/4)*(c+d*x)),x],x,x^2] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0]
+
+
+Int[(a_+b_.*x_^2)^p_./(c_+d_.*x_^2),x_Symbol] :=
+ b/d*Int[(a+b*x^2)^(p-1),x] - (b*c-a*d)/d*Int[(a+b*x^2)^(p-1)/(c+d*x^2),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0] && RationalQ[p] && p>0 && (p==1/2 || Denominator[p]==4)
+
+
+Int[(a_+b_.*x_^2)^p_/(c_+d_.*x_^2),x_Symbol] :=
+ b/(b*c-a*d)*Int[(a+b*x^2)^p,x] - d/(b*c-a*d)*Int[(a+b*x^2)^(p+1)/(c+d*x^2),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0] && RationalQ[p] && p<-1 && Denominator[p]==4 && (p==-5/4 || p==-7/4)
+
+
+Int[Sqrt[a_+b_.*x_^4]/(c_+d_.*x_^4),x_Symbol] :=
+ a/c*Subst[Int[1/(1-4*a*b*x^4),x],x,x/Sqrt[a+b*x^4]] /;
+FreeQ[{a,b,c,d},x] && EqQ[b*c+a*d] && PosQ[a*b]
+
+
+Int[Sqrt[a_+b_.*x_^4]/(c_+d_.*x_^4),x_Symbol] :=
+ With[{q=Rt[-a*b,4]},
+ a/(2*c*q)*ArcTan[q*x*(a+q^2*x^2)/(a*Sqrt[a+b*x^4])] + a/(2*c*q)*ArcTanh[q*x*(a-q^2*x^2)/(a*Sqrt[a+b*x^4])]] /;
+FreeQ[{a,b,c,d},x] && EqQ[b*c+a*d] && NegQ[a*b]
+
+
+Int[Sqrt[a_+b_.*x_^4]/(c_+d_.*x_^4),x_Symbol] :=
+ b/d*Int[1/Sqrt[a+b*x^4],x] - (b*c-a*d)/d*Int[1/(Sqrt[a+b*x^4]*(c+d*x^4)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0]
+
+
+Int[(a_+b_.*x_^4)^(1/4)/(c_+d_.*x_^4),x_Symbol] :=
+ Sqrt[a+b*x^4]*Sqrt[a/(a+b*x^4)]*Subst[Int[1/(Sqrt[1-b*x^4]*(c-(b*c-a*d)*x^4)),x],x,x/(a+b*x^4)^(1/4)] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0]
+
+
+Int[(a_+b_.*x_^4)^p_/(c_+d_.*x_^4),x_Symbol] :=
+ b/d*Int[(a+b*x^4)^(p-1),x] - (b*c-a*d)/d*Int[(a+b*x^4)^(p-1)/(c+d*x^4),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0] && RationalQ[p] && (p==3/4 || p==5/4)
+
+
+Int[1/(Sqrt[a_+b_.*x_^4]*(c_+d_.*x_^4)),x_Symbol] :=
+ 1/(2*c)*Int[1/(Sqrt[a+b*x^4]*(1-Rt[-d/c,2]*x^2)),x] + 1/(2*c)*Int[1/(Sqrt[a+b*x^4]*(1+Rt[-d/c,2]*x^2)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0]
+
+
+Int[1/((a_+b_.*x_^4)^(3/4)*(c_+d_.*x_^4)),x_Symbol] :=
+ b/(b*c-a*d)*Int[1/(a+b*x^4)^(3/4),x] - d/(b*c-a*d)*Int[(a+b*x^4)^(1/4)/(c+d*x^4),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0]
+
+
+Int[Sqrt[a_+b_.*x_^2]/(c_+d_.*x_^2)^(3/2),x_Symbol] :=
+ Sqrt[a+b*x^2]/(c*Rt[d/c,2]*Sqrt[c+d*x^2]*Sqrt[c*(a+b*x^2)/(a*(c+d*x^2))])*EllipticE[ArcTan[Rt[d/c,2]*x],1-b*c/(a*d)] /;
+FreeQ[{a,b,c,d},x] && PosQ[b/a] && PosQ[d/c]
+
+
+(* Int[Sqrt[a_+b_.*x_^2]/(c_+d_.*x_^2)^(3/2),x_Symbol] :=
+ a*Sqrt[c+d*x^2]*Sqrt[(c*(a+b*x^2))/(a*(c+d*x^2))]/(c^2*Rt[d/c,2]*Sqrt[a+b*x^2])*EllipticE[ArcTan[Rt[d/c,2]*x],1-b*c/(a*d)] /;
+FreeQ[{a,b,c,d},x] && PosQ[b/a] && PosQ[d/c] *)
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ -x*(a+b*x^n)^(p+1)*(c+d*x^n)^q/(a*n*(p+1)) +
+ 1/(a*n*(p+1))*Int[(a+b*x^n)^(p+1)*(c+d*x^n)^(q-1)*Simp[c*(n*(p+1)+1)+d*(n*(p+q+1)+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,n},x] && NeQ[b*c-a*d,0] && RationalQ[p,q] && p<-1 && 01 && IntBinomialQ[a,b,c,d,n,p,q,x]
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ -b*x*(a+b*x^n)^(p+1)*(c+d*x^n)^(q+1)/(a*n*(p+1)*(b*c-a*d)) +
+ 1/(a*n*(p+1)*(b*c-a*d))*
+ Int[(a+b*x^n)^(p+1)*(c+d*x^n)^q*Simp[b*c+n*(p+1)*(b*c-a*d)+d*b*(n*(p+q+2)+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,n,q},x] && NeQ[b*c-a*d,0] && RationalQ[p] && p<-1 && Not[Not[IntegerQ[p]] && IntegerQ[q] && q<-1] &&
+ IntBinomialQ[a,b,c,d,n,p,q,x]
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*x^n)^p*(c+d*x^n)^q,x],x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0] && PositiveIntegerQ[n] && IntegersQ[p,q] && p+q>0
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ d*x*(a+b*x^n)^(p+1)*(c+d*x^n)^(q-1)/(b*(n*(p+q)+1)) +
+ 1/(b*(n*(p+q)+1))*
+ Int[(a+b*x^n)^p*(c+d*x^n)^(q-2)*Simp[c*(b*c*(n*(p+q)+1)-a*d)+d*(b*c*(n*(p+2*q-1)+1)-a*d*(n*(q-1)+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,n,p},x] && NeQ[b*c-a*d,0] && RationalQ[q] && q>1 && NeQ[n*(p+q)+1] && Not[IntegerQ[p] && p>1] &&
+ IntBinomialQ[a,b,c,d,n,p,q,x]
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ x*(a+b*x^n)^p*(c+d*x^n)^q/(n*(p+q)+1) +
+ n/(n*(p+q)+1)*Int[(a+b*x^n)^(p-1)*(c+d*x^n)^(q-1)*Simp[a*c*(p+q)+(q*(b*c-a*d)+a*d*(p+q))*x^n,x],x] /;
+FreeQ[{a,b,c,d,n},x] && NeQ[b*c-a*d,0] && RationalQ[p,q] && q>0 && p>0 && IntBinomialQ[a,b,c,d,n,p,q,x]
+
+
+Int[1/(Sqrt[a_+b_.*x_^2]*Sqrt[c_+d_.*x_^2]),x_Symbol] :=
+ Sqrt[a+b*x^2]/(a*Rt[d/c,2]*Sqrt[c+d*x^2]*Sqrt[c*(a+b*x^2)/(a*(c+d*x^2))])*EllipticF[ArcTan[Rt[d/c,2]*x],1-b*c/(a*d)] /;
+FreeQ[{a,b,c,d},x] && PosQ[d/c] && PosQ[b/a] && Not[SimplerSqrtQ[b/a,d/c]]
+
+
+(* Int[1/(Sqrt[a_+b_.*x_^2]*Sqrt[c_+d_.*x_^2]),x_Symbol] :=
+ Sqrt[c+d*x^2]*Sqrt[c*(a+b*x^2)/(a*(c+d*x^2))]/(c*Rt[d/c,2]*Sqrt[a+b*x^2])*EllipticF[ArcTan[Rt[d/c,2]*x],1-b*c/(a*d)] /;
+FreeQ[{a,b,c,d},x] && PosQ[d/c] && PosQ[b/a] && Not[SimplerSqrtQ[b/a,d/c]] *)
+
+
+Int[1/(Sqrt[a_+b_.*x_^2]*Sqrt[c_+d_.*x_^2]),x_Symbol] :=
+ 1/(Sqrt[a]*Sqrt[c]*Rt[-d/c,2])*EllipticF[ArcSin[Rt[-d/c,2]*x],b*c/(a*d)] /;
+FreeQ[{a,b,c,d},x] && NegQ[d/c] && PositiveQ[c] && PositiveQ[a] && Not[NegQ[b/a] && SimplerSqrtQ[-b/a,-d/c]]
+
+
+Int[1/(Sqrt[a_+b_.*x_^2]*Sqrt[c_+d_.*x_^2]),x_Symbol] :=
+ -1/(Sqrt[c]*Rt[-d/c,2]*Sqrt[a-b*c/d])*EllipticF[ArcCos[Rt[-d/c,2]*x],b*c/(b*c-a*d)] /;
+FreeQ[{a,b,c,d},x] && NegQ[d/c] && PositiveQ[c] && PositiveQ[a-b*c/d]
+
+
+Int[1/(Sqrt[a_+b_.*x_^2]*Sqrt[c_+d_.*x_^2]),x_Symbol] :=
+ Sqrt[1+d/c*x^2]/Sqrt[c+d*x^2]*Int[1/(Sqrt[a+b*x^2]*Sqrt[1+d/c*x^2]),x] /;
+FreeQ[{a,b,c,d},x] && Not[PositiveQ[c]]
+
+
+Int[Sqrt[a_+b_.*x_^2]/Sqrt[c_+d_.*x_^2],x_Symbol] :=
+ a*Int[1/(Sqrt[a+b*x^2]*Sqrt[c+d*x^2]),x] + b*Int[x^2/(Sqrt[a+b*x^2]*Sqrt[c+d*x^2]),x] /;
+FreeQ[{a,b,c,d},x] && PosQ[d/c] && PosQ[b/a]
+
+
+Int[Sqrt[a_+b_.*x_^2]/Sqrt[c_+d_.*x_^2],x_Symbol] :=
+ b/d*Int[Sqrt[c+d*x^2]/Sqrt[a+b*x^2],x] - (b*c-a*d)/d*Int[1/(Sqrt[a+b*x^2]*Sqrt[c+d*x^2]),x] /;
+FreeQ[{a,b,c,d},x] && PosQ[d/c] && NegQ[b/a]
+
+
+Int[Sqrt[a_+b_.*x_^2]/Sqrt[c_+d_.*x_^2],x_Symbol] :=
+ Sqrt[a]/(Sqrt[c]*Rt[-d/c,2])*EllipticE[ArcSin[Rt[-d/c,2]*x],b*c/(a*d)] /;
+FreeQ[{a,b,c,d},x] && NegQ[d/c] && PositiveQ[c] && PositiveQ[a]
+
+
+Int[Sqrt[a_+b_.*x_^2]/Sqrt[c_+d_.*x_^2],x_Symbol] :=
+ -Sqrt[a-b*c/d]/(Sqrt[c]*Rt[-d/c,2])*EllipticE[ArcCos[Rt[-d/c,2]*x],b*c/(b*c-a*d)] /;
+FreeQ[{a,b,c,d},x] && NegQ[d/c] && PositiveQ[c] && PositiveQ[a-b*c/d]
+
+
+Int[Sqrt[a_+b_.*x_^2]/Sqrt[c_+d_.*x_^2],x_Symbol] :=
+ Sqrt[a+b*x^2]/Sqrt[1+b/a*x^2]*Int[Sqrt[1+b/a*x^2]/Sqrt[c+d*x^2],x] /;
+FreeQ[{a,b,c,d},x] && NegQ[d/c] && PositiveQ[c] && Not[PositiveQ[a]]
+
+
+Int[Sqrt[a_+b_.*x_^2]/Sqrt[c_+d_.*x_^2],x_Symbol] :=
+ Sqrt[1+d/c*x^2]/Sqrt[c+d*x^2]*Int[Sqrt[a+b*x^2]/Sqrt[1+d/c*x^2],x] /;
+FreeQ[{a,b,c,d},x] && NegQ[d/c] && Not[PositiveQ[c]]
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*x^n)^p*(c+d*x^n)^q,x],x] /;
+FreeQ[{a,b,c,d,n,q},x] && NeQ[b*c-a*d,0] && PositiveIntegerQ[p]
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ a^p*c^q*x*AppellF1[1/n,-p,-q,1+1/n,-b*x^n/a,-d*x^n/c] /;
+FreeQ[{a,b,c,d,n,p,q},x] && NeQ[b*c-a*d,0] && NeQ[n+1] && PositiveQ[a] && PositiveQ[c]
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ a^IntPart[p]*(a+b*x^n)^FracPart[p]/(1+b*x^n/a)^FracPart[p]*Int[(1+b*x^n/a)^p*(c+d*x^n)^q,x] /;
+FreeQ[{a,b,c,d,n,p,q},x] && NeQ[b*c-a*d,0] && NeQ[n+1] && Not[PositiveQ[a]]
+
+
+Int[(a_+b_.*x_^n_.)^p_.*(c_+d_.*x_^mn_.)^q_.,x_Symbol] :=
+ Int[(a+b*x^n)^p*(d+c*x^n)^q/x^(n*q),x] /;
+FreeQ[{a,b,c,d,n,p},x] && EqQ[mn,-n] && IntegerQ[q] && (PosQ[n] || Not[IntegerQ[p]])
+
+
+Int[(a_+b_.*x_^n_.)^p_*(c_+d_.*x_^mn_.)^q_,x_Symbol] :=
+ x^(n*FracPart[q])*(c+d*x^(-n))^FracPart[q]/(d+c*x^n)^FracPart[q]*Int[(a+b*x^n)^p*(d+c*x^n)^q/x^(n*q),x] /;
+FreeQ[{a,b,c,d,n,p,q},x] && EqQ[mn,-n] && Not[IntegerQ[q]] && Not[IntegerQ[p]]
+
+
+Int[(a_.+b_.*u_^n_)^p_.*(c_.+d_.*u_^n_)^q_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*x^n)^p*(c+d*x^n)^q,x],x,u] /;
+FreeQ[{a,b,c,d,n,p,q},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[u_^p_.*v_^q_.,x_Symbol] :=
+ Int[NormalizePseudoBinomial[u,x]^p*NormalizePseudoBinomial[v,x]^q,x] /;
+FreeQ[{p,q},x] && PseudoBinomialPairQ[u,v,x]
+
+
+Int[x_^m_.*u_^p_.*v_^q_.,x_Symbol] :=
+ Int[NormalizePseudoBinomial[x^(m/p)*u,x]^p*NormalizePseudoBinomial[v,x]^q,x] /;
+FreeQ[{p,q},x] && IntegersQ[p,m/p] && PseudoBinomialPairQ[x^(m/p)*u,v,x]
+
+
+(* IntBinomialQ[a,b,c,d,n,p,q,x] returns True iff (a+b*x^n)^p*(c+d*x^n)^q is integrable wrt x in terms of non-Appell functions. *)
+IntBinomialQ[a_,b_,c_,d_,n_,p_,q_,x_Symbol] :=
+ IntegersQ[p,q] || PositiveIntegerQ[p] || PositiveIntegerQ[q] ||
+ (EqQ[n-2] || EqQ[n-4]) && (IntegersQ[p,4*q] || IntegersQ[4*p,q]) ||
+ EqQ[n-2] && (IntegersQ[2*p,2*q] || IntegersQ[3*p,q] && EqQ[b*c+3*a*d] || IntegersQ[p,3*q] && EqQ[3*b*c+a*d])
+
+
+(* ::Subsection::Closed:: *)
+(*1.1.3.4 (e x)^m (a+b x^n)^p (c+d x^n)^q*)
+
+
+Int[(e_.*x_)^m_.*(b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_.,x_Symbol] :=
+ e^m/(n*b^(Simplify[(m+1)/n]-1))*Subst[Int[(b*x)^(p+Simplify[(m+1)/n]-1)*(c+d*x)^q,x],x,x^n] /;
+FreeQ[{b,c,d,e,m,n,p,q},x] && (IntegerQ[m] || PositiveQ[e]) && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(e_.*x_)^m_.*(b_.*x_^n_.)^p_*(c_+d_.*x_^n_)^q_.,x_Symbol] :=
+ e^m*b^IntPart[p]*(b*x^n)^FracPart[p]/x^(n*FracPart[p])*Int[x^(m+n*p)*(c+d*x^n)^q,x] /;
+FreeQ[{b,c,d,e,m,n,p,q},x] && (IntegerQ[m] || PositiveQ[e]) && Not[IntegerQ[Simplify[(m+1)/n]]]
+
+
+Int[(e_*x_)^m_*(b_.*x_^n_.)^p_*(c_+d_.*x_^n_)^q_.,x_Symbol] :=
+ e^IntPart[m]*(e*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(b*x^n)^p*(c+d*x^n)^q,x] /;
+FreeQ[{b,c,d,e,m,n,p,q},x] && Not[IntegerQ[m]]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.,x_Symbol] :=
+ 1/n*Subst[Int[(a+b*x)^p*(c+d*x)^q,x],x,x^n] /;
+FreeQ[{a,b,c,d,m,n,p,q},x] && NeQ[b*c-a*d] && EqQ[m-n+1]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.,x_Symbol] :=
+ Int[x^(m+n*(p+q))*(b+a*x^(-n))^p*(d+c*x^(-n))^q,x] /;
+FreeQ[{a,b,c,d,m,n},x] && NeQ[b*c-a*d] && IntegersQ[p,q] && NegQ[n]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(a+b*x)^p*(c+d*x)^q,x],x,x^n] /;
+FreeQ[{a,b,c,d,m,n,p,q},x] && NeQ[b*c-a*d] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(e_*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.,x_Symbol] :=
+ e^IntPart[m]*(e*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*x^n)^p*(c+d*x^n)^q,x] /;
+FreeQ[{a,b,c,d,e,m,n,p,q},x] && NeQ[b*c-a*d] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.,x_Symbol] :=
+ Int[ExpandIntegrand[(e*x)^m*(a+b*x^n)^p*(c+d*x^n)^q,x],x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && NeQ[b*c-a*d] && PositiveIntegerQ[p,q]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_),x_Symbol] :=
+ c*(e*x)^(m+1)*(a+b*x^n)^(p+1)/(a*e*(m+1)) /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && NeQ[b*c-a*d] && EqQ[a*d*(m+1)-b*c*(m+n*(p+1)+1)] && NeQ[m+1]
+
+
+Int[(e_.*x_)^m_.*(a1_+b1_.*x_^non2_.)^p_.*(a2_+b2_.*x_^non2_.)^p_.*(c_+d_.*x_^n_),x_Symbol] :=
+ c*(e*x)^(m+1)*(a1+b1*x^(n/2))^(p+1)*(a2+b2*x^(n/2))^(p+1)/(a1*a2*e*(m+1)) /;
+FreeQ[{a1,b1,a2,b2,c,d,e,m,n,p},x] && EqQ[non2-n/2] && EqQ[a2*b1+a1*b2] && EqQ[a1*a2*d*(m+1)-b1*b2*c*(m+n*(p+1)+1)] &&
+ NeQ[m+1]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_),x_Symbol] :=
+ c*(e*x)^(m+1)*(a+b*x^n)^(p+1)/(a*e*(m+1)) + d/e^n*Int[(e*x)^(m+n)*(a+b*x^n)^p,x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[b*c-a*d] && EqQ[m+n*(p+1)+1] && (IntegerQ[n] || PositiveQ[e]) &&
+ RationalQ[m,n] && (n>0 && m<-1 || n<0 && m+n>-1)
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_),x_Symbol] :=
+ (b*c-a*d)*(e*x)^(m+1)*(a+b*x^n)^(p+1)/(a*b*e*(m+1)) + d/b*Int[(e*x)^m*(a+b*x^n)^(p+1),x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && NeQ[b*c-a*d] && EqQ[m+n*(p+1)+1] && NeQ[m+1]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_),x_Symbol] :=
+ c*(e*x)^(m+1)*(a+b*x^n)^(p+1)/(a*e*(m+1)) +
+ (a*d*(m+1)-b*c*(m+n*(p+1)+1))/(a*e^n*(m+1))*Int[(e*x)^(m+n)*(a+b*x^n)^p,x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[b*c-a*d] && (IntegerQ[n] || PositiveQ[e]) &&
+ RationalQ[m,n] && (n>0 && m<-1 || n<0 && m+n>-1) && Not[IntegerQ[p] && p<-1]
+
+
+Int[(e_.*x_)^m_.*(a1_+b1_.*x_^non2_.)^p_.*(a2_+b2_.*x_^non2_.)^p_.*(c_+d_.*x_^n_),x_Symbol] :=
+ c*(e*x)^(m+1)*(a1+b1*x^(n/2))^(p+1)*(a2+b2*x^(n/2))^(p+1)/(a1*a2*e*(m+1)) +
+ (a1*a2*d*(m+1)-b1*b2*c*(m+n*(p+1)+1))/(a1*a2*e^n*(m+1))*Int[(e*x)^(m+n)*(a1+b1*x^(n/2))^p*(a2+b2*x^(n/2))^p,x] /;
+FreeQ[{a1,b1,a2,b2,c,d,e,p},x] && EqQ[non2-n/2] && EqQ[a2*b1+a1*b2] && (IntegerQ[n] || PositiveQ[e]) &&
+ RationalQ[m,n] && (n>0 && m<-1 || n<0 && m+n>-1) && Not[IntegerQ[p] && p<-1]
+
+
+Int[x_^m_*(a_+b_.*x_^2)^p_*(c_+d_.*x_^2),x_Symbol] :=
+ (-a)^(m/2-1)*(b*c-a*d)*x*(a+b*x^2)^(p+1)/(2*b^(m/2+1)*(p+1)) +
+ 1/(2*b^(m/2+1)*(p+1))*Int[(a+b*x^2)^(p+1)*
+ ExpandToSum[2*b*(p+1)*x^2*Together[(b^(m/2)*x^(m-2)*(c+d*x^2)-(-a)^(m/2-1)*(b*c-a*d))/(a+b*x^2)]-(-a)^(m/2-1)*(b*c-a*d),x],x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d] && RationalQ[p] && p<-1 && PositiveIntegerQ[m/2] && (IntegerQ[p] || m+2*p+1==0)
+
+
+Int[x_^m_*(a_+b_.*x_^2)^p_*(c_+d_.*x_^2),x_Symbol] :=
+ (-a)^(m/2-1)*(b*c-a*d)*x*(a+b*x^2)^(p+1)/(2*b^(m/2+1)*(p+1)) +
+ 1/(2*b^(m/2+1)*(p+1))*Int[x^m*(a+b*x^2)^(p+1)*
+ ExpandToSum[2*b*(p+1)*Together[(b^(m/2)*(c+d*x^2)-(-a)^(m/2-1)*(b*c-a*d)*x^(-m+2))/(a+b*x^2)]-
+ (-a)^(m/2-1)*(b*c-a*d)*x^(-m),x],x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d] && RationalQ[p] && p<-1 && NegativeIntegerQ[m/2] && (IntegerQ[p] || m+2*p+1==0)
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_),x_Symbol] :=
+ -(b*c-a*d)*(e*x)^(m+1)*(a+b*x^n)^(p+1)/(a*b*e*n*(p+1)) -
+ (a*d*(m+1)-b*c*(m+n*(p+1)+1))/(a*b*n*(p+1))*Int[(e*x)^m*(a+b*x^n)^(p+1),x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && NeQ[b*c-a*d] && RationalQ[p] && p<-1 &&
+ (IntegerQ[p] || Not[RationalQ[m]] || PositiveIntegerQ[n] && NegativeIntegerQ[p+1/2] && -1<=m<=-n*(p+1))
+
+
+Int[(e_.*x_)^m_.*(a1_+b1_.*x_^non2_.)^p_.*(a2_+b2_.*x_^non2_.)^p_.*(c_+d_.*x_^n_),x_Symbol] :=
+ -(b1*b2*c-a1*a2*d)*(e*x)^(m+1)*(a1+b1*x^(n/2))^(p+1)*(a2+b2*x^(n/2))^(p+1)/(a1*a2*b1*b2*e*n*(p+1)) -
+ (a1*a2*d*(m+1)-b1*b2*c*(m+n*(p+1)+1))/(a1*a2*b1*b2*n*(p+1))*Int[(e*x)^m*(a1+b1*x^(n/2))^(p+1)*(a2+b2*x^(n/2))^(p+1),x] /;
+FreeQ[{a1,b1,a2,b2,c,d,e,m,n},x] && EqQ[non2-n/2] && EqQ[a2*b1+a1*b2] && RationalQ[p] && p<-1 &&
+ (IntegerQ[p] || Not[RationalQ[m]] || PositiveIntegerQ[n] && NegativeIntegerQ[p+1/2] && -1<=m<=-n*(p+1))
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_),x_Symbol] :=
+ d*(e*x)^(m+1)*(a+b*x^n)^(p+1)/(b*e*(m+n*(p+1)+1)) -
+ (a*d*(m+1)-b*c*(m+n*(p+1)+1))/(b*(m+n*(p+1)+1))*Int[(e*x)^m*(a+b*x^n)^p,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && NeQ[b*c-a*d] && NeQ[m+n*(p+1)+1]
+
+
+Int[(e_.*x_)^m_.*(a1_+b1_.*x_^non2_.)^p_.*(a2_+b2_.*x_^non2_.)^p_.*(c_+d_.*x_^n_),x_Symbol] :=
+ d*(e*x)^(m+1)*(a1+b1*x^(n/2))^(p+1)*(a2+b2*x^(n/2))^(p+1)/(b1*b2*e*(m+n*(p+1)+1)) -
+ (a1*a2*d*(m+1)-b1*b2*c*(m+n*(p+1)+1))/(b1*b2*(m+n*(p+1)+1))*Int[(e*x)^m*(a1+b1*x^(n/2))^p*(a2+b2*x^(n/2))^p,x] /;
+FreeQ[{a1,b1,a2,b2,c,d,e,m,n,p},x] && EqQ[non2-n/2] && EqQ[a2*b1+a1*b2] && NeQ[m+n*(p+1)+1]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_/(c_+d_.*x_^n_),x_Symbol] :=
+ Int[ExpandIntegrand[(e*x)^m*(a+b*x^n)^p/(c+d*x^n),x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && PositiveIntegerQ[p] &&
+ (IntegerQ[m] || PositiveIntegerQ[2*(m+1)] || Not[RationalQ[m]])
+
+
+Int[(e_.*x_)^m_*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^2,x_Symbol] :=
+ c^2*(e*x)^(m+1)*(a+b*x^n)^(p+1)/(a*e*(m+1)) -
+ 1/(a*e^n*(m+1))*Int[(e*x)^(m+n)*(a+b*x^n)^p*Simp[b*c^2*n*(p+1)+c*(b*c-2*a*d)*(m+1)-a*(m+1)*d^2*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && RationalQ[m,n] && m<-1 && n>0
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^2,x_Symbol] :=
+ -(b*c-a*d)^2*(e*x)^(m+1)*(a+b*x^n)^(p+1)/(a*b^2*e*n*(p+1)) +
+ 1/(a*b^2*n*(p+1))*Int[(e*x)^m*(a+b*x^n)^(p+1)*Simp[(b*c-a*d)^2*(m+1)+b^2*c^2*n*(p+1)+a*b*d^2*n*(p+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && RationalQ[p] && p<-1
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^2,x_Symbol] :=
+ d^2*(e*x)^(m+n+1)*(a+b*x^n)^(p+1)/(b*e^(n+1)*(m+n*(p+2)+1)) +
+ 1/(b*(m+n*(p+2)+1))*Int[(e*x)^m*(a+b*x^n)^p*Simp[b*c^2*(m+n*(p+2)+1)+d*((2*b*c-a*d)*(m+n+1)+2*b*c*n*(p+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && NeQ[m+n*(p+2)+1]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ With[{k=GCD[m+1,n]},
+ 1/k*Subst[Int[x^((m+1)/k-1)*(a+b*x^(n/k))^p*(c+d*x^(n/k))^q,x],x,x^k] /;
+ k!=1] /;
+FreeQ[{a,b,c,d,p,q},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && IntegerQ[m]
+
+
+Int[(e_.*x_)^m_*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ With[{k=Denominator[m]},
+ k/e*Subst[Int[x^(k*(m+1)-1)*(a+b*x^(k*n)/e^n)^p*(c+d*x^(k*n)/e^n)^q,x],x,(e*x)^(1/k)]] /;
+FreeQ[{a,b,c,d,e,p,q},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && FractionQ[m] && IntegerQ[p]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ e^(n-1)*(e*x)^(m-n+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^q/(b*n*(p+1)) -
+ e^n/(b*n*(p+1))*Int[(e*x)^(m-n)*(a+b*x^n)^(p+1)*(c+d*x^n)^(q-1)*Simp[c*(m-n+1)+d*(m+n*(q-1)+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && RationalQ[m,p,q] && p<-1 && q>0 && m-n+1>0 &&
+ IntBinomialQ[a,b,c,d,e,m,n,p,q,x]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ -(c*b-a*d)*(e*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^(q-1)/(a*b*e*n*(p+1)) +
+ 1/(a*b*n*(p+1))*Int[(e*x)^m*(a+b*x^n)^(p+1)*(c+d*x^n)^(q-2)*
+ Simp[c*(c*b*n*(p+1)+(c*b-a*d)*(m+1))+d*(c*b*n*(p+1)+(c*b-a*d)*(m+n*(q-1)+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && RationalQ[p,q] && p<-1 && q>1 &&
+ IntBinomialQ[a,b,c,d,e,m,n,p,q,x]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ -(e*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^q/(a*e*n*(p+1)) +
+ 1/(a*n*(p+1))*Int[(e*x)^m*(a+b*x^n)^(p+1)*(c+d*x^n)^(q-1)*Simp[c*(m+n*(p+1)+1)+d*(m+n*(p+q+1)+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && RationalQ[p,q] && p<-1 && 0n &&
+ IntBinomialQ[a,b,c,d,e,m,n,p,q,x]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ e^(n-1)*(e*x)^(m-n+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^(q+1)/(n*(b*c-a*d)*(p+1)) -
+ e^n/(n*(b*c-a*d)*(p+1))*Int[(e*x)^(m-n)*(a+b*x^n)^(p+1)*(c+d*x^n)^q*Simp[c*(m-n+1)+d*(m+n*(p+q+1)+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,q},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && RationalQ[m,p] && p<-1 && n>=m-n+1>0 &&
+ IntBinomialQ[a,b,c,d,e,m,n,p,q,x]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ -b*(e*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^(q+1)/(a*e*n*(b*c-a*d)*(p+1)) +
+ 1/(a*n*(b*c-a*d)*(p+1))*
+ Int[(e*x)^m*(a+b*x^n)^(p+1)*(c+d*x^n)^q*Simp[c*b*(m+1)+n*(b*c-a*d)*(p+1)+d*b*(m+n*(p+q+2)+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,m,q},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && RationalQ[p] && p<-1 &&
+ IntBinomialQ[a,b,c,d,e,m,n,p,q,x]
+
+
+Int[(e_.*x_)^m_*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ (e*x)^(m+1)*(a+b*x^n)^p*(c+d*x^n)^q/(e*(m+1)) -
+ n/(e^n*(m+1))*Int[(e*x)^(m+n)*(a+b*x^n)^(p-1)*(c+d*x^n)^(q-1)*Simp[b*c*p+a*d*q+b*d*(p+q)*x^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && RationalQ[m,p,q] && q>0 && m<-1 && p>0 &&
+ IntBinomialQ[a,b,c,d,e,m,n,p,q,x]
+
+
+Int[(e_.*x_)^m_*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ c*(e*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^(q-1)/(a*e*(m+1)) -
+ 1/(a*e^n*(m+1))*Int[(e*x)^(m+n)*(a+b*x^n)^p*(c+d*x^n)^(q-2)*
+ Simp[c*(c*b-a*d)*(m+1)+c*n*(b*c*(p+1)+a*d*(q-1))+d*((c*b-a*d)*(m+1)+c*b*n*(p+q))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && RationalQ[m,q] && q>1 && m<-1 &&
+ IntBinomialQ[a,b,c,d,e,m,n,p,q,x]
+
+
+Int[(e_.*x_)^m_*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ (e*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^q/(a*e*(m+1)) -
+ 1/(a*e^n*(m+1))*Int[(e*x)^(m+n)*(a+b*x^n)^p*(c+d*x^n)^(q-1)*
+ Simp[c*b*(m+1)+n*(b*c*(p+1)+a*d*q)+d*(b*(m+1)+b*n*(p+q+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && RationalQ[m,q] && 00 && p>0 &&
+ IntBinomialQ[a,b,c,d,e,m,n,p,q,x]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ d*(e*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^(q-1)/(b*e*(m+n*(p+q)+1)) +
+ 1/(b*(m+n*(p+q)+1))*Int[(e*x)^m*(a+b*x^n)^p*(c+d*x^n)^(q-2)*
+ Simp[c*((c*b-a*d)*(m+1)+c*b*n*(p+q))+(d*(c*b-a*d)*(m+1)+d*n*(q-1)*(b*c-a*d)+c*b*d*n*(p+q))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && RationalQ[q] && q>1 && IntBinomialQ[a,b,c,d,e,m,n,p,q,x]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ e^(n-1)*(e*x)^(m-n+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^q/(b*(m+n*(p+q)+1)) -
+ e^n/(b*(m+n*(p+q)+1))*
+ Int[(e*x)^(m-n)*(a+b*x^n)^p*(c+d*x^n)^(q-1)*Simp[a*c*(m-n+1)+(a*d*(m-n+1)-n*q*(b*c-a*d))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && RationalQ[m,q] && q>0 && m-n+1>0 &&
+ IntBinomialQ[a,b,c,d,e,m,n,p,q,x]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ e^(2*n-1)*(e*x)^(m-2*n+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^(q+1)/(b*d*(m+n*(p+q)+1)) -
+ e^(2*n)/(b*d*(m+n*(p+q)+1))*
+ Int[(e*x)^(m-2*n)*(a+b*x^n)^p*(c+d*x^n)^q*Simp[a*c*(m-2*n+1)+(a*d*(m+n*(q-1)+1)+b*c*(m+n*(p-1)+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,p,q},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && RationalQ[m] && m-n+1>n &&
+ IntBinomialQ[a,b,c,d,e,m,n,p,q,x]
+
+
+Int[(e_.*x_)^m_*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ (e*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^(q+1)/(a*c*e*(m+1)) -
+ 1/(a*c*e^n*(m+1))*
+ Int[(e*x)^(m+n)*(a+b*x^n)^p*(c+d*x^n)^q*Simp[(b*c+a*d)*(m+n+1)+n*(b*c*p+a*d*q)+b*d*(m+n*(p+q+2)+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,p,q},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && RationalQ[m] && m<-1 && IntBinomialQ[a,b,c,d,e,m,n,p,q,x]
+
+
+Int[(e_.*x_)^m_./((a_+b_.*x_^n_)*(c_+d_.*x_^n_)),x_Symbol] :=
+ -a*e^n/(b*c-a*d)*Int[(e*x)^(m-n)/(a+b*x^n),x] + c*e^n/(b*c-a*d)*Int[(e*x)^(m-n)/(c+d*x^n),x] /;
+FreeQ[{a,b,c,d,m,n},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n] && RationalQ[m] && n<=m<=2*n-1
+
+
+Int[(e_.*x_)^m_./((a_+b_.*x_^n_)*(c_+d_.*x_^n_)),x_Symbol] :=
+ b/(b*c-a*d)*Int[(e*x)^m/(a+b*x^n),x] - d/(b*c-a*d)*Int[(e*x)^m/(c+d*x^n),x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[b*c-a*d] && PositiveIntegerQ[n]
+
+
+Int[x_^m_/((a_+b_.*x_^n_)*Sqrt[c_+d_.*x_^n_]),x_Symbol] :=
+ 1/b*Int[x^(m-n)/Sqrt[c+d*x^n],x] - a/b*Int[x^(m-n)/((a+b*x^n)*Sqrt[c+d*x^n]),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d] && IntegersQ[m/2,n/2] && 01 && IntBinomialQ[a,b,c,d,e,m,n,p,q,x]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ -(e*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^q/(a*e*n*(p+1)) +
+ 1/(a*n*(p+1))*Int[(e*x)^m*(a+b*x^n)^(p+1)*(c+d*x^n)^(q-1)*Simp[c*(m+n*(p+1)+1)+d*(m+n*(p+q+1)+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && NeQ[b*c-a*d] && RationalQ[p,q] && p<-1 && 00 && p>0 && IntBinomialQ[a,b,c,d,e,m,n,p,q,x]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ d*(e*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^(q-1)/(b*e*(m+n*(p+q)+1)) +
+ 1/(b*(m+n*(p+q)+1))*Int[(e*x)^m*(a+b*x^n)^p*(c+d*x^n)^(q-2)*
+ Simp[c*((c*b-a*d)*(m+1)+c*b*n*(p+q))+(d*(c*b-a*d)*(m+1)+d*n*(q-1)*(b*c-a*d)+c*b*d*n*(p+q))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && NeQ[b*c-a*d] && RationalQ[q] && q>1 && IntBinomialQ[a,b,c,d,e,m,n,p,q,x]
+
+
+Int[x_^m_/((a_+b_.*x_^n_)*(c_+d_.*x_^n_)),x_Symbol] :=
+ -a/(b*c-a*d)*Int[x^(m-n)/(a+b*x^n),x] + c/(b*c-a*d)*Int[x^(m-n)/(c+d*x^n),x] /;
+FreeQ[{a,b,c,d,m,n},x] && NeQ[b*c-a*d] && (EqQ[m-n] || EqQ[m-2*n+1])
+
+
+Int[(e_.*x_)^m_./((a_+b_.*x_^n_)*(c_+d_.*x_^n_)),x_Symbol] :=
+ b/(b*c-a*d)*Int[(e*x)^m/(a+b*x^n),x] - d/(b*c-a*d)*Int[(e*x)^m/(c+d*x^n),x] /;
+FreeQ[{a,b,c,d,e,n,m},x] && NeQ[b*c-a*d]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ Int[ExpandIntegrand[(e*x)^m*(a+b*x^n)^p*(c+d*x^n)^q,x],x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && NeQ[b*c-a*d] && IntegersQ[m,p,q] && p>=-2 && (q>=-2 || q==-3 && IntegerQ[(m-1)/2])
+
+
+Int[x_^m_.*(a_+b_.*x_^n_.)^p_.*(c_+d_.*x_^mn_.)^q_.,x_Symbol] :=
+ Int[x^(m-n*q)*(a+b*x^n)^p*(d+c*x^n)^q,x] /;
+FreeQ[{a,b,c,d,m,n,p},x] && EqQ[mn,-n] && IntegerQ[q] && (PosQ[n] || Not[IntegerQ[p]])
+
+
+Int[x_^m_.*(a_+b_.*x_^n_.)^p_.*(c_+d_.*x_^mn_.)^q_,x_Symbol] :=
+ x^(n*FracPart[q])*(c+d*x^(-n))^FracPart[q]/(d+c*x^n)^FracPart[q]*Int[x^(m-n*q)*(a+b*x^n)^p*(d+c*x^n)^q,x] /;
+FreeQ[{a,b,c,d,m,n,p,q},x] && EqQ[mn,-n] && Not[IntegerQ[q]] && Not[IntegerQ[p]]
+
+
+Int[(e_*x_)^m_*(a_.+b_.*x_^n_.)^p_.*(c_+d_.*x_^mn_.)^q_.,x_Symbol] :=
+ e^IntPart[m]*(e*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*x^n)^p*(c+d*x^(-n))^q,x] /;
+FreeQ[{a,b,c,d,e,m,n,p,q},x] && EqQ[mn,-n]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ a^p*c^q*(e*x)^(m+1)/(e*(m+1))*AppellF1[(m+1)/n,-p,-q,1+(m+1)/n,-b*x^n/a,-d*x^n/c] /;
+FreeQ[{a,b,c,d,e,m,n,p,q},x] && NeQ[b*c-a*d] && NeQ[m+1] && NeQ[m-n+1] && PositiveQ[a] && PositiveQ[c]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] :=
+ a^IntPart[p]*(a+b*x^n)^FracPart[p]/(1+b*x^n/a)^FracPart[p]*Int[(e*x)^m*(1+b*x^n/a)^p*(c+d*x^n)^q,x] /;
+FreeQ[{a,b,c,d,e,m,n,p,q},x] && NeQ[b*c-a*d] && NeQ[m+1] && NeQ[m-n+1] && Not[PositiveQ[a]]
+
+
+Int[x_^m_.*(a_.+b_.*v_^n_)^p_.*(c_.+d_.*v_^n_)^q_.,x_Symbol] :=
+ 1/Coefficient[v,x,1]^(m+1)*Subst[Int[SimplifyIntegrand[(x-Coefficient[v,x,0])^m*(a+b*x^n)^p*(c+d*x^n)^q,x],x],x,v] /;
+FreeQ[{a,b,c,d,n,p,q},x] && LinearQ[v,x] && IntegerQ[m] && NeQ[v-x]
+
+
+Int[u_^m_.*(a_.+b_.*v_^n_)^p_.*(c_.+d_.*v_^n_)^q_.,x_Symbol] :=
+ u^m/(Coefficient[v,x,1]*v^m)*Subst[Int[x^m*(a+b*x^n)^p*(c+d*x^n)^q,x],x,v] /;
+FreeQ[{a,b,c,d,m,n,p,q},x] && LinearPairQ[u,v,x]
+
+
+(* IntBinomialQ[a,b,c,d,e,m,n,p,q,x] returns True iff (e*x)^m*(a+b*x^n)^p*(c+d*x^n)^q is integrable wrt x in terms of non-Appell functions. *)
+IntBinomialQ[a_,b_,c_,d_,e_,m_,n_,p_,q_,x_Symbol] :=
+ IntegersQ[p,q] || PositiveIntegerQ[p] || PositiveIntegerQ[q] ||
+ EqQ[n-2] && IntegerQ[m] && IntegersQ[2*p,2*q] ||
+ EqQ[n-4] && (IntegersQ[m,p,2*q] || IntegersQ[m,2*p,q])
+
+
+Int[u_.*(a1_+b1_.*x_^non2_.)^p_.*(a2_+b2_.*x_^non2_.)^p_.*(c_+d_.*x_^n_.)^q_.,x_Symbol] :=
+ Int[u*(a1*a2+b1*b2*x^n)^p*(c+d*x^n)^q,x] /;
+FreeQ[{a1,b1,a2,b2,c,d,n,p,q},x] && EqQ[non2-n/2] && EqQ[a2*b1+a1*b2] && (IntegerQ[p] || PositiveQ[a1] && PositiveQ[a2])
+
+
+Int[u_.*(a1_+b1_.*x_^non2_.)^p_.*(a2_+b2_.*x_^non2_.)^p_.*(c_+d_.*x_^n_.+e_.*x_^n2_.)^q_.,x_Symbol] :=
+ Int[u*(a1*a2+b1*b2*x^n)^p*(c+d*x^n+e*x^(2*n))^q,x] /;
+FreeQ[{a1,b1,a2,b2,c,d,e,n,p,q},x] && EqQ[non2-n/2] && EqQ[n2-2*n] && EqQ[a2*b1+a1*b2] &&
+ (IntegerQ[p] || PositiveQ[a1] && PositiveQ[a2])
+
+
+Int[u_.*(a1_+b1_.*x_^non2_.)^p_*(a2_+b2_.*x_^non2_.)^p_*(c_+d_.*x_^n_.)^q_.,x_Symbol] :=
+ (a1+b1*x^(n/2))^FracPart[p]*(a2+b2*x^(n/2))^FracPart[p]/(a1*a2+b1*b2*x^n)^FracPart[p]*
+ Int[u*(a1*a2+b1*b2*x^n)^p*(c+d*x^n)^q,x] /;
+FreeQ[{a1,b1,a2,b2,c,d,n,p,q},x] && EqQ[non2-n/2] && EqQ[a2*b1+a1*b2]
+
+
+Int[u_.*(a1_+b1_.*x_^non2_.)^p_.*(a2_+b2_.*x_^non2_.)^p_.*(c_+d_.*x_^n_.+e_.*x_^n2_.)^q_.,x_Symbol] :=
+ (a1+b1*x^(n/2))^FracPart[p]*(a2+b2*x^(n/2))^FracPart[p]/(a1*a2+b1*b2*x^n)^FracPart[p]*
+ Int[u*(a1*a2+b1*b2*x^n)^p*(c+d*x^n+e*x^(2*n))^q,x] /;
+FreeQ[{a1,b1,a2,b2,c,d,e,n,p,q},x] && EqQ[non2-n/2] && EqQ[n2-2*n] && EqQ[a2*b1+a1*b2]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.1.3.5 (a+b x^n)^p (c+d x^n)^q (e+f x^n)^r*)
+
+
+Int[(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*x^n)^p*(c+d*x^n)^q*(e+f*x^n)^r,x],x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[p,q,r]
+
+
+Int[(e_+f_.*x_^n_)/((a_+b_.*x_^n_)*(c_+d_.*x_^n_)),x_Symbol] :=
+ (b*e-a*f)/(b*c-a*d)*Int[1/(a+b*x^n),x] -
+ (d*e-c*f)/(b*c-a*d)*Int[1/(c+d*x^n),x] /;
+FreeQ[{a,b,c,d,e,f,n},x]
+
+
+Int[(e_+f_.*x_^n_)/((a_+b_.*x_^n_)*Sqrt[c_+d_.*x_^n_]),x_Symbol] :=
+ f/b*Int[1/Sqrt[c+d*x^n],x] +
+ (b*e-a*f)/b*Int[1/((a+b*x^n)*Sqrt[c+d*x^n]),x] /;
+FreeQ[{a,b,c,d,e,f,n},x]
+
+
+Int[(e_+f_.*x_^n_)/(Sqrt[a_+b_.*x_^n_]*Sqrt[c_+d_.*x_^n_]),x_Symbol] :=
+ f/b*Int[Sqrt[a+b*x^n]/Sqrt[c+d*x^n],x] +
+ (b*e-a*f)/b*Int[1/(Sqrt[a+b*x^n]*Sqrt[c+d*x^n]),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] &&
+ Not[EqQ[n-2] && (PosQ[b/a] && PosQ[d/c] || NegQ[b/a] && (PosQ[d/c] || PositiveQ[a] && (Not[PositiveQ[c]] || SimplerSqrtQ[-b/a,-d/c])))]
+
+
+Int[(e_+f_.*x_^2)/(Sqrt[a_+b_.*x_^2]*(c_+d_.*x_^2)^(3/2)),x_Symbol] :=
+ (b*e-a*f)/(b*c-a*d)*Int[1/(Sqrt[a+b*x^2]*Sqrt[c+d*x^2]),x] -
+ (d*e-c*f)/(b*c-a*d)*Int[Sqrt[a+b*x^2]/(c+d*x^2)^(3/2),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PosQ[b/a] && PosQ[d/c]
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_),x_Symbol] :=
+ -(b*e-a*f)*x*(a+b*x^n)^(p+1)*(c+d*x^n)^q/(a*b*n*(p+1)) +
+ 1/(a*b*n*(p+1))*
+ Int[(a+b*x^n)^(p+1)*(c+d*x^n)^(q-1)*Simp[c*(b*e*n*(p+1)+b*e-a*f)+d*(b*e*n*(p+1)+(b*e-a*f)*(n*q+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && RationalQ[p,q] && p<-1 && q>0
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_),x_Symbol] :=
+ -(b*e-a*f)*x*(a+b*x^n)^(p+1)*(c+d*x^n)^(q+1)/(a*n*(b*c-a*d)*(p+1)) +
+ 1/(a*n*(b*c-a*d)*(p+1))*
+ Int[(a+b*x^n)^(p+1)*(c+d*x^n)^q*Simp[c*(b*e-a*f)+e*n*(b*c-a*d)*(p+1)+d*(b*e-a*f)*(n*(p+q+2)+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,n,q},x] && RationalQ[p] && p<-1
+
+
+Int[(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_),x_Symbol] :=
+ f*x*(a+b*x^n)^(p+1)*(c+d*x^n)^q/(b*(n*(p+q+1)+1)) +
+ 1/(b*(n*(p+q+1)+1))*
+ Int[(a+b*x^n)^p*(c+d*x^n)^(q-1)*Simp[c*(b*e-a*f+b*e*n*(p+q+1))+(d*(b*e-a*f)+f*n*q*(b*c-a*d)+b*d*e*n*(p+q+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,n,p},x] && RationalQ[q] && q>0 && NeQ[n*(p+q+1)+1]
+
+
+Int[(e_+f_.*x_^4)/((a_+b_.*x_^4)^(3/4)*(c_+d_.*x_^4)),x_Symbol] :=
+ (b*e-a*f)/(b*c-a*d)*Int[1/(a+b*x^4)^(3/4),x] - (d*e-c*f)/(b*c-a*d)*Int[(a+b*x^4)^(1/4)/(c+d*x^4),x] /;
+FreeQ[{a,b,c,d,e,f},x]
+
+
+Int[(a_+b_.*x_^n_)^p_*(e_+f_.*x_^n_)/(c_+d_.*x_^n_),x_Symbol] :=
+ f/d*Int[(a+b*x^n)^p,x] + (d*e-c*f)/d*Int[(a+b*x^n)^p/(c+d*x^n),x] /;
+FreeQ[{a,b,c,d,e,f,p,n},x]
+
+
+Int[(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_),x_Symbol] :=
+ e*Int[(a+b*x^n)^p*(c+d*x^n)^q,x] + f*Int[x^n*(a+b*x^n)^p*(c+d*x^n)^q,x] /;
+FreeQ[{a,b,c,d,e,f,n,p,q},x]
+
+
+Int[1/((a_+b_.*x_^2)*(c_+d_.*x_^2)*Sqrt[e_+f_.*x_^2]),x_Symbol] :=
+ b/(b*c-a*d)*Int[1/((a+b*x^2)*Sqrt[e+f*x^2]),x] -
+ d/(b*c-a*d)*Int[1/((c+d*x^2)*Sqrt[e+f*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f},x]
+
+
+Int[1/(x_^2*(c_+d_.*x_^2)*Sqrt[e_+f_.*x_^2]),x_Symbol] :=
+ 1/c*Int[1/(x^2*Sqrt[e+f*x^2]),x] -
+ d/c*Int[1/((c+d*x^2)*Sqrt[e+f*x^2]),x] /;
+FreeQ[{c,d,e,f},x] && NeQ[d*e-c*f]
+
+
+Int[Sqrt[c_+d_.*x_^2]*Sqrt[e_+f_.*x_^2]/(a_+b_.*x_^2),x_Symbol] :=
+ d/b*Int[Sqrt[e+f*x^2]/Sqrt[c+d*x^2],x] + (b*c-a*d)/b*Int[Sqrt[e+f*x^2]/((a+b*x^2)*Sqrt[c+d*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveQ[d/c] && PositiveQ[f/e] && Not[SimplerSqrtQ[d/c,f/e]]
+
+
+Int[Sqrt[c_+d_.*x_^2]*Sqrt[e_+f_.*x_^2]/(a_+b_.*x_^2),x_Symbol] :=
+ d/b*Int[Sqrt[e+f*x^2]/Sqrt[c+d*x^2],x] + (b*c-a*d)/b*Int[Sqrt[e+f*x^2]/((a+b*x^2)*Sqrt[c+d*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && Not[SimplerSqrtQ[-f/e,-d/c]]
+
+
+Int[1/((a_+b_.*x_^2)*Sqrt[c_+d_.*x_^2]*Sqrt[e_+f_.*x_^2]),x_Symbol] :=
+ -f/(b*e-a*f)*Int[1/(Sqrt[c+d*x^2]*Sqrt[e+f*x^2]),x] +
+ b/(b*e-a*f)*Int[Sqrt[e+f*x^2]/((a+b*x^2)*Sqrt[c+d*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PosQ[d/c] && PosQ[f/e] && Not[SimplerSqrtQ[d/c,f/e]]
+
+
+Int[1/((a_+b_.*x_^2)*Sqrt[c_+d_.*x_^2]*Sqrt[e_+f_.*x_^2]),x_Symbol] :=
+ 1/(a*Sqrt[c]*Sqrt[e]*Rt[-d/c,2])*EllipticPi[b*c/(a*d), ArcSin[Rt[-d/c,2]*x], c*f/(d*e)] /;
+FreeQ[{a,b,c,d,e,f},x] && NegQ[d/c] && PositiveQ[c] && PositiveQ[e] && Not[NegQ[f/e] && SimplerSqrtQ[-f/e,-d/c]]
+
+
+Int[1/((a_+b_.*x_^2)*Sqrt[c_+d_.*x_^2]*Sqrt[e_+f_.*x_^2]),x_Symbol] :=
+ Sqrt[1+d/c*x^2]/Sqrt[c+d*x^2]*Int[1/((a+b*x^2)*Sqrt[1+d/c*x^2]*Sqrt[e+f*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && Not[PositiveQ[c]]
+
+
+Int[Sqrt[c_+d_.*x_^2]/((a_+b_.*x_^2)*Sqrt[e_+f_.*x_^2]),x_Symbol] :=
+ c*Sqrt[e+f*x^2]/(a*e*Rt[d/c,2]*Sqrt[c+d*x^2]*Sqrt[c*(e+f*x^2)/(e*(c+d*x^2))])*
+ EllipticPi[1-b*c/(a*d),ArcTan[Rt[d/c,2]*x],1-c*f/(d*e)] /;
+FreeQ[{a,b,c,d,e,f},x] && PosQ[d/c]
+
+
+(* Int[Sqrt[c_+d_.*x_^2]/((a_+b_.*x_^2)*Sqrt[e_+f_.*x_^2]),x_Symbol] :=
+ Sqrt[c+d*x^2]*Sqrt[c*(e+f*x^2)/(e*(c+d*x^2))]/(a*Rt[d/c,2]*Sqrt[e+f*x^2])*
+ EllipticPi[1-b*c/(a*d),ArcTan[Rt[d/c,2]*x],1-c*f/(d*e)] /;
+FreeQ[{a,b,c,d,e,f},x] && PosQ[d/c] *)
+
+
+Int[Sqrt[c_+d_.*x_^2]/((a_+b_.*x_^2)*Sqrt[e_+f_.*x_^2]),x_Symbol] :=
+ d/b*Int[1/(Sqrt[c+d*x^2]*Sqrt[e+f*x^2]),x] +
+ (b*c-a*d)/b*Int[1/((a+b*x^2)*Sqrt[c+d*x^2]*Sqrt[e+f*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NegQ[d/c]
+
+
+Int[Sqrt[e_+f_.*x_^2]/((a_+b_.*x_^2)*(c_+d_.*x_^2)^(3/2)),x_Symbol] :=
+ b/(b*c-a*d)*Int[Sqrt[e+f*x^2]/((a+b*x^2)*Sqrt[c+d*x^2]),x] -
+ d/(b*c-a*d)*Int[Sqrt[e+f*x^2]/(c+d*x^2)^(3/2),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PosQ[d/c] && PosQ[f/e]
+
+
+Int[(e_+f_.*x_^2)^(3/2)/((a_+b_.*x_^2)*(c_+d_.*x_^2)^(3/2)),x_Symbol] :=
+ (b*e-a*f)/(b*c-a*d)*Int[Sqrt[e+f*x^2]/((a+b*x^2)*Sqrt[c+d*x^2]),x] -
+ (d*e-c*f)/(b*c-a*d)*Int[Sqrt[e+f*x^2]/(c+d*x^2)^(3/2),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PosQ[d/c] && PosQ[f/e]
+
+
+Int[(c_+d_.*x_^2)^(3/2)*Sqrt[e_+f_.*x_^2]/(a_+b_.*x_^2),x_Symbol] :=
+ (b*c-a*d)^2/b^2*Int[Sqrt[e+f*x^2]/((a+b*x^2)*Sqrt[c+d*x^2]),x] +
+ d/b^2*Int[(2*b*c-a*d+b*d*x^2)*Sqrt[e+f*x^2]/Sqrt[c+d*x^2],x] /;
+FreeQ[{a,b,c,d,e,f},x] && PosQ[d/c] && PosQ[f/e]
+
+
+Int[(c_+d_.*x_^2)^q_*(e_+f_.*x_^2)^r_/(a_+b_.*x_^2),x_Symbol] :=
+ b*(b*e-a*f)/(b*c-a*d)^2*Int[(c+d*x^2)^(q+2)*(e+f*x^2)^(r-1)/(a+b*x^2),x] -
+ 1/(b*c-a*d)^2*Int[(c+d*x^2)^q*(e+f*x^2)^(r-1)*(2*b*c*d*e-a*d^2*e-b*c^2*f+d^2*(b*e-a*f)*x^2),x] /;
+FreeQ[{a,b,c,d,e,f},x] && RationalQ[q,r] && q<-1 && r>1
+
+
+Int[(c_+d_.*x_^2)^q_*(e_+f_.*x_^2)^r_/(a_+b_.*x_^2),x_Symbol] :=
+ d/b*Int[(c+d*x^2)^(q-1)*(e+f*x^2)^r,x] +
+ (b*c-a*d)/b*Int[(c+d*x^2)^(q-1)*(e+f*x^2)^r/(a+b*x^2),x] /;
+FreeQ[{a,b,c,d,e,f,r},x] && RationalQ[q] && q>1
+
+
+Int[(c_+d_.*x_^2)^q_*(e_+f_.*x_^2)^r_/(a_+b_.*x_^2),x_Symbol] :=
+ b^2/(b*c-a*d)^2*Int[(c+d*x^2)^(q+2)*(e+f*x^2)^r/(a+b*x^2),x] -
+ d/(b*c-a*d)^2*Int[(c+d*x^2)^q*(e+f*x^2)^r*(2*b*c-a*d+b*d*x^2),x] /;
+FreeQ[{a,b,c,d,e,f,r},x] && RationalQ[q] && q<-1
+
+
+Int[(c_+d_.*x_^2)^q_*(e_+f_.*x_^2)^r_/(a_+b_.*x_^2),x_Symbol] :=
+ -d/(b*c-a*d)*Int[(c+d*x^2)^q*(e+f*x^2)^r,x] +
+ b/(b*c-a*d)*Int[(c+d*x^2)^(q+1)*(e+f*x^2)^r/(a+b*x^2),x] /;
+FreeQ[{a,b,c,d,e,f,r},x] && RationalQ[q] && q<=-1
+
+
+Int[Sqrt[c_+d_.*x_^2]*Sqrt[e_+f_.*x_^2]/(a_+b_.*x_^2)^2,x_Symbol] :=
+ x*Sqrt[c+d*x^2]*Sqrt[e+f*x^2]/(2*a*(a+b*x^2)) +
+ d*f/(2*a*b^2)*Int[(a-b*x^2)/(Sqrt[c+d*x^2]*Sqrt[e+f*x^2]),x] +
+ (b^2*c*e-a^2*d*f)/(2*a*b^2)*Int[1/((a+b*x^2)*Sqrt[c+d*x^2]*Sqrt[e+f*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f},x]
+
+
+Int[1/((a_+b_.*x_^2)^2*Sqrt[c_+d_.*x_^2]*Sqrt[e_+f_.*x_^2]),x_Symbol] :=
+ b^2*x*Sqrt[c+d*x^2]*Sqrt[e+f*x^2]/(2*a*(b*c-a*d)*(b*e-a*f)*(a+b*x^2)) -
+ d*f/(2*a*(b*c-a*d)*(b*e-a*f))*Int[(a+b*x^2)/(Sqrt[c+d*x^2]*Sqrt[e+f*x^2]),x] +
+ (b^2*c*e+3*a^2*d*f-2*a*b*(d*e+c*f))/(2*a*(b*c-a*d)*(b*e-a*f))*Int[1/((a+b*x^2)*Sqrt[c+d*x^2]*Sqrt[e+f*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f},x]
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_*(e_+f_.*x_^n_)^r_,x_Symbol] :=
+ d/b*Int[(a+b*x^n)^(p+1)*(c+d*x^n)^(q-1)*(e+f*x^n)^r,x] +
+ (b*c-a*d)/b*Int[(a+b*x^n)^p*(c+d*x^n)^(q-1)*(e+f*x^n)^r,x] /;
+FreeQ[{a,b,c,d,e,f,n,r},x] && NegativeIntegerQ[p] && RationalQ[q] && q>0
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_*(e_+f_.*x_^n_)^r_,x_Symbol] :=
+ b/(b*c-a*d)*Int[(a+b*x^n)^p*(c+d*x^n)^(q+1)*(e+f*x^n)^r,x] -
+ d/(b*c-a*d)*Int[(a+b*x^n)^(p+1)*(c+d*x^n)^q*(e+f*x^n)^r,x] /;
+FreeQ[{a,b,c,d,e,f,n,q},x] && NegativeIntegerQ[p] && RationalQ[q] && q<=-1
+
+
+Int[1/(Sqrt[a_+b_.*x_^2]*Sqrt[c_+d_.*x_^2]*Sqrt[e_+f_.*x_^2]),x_Symbol] :=
+ Sqrt[c+d*x^2]*Sqrt[a*(e+f*x^2)/(e*(a+b*x^2))]/(c*Sqrt[e+f*x^2]*Sqrt[a*(c+d*x^2)/(c*(a+b*x^2))])*
+ Subst[Int[1/(Sqrt[1-(b*c-a*d)*x^2/c]*Sqrt[1-(b*e-a*f)*x^2/e]),x],x,x/Sqrt[a+b*x^2]] /;
+FreeQ[{a,b,c,d,e,f},x]
+
+
+Int[Sqrt[a_+b_.*x_^2]/(Sqrt[c_+d_.*x_^2]*Sqrt[e_+f_.*x_^2]),x_Symbol] :=
+ a*Sqrt[c+d*x^2]*Sqrt[a*(e+f*x^2)/(e*(a+b*x^2))]/(c*Sqrt[e+f*x^2]*Sqrt[a*(c+d*x^2)/(c*(a+b*x^2))])*
+ Subst[Int[1/((1-b*x^2)*Sqrt[1-(b*c-a*d)*x^2/c]*Sqrt[1-(b*e-a*f)*x^2/e]),x],x,x/Sqrt[a+b*x^2]] /;
+FreeQ[{a,b,c,d,e,f},x]
+
+
+Int[Sqrt[c_+d_.*x_^2]/((a_+b_.*x_^2)^(3/2)*Sqrt[e_+f_.*x_^2]),x_Symbol] :=
+ Sqrt[c+d*x^2]*Sqrt[a*(e+f*x^2)/(e*(a+b*x^2))]/(a*Sqrt[e+f*x^2]*Sqrt[a*(c+d*x^2)/(c*(a+b*x^2))])*
+ Subst[Int[Sqrt[1-(b*c-a*d)*x^2/c]/Sqrt[1-(b*e-a*f)*x^2/e],x],x,x/Sqrt[a+b*x^2]] /;
+FreeQ[{a,b,c,d,e,f},x]
+
+
+Int[Sqrt[a_+b_.*x_^2]*Sqrt[c_+d_.*x_^2]/Sqrt[e_+f_.*x_^2],x_Symbol] :=
+ d*x*Sqrt[a+b*x^2]*Sqrt[e+f*x^2]/(2*f*Sqrt[c+d*x^2]) -
+ c*(d*e-c*f)/(2*f)*Int[Sqrt[a+b*x^2]/((c+d*x^2)^(3/2)*Sqrt[e+f*x^2]),x] +
+ b*c*(d*e-c*f)/(2*d*f)*Int[1/(Sqrt[a+b*x^2]*Sqrt[c+d*x^2]*Sqrt[e+f*x^2]),x] -
+ (b*d*e-b*c*f-a*d*f)/(2*d*f)*Int[Sqrt[c+d*x^2]/(Sqrt[a+b*x^2]*Sqrt[e+f*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PosQ[(d*e-c*f)/c]
+
+
+Int[Sqrt[a_+b_.*x_^2]*Sqrt[c_+d_.*x_^2]/Sqrt[e_+f_.*x_^2],x_Symbol] :=
+ x*Sqrt[a+b*x^2]*Sqrt[c+d*x^2]/(2*Sqrt[e+f*x^2]) +
+ e*(b*e-a*f)/(2*f)*Int[Sqrt[c+d*x^2]/(Sqrt[a+b*x^2]*(e+f*x^2)^(3/2)),x] +
+ (b*e-a*f)*(d*e-2*c*f)/(2*f^2)*Int[1/(Sqrt[a+b*x^2]*Sqrt[c+d*x^2]*Sqrt[e+f*x^2]),x] -
+ (b*d*e-b*c*f-a*d*f)/(2*f^2)*Int[Sqrt[e+f*x^2]/(Sqrt[a+b*x^2]*Sqrt[c+d*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NegQ[(d*e-c*f)/c]
+
+
+Int[Sqrt[a_+b_.*x_^2]*Sqrt[c_+d_.*x_^2]/(e_+f_.*x_^2)^(3/2),x_Symbol] :=
+ b/f*Int[Sqrt[c+d*x^2]/(Sqrt[a+b*x^2]*Sqrt[e+f*x^2]),x] -
+ (b*e-a*f)/f*Int[Sqrt[c+d*x^2]/(Sqrt[a+b*x^2]*(e+f*x^2)^(3/2)),x] /;
+FreeQ[{a,b,c,d,e,f},x]
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_*(e_+f_.*x_^n_)^r_,x_Symbol] :=
+ With[{u=ExpandIntegrand[(a+b*x^n)^p*(c+d*x^n)^q*(e+f*x^n)^r,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{a,b,c,d,e,f,p,q,r},x] && PositiveIntegerQ[n]
+
+
+Int[(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_*(e_+f_.*x_^n_)^r_,x_Symbol] :=
+ -Subst[Int[(a+b*x^(-n))^p*(c+d*x^(-n))^q*(e+f*x^(-n))^r/x^2,x],x,1/x] /;
+FreeQ[{a,b,c,d,e,f,p,q,r},x] && NegativeIntegerQ[n]
+
+
+Int[(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ Defer[Int][(a+b*x^n)^p*(c+d*x^n)^q*(e+f*x^n)^r,x] /;
+FreeQ[{a,b,c,d,e,f,n,p,q,r},x]
+
+
+Int[(a_.+b_.*u_^n_)^p_.*(c_.+d_.*v_^n_)^q_.*(e_.+f_.*w_^n_)^r_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*x^n)^p*(c+d*x^n)^q*(e+f*x^n)^r,x],x,u] /;
+FreeQ[{a,b,c,d,e,f,p,n,q,r},x] && EqQ[u-v] && EqQ[u-w] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+b_.*x_^n_.)^p_.*(c_+d_.*x_^mn_.)^q_.*(e_+f_.*x_^n_.)^r_.,x_Symbol] :=
+ Int[(a+b*x^n)^p*(d+c*x^n)^q*(e+f*x^n)^r/x^(n*q),x] /;
+FreeQ[{a,b,c,d,e,f,n,p,r},x] && EqQ[mn,-n] && IntegerQ[q]
+
+
+Int[(a_.+b_.*x_^n_.)^p_.*(c_+d_.*x_^mn_.)^q_.*(e_+f_.*x_^n_.)^r_.,x_Symbol] :=
+ Int[x^(n*(p+r))*(b+a*x^(-n))^p*(c+d*x^(-n))^q*(f+e*x^(-n))^r,x] /;
+FreeQ[{a,b,c,d,e,f,n,q},x] && EqQ[mn,-n] && IntegerQ[p] && IntegerQ[r]
+
+
+Int[(a_.+b_.*x_^n_.)^p_.*(c_+d_.*x_^mn_.)^q_*(e_+f_.*x_^n_.)^r_.,x_Symbol] :=
+ x^(n*FracPart[q])*(c+d*x^(-n))^FracPart[q]/(d+c*x^n)^FracPart[q]*Int[(a+b*x^n)^p*(d+c*x^n)^q*(e+f*x^n)^r/x^(n*q),x] /;
+FreeQ[{a,b,c,d,e,f,n,p,q,r},x] && EqQ[mn,-n] && Not[IntegerQ[q]]
+
+
+Int[(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e1_+f1_.*x_^n2_.)^r_.*(e2_+f2_.*x_^n2_.)^r_.,x_Symbol] :=
+ Int[(a+b*x^n)^p*(c+d*x^n)^q*(e1*e2+f1*f2*x^n)^r,x] /;
+FreeQ[{a,b,c,d,e1,f1,e2,f2,n,p,q,r},x] && EqQ[n2-n/2] && EqQ[e2*f1+e1*f2] && (IntegerQ[r] || PositiveQ[e1] && PositiveQ[e2])
+
+
+Int[(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e1_+f1_.*x_^n2_.)^r_.*(e2_+f2_.*x_^n2_.)^r_.,x_Symbol] :=
+ (e1+f1*x^(n/2))^FracPart[r]*(e2+f2*x^(n/2))^FracPart[r]/(e1*e2+f1*f2*x^n)^FracPart[r]*
+ Int[(a+b*x^n)^p*(c+d*x^n)^q*(e1*e2+f1*f2*x^n)^r,x] /;
+FreeQ[{a,b,c,d,e1,f1,e2,f2,n,p,q,r},x] && EqQ[n2-n/2] && EqQ[e2*f1+e1*f2]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.1.3.6 (g x)^m (a+b x^n)^p (c+d x^n)^q (e+f x^n)^r*)
+
+
+Int[(g_.*x_)^m_.*(b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ g^m/(n*b^(Simplify[(m+1)/n]-1))*Subst[Int[(b*x)^(p+Simplify[(m+1)/n]-1)*(c+d*x)^q*(e+f*x)^r,x],x,x^n] /;
+FreeQ[{b,c,d,e,f,g,m,n,p,q,r},x] && (IntegerQ[m] || PositiveQ[g]) && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(g_.*x_)^m_.*(b_.*x_^n_.)^p_*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ g^m*b^IntPart[p]*(b*x^n)^FracPart[p]/x^(n*FracPart[p])*Int[x^(m+n*p)*(c+d*x^n)^q*(e+f*x^n)^r,x] /;
+FreeQ[{b,c,d,e,f,g,m,n,p,q,r},x] && (IntegerQ[m] || PositiveQ[g]) && Not[IntegerQ[Simplify[(m+1)/n]]]
+
+
+Int[(g_*x_)^m_*(b_.*x_^n_.)^p_*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ g^IntPart[m]*(g*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(b*x^n)^p*(c+d*x^n)^q*(e+f*x^n)^r,x] /;
+FreeQ[{b,c,d,e,f,g,m,n,p,q,r},x] && Not[IntegerQ[m]]
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ Int[ExpandIntegrand[(g*x)^m*(a+b*x^n)^p*(c+d*x^n)^q*(e+f*x^n)^r,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n},x] && PositiveIntegerQ[p+2,q,r]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ 1/n*Subst[Int[(a+b*x)^p*(c+d*x)^q*(e+f*x)^r,x],x,x^n] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q,r},x] && EqQ[m-n+1]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ Int[x^(m+n*(p+q+r))*(b+a*x^(-n))^p*(d+c*x^(-n))^q*(f+e*x^(-n))^r,x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && IntegersQ[p,q,r] && NegQ[n]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(a+b*x)^p*(c+d*x)^q*(e+f*x)^r,x],x,x^n] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q,r},x] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(g_*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ g^IntPart[m]*(g*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*x^n)^p*(c+d*x^n)^q*(e+f*x^n)^r,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p,q,r},x] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ With[{k=GCD[m+1,n]},
+ 1/k*Subst[Int[x^((m+1)/k-1)*(a+b*x^(n/k))^p*(c+d*x^(n/k))^q*(e+f*x^(n/k))^r,x],x,x^k] /;
+ k!=1] /;
+FreeQ[{a,b,c,d,e,f,p,q,r},x] && PositiveIntegerQ[n] && IntegerQ[m]
+
+
+Int[(g_.*x_)^m_*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_*(e_+f_.*x_^n_)^r_,x_Symbol] :=
+ With[{k=Denominator[m]},
+ k/g*Subst[Int[x^(k*(m+1)-1)*(a+b*x^(k*n)/g^n)^p*(c+d*x^(k*n)/g^n)^q*(e+f*x^(k*n)/g^n)^r,x],x,(g*x)^(1/k)]] /;
+FreeQ[{a,b,c,d,e,f,g,p,q,r},x] && PositiveIntegerQ[n] && FractionQ[m]
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_),x_Symbol] :=
+ -(b*e-a*f)*(g*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^q/(a*b*g*n*(p+1)) +
+ 1/(a*b*n*(p+1))*Int[(g*x)^m*(a+b*x^n)^(p+1)*(c+d*x^n)^(q-1)*
+ Simp[c*(b*e*n*(p+1)+(b*e-a*f)*(m+1))+d*(b*e*n*(p+1)+(b*e-a*f)*(m+n*q+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m},x] && PositiveIntegerQ[n] && RationalQ[p,q] && p<-1 && q>0 && Not[q==1 && SimplerQ[b*c-a*d,b*e-a*f]]
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_*(e_+f_.*x_^n_),x_Symbol] :=
+ g^(n-1)*(b*e-a*f)*(g*x)^(m-n+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^(q+1)/(b*n*(b*c-a*d)*(p+1)) -
+ g^n/(b*n*(b*c-a*d)*(p+1))*Int[(g*x)^(m-n)*(a+b*x^n)^(p+1)*(c+d*x^n)^q*
+ Simp[c*(b*e-a*f)*(m-n+1)+(d*(b*e-a*f)*(m+n*q+1)-b*n*(c*f-d*e)*(p+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,q},x] && PositiveIntegerQ[n] && RationalQ[m,p] && p<-1 && m-n+1>0
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_*(e_+f_.*x_^n_),x_Symbol] :=
+ -(b*e-a*f)*(g*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^(q+1)/(a*g*n*(b*c-a*d)*(p+1)) +
+ 1/(a*n*(b*c-a*d)*(p+1))*Int[(g*x)^m*(a+b*x^n)^(p+1)*(c+d*x^n)^q*
+ Simp[c*(b*e-a*f)*(m+1)+e*n*(b*c-a*d)*(p+1)+d*(b*e-a*f)*(m+n*(p+q+2)+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m,q},x] && PositiveIntegerQ[n] && RationalQ[p] && p<-1
+
+
+Int[(g_.*x_)^m_*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_),x_Symbol] :=
+ e*(g*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^q/(a*g*(m+1)) -
+ 1/(a*g^n*(m+1))*Int[(g*x)^(m+n)*(a+b*x^n)^p*(c+d*x^n)^(q-1)*
+ Simp[c*(b*e-a*f)*(m+1)+e*n*(b*c*(p+1)+a*d*q)+d*((b*e-a*f)*(m+1)+b*e*n*(p+q+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && PositiveIntegerQ[n] && RationalQ[m,q] && q>0 && m<-1 && Not[q==1 && SimplerQ[e+f*x^n,c+d*x^n]]
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_),x_Symbol] :=
+ f*(g*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^q/(b*g*(m+n*(p+q+1)+1)) +
+ 1/(b*(m+n*(p+q+1)+1))*Int[(g*x)^m*(a+b*x^n)^p*(c+d*x^n)^(q-1)*
+ Simp[c*((b*e-a*f)*(m+1)+b*e*n*(p+q+1))+(d*(b*e-a*f)*(m+1)+f*n*q*(b*c-a*d)+b*e*d*n*(p+q+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && PositiveIntegerQ[n] && RationalQ[q] && q>0 && Not[q==1 && SimplerQ[e+f*x^n,c+d*x^n]]
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_),x_Symbol] :=
+ f*g^(n-1)*(g*x)^(m-n+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^(q+1)/(b*d*(m+n*(p+q+1)+1)) -
+ g^n/(b*d*(m+n*(p+q+1)+1))*Int[(g*x)^(m-n)*(a+b*x^n)^p*(c+d*x^n)^q*
+ Simp[a*f*c*(m-n+1)+(a*f*d*(m+n*q+1)+b*(f*c*(m+n*p+1)-e*d*(m+n*(p+q+1)+1)))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,p,q},x] && PositiveIntegerQ[n] && RationalQ[m] && m>n-1
+
+
+Int[(g_.*x_)^m_*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_),x_Symbol] :=
+ e*(g*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^(q+1)/(a*c*g*(m+1)) +
+ 1/(a*c*g^n*(m+1))*Int[(g*x)^(m+n)*(a+b*x^n)^p*(c+d*x^n)^q*
+ Simp[a*f*c*(m+1)-e*(b*c+a*d)*(m+n+1)-e*n*(b*c*p+a*d*q)-b*e*d*(m+n*(p+q+2)+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,p,q},x] && PositiveIntegerQ[n] && RationalQ[m] && m<-1
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(e_+f_.*x_^n_)/(c_+d_.*x_^n_),x_Symbol] :=
+ Int[ExpandIntegrand[(g*x)^m*(a+b*x^n)^p*(e+f*x^n)/(c+d*x^n),x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && PositiveIntegerQ[n]
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_),x_Symbol] :=
+ e*Int[(g*x)^m*(a+b*x^n)^p*(c+d*x^n)^q,x] +
+ f/e^n*Int[(g*x)^(m+n)*(a+b*x^n)^p*(c+d*x^n)^q,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p,q},x] && PositiveIntegerQ[n]
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ e*Int[(g*x)^m*(a+b*x^n)^p*(c+d*x^n)^q*(e+f*x^n)^(r-1),x] +
+ f/e^n*Int[(g*x)^(m+n)*(a+b*x^n)^p*(c+d*x^n)^q*(e+f*x^n)^(r-1),x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p,q},x] && PositiveIntegerQ[n] && PositiveIntegerQ[r]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ -Subst[Int[(a+b*x^(-n))^p*(c+d*x^(-n))^q*(e+f*x^(-n))^r/x^(m+2),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,f,p,q,r},x] && NegativeIntegerQ[n] && IntegerQ[m]
+
+
+Int[(g_.*x_)^m_*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ With[{k=Denominator[m]},
+ -k/g*Subst[Int[(a+b*g^(-n)*x^(-k*n))^p*(c+d*g^(-n)*x^(-k*n))^q*(e+f*g^(-n)*x^(-k*n))^r/x^(k*(m+1)+1),x],x,1/(g*x)^(1/k)]] /;
+FreeQ[{a,b,c,d,e,f,g,p,q,r},x] && NegativeIntegerQ[n] && FractionQ[m]
+
+
+Int[(g_.*x_)^m_*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ -(g*x)^m*(x^(-1))^m*Subst[Int[(a+b*x^(-n))^p*(c+d*x^(-n))^q*(e+f*x^(-n))^r/x^(m+2),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p,q,r},x] && NegativeIntegerQ[n] && Not[RationalQ[m]]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ With[{k=Denominator[n]},
+ k*Subst[Int[x^(k*(m+1)-1)*(a+b*x^(k*n))^p*(c+d*x^(k*n))^q*(e+f*x^(k*n))^r,x],x,x^(1/k)]] /;
+FreeQ[{a,b,c,d,e,f,m,p,q,r},x] && FractionQ[n]
+
+
+Int[(g_*x_)^m_*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ g^IntPart[m]*(g*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*x^n)^p*(c+d*x^n)^q*(e+f*x^n)^r,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p,q,r},x] && FractionQ[n]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ 1/(m+1)*Subst[Int[(a+b*x^Simplify[n/(m+1)])^p*(c+d*x^Simplify[n/(m+1)])^q*(e+f*x^Simplify[n/(m+1)])^r,x],x,x^(m+1)] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q,r},x] && IntegerQ[Simplify[n/(m+1)]]
+
+
+Int[(g_*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ g^IntPart[m]*(g*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*x^n)^p*(c+d*x^n)^q*(e+f*x^n)^r,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p,q,r},x] && IntegerQ[Simplify[n/(m+1)]]
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_),x_Symbol] :=
+ -(b*e-a*f)*(g*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^q/(a*b*g*n*(p+1)) +
+ 1/(a*b*n*(p+1))*Int[(g*x)^m*(a+b*x^n)^(p+1)*(c+d*x^n)^(q-1)*
+ Simp[c*(b*e*n*(p+1)+(b*e-a*f)*(m+1))+d*(b*e*n*(p+1)+(b*e-a*f)*(m+n*q+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n},x] && RationalQ[p,q] && p<-1 && q>0 && Not[q==1 && SimplerQ[b*c-a*d,b*e-a*f]]
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_*(e_+f_.*x_^n_),x_Symbol] :=
+ -(b*e-a*f)*(g*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^(q+1)/(a*g*n*(b*c-a*d)*(p+1)) +
+ 1/(a*n*(b*c-a*d)*(p+1))*Int[(g*x)^m*(a+b*x^n)^(p+1)*(c+d*x^n)^q*
+ Simp[c*(b*e-a*f)*(m+1)+e*n*(b*c-a*d)*(p+1)+d*(b*e-a*f)*(m+n*(p+q+2)+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,q},x] && RationalQ[p] && p<-1
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_),x_Symbol] :=
+ f*(g*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^q/(b*g*(m+n*(p+q+1)+1)) +
+ 1/(b*(m+n*(p+q+1)+1))*Int[(g*x)^m*(a+b*x^n)^p*(c+d*x^n)^(q-1)*
+ Simp[c*((b*e-a*f)*(m+1)+b*e*n*(p+q+1))+(d*(b*e-a*f)*(m+1)+f*n*q*(b*c-a*d)+b*e*d*n*(p+q+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && RationalQ[q] && q>0 && Not[q==1 && SimplerQ[e+f*x^n,c+d*x^n]]
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(e_+f_.*x_^n_)/(c_+d_.*x_^n_),x_Symbol] :=
+ Int[ExpandIntegrand[(g*x)^m*(a+b*x^n)^p*(e+f*x^n)/(c+d*x^n),x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x]
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_*(e_+f_.*x_^n_),x_Symbol] :=
+ e*Int[(g*x)^m*(a+b*x^n)^p*(c+d*x^n)^q,x] +
+ f*(g*x)^m/x^m*Int[x^(m+n)*(a+b*x^n)^p*(c+d*x^n)^q,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p,q},x]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_.)^p_.*(c_+d_.*x_^mn_.)^q_.*(e_+f_.*x_^n_.)^r_.,x_Symbol] :=
+ Int[x^(m-n*q)*(a+b*x^n)^p*(d+c*x^n)^q*(e+f*x^n)^r,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,r},x] && EqQ[mn,-n] && IntegerQ[q]
+
+
+Int[x_^m_.*(a_.+b_.*x_^n_.)^p_.*(c_+d_.*x_^mn_.)^q_.*(e_+f_.*x_^n_.)^r_.,x_Symbol] :=
+ Int[x^(m+n*(p+r))*(b+a*x^(-n))^p*(c+d*x^(-n))^q*(f+e*x^(-n))^r,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,q},x] && EqQ[mn,-n] && IntegerQ[p] && IntegerQ[r]
+
+
+Int[x_^m_.*(a_.+b_.*x_^n_.)^p_.*(c_+d_.*x_^mn_.)^q_*(e_+f_.*x_^n_.)^r_.,x_Symbol] :=
+ x^(n*FracPart[q])*(c+d*x^(-n))^FracPart[q]/(d+c*x^n)^FracPart[q]*Int[x^(m-n*q)*(a+b*x^n)^p*(d+c*x^n)^q*(e+f*x^n)^r,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q,r},x] && EqQ[mn,-n] && Not[IntegerQ[q]]
+
+
+Int[(g_*x_)^m_*(a_+b_.*x_^n_.)^p_.*(c_+d_.*x_^mn_.)^q_.*(e_+f_.*x_^n_.)^r_.,x_Symbol] :=
+ g^IntPart[m]*(g*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*x^n)^p*(c+d*x^(-n))^q*(e+f*x^n)^r,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p,q,r},x] && EqQ[mn,-n]
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e_+f_.*x_^n_)^r_.,x_Symbol] :=
+ Defer[Int][(g*x)^m*(a+b*x^n)^p*(c+d*x^n)^q*(e+f*x^n)^r,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p,q,r},x]
+
+
+Int[u_^m_.*(a_.+b_.*v_^n_)^p_.*(c_.+d_.*v_^n_)^q_.*(e_+f_.*v_^n_)^r_.,x_Symbol] :=
+ u^m/(Coefficient[v,x,1]*v^m)*Subst[Int[x^m*(a+b*x^n)^p*(c+d*x^n)^q*(e+f*x^n)^r,x],x,v] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q,r},x] && LinearPairQ[u,v,x]
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e1_+f1_.*x_^n2_.)^r_.*(e2_+f2_.*x_^n2_.)^r_.,x_Symbol] :=
+ Int[(g*x)^m*(a+b*x^n)^p*(c+d*x^n)^q*(e1*e2+f1*f2*x^n)^r,x] /;
+FreeQ[{a,b,c,d,e1,f1,e2,f2,g,m,n,p,q,r},x] && EqQ[n2-n/2] && EqQ[e2*f1+e1*f2] && (IntegerQ[r] || PositiveQ[e1] && PositiveQ[e2])
+
+
+Int[(g_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.*(e1_+f1_.*x_^n2_.)^r_.*(e2_+f2_.*x_^n2_.)^r_.,x_Symbol] :=
+ (e1+f1*x^(n/2))^FracPart[r]*(e2+f2*x^(n/2))^FracPart[r]/(e1*e2+f1*f2*x^n)^FracPart[r]*
+ Int[(g*x)^m*(a+b*x^n)^p*(c+d*x^n)^q*(e1*e2+f1*f2*x^n)^r,x] /;
+FreeQ[{a,b,c,d,e1,f1,e2,f2,g,m,n,p,q,r},x] && EqQ[n2-n/2] && EqQ[e2*f1+e1*f2]
+
+
+
+`)
+
+func resourcesRubi113GeneralBinomialProductsMBytes() ([]byte, error) {
+ return _resourcesRubi113GeneralBinomialProductsM, nil
+}
+
+func resourcesRubi113GeneralBinomialProductsM() (*asset, error) {
+ bytes, err := resourcesRubi113GeneralBinomialProductsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/1.1.3 General binomial products.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi114ImproperBinomialProductsM = []byte(`(* ::Package:: *)
+
+(* ::Section:: *)
+(*1.3.4 Normalizing algebraic functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*1.3.4 Normalizing algebraic functions*)
+
+
+Int[(a_.+b_.*(c_.*x_^n_)^q_)^p_.,x_Symbol] :=
+ x/(c*x^n)^(1/n)*Subst[Int[(a+b*x^(n*q))^p,x],x,(c*x^n)^(1/n)] /;
+FreeQ[{a,b,c,q,n,p},x] && IntegerQ[n*q]
+
+
+Int[x_^m_.*(a_.+b_.*(c_.*x_^n_)^q_)^p_.,x_Symbol] :=
+ x^(m+1)/(c*x^n)^((m+1)/n)*Subst[Int[x^m*(a+b*x^(n*q))^p,x],x,(c*x^n)^(1/n)] /;
+FreeQ[{a,b,c,m,n,p,q},x] && IntegerQ[n*q] && IntegerQ[m]
+
+
+Int[x_^m_.*(e_.*(a_+b_.*x_^n_.)^r_.)^p_*(f_.*(c_+d_.*x_^n_.)^s_)^q_,x_Symbol] :=
+ (e*(a+b*x^n)^r)^p*(f*(c+d*x^n)^s)^q/((a+b*x^n)^(p*r)*(c+d*x^n)^(q*s))*
+ Int[x^m*(a+b*x^n)^(p*r)*(c+d*x^n)^(q*s),x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q,r,s},x]
+
+
+Int[u_.*(e_.*(a_.+b_.*x_^n_.)/(c_+d_.*x_^n_.))^p_,x_Symbol] :=
+ (b*e/d)^p*Int[u,x] /;
+FreeQ[{a,b,c,d,e,n,p},x] && EqQ[b*c-a*d]
+
+
+Int[u_.*(e_.*(a_.+b_.*x_^n_.)/(c_+d_.*x_^n_.))^p_,x_Symbol] :=
+ Int[u*(e*(a+b*x^n))^p/(c+d*x^n)^p,x] /;
+FreeQ[{a,b,c,d,e,n,p},x] && PositiveQ[b*d*e] && PositiveQ[c-a*d/b]
+
+
+Int[(e_.*(a_.+b_.*x_^n_.)/(c_+d_.*x_^n_.))^p_,x_Symbol] :=
+ With[{q=Denominator[p]},
+ q*e*(b*c-a*d)/n*Subst[
+ Int[x^(q*(p+1)-1)*(-a*e+c*x^q)^(1/n-1)/(b*e-d*x^q)^(1/n+1),x],x,(e*(a+b*x^n)/(c+d*x^n))^(1/q)]] /;
+FreeQ[{a,b,c,d,e},x] && FractionQ[p] && IntegerQ[1/n]
+
+
+Int[x_^m_.*(e_.*(a_.+b_.*x_^n_.)/(c_+d_.*x_^n_.))^p_,x_Symbol] :=
+ With[{q=Denominator[p]},
+ q*e*(b*c-a*d)/n*Subst[
+ Int[x^(q*(p+1)-1)*(-a*e+c*x^q)^(Simplify[(m+1)/n]-1)/(b*e-d*x^q)^(Simplify[(m+1)/n]+1),x],x,(e*(a+b*x^n)/(c+d*x^n))^(1/q)]] /;
+FreeQ[{a,b,c,d,e,m,n},x] && FractionQ[p] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[u_^r_.*(e_.*(a_.+b_.*x_^n_.)/(c_+d_.*x_^n_.))^p_,x_Symbol] :=
+ With[{q=Denominator[p]},
+ q*e*(b*c-a*d)/n*Subst[Int[SimplifyIntegrand[x^(q*(p+1)-1)*(-a*e+c*x^q)^(1/n-1)/(b*e-d*x^q)^(1/n+1)*
+ ReplaceAll[u,x->(-a*e+c*x^q)^(1/n)/(b*e-d*x^q)^(1/n)]^r,x],x],x,(e*(a+b*x^n)/(c+d*x^n))^(1/q)]] /;
+FreeQ[{a,b,c,d,e},x] && PolynomialQ[u,x] && FractionQ[p] && IntegerQ[1/n] && IntegerQ[r]
+
+
+Int[x_^m_.*u_^r_.*(e_.*(a_.+b_.*x_^n_.)/(c_+d_.*x_^n_.))^p_,x_Symbol] :=
+ With[{q=Denominator[p]},
+ q*e*(b*c-a*d)/n*Subst[Int[SimplifyIntegrand[x^(q*(p+1)-1)*(-a*e+c*x^q)^((m+1)/n-1)/(b*e-d*x^q)^((m+1)/n+1)*
+ ReplaceAll[u,x->(-a*e+c*x^q)^(1/n)/(b*e-d*x^q)^(1/n)]^r,x],x],x,(e*(a+b*x^n)/(c+d*x^n))^(1/q)]] /;
+FreeQ[{a,b,c,d,e},x] && PolynomialQ[u,x] && FractionQ[p] && IntegerQ[1/n] && IntegersQ[m,r]
+
+
+Int[(a_.+b_.*(c_./x_)^n_)^p_,x_Symbol] :=
+ -c*Subst[Int[(a+b*x^n)^p/x^2,x],x,c/x] /;
+FreeQ[{a,b,c,n,p},x]
+
+
+Int[x_^m_.*(a_.+b_.*(c_./x_)^n_)^p_.,x_Symbol] :=
+ -c^(m+1)*Subst[Int[(a+b*x^n)^p/x^(m+2),x],x,c/x] /;
+FreeQ[{a,b,c,n,p},x] && IntegerQ[m]
+
+
+Int[(d_.*x_)^m_*(a_.+b_.*(c_./x_)^n_)^p_.,x_Symbol] :=
+ -c*(d*x)^m*(c/x)^m*Subst[Int[(a+b*x^n)^p/x^(m+2),x],x,c/x] /;
+FreeQ[{a,b,c,d,m,n,p},x] && Not[IntegerQ[m]]
+
+
+Int[(a_.+b_.*(d_./x_)^n_+c_.*(d_./x_)^n2_.)^p_.,x_Symbol] :=
+ -d*Subst[Int[(a+b*x^n+c*x^(2*n))^p/x^2,x],x,d/x] /;
+FreeQ[{a,b,c,d,n,p},x] && EqQ[n2-2*n]
+
+
+Int[x_^m_.*(a_+b_.*(d_./x_)^n_+c_.*(d_./x_)^n2_.)^p_.,x_Symbol] :=
+ -d^(m+1)*Subst[Int[(a+b*x^n+c*x^(2*n))^p/x^(m+2),x],x,d/x] /;
+FreeQ[{a,b,c,d,n,p},x] && EqQ[n2-2*n] && IntegerQ[m]
+
+
+Int[(e_.*x_)^m_*(a_+b_.*(d_./x_)^n_+c_.*(d_./x_)^n2_.)^p_.,x_Symbol] :=
+ -d*(e*x)^m*(d/x)^m*Subst[Int[(a+b*x^n+c*x^(2*n))^p/x^(m+2),x],x,d/x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && EqQ[n2-2*n] && Not[IntegerQ[m]]
+
+
+Int[(a_.+b_.*(d_./x_)^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ -d*Subst[Int[(a+b*x^n+c/d^(2*n)*x^(2*n))^p/x^2,x],x,d/x] /;
+FreeQ[{a,b,c,d,n,p},x] && EqQ[n2+2*n] && IntegerQ[2*n]
+
+
+Int[x_^m_.*(a_+b_.*(d_./x_)^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ -d^(m+1)*Subst[Int[(a+b*x^n+c/d^(2*n)*x^(2*n))^p/x^(m+2),x],x,d/x] /;
+FreeQ[{a,b,c,d,n,p},x] && EqQ[n2+2*n] && IntegerQ[2*n] && IntegerQ[m]
+
+
+Int[(e_.*x_)^m_*(a_+b_.*(d_./x_)^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ -d*(e*x)^m*(d/x)^m*Subst[Int[(a+b*x^n+c/d^(2*n)*x^(2*n))^p/x^(m+2),x],x,d/x] /;
+FreeQ[{a,b,c,d,e,n,p},x] && EqQ[n2+2*n] && Not[IntegerQ[m]] && IntegerQ[2*n]
+
+
+Int[u_^m_,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m,x] /;
+FreeQ[m,x] && LinearQ[u,x] && Not[LinearMatchQ[u,x]]
+
+
+Int[u_^m_.*v_^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*ExpandToSum[v,x]^n,x] /;
+FreeQ[{m,n},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+Int[u_^m_.*v_^n_.*w_^p_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*ExpandToSum[v,x]^n*ExpandToSum[w,x]^p,x] /;
+FreeQ[{m,n,p},x] && LinearQ[{u,v,w},x] && Not[LinearMatchQ[{u,v,w},x]]
+
+
+Int[u_^m_.*v_^n_.*w_^p_.*z_^q_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*ExpandToSum[v,x]^n*ExpandToSum[w,x]^p*ExpandToSum[z,x]^q,x] /;
+FreeQ[{m,n,p,q},x] && LinearQ[{u,v,w,z},x] && Not[LinearMatchQ[{u,v,w,z},x]]
+
+
+Int[u_^p_,x_Symbol] :=
+ Int[ExpandToSum[u,x]^p,x] /;
+FreeQ[p,x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[(c_.*x_)^m_.*u_^p_.,x_Symbol] :=
+ Int[(c*x)^m*ExpandToSum[u,x]^p,x] /;
+FreeQ[{c,m,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[u_^p_.*v_^q_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^p*ExpandToSum[v,x]^q,x] /;
+FreeQ[{p,q},x] && BinomialQ[{u,v},x] && EqQ[BinomialDegree[u,x]-BinomialDegree[v,x]] && Not[BinomialMatchQ[{u,v},x]]
+
+
+Int[(e_.*x_)^m_.*u_^p_.*v_^q_.,x_Symbol] :=
+ Int[(e*x)^m*ExpandToSum[u,x]^p*ExpandToSum[v,x]^q,x] /;
+FreeQ[{e,m,p,q},x] && BinomialQ[{u,v},x] && EqQ[BinomialDegree[u,x]-BinomialDegree[v,x]] && Not[BinomialMatchQ[{u,v},x]]
+
+
+Int[u_^m_.*v_^p_.*w_^q_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*ExpandToSum[v,x]^p*ExpandToSum[w,x]^q,x] /;
+FreeQ[{m,p,q},x] && BinomialQ[{u,v,w},x] && EqQ[BinomialDegree[u,x]-BinomialDegree[v,x]] &&
+ EqQ[BinomialDegree[u,x]-BinomialDegree[w,x]] && Not[BinomialMatchQ[{u,v,w},x]]
+
+
+Int[(g_.*x_)^m_.*u_^p_.*v_^q_.*z_^r_.,x_Symbol] :=
+ Int[(g*x)^m*ExpandToSum[u,x]^p*ExpandToSum[v,x]^q*ExpandToSum[z,x]^r,x] /;
+FreeQ[{g,m,p,q,r},x] && BinomialQ[{u,v,z},x] && EqQ[BinomialDegree[u,x]-BinomialDegree[v,x]] &&
+ EqQ[BinomialDegree[u,x]-BinomialDegree[z,x]] && Not[BinomialMatchQ[{u,v,z},x]]
+
+
+Int[(c_.*x_)^m_.*Pq_*u_^p_.,x_Symbol] :=
+ Int[(c*x)^m*Pq*ExpandToSum[u,x]^p,x] /;
+FreeQ[{c,m,p},x] && PolyQ[Pq,x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[u_^p_,x_Symbol] :=
+ Int[ExpandToSum[u,x]^p,x] /;
+FreeQ[p,x] && GeneralizedBinomialQ[u,x] && Not[GeneralizedBinomialMatchQ[u,x]]
+
+
+Int[(c_.*x_)^m_.*u_^p_.,x_Symbol] :=
+ Int[(c*x)^m*ExpandToSum[u,x]^p,x] /;
+FreeQ[{c,m,p},x] && GeneralizedBinomialQ[u,x] && Not[GeneralizedBinomialMatchQ[u,x]]
+
+
+Int[u_^p_,x_Symbol] :=
+ Int[ExpandToSum[u,x]^p,x] /;
+FreeQ[p,x] && QuadraticQ[u,x] && Not[QuadraticMatchQ[u,x]]
+
+
+Int[u_^m_.*v_^p_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*ExpandToSum[v,x]^p,x] /;
+FreeQ[{m,p},x] && LinearQ[u,x] && QuadraticQ[v,x] && Not[LinearMatchQ[u,x] && QuadraticMatchQ[v,x]]
+
+
+Int[u_^m_.*v_^n_.*w_^p_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*ExpandToSum[v,x]^n*ExpandToSum[w,x]^p,x] /;
+FreeQ[{m,n,p},x] && LinearQ[{u,v},x] && QuadraticQ[w,x] && Not[LinearMatchQ[{u,v},x] && QuadraticMatchQ[w,x]]
+
+
+Int[u_^p_.*v_^q_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^p*ExpandToSum[v,x]^q,x] /;
+FreeQ[{p,q},x] && QuadraticQ[{u,v},x] && Not[QuadraticMatchQ[{u,v},x]]
+
+
+Int[z_^m_.*u_^p_.*v_^q_.,x_Symbol] :=
+ Int[ExpandToSum[z,x]^m*ExpandToSum[u,x]^p*ExpandToSum[v,x]^q,x] /;
+FreeQ[{m,p,q},x] && LinearQ[z,x] && QuadraticQ[{u,v},x] && Not[LinearMatchQ[z,x] && QuadraticMatchQ[{u,v},x]]
+
+
+Int[Pq_*u_^p_.,x_Symbol] :=
+ Int[Pq*ExpandToSum[u,x]^p,x] /;
+FreeQ[p,x] && PolyQ[Pq,x] && QuadraticQ[u,x] && Not[QuadraticMatchQ[u,x]]
+
+
+Int[u_^m_.*Pq_*v_^p_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*Pq*ExpandToSum[u,x]^p,x] /;
+FreeQ[{m,p},x] && PolyQ[Pq,x] && LinearQ[u,x] && QuadraticQ[v,x] && Not[LinearMatchQ[u,x] && QuadraticMatchQ[v,x]]
+
+
+Int[u_^p_,x_Symbol] :=
+ Int[ExpandToSum[u,x]^p,x] /;
+FreeQ[p,x] && TrinomialQ[u,x] && Not[TrinomialMatchQ[u,x]]
+
+
+Int[(d_.*x_)^m_.*u_^p_.,x_Symbol] :=
+ Int[(d*x)^m*ExpandToSum[u,x]^p,x] /;
+FreeQ[{d,m,p},x] && TrinomialQ[u,x] && Not[TrinomialMatchQ[u,x]]
+
+
+Int[u_^q_.*v_^p_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^q*ExpandToSum[v,x]^p,x] /;
+FreeQ[{p,q},x] && BinomialQ[u,x] && TrinomialQ[v,x] && Not[BinomialMatchQ[u,x] && TrinomialMatchQ[v,x]]
+
+
+Int[u_^q_.*v_^p_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^q*ExpandToSum[v,x]^p,x] /;
+FreeQ[{p,q},x] && BinomialQ[u,x] && BinomialQ[v,x] && Not[BinomialMatchQ[u,x] && BinomialMatchQ[v,x]]
+
+
+Int[(f_.*x_)^m_.*z_^q_.*u_^p_.,x_Symbol] :=
+ Int[(f*x)^m*ExpandToSum[z,x]^q*ExpandToSum[u,x]^p,x] /;
+FreeQ[{f,m,p,q},x] && BinomialQ[z,x] && TrinomialQ[u,x] && Not[BinomialMatchQ[z,x] && TrinomialMatchQ[u,x]]
+
+
+Int[(f_.*x_)^m_.*z_^q_.*u_^p_.,x_Symbol] :=
+ Int[(f*x)^m*ExpandToSum[z,x]^q*ExpandToSum[u,x]^p,x] /;
+FreeQ[{f,m,p,q},x] && BinomialQ[z,x] && BinomialQ[u,x] && Not[BinomialMatchQ[z,x] && BinomialMatchQ[u,x]]
+
+
+Int[Pq_*u_^p_.,x_Symbol] :=
+ Int[Pq*ExpandToSum[u,x]^p,x] /;
+FreeQ[p,x] && PolyQ[Pq,x] && TrinomialQ[u,x] && Not[TrinomialMatchQ[u,x]]
+
+
+Int[(d_.*x_)^m_.*Pq_*u_^p_.,x_Symbol] :=
+ Int[(d*x)^m*Pq*ExpandToSum[u,x]^p,x] /;
+FreeQ[{d,m,p},x] && PolyQ[Pq,x] && TrinomialQ[u,x] && Not[TrinomialMatchQ[u,x]]
+
+
+Int[u_^p_,x_Symbol] :=
+ Int[ExpandToSum[u,x]^p,x] /;
+FreeQ[p,x] && GeneralizedTrinomialQ[u,x] && Not[GeneralizedTrinomialMatchQ[u,x]]
+
+
+Int[(d_.*x_)^m_.*u_^p_.,x_Symbol] :=
+ Int[(d*x)^m*ExpandToSum[u,x]^p,x] /;
+FreeQ[{d,m,p},x] && GeneralizedTrinomialQ[u,x] && Not[GeneralizedTrinomialMatchQ[u,x]]
+
+
+Int[z_*u_^p_.,x_Symbol] :=
+ Int[ExpandToSum[z,x]*ExpandToSum[u,x]^p,x] /;
+FreeQ[p,x] && BinomialQ[z,x] && GeneralizedTrinomialQ[u,x] &&
+ EqQ[BinomialDegree[z,x]-GeneralizedTrinomialDegree[u,x]] && Not[BinomialMatchQ[z,x] && GeneralizedTrinomialMatchQ[u,x]]
+
+
+Int[(f_.*x_)^m_.*z_*u_^p_.,x_Symbol] :=
+ Int[(f*x)^m*ExpandToSum[z,x]*ExpandToSum[u,x]^p,x] /;
+FreeQ[{f,m,p},x] && BinomialQ[z,x] && GeneralizedTrinomialQ[u,x] &&
+ EqQ[BinomialDegree[z,x]-GeneralizedTrinomialDegree[u,x]] && Not[BinomialMatchQ[z,x] && GeneralizedTrinomialMatchQ[u,x]]
+
+
+
+
+
+(* ::Section:: *)
+(*1.1.4 Improper Binomial Product Integration Rules*)
+
+
+(* ::Subsection::Closed:: *)
+(*1.1.4.1 (a x^j+b x^n)^p*)
+
+
+Int[(a_.*x_^j_.+b_.*x_^n_.)^p_,x_Symbol] :=
+ (a*x^j+b*x^n)^(p+1)/(b*(n-j)(p+1)*x^(n-1)) /;
+FreeQ[{a,b,j,n,p},x] && Not[IntegerQ[p]] && NeQ[n-j] && EqQ[j*p-n+j+1]
+
+
+Int[(a_.*x_^j_.+b_.*x_^n_.)^p_,x_Symbol] :=
+ -(a*x^j+b*x^n)^(p+1)/(a*(n-j)*(p+1)*x^(j-1)) +
+ (n*p+n-j+1)/(a*(n-j)*(p+1))*Int[(a*x^j+b*x^n)^(p+1)/x^j,x] /;
+FreeQ[{a,b,j,n},x] && Not[IntegerQ[p]] && NeQ[n-j] && NegativeIntegerQ[Simplify[(n*p+n-j+1)/(n-j)]] && RationalQ[p] && p<-1
+
+
+Int[(a_.*x_^j_.+b_.*x_^n_.)^p_,x_Symbol] :=
+ (a*x^j+b*x^n)^(p+1)/(a*(j*p+1)*x^(j-1)) -
+ b*(n*p+n-j+1)/(a*(j*p+1))*Int[x^(n-j)*(a*x^j+b*x^n)^p,x] /;
+FreeQ[{a,b,j,n,p},x] && Not[IntegerQ[p]] && NeQ[n-j] && NegativeIntegerQ[Simplify[(n*p+n-j+1)/(n-j)]] && NeQ[j*p+1]
+
+
+Int[(a_.*x_^j_.+b_.*x_^n_.)^p_,x_Symbol] :=
+ x*(a*x^j+b*x^n)^p/(j*p+1) -
+ b*(n-j)*p/(j*p+1)*Int[x^n*(a*x^j+b*x^n)^(p-1),x] /;
+FreeQ[{a,b},x] && Not[IntegerQ[p]] && RationalQ[j,n,p] && 00 && j*p+1<0
+
+
+Int[(a_.*x_^j_.+b_.*x_^n_.)^p_,x_Symbol] :=
+ x*(a*x^j+b*x^n)^p/(n*p+1) +
+ a*(n-j)*p/(n*p+1)*Int[x^j*(a*x^j+b*x^n)^(p-1),x] /;
+FreeQ[{a,b},x] && Not[IntegerQ[p]] && RationalQ[j,n,p] && 00 && NeQ[n*p+1]
+
+
+Int[(a_.*x_^j_.+b_.*x_^n_.)^p_,x_Symbol] :=
+ (a*x^j+b*x^n)^(p+1)/(b*(n-j)*(p+1)*x^(n-1)) -
+ (j*p-n+j+1)/(b*(n-j)*(p+1))*Int[(a*x^j+b*x^n)^(p+1)/x^n,x] /;
+FreeQ[{a,b},x] && Not[IntegerQ[p]] && RationalQ[j,n,p] && 0n-j
+
+
+Int[(a_.*x_^j_.+b_.*x_^n_.)^p_,x_Symbol] :=
+ -(a*x^j+b*x^n)^(p+1)/(a*(n-j)*(p+1)*x^(j-1)) +
+ (n*p+n-j+1)/(a*(n-j)*(p+1))*Int[(a*x^j+b*x^n)^(p+1)/x^j,x] /;
+FreeQ[{a,b},x] && Not[IntegerQ[p]] && RationalQ[j,n,p] && 00 && m+j*p+1<0
+
+
+Int[(c_.*x_)^m_.*(a_.*x_^j_.+b_.*x_^n_.)^p_,x_Symbol] :=
+ (c*x)^(m+1)*(a*x^j+b*x^n)^p/(c*(m+n*p+1)) +
+ a*(n-j)*p/(c^j*(m+n*p+1))*Int[(c*x)^(m+j)*(a*x^j+b*x^n)^(p-1),x] /;
+FreeQ[{a,b,c,m},x] && Not[IntegerQ[p]] && RationalQ[j,n,p] && 00 && NeQ[m+n*p+1]
+
+
+Int[(c_.*x_)^m_.*(a_.*x_^j_.+b_.*x_^n_.)^p_,x_Symbol] :=
+ c^(n-1)*(c*x)^(m-n+1)*(a*x^j+b*x^n)^(p+1)/(b*(n-j)*(p+1)) -
+ c^n*(m+j*p-n+j+1)/(b*(n-j)*(p+1))*Int[(c*x)^(m-n)*(a*x^j+b*x^n)^(p+1),x] /;
+FreeQ[{a,b,c},x] && Not[IntegerQ[p]] && RationalQ[j,m,n,p] && 0n-j
+
+
+Int[(c_.*x_)^m_.*(a_.*x_^j_.+b_.*x_^n_.)^p_,x_Symbol] :=
+ -c^(j-1)*(c*x)^(m-j+1)*(a*x^j+b*x^n)^(p+1)/(a*(n-j)*(p+1)) +
+ c^j*(m+n*p+n-j+1)/(a*(n-j)*(p+1))*Int[(c*x)^(m-j)*(a*x^j+b*x^n)^(p+1),x] /;
+FreeQ[{a,b,c,m},x] && Not[IntegerQ[p]] && RationalQ[j,n,p] && 00 &&
+ (m+j*p<-1 || IntegersQ[m-1/2,p-1/2] && p<0 && m<-n*p-1) &&
+ (PositiveQ[e] || IntegersQ[j,n]) && NeQ[m+j*p+1] && NeQ[m-n+j*p+1]
+
+
+Int[(e_.*x_)^m_.*(a_.*x_^j_.+b_.*x_^jn_.)^p_*(c_+d_.*x_^n_.),x_Symbol] :=
+ d*e^(j-1)*(e*x)^(m-j+1)*(a*x^j+b*x^(j+n))^(p+1)/(b*(m+n+p*(j+n)+1)) -
+ (a*d*(m+j*p+1)-b*c*(m+n+p*(j+n)+1))/(b*(m+n+p*(j+n)+1))*Int[(e*x)^m*(a*x^j+b*x^(j+n))^p,x] /;
+FreeQ[{a,b,c,d,e,j,m,n,p},x] && EqQ[jn-j-n] && Not[IntegerQ[p]] && NeQ[b*c-a*d] &&
+ NeQ[m+n+p*(j+n)+1] && (PositiveQ[e] || IntegerQ[j])
+
+
+Int[x_^m_.*(a_.*x_^j_+b_.*x_^k_.)^p_*(c_+d_.*x_^n_.)^q_.,x_Symbol] :=
+ 1/(m+1)*Subst[Int[(a*x^Simplify[j/(m+1)]+b*x^Simplify[k/(m+1)])^p*(c+d*x^Simplify[n/(m+1)])^q,x],x,x^(m+1)] /;
+FreeQ[{a,b,c,d,j,k,m,n,p,q},x] && Not[IntegerQ[p]] && NeQ[k-j] && IntegerQ[Simplify[j/n]] && IntegerQ[Simplify[k/n]] &&
+ NeQ[m+1] && IntegerQ[Simplify[n/(m+1)]] && Not[IntegerQ[n]]
+
+
+Int[(e_*x_)^m_.*(a_.*x_^j_+b_.*x_^k_.)^p_*(c_+d_.*x_^n_.)^q_.,x_Symbol] :=
+ e^IntPart[m]*(e*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a*x^j+b*x^k)^p*(c+d*x^n)^q,x] /;
+FreeQ[{a,b,c,d,e,j,k,m,n,p,q},x] && Not[IntegerQ[p]] && NeQ[k-j] && IntegerQ[Simplify[j/n]] && IntegerQ[Simplify[k/n]] &&
+ NeQ[m+1] && IntegerQ[Simplify[n/(m+1)]] && Not[IntegerQ[n]]
+
+
+Int[(e_.*x_)^m_.*(a_.*x_^j_.+b_.*x_^jn_.)^p_*(c_+d_.*x_^n_.)^q_.,x_Symbol] :=
+ e^IntPart[m]*(e*x)^FracPart[m]*(a*x^j+b*x^(j+n))^FracPart[p]/
+ (x^(FracPart[m]+j*FracPart[p])*(a+b*x^n)^FracPart[p])*
+ Int[x^(m+j*p)*(a+b*x^n)^p*(c+d*x^n)^q,x] /;
+FreeQ[{a,b,c,d,e,j,m,n,p,q},x] && EqQ[jn-j-n] && Not[IntegerQ[p]] && NeQ[b*c-a*d] && Not[EqQ[n-1] && EqQ[j-1]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.1.4.4 (c x)^m Pq(x) (a x^j+b x^n)^p*)
+
+
+Int[Pq_*(a_.*x_^j_.+b_.*x_^n_)^p_,x_Symbol] :=
+ With[{d=Denominator[n]},
+ d*Subst[Int[x^(d-1)*ReplaceAll[SubstFor[x^n,Pq,x],x->x^(d*n)]*(a*x^(d*j)+b*x^(d*n))^p,x],x,x^(1/d)]] /;
+FreeQ[{a,b,j,n,p},x] && PolyQ[Pq,x^n] && Not[IntegerQ[p]] && NeQ[n-j] && RationalQ[j,n] && IntegerQ[j/n] && -11
+
+
+Int[(c_*x_)^m_.*Pq_*(a_.*x_^j_.+b_.*x_^n_)^p_,x_Symbol] :=
+ (c*x)^m/x^m*Int[x^m*Pq*(a*x^j+b*x^n)^p,x] /;
+FreeQ[{a,b,c,j,m,n,p},x] && PolyQ[Pq,x^n] && Not[IntegerQ[p]] && NeQ[n-j] && IntegerQ[Simplify[j/n]] &&
+ IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[x_^m_.*Pq_*(a_.*x_^j_.+b_.*x_^n_)^p_,x_Symbol] :=
+ With[{g=GCD[m+1,n]},
+ 1/g*Subst[Int[x^((m+1)/g-1)*ReplaceAll[Pq,x->x^(1/g)]*(a*x^(j/g)+b*x^(n/g))^p,x],x,x^g] /;
+ g!=1] /;
+FreeQ[{a,b,p},x] && PolyQ[Pq,x^n] && Not[IntegerQ[p]] && PositiveIntegerQ[j,n,j/n] && IntegerQ[m]
+
+
+Int[(c_.*x_)^m_.*Pq_*(a_.*x_^j_.+b_.*x_^n_)^p_,x_Symbol] :=
+ With[{q=Expon[Pq,x]},
+ With[{Pqq=Coeff[Pq,x,q]},
+ Pqq*(c*x)^(m+q-n+1)*(a*x^j+b*x^n)^(p+1)/(b*c^(q-n+1)*(m+q+n*p+1)) +
+ Int[(c*x)^m*ExpandToSum[Pq-Pqq*x^q-a*Pqq*(m+q-n+1)*x^(q-n)/(b*(m+q+n*p+1)),x]*(a*x^j+b*x^n)^p,x]] /;
+ q>n-1 && m+q+n*p+1!=0 && (IntegerQ[2*p] || IntegerQ[p+(q+1)/(2*n)])] /;
+FreeQ[{a,b,c,m,p},x] && PolyQ[Pq,x] && Not[IntegerQ[p]] && PositiveIntegerQ[j,n] && jx^Simplify[n/(m+1)]]*(a*x^Simplify[j/(m+1)]+b*x^Simplify[n/(m+1)])^p,x],x,x^(m+1)] /;
+FreeQ[{a,b,j,m,n,p},x] && PolyQ[Pq,x^n] && Not[IntegerQ[p]] && NeQ[n-j] && IntegerQ[Simplify[j/n]] &&
+ IntegerQ[Simplify[n/(m+1)]] && Not[IntegerQ[n]]
+
+
+Int[(c_*x_)^m_*Pq_*(a_.*x_^j_.+b_.*x_^n_)^p_,x_Symbol] :=
+ c^(Sign[m]*Quotient[m,Sign[m]])*(c*x)^Mod[m,Sign[m]]/x^Mod[m,Sign[m]]*Int[x^m*Pq*(a*x^j+b*x^n)^p,x] /;
+FreeQ[{a,b,c,j,n,p},x] && PolyQ[Pq,x^n] && Not[IntegerQ[p]] && NeQ[n-j] && IntegerQ[Simplify[j/n]] &&
+ IntegerQ[Simplify[n/(m+1)]] && Not[IntegerQ[n]] && RationalQ[m] && m^2>1
+
+
+Int[(c_*x_)^m_*Pq_*(a_.*x_^j_.+b_.*x_^n_)^p_,x_Symbol] :=
+ (c*x)^m/x^m*Int[x^m*Pq*(a*x^j+b*x^n)^p,x] /;
+FreeQ[{a,b,c,j,m,n,p},x] && PolyQ[Pq,x^n] && Not[IntegerQ[p]] && NeQ[n-j] && IntegerQ[Simplify[j/n]] &&
+ IntegerQ[Simplify[n/(m+1)]] && Not[IntegerQ[n]]
+
+
+Int[(c_.*x_)^m_.*Pq_*(a_.*x_^j_.+b_.*x_^n_)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(c*x)^m*Pq*(a*x^j+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,j,m,n,p},x] && (PolyQ[Pq,x] || PolyQ[Pq,x^n]) && Not[IntegerQ[p]] && NeQ[n-j]
+
+
+Int[Pq_*(a_.*x_^j_.+b_.*x_^n_)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[Pq*(a*x^j+b*x^n)^p,x],x] /;
+FreeQ[{a,b,j,n,p},x] && (PolyQ[Pq,x] || PolyQ[Pq,x^n]) && Not[IntegerQ[p]] && NeQ[n-j]
+
+
+
+`)
+
+func resourcesRubi114ImproperBinomialProductsMBytes() ([]byte, error) {
+ return _resourcesRubi114ImproperBinomialProductsM, nil
+}
+
+func resourcesRubi114ImproperBinomialProductsM() (*asset, error) {
+ bytes, err := resourcesRubi114ImproperBinomialProductsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/1.1.4 Improper binomial products.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi121QuadraticTrinomialProductsM = []byte(`(* ::Package:: *)
+
+(* ::Section:: *)
+(*Quadratic Product Rules*)
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.1.1 (a+b x+c x^2)^p*)
+
+
+Int[1/Sqrt[a_+b_.*x_+c_.*x_^2],x_Symbol] :=
+ (b/2+c*x)/Sqrt[a+b*x+c*x^2]*Int[1/(b/2+c*x),x] /;
+FreeQ[{a,b,c},x] && EqQ[b^2-4*a*c,0]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (b+2*c*x)*(a+b*x+c*x^2)^p/(2*c*(2*p+1)) /;
+FreeQ[{a,b,c,p},x] && EqQ[b^2-4*a*c,0] && NeQ[p,-1/2]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ 1/c^p*Int[Simp[b/2-q/2+c*x,x]^p*Simp[b/2+q/2+c*x,x]^p,x]] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c,0] && IGtQ[p,0] && PerfectSquareQ[b^2-4*a*c]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*x+c*x^2)^p,x],x] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c,0] && IGtQ[p,0] && Not[PerfectSquareQ[b^2-4*a*c]]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (b+2*c*x)*(a+b*x+c*x^2)^p/(2*c*(2*p+1)) -
+ p*(b^2-4*a*c)/(2*c*(2*p+1))*Int[(a+b*x+c*x^2)^(p-1),x] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c,0] && GtQ[p,0] && IntegerQ[4*p]
+
+
+Int[1/(a_.+b_.*x_+c_.*x_^2)^(3/2),x_Symbol] :=
+ -2*(b+2*c*x)/((b^2-4*a*c)*Sqrt[a+b*x+c*x^2]) /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c,0]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (b+2*c*x)*(a+b*x+c*x^2)^(p+1)/((p+1)*(b^2-4*a*c)) -
+ 2*c*(2*p+3)/((p+1)*(b^2-4*a*c))*Int[(a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c,0] && LtQ[p,-1] && NeQ[p,-3/2] && IntegerQ[4*p]
+
+
+Int[1/(a_+b_.*x_+c_.*x_^2),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ c/q*Int[1/Simp[b/2-q/2+c*x,x],x] - c/q*Int[1/Simp[b/2+q/2+c*x,x],x]] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c,0] && PosQ[b^2-4*a*c] && PerfectSquareQ[b^2-4*a*c]
+
+
+Int[1/(a_+b_.*x_+c_.*x_^2),x_Symbol] :=
+ With[{q=1-4*Simplify[a*c/b^2]},
+ -2/b*Subst[Int[1/(q-x^2),x],x,1+2*c*x/b] /;
+ RationalQ[q] && (EqQ[q^2,1] || Not[RationalQ[b^2-4*a*c]])] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c,0]
+
+
+Int[1/(a_+b_.*x_+c_.*x_^2),x_Symbol] :=
+ -2*Subst[Int[1/Simp[b^2-4*a*c-x^2,x],x],x,b+2*c*x] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c,0]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ 1/(2*c*(-4*c/(b^2-4*a*c))^p)*Subst[Int[Simp[1-x^2/(b^2-4*a*c),x]^p,x],x,b+2*c*x] /;
+FreeQ[{a,b,c,p},x] && PositiveQ[4*a-b^2/c]
+
+
+Int[1/Sqrt[b_.*x_+c_.*x_^2],x_Symbol] :=
+ 2*Subst[Int[1/(1-c*x^2),x],x,x/Sqrt[b*x+c*x^2]] /;
+FreeQ[{b,c},x]
+
+
+Int[1/Sqrt[a_+b_.*x_+c_.*x_^2],x_Symbol] :=
+ 2*Subst[Int[1/(4*c-x^2),x],x,(b+2*c*x)/Sqrt[a+b*x+c*x^2]] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c,0]
+
+
+Int[(b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (b*x+c*x^2)^p/(-c*(b*x+c*x^2)/(b^2))^p*Int[(-c*x/b-c^2*x^2/b^2)^p,x] /;
+FreeQ[{b,c},x] && RationalQ[p] && 3<=Denominator[p]<=4
+
+
+(* Int[(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (a+b*x+c*x^2)^p/(-c*(a+b*x+c*x^2)/(b^2-4*a*c))^p*Int[(-a*c/(b^2-4*a*c)-b*c*x/(b^2-4*a*c)-c^2*x^2/(b^2-4*a*c))^p,x] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c,0] && RationalQ[p] && 3<=Denominator[p]<=4 *)
+
+
+Int[(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{d=Denominator[p]},
+ d*Sqrt[(b+2*c*x)^2]/(b+2*c*x)*Subst[Int[x^(d*(p+1)-1)/Sqrt[b^2-4*a*c+4*c*x^d],x],x,(a+b*x+c*x^2)^(1/d)] /;
+ 3<=d<=4] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c,0] && RationalQ[p]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ -(a+b*x+c*x^2)^(p+1)/(q*(p+1)*((q-b-2*c*x)/(2*q))^(p+1))*Hypergeometric2F1[-p,p+1,p+2,(b+q+2*c*x)/(2*q)]] /;
+FreeQ[{a,b,c,p},x] && NeQ[b^2-4*a*c,0] && Not[IntegerQ[4*p]]
+
+
+Int[(a_.+b_.*u_+c_.*u_^2)^p_,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*x+c*x^2)^p,x],x,u] /;
+FreeQ[{a,b,c,p},x] && LinearQ[u,x] && NeQ[u,x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.1.2 (d+e x)^m (a+b x+c x^2)^p*)
+
+
+Int[(d_+e_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(d+e*x)^(p+1)*(a/d+c/e*x)^p,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c*d^2-b*d*e+a*e^2,0] && IGtQ[p,0]
+
+
+Int[(d_.+e_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)*(a+b*x+c*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e},x] && IGtQ[p,0]
+
+
+Int[(d_.+e_.*x_)/(a_+b_.*x_+c_.*x_^2),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (c*d-e*(b/2-q/2))/q*Int[1/(b/2-q/2+c*x),x] - (c*d-e*(b/2+q/2))/q*Int[1/(b/2+q/2+c*x),x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NiceSqrtQ[b^2-4*a*c]
+
+
+Int[(d_+e_.*x_)/(a_+c_.*x_^2),x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ (e/2+c*d/(2*q))*Int[1/(-q+c*x),x] + (e/2-c*d/(2*q))*Int[1/(q+c*x),x]] /;
+FreeQ[{a,c,d,e},x] && NiceSqrtQ[-a*c]
+
+
+Int[(d_.+e_.*x_)/(a_+b_.*x_+c_.*x_^2),x_Symbol] :=
+(* (d-b*e/(2*c))*Int[1/(a+b*x+c*x^2),x] + *)
+ (2*c*d-b*e)/(2*c)*Int[1/(a+b*x+c*x^2),x] + e/(2*c)*Int[(b+2*c*x)/(a+b*x+c*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && Not[NiceSqrtQ[b^2-4*a*c]]
+
+
+Int[(d_+e_.*x_)/(a_+c_.*x_^2),x_Symbol] :=
+ d*Int[1/(a+c*x^2),x] + e*Int[x/(a+c*x^2),x] /;
+FreeQ[{a,c,d,e},x] && Not[NiceSqrtQ[-a*c]]
+
+
+Int[(d_.+e_.*x_)/(a_.+b_.*x_+c_.*x_^2)^(3/2),x_Symbol] :=
+ -2*(b*d-2*a*e+(2*c*d-b*e)*x)/((b^2-4*a*c)*Sqrt[a+b*x+c*x^2]) /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c]
+
+
+Int[(d_+e_.*x_)/(a_+c_.*x_^2)^(3/2),x_Symbol] :=
+ (-a*e+c*d*x)/(a*c*Sqrt[a+c*x^2]) /;
+FreeQ[{a,c,d,e},x]
+
+
+Int[(d_.+e_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (b*d-2*a*e+(2*c*d-b*e)*x)/((p+1)*(b^2-4*a*c))*(a+b*x+c*x^2)^(p+1) -
+ (2*p+3)*(2*c*d-b*e)/((p+1)*(b^2-4*a*c))*Int[(a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && LtQ[p,-1]
+
+
+Int[(d_+e_.*x_)*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (a*e-c*d*x)/(2*a*c*(p+1))*(a+c*x^2)^(p+1) +
+ d*(2*p+3)/(2*a*(p+1))*Int[(a+c*x^2)^(p+1),x] /;
+FreeQ[{a,c,d,e},x] && LtQ[p,-1]
+
+
+Int[(d_.+e_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(a+b*x+c*x^2)^(p+1)/(2*c*(p+1)) + (2*c*d-b*e)/(2*c)*Int[(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[p,-1]
+
+
+Int[(d_.+e_.*x_)*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ e*(a+c*x^2)^(p+1)/(2*c*(p+1)) + d*Int[(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,p},x] && NeQ[p,-1]
+
+
+Int[(d_+e_.*x_)^m_.*(a_+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (a+b*x+c*x^2)^p/(d+e*x)^(2*p)*Int[(d+e*x)^(m+2*p),x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && EqQ[b^2-4*a*c,0] && EqQ[2*c*d-b*e,0]
+
+
+Int[(d_.+e_.*x_)^m_.*(a_+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/(c^IntPart[p]*(b/2+c*x)^(2*FracPart[p]))*Int[(d+e*x)^m*(b/2+c*x)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && EqQ[b^2-4*a*c,0]
+
+
+Int[(d_+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(d+e*x)^(m+p)*(a/d+c/e*x)^p,x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && IntegerQ[p]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(d+e*x)^(m+p)*(a/d+c/e*x)^p,x] /;
+FreeQ[{a,c,d,e,m,p},x] && EqQ[c*d^2+a*e^2,0] && (IntegerQ[p] || PositiveQ[a] && PositiveQ[d] && IntegerQ[m+p])
+
+
+(* Int[(d_+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ d^m*e^m*Int[(a*e+c*d*x)^(-m)*(a+b*x+c*x^2)^(m+p),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c*d^2-b*d*e+a*e^2,0] && NegativeIntegerQ[m] && Not[IntegerQ[2*p]] *)
+
+
+(* Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ d^m*e^m*Int[(a*e+c*d*x)^(-m)*(a+c*x^2)^(m+p),x] /;
+FreeQ[{a,c,d,e,p},x] && EqQ[c*d^2+a*e^2,0] && NegativeIntegerQ[m] && Not[IntegerQ[2*p]] *)
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)^(m-1)*(a+b*x+c*x^2)^(p+1)/(c*(p+1)) /;
+FreeQ[{a,b,c,d,e,m,p},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && Not[IntegerQ[p]] && EqQ[m+p,0]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)^(m-1)*(a+c*x^2)^(p+1)/(c*(p+1)) /;
+FreeQ[{a,c,d,e,m,p},x] && EqQ[c*d^2+a*e^2,0] && Not[IntegerQ[p]] && EqQ[m+p,0]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)^m*(a+b*x+c*x^2)^(p+1)/((p+1)*(2*c*d-b*e)) /;
+FreeQ[{a,b,c,d,e,m,p},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && Not[IntegerQ[p]] && EqQ[m+2*p+2,0]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)^m*(a+c*x^2)^(p+1)/(2*c*d*(p+1)) /;
+FreeQ[{a,c,d,e,m,p},x] && EqQ[c*d^2+a*e^2,0] && Not[IntegerQ[p]] && EqQ[m+2*p+2,0]
+
+
+Int[(d_.+e_.*x_)^2*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)*(a+b*x+c*x^2)^(p+1)/(c*(p+1)) - e^2*(p+2)/(c*(p+1))*Int[(a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && Not[IntegerQ[p]] && RationalQ[p] && p<-1
+
+
+Int[(d_+e_.*x_)^2*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)*(a+c*x^2)^(p+1)/(c*(p+1)) - e^2*(p+2)/(c*(p+1))*Int[(a+c*x^2)^(p+1),x] /;
+FreeQ[{a,c,d,e,p},x] && EqQ[c*d^2+a*e^2,0] && Not[IntegerQ[p]] && RationalQ[p] && p<-1
+
+
+Int[(d_+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ Int[(a+b*x+c*x^2)^(m+p)/(a/d+c*x/e)^m,x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && Not[IntegerQ[p]] && IntegerQ[m] &&
+ RationalQ[p] && (0<-m0 &&
+ (m<-2 || EqQ[m+2*p+1]) && NeQ[m+p+1] && IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^(m+1)*(a+c*x^2)^p/(e*(m+p+1)) -
+ c*p/(e^2*(m+p+1))*Int[(d+e*x)^(m+2)*(a+c*x^2)^(p-1),x] /;
+FreeQ[{a,c,d,e},x] && EqQ[c*d^2+a*e^2,0] && RationalQ[m,p] && p>0 &&
+ (m<-2 || EqQ[m+2*p+1]) && NeQ[m+p+1] && IntegerQ[2*p]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^(m+1)*(a+b*x+c*x^2)^p/(e*(m+2*p+1)) -
+ p*(2*c*d-b*e)/(e^2*(m+2*p+1))*Int[(d+e*x)^(m+1)*(a+b*x+c*x^2)^(p-1),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && RationalQ[m,p] && p>0 &&
+ (-2<=m<0 || m+p+1==0) && NeQ[m+2*p+1] && IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^(m+1)*(a+c*x^2)^p/(e*(m+2*p+1)) -
+ 2*c*d*p/(e^2*(m+2*p+1))*Int[(d+e*x)^(m+1)*(a+c*x^2)^(p-1),x] /;
+FreeQ[{a,c,d,e},x] && EqQ[c*d^2+a*e^2,0] && RationalQ[m,p] && p>0 &&
+ (-2<=m<0 || m+p+1==0) && NeQ[m+2*p+1] && IntegerQ[2*p]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (2*c*d-b*e)*(d+e*x)^m*(a+b*x+c*x^2)^(p+1)/(e*(p+1)*(b^2-4*a*c)) -
+ (2*c*d-b*e)*(m+2*p+2)/((p+1)*(b^2-4*a*c))*Int[(d+e*x)^(m-1)*(a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && RationalQ[m,p] && p<-1 && 01 && IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)^(m-1)*(a+c*x^2)^(p+1)/(c*(p+1)) -
+ e^2*(m+p)/(c*(p+1))*Int[(d+e*x)^(m-2)*(a+c*x^2)^(p+1),x] /;
+FreeQ[{a,c,d,e},x] && EqQ[c*d^2+a*e^2,0] && RationalQ[m,p] && p<-1 && m>1 && IntegerQ[2*p]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)^(m-1)*(a+b*x+c*x^2)^(p+1)/(c*(m+2*p+1)) +
+ (m+p)*(2*c*d-b*e)/(c*(m+2*p+1))*Int[(d+e*x)^(m-1)*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && RationalQ[m] && m>=1 &&
+ NeQ[m+2*p+1] && IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)^(m-1)*(a+c*x^2)^(p+1)/(c*(m+2*p+1)) +
+ 2*c*d*(m+p)/(c*(m+2*p+1))*Int[(d+e*x)^(m-1)*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,p},x] && EqQ[c*d^2+a*e^2,0] && RationalQ[m] && m>=1 && NeQ[m+2*p+1] && IntegerQ[2*p]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ -e*(d+e*x)^m*(a+b*x+c*x^2)^(p+1)/((m+p+1)*(2*c*d-b*e)) +
+ c*(m+2*p+2)/((m+p+1)*(2*c*d-b*e))*Int[(d+e*x)^(m+1)*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && RationalQ[m] && m<0 && NeQ[m+p+1] && IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ -e*(d+e*x)^m*(a+c*x^2)^(p+1)/(2*c*d*(m+p+1)) +
+ (m+2*p+2)/(2*d*(m+p+1))*Int[(d+e*x)^(m+1)*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,p},x] && EqQ[c*d^2+a*e^2,0] && RationalQ[m] && m<0 && NeQ[m+p+1] && IntegerQ[2*p]
+
+
+Int[(e_.*x_)^m_*(b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (e*x)^m*(b*x+c*x^2)^p/(x^(m+p)*(b+c*x)^p)*Int[x^(m+p)*(b+c*x)^p,x] /;
+FreeQ[{b,c,e,m},x] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ Int[(d+e*x)^(m+p)*(a/d+c/e*x)^p,x] /;
+FreeQ[{a,c,d,e,m,p},x] && EqQ[c*d^2+a*e^2,0] && Not[IntegerQ[p]] && PositiveQ[a] && PositiveQ[d]
+
+
+Int[(d_+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/((d+e*x)^FracPart[p]*(a/d+(c*x)/e)^FracPart[p])*Int[(d+e*x)^(m+p)*(a/d+c/e*x)^p,x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (a+c*x^2)^FracPart[p]/((d+e*x)^FracPart[p]*(a/d+(c*x)/e)^FracPart[p])*Int[(d+e*x)^(m+p)*(a/d+c/e*x)^p,x] /;
+FreeQ[{a,c,d,e,m},x] && EqQ[c*d^2+a*e^2,0] && Not[IntegerQ[p]]
+
+
+Int[1/((d_+e_.*x_)*(a_.+b_.*x_+c_.*x_^2)),x_Symbol] :=
+ -4*b*c/(d*(b^2-4*a*c))*Int[1/(b+2*c*x),x] +
+ b^2/(d^2*(b^2-4*a*c))*Int[(d+e*x)/(a+b*x+c*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && EqQ[2*c*d-b*e,0]
+
+
+Int[(d_+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ 2*c*(d+e*x)^(m+1)*(a+b*x+c*x^2)^(p+1)/(e*(p+1)*(b^2-4*a*c)) /;
+FreeQ[{a,b,c,d,e,m,p},x] && NeQ[b^2-4*a*c,0] && EqQ[2*c*d-b*e,0] && EqQ[m+2*p+3] && NeQ[p+1]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(a+b*x+c*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[b^2-4*a*c,0] && EqQ[2*c*d-b*e,0] && PositiveIntegerQ[p] && Not[EqQ[m-3] && p!=1]
+
+
+Int[(d_+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ (d+e*x)^(m+1)*(a+b*x+c*x^2)^p/(e*(m+1)) -
+ b*p/(d*e*(m+1))*Int[(d+e*x)^(m+2)*(a+b*x+c*x^2)^(p-1),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && EqQ[2*c*d-b*e,0] && NeQ[m+2*p+3] && RationalQ[m,p] && p>0 && m<-1 &&
+ Not[EvenQ[m] && m+2*p+3<0] && IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ (d+e*x)^(m+1)*(a+b*x+c*x^2)^p/(e*(m+2*p+1)) -
+ d*p*(b^2-4*a*c)/(b*e*(m+2*p+1))*Int[(d+e*x)^m*(a+b*x+c*x^2)^(p-1),x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[b^2-4*a*c,0] && EqQ[2*c*d-b*e,0] && NeQ[m+2*p+3] && RationalQ[p] && p>0 &&
+ Not[RationalQ[m] && m<-1] && Not[PositiveIntegerQ[(m-1)/2] && (Not[IntegerQ[p]] || m<2*p)] && RationalQ[m] && IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ d*(d+e*x)^(m-1)*(a+b*x+c*x^2)^(p+1)/(b*(p+1)) -
+ d*e*(m-1)/(b*(p+1))*Int[(d+e*x)^(m-2)*(a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && EqQ[2*c*d-b*e,0] && NeQ[m+2*p+3] && RationalQ[m,p] && p<-1 && m>1 &&
+ IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ 2*c*(d+e*x)^(m+1)*(a+b*x+c*x^2)^(p+1)/(e*(p+1)*(b^2-4*a*c)) -
+ 2*c*e*(m+2*p+3)/(e*(p+1)*(b^2-4*a*c))*Int[(d+e*x)^m*(a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[b^2-4*a*c,0] && EqQ[2*c*d-b*e,0] && NeQ[m+2*p+3] && RationalQ[p] && p<-1 &&
+ Not[RationalQ[m] && m>1] && RationalQ[m] && IntegerQ[2*p]
+
+
+Int[1/((d_+e_.*x_)*Sqrt[a_.+b_.*x_+c_.*x_^2]),x_Symbol] :=
+ 4*c*Subst[Int[1/(b^2*e-4*a*c*e+4*c*e*x^2),x],x,Sqrt[a+b*x+c*x^2]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && EqQ[2*c*d-b*e,0]
+
+
+Int[1/(Sqrt[d_+e_.*x_]*Sqrt[a_.+b_.*x_+c_.*x_^2]),x_Symbol] :=
+ 4/e*Sqrt[-c/(b^2-4*a*c)]*Subst[Int[1/Sqrt[Simp[1-b^2*x^4/(d^2*(b^2-4*a*c)),x]],x],x,Sqrt[d+e*x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && EqQ[2*c*d-b*e,0] && NegativeQ[c/(b^2-4*a*c)]
+
+
+Int[Sqrt[d_+e_.*x_]/Sqrt[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ 4/e*Sqrt[-c/(b^2-4*a*c)]*Subst[Int[x^2/Sqrt[Simp[1-b^2*x^4/(d^2*(b^2-4*a*c)),x]],x],x,Sqrt[d+e*x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && EqQ[2*c*d-b*e,0] && NegativeQ[c/(b^2-4*a*c)]
+
+
+Int[(d_+e_.*x_)^m_/Sqrt[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ Sqrt[-c*(a+b*x+c*x^2)/(b^2-4*a*c)]/Sqrt[a+b*x+c*x^2]*
+ Int[(d+e*x)^m/Sqrt[-a*c/(b^2-4*a*c)-b*c*x/(b^2-4*a*c)-c^2*x^2/(b^2-4*a*c)],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && EqQ[2*c*d-b*e,0] && EqQ[m^2,1/4]
+
+
+Int[(d_+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ 2*d*(d+e*x)^(m-1)*(a+b*x+c*x^2)^(p+1)/(b*(m+2*p+1)) +
+ d^2*(m-1)*(b^2-4*a*c)/(b^2*(m+2*p+1))*Int[(d+e*x)^(m-2)*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[b^2-4*a*c,0] && EqQ[2*c*d-b*e,0] && NeQ[m+2*p+3] && RationalQ[m] && m>1 &&
+ NeQ[m+2*p+1] && (IntegerQ[2*p] || IntegerQ[m] && RationalQ[p] || OddQ[m])
+
+
+Int[(d_+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ -2*b*d*(d+e*x)^(m+1)*(a+b*x+c*x^2)^(p+1)/(d^2*(m+1)*(b^2-4*a*c)) +
+ b^2*(m+2*p+3)/(d^2*(m+1)*(b^2-4*a*c))*Int[(d+e*x)^(m+2)*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[b^2-4*a*c,0] && EqQ[2*c*d-b*e,0] && NeQ[m+2*p+3] && RationalQ[m] && m<-1 &&
+ (IntegerQ[2*p] || IntegerQ[m] && RationalQ[p] || IntegerQ[(m+2*p+3)/2])
+
+
+Int[(d_+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ 1/e*Subst[Int[x^m*(a-b^2/(4*c)+(c*x^2)/e^2)^p,x],x,d+e*x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && NeQ[b^2-4*a*c,0] && EqQ[2*c*d-b*e,0]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(a+b*x+c*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] &&
+ PositiveIntegerQ[p]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(a+c*x^2)^p,x],x] /;
+FreeQ[{a,c,d,e,m},x] && NeQ[c*d^2+a*e^2] && PositiveIntegerQ[p] && Not[EqQ[m-1] && p>1]
+
+
+(* Int[Sqrt[d_.+e_.*x_]/(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ With[{q=Rt[(c*d^2-b*d*e+a*e^2)/c,2]},
+ 1/2*Int[(d+q+e*x)/(Sqrt[d+e*x]*(a+b*x+c*x^2)),x] +
+ 1/2*Int[(d-q+e*x)/(Sqrt[d+e*x]*(a+b*x+c*x^2)),x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] &&
+ NegativeQ[b^2-4*a*c] *)
+
+
+(* Int[Sqrt[d_+e_.*x_]/(a_+c_.*x_^2),x_Symbol] :=
+ With[{q=Rt[(c*d^2+a*e^2)/c,2]},
+ 1/2*Int[(d+q+e*x)/(Sqrt[d+e*x]*(a+c*x^2)),x] +
+ 1/2*Int[(d-q+e*x)/(Sqrt[d+e*x]*(a+c*x^2)),x]] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && NegativeQ[-a*c] *)
+
+
+(* Int[Sqrt[d_.+e_.*x_]/(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (2*c*d-b*e+e*q)/q*Int[1/(Sqrt[d+e*x]*(b-q+2*c*x)),x] -
+ (2*c*d-b*e-e*q)/q*Int[1/(Sqrt[d+e*x]*(b+q+2*c*x)),x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] (* &&
+ Not[NegativeQ[b^2-4*a*c]] *) *)
+
+
+(* Int[Sqrt[d_+e_.*x_]/(a_+c_.*x_^2),x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ (c*d+e*q)/(2*q)*Int[1/(Sqrt[d+e*x]*(-q+c*x)),x] -
+ (c*d-e*q)/(2*q)*Int[1/(Sqrt[d+e*x]*(+q+c*x)),x]] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] (* && Not[NegativeQ[-a*c]] *) *)
+
+
+Int[Sqrt[d_.+e_.*x_]/(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ 2*e*Subst[Int[x^2/(c*d^2-b*d*e+a*e^2-(2*c*d-b*e)*x^2+c*x^4),x],x,Sqrt[d+e*x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e]
+
+
+Int[Sqrt[d_+e_.*x_]/(a_+c_.*x_^2),x_Symbol] :=
+ 2*e*Subst[Int[x^2/(c*d^2+a*e^2-2*c*d*x^2+c*x^4),x],x,Sqrt[d+e*x]] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2]
+
+
+Int[(d_.+e_.*x_)^m_/(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ Int[PolynomialDivide[(d+e*x)^m,a+b*x+c*x^2,x],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] &&
+ IntegerQ[m] && m>1 && (NeQ[d] || m>2)
+
+
+Int[(d_+e_.*x_)^m_/(a_+c_.*x_^2),x_Symbol] :=
+ Int[PolynomialDivide[(d+e*x)^m,a+c*x^2,x],x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && IntegerQ[m] && m>1 && (NeQ[d] || m>2)
+
+
+Int[(d_.+e_.*x_)^m_/(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ e*(d+e*x)^(m-1)/(c*(m-1)) +
+ 1/c*Int[(d+e*x)^(m-2)*Simp[c*d^2-a*e^2+e*(2*c*d-b*e)*x,x]/(a+b*x+c*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] && RationalQ[m] && m>1
+
+
+Int[(d_+e_.*x_)^m_/(a_+c_.*x_^2),x_Symbol] :=
+ e*(d+e*x)^(m-1)/(c*(m-1)) +
+ 1/c*Int[(d+e*x)^(m-2)*Simp[c*d^2-a*e^2+2*c*d*e*x,x]/(a+c*x^2),x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && RationalQ[m] && m>1
+
+
+Int[1/((d_.+e_.*x_)*(a_.+b_.*x_+c_.*x_^2)),x_Symbol] :=
+ e^2/(c*d^2-b*d*e+a*e^2)*Int[1/(d+e*x),x] +
+ 1/(c*d^2-b*d*e+a*e^2)*Int[(c*d-b*e-c*e*x)/(a+b*x+c*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e]
+
+
+Int[1/((d_+e_.*x_)*(a_+c_.*x_^2)),x_Symbol] :=
+ e^2/(c*d^2+a*e^2)*Int[1/(d+e*x),x] +
+ 1/(c*d^2+a*e^2)*Int[(c*d-c*e*x)/(a+c*x^2),x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2]
+
+
+(* Int[1/(Sqrt[d_.+e_.*x_]*(a_.+b_.*x_+c_.*x_^2)),x_Symbol] :=
+ With[{q=Rt[(c*d^2-b*d*e+a*e^2)/c,2]},
+ 1/(2*q)*Int[(d+q+e*x)/(Sqrt[d+e*x]*(a+b*x+c*x^2)),x] -
+ 1/(2*q)*Int[(d-q+e*x)/(Sqrt[d+e*x]*(a+b*x+c*x^2)),x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] &&
+ NegativeQ[b^2-4*a*c] *)
+
+
+(* Int[1/(Sqrt[d_+e_.*x_]*(a_+c_.*x_^2)),x_Symbol] :=
+ With[{q=Rt[(c*d^2+a*e^2)/c,2]},
+ 1/(2*q)*Int[(d+q+e*x)/(Sqrt[d+e*x]*(a+c*x^2)),x] -
+ 1/(2*q)*Int[(d-q+e*x)/(Sqrt[d+e*x]*(a+c*x^2)),x]] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && NegativeQ[-a*c] *)
+
+
+(* Int[1/(Sqrt[d_.+e_.*x_]*(a_.+b_.*x_+c_.*x_^2)),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ 2*c/q*Int[1/(Sqrt[d+e*x]*(b-q+2*c*x)),x] -
+ 2*c/q*Int[1/(Sqrt[d+e*x]*(b+q+2*c*x)),x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] (* &&
+ Not[NegativeQ[b^2-4*a*c]] *) *)
+
+
+(* Int[1/(Sqrt[d_+e_.*x_]*(a_+c_.*x_^2)),x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ c/(2*q)*Int[1/(Sqrt[d+e*x]*(-q+c*x)),x] -
+ c/(2*q)*Int[1/(Sqrt[d+e*x]*(q+c*x)),x]] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] (* && Not[NegativeQ[-a*c]] *) *)
+
+
+Int[1/(Sqrt[d_.+e_.*x_]*(a_.+b_.*x_+c_.*x_^2)),x_Symbol] :=
+ 2*e*Subst[Int[1/(c*d^2-b*d*e+a*e^2-(2*c*d-b*e)*x^2+c*x^4),x],x,Sqrt[d+e*x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e]
+
+
+Int[1/(Sqrt[d_+e_.*x_]*(a_+c_.*x_^2)),x_Symbol] :=
+ 2*e*Subst[Int[1/(c*d^2+a*e^2-2*c*d*x^2+c*x^4),x],x,Sqrt[d+e*x]] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2]
+
+
+Int[(d_.+e_.*x_)^m_/(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ e*(d+e*x)^(m+1)/((m+1)*(c*d^2-b*d*e+a*e^2)) +
+ 1/(c*d^2-b*d*e+a*e^2)*Int[(d+e*x)^(m+1)*Simp[c*d-b*e-c*e*x,x]/(a+b*x+c*x^2),x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] && RationalQ[m] && m<-1
+
+
+Int[(d_+e_.*x_)^m_/(a_+c_.*x_^2),x_Symbol] :=
+ e*(d+e*x)^(m+1)/((m+1)*(c*d^2+a*e^2)) +
+ c/(c*d^2+a*e^2)*Int[(d+e*x)^(m+1)*(d-e*x)/(a+c*x^2),x] /;
+FreeQ[{a,c,d,e,m},x] && NeQ[c*d^2+a*e^2] && RationalQ[m] && m<-1
+
+
+Int[(d_.+e_.*x_)^m_/(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m,1/(a+b*x+c*x^2),x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] && Not[IntegerQ[m]]
+
+
+Int[(d_+e_.*x_)^m_/(a_+c_.*x_^2),x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m,1/(a+c*x^2),x],x] /;
+FreeQ[{a,c,d,e,m},x] && NeQ[c*d^2+a*e^2] && Not[IntegerQ[m]]
+
+
+Int[(d_.+e_.*x_)^m_*(a_+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^FracPart[p]*(a+b*x+c*x^2)^FracPart[p]/(a*d+c*e*x^3)^FracPart[p]*Int[(d+e*x)^(m-p)*(a*d+c*e*x^3)^p,x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && EqQ[b*d+a*e] && EqQ[c*d+b*e] && PositiveIntegerQ[m-p+1] && Not[IntegerQ[p]]
+
+
+Int[(d_.+e_.*x_)^m_/Sqrt[b_.*x_+c_.*x_^2],x_Symbol] :=
+ Int[(d+e*x)^m/(Sqrt[b*x]*Sqrt[1+c/b*x]),x] /;
+FreeQ[{b,c,d,e},x] && NeQ[c*d-b*e] && NeQ[2*c*d-b*e] && RationalQ[m] && m^2==1/4 && NegativeQ[c] && RationalQ[b]
+
+
+Int[(d_.+e_.*x_)^m_/Sqrt[b_.*x_+c_.*x_^2],x_Symbol] :=
+ Sqrt[x]*Sqrt[b+c*x]/Sqrt[b*x+c*x^2]*Int[(d+e*x)^m/(Sqrt[x]*Sqrt[b+c*x]),x] /;
+FreeQ[{b,c,d,e},x] && NeQ[c*d-b*e] && NeQ[2*c*d-b*e] && RationalQ[m] && m^2==1/4
+
+
+Int[x_^m_/Sqrt[a_+b_.*x_+c_.*x_^2],x_Symbol] :=
+ 2*Subst[Int[x^(2*m+1)/Sqrt[a+b*x^2+c*x^4],x],x,Sqrt[x]] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c,0] && EqQ[m^2-1/4]
+
+
+Int[(e_*x_)^m_/Sqrt[a_+b_.*x_+c_.*x_^2],x_Symbol] :=
+ (e*x)^m/x^m*Int[x^m/Sqrt[a+b*x+c*x^2], x] /;
+FreeQ[{a,b,c,e},x] && NeQ[b^2-4*a*c,0] && EqQ[m^2-1/4]
+
+
+Int[(d_.+e_.*x_)^m_/Sqrt[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ 2*Rt[b^2-4*a*c,2]*(d+e*x)^m*Sqrt[-c*(a+b*x+c*x^2)/(b^2-4*a*c)]/
+ (c*Sqrt[a+b*x+c*x^2]*(2*c*(d+e*x)/(2*c*d-b*e-e*Rt[b^2-4*a*c,2]))^m)*
+ Subst[Int[(1+2*e*Rt[b^2-4*a*c,2]*x^2/(2*c*d-b*e-e*Rt[b^2-4*a*c,2]))^m/Sqrt[1-x^2],x],x,
+ Sqrt[(b+Rt[b^2-4*a*c,2]+2*c*x)/(2*Rt[b^2-4*a*c,2])]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] && EqQ[m^2-1/4]
+
+
+Int[(d_+e_.*x_)^m_/Sqrt[a_+c_.*x_^2],x_Symbol] :=
+ 2*a*Rt[-c/a,2]*(d+e*x)^m*Sqrt[1+c*x^2/a]/(c*Sqrt[a+c*x^2]*(c*(d+e*x)/(c*d-a*e*Rt[-c/a,2]))^m)*
+ Subst[Int[(1+2*a*e*Rt[-c/a,2]*x^2/(c*d-a*e*Rt[-c/a,2]))^m/Sqrt[1-x^2],x],x,Sqrt[(1-Rt[-c/a,2]*x)/2]] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && EqQ[m^2-1/4]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ -(d+e*x)^(m+1)*(d*b-2*a*e+(2*c*d-b*e)*x)*(a+b*x+c*x^2)^p/(2*(m+1)*(c*d^2-b*d*e+a*e^2)) +
+ p*(b^2-4*a*c)/(2*(m+1)*(c*d^2-b*d*e+a*e^2))*Int[(d+e*x)^(m+2)*(a+b*x+c*x^2)^(p-1),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] &&
+ RationalQ[m,p] && m+2*p+2==0 && p>0
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ -(d+e*x)^(m+1)*(-2*a*e+(2*c*d)*x)*(a+c*x^2)^p/(2*(m+1)*(c*d^2+a*e^2)) -
+ 4*a*c*p/(2*(m+1)*(c*d^2+a*e^2))*Int[(d+e*x)^(m+2)*(a+c*x^2)^(p-1),x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && RationalQ[m,p] && m+2*p+2==0 && p>0
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^(m-1)*(d*b-2*a*e+(2*c*d-b*e)*x)*(a+b*x+c*x^2)^(p+1)/((p+1)*(b^2-4*a*c)) -
+ 2*(2*p+3)*(c*d^2-b*d*e+a*e^2)/((p+1)*(b^2-4*a*c))*Int[(d+e*x)^(m-2)*(a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] &&
+ RationalQ[m,p] && m+2*p+2==0 && p<-1
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^(m-1)*(a*e-c*d*x)*(a+c*x^2)^(p+1)/(2*a*c*(p+1)) +
+ (2*p+3)*(c*d^2+a*e^2)/(2*a*c*(p+1))*Int[(d+e*x)^(m-2)*(a+c*x^2)^(p+1),x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && RationalQ[m,p] && m+2*p+2==0 && p<-1
+
+
+Int[1/((d_.+e_.*x_)*Sqrt[a_.+b_.*x_+c_.*x_^2]),x_Symbol] :=
+ -2*Subst[Int[1/(4*c*d^2-4*b*d*e+4*a*e^2-x^2),x],x,(2*a*e-b*d-(2*c*d-b*e)*x)/Sqrt[a+b*x+c*x^2]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[2*c*d-b*e]
+
+
+Int[1/((d_+e_.*x_)*Sqrt[a_+c_.*x_^2]),x_Symbol] :=
+ -Subst[Int[1/(c*d^2+a*e^2-x^2),x],x,(a*e-c*d*x)/Sqrt[a+c*x^2]] /;
+FreeQ[{a,c,d,e},x]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ -(b-Rt[b^2-4*a*c,2]+2*c*x)*(d+e*x)^(m+1)*(a+b*x+c*x^2)^p/
+ ((m+1)*(2*c*d-b*e+e*Rt[b^2-4*a*c,2])*
+ ((2*c*d-b*e+e*Rt[b^2-4*a*c,2])*(b+Rt[b^2-4*a*c,2]+2*c*x)/((2*c*d-b*e-e*Rt[b^2-4*a*c,2])*(b-Rt[b^2-4*a*c,2]+2*c*x)))^p)*
+ Hypergeometric2F1[m+1,-p,m+2,-4*c*Rt[b^2-4*a*c,2]*(d+e*x)/((2*c*d-b*e-e*Rt[b^2-4*a*c,2])*(b-Rt[b^2-4*a*c,2]+2*c*x))] /;
+FreeQ[{a,b,c,d,e,m,p},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] && Not[IntegerQ[p]] &&
+ EqQ[m+2*p+2]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (Rt[-a*c,2]-c*x)*(d+e*x)^(m+1)*(a+c*x^2)^p/
+ ((m+1)*(c*d+e*Rt[-a*c,2])*((c*d+e*Rt[-a*c,2])*(Rt[-a*c,2]+c*x)/((c*d-e*Rt[-a*c,2])*(-Rt[-a*c,2]+c*x)))^p)*
+ Hypergeometric2F1[m+1,-p,m+2,2*c*Rt[-a*c,2]*(d+e*x)/((c*d-e*Rt[-a*c,2])*(Rt[-a*c,2]-c*x))] /;
+FreeQ[{a,c,d,e,m,p},x] && NeQ[c*d^2+a*e^2] && Not[IntegerQ[p]] && EqQ[m+2*p+2]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^m*(b+2*c*x)*(a+b*x+c*x^2)^(p+1)/((p+1)*(b^2-4*a*c)) +
+ m*(2*c*d-b*e)/((p+1)*(b^2-4*a*c))*Int[(d+e*x)^(m-1)*(a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] && EqQ[m+2*p+3] &&
+ RationalQ[p] && p<-1
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ -(d+e*x)^m*(2*c*x)*(a+c*x^2)^(p+1)/(4*a*c*(p+1)) -
+ m*(2*c*d)/(4*a*c*(p+1))*Int[(d+e*x)^(m-1)*(a+c*x^2)^(p+1),x] /;
+FreeQ[{a,c,d,e,m,p},x] && NeQ[c*d^2+a*e^2] && EqQ[m+2*p+3] && RationalQ[p] && p<-1
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)^(m+1)*(a+b*x+c*x^2)^(p+1)/((m+1)*(c*d^2-b*d*e+a*e^2)) +
+ (2*c*d-b*e)/(2*(c*d^2-b*d*e+a*e^2))*Int[(d+e*x)^(m+1)*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] && EqQ[m+2*p+3]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)^(m+1)*(a+c*x^2)^(p+1)/((m+1)*(c*d^2+a*e^2)) +
+ c*d/(c*d^2+a*e^2)*Int[(d+e*x)^(m+1)*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,m,p},x] && NeQ[c*d^2+a*e^2] && EqQ[m+2*p+3]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^(m+1)*(a+b*x+c*x^2)^p/(e*(m+1)) -
+ p/(e*(m+1))*Int[(d+e*x)^(m+1)*(b+2*c*x)*(a+b*x+c*x^2)^(p-1),x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] && RationalQ[p] && p>0 &&
+ (IntegerQ[p] || RationalQ[m] && m<-1) && NeQ[m+1] && Not[NegativeIntegerQ[m+2*p+1]] && IntQuadraticQ[a,b,c,d,e,m,p,x]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^(m+1)*(a+c*x^2)^p/(e*(m+1)) -
+ 2*c*p/(e*(m+1))*Int[x*(d+e*x)^(m+1)*(a+c*x^2)^(p-1),x] /;
+FreeQ[{a,c,d,e,m},x] && NeQ[c*d^2+a*e^2] && RationalQ[p] && p>0 &&
+ (IntegerQ[p] || RationalQ[m] && m<-1) && NeQ[m+1] && Not[NegativeIntegerQ[m+2*p+1]] && IntQuadraticQ[a,0,c,d,e,m,p,x]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^(m+1)*(a+b*x+c*x^2)^p/(e*(m+2*p+1)) -
+ p/(e*(m+2*p+1))*Int[(d+e*x)^m*Simp[b*d-2*a*e+(2*c*d-b*e)*x,x]*(a+b*x+c*x^2)^(p-1),x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] && RationalQ[p] && p>0 &&
+ NeQ[m+2*p+1] && (Not[RationalQ[m]] || m<1) && Not[NegativeIntegerQ[m+2*p]] && IntQuadraticQ[a,b,c,d,e,m,p,x]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^(m+1)*(a+c*x^2)^p/(e*(m+2*p+1)) +
+ 2*p/(e*(m+2*p+1))*Int[(d+e*x)^m*Simp[a*e-c*d*x,x]*(a+c*x^2)^(p-1),x] /;
+FreeQ[{a,c,d,e,m},x] && NeQ[c*d^2+a*e^2] && RationalQ[p] && p>0 &&
+ NeQ[m+2*p+1] && (Not[RationalQ[m]] || m<1) && Not[NegativeIntegerQ[m+2*p]] && IntQuadraticQ[a,0,c,d,e,m,p,x]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^m*(b+2*c*x)*(a+b*x+c*x^2)^(p+1)/((p+1)*(b^2-4*a*c)) -
+ 1/((p+1)*(b^2-4*a*c))*Int[(d+e*x)^(m-1)*(b*e*m+2*c*d*(2*p+3)+2*c*e*(m+2*p+3)*x)*(a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] &&
+ RationalQ[m,p] && p<-1 && m>0 && (m<1 || NegativeIntegerQ[m+2*p+3] && m!=2) && IntQuadraticQ[a,b,c,d,e,m,p,x]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ -x*(d+e*x)^m*(a+c*x^2)^(p+1)/(2*a*(p+1)) +
+ 1/(2*a*(p+1))*Int[(d+e*x)^(m-1)*(d*(2*p+3)+e*(m+2*p+3)*x)*(a+c*x^2)^(p+1),x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] &&
+ RationalQ[m,p] && p<-1 && m>0 && (m<1 || NegativeIntegerQ[m+2*p+3] && m!=2) && IntQuadraticQ[a,0,c,d,e,m,p,x]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^(m-1)*(d*b-2*a*e+(2*c*d-b*e)*x)*(a+b*x+c*x^2)^(p+1)/((p+1)*(b^2-4*a*c)) +
+ 1/((p+1)*(b^2-4*a*c))*
+ Int[(d+e*x)^(m-2)*
+ Simp[e*(2*a*e*(m-1)+b*d*(2*p-m+4))-2*c*d^2*(2*p+3)+e*(b*e-2*d*c)*(m+2*p+2)*x,x]*
+ (a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] &&
+ RationalQ[m,p] && p<-1 && m>1 && IntQuadraticQ[a,b,c,d,e,m,p,x]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^(m-1)*(a*e-c*d*x)*(a+c*x^2)^(p+1)/(2*a*c*(p+1)) +
+ 1/((p+1)*(-2*a*c))*
+ Int[(d+e*x)^(m-2)*Simp[a*e^2*(m-1)-c*d^2*(2*p+3)-d*c*e*(m+2*p+2)*x,x]*(a+c*x^2)^(p+1),x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && RationalQ[m,p] && p<-1 && m>1 && IntQuadraticQ[a,0,c,d,e,m,p,x]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^(m+1)*(b*c*d-b^2*e+2*a*c*e+c*(2*c*d-b*e)*x)*(a+b*x+c*x^2)^(p+1)/((p+1)*(b^2-4*a*c)*(c*d^2-b*d*e+a*e^2)) +
+ 1/((p+1)*(b^2-4*a*c)*(c*d^2-b*d*e+a*e^2))*
+ Int[(d+e*x)^m*
+ Simp[b*c*d*e*(2*p-m+2)+b^2*e^2*(m+p+2)-2*c^2*d^2*(2*p+3)-2*a*c*e^2*(m+2*p+3)-c*e*(2*c*d-b*e)*(m+2*p+4)*x,x]*
+ (a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] &&
+ RationalQ[p] && p<-1 && IntQuadraticQ[a,b,c,d,e,m,p,x]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ -(d+e*x)^(m+1)*(a*e+c*d*x)*(a+c*x^2)^(p+1)/(2*a*(p+1)*(c*d^2+a*e^2)) +
+ 1/(2*a*(p+1)*(c*d^2+a*e^2))*
+ Int[(d+e*x)^m*Simp[c*d^2*(2*p+3)+a*e^2*(m+2*p+3)+c*e*d*(m+2*p+4)*x,x]*(a+c*x^2)^(p+1),x] /;
+FreeQ[{a,c,d,e,m},x] && NeQ[c*d^2+a*e^2] && RationalQ[p] && p<-1 && IntQuadraticQ[a,0,c,d,e,m,p,x]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)^(m-1)*(a+b*x+c*x^2)^(p+1)/(c*(m+2*p+1)) +
+ 1/(c*(m+2*p+1))*
+ Int[(d+e*x)^(m-2)*
+ Simp[c*d^2*(m+2*p+1)-e*(a*e*(m-1)+b*d*(p+1))+e*(2*c*d-b*e)*(m+p)*x,x]*
+ (a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] &&
+ If[RationalQ[m], m>1, SumSimplerQ[m,-2]] && NeQ[m+2*p+1] && IntQuadraticQ[a,b,c,d,e,m,p,x]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)^(m-1)*(a+c*x^2)^(p+1)/(c*(m+2*p+1)) +
+ 1/(c*(m+2*p+1))*
+ Int[(d+e*x)^(m-2)*Simp[c*d^2*(m+2*p+1)-a*e^2*(m-1)+2*c*d*e*(m+p)*x,x]*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,m,p},x] && NeQ[c*d^2+a*e^2] &&
+ If[RationalQ[m], m>1, SumSimplerQ[m,-2]] && NeQ[m+2*p+1] && IntQuadraticQ[a,0,c,d,e,m,p,x]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)^(m+1)*(a+b*x+c*x^2)^(p+1)/((m+1)*(c*d^2-b*d*e+a*e^2)) +
+ 1/((m+1)*(c*d^2-b*d*e+a*e^2))*
+ Int[(d+e*x)^(m+1)*Simp[c*d*(m+1)-b*e*(m+p+2)-c*e*(m+2*p+3)*x,x]*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] &&
+ (RationalQ[m] && m<-1 && IntQuadraticQ[a,b,c,d,e,m,p,x] ||
+ SumSimplerQ[m,1] && IntegerQ[p] && NeQ[m+1] ||
+ NegativeIntegerQ[Simplify[m+2*p+3]] && NeQ[m+1])
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)^(m+1)*(a+c*x^2)^(p+1)/((m+1)*(c*d^2+a*e^2)) +
+ c/((m+1)*(c*d^2+a*e^2))*
+ Int[(d+e*x)^(m+1)*Simp[d*(m+1)-e*(m+2*p+3)*x,x]*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,m,p},x] && NeQ[c*d^2+a*e^2] &&
+ (RationalQ[m] && m<-1 && IntQuadraticQ[a,0,c,d,e,m,p,x] ||
+ SumSimplerQ[m,1] && IntegerQ[p] && NeQ[m+1] ||
+ NegativeIntegerQ[Simplify[m+2*p+3]] && NeQ[m+1])
+
+
+Int[1/((d_.+e_.*x_)*(a_+b_.*x_+c_.*x_^2)^(1/3)),x_Symbol] :=
+ With[{q=Rt[3*c*e^2*(2*c*d-b*e),3]},
+ -Sqrt[3]*c*e*ArcTan[1/Sqrt[3]+2*(c*d-b*e-c*e*x)/(Sqrt[3]*q*(a+b*x+c*x^2)^(1/3))]/q^2 -
+ 3*c*e*Log[d+e*x]/(2*q^2) +
+ 3*c*e*Log[c*d-b*e-c*e*x-q*(a+b*x+c*x^2)^(1/3)]/(2*q^2)] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[2*c*d-b*e] && EqQ[c^2*d^2-b*c*d*e+b^2*e^2-3*a*c*e^2] && PosQ[c*e^2*(2*c*d-b*e)]
+
+
+Int[1/((d_+e_.*x_)*(a_+c_.*x_^2)^(1/3)),x_Symbol] :=
+ With[{q=Rt[6*c^2*e^2/d^2,3]},
+ -Sqrt[3]*c*e*ArcTan[1/Sqrt[3]+2*c*(d-e*x)/(Sqrt[3]*d*q*(a+c*x^2)^(1/3))]/(d^2*q^2) -
+ 3*c*e*Log[d+e*x]/(2*d^2*q^2) +
+ 3*c*e*Log[c*d-c*e*x-d*q*(a+c*x^2)^(1/3)]/(2*d^2*q^2)] /;
+FreeQ[{a,c,d,e},x] && EqQ[c*d^2-3*a*e^2]
+
+
+Int[1/((d_.+e_.*x_)*(a_+b_.*x_+c_.*x_^2)^(1/3)),x_Symbol] :=
+ With[{q=Rt[-3*c*e^2*(2*c*d-b*e),3]},
+ -Sqrt[3]*c*e*ArcTan[1/Sqrt[3]-2*(c*d-b*e-c*e*x)/(Sqrt[3]*q*(a+b*x+c*x^2)^(1/3))]/q^2 -
+ 3*c*e*Log[d+e*x]/(2*q^2) +
+ 3*c*e*Log[c*d-b*e-c*e*x+q*(a+b*x+c*x^2)^(1/3)]/(2*q^2)] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[2*c*d-b*e] && EqQ[c^2*d^2-b*c*d*e+b^2*e^2-3*a*c*e^2] && NegQ[c*e^2*(2*c*d-b*e)]
+
+
+(* Int[1/((d_+e_.*x_)*(a_+c_.*x_^2)^(1/3)),x_Symbol] :=
+ With[{q=Rt[-6*c^2*d*e^2,3]},
+ -Sqrt[3]*c*e*ArcTan[1/Sqrt[3]-2*(c*d-c*e*x)/(Sqrt[3]*q*(a+c*x^2)^(1/3))]/q^2 -
+ 3*c*e*Log[d+e*x]/(2*q^2) +
+ 3*c*e*Log[c*d-c*e*x+q*(a+c*x^2)^(1/3)]/(2*q^2)] /;
+FreeQ[{a,c,d,e},x] && EqQ[c*d^2-3*a*e^2] && NegQ[c^2*d*e^2] *)
+
+
+Int[1/((d_.+e_.*x_)*(a_+b_.*x_+c_.*x_^2)^(1/3)),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (b+q+2*c*x)^(1/3)*(b-q+2*c*x)^(1/3)/(a+b*x+c*x^2)^(1/3)*Int[1/((d+e*x)*(b+q+2*c*x)^(1/3)*(b-q+2*c*x)^(1/3)),x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && EqQ[c^2*d^2-b*c*d*e-2*b^2*e^2+9*a*c*e^2]
+
+
+Int[1/((d_+e_.*x_)*(a_+c_.*x_^2)^(1/4)),x_Symbol] :=
+ d*Int[1/((d^2-e^2*x^2)*(a+c*x^2)^(1/4)),x] - e*Int[x/((d^2-e^2*x^2)*(a+c*x^2)^(1/4)),x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2]
+
+
+Int[1/((d_+e_.*x_)*(a_+c_.*x_^2)^(3/4)),x_Symbol] :=
+ d*Int[1/((d^2-e^2*x^2)*(a+c*x^2)^(3/4)),x] - e*Int[x/((d^2-e^2*x^2)*(a+c*x^2)^(3/4)),x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2)^p_/(d_.+e_.*x_),x_Symbol] :=
+ 1/(-4*c/(b^2-4*a*c))^p*Subst[Int[Simp[1-x^2/(b^2-4*a*c),x]^p/Simp[2*c*d-b*e+e*x,x],x],x,b+2*c*x] /;
+FreeQ[{a,b,c,d,e,p},x] && PositiveQ[4*a-b^2/c] && IntegerQ[4*p]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2)^p_/(d_.+e_.*x_),x_Symbol] :=
+ (a+b*x+c*x^2)^p/(-c*(a+b*x+c*x^2)/(b^2-4*a*c))^p*
+ Int[(-a*c/(b^2-4*a*c)-b*c*x/(b^2-4*a*c)-c^2*x^2/(b^2-4*a*c))^p/(d+e*x),x] /;
+FreeQ[{a,b,c,d,e,p},x] && Not[PositiveQ[4*a-b^2/c]] && IntegerQ[4*p]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ Int[(d+e*x)^m*(Rt[a,2]+Rt[-c,2]*x)^p*(Rt[a,2]-Rt[-c,2]*x)^p,x] /;
+FreeQ[{a,c,d,e,m,p},x] && NeQ[c*d^2+a*e^2] && Not[IntegerQ[p]] && PositiveQ[a] && NegativeQ[c]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ -(1/(d+e*x))^(2*p)*(a+b*x+c*x^2)^p/(e*(e*(b-q+2*c*x)/(2*c*(d+e*x)))^p*(e*(b+q+2*c*x)/(2*c*(d+e*x)))^p)*
+ Subst[Int[x^(-m-2*(p+1))*Simp[1-(d-e*(b-q)/(2*c))*x,x]^p*Simp[1-(d-e*(b+q)/(2*c))*x,x]^p,x],x,1/(d+e*x)]] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] && Not[IntegerQ[p]] &&
+ NegativeIntegerQ[m]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ -(1/(d+e*x))^(2*p)*(a+c*x^2)^p/(e*(-e*(q-c*x)/(c*(d+e*x)))^p*(e*(q+c*x)/(c*(d+e*x)))^p)*
+ Subst[Int[x^(-m-2*(p+1))*Simp[1-(d+e*q/c)*x,x]^p*Simp[1-(d-e*q/c)*x,x]^p,x],x,1/(d+e*x)]] /;
+FreeQ[{a,c,d,e,p},x] && NeQ[c*d^2+a*e^2] && Not[IntegerQ[p]] && NegativeIntegerQ[m]
+
+
+Int[(d_.+e_.*x_)^m_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (a+b*x+c*x^2)^p/(e*(1-(d+e*x)/(d-e*(b-q)/(2*c)))^p*(1-(d+e*x)/(d-e*(b+q)/(2*c)))^p)*
+ Subst[Int[x^m*Simp[1-x/(d-e*(b-q)/(2*c)),x]^p*Simp[1-x/(d-e*(b+q)/(2*c)),x]^p,x],x,d+e*x]] /;
+FreeQ[{a,b,c,d,e,m,p},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2] && NeQ[2*c*d-b*e] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_)^m_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ (a+c*x^2)^p/(e*(1-(d+e*x)/(d+e*q/c))^p*(1-(d+e*x)/(d-e*q/c))^p)*
+ Subst[Int[x^m*Simp[1-x/(d+e*q/c),x]^p*Simp[1-x/(d-e*q/c),x]^p,x],x,d+e*x]] /;
+FreeQ[{a,c,d,e,m,p},x] && NeQ[c*d^2+a*e^2] && Not[IntegerQ[p]]
+
+
+Int[(d_.+e_.*u_)^m_.*(a_+b_.*u_+c_.*u_^2)^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(d+e*x)^m*(a+b*x+c*x^2)^p,x],x,u] /;
+FreeQ[{a,b,c,d,e,m,p},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(d_.+e_.*u_)^m_.*(a_+c_.*u_^2)^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(d+e*x)^m*(a+c*x^2)^p,x],x,u] /;
+FreeQ[{a,c,d,e,m,p},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+(* IntQuadraticQ[a,b,c,d,e,m,p,x] returns True iff (d+e*x)^m*(a+b*x+c*x^2)^p is integrable wrt x in terms of non-Appell functions. *)
+IntQuadraticQ[a_,b_,c_,d_,e_,m_,p_,x_] :=
+ IntegerQ[p] || PositiveIntegerQ[m] || IntegersQ[2*m,2*p] || IntegersQ[m,4*p] ||
+ IntegersQ[m,p+1/3] && (EqQ[c^2*d^2-b*c*d*e+b^2*e^2-3*a*c*e^2] || EqQ[c^2*d^2-b*c*d*e-2*b^2*e^2+9*a*c*e^2])
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.1.3 (d+e x)^m (f+g x) (a+b x+c x^2)^p*)
+
+
+Int[x_^n_.*(f_+g_.*x_)*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ f*Int[x^n*(a+c*x^2)^p,x] + g*Int[x^(n+1)*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,f,g,p},x] && IntegerQ[n] && Not[IntegerQ[2*p]]
+
+
+Int[(d_.+e_.*x_)^m_.*(f_+g_.*x_)*(a_+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ -f*g*(d+e*x)^(m+1)*(a+b*x+c*x^2)^(p+1)/(b*(p+1)*(e*f-d*g)) /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && EqQ[b^2-4*a*c,0] && EqQ[m+2*p+3,0] && EqQ[2*c*f-b*g,0]
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (2*c*f-b*g)/(2*c*d-b*e)*Int[(d+e*x)^(m+1)*(a+b*x+c*x^2)^p,x] -
+ (e*f-d*g)/(2*c*d-b*e)*Int[(d+e*x)^m*(b+2*c*x)*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && EqQ[b^2-4*a*c,0] && EqQ[m+2*p+3,0] && NeQ[2*c*f-b*g,0] && NeQ[2*c*d-b*e,0]
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ g*(d+e*x)^m*(a+b*x+c*x^2)^(p+1)/(2*c*(p+1)) -
+ e*g*m/(2*c*(p+1))*Int[(d+e*x)^(m-1)*(a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e,f,g,m},x] && EqQ[2*c*f-b*g,0] && LtQ[p,-1] && GtQ[m,0]
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/(c^IntPart[p]*(b/2+c*x)^(2*FracPart[p]))*Int[(d+e*x)^m*(f+g*x)*(b/2+c*x)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,f,g,m},x] && EqQ[b^2-4*a*c,0]
+
+
+Int[(d_+e_.*x_)^m_.*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(d+e*x)^(m+p)*(f+g*x)*(a/d+c/e*x)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && IntegerQ[p]
+
+
+Int[(d_+e_.*x_)^m_.*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(d+e*x)^(m+p)*(f+g*x)*(a/d+c/e*x)^p,x] /;
+FreeQ[{a,c,d,e,f,g,m},x] && EqQ[c*d^2+a*e^2,0] &&
+ (IntegerQ[p] || PositiveQ[a] && PositiveQ[d] && EqQ[m+p,0])
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_.*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ d^m*e^m*Int[(a*e+c*d*x)^(-m)*(f+g*x)^n*(a+b*x+c*x^2)^(m+p),x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && EqQ[c*d^2-b*d*e+a*e^2,0] && NegativeIntegerQ[m] && Not[IntegerQ[2*p]]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_.*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ d^m*e^m*Int[(a*e+c*d*x)^(-m)*(f+g*x)^n*(a+c*x^2)^(m+p),x] /;
+FreeQ[{a,c,d,e,f,g,n,p},x] && EqQ[c*d^2+a*e^2,0] && NegativeIntegerQ[m] && Not[IntegerQ[2*p]]
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ g*(d+e*x)^m*(a+b*x+c*x^2)^(p+1)/(c*(m+2*p+2)) /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] &&
+ EqQ[m*(g*(c*d-b*e)+c*e*f)+e*(p+1)*(2*c*f-b*g),0]
+
+
+Int[(d_+e_.*x_)^m_.*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ g*(d+e*x)^m*(a+c*x^2)^(p+1)/(c*(m+2*p+2)) /;
+FreeQ[{a,c,d,e,f,g,m,p},x] && EqQ[c*d^2+a*e^2,0] && EqQ[m*(d*g+e*f)+2*e*f*(p+1),0]
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (g*(c*d-b*e)+c*e*f)*(d+e*x)^m*(a+b*x+c*x^2)^(p+1)/(c*(p+1)*(2*c*d-b*e)) -
+ e*(m*(g*(c*d-b*e)+c*e*f)+e*(p+1)*(2*c*f-b*g))/(c*(p+1)*(2*c*d-b*e))*
+ Int[(d+e*x)^(m-1)*(a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && RationalQ[m,p] && p<-1 && m>0
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (d*g+e*f)*(d+e*x)^m*(a+c*x^2)^(p+1)/(2*c*d*(p+1)) -
+ e*(m*(d*g+e*f)+2*e*f*(p+1))/(2*c*d*(p+1))*Int[(d+e*x)^(m-1)*(a+c*x^2)^(p+1),x] /;
+FreeQ[{a,c,d,e,f,g},x] && EqQ[c*d^2+a*e^2,0] && RationalQ[m,p] && p<-1 && m>0
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (g*(c*d-b*e)+c*e*f)*(d+e*x)^m*(a+b*x+c*x^2)^(p+1)/(c*(p+1)*(2*c*d-b*e)) -
+ e*(m*(g*(c*d-b*e)+c*e*f)+e*(p+1)*(2*c*f-b*g))/(c*(p+1)*(2*c*d-b*e))*
+ Int[(d+e*x)^Simplify[m-1]*(a+b*x+c*x^2)^Simplify[p+1],x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] &&
+ SumSimplerQ[p,1] && SumSimplerQ[m,-1] && NeQ[p+1]
+
+
+Int[(d_+e_.*x_)^m_.*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (d*g+e*f)*(d+e*x)^m*(a+c*x^2)^(p+1)/(2*c*d*(p+1)) -
+ e*(m*(d*g+e*f)+2*e*f*(p+1))/(2*c*d*(p+1))*Int[(d+e*x)^Simplify[m-1]*(a+c*x^2)^Simplify[p+1],x] /;
+FreeQ[{a,c,d,e,f,g,m,p},x] && EqQ[c*d^2+a*e^2,0] && SumSimplerQ[p,1] && SumSimplerQ[m,-1] && NeQ[p+1]
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (d*g-e*f)*(d+e*x)^m*(a+b*x+c*x^2)^(p+1)/((2*c*d-b*e)*(m+p+1)) +
+ (m*(g*(c*d-b*e)+c*e*f)+e*(p+1)*(2*c*f-b*g))/(e*(2*c*d-b*e)*(m+p+1))*
+ Int[(d+e*x)^(m+1)*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] &&
+ (RationalQ[m] && m<-1 && Not[PositiveIntegerQ[m+p+1]] || RationalQ[m,p] && m<0 && p<-1 || EqQ[m+2*p+2]) && NeQ[m+p+1]
+
+
+Int[(d_+e_.*x_)^m_.*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (d*g-e*f)*(d+e*x)^m*(a+c*x^2)^(p+1)/(2*c*d*(m+p+1)) +
+ (m*(g*c*d+c*e*f)+2*e*c*f*(p+1))/(e*(2*c*d)*(m+p+1))*
+ Int[(d+e*x)^(m+1)*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,f,g,m,p},x] && EqQ[c*d^2+a*e^2,0] &&
+ (RationalQ[m] && m<-1 && Not[PositiveIntegerQ[m+p+1]] || RationalQ[m,p] && m<0 && p<-1 || EqQ[m+2*p+2]) && NeQ[m+p+1]
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ g*(d+e*x)^m*(a+b*x+c*x^2)^(p+1)/(c*(m+2*p+2)) +
+ (m*(g*(c*d-b*e)+c*e*f)+e*(p+1)*(2*c*f-b*g))/(c*e*(m+2*p+2))*Int[(d+e*x)^m*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && NeQ[m+2*p+2]
+
+
+Int[(d_+e_.*x_)^m_.*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ g*(d+e*x)^m*(a+c*x^2)^(p+1)/(c*(m+2*p+2)) +
+ (m*(d*g+e*f)+2*e*f*(p+1))/(e*(m+2*p+2))*Int[(d+e*x)^m*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,f,g,m,p},x] && EqQ[c*d^2+a*e^2,0] && NeQ[m+2*p+2]
+
+
+Int[x_^2*(f_+g_.*x_)*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ x^2*(a*g-c*f*x)*(a+c*x^2)^(p+1)/(2*a*c*(p+1)) -
+ 1/(2*a*c*(p+1))*Int[x*Simp[2*a*g-c*f*(2*p+5)*x,x]*(a+c*x^2)^(p+1),x] /;
+FreeQ[{a,c,f,g},x] && EqQ[a*g^2+f^2*c] && RationalQ[p] && p<-2
+
+
+Int[x_^2*(f_+g_.*x_)*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ 1/c*Int[(f+g*x)*(a+c*x^2)^(p+1),x] - f^2/c*Int[(a+c*x^2)^(p+1)/(f-g*x),x] /;
+FreeQ[{a,c,f,g,p},x] && EqQ[a*g^2+f^2*c]
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(f+g*x)*(a+b*x+c*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && IGtQ[p,0]
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(f+g*x)*(a+c*x^2)^p,x],x] /;
+FreeQ[{a,c,d,e,f,g,m},x] && NeQ[c*d^2+a*e^2,0] && IGtQ[p,0]
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)/(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(f+g*x)/(a+b*x+c*x^2),x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && IntegerQ[m]
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)/(a_+c_.*x_^2),x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(f+g*x)/(a+c*x^2),x],x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2,0] && IntegerQ[m]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ -(e*f-d*g)*(d+e*x)^(m+1)*(a+b*x+c*x^2)^(p+1)/(2*(p+1)*(c*d^2-b*d*e+a*e^2)) /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] &&
+ EqQ[Simplify[m+2*p+3]] && EqQ[b*(e*f+d*g)-2*(c*d*f+a*e*g)]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ -(e*f-d*g)*(d+e*x)^(m+1)*(a+c*x^2)^(p+1)/(2*(p+1)*(c*d^2+a*e^2)) /;
+FreeQ[{a,c,d,e,f,g,m,p},x] && NeQ[c*d^2+a*e^2,0] && EqQ[Simplify[m+2*p+3]] && EqQ[c*d*f+a*e*g]
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^m*(a+b*x+c*x^2)^(p+1)*(b*f-2*a*g+(2*c*f-b*g)*x)/((p+1)*(b^2-4*a*c)) -
+ m*(b*(e*f+d*g)-2*(c*d*f+a*e*g))/((p+1)*(b^2-4*a*c))*Int[(d+e*x)^(m-1)*(a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] &&
+ EqQ[Simplify[m+2*p+3]] && RationalQ[p] && p<-1 && Not[m==1 && (EqQ[d] || EqQ[2*c*d-b*e])]
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^m*(a+c*x^2)^(p+1)*(a*g-c*f*x)/(2*a*c*(p+1)) -
+ m*(c*d*f+a*e*g)/(2*a*c*(p+1))*Int[(d+e*x)^(m-1)*(a+c*x^2)^(p+1),x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2,0] &&
+ EqQ[Simplify[m+2*p+3]] && RationalQ[p] && p<-1 && Not[m==1 && EqQ[d]]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ -(e*f-d*g)*(d+e*x)^(m+1)*(a+b*x+c*x^2)^(p+1)/(2*(p+1)*(c*d^2-b*d*e+a*e^2)) -
+ (b*(e*f+d*g)-2*(c*d*f+a*e*g))/(2*(c*d^2-b*d*e+a*e^2))*Int[(d+e*x)^(m+1)*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] &&
+ EqQ[Simplify[m+2*p+3]]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ -(e*f-d*g)*(d+e*x)^(m+1)*(a+c*x^2)^(p+1)/(2*(p+1)*(c*d^2+a*e^2)) +
+ (c*d*f+a*e*g)/(c*d^2+a*e^2)*Int[(d+e*x)^(m+1)*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,f,g,m,p},x] && NeQ[c*d^2+a*e^2,0] && EqQ[Simplify[m+2*p+3]]
+
+
+Int[(d_.+e_.*x_)*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ -(b*e*g*(p+2)-c*(e*f+d*g)*(2*p+3)-2*c*e*g*(p+1)*x)*(a+b*x+c*x^2)^(p+1)/(2*c^2*(p+1)*(2*p+3)) /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] &&
+ EqQ[b^2*e*g*(p+2)-2*a*c*e*g+c*(2*c*d*f-b*(e*f+d*g))*(2*p+3)]
+
+
+Int[(d_.+e_.*x_)*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ ((e*f+d*g)*(2*p+3)+2*e*g*(p+1)*x)*(a+c*x^2)^(p+1)/(2*c*(p+1)*(2*p+3)) /;
+FreeQ[{a,c,d,e,f,g,p},x] && NeQ[c*d^2+a*e^2,0] && EqQ[a*e*g-c*d*f*(2*p+3)]
+
+
+Int[(d_.+e_.*x_)*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ -(2*a*c*(e*f+d*g)-b*(c*d*f+a*e*g)-(b^2*e*g-b*c*(e*f+d*g)+2*c*(c*d*f-a*e*g))*x)*(a+b*x+c*x^2)^(p+1)/(c*(p+1)*(b^2-4*a*c)) -
+ (b^2*e*g*(p+2)-2*a*c*e*g+c*(2*c*d*f-b*(e*f+d*g))*(2*p+3))/(c*(p+1)*(b^2-4*a*c))*Int[(a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && RationalQ[p] && p<-1
+
+
+Int[(d_.+e_.*x_)*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ -(c*d*f*x-a*(d*g+e*(f+g*x)))*(a+c*x^2)^(p+1)/(2*a*c*(p+1)) -
+ (a*e*g-c*d*f*(2*p+3))/(2*a*c*(p+1))*Int[(a+c*x^2)^(p+1),x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2,0] && RationalQ[p] && p<-1
+
+
+Int[(d_.+e_.*x_)*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ -(b*e*g*(p+2)-c*(e*f+d*g)*(2*p+3)-2*c*e*g*(p+1)*x)*(a+b*x+c*x^2)^(p+1)/(2*c^2*(p+1)*(2*p+3)) +
+ (b^2*e*g*(p+2)-2*a*c*e*g+c*(2*c*d*f-b*(e*f+d*g))*(2*p+3))/(2*c^2*(2*p+3))*Int[(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && Not[RationalQ[p] && p<=-1]
+
+
+Int[(d_.+e_.*x_)*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ ((e*f+d*g)*(2*p+3)+2*e*g*(p+1)*x)*(a+c*x^2)^(p+1)/(2*c*(p+1)*(2*p+3)) -
+ (a*e*g-c*d*f*(2*p+3))/(c*(2*p+3))*Int[(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,f,g,p},x] && NeQ[c*d^2+a*e^2,0] && Not[RationalQ[p] && p<=-1]
+
+
+Int[(e_.*x_)^m_*(f_+g_.*x_)*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ f*Int[(e*x)^m*(a+c*x^2)^p,x] + g/e*Int[(e*x)^(m+1)*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,e,f,g,p},x] && Not[RationalQ[m]] && Not[PositiveIntegerQ[p]]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^FracPart[p]*(a+b*x+c*x^2)^FracPart[p]/(a*d+c*e*x^3)^FracPart[p]*Int[(f+g*x)*(a*d+c*e*x^3)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && EqQ[m-p] && EqQ[b*d+a*e] && EqQ[c*d+b*e]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ -(d+e*x)^(m+1)*(a+b*x+c*x^2)^p/(e^2*(m+1)*(m+2)*(c*d^2-b*d*e+a*e^2))*
+ ((d*g-e*f*(m+2))*(c*d^2-b*d*e+a*e^2)-d*p*(2*c*d-b*e)*(e*f-d*g)-e*(g*(m+1)*(c*d^2-b*d*e+a*e^2)+p*(2*c*d-b*e)*(e*f-d*g))*x) -
+ p/(e^2*(m+1)*(m+2)*(c*d^2-b*d*e+a*e^2))*Int[(d+e*x)^(m+2)*(a+b*x+c*x^2)^(p-1)*
+ Simp[2*a*c*e*(e*f-d*g)*(m+2)+b^2*e*(d*g*(p+1)-e*f*(m+p+2))+b*(a*e^2*g*(m+1)-c*d*(d*g*(2*p+1)-e*f*(m+2*p+2)))-
+ c*(2*c*d*(d*g*(2*p+1)-e*f*(m+2*p+2))-e*(2*a*e*g*(m+1)-b*(d*g*(m-2*p)+e*f*(m+2*p+2))))*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] &&
+ RationalQ[m,p] && p>0 && m<-2 && m+2*p<0 && Not[NegativeIntegerQ[m+2*p+3]]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ -(d+e*x)^(m+1)*(a+c*x^2)^p/(e^2*(m+1)*(m+2)*(c*d^2+a*e^2))*
+ ((d*g-e*f*(m+2))*(c*d^2+a*e^2)-2*c*d^2*p*(e*f-d*g)-e*(g*(m+1)*(c*d^2+a*e^2)+2*c*d*p*(e*f-d*g))*x) -
+ p/(e^2*(m+1)*(m+2)*(c*d^2+a*e^2))*Int[(d+e*x)^(m+2)*(a+c*x^2)^(p-1)*
+ Simp[2*a*c*e*(e*f-d*g)*(m+2)-c*(2*c*d*(d*g*(2*p+1)-e*f*(m+2*p+2))-2*a*e^2*g*(m+1))*x,x],x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2,0] &&
+ RationalQ[m,p] && p>0 && m<-2 && m+2*p<0 && Not[NegativeIntegerQ[m+2*p+3]]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ (d+e*x)^(m+1)*(e*f*(m+2*p+2)-d*g*(2*p+1)+e*g*(m+1)*x)*(a+b*x+c*x^2)^p/(e^2*(m+1)*(m+2*p+2)) +
+ p/(e^2*(m+1)*(m+2*p+2))*Int[(d+e*x)^(m+1)*(a+b*x+c*x^2)^(p-1)*
+ Simp[g*(b*d+2*a*e+2*a*e*m+2*b*d*p)-f*b*e*(m+2*p+2)+(g*(2*c*d+b*e+b*e*m+4*c*d*p)-2*c*e*f*(m+2*p+2))*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && RationalQ[p] && p>0 &&
+ (RationalQ[m] && m<-1 || p==1 || IntegerQ[p] && Not[RationalQ[m]]) && NeQ[m+1] && Not[NegativeIntegerQ[m+2*p+1]] &&
+ (IntegerQ[m] || IntegerQ[p] || IntegersQ[2*m,2*p])
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ (d+e*x)^(m+1)*(e*f*(m+2*p+2)-d*g*(2*p+1)+e*g*(m+1)*x)*(a+c*x^2)^p/(e^2*(m+1)*(m+2*p+2)) +
+ p/(e^2*(m+1)*(m+2*p+2))*Int[(d+e*x)^(m+1)*(a+c*x^2)^(p-1)*
+ Simp[g*(2*a*e+2*a*e*m)+(g*(2*c*d+4*c*d*p)-2*c*e*f*(m+2*p+2))*x,x],x] /;
+FreeQ[{a,c,d,e,f,g,m},x] && NeQ[c*d^2+a*e^2,0] && RationalQ[p] && p>0 &&
+ (RationalQ[m] && m<-1 || p==1 || IntegerQ[p] && Not[RationalQ[m]]) && NeQ[m+1] && Not[NegativeIntegerQ[m+2*p+1]] &&
+ (IntegerQ[m] || IntegerQ[p] || IntegersQ[2*m,2*p])
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ (d+e*x)^(m+1)*(c*e*f*(m+2*p+2)-g*(c*d+2*c*d*p-b*e*p)+g*c*e*(m+2*p+1)*x)*(a+b*x+c*x^2)^p/
+ (c*e^2*(m+2*p+1)*(m+2*p+2)) -
+ p/(c*e^2*(m+2*p+1)*(m+2*p+2))*Int[(d+e*x)^m*(a+b*x+c*x^2)^(p-1)*
+ Simp[c*e*f*(b*d-2*a*e)*(m+2*p+2)+g*(a*e*(b*e-2*c*d*m+b*e*m)+b*d*(b*e*p-c*d-2*c*d*p))+
+ (c*e*f*(2*c*d-b*e)*(m+2*p+2)+g*(b^2*e^2*(p+m+1)-2*c^2*d^2*(1+2*p)-c*e*(b*d*(m-2*p)+2*a*e*(m+2*p+1))))*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] &&
+ RationalQ[p] && p>0 && (IntegerQ[p] || Not[RationalQ[m]] || -1<=m<0) && Not[NegativeIntegerQ[m+2*p]] &&
+ (IntegerQ[m] || IntegerQ[p] || IntegersQ[2*m,2*p])
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ (d+e*x)^(m+1)*(c*e*f*(m+2*p+2)-g*c*d*(2*p+1)+g*c*e*(m+2*p+1)*x)*(a+c*x^2)^p/
+ (c*e^2*(m+2*p+1)*(m+2*p+2)) +
+ 2*p/(c*e^2*(m+2*p+1)*(m+2*p+2))*Int[(d+e*x)^m*(a+c*x^2)^(p-1)*
+ Simp[f*a*c*e^2*(m+2*p+2)+a*c*d*e*g*m-(c^2*f*d*e*(m+2*p+2)-g*(c^2*d^2*(2*p+1)+a*c*e^2*(m+2*p+1)))*x,x],x] /;
+FreeQ[{a,c,d,e,f,g,m},x] && NeQ[c*d^2+a*e^2,0] &&
+ RationalQ[p] && p>0 && (IntegerQ[p] || Not[RationalQ[m]] || -1<=m<0) && Not[NegativeIntegerQ[m+2*p]] &&
+ (IntegerQ[m] || IntegerQ[p] || IntegersQ[2*m,2*p])
+
+
+Int[(d_+e_.*x_)^m_.*(f_+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ Int[(a+b*x+c*x^2)^p*ExpandIntegrand[(d+e*x)^m*(f+g*x),x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && ILtQ[p,-1] && IGtQ[m,0] && RationalQ[a,b,c,d,e,f,g]
+
+
+Int[(d_+e_.*x_)^m_.*(f_+g_.*x_)*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ Int[(a+c*x^2)^p*ExpandIntegrand[(d+e*x)^m*(f+g*x),x],x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2,0] && ILtQ[p,-1] && IGtQ[m,0] && RationalQ[a,c,d,e,f,g]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ -(d+e*x)^(m-1)*(2*a*c*(e*f+d*g)-b*(c*d*f+a*e*g)-(2*c^2*d*f+b^2*e*g-c*(b*e*f+b*d*g+2*a*e*g))*x)*
+ (a+b*x+c*x^2)^(p+1)/(c*(p+1)*(b^2-4*a*c)) -
+ 1/(c*(p+1)*(b^2-4*a*c))*Int[(d+e*x)^(m-2)*(a+b*x+c*x^2)^(p+1)*
+ Simp[2*c^2*d^2*f*(2*p+3)+b*e*g*(a*e*(m-1)+b*d*(p+2))-c*(2*a*e*(e*f*(m-1)+d*g*m)+b*d*(d*g*(2*p+3)-e*f*(m-2*p-4))) +
+ e*(b^2*e*g*(m+p+1)+2*c^2*d*f*(m+2*p+2)-c*(2*a*e*g*m+b*(e*f+d*g)*(m+2*p+2)))*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && LtQ[p,-1] && GtQ[m,1] &&
+ (EqQ[m,2] && EqQ[p,-3] && RationalQ[a,b,c,d,e,f,g] || Not[ILtQ[m+2*p+3,0]])
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ (d+e*x)^(m-1)*(2*a*(e*f+d*g)-(2*c*d*f-2*a*e*g)*x)*(a+c*x^2)^(p+1)/(4*a*c*(p+1)) -
+ 1/(4*a*c*(p+1))*Int[(d+e*x)^(m-2)*(a+c*x^2)^(p+1)*
+ Simp[2*a*e*(e*f*(m-1)+d*g*m)-2*c*d^2*f*(2*p+3)+e*(2*a*e*g*m-2*c*d*f*(m+2*p+2))*x,x],x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2,0] && LtQ[p,-1] && GtQ[m,1] &&
+ (EqQ[m,2] && EqQ[p,-3] && RationalQ[a,c,d,e,f,g] || Not[ILtQ[m+2*p+3,0]])
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^m*(a+b*x+c*x^2)^(p+1)*(f*b-2*a*g+(2*c*f-b*g)*x)/((p+1)*(b^2-4*a*c)) +
+ 1/((p+1)*(b^2-4*a*c))*Int[(d+e*x)^(m-1)*(a+b*x+c*x^2)^(p+1)*
+ Simp[g*(2*a*e*m+b*d*(2*p+3))-f*(b*e*m+2*c*d*(2*p+3))-e*(2*c*f-b*g)*(m+2*p+3)*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] &&
+ RationalQ[m,p] && p<-1 && m>0 && Not[m==1 && SimplerQ[d+e*x,f+g*x]] && (IntegerQ[m] || IntegerQ[p] || IntegersQ[2*m,2*p])
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^m*(a+c*x^2)^(p+1)*(a*g-c*f*x)/(2*a*c*(p+1)) -
+ 1/(2*a*c*(p+1))*Int[(d+e*x)^(m-1)*(a+c*x^2)^(p+1)*Simp[a*e*g*m-c*d*f*(2*p+3)-c*e*f*(m+2*p+3)*x,x],x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2,0] &&
+ RationalQ[m,p] && p<-1 && m>0 && Not[m==1 && SimplerQ[d+e*x,f+g*x]] && (IntegerQ[m] || IntegerQ[p] || IntegersQ[2*m,2*p])
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^(m+1)*(f*(b*c*d-b^2*e+2*a*c*e)-a*g*(2*c*d-b*e)+c*(f*(2*c*d-b*e)-g*(b*d-2*a*e))*x)*(a+b*x+c*x^2)^(p+1)/
+ ((p+1)*(b^2-4*a*c)*(c*d^2-b*d*e+a*e^2)) +
+ 1/((p+1)*(b^2-4*a*c)*(c*d^2-b*d*e+a*e^2))*Int[(d+e*x)^m*(a+b*x+c*x^2)^(p+1)*
+ Simp[f*(b*c*d*e*(2*p-m+2)+b^2*e^2*(p+m+2)-2*c^2*d^2*(2*p+3)-2*a*c*e^2*(m+2*p+3))-
+ g*(a*e*(b*e-2*c*d*m+b*e*m)-b*d*(3*c*d-b*e+2*c*d*p-b*e*p))+
+ c*e*(g*(b*d-2*a*e)-f*(2*c*d-b*e))*(m+2*p+4)*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] &&
+ RationalQ[p] && p<-1 && (IntegerQ[m] || IntegerQ[p] || IntegersQ[2*m,2*p])
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ -(d+e*x)^(m+1)*(f*a*c*e-a*g*c*d+c*(c*d*f+a*e*g)*x)*(a+c*x^2)^(p+1)/(2*a*c*(p+1)*(c*d^2+a*e^2)) +
+ 1/(2*a*c*(p+1)*(c*d^2+a*e^2))*Int[(d+e*x)^m*(a+c*x^2)^(p+1)*
+ Simp[f*(c^2*d^2*(2*p+3)+a*c*e^2*(m+2*p+3))-a*c*d*e*g*m+c*e*(c*d*f+a*e*g)*(m+2*p+4)*x,x],x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2,0] &&
+ RationalQ[p] && p<-1 && (IntegerQ[m] || IntegerQ[p] || IntegersQ[2*m,2*p])
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)/(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ g*(d+e*x)^m/(c*m) +
+ 1/c*Int[(d+e*x)^(m-1)*Simp[c*d*f-a*e*g+(g*c*d-b*e*g+c*e*f)*x,x]/(a+b*x+c*x^2),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && FractionQ[m] && m>0
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)/(a_+c_.*x_^2),x_Symbol] :=
+ g*(d+e*x)^m/(c*m) +
+ 1/c*Int[(d+e*x)^(m-1)*Simp[c*d*f-a*e*g+(g*c*d+c*e*f)*x,x]/(a+c*x^2),x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2,0] && FractionQ[m] && m>0
+
+
+Int[(f_.+g_.*x_)/(Sqrt[d_.+e_.*x_]*(a_.+b_.*x_+c_.*x_^2)),x_Symbol] :=
+ 2*Subst[Int[(e*f-d*g+g*x^2)/(c*d^2-b*d*e+a*e^2-(2*c*d-b*e)*x^2+c*x^4),x],x,Sqrt[d+e*x]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0]
+
+
+Int[(f_.+g_.*x_)/(Sqrt[d_.+e_.*x_]*(a_+c_.*x_^2)),x_Symbol] :=
+ 2*Subst[Int[(e*f-d*g+g*x^2)/(c*d^2+a*e^2-2*c*d*x^2+c*x^4),x],x,Sqrt[d+e*x]] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2,0]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)/(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ (e*f-d*g)*(d+e*x)^(m+1)/((m+1)*(c*d^2-b*d*e+a*e^2)) +
+ 1/(c*d^2-b*d*e+a*e^2)*Int[(d+e*x)^(m+1)*Simp[c*d*f-f*b*e+a*e*g-c*(e*f-d*g)*x,x]/(a+b*x+c*x^2),x] /;
+FreeQ[{a,b,c,d,e,f,g,m},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && FractionQ[m] && m<-1
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)/(a_+c_.*x_^2),x_Symbol] :=
+ (e*f-d*g)*(d+e*x)^(m+1)/((m+1)*(c*d^2+a*e^2)) +
+ 1/(c*d^2+a*e^2)*Int[(d+e*x)^(m+1)*Simp[c*d*f+a*e*g-c*(e*f-d*g)*x,x]/(a+c*x^2),x] /;
+FreeQ[{a,c,d,e,f,g,m},x] && NeQ[c*d^2+a*e^2,0] && FractionQ[m] && m<-1
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)/(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m,(f+g*x)/(a+b*x+c*x^2),x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && Not[RationalQ[m]]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)/(a_+c_.*x_^2),x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m,(f+g*x)/(a+c*x^2),x],x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2,0] && Not[RationalQ[m]]
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ g*(d+e*x)^m*(a+b*x+c*x^2)^(p+1)/(c*(m+2*p+2)) +
+ 1/(c*(m+2*p+2))*Int[(d+e*x)^(m-1)*(a+b*x+c*x^2)^p*
+ Simp[m*(c*d*f-a*e*g)+d*(2*c*f-b*g)*(p+1)+(m*(c*e*f+c*d*g-b*e*g)+e*(p+1)*(2*c*f-b*g))*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && RationalQ[m] && m>0 &&
+ NeQ[m+2*p+2] && Not[m==1 && SimplerQ[f+g*x,d+e*x]] && (IntegerQ[m] || IntegerQ[p] || IntegersQ[2*m,2*p])
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ g*(d+e*x)^m*(a+c*x^2)^(p+1)/(c*(m+2*p+2)) +
+ 1/(c*(m+2*p+2))*Int[(d+e*x)^(m-1)*(a+c*x^2)^p*
+ Simp[c*d*f*(m+2*p+2)-a*e*g*m+c*(e*f*(m+2*p+2)+d*g*m)*x,x],x] /;
+FreeQ[{a,c,d,e,f,g,p},x] && NeQ[c*d^2+a*e^2,0] && RationalQ[m] && m>0 &&
+ NeQ[m+2*p+2] && Not[m==1 && SimplerQ[f+g*x,d+e*x]] && (IntegerQ[m] || IntegerQ[p] || IntegersQ[2*m,2*p])
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ (e*f-d*g)*(d+e*x)^(m+1)*(a+b*x+c*x^2)^(p+1)/((m+1)*(c*d^2-b*d*e+a*e^2)) +
+ 1/((m+1)*(c*d^2-b*d*e+a*e^2))*Int[(d+e*x)^(m+1)*(a+b*x+c*x^2)^p*
+ Simp[(c*d*f-f*b*e+a*e*g)*(m+1)+b*(d*g-e*f)*(p+1)-c*(e*f-d*g)*(m+2*p+3)*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] &&
+ RationalQ[m] && m<-1 && (IntegerQ[m] || IntegerQ[p] || IntegersQ[2*m,2*p])
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ (e*f-d*g)*(d+e*x)^(m+1)*(a+c*x^2)^(p+1)/((m+1)*(c*d^2+a*e^2)) +
+ 1/((m+1)*(c*d^2+a*e^2))*Int[(d+e*x)^(m+1)*(a+c*x^2)^p*Simp[(c*d*f+a*e*g)*(m+1)-c*(e*f-d*g)*(m+2*p+3)*x,x],x] /;
+FreeQ[{a,c,d,e,f,g,p},x] && NeQ[c*d^2+a*e^2,0] &&
+ RationalQ[m] && m<-1 && (IntegerQ[m] || IntegerQ[p] || IntegersQ[2*m,2*p])
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ (e*f-d*g)*(d+e*x)^(m+1)*(a+b*x+c*x^2)^(p+1)/((m+1)*(c*d^2-b*d*e+a*e^2)) +
+ 1/((m+1)*(c*d^2-b*d*e+a*e^2))*Int[(d+e*x)^(m+1)*(a+b*x+c*x^2)^p*
+ Simp[(c*d*f-f*b*e+a*e*g)*(m+1)+b*(d*g-e*f)*(p+1)-c*(e*f-d*g)*(m+2*p+3)*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] &&
+ NegativeIntegerQ[Simplify[m+2*p+3]] && NeQ[m+1]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ (e*f-d*g)*(d+e*x)^(m+1)*(a+c*x^2)^(p+1)/((m+1)*(c*d^2+a*e^2)) +
+ 1/((m+1)*(c*d^2+a*e^2))*Int[(d+e*x)^(m+1)*(a+c*x^2)^p*Simp[(c*d*f+a*e*g)*(m+1)-c*(e*f-d*g)*(m+2*p+3)*x,x],x] /;
+FreeQ[{a,c,d,e,f,g,m,p},x] && NeQ[c*d^2+a*e^2,0] && NegativeIntegerQ[m+2*p+3] && NeQ[m+1]
+
+
+Int[(f_+g_.*x_)/((d_.+e_.*x_)*Sqrt[a_.+b_.*x_+c_.*x_^2]),x_Symbol] :=
+ 4*f*(a-d)/(b*d-a*e)*Subst[Int[1/(4*(a-d)-x^2),x],x,(2*(a-d)+(b-e)*x)/Sqrt[a+b*x+c*x^2]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[4*c*(a-d)-(b-e)^2] && EqQ[e*f*(b-e)-2*g*(b*d-a*e)] && NeQ[b*d-a*e]
+
+
+Int[(f_+g_.*x_)/(Sqrt[x_]*Sqrt[a_+b_.*x_+c_.*x_^2]),x_Symbol] :=
+ 2*Subst[Int[(f+g*x^2)/Sqrt[a+b*x^2+c*x^4],x],x,Sqrt[x]] /;
+FreeQ[{a,b,c,f,g},x] && NeQ[b^2-4*a*c,0]
+
+
+Int[(f_+g_.*x_)/(Sqrt[x_]*Sqrt[a_+c_.*x_^2]),x_Symbol] :=
+ 2*Subst[Int[(f+g*x^2)/Sqrt[a+c*x^4],x],x,Sqrt[x]] /;
+FreeQ[{a,c,f,g},x]
+
+
+Int[(f_+g_.*x_)/(Sqrt[e_*x_]*Sqrt[a_+b_.*x_+c_.*x_^2]),x_Symbol] :=
+ Sqrt[x]/Sqrt[e*x]*Int[(f+g*x)/(Sqrt[x]*Sqrt[a+b*x+c*x^2]),x] /;
+FreeQ[{a,b,c,e,f,g},x] && NeQ[b^2-4*a*c,0]
+
+
+Int[(f_+g_.*x_)/(Sqrt[e_*x_]*Sqrt[a_+c_.*x_^2]),x_Symbol] :=
+ Sqrt[x]/Sqrt[e*x]*Int[(f+g*x)/(Sqrt[x]*Sqrt[a+c*x^2]),x] /;
+FreeQ[{a,c,e,f,g},x]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ g/e*Int[(d+e*x)^(m+1)*(a+b*x+c*x^2)^p,x] + (e*f-d*g)/e*Int[(d+e*x)^m*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ g/e*Int[(d+e*x)^(m+1)*(a+c*x^2)^p,x] + (e*f-d*g)/e*Int[(d+e*x)^m*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,f,g,m,p},x] && NeQ[c*d^2+a*e^2,0]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.1.4 (d+e x)^m (f+g x)^n (a+b x+c x^2)^p*)
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/(c^IntPart[p]*(b/2+c*x)^(2*FracPart[p]))*Int[(d+e*x)^m*(f+g*x)^n*(b/2+c*x)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n},x] && NeQ[e*f-d*g] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(d+e*x)^(m+p)*(f+g*x)^n*(a/d+c/e*x)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] && IntegerQ[p]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(d+e*x)^(m+p)*(f+g*x)^n*(a/d+c/e*x)^p,x] /;
+FreeQ[{a,c,d,e,f,g,m,n},x] && NeQ[e*f-d*g] && EqQ[c*d^2+a*e^2] &&
+ (IntegerQ[p] || PositiveQ[a] && PositiveQ[d] && EqQ[m+p])
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ d^m*e^m*Int[(a*e+c*d*x)^(-m)*(f+g*x)^n*(a+b*x+c*x^2)^(m+p),x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && EqQ[c*d^2-b*d*e+a*e^2] && NegativeIntegerQ[m] && Not[IntegerQ[2*p]]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ d^m*e^m*Int[(a*e+c*d*x)^(-m)*(f+g*x)^n*(a+c*x^2)^(m+p),x] /;
+FreeQ[{a,c,d,e,f,g,n,p},x] && EqQ[c*d^2+a*e^2] && NegativeIntegerQ[m] && Not[IntegerQ[2*p]]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ Int[(f+g*x)^n*(a+b*x+c*x^2)^(m+p)/(a/d+c*x/e)^m,x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] && Not[IntegerQ[p]] &&
+ IntegersQ[m,n] && RationalQ[p] && (0<-m0 && n<-1 && Not[IntegerQ[n+p] && n+p+2<=0]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^m*(f+g*x)^(n+1)*(a+c*x^2)^p/(g*(n+1)) +
+ c*m/(e*g*(n+1))*Int[(d+e*x)^(m+1)*(f+g*x)^(n+1)*(a+c*x^2)^(p-1),x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[e*f-d*g] && EqQ[c*d^2+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p] && RationalQ[n,p] && p>0 && n<-1 && Not[IntegerQ[n+p] && n+p+2<=0]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ -(d+e*x)^m*(f+g*x)^(n+1)*(a+b*x+c*x^2)^p/(g*(m-n-1)) -
+ m*(c*e*f+c*d*g-b*e*g)/(e^2*g*(m-n-1))*Int[(d+e*x)^(m+1)*(f+g*x)^n*(a+b*x+c*x^2)^(p-1),x] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p] && RationalQ[n,p] && p>0 && NeQ[m-n-1] && Not[PositiveIntegerQ[n]] &&
+ Not[IntegerQ[n+p] && n+p+2<0]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ -(d+e*x)^m*(f+g*x)^(n+1)*(a+c*x^2)^p/(g*(m-n-1)) -
+ c*m*(e*f+d*g)/(e^2*g*(m-n-1))*Int[(d+e*x)^(m+1)*(f+g*x)^n*(a+c*x^2)^(p-1),x] /;
+FreeQ[{a,c,d,e,f,g,n},x] && NeQ[e*f-d*g] && EqQ[c*d^2+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p] && RationalQ[n,p] && p>0 && NeQ[m-n-1] && Not[PositiveIntegerQ[n]] &&
+ Not[IntegerQ[n+p] && n+p+2<0]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)^(m-1)*(f+g*x)^n*(a+b*x+c*x^2)^(p+1)/(c*(p+1)) -
+ e*g*n/(c*(p+1))*Int[(d+e*x)^(m-1)*(f+g*x)^(n-1)*(a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p] && RationalQ[n,p] && p<-1 && n>0
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ e*(d+e*x)^(m-1)*(f+g*x)^n*(a+c*x^2)^(p+1)/(c*(p+1)) -
+ e*g*n/(c*(p+1))*Int[(d+e*x)^(m-1)*(f+g*x)^(n-1)*(a+c*x^2)^(p+1),x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[e*f-d*g] && EqQ[c*d^2+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p] && RationalQ[n,p] && p<-1 && n>0
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ e^2*(d+e*x)^(m-1)*(f+g*x)^(n+1)*(a+b*x+c*x^2)^(p+1)/((p+1)*(c*e*f+c*d*g-b*e*g)) +
+ e^2*g*(m-n-2)/((p+1)*(c*e*f+c*d*g-b*e*g))*Int[(d+e*x)^(m-1)*(f+g*x)^n*(a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p] && RationalQ[n,p] && p<-1
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ e^2*(d+e*x)^(m-1)*(f+g*x)^(n+1)*(a+c*x^2)^(p+1)/(c*(p+1)*(e*f+d*g)) +
+ e^2*g*(m-n-2)/(c*(p+1)*(e*f+d*g))*Int[(d+e*x)^(m-1)*(f+g*x)^n*(a+c*x^2)^(p+1),x] /;
+FreeQ[{a,c,d,e,f,g,n},x] && NeQ[e*f-d*g] && EqQ[c*d^2+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p] && RationalQ[n,p] && p<-1
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ -e*(d+e*x)^(m-1)*(f+g*x)^n*(a+b*x+c*x^2)^(p+1)/(c*(m-n-1)) -
+ n*(c*e*f+c*d*g-b*e*g)/(c*e*(m-n-1))*Int[(d+e*x)^m*(f+g*x)^(n-1)*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p] && RationalQ[n] && n>0 && NeQ[m-n-1] && (IntegerQ[2*p] || IntegerQ[n])
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ -e*(d+e*x)^(m-1)*(f+g*x)^n*(a+c*x^2)^(p+1)/(c*(m-n-1)) -
+ n*(e*f+d*g)/(e*(m-n-1))*Int[(d+e*x)^m*(f+g*x)^(n-1)*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,f,g,m,p},x] && NeQ[e*f-d*g] && EqQ[c*d^2+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p] && RationalQ[n] && n>0 && NeQ[m-n-1] && (IntegerQ[2*p] || IntegerQ[n])
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ -e^2*(d+e*x)^(m-1)*(f+g*x)^(n+1)*(a+b*x+c*x^2)^(p+1)/((n+1)*(c*e*f+c*d*g-b*e*g)) -
+ c*e*(m-n-2)/((n+1)*(c*e*f+c*d*g-b*e*g))*Int[(d+e*x)^m*(f+g*x)^(n+1)*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p] && RationalQ[n] && n<-1 && IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ -e^2*(d+e*x)^(m-1)*(f+g*x)^(n+1)*(a+c*x^2)^(p+1)/((n+1)*(c*e*f+c*d*g)) -
+ e*(m-n-2)/((n+1)*(e*f+d*g))*Int[(d+e*x)^m*(f+g*x)^(n+1)*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,f,g,m,p},x] && NeQ[e*f-d*g] && EqQ[c*d^2+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p] && RationalQ[n] && n<-1 && IntegerQ[2*p]
+
+
+Int[Sqrt[d_+e_.*x_]/((f_.+g_.*x_)*Sqrt[a_.+b_.*x_+c_.*x_^2]),x_Symbol] :=
+ 2*e^2*Subst[Int[1/(c*(e*f+d*g)-b*e*g+e^2*g*x^2),x],x,Sqrt[a+b*x+c*x^2]/Sqrt[d+e*x]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2]
+
+
+Int[Sqrt[d_+e_.*x_]/((f_.+g_.*x_)*Sqrt[a_+c_.*x_^2]),x_Symbol] :=
+ 2*e^2*Subst[Int[1/(c*(e*f+d*g)+e^2*g*x^2),x],x,Sqrt[a+c*x^2]/Sqrt[d+e*x]] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[e*f-d*g] && EqQ[c*d^2+a*e^2]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ e^2*(d+e*x)^(m-2)*(f+g*x)^(n+1)*(a+b*x+c*x^2)^(p+1)/(c*g*(n+p+2)) /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p-1] && EqQ[b*e*g*(n+1)+c*e*f*(p+1)-c*d*g*(2*n+p+3)] && NeQ[n+p+2]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ e^2*(d+e*x)^(m-2)*(f+g*x)^(n+1)*(a+c*x^2)^(p+1)/(c*g*(n+p+2)) /;
+FreeQ[{a,c,d,e,f,g,m,n,p},x] && NeQ[e*f-d*g] && EqQ[c*d^2+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p-1] && EqQ[e*f*(p+1)-d*g*(2*n+p+3)] && NeQ[n+p+2]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ e^2*(e*f-d*g)*(d+e*x)^(m-2)*(f+g*x)^(n+1)*(a+b*x+c*x^2)^(p+1)/(g*(n+1)*(c*e*f+c*d*g-b*e*g)) -
+ e*(b*e*g*(n+1)+c*e*f*(p+1)-c*d*g*(2*n+p+3))/(g*(n+1)*(c*e*f+c*d*g-b*e*g))*
+ Int[(d+e*x)^(m-1)*(f+g*x)^(n+1)*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p-1] && RationalQ[n] && n<-1 && IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ e^2*(e*f-d*g)*(d+e*x)^(m-2)*(f+g*x)^(n+1)*(a+c*x^2)^(p+1)/(c*g*(n+1)*(e*f+d*g)) -
+ e*(e*f*(p+1)-d*g*(2*n+p+3))/(g*(n+1)*(e*f+d*g))*Int[(d+e*x)^(m-1)*(f+g*x)^(n+1)*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,f,g,m,p},x] && NeQ[e*f-d*g] && EqQ[c*d^2+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p-1] && RationalQ[n] && n<-1 && IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ e^2*(d+e*x)^(m-2)*(f+g*x)^(n+1)*(a+b*x+c*x^2)^(p+1)/(c*g*(n+p+2)) -
+ (b*e*g*(n+1)+c*e*f*(p+1)-c*d*g*(2*n+p+3))/(c*g*(n+p+2))*Int[(d+e*x)^(m-1)*(f+g*x)^n*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p-1] && Not[RationalQ[n] && n<-1] && IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ e^2*(d+e*x)^(m-2)*(f+g*x)^(n+1)*(a+c*x^2)^(p+1)/(c*g*(n+p+2)) -
+ (e*f*(p+1)-d*g*(2*n+p+3))/(g*(n+p+2))*Int[(d+e*x)^(m-1)*(f+g*x)^n*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,f,g,m,n,p},x] && NeQ[e*f-d*g] && EqQ[c*d^2+a*e^2] &&
+ Not[IntegerQ[p]] && EqQ[m+p-1] && Not[RationalQ[n] && n<-1] && IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(f+g*x)^n*(a+b*x+c*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] &&
+ Not[IntegerQ[p]] && (PositiveIntegerQ[m] || IntegersQ[m,n])
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[1/Sqrt[a+c*x^2],(d+e*x)^m*(f+g*x)^n*(a+c*x^2)^(p+1/2),x],x] /;
+FreeQ[{a,c,d,e,f,g,n,p},x] && NeQ[e*f-d*g] && EqQ[c*d^2+a*e^2] && IntegerQ[p-1/2] && IntegersQ[m,n] && Not[m<0 && p<0] && p!=1/2
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(f+g*x)^n*(a+c*x^2)^p,x],x] /;
+FreeQ[{a,c,d,e,f,g,n,p},x] && NeQ[e*f-d*g] && EqQ[c*d^2+a*e^2] && Not[IntegerQ[p]] && (PositiveIntegerQ[m] || IntegersQ[m,n])
+
+
+Int[x_^2*(a_.+b_.*x_+c_.*x_^2)^p_/(d_+e_.*x_),x_Symbol] :=
+ d^2/e^2*Int[(a+b*x+c*x^2)^p/(d+e*x),x] - 1/e^2*Int[(d-e*x)*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2]
+
+
+Int[x_^2*(a_+c_.*x_^2)^p_/(d_+e_.*x_),x_Symbol] :=
+ d^2/e^2*Int[(a+c*x^2)^p/(d+e*x),x] - 1/e^2*Int[(d-e*x)*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,p},x] && EqQ[c*d^2+a*e^2]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^2*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ g*(d+e*x)^m*(f+g*x)*(a+b*x+c*x^2)^(p+1)/(c*(m+2*p+3)) -
+ 1/(c*e^2*(m+2*p+3))*Int[(d+e*x)^m*(a+b*x+c*x^2)^p*
+ Simp[b*e*g*(d*g+e*f*(m+p+1))-c*(d^2*g^2+d*e*f*g*m+e^2*f^2*(m+2*p+3))+
+ e*g*(b*e*g*(m+p+2)-c*(d*g*m+e*f*(m+2*p+4)))*x,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] && Not[IntegerQ[p]] &&
+ NeQ[m+2*p+3]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^2*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ g*(d+e*x)^m*(f+g*x)*(a+c*x^2)^(p+1)/(c*(m+2*p+3)) -
+ 1/(c*e^2*(m+2*p+3))*Int[(d+e*x)^m*(a+c*x^2)^p*
+ Simp[-c*(d^2*g^2+d*e*f*g*m+e^2*f^2*(m+2*p+3))-c*e*g*(d*g*m+e*f*(m+2*p+4))*x,x],x] /;
+FreeQ[{a,c,d,e,f,g,m,p},x] && NeQ[e*f-d*g] && EqQ[c*d^2+a*e^2] && Not[IntegerQ[p]] && NeQ[m+2*p+3]
+
+
+Int[(e_.*x_)^m_*(f_.+g_.*x_)^n_*(b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (e*x)^m*(b*x+c*x^2)^p/(x^(m+p)*(b+c*x)^p)*Int[x^(m+p)*(f+g*x)^n*(b+c*x)^p,x] /;
+FreeQ[{b,c,e,f,g,m,n},x] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ Int[(d+e*x)^(m+p)*(f+g*x)^n*(a/d+c/e*x)^p,x] /;
+FreeQ[{a,c,d,e,f,g,m,n},x] && NeQ[e*f-d*g] && EqQ[c*d^2+a*e^2] && Not[IntegerQ[p]] && PositiveQ[a] && PositiveQ[d]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+(*(a+b*x+c*x^2)^p/((d+e*x)^p*(a*e+c*d*x)^p)*Int[(d+e*x)^(m+p)*(f+g*x)^n*(a*e+c*d*x)^p,x] /; *)
+ (a+b*x+c*x^2)^FracPart[p]/((d+e*x)^FracPart[p]*(a/d+(c*x)/e)^FracPart[p])*Int[(d+e*x)^(m+p)*(f+g*x)^n*(a/d+c/e*x)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (a+c*x^2)^FracPart[p]/((d+e*x)^FracPart[p]*(a/d+(c*x)/e)^FracPart[p])*Int[(d+e*x)^(m+p)*(f+g*x)^n*(a/d+c/e*x)^p,x] /;
+FreeQ[{a,c,d,e,f,g,m,n},x] && NeQ[e*f-d*g] && EqQ[c*d^2+a*e^2] && Not[IntegerQ[p]]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(f+g*x)^n*(a+b*x+c*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && IntegersQ[m,n,p]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(f+g*x)^n*(a+c*x^2)^p,x],x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2] && IntegersQ[m,n,p]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2)^p_/((d_.+e_.*x_)*(f_.+g_.*x_)),x_Symbol] :=
+ (c*d^2-b*d*e+a*e^2)/(e*(e*f-d*g))*Int[(a+b*x+c*x^2)^(p-1)/(d+e*x),x] -
+ 1/(e*(e*f-d*g))*Int[Simp[c*d*f-b*e*f+a*e*g-c*(e*f-d*g)*x,x]*(a+b*x+c*x^2)^(p-1)/(f+g*x),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && FractionQ[p] && p>0
+
+
+Int[(a_+c_.*x_^2)^p_/((d_.+e_.*x_)*(f_.+g_.*x_)),x_Symbol] :=
+ (c*d^2+a*e^2)/(e*(e*f-d*g))*Int[(a+c*x^2)^(p-1)/(d+e*x),x] -
+ 1/(e*(e*f-d*g))*Int[Simp[c*d*f+a*e*g-c*(e*f-d*g)*x,x]*(a+c*x^2)^(p-1)/(f+g*x),x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[c*d^2+a*e^2] && FractionQ[p] && p>0
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ With[{q=Denominator[m]},
+ q/e*Subst[Int[x^(q*(m+1)-1)*((e*f-d*g)/e+g*x^q/e)^n*
+ ((c*d^2-b*d*e+a*e^2)/e^2-(2*c*d-b*e)*x^q/e^2+c*x^(2*q)/e^2)^p,x],x,(d+e*x)^(1/q)]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && IntegersQ[n,p] && FractionQ[m]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ With[{q=Denominator[m]},
+ q/e*Subst[Int[x^(q*(m+1)-1)*((e*f-d*g)/e+g*x^q/e)^n*((c*d^2+a*e^2)/e^2-2*c*d*x^q/e^2+c*x^(2*q)/e^2)^p,x],x,(d+e*x)^(1/q)]] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[c*d^2+a*e^2] && IntegersQ[n,p] && FractionQ[m]
+
+
+Int[(d_+e_.*x_)^m_*(f_+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(d*f+e*g*x^2)^m*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && EqQ[m-n] && EqQ[e*f+d*g] && (IntegerQ[m] || PositiveQ[d] && PositiveQ[f])
+
+
+Int[(d_+e_.*x_)^m_*(f_+g_.*x_)^n_*(a_.+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(d*f+e*g*x^2)^m*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,f,g,m,n,p},x] && EqQ[m-n] && EqQ[e*f+d*g] && (IntegerQ[m] || PositiveQ[d] && PositiveQ[f])
+
+
+Int[(d_+e_.*x_)^m_*(f_+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ (d+e*x)^FracPart[m]*(f+g*x)^FracPart[m]/(d*f+e*g*x^2)^FracPart[m]*Int[(d*f+e*g*x^2)^m*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && EqQ[m-n] && EqQ[e*f+d*g]
+
+
+Int[(d_+e_.*x_)^m_*(f_+g_.*x_)^n_*(a_.+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^FracPart[m]*(f+g*x)^FracPart[m]/(d*f+e*g*x^2)^FracPart[m]*Int[(d*f+e*g*x^2)^m*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,f,g,m,n,p},x] && EqQ[m-n] && EqQ[e*f+d*g]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ Int[(a+b*x)*(d+e*x)^m*(f+g*x)^n,x] + c*Int[x^2*(d+e*x)^m*(f+g*x)^n,x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && RationalQ[m,n]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2),x_Symbol] :=
+ a*Int[(d+e*x)^m*(f+g*x)^n,x] + c*Int[x^2*(d+e*x)^m*(f+g*x)^n,x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2] && RationalQ[m,n]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_/(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ g/c^2*Int[Simp[2*c*e*f+c*d*g-b*e*g+c*e*g*x,x]*(d+e*x)^(m-1)*(f+g*x)^(n-2),x] +
+ 1/c^2*Int[Simp[c^2*d*f^2-2*a*c*e*f*g-a*c*d*g^2+a*b*e*g^2+(c^2*e*f^2+2*c^2*d*f*g-2*b*c*e*f*g-b*c*d*g^2+b^2*e*g^2-a*c*e*g^2)*x,x]*
+ (d+e*x)^(m-1)*(f+g*x)^(n-2)/(a+b*x+c*x^2),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] &&
+ Not[IntegerQ[m]] && Not[IntegerQ[n]] && RationalQ[m,n] && m>0 && n>1
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_/(a_+c_.*x_^2),x_Symbol] :=
+ g/c*Int[Simp[2*e*f+d*g+e*g*x,x]*(d+e*x)^(m-1)*(f+g*x)^(n-2),x] +
+ 1/c*Int[Simp[c*d*f^2-2*a*e*f*g-a*d*g^2+(c*e*f^2+2*c*d*f*g-a*e*g^2)*x,x]*(d+e*x)^(m-1)*(f+g*x)^(n-2)/(a+c*x^2),x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && RationalQ[m,n] && m>0 && n>1
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_/(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ e*g/c*Int[(d+e*x)^(m-1)*(f+g*x)^(n-1),x] +
+ 1/c*Int[Simp[c*d*f-a*e*g+(c*e*f+c*d*g-b*e*g)*x,x]*(d+e*x)^(m-1)*(f+g*x)^(n-1)/(a+b*x+c*x^2),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] &&
+ Not[IntegerQ[m]] && Not[IntegerQ[n]] && RationalQ[m,n] && m>0 && n>0
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_/(a_+c_.*x_^2),x_Symbol] :=
+ e*g/c*Int[(d+e*x)^(m-1)*(f+g*x)^(n-1),x] +
+ 1/c*Int[Simp[c*d*f-a*e*g+(c*e*f+c*d*g)*x,x]*(d+e*x)^(m-1)*(f+g*x)^(n-1)/(a+c*x^2),x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && RationalQ[m,n] && m>0 && n>0
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_/(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ -g*(e*f-d*g)/(c*f^2-b*f*g+a*g^2)*Int[(d+e*x)^(m-1)*(f+g*x)^n,x] +
+ 1/(c*f^2-b*f*g+a*g^2)*
+ Int[Simp[c*d*f-b*d*g+a*e*g+c*(e*f-d*g)*x,x]*(d+e*x)^(m-1)*(f+g*x)^(n+1)/(a+b*x+c*x^2),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] &&
+ Not[IntegerQ[m]] && Not[IntegerQ[n]] && RationalQ[m,n] && m>0 && n<-1
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_/(a_+c_.*x_^2),x_Symbol] :=
+ -g*(e*f-d*g)/(c*f^2+a*g^2)*Int[(d+e*x)^(m-1)*(f+g*x)^n,x] +
+ 1/(c*f^2+a*g^2)*
+ Int[Simp[c*d*f+a*e*g+c*(e*f-d*g)*x,x]*(d+e*x)^(m-1)*(f+g*x)^(n+1)/(a+c*x^2),x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && RationalQ[m,n] && m>0 && n<-1
+
+
+Int[(d_.+e_.*x_)^m_/(Sqrt[f_.+g_.*x_]*(a_.+b_.*x_+c_.*x_^2)),x_Symbol] :=
+ Int[ExpandIntegrand[1/(Sqrt[d+e*x]*Sqrt[f+g*x]),(d+e*x)^(m+1/2)/(a+b*x+c*x^2),x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && PositiveIntegerQ[m+1/2]
+
+
+Int[(d_.+e_.*x_)^m_/(Sqrt[f_.+g_.*x_]*(a_.+c_.*x_^2)),x_Symbol] :=
+ Int[ExpandIntegrand[1/(Sqrt[d+e*x]*Sqrt[f+g*x]),(d+e*x)^(m+1/2)/(a+c*x^2),x],x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[c*d^2+a*e^2] && PositiveIntegerQ[m+1/2]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_/(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(f+g*x)^n,1/(a+b*x+c*x^2),x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] &&
+ Not[IntegerQ[m]] && Not[IntegerQ[n]]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_/(a_+c_.*x_^2),x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(f+g*x)^n,1/(a+c*x^2),x],x] /;
+FreeQ[{a,c,d,e,f,g,m,n},x] && NeQ[c*d^2+a*e^2] && Not[IntegerQ[m]] && Not[IntegerQ[n]]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(f+g*x)^n*(a+b*x+c*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] &&
+ (IntegerQ[p] || IntegersQ[m,n])
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(f+g*x)^n*(a+c*x^2)^p,x],x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[c*d^2+a*e^2] && (IntegerQ[p] || IntegersQ[m,n])
+
+
+Int[(g_.*x_)^n_*(d_.+e_.*x_)^m_*(a_+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (d+e*x)^FracPart[p]*(a+b*x+c*x^2)^FracPart[p]/(a*d+c*e*x^3)^FracPart[p]*Int[(g*x)^n*(a*d+c*e*x^3)^p,x] /;
+FreeQ[{a,b,c,d,e,g,m,n,p},x] && EqQ[m-p] && EqQ[b*d+a*e] && EqQ[c*d+b*e]
+
+
+Int[(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_/(d_.+e_.*x_),x_Symbol] :=
+ (c*d^2-b*d*e+a*e^2)/(e*(e*f-d*g))*Int[(f+g*x)^(n+1)*(a+b*x+c*x^2)^(p-1)/(d+e*x),x] -
+ 1/(e*(e*f-d*g))*Int[(f+g*x)^n*(c*d*f-b*e*f+a*e*g-c*(e*f-d*g)*x)*(a+b*x+c*x^2)^(p-1),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] &&
+ Not[IntegerQ[n]] && Not[IntegerQ[p]] && RationalQ[n,p] && p>0 && n<-1
+
+
+Int[(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_/(d_.+e_.*x_),x_Symbol] :=
+ (c*d^2+a*e^2)/(e*(e*f-d*g))*Int[(f+g*x)^(n+1)*(a+c*x^2)^(p-1)/(d+e*x),x] -
+ 1/(e*(e*f-d*g))*Int[(f+g*x)^n*(c*d*f+a*e*g-c*(e*f-d*g)*x)*(a+c*x^2)^(p-1),x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[c*d^2+a*e^2] &&
+ Not[IntegerQ[n]] && Not[IntegerQ[p]] && RationalQ[n,p] && p>0 && n<-1
+
+
+Int[(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_/(d_.+e_.*x_),x_Symbol] :=
+ e*(e*f-d*g)/(c*d^2-b*d*e+a*e^2)*Int[(f+g*x)^(n-1)*(a+b*x+c*x^2)^(p+1)/(d+e*x),x] +
+ 1/(c*d^2-b*d*e+a*e^2)*Int[(f+g*x)^(n-1)*(c*d*f-b*e*f+a*e*g-c*(e*f-d*g)*x)*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] &&
+ Not[IntegerQ[n]] && Not[IntegerQ[p]] && RationalQ[n,p] && p<-1 && n>0
+
+
+Int[(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_/(d_.+e_.*x_),x_Symbol] :=
+ e*(e*f-d*g)/(c*d^2+a*e^2)*Int[(f+g*x)^(n-1)*(a+c*x^2)^(p+1)/(d+e*x),x] +
+ 1/(c*d^2+a*e^2)*Int[(f+g*x)^(n-1)*(c*d*f+a*e*g-c*(e*f-d*g)*x)*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[c*d^2+a*e^2] &&
+ Not[IntegerQ[n]] && Not[IntegerQ[p]] && RationalQ[n,p] && p<-1 && n>0
+
+
+Int[1/((d_.+e_.*x_)*Sqrt[f_.+g_.*x_]*Sqrt[a_.+b_.*x_+c_.*x_^2]),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ -2*Sqrt[-g*(b-q+2*c*x)/(2*c*f-b*g+g*q)]*Sqrt[-g*(b+q+2*c*x)/(2*c*f-b*g-g*q)]/
+ ((e*f-d*g)*Sqrt[2*c/(2*c*f-b*g+g*q)]*Sqrt[a+b*x+c*x^2])*
+ EllipticPi[e*(2*c*f-b*g+g*q)/(2*c*(e*f-d*g)),ArcSin[Sqrt[2*c/(2*c*f-b*g+g*q)]*Sqrt[f+g*x]],(2*c*f-b*g+g*q)/(2*c*f-b*g-g*q)]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2]
+
+
+Int[1/((d_.+e_.*x_)*Sqrt[f_.+g_.*x_]*Sqrt[a_+c_.*x_^2]),x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ -2*Sqrt[g*(q-c*x)/(c*f+g*q)]*Sqrt[-g*(q+c*x)/(c*f-g*q)]/((e*f-d*g)*Sqrt[c/(c*f+g*q)]*Sqrt[a+c*x^2])*
+ EllipticPi[e*(c*f+g*q)/(c*(e*f-d*g)),ArcSin[Sqrt[c/(c*f+g*q)]*Sqrt[f+g*x]],(c*f+g*q)/(c*f-g*q)]] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[c*d^2+a*e^2]
+
+
+Int[(f_.+g_.*x_)^n_/((d_.+e_.*x_)*Sqrt[a_.+b_.*x_+c_.*x_^2]),x_Symbol] :=
+ Int[ExpandIntegrand[1/(Sqrt[f+g*x]*Sqrt[a+b*x+c*x^2]),(f+g*x)^(n+1/2)/(d+e*x),x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && IntegerQ[n+1/2]
+
+
+Int[(f_.+g_.*x_)^n_/((d_.+e_.*x_)*Sqrt[a_+c_.*x_^2]),x_Symbol] :=
+ Int[ExpandIntegrand[1/(Sqrt[f+g*x]*Sqrt[a+c*x^2]),(f+g*x)^(n+1/2)/(d+e*x),x],x] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[c*d^2+a*e^2] && IntegerQ[n+1/2]
+
+
+Int[1/(Sqrt[d_.+e_.*x_]*Sqrt[f_.+g_.*x_]*Sqrt[a_.+b_.*x_+c_.*x_^2]),x_Symbol] :=
+ -2*(d+e*x)*Sqrt[(e*f-d*g)^2*(a+b*x+c*x^2)/((c*f^2-b*f*g+a*g^2)*(d+e*x)^2)]/((e*f-d*g)*Sqrt[a+b*x+c*x^2])*
+ Subst[
+ Int[1/Sqrt[1-(2*c*d*f-b*e*f-b*d*g+2*a*e*g)*x^2/(c*f^2-b*f*g+a*g^2)+(c*d^2-b*d*e+a*e^2)*x^4/(c*f^2-b*f*g+a*g^2)],x],
+ x,
+ Sqrt[f+g*x]/Sqrt[d+e*x]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2]
+
+
+Int[1/(Sqrt[d_.+e_.*x_]*Sqrt[f_.+g_.*x_]*Sqrt[a_+c_.*x_^2]),x_Symbol] :=
+ -2*(d+e*x)*Sqrt[(e*f-d*g)^2*(a+c*x^2)/((c*f^2+a*g^2)*(d+e*x)^2)]/((e*f-d*g)*Sqrt[a+c*x^2])*
+ Subst[
+ Int[1/Sqrt[1-(2*c*d*f+2*a*e*g)*x^2/(c*f^2+a*g^2)+(c*d^2+a*e^2)*x^4/(c*f^2+a*g^2)],x],x,Sqrt[f+g*x]/Sqrt[d+e*x]] /;
+FreeQ[{a,c,d,e,f,g},x] && NeQ[e*f-d*g] && NeQ[c*d^2+a*e^2]
+
+
+Int[(e_.*x_)^m_*(f_+g_.*x_)^2*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ 2*f*g/e*Int[(e*x)^(m+1)*(a+c*x^2)^p,x] + Int[(e*x)^m*(f^2+g^2*x^2)*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,e,f,g,m,p},x]
+
+
+Int[(e_.*x_)^m_*(f_+g_.*x_)^3*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ f*Int[(e*x)^m*(f^2+3*g^2*x^2)*(a+c*x^2)^p,x] + g/e*Int[(e*x)^(m+1)*(3*f^2+g^2*x^2)*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,e,f,g,m,p},x]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ g/e*Int[(d+e*x)^(m+1)*(f+g*x)^(n-1)*(a+b*x+c*x^2)^p,x] +
+ (e*f-d*g)/e*Int[(d+e*x)^m*(f+g*x)^(n-1)*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && NeQ[e*f-d*g] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && PositiveIntegerQ[n]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ g/e*Int[(d+e*x)^(m+1)*(f+g*x)^(n-1)*(a+c*x^2)^p,x] +
+ (e*f-d*g)/e*Int[(d+e*x)^m*(f+g*x)^(n-1)*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,f,g,m,p},x] && NeQ[e*f-d*g] && NeQ[c*d^2+a*e^2] && PositiveIntegerQ[n]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Defer[Int][(d+e*x)^m*(f+g*x)^n*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x]
+
+
+Int[(d_.+e_.*x_)^m_*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ Defer[Int][(d+e*x)^m*(f+g*x)^n*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,f,g,m,n,p},x]
+
+
+Int[(d_.+e_.*u_)^m_.*(f_.+g_.*u_)^n_.*(a_+b_.*u_+c_.*u_^2)^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(d+e*x)^m*(f+g*x)^n*(a+b*x+c*x^2)^p,x],x,u] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(d_.+e_.*u_)^m_.*(f_.+g_.*u_)^n_.*(a_+c_.*u_^2)^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(d+e*x)^m*(f+g*x)^n*(a+c*x^2)^p,x],x,u] /;
+FreeQ[{a,c,d,e,f,g,m,n,p},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.1.5 (a+b x+c x^2)^p (d+e x+f x^2)^q*)
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_.*(d_+e_.*x_+f_.*x_^2)^q_.,x_Symbol] :=
+ (c/f)^p*Int[(d+e*x+f*x^2)^(p+q),x] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && EqQ[c*d-a*f] && EqQ[b*d-a*e] && (IntegerQ[p] || PositiveQ[c/f]) &&
+ (Not[IntegerQ[q]] || LeafCount[d+e*x+f*x^2]<=LeafCount[a+b*x+c*x^2])
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_.*(d_+e_.*x_+f_.*x_^2)^q_.,x_Symbol] :=
+ a^IntPart[p]*(a+b*x+c*x^2)^FracPart[p]/(d^IntPart[p]*(d+e*x+f*x^2)^FracPart[p])*Int[(d+e*x+f*x^2)^(p+q),x] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && EqQ[c*d-a*f] && EqQ[b*d-a*e] && Not[IntegerQ[p]] && Not[IntegerQ[q]] && Not[PositiveQ[c/f]]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_.,x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/((4*c)^IntPart[p]*(b+2*c*x)^(2*FracPart[p]))*Int[(b+2*c*x)^(2*p)*(d+e*x+f*x^2)^q,x] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+f_.*x_^2)^q_.,x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/((4*c)^IntPart[p]*(b+2*c*x)^(2*FracPart[p]))*Int[(b+2*c*x)^(2*p)*(d+f*x^2)^q,x] /;
+FreeQ[{a,b,c,d,f,p,q},x] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]]
+
+
+(* Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ 1/(2^(2*p+2*q+1)*c*(-c/(b^2-4*a*c))^p*(-f/(e^2-4*d*f))^q)*
+ Subst[Int[(1-x^2/(b^2-4*a*c))^p*(1+e*x^2/(b*(4*c*d-b*e)))^q,x],x,b+2*c*x] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && EqQ[c*e-b*f] &&
+ (IntegerQ[p] || PositiveQ[-c/(b^2-4*a*c)]) && (IntegerQ[q] || PositiveQ[-f/(e^2-4*d*f)]) *)
+
+
+(* Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ (d+e*x+f*x^2)^q/(2^(2*p+2*q+1)*c*(-c/(b^2-4*a*c))^p*(-f*(d+e*x+f*x^2)/(e^2-4*d*f))^q)*
+ Subst[Int[(1-x^2/(b^2-4*a*c))^p*(1+e*x^2/(b*(4*c*d-b*e)))^q,x],x,b+2*c*x] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && EqQ[c*e-b*f] &&
+ (IntegerQ[p] || PositiveQ[-c/(b^2-4*a*c)]) && Not[IntegerQ[q] || PositiveQ[-f/(e^2-4*d*f)]] *)
+
+
+(* Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ (a+b*x+c*x^2)^p*(d+e*x+f*x^2)^q/(2^(2*p+2*q+1)*c*(-c*(a+b*x+c*x^2)/(b^2-4*a*c))^p*(-f*(d+e*x+f*x^2)/(e^2-4*d*f))^q)*
+ Subst[Int[(1-x^2/(b^2-4*a*c))^p*(1+e*x^2/(b*(4*c*d-b*e)))^q,x],x,b+2*c*x] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && EqQ[c*e-b*f] *)
+
+
+Int[(a_.+b_.*x_+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ (b+2*c*x)*(a+b*x+c*x^2)^(p+1)*(d+e*x+f*x^2)^q/((b^2-4*a*c)*(p+1)) -
+ (1/((b^2-4*a*c)*(p+1)))*
+ Int[(a+b*x+c*x^2)^(p+1)*(d+e*x+f*x^2)^(q-1)*
+ Simp[2*c*d*(2*p+3)+b*e*q+(2*b*f*q+2*c*e*(2*p+q+3))*x+2*c*f*(2*p+2*q+3)*x^2,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && LtQ[p,-1] && GtQ[q,0] && Not[IGtQ[q,0]]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2)^p_*(d_.+f_.*x_^2)^q_,x_Symbol] :=
+ (b+2*c*x)*(a+b*x+c*x^2)^(p+1)*(d+f*x^2)^q/((b^2-4*a*c)*(p+1)) -
+ (1/((b^2-4*a*c)*(p+1)))*
+ Int[(a+b*x+c*x^2)^(p+1)*(d+f*x^2)^(q-1)*
+ Simp[2*c*d*(2*p+3)+(2*b*f*q)*x+2*c*f*(2*p+2*q+3)*x^2,x],x] /;
+FreeQ[{a,b,c,d,f},x] && NeQ[b^2-4*a*c] && LtQ[p,-1] && GtQ[q,0] && Not[IGtQ[q,0]]
+
+
+Int[(a_.+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ (2*c*x)*(a+c*x^2)^(p+1)*(d+e*x+f*x^2)^q/((-4*a*c)*(p+1)) -
+ (1/((-4*a*c)*(p+1)))*
+ Int[(a+c*x^2)^(p+1)*(d+e*x+f*x^2)^(q-1)*
+ Simp[2*c*d*(2*p+3)+(2*c*e*(2*p+q+3))*x+2*c*f*(2*p+2*q+3)*x^2,x],x] /;
+FreeQ[{a,c,d,e,f},x] && NeQ[e^2-4*d*f] && LtQ[p,-1] && GtQ[q,0] && Not[IGtQ[q,0]]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ (2*a*c^2*e-b^2*c*e+b^3*f+b*c*(c*d-3*a*f)+c*(2*c^2*d+b^2*f-c*(b*e+2*a*f))*x)*(a+b*x+c*x^2)^(p+1)*(d+e*x+f*x^2)^(q+1)/
+ ((b^2-4*a*c)*((c*d-a*f)^2-(b*d-a*e)*(c*e-b*f))*(p+1)) -
+ (1/((b^2-4*a*c)*((c*d-a*f)^2-(b*d-a*e)*(c*e-b*f))*(p+1)))*
+ Int[(a+b*x+c*x^2)^(p+1)*(d+e*x+f*x^2)^q*
+ Simp[2*c*((c*d-a*f)^2-(b*d-a*e)*(c*e-b*f))*(p+1)-
+ (2*c^2*d+b^2*f-c*(b*e+2*a*f))*(a*f*(p+1)-c*d*(p+2))-
+ e*(b^2*c*e-2*a*c^2*e-b^3*f-b*c*(c*d-3*a*f))*(p+q+2)+
+ (2*f*(2*a*c^2*e-b^2*c*e+b^3*f+b*c*(c*d-3*a*f))*(p+q+2)-(2*c^2*d+b^2*f-c*(b*e+2*a*f))*(b*f*(p+1)-c*e*(2*p+q+4)))*x+
+ c*f*(2*c^2*d+b^2*f-c*(b*e+2*a*f))*(2*p+2*q+5)*x^2,x],x]/;
+FreeQ[{a,b,c,d,e,f,q},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && LtQ[p,-1] &&
+ NeQ[(c*d-a*f)^2-(b*d-a*e)*(c*e-b*f)] && Not[Not[IntegerQ[p]] && ILtQ[q,-1]] && Not[IGtQ[q,0]]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2)^p_*(d_.+f_.*x_^2)^q_,x_Symbol] :=
+ (b^3*f+b*c*(c*d-3*a*f)+c*(2*c^2*d+b^2*f-c*(2*a*f))*x)*(a+b*x+c*x^2)^(p+1)*(d+f*x^2)^(q+1)/
+ ((b^2-4*a*c)*(b^2*d*f+(c*d-a*f)^2)*(p+1)) -
+ (1/((b^2-4*a*c)*(b^2*d*f+(c*d-a*f)^2)*(p+1)))*
+ Int[(a+b*x+c*x^2)^(p+1)*(d+f*x^2)^q*
+ Simp[2*c*(b^2*d*f+(c*d-a*f)^2)*(p+1)-
+ (2*c^2*d+b^2*f-c*(2*a*f))*(a*f*(p+1)-c*d*(p+2))+
+ (2*f*(b^3*f+b*c*(c*d-3*a*f))*(p+q+2)-(2*c^2*d+b^2*f-c*(2*a*f))*(b*f*(p+1)))*x+
+ c*f*(2*c^2*d+b^2*f-c*(2*a*f))*(2*p+2*q+5)*x^2,x],x]/;
+FreeQ[{a,b,c,d,f,q},x] && NeQ[b^2-4*a*c] && LtQ[p,-1] && NeQ[b^2*d*f+(c*d-a*f)^2] &&
+ Not[Not[IntegerQ[p]] && ILtQ[q,-1]] && Not[IGtQ[q,0]]
+
+
+Int[(a_.+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ (2*a*c^2*e+c*(2*c^2*d-c*(2*a*f))*x)*(a+c*x^2)^(p+1)*(d+e*x+f*x^2)^(q+1)/
+ ((-4*a*c)*(a*c*e^2+(c*d-a*f)^2)*(p+1)) -
+ (1/((-4*a*c)*(a*c*e^2+(c*d-a*f)^2)*(p+1)))*
+ Int[(a+c*x^2)^(p+1)*(d+e*x+f*x^2)^q*
+ Simp[2*c*((c*d-a*f)^2-(-a*e)*(c*e))*(p+1)-(2*c^2*d-c*(2*a*f))*(a*f*(p+1)-c*d*(p+2))-e*(-2*a*c^2*e)*(p+q+2)+
+ (2*f*(2*a*c^2*e)*(p+q+2)-(2*c^2*d-c*(2*a*f))*(-c*e*(2*p+q+4)))*x+
+ c*f*(2*c^2*d-c*(2*a*f))*(2*p+2*q+5)*x^2,x],x]/;
+FreeQ[{a,c,d,e,f,q},x] && NeQ[e^2-4*d*f] && LtQ[p,-1] && NeQ[a*c*e^2+(c*d-a*f)^2] &&
+ Not[Not[IntegerQ[p]] && ILtQ[q,-1]] && Not[IGtQ[q,0]]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ (b*f*(3*p+2*q)-c*e*(2*p+q)+2*c*f*(p+q)*x)*(a+b*x+c*x^2)^(p-1)*(d+e*x+f*x^2)^(q+1)/(2*f^2*(p+q)*(2*p+2*q+1)) -
+ 1/(2*f^2*(p+q)*(2*p+2*q+1))*
+ Int[(a+b*x+c*x^2)^(p-2)*(d+e*x+f*x^2)^q*
+ Simp[(b*d-a*e)*(c*e-b*f)*(1-p)*(2*p+q)-
+ (p+q)*(b^2*d*f*(1-p)-a*(f*(b*e-2*a*f)*(2*p+2*q+1)+c*(2*d*f-e^2*(2*p+q))))+
+ (2*(c*d-a*f)*(c*e-b*f)*(1-p)*(2*p+q)-
+ (p+q)*((b^2-4*a*c)*e*f*(1-p)+b*(c*(e^2-4*d*f)*(2*p+q)+f*(2*c*d-b*e+2*a*f)*(2*p+2*q+1))))*x+
+ ((c*e-b*f)^2*(1-p)*p+c*(p+q)*(f*(b*e-2*a*f)*(4*p+2*q-1)-c*(2*d*f*(1-2*p)+e^2*(3*p+q-1))))*x^2,x],x]/;
+FreeQ[{a,b,c,d,e,f,q},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && GtQ[p,1] &&
+ NeQ[p+q] && NeQ[2*p+2*q+1] && Not[IGtQ[p,0]] && Not[IGtQ[q,0]]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2)^p_*(d_.+f_.*x_^2)^q_,x_Symbol] :=
+ (b*(3*p+2*q)+2*c*(p+q)*x)*(a+b*x+c*x^2)^(p-1)*(d+f*x^2)^(q+1)/(2*f*(p+q)*(2*p+2*q+1)) -
+ 1/(2*f*(p+q)*(2*p+2*q+1))*
+ Int[(a+b*x+c*x^2)^(p-2)*(d+f*x^2)^q*
+ Simp[b^2*d*(p-1)*(2*p+q)-(p+q)*(b^2*d*(1-p)-2*a*(c*d-a*f*(2*p+2*q+1)))-
+ (2*b*(c*d-a*f)*(1-p)*(2*p+q)-2*(p+q)*b*(2*c*d*(2*p+q)-(c*d+a*f)*(2*p+2*q+1)))*x+
+ (b^2*f*p*(1-p)+2*c*(p+q)*(c*d*(2*p-1)-a*f*(4*p+2*q-1)))*x^2,x],x]/;
+FreeQ[{a,b,c,d,f,q},x] && NeQ[b^2-4*a*c] && GtQ[p,1] && NeQ[p+q] && NeQ[2*p+2*q+1] && Not[IGtQ[p,0]] && Not[IGtQ[q,0]]
+
+
+Int[(a_.+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ -c*(e*(2*p+q)-2*f*(p+q)*x)*(a+c*x^2)^(p-1)*(d+e*x+f*x^2)^(q+1)/(2*f^2*(p+q)*(2*p+2*q+1)) -
+ 1/(2*f^2*(p+q)*(2*p+2*q+1))*
+ Int[(a+c*x^2)^(p-2)*(d+e*x+f*x^2)^q*
+ Simp[-a*c*e^2*(1-p)*(2*p+q)+a*(p+q)*(-2*a*f^2*(2*p+2*q+1)+c*(2*d*f-e^2*(2*p+q)))+
+ (2*(c*d-a*f)*(c*e)*(1-p)*(2*p+q)+4*a*c*e*f*(1-p)*(p+q))*x+
+ (p*c^2*e^2*(1-p)-c*(p+q)*(2*a*f^2*(4*p+2*q-1)+c*(2*d*f*(1-2*p)+e^2*(3*p+q-1))))*x^2,x],x]/;
+FreeQ[{a,c,d,e,f,q},x] && NeQ[e^2-4*d*f] && GtQ[p,1] && NeQ[p+q] && NeQ[2*p+2*q+1] && Not[IGtQ[p,0]] && Not[IGtQ[q,0]]
+
+
+Int[1/((a_+b_.*x_+c_.*x_^2)*(d_+e_.*x_+f_.*x_^2)),x_Symbol] :=
+ With[{q=c^2*d^2-b*c*d*e+a*c*e^2+b^2*d*f-2*a*c*d*f-a*b*e*f+a^2*f^2},
+ 1/q*Int[(c^2*d-b*c*e+b^2*f-a*c*f-(c^2*e-b*c*f)*x)/(a+b*x+c*x^2),x] +
+ 1/q*Int[(c*e^2-c*d*f-b*e*f+a*f^2+(c*e*f-b*f^2)*x)/(d+e*x+f*x^2),x] /;
+ NeQ[q]] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f]
+
+
+Int[1/((a_+b_.*x_+c_.*x_^2)*(d_+f_.*x_^2)),x_Symbol] :=
+ With[{q=c^2*d^2+b^2*d*f-2*a*c*d*f+a^2*f^2},
+ 1/q*Int[(c^2*d+b^2*f-a*c*f+b*c*f*x)/(a+b*x+c*x^2),x] -
+ 1/q*Int[(c*d*f-a*f^2+b*f^2*x)/(d+f*x^2),x] /;
+ NeQ[q]] /;
+FreeQ[{a,b,c,d,f},x] && NeQ[b^2-4*a*c]
+
+
+Int[1/((a_+b_.*x_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ -2*e*Subst[Int[1/(e*(b*e-4*a*f)-(b*d-a*e)*x^2),x],x,(e+2*f*x)/Sqrt[d+e*x+f*x^2]] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && EqQ[c*e-b*f]
+
+
+(* Int[1/((a_+b_.*x_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ With[{k=Rt[(a/c-d/f)^2+(b/c-e/f)*(b*d/(c*f)-a*e/(c*f)),2]},
+ -2*(c*d-a*f+c*f*k+(c*e-b*f)*x)*Sqrt[(d+e*x+f*x^2)*((c*f*k)/(c*d-a*f+c*f*k+(c*e-b*f)*x))^2]/(c*Sqrt[d+e*x+f*x^2])*
+ Subst[Int[(1-x)/(
+ (b*d-a*e-b*f*k-(c*d-a*f-c*f*k)^2/(c*e-b*f)+(b*d-a*e+b*f*k-(a*f-c*d-c*f*k)^2/(c*e-b*f))*x^2)*
+ Sqrt[-f*((b*d-a*e-c*e*k)/(c*e-b*f)-(c*d-a*f-c*f*k)^2/(c*e-b*f)^2)-f*((b*d-a*e+c*e*k)/(c*e-b*f)-(a*f-c*d-c*f*k)^2/(c*e-b*f)^2)*x^2]),x],x,
+ (c*d-a*f-c*f*k+(c*e-b*f)*x)/(c*d-a*f+c*f*k+(c*e-b*f)*x)]] /;
+FreeQ[{a,b,c,d,e,f},x] && RationalQ[a,b,c,d,e,f] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && NeQ[c*e-b*f] && NegativeQ[b^2-4*a*c] *)
+
+
+(* Int[1/((a_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ With[{k=Rt[(a/c-d/f)^2+a*e^2/(c*f^2),2]},
+ -2*(c*d-a*f+c*f*k+c*e*x)*Sqrt[(d+e*x+f*x^2)*((c*f*k)/(c*d-a*f+c*f*k+c*e*x))^2]/(c*Sqrt[d+e*x+f*x^2])*
+ Subst[Int[(1-x)/(
+ (-a*e-(c*d-a*f-c*f*k)^2/(c*e)+(-a*e-(a*f-c*d-c*f*k)^2/(c*e))*x^2)*
+ Sqrt[-f*((-a*e-c*e*k)/(c*e)-(c*d-a*f-c*f*k)^2/(c*e)^2)-f*((-a*e+c*e*k)/(c*e)-(a*f-c*d-c*f*k)^2/(c*e)^2)*x^2]),x],x,
+ (c*d-a*f-c*f*k+(c*e)*x)/(c*d-a*f+c*f*k+(c*e)*x)]] /;
+FreeQ[{a,c,d,e,f},x] && RationalQ[a,c,d,e,f] && NeQ[e^2-4*d*f] && NegativeQ[-a*c] *)
+
+
+(* Int[1/((a_+b_.*x_+c_.*x_^2)*Sqrt[d_.+f_.*x_^2]),x_Symbol] :=
+ With[{k=Rt[(a/c-d/f)^2+b^2*d/(c^2*f),2]},
+ -2*(c*d-a*f+c*f*k-b*f*x)*Sqrt[(d+f*x^2)*((c*f*k)/(c*d-a*f+c*f*k-b*f*x))^2]/(c*Sqrt[d+f*x^2])*
+ Subst[Int[(1-x)/(
+ (b*d-b*f*k+(c*d-a*f-c*f*k)^2/(b*f)+(b*d+b*f*k+(a*f-c*d-c*f*k)^2/(b*f))*x^2)*
+ Sqrt[-f*(-d/f-(c*d-a*f-c*f*k)^2/(b*f)^2)-f*(-d/f-(a*f-c*d-c*f*k)^2/(b*f)^2)*x^2]),x],x,
+ (c*d-a*f-c*f*k+(-b*f)*x)/(c*d-a*f+c*f*k+(-b*f)*x)]] /;
+FreeQ[{a,b,c,d,f},x] && RationalQ[a,b,c,d,f] && NeQ[b^2-4*a*c] && NegativeQ[b^2-4*a*c] *)
+
+
+Int[1/((a_+b_.*x_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ 2*c/q*Int[1/((b-q+2*c*x)*Sqrt[d+e*x+f*x^2]),x] -
+ 2*c/q*Int[1/((b+q+2*c*x)*Sqrt[d+e*x+f*x^2]),x]] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && NeQ[c*e-b*f] && PosQ[b^2-4*a*c]
+
+
+Int[1/((a_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ 1/2*Int[1/((a-Rt[-a*c,2]*x)*Sqrt[d+e*x+f*x^2]),x] +
+ 1/2*Int[1/((a+Rt[-a*c,2]*x)*Sqrt[d+e*x+f*x^2]),x] /;
+FreeQ[{a,c,d,e,f},x] && NeQ[e^2-4*d*f] && PosQ[-a*c]
+
+
+Int[1/((a_+b_.*x_+c_.*x_^2)*Sqrt[d_+f_.*x_^2]),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ 2*c/q*Int[1/((b-q+2*c*x)*Sqrt[d+f*x^2]),x] -
+ 2*c/q*Int[1/((b+q+2*c*x)*Sqrt[d+f*x^2]),x]] /;
+FreeQ[{a,b,c,d,f},x] && NeQ[b^2-4*a*c] && PosQ[b^2-4*a*c]
+
+
+Int[1/((a_.+b_.*x_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ With[{q=Rt[(c*d-a*f)^2-(b*d-a*e)*(c*e-b*f),2]},
+ 1/(2*q)*Int[(c*d-a*f+q+(c*e-b*f)*x)/((a+b*x+c*x^2)*Sqrt[d+e*x+f*x^2]),x] -
+ 1/(2*q)*Int[(c*d-a*f-q+(c*e-b*f)*x)/((a+b*x+c*x^2)*Sqrt[d+e*x+f*x^2]),x]] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && NeQ[c*e-b*f] && NegQ[b^2-4*a*c]
+
+
+Int[1/((a_.+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ With[{q=Rt[(c*d-a*f)^2+a*c*e^2,2]},
+ 1/(2*q)*Int[(c*d-a*f+q+c*e*x)/((a+c*x^2)*Sqrt[d+e*x+f*x^2]),x] -
+ 1/(2*q)*Int[(c*d-a*f-q+c*e*x)/((a+c*x^2)*Sqrt[d+e*x+f*x^2]),x]] /;
+FreeQ[{a,c,d,e,f},x] && NeQ[e^2-4*d*f] && NegQ[-a*c]
+
+
+Int[1/((a_.+b_.*x_+c_.*x_^2)*Sqrt[d_.+f_.*x_^2]),x_Symbol] :=
+ With[{q=Rt[(c*d-a*f)^2+b^2*d*f,2]},
+ 1/(2*q)*Int[(c*d-a*f+q+(-b*f)*x)/((a+b*x+c*x^2)*Sqrt[d+f*x^2]),x] -
+ 1/(2*q)*Int[(c*d-a*f-q+(-b*f)*x)/((a+b*x+c*x^2)*Sqrt[d+f*x^2]),x]] /;
+FreeQ[{a,b,c,d,f},x] && NeQ[b^2-4*a*c] && NegQ[b^2-4*a*c]
+
+
+Int[Sqrt[a_+b_.*x_+c_.*x_^2]/(d_+e_.*x_+f_.*x_^2),x_Symbol] :=
+ c/f*Int[1/Sqrt[a+b*x+c*x^2],x] -
+ 1/f*Int[(c*d-a*f+(c*e-b*f)*x)/(Sqrt[a+b*x+c*x^2]*(d+e*x+f*x^2)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f]
+
+
+Int[Sqrt[a_+b_.*x_+c_.*x_^2]/(d_+f_.*x_^2),x_Symbol] :=
+ c/f*Int[1/Sqrt[a+b*x+c*x^2],x] -
+ 1/f*Int[(c*d-a*f-b*f*x)/(Sqrt[a+b*x+c*x^2]*(d+f*x^2)),x] /;
+FreeQ[{a,b,c,d,f},x] && NeQ[b^2-4*a*c]
+
+
+Int[Sqrt[a_+c_.*x_^2]/(d_+e_.*x_+f_.*x_^2),x_Symbol] :=
+ c/f*Int[1/Sqrt[a+c*x^2],x] -
+ 1/f*Int[(c*d-a*f+c*e*x)/(Sqrt[a+c*x^2]*(d+e*x+f*x^2)),x] /;
+FreeQ[{a,c,d,e,f},x] && NeQ[e^2-4*d*f]
+
+
+Int[1/(Sqrt[a_+b_.*x_+c_.*x_^2]*Sqrt[d_+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ With[{r=Rt[b^2-4*a*c,2]},
+ Sqrt[b+r+2*c*x]*Sqrt[2*a+(b+r)*x]/Sqrt[a+b*x+c*x^2]*Int[1/(Sqrt[b+r+2*c*x]*Sqrt[2*a+(b+r)*x]*Sqrt[d+e*x+f*x^2]),x]] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f]
+
+
+Int[1/(Sqrt[a_+b_.*x_+c_.*x_^2]*Sqrt[d_+f_.*x_^2]),x_Symbol] :=
+ With[{r=Rt[b^2-4*a*c,2]},
+ Sqrt[b+r+2*c*x]*Sqrt[2*a+(b+r)*x]/Sqrt[a+b*x+c*x^2]*Int[1/(Sqrt[b+r+2*c*x]*Sqrt[2*a+(b+r)*x]*Sqrt[d+f*x^2]),x]] /;
+FreeQ[{a,b,c,d,f},x] && NeQ[b^2-4*a*c]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ Defer[Int][(a+b*x+c*x^2)^p*(d+e*x+f*x^2)^q,x] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && Not[IGtQ[p,0]] && Not[IGtQ[q,0]]
+
+
+Int[(a_+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ Defer[Int][(a+c*x^2)^p*(d+e*x+f*x^2)^q,x] /;
+FreeQ[{a,c,d,e,f,p,q},x] && Not[IGtQ[p,0]] && Not[IGtQ[q,0]]
+
+
+Int[(a_.+b_.*u_+c_.*u_^2)^p_.*(d_.+e_.*u_+f_.*u_^2)^q_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*x+c*x^2)^p*(d+e*x+f*x^2)^q,x],x,u] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+c_.*u_^2)^p_.*(d_.+e_.*u_+f_.*u_^2)^q_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+c*x^2)^p*(d+e*x+f*x^2)^q,x],x,u] /;
+FreeQ[{a,c,d,e,f,p,q},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.1.6 (g+h x)^m (a+b x+c x^2)^p (d+e x+f x^2)^q*)
+
+
+Int[(g_.+h_.*x_)^m_.*(a_+b_.*x_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ (c/f)^p*Int[(g+h*x)^m*(d+e*x+f*x^2)^(p+q),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q},x] && EqQ[c*d-a*f] && EqQ[b*d-a*e] && (IntegerQ[p] || PositiveQ[c/f]) &&
+ (Not[IntegerQ[q]] || LeafCount[d+e*x+f*x^2]<=LeafCount[a+b*x+c*x^2])
+
+
+Int[(g_.+h_.*x_)^m_.*(a_+b_.*x_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ a^IntPart[p]*(a+b*x+c*x^2)^FracPart[p]/(d^IntPart[p]*(d+e*x+f*x^2)^FracPart[p])*Int[(g+h*x)^m*(d+e*x+f*x^2)^(p+q),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q},x] && EqQ[c*d-a*f] && EqQ[b*d-a*e] && Not[IntegerQ[p]] && Not[IntegerQ[q]] && Not[PositiveQ[c/f]]
+
+
+Int[(g_.+h_.*x_)^m_.*(a_+b_.*x_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/((4*c)^IntPart[p]*(b+2*c*x)^(2*FracPart[p]))*Int[(g+h*x)^m*(b+2*c*x)^(2*p)*(d+e*x+f*x^2)^q,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,p,q},x] && EqQ[b^2-4*a*c]
+
+
+Int[(g_.+h_.*x_)^m_.*(a_+b_.*x_+c_.*x_^2)^p_*(d_+f_.*x_^2)^q_,x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/((4*c)^IntPart[p]*(b+2*c*x)^(2*FracPart[p]))*Int[(g+h*x)^m*(b+2*c*x)^(2*p)*(d+f*x^2)^q,x] /;
+FreeQ[{a,b,c,d,f,g,h,m,p,q},x] && EqQ[b^2-4*a*c]
+
+
+Int[(g_+h_.*x_)^m_.*(a_+b_.*x_+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^m_.,x_Symbol] :=
+ Int[(d*g/a+f*h*x/c)^m*(a+b*x+c*x^2)^(m+p),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,p},x] && EqQ[c*g^2-b*g*h+a*h^2] && EqQ[c^2*d*g^2-a*c*e*g*h+a^2*f*h^2] && IntegerQ[m]
+
+
+Int[(g_+h_.*x_)^m_.*(a_+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^m_.,x_Symbol] :=
+ Int[(d*g/a+f*h*x/c)^m*(a+c*x^2)^(m+p),x] /;
+FreeQ[{a,c,d,e,f,g,h,p},x] && EqQ[c*g^2+a*h^2] && EqQ[c^2*d*g^2-a*c*e*g*h+a^2*f*h^2] && IntegerQ[m]
+
+
+Int[(g_+h_.*x_)^m_.*(a_+b_.*x_+c_.*x_^2)^p_*(d_.+f_.*x_^2)^m_.,x_Symbol] :=
+ Int[(d*g/a+f*h*x/c)^m*(a+b*x+c*x^2)^(m+p),x] /;
+FreeQ[{a,b,c,d,f,g,h,p},x] && EqQ[c*g^2-b*g*h+a*h^2] && EqQ[c^2*d*g^2+a^2*f*h^2] && IntegerQ[m]
+
+
+Int[(g_+h_.*x_)^m_.*(a_+c_.*x_^2)^p_*(d_.+f_.*x_^2)^m_.,x_Symbol] :=
+ Int[(d*g/a+f*h*x/c)^m*(a+c*x^2)^(m+p),x] /;
+FreeQ[{a,c,d,f,g,h,p},x] && EqQ[c*g^2+a*h^2] && EqQ[c^2*d*g^2+a^2*f*h^2] && IntegerQ[m]
+
+
+(* Int[(g_+h_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ Int[(g+h*x)^(m+p)*(a/g+c/h*x)^p*(d+e*x+f*x^2)^q,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,q},x] && EqQ[c*g^2-b*g*h+a*h^2] && IntegerQ[p] *)
+
+
+(* Int[(g_+h_.*x_)^m_.*(a_+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ Int[(g+h*x)^(m+p)*(a/g+c/h*x)^p*(d+e*x+f*x^2)^q,x] /;
+FreeQ[{a,c,d,e,f,g,h,m,q},x] && NeQ[e^2-4*d*f] && EqQ[c*g^2+a*h^2] && IntegerQ[p] *)
+
+
+(* Int[(g_+h_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2)^p_*(d_.+f_.*x_^2)^q_,x_Symbol] :=
+ Int[(g+h*x)^(m+p)*(a/g+c/h*x)^p*(d+f*x^2)^q,x] /;
+FreeQ[{a,b,c,d,f,g,h,m,q},x] && NeQ[b^2-4*a*c] && EqQ[c*g^2-b*g*h+a*h^2] && IntegerQ[p] *)
+
+
+(* Int[(g_+h_.*x_)^m_.*(a_+c_.*x_^2)^p_*(d_.+f_.*x_^2)^q_,x_Symbol] :=
+ Int[(g+h*x)^(m+p)*(a/g+c/h*x)^p*(d+f*x^2)^q,x] /;
+FreeQ[{a,c,d,f,g,h,m,q},x] && EqQ[c*g^2+a*h^2] && IntegerQ[p] *)
+
+
+(* Int[(g_+h_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/((g+h*x)^FracPart[p]*(a/g+(c*x)/h)^FracPart[p])*Int[(g+h*x)^(m+p)*(a/g+c/h*x)^p*(d+e*x+f*x^2)^q,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,q},x] && EqQ[c*g^2-b*g*h+a*h^2] && Not[IntegerQ[p]] *)
+
+
+(* Int[(g_+h_.*x_)^m_.*(a_+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ (a+c*x^2)^FracPart[p]/((g+h*x)^FracPart[p]*(a/g+(c*x)/h)^FracPart[p])*Int[(g+h*x)^(m+p)*(a/g+c/h*x)^p*(d+e*x+f*x^2)^q,x] /;
+FreeQ[{a,c,d,e,f,g,h,m,q},x] && NeQ[e^2-4*d*f] && EqQ[c*g^2+a*h^2] && Not[IntegerQ[p]] *)
+
+
+(* Int[(g_+h_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2)^p_*(d_.+f_.*x_^2)^q_,x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/((g+h*x)^FracPart[p]*(a/g+(c*x)/h)^FracPart[p])*Int[(g+h*x)^(m+p)*(a/g+c/h*x)^p*(d+f*x^2)^q,x] /;
+FreeQ[{a,b,c,d,f,g,h,m,q},x] && NeQ[b^2-4*a*c] && EqQ[c*g^2-b*g*h+a*h^2] && Not[IntegerQ[p]] *)
+
+
+(* Int[(g_+h_.*x_)^m_.*(a_+c_.*x_^2)^p_*(d_.+f_.*x_^2)^q_,x_Symbol] :=
+ (a+c*x^2)^FracPart[p]/((g+h*x)^FracPart[p]*(a/g+(c*x)/h)^FracPart[p])*Int[(g+h*x)^(m+p)*(a/g+c/h*x)^p*(d+f*x^2)^q,x] /;
+FreeQ[{a,c,d,f,g,h,m,q},x] && EqQ[c*g^2+a*h^2] && Not[IntegerQ[p]] *)
+
+
+Int[x_^p_*(a_.+b_.*x_+c_.*x_^2)^p_*(e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ Int[(a/e+c/f*x)^p*(e*x+f*x^2)^(p+q),x] /;
+FreeQ[{a,b,c,e,f,q},x] && NeQ[b^2-4*a*c] && EqQ[c*e^2-b*e*f+a*f^2] && IntegerQ[p]
+
+
+Int[x_^p_*(a_+c_.*x_^2)^p_*(e_.*x_+f_.*x_^2)^q_,x_Symbol] :=
+ Int[(a/e+c/f*x)^p*(e*x+f*x^2)^(p+q),x] /;
+FreeQ[{a,c,e,f,q},x] && EqQ[c*e^2+a*f^2] && IntegerQ[p]
+
+
+Int[(g_+h_.*x_)/((a_+c_.*x_^2)^(1/3)*(d_+f_.*x_^2)),x_Symbol] :=
+ Sqrt[3]*h*ArcTan[1/Sqrt[3]-2^(2/3)*(1-3*h*x/g)^(2/3)/(Sqrt[3]*(1+3*h*x/g)^(1/3))]/(2^(2/3)*a^(1/3)*f) +
+ h*Log[d+f*x^2]/(2^(5/3)*a^(1/3)*f) -
+ 3*h*Log[(1-3*h*x/g)^(2/3)+2^(1/3)*(1+3*h*x/g)^(1/3)]/(2^(5/3)*a^(1/3)*f) /;
+FreeQ[{a,c,d,f,g,h},x] && EqQ[c*d+3*a*f] && EqQ[c*g^2+9*a*h^2] && PositiveQ[a]
+
+
+Int[(g_+h_.*x_)/((a_+c_.*x_^2)^(1/3)*(d_+f_.*x_^2)),x_Symbol] :=
+ (1+c*x^2/a)^(1/3)/(a+c*x^2)^(1/3)*Int[(g+h*x)/((1+c*x^2/a)^(1/3)*(d+f*x^2)),x] /;
+FreeQ[{a,c,d,f,g,h},x] && EqQ[c*d+3*a*f] && EqQ[c*g^2+9*a*h^2] && Not[PositiveQ[a]]
+
+
+Int[(g_+h_.*x_)*(a_+c_.*x_^2)^p_*(d_+f_.*x_^2)^q_,x_Symbol] :=
+ g*Int[(a+c*x^2)^p*(d+f*x^2)^q,x] + h*Int[x*(a+c*x^2)^p*(d+f*x^2)^q,x] /;
+FreeQ[{a,c,d,f,g,h,p,q},x]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(g_.+h_.*x_),x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*x+c*x^2)^p*(d+e*x+f*x^2)^q*(g+h*x),x],x] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && IntegersQ[p,q] && p>0
+
+
+Int[(a_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(g_.+h_.*x_),x_Symbol] :=
+ Int[ExpandIntegrand[(a+c*x^2)^p*(d+e*x+f*x^2)^q*(g+h*x),x],x] /;
+FreeQ[{a,c,d,e,f,g,h},x] && NeQ[e^2-4*d*f] && IntegersQ[p,q] && (p>0 || q>0)
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(g_.+h_.*x_),x_Symbol] :=
+ (g*b-2*a*h-(b*h-2*g*c)*x)*(a+b*x+c*x^2)^(p+1)*(d+e*x+f*x^2)^q/((b^2-4*a*c)*(p+1)) -
+ 1/((b^2-4*a*c)*(p+1))*
+ Int[(a+b*x+c*x^2)^(p+1)*(d+e*x+f*x^2)^(q-1)*
+ Simp[e*q*(g*b-2*a*h)-d*(b*h-2*g*c)*(2*p+3)+
+ (2*f*q*(g*b-2*a*h)-e*(b*h-2*g*c)*(2*p+q+3))*x-
+ f*(b*h-2*g*c)*(2*p+2*q+3)*x^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && RationalQ[p,q] && p<-1 && q>0
+
+
+Int[(a_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(g_.+h_.*x_),x_Symbol] :=
+ (a*h-g*c*x)*(a+c*x^2)^(p+1)*(d+e*x+f*x^2)^q/(2*a*c*(p+1)) +
+ 2/(4*a*c*(p+1))*
+ Int[(a+c*x^2)^(p+1)*(d+e*x+f*x^2)^(q-1)*
+ Simp[g*c*d*(2*p+3)-a*(h*e*q)+(g*c*e*(2*p+q+3)-a*(2*h*f*q))*x+g*c*f*(2*p+2*q+3)*x^2,x],x] /;
+FreeQ[{a,c,d,e,f,g,h},x] && NeQ[e^2-4*d*f] && RationalQ[p,q] && p<-1 && q>0
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+f_.*x_^2)^q_*(g_.+h_.*x_),x_Symbol] :=
+ (g*b-2*a*h-(b*h-2*g*c)*x)*(a+b*x+c*x^2)^(p+1)*(d+f*x^2)^q/((b^2-4*a*c)*(p+1)) -
+ 1/((b^2-4*a*c)*(p+1))*
+ Int[(a+b*x+c*x^2)^(p+1)*(d+f*x^2)^(q-1)*
+ Simp[-d*(b*h-2*g*c)*(2*p+3)+(2*f*q*(g*b-2*a*h))*x-f*(b*h-2*g*c)*(2*p+2*q+3)*x^2,x],x] /;
+FreeQ[{a,b,c,d,f,g,h},x] && NeQ[b^2-4*a*c] && RationalQ[p,q] && p<-1 && q>0
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(g_.+h_.*x_),x_Symbol] :=
+ (a+b*x+c*x^2)^(p+1)*(d+e*x+f*x^2)^(q+1)/((b^2-4*a*c)*((c*d-a*f)^2-(b*d-a*e)*(c*e-b*f))*(p+1))*
+ (g*c*(2*a*c*e-b*(c*d+a*f))+(g*b-a*h)*(2*c^2*d+b^2*f-c*(b*e+2*a*f))+
+ c*(g*(2*c^2*d+b^2*f-c*(b*e+2*a*f))-h*(b*c*d-2*a*c*e+a*b*f))*x) +
+ 1/((b^2-4*a*c)*((c*d-a*f)^2-(b*d-a*e)*(c*e-b*f))*(p+1))*
+ Int[(a+b*x+c*x^2)^(p+1)*(d+e*x+f*x^2)^q*
+ Simp[(b*h-2*g*c)*((c*d-a*f)^2-(b*d-a*e)*(c*e-b*f))*(p+1)+
+ (b^2*(g*f)-b*(h*c*d+g*c*e+a*h*f)+2*(g*c*(c*d-a*f)-a*(-h*c*e)))*(a*f*(p+1)-c*d*(p+2))-
+ e*((g*c)*(2*a*c*e-b*(c*d+a*f))+(g*b-a*h)*(2*c^2*d+b^2*f-c*(b*e+2*a*f)))*(p+q+2)-
+ (2*f*((g*c)*(2*a*c*e-b*(c*d+a*f))+(g*b-a*h)*(2*c^2*d+b^2*f-c*(b*e+2*a*f)))*(p+q+2)-
+ (b^2*g*f-b*(h*c*d+g*c*e+a*h*f)+2*(g*c*(c*d-a*f)-a*(-h*c*e)))*
+ (b*f*(p+1)-c*e*(2*p+q+4)))*x-
+ c*f*(b^2*(g*f)-b*(h*c*d+g*c*e+a*h*f)+2*(g*c*(c*d-a*f)+a*h*c*e))*(2*p+2*q+5)*x^2,x],x]/;
+FreeQ[{a,b,c,d,e,f,g,h,q},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && RationalQ[p] && p<-1 &&
+ NeQ[(c*d-a*f)^2-(b*d-a*e)*(c*e-b*f)] && Not[Not[IntegerQ[p]] && IntegerQ[q] && q<-1]
+
+
+Int[(a_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(g_.+h_.*x_),x_Symbol] :=
+ (a+c*x^2)^(p+1)*(d+e*x+f*x^2)^(q+1)/((-4*a*c)*(a*c*e^2+(c*d-a*f)^2)*(p+1))*
+ (g*c*(2*a*c*e)+(-a*h)*(2*c^2*d-c*(2*a*f))+
+ c*(g*(2*c^2*d-c*(2*a*f))-h*(-2*a*c*e))*x) +
+ 1/((-4*a*c)*(a*c*e^2+(c*d-a*f)^2)*(p+1))*
+ Int[(a+c*x^2)^(p+1)*(d+e*x+f*x^2)^q*
+ Simp[(-2*g*c)*((c*d-a*f)^2-(-a*e)*(c*e))*(p+1)+
+ (2*(g*c*(c*d-a*f)-a*(-h*c*e)))*(a*f*(p+1)-c*d*(p+2))-
+ e*((g*c)*(2*a*c*e)+(-a*h)*(2*c^2*d-c*(+2*a*f)))*(p+q+2)-
+ (2*f*((g*c)*(2*a*c*e)+(-a*h)*(2*c^2*d+-c*(+2*a*f)))*(p+q+2)-(2*(g*c*(c*d-a*f)-a*(-h*c*e)))*(-c*e*(2*p+q+4)))*x-
+ c*f*(2*(g*c*(c*d-a*f)-a*(-h*c*e)))*(2*p+2*q+5)*x^2,x],x]/;
+FreeQ[{a,c,d,e,f,g,h,q},x] && NeQ[e^2-4*d*f] && RationalQ[p] && p<-1 && NeQ[a*c*e^2+(c*d-a*f)^2] &&
+ Not[Not[IntegerQ[p]] && IntegerQ[q] && q<-1]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+f_.*x_^2)^q_*(g_.+h_.*x_),x_Symbol] :=
+ (a+b*x+c*x^2)^(p+1)*(d+f*x^2)^(q+1)/((b^2-4*a*c)*(b^2*d*f+(c*d-a*f)^2)*(p+1))*
+ ((g*c)*(-b*(c*d+a*f))+(g*b-a*h)*(2*c^2*d+b^2*f-c*(2*a*f))+
+ c*(g*(2*c^2*d+b^2*f-c*(2*a*f))-h*(b*c*d+a*b*f))*x) +
+ 1/((b^2-4*a*c)*(b^2*d*f+(c*d-a*f)^2)*(p+1))*
+ Int[(a+b*x+c*x^2)^(p+1)*(d+f*x^2)^q*
+ Simp[(b*h-2*g*c)*((c*d-a*f)^2-(b*d)*(-b*f))*(p+1)+
+ (b^2*(g*f)-b*(h*c*d+a*h*f)+2*(g*c*(c*d-a*f)))*(a*f*(p+1)-c*d*(p+2))-
+ (2*f*((g*c)*(-b*(c*d+a*f))+(g*b-a*h)*(2*c^2*d+b^2*f-c*(2*a*f)))*(p+q+2)-
+ (b^2*(g*f)-b*(h*c*d+a*h*f)+2*(g*c*(c*d-a*f)))*
+ (b*f*(p+1)))*x-
+ c*f*(b^2*(g*f)-b*(h*c*d+a*h*f)+2*(g*c*(c*d-a*f)))*(2*p+2*q+5)*x^2,x],x]/;
+FreeQ[{a,b,c,d,f,g,h,q},x] && NeQ[b^2-4*a*c] && RationalQ[p] && p<-1 && NeQ[b^2*d*f+(c*d-a*f)^2] &&
+ Not[Not[IntegerQ[p]] && IntegerQ[q] && q<-1]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(g_.+h_.*x_),x_Symbol] :=
+ h*(a+b*x+c*x^2)^p*(d+e*x+f*x^2)^(q+1)/(2*f*(p+q+1)) -
+ (1/(2*f*(p+q+1)))*
+ Int[(a+b*x+c*x^2)^(p-1)*(d+e*x+f*x^2)^q*
+ Simp[h*p*(b*d-a*e)+a*(h*e-2*g*f)*(p+q+1)+
+ (2*h*p*(c*d-a*f)+b*(h*e-2*g*f)*(p+q+1))*x+
+ (h*p*(c*e-b*f)+c*(h*e-2*g*f)*(p+q+1))*x^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,h,q},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && RationalQ[p] && p>0 && NeQ[p+q+1]
+
+
+Int[(a_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(g_.+h_.*x_),x_Symbol] :=
+ h*(a+c*x^2)^p*(d+e*x+f*x^2)^(q+1)/(2*f*(p+q+1)) +
+ (1/(2*f*(p+q+1)))*
+ Int[(a+c*x^2)^(p-1)*(d+e*x+f*x^2)^q*
+ Simp[a*h*e*p-a*(h*e-2*g*f)*(p+q+1)-2*h*p*(c*d-a*f)*x-(h*c*e*p+c*(h*e-2*g*f)*(p+q+1))*x^2,x],x] /;
+FreeQ[{a,c,d,e,f,g,h,q},x] && NeQ[e^2-4*d*f] && RationalQ[p] && p>0 && NeQ[p+q+1]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+f_.*x_^2)^q_*(g_.+h_.*x_),x_Symbol] :=
+ h*(a+b*x+c*x^2)^p*(d+f*x^2)^(q+1)/(2*f*(p+q+1)) -
+ (1/(2*f*(p+q+1)))*
+ Int[(a+b*x+c*x^2)^(p-1)*(d+f*x^2)^q*
+ Simp[h*p*(b*d)+a*(-2*g*f)*(p+q+1)+
+ (2*h*p*(c*d-a*f)+b*(-2*g*f)*(p+q+1))*x+
+ (h*p*(-b*f)+c*(-2*g*f)*(p+q+1))*x^2,x],x] /;
+FreeQ[{a,b,c,d,f,g,h,q},x] && NeQ[b^2-4*a*c] && RationalQ[p] && p>0 && NeQ[p+q+1]
+
+
+Int[(g_.+h_.*x_)/((a_+b_.*x_+c_.*x_^2)*(d_+e_.*x_+f_.*x_^2)),x_Symbol] :=
+ With[{q=Simplify[c^2*d^2-b*c*d*e+a*c*e^2+b^2*d*f-2*a*c*d*f-a*b*e*f+a^2*f^2]},
+ 1/q*Int[Simp[g*c^2*d-g*b*c*e+a*h*c*e+g*b^2*f-a*b*h*f-a*g*c*f+c*(h*c*d-g*c*e+g*b*f-a*h*f)*x,x]/(a+b*x+c*x^2),x] +
+ 1/q*Int[Simp[-h*c*d*e+g*c*e^2+b*h*d*f-g*c*d*f-g*b*e*f+a*g*f^2-f*(h*c*d-g*c*e+g*b*f-a*h*f)*x,x]/(d+e*x+f*x^2),x] /;
+ NeQ[q]] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f]
+
+
+Int[(g_.+h_.*x_)/((a_+b_.*x_+c_.*x_^2)*(d_+f_.*x_^2)),x_Symbol] :=
+ With[{q=Simplify[c^2*d^2+b^2*d*f-2*a*c*d*f+a^2*f^2]},
+ 1/q*Int[Simp[g*c^2*d+g*b^2*f-a*b*h*f-a*g*c*f+c*(h*c*d+g*b*f-a*h*f)*x,x]/(a+b*x+c*x^2),x] +
+ 1/q*Int[Simp[b*h*d*f-g*c*d*f+a*g*f^2-f*(h*c*d+g*b*f-a*h*f)*x,x]/(d+f*x^2),x] /;
+ NeQ[q]] /;
+FreeQ[{a,b,c,d,f,g,h},x] && NeQ[b^2-4*a*c]
+
+
+Int[(g_+h_.*x_)/((a_+b_.*x_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ -2*g*Subst[Int[1/(b*d-a*e-b*x^2),x],x,Sqrt[d+e*x+f*x^2]] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && EqQ[c*e-b*f] && EqQ[h*e-2*g*f]
+
+
+Int[(g_.+h_.*x_)/((a_+b_.*x_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ -(h*e-2*g*f)/(2*f)*Int[1/((a+b*x+c*x^2)*Sqrt[d+e*x+f*x^2]),x] +
+ h/(2*f)*Int[(e+2*f*x)/((a+b*x+c*x^2)*Sqrt[d+e*x+f*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && EqQ[c*e-b*f] && NeQ[h*e-2*g*f]
+
+
+Int[x_/((a_+b_.*x_+c_.*x_^2)*Sqrt[d_+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ -2*e*Subst[Int[(1-d*x^2)/(c*e-b*f-e*(2*c*d-b*e+2*a*f)*x^2+d^2*(c*e-b*f)*x^4),x],x,
+ (1+(e+Sqrt[e^2-4*d*f])*x/(2*d))/Sqrt[d+e*x+f*x^2]] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && EqQ[b*d-a*e]
+
+
+Int[(g_+h_.*x_)/((a_+b_.*x_+c_.*x_^2)*Sqrt[d_+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ g*Subst[Int[1/(a+(c*d-a*f)*x^2),x],x,x/Sqrt[d+e*x+f*x^2]] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && EqQ[b*d-a*e] && EqQ[2*h*d-g*e]
+
+
+Int[(g_+h_.*x_)/((a_+b_.*x_+c_.*x_^2)*Sqrt[d_+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ -(2*h*d-g*e)/e*Int[1/((a+b*x+c*x^2)*Sqrt[d+e*x+f*x^2]),x] +
+ h/e*Int[(2*d+e*x)/((a+b*x+c*x^2)*Sqrt[d+e*x+f*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && EqQ[b*d-a*e] && NeQ[2*h*d-g*e]
+
+
+Int[(g_.+h_.*x_)/((a_.+b_.*x_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ -2*g*(g*b-2*a*h)*
+ Subst[Int[1/Simp[g*(g*b-2*a*h)*(b^2-4*a*c)-(b*d-a*e)*x^2,x],x],x,Simp[g*b-2*a*h-(b*h-2*g*c)*x,x]/Sqrt[d+e*x+f*x^2]] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && NeQ[b*d-a*e] &&
+ EqQ[h^2*(b*d-a*e)-2*g*h*(c*d-a*f)+g^2*(c*e-b*f)]
+
+
+Int[(g_+h_.*x_)/((a_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ -2*a*g*h*Subst[Int[1/Simp[2*a^2*g*h*c+a*e*x^2,x],x],x,Simp[a*h-g*c*x,x]/Sqrt[d+e*x+f*x^2]] /;
+FreeQ[{a,c,d,e,f,g,h},x] && EqQ[a*h^2*e+2*g*h*(c*d-a*f)-g^2*c*e]
+
+
+Int[(g_+h_.*x_)/((a_.+b_.*x_+c_.*x_^2)*Sqrt[d_+f_.*x_^2]),x_Symbol] :=
+ -2*g*(g*b-2*a*h)*Subst[Int[1/Simp[g*(g*b-2*a*h)*(b^2-4*a*c)-b*d*x^2,x],x],x,Simp[g*b-2*a*h-(b*h-2*g*c)*x,x]/Sqrt[d+f*x^2]] /;
+FreeQ[{a,b,c,d,f,g,h},x] && NeQ[b^2-4*a*c] && EqQ[b*h^2*d-2*g*h*(c*d-a*f)-g^2*b*f]
+
+
+Int[(g_.+h_.*x_)/((a_+b_.*x_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (2*c*g-h*(b-q))/q*Int[1/((b-q+2*c*x)*Sqrt[d+e*x+f*x^2]),x] -
+ (2*c*g-h*(b+q))/q*Int[1/((b+q+2*c*x)*Sqrt[d+e*x+f*x^2]),x]] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && PosQ[b^2-4*a*c]
+
+
+Int[(g_.+h_.*x_)/((a_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ (h/2+c*g/(2*q))*Int[1/((-q+c*x)*Sqrt[d+e*x+f*x^2]),x] +
+ (h/2-c*g/(2*q))*Int[1/((q+c*x)*Sqrt[d+e*x+f*x^2]),x]] /;
+FreeQ[{a,c,d,e,f,g,h},x] && NeQ[e^2-4*d*f] && PosQ[-a*c]
+
+
+Int[(g_.+h_.*x_)/((a_+b_.*x_+c_.*x_^2)*Sqrt[d_+f_.*x_^2]),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (2*c*g-h*(b-q))/q*Int[1/((b-q+2*c*x)*Sqrt[d+f*x^2]),x] -
+ (2*c*g-h*(b+q))/q*Int[1/((b+q+2*c*x)*Sqrt[d+f*x^2]),x]] /;
+FreeQ[{a,b,c,d,f,g,h},x] && NeQ[b^2-4*a*c] && PosQ[b^2-4*a*c]
+
+
+Int[(g_.+h_.*x_)/((a_.+b_.*x_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ With[{q=Rt[(c*d-a*f)^2-(b*d-a*e)*(c*e-b*f),2]},
+ 1/(2*q)*Int[Simp[h*(b*d-a*e)-g*(c*d-a*f-q)-(g*(c*e-b*f)-h*(c*d-a*f+q))*x,x]/((a+b*x+c*x^2)*Sqrt[d+e*x+f*x^2]),x] -
+ 1/(2*q)*Int[Simp[h*(b*d-a*e)-g*(c*d-a*f+q)-(g*(c*e-b*f)-h*(c*d-a*f-q))*x,x]/((a+b*x+c*x^2)*Sqrt[d+e*x+f*x^2]),x]] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && NeQ[b*d-a*e] && NegQ[b^2-4*a*c]
+
+
+Int[(g_.+h_.*x_)/((a_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ With[{q=Rt[(c*d-a*f)^2+a*c*e^2,2]},
+ 1/(2*q)*Int[Simp[-a*h*e-g*(c*d-a*f-q)+(h*(c*d-a*f+q)-g*c*e)*x,x]/((a+c*x^2)*Sqrt[d+e*x+f*x^2]),x] -
+ 1/(2*q)*Int[Simp[-a*h*e-g*(c*d-a*f+q)+(h*(c*d-a*f-q)-g*c*e)*x,x]/((a+c*x^2)*Sqrt[d+e*x+f*x^2]),x]] /;
+FreeQ[{a,c,d,e,f,g,h},x] && NeQ[e^2-4*d*f] && NegQ[-a*c]
+
+
+Int[(g_.+h_.*x_)/((a_.+b_.*x_+c_.*x_^2)*Sqrt[d_+f_.*x_^2]),x_Symbol] :=
+ With[{q=Rt[(c*d-a*f)^2+b^2*d*f,2]},
+ 1/(2*q)*Int[Simp[h*b*d-g*(c*d-a*f-q)+(h*(c*d-a*f+q)+g*b*f)*x,x]/((a+b*x+c*x^2)*Sqrt[d+f*x^2]),x] -
+ 1/(2*q)*Int[Simp[h*b*d-g*(c*d-a*f+q)+(h*(c*d-a*f-q)+g*b*f)*x,x]/((a+b*x+c*x^2)*Sqrt[d+f*x^2]),x]] /;
+FreeQ[{a,b,c,d,f,g,h},x] && NeQ[b^2-4*a*c] && NegQ[b^2-4*a*c]
+
+
+Int[(g_.+h_.*x_)/(Sqrt[a_+b_.*x_+c_.*x_^2]*Sqrt[d_+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ With[{s=Rt[b^2-4*a*c,2],t=Rt[e^2-4*d*f,2]},
+ Sqrt[b+s+2*c*x]*Sqrt[2*a+(b+s)*x]*Sqrt[e+t+2*f*x]*Sqrt[2*d+(e+t)*x]/(Sqrt[a+b*x+c*x^2]*Sqrt[d+e*x+f*x^2])*
+ Int[(g+h*x)/(Sqrt[b+s+2*c*x]*Sqrt[2*a+(b+s)*x]*Sqrt[e+t+2*f*x]*Sqrt[2*d+(e+t)*x]),x]] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f]
+
+
+Int[(g_.+h_.*x_)/(Sqrt[a_+b_.*x_+c_.*x_^2]*Sqrt[d_+f_.*x_^2]),x_Symbol] :=
+ With[{s=Rt[b^2-4*a*c,2],t=Rt[-4*d*f,2]},
+ Sqrt[b+s+2*c*x]*Sqrt[2*a+(b+s)*x]*Sqrt[t+2*f*x]*Sqrt[2*d+t*x]/(Sqrt[a+b*x+c*x^2]*Sqrt[d+f*x^2])*
+ Int[(g+h*x)/(Sqrt[b+s+2*c*x]*Sqrt[2*a+(b+s)*x]*Sqrt[t+2*f*x]*Sqrt[2*d+t*x]),x]] /;
+FreeQ[{a,b,c,d,f,g,h},x] && NeQ[b^2-4*a*c]
+
+
+Int[(g_.+h_.*x_)/((a_.+b_.*x_+c_.*x_^2)^(1/3)*(d_.+e_.*x_+f_.*x_^2)),x_Symbol] :=
+ With[{q=(-9*c*h^2/(2*c*g-b*h)^2)^(1/3)},
+ Sqrt[3]*h*q*ArcTan[1/Sqrt[3]-2^(2/3)*(1-(3*h*(b+2*c*x))/(2*c*g-b*h))^(2/3)/(Sqrt[3]*(1+(3*h*(b+2*c*x))/(2*c*g-b*h))^(1/3))]/f +
+ h*q*Log[d+e*x+f*x^2]/(2*f) -
+ 3*h*q*Log[(1-3*h*(b+2*c*x)/(2*c*g-b*h))^(2/3)+2^(1/3)*(1+3*h*(b+2*c*x)/(2*c*g-b*h))^(1/3)]/(2*f)] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && EqQ[c*e-b*f] && EqQ[c^2*d-f*(b^2-3*a*c)] && EqQ[c^2*g^2-b*c*g*h-2*b^2*h^2+9*a*c*h^2] &&
+ PositiveQ[-9*c*h^2/(2*c*g-b*h)^2]
+
+
+Int[(g_.+h_.*x_)/((a_.+b_.*x_+c_.*x_^2)^(1/3)*(d_.+e_.*x_+f_.*x_^2)),x_Symbol] :=
+ With[{q=-c/(b^2-4*a*c)},
+ (q*(a+b*x+c*x^2))^(1/3)/(a+b*x+c*x^2)^(1/3)*Int[(g+h*x)/((q*a+b*q*x+c*q*x^2)^(1/3)*(d+e*x+f*x^2)),x]] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && EqQ[c*e-b*f] && EqQ[c^2*d-f*(b^2-3*a*c)] && EqQ[c^2*g^2-b*c*g*h-2*b^2*h^2+9*a*c*h^2] &&
+ Not[PositiveQ[4*a-b^2/c]]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_*(g_.+h_.*x_),x_Symbol] :=
+ Defer[Int][(a+b*x+c*x^2)^p*(d+e*x+f*x^2)^q*(g+h*x),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q},x]
+
+
+Int[(a_.+c_.*x_^2)^p_*(d_.+e_.*x_+f_.*x_^2)^q_*(g_.+h_.*x_),x_Symbol] :=
+ Defer[Int][(a+c*x^2)^p*(d+e*x+f*x^2)^q*(g+h*x),x] /;
+FreeQ[{a,c,d,e,f,g,h,p,q},x]
+
+
+Int[(g_.+h_.*u_)^m_.*(a_.+b_.*u_+c_.*u_^2)^p_.*(d_.+e_.*u_+f_.*u_^2)^q_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(g+h*x)^m*(a+b*x+c*x^2)^p*(d+e*x+f*x^2)^q,x],x,u] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,p,q},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(g_.+h_.*u_)^m_.*(a_.+c_.*u_^2)^p_.*(d_.+e_.*u_+f_.*u_^2)^q_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(g+h*x)^m*(a+c*x^2)^p*(d+e*x+f*x^2)^q,x],x,u] /;
+FreeQ[{a,c,d,e,f,g,h,m,p,q},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(d_+e_.*x_)^m_.*(f_+g_.*x_)^n_.*(h_.+i_.*x_)^q_.*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(h+i*x)^q*(d*f+e*g*x^2)^m*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,i,m,n,p,q},x] && EqQ[e*f+d*g] && EqQ[m-n] && (IntegerQ[m] || PositiveQ[d] && PositiveQ[f])
+
+
+Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)^n_.*(h_.+i_.*x_)^q_.*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(f+g*x)^n*(h+i*x)^q*(a+b*x+c*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,h,i,m,n,p,q},x] && PositiveIntegerQ[p] && NegativeIntegerQ[m]
+
+
+Int[(d_+e_.*x_)^m_*(f_+g_.*x_)^n_*(h_.+i_.*x_)^q_.*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ (d+e*x)^FracPart[m]*(f+g*x)^FracPart[m]/(d*f+e*g*x^2)^FracPart[m]*Int[(h+i*x)^q*(d*f+e*g*x^2)^m*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,i,m,n,p,q},x] && EqQ[e*f+d*g] && EqQ[m-n]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.1.7 (a+b x+c x^2)^p (d+e x+f x^2)^q (A+B x+C x^2)*)
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_.*(d_+e_.*x_+f_.*x_^2)^q_.*(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
+ (c/f)^p*Int[(d+e*x+f*x^2)^(p+q)*(A+B*x+C*x^2),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,p,q},x] && EqQ[c*d-a*f] && EqQ[b*d-a*e] && (IntegerQ[p] || PositiveQ[c/f]) &&
+ (Not[IntegerQ[q]] || LeafCount[d+e*x+f*x^2]<=LeafCount[a+b*x+c*x^2])
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_.*(d_+e_.*x_+f_.*x_^2)^q_.*(A_.+C_.*x_^2),x_Symbol] :=
+ (c/f)^p*Int[(d+e*x+f*x^2)^(p+q)*(A+C*x^2),x] /;
+FreeQ[{a,b,c,d,e,f,A,C,p,q},x] && EqQ[c*d-a*f] && EqQ[b*d-a*e] && (IntegerQ[p] || PositiveQ[c/f]) &&
+ (Not[IntegerQ[q]] || LeafCount[d+e*x+f*x^2]<=LeafCount[a+b*x+c*x^2])
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_.*(d_+e_.*x_+f_.*x_^2)^q_.*(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
+ a^IntPart[p]*(a+b*x+c*x^2)^FracPart[p]/(d^IntPart[p]*(d+e*x+f*x^2)^FracPart[p])*Int[(d+e*x+f*x^2)^(p+q)*(A+B*x+C*x^2),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,p,q},x] && EqQ[c*d-a*f] && EqQ[b*d-a*e] && Not[IntegerQ[p]] && Not[IntegerQ[q]] && Not[PositiveQ[c/f]]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_.*(d_+e_.*x_+f_.*x_^2)^q_.*(A_.+C_.*x_^2),x_Symbol] :=
+ a^IntPart[p]*(a+b*x+c*x^2)^FracPart[p]/(d^IntPart[p]*(d+e*x+f*x^2)^FracPart[p])*Int[(d+e*x+f*x^2)^(p+q)*(A+C*x^2),x] /;
+FreeQ[{a,b,c,d,e,f,A,C,p,q},x] && EqQ[c*d-a*f] && EqQ[b*d-a*e] && Not[IntegerQ[p]] && Not[IntegerQ[q]] && Not[PositiveQ[c/f]]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_.*(d_.+e_.*x_+f_.*x_^2)^q_.*(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/((4*c)^IntPart[p]*(b+2*c*x)^(2*FracPart[p]))*Int[(b+2*c*x)^(2*p)*(d+e*x+f*x^2)^q*(A+B*x+C*x^2),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,p,q},x] && EqQ[b^2-4*a*c]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_.*(d_.+e_.*x_+f_.*x_^2)^q_.*(A_.+C_.*x_^2),x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/((4*c)^IntPart[p]*(b+2*c*x)^(2*FracPart[p]))*Int[(b+2*c*x)^(2*p)*(d+e*x+f*x^2)^q*(A+C*x^2),x] /;
+FreeQ[{a,b,c,d,e,f,A,C,p,q},x] && EqQ[b^2-4*a*c]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_.*(d_.+f_.*x_^2)^q_.*(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/((4*c)^IntPart[p]*(b+2*c*x)^(2*FracPart[p]))*Int[(b+2*c*x)^(2*p)*(d+f*x^2)^q*(A+B*x+C*x^2),x] /;
+FreeQ[{a,b,c,d,f,A,B,C,p,q},x] && EqQ[b^2-4*a*c]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_.*(d_.+f_.*x_^2)^q_.*(A_.+C_.*x_^2),x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/((4*c)^IntPart[p]*(b+2*c*x)^(2*FracPart[p]))*Int[(b+2*c*x)^(2*p)*(d+f*x^2)^q*(A+C*x^2),x] /;
+FreeQ[{a,b,c,d,f,A,C,p,q},x] && EqQ[b^2-4*a*c]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
+ (A*b*c-2*a*B*c+a*b*C-(c*(b*B-2*A*c)-C*(b^2-2*a*c))*x)*(a+b*x+c*x^2)^(p+1)*(d+e*x+f*x^2)^q/(c*(b^2-4*a*c)*(p+1)) -
+ 1/(c*(b^2-4*a*c)*(p+1))*
+ Int[(a+b*x+c*x^2)^(p+1)*(d+e*x+f*x^2)^(q-1)*
+ Simp[e*q*(A*b*c-2*a*B*c+a*b*C)-d*(c*(b*B-2*A*c)*(2*p+3)+C*(2*a*c-b^2*(p+2)))+
+ (2*f*q*(A*b*c-2*a*B*c+a*b*C)-e*(c*(b*B-2*A*c)*(2*p+q+3)+C*(2*a*c*(q+1)-b^2*(p+q+2))))*x-
+ f*(c*(b*B-2*A*c)*(2*p+2*q+3)+C*(2*a*c*(2*q+1)-b^2*(p+2*q+2)))*x^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && LtQ[p,-1] && GtQ[q,0] && Not[IGtQ[q,0]]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(A_.+C_.*x_^2),x_Symbol] :=
+ (A*b*c+a*b*C+(2*A*c^2+C*(b^2-2*a*c))*x)*(a+b*x+c*x^2)^(p+1)*(d+e*x+f*x^2)^q/(c*(b^2-4*a*c)*(p+1)) -
+ 1/(c*(b^2-4*a*c)*(p+1))*
+ Int[(a+b*x+c*x^2)^(p+1)*(d+e*x+f*x^2)^(q-1)*
+ Simp[A*c*(2*c*d*(2*p+3)+b*e*q)-C*(2*a*c*d-b^2*d*(p+2)-a*b*e*q)+
+ (C*(2*a*b*f*q-2*a*c*e*(q+1)+b^2*e*(p+q+2))+2*A*c*(b*f*q+c*e*(2*p+q+3)))*x-
+ f*(-2*A*c^2*(2*p+2*q+3)+C*(2*a*c*(2*q+1)-b^2*(p+2*q+2)))*x^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,C},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && LtQ[p,-1] && GtQ[q,0] && Not[IGtQ[q,0]]
+
+
+Int[(a_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
+ (a*B-(A*c-a*C)*x)*(a+c*x^2)^(p+1)*(d+e*x+f*x^2)^q/(2*a*c*(p+1)) -
+ 2/((-4*a*c)*(p+1))*
+ Int[(a+c*x^2)^(p+1)*(d+e*x+f*x^2)^(q-1)*
+ Simp[A*c*d*(2*p+3)-a*(C*d+B*e*q)+(A*c*e*(2*p+q+3)-a*(2*B*f*q+C*e*(q+1)))*x-f*(a*C*(2*q+1)-A*c*(2*p+2*q+3))*x^2,x],x] /;
+FreeQ[{a,c,d,e,f,A,B,C},x] && NeQ[e^2-4*d*f] && LtQ[p,-1] && GtQ[q,0] && Not[IGtQ[q,0]]
+
+
+Int[(a_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(A_.+C_.*x_^2),x_Symbol] :=
+ -(A*c-a*C)*x*(a+c*x^2)^(p+1)*(d+e*x+f*x^2)^q/(2*a*c*(p+1)) +
+ 2/(4*a*c*(p+1))*
+ Int[(a+c*x^2)^(p+1)*(d+e*x+f*x^2)^(q-1)*
+ Simp[A*c*d*(2*p+3)-a*C*d+(A*c*e*(2*p+q+3)-a*C*e*(q+1))*x-f*(a*C*(2*q+1)-A*c*(2*p+2*q+3))*x^2,x],x] /;
+FreeQ[{a,c,d,e,f,A,C},x] && NeQ[e^2-4*d*f] && LtQ[p,-1] && GtQ[q,0] && Not[IGtQ[q,0]]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+f_.*x_^2)^q_*(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
+ (A*b*c-2*a*B*c+a*b*C-(c*(b*B-2*A*c)-C*(b^2-2*a*c))*x)*(a+b*x+c*x^2)^(p+1)*(d+f*x^2)^q/(c*(b^2-4*a*c)*(p+1)) -
+ 1/(c*(b^2-4*a*c)*(p+1))*
+ Int[(a+b*x+c*x^2)^(p+1)*(d+f*x^2)^(q-1)*
+ Simp[-d*(c*(b*B-2*A*c)*(2*p+3)+C*(2*a*c-b^2*(p+2)))+
+ (2*f*q*(A*b*c-2*a*B*c+a*b*C))*x-
+ f*(c*(b*B-2*A*c)*(2*p+2*q+3)+C*(2*a*c*(2*q+1)-b^2*(p+2*q+2)))*x^2,x],x] /;
+FreeQ[{a,b,c,d,f,A,B,C},x] && NeQ[b^2-4*a*c] && LtQ[p,-1] && GtQ[q,0] && Not[IGtQ[q,0]]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+f_.*x_^2)^q_*(A_.+C_.*x_^2),x_Symbol] :=
+ (A*b*c+a*b*C+(2*A*c^2+C*(b^2-2*a*c))*x)*(a+b*x+c*x^2)^(p+1)*(d+f*x^2)^q/(c*(b^2-4*a*c)*(p+1)) -
+ 1/(c*(b^2-4*a*c)*(p+1))*
+ Int[(a+b*x+c*x^2)^(p+1)*(d+f*x^2)^(q-1)*
+ Simp[A*c*(2*c*d*(2*p+3))-C*(2*a*c*d-b^2*d*(p+2))+
+ (C*(2*a*b*f*q)+2*A*c*(b*f*q))*x-
+ f*(-2*A*c^2*(2*p+2*q+3)+C*(2*a*c*(2*q+1)-b^2*(p+2*q+2)))*x^2,x],x] /;
+FreeQ[{a,b,c,d,f,A,C},x] && NeQ[b^2-4*a*c] && LtQ[p,-1] && GtQ[q,0] && Not[IGtQ[q,0]]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
+ (a+b*x+c*x^2)^(p+1)*(d+e*x+f*x^2)^(q+1)/((b^2-4*a*c)*((c*d-a*f)^2-(b*d-a*e)*(c*e-b*f))*(p+1))*
+ ((A*c-a*C)*(2*a*c*e-b*(c*d+a*f))+(A*b-a*B)*(2*c^2*d+b^2*f-c*(b*e+2*a*f))+
+ c*(A*(2*c^2*d+b^2*f-c*(b*e+2*a*f))-B*(b*c*d-2*a*c*e+a*b*f)+C*(b^2*d-a*b*e-2*a*(c*d-a*f)))*x) +
+ 1/((b^2-4*a*c)*((c*d-a*f)^2-(b*d-a*e)*(c*e-b*f))*(p+1))*
+ Int[(a+b*x+c*x^2)^(p+1)*(d+e*x+f*x^2)^q*
+ Simp[(b*B-2*A*c-2*a*C)*((c*d-a*f)^2-(b*d-a*e)*(c*e-b*f))*(p+1)+
+ (b^2*(C*d+A*f)-b*(B*c*d+A*c*e+a*C*e+a*B*f)+2*(A*c*(c*d-a*f)-a*(c*C*d-B*c*e-a*C*f)))*(a*f*(p+1)-c*d*(p+2))-
+ e*((A*c-a*C)*(2*a*c*e-b*(c*d+a*f))+(A*b-a*B)*(2*c^2*d+b^2*f-c*(b*e+2*a*f)))*(p+q+2)-
+ (2*f*((A*c-a*C)*(2*a*c*e-b*(c*d+a*f))+(A*b-a*B)*(2*c^2*d+b^2*f-c*(b*e+2*a*f)))*(p+q+2)-
+ (b^2*(C*d+A*f)-b*(B*c*d+A*c*e+a*C*e+a*B*f)+2*(A*c*(c*d-a*f)-a*(c*C*d-B*c*e-a*C*f)))*
+ (b*f*(p+1)-c*e*(2*p+q+4)))*x-
+ c*f*(b^2*(C*d+A*f)-b*(B*c*d+A*c*e+a*C*e+a*B*f)+2*(A*c*(c*d-a*f)-a*(c*C*d-B*c*e-a*C*f)))*(2*p+2*q+5)*x^2,x],x]/;
+FreeQ[{a,b,c,d,e,f,A,B,C,q},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && LtQ[p,-1] &&
+ NeQ[(c*d-a*f)^2-(b*d-a*e)*(c*e-b*f)] && Not[Not[IntegerQ[p]] && ILtQ[q,-1]] && Not[IGtQ[q,0]]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(A_.+C_.*x_^2),x_Symbol] :=
+ (a+b*x+c*x^2)^(p+1)*(d+e*x+f*x^2)^(q+1)/((b^2-4*a*c)*((c*d-a*f)^2-(b*d-a*e)*(c*e-b*f))*(p+1))*
+ ((A*c-a*C)*(2*a*c*e-b*(c*d+a*f))+(A*b)*(2*c^2*d+b^2*f-c*(b*e+2*a*f))+
+ c*(A*(2*c^2*d+b^2*f-c*(b*e+2*a*f))+C*(b^2*d-a*b*e-2*a*(c*d-a*f)))*x) +
+ 1/((b^2-4*a*c)*((c*d-a*f)^2-(b*d-a*e)*(c*e-b*f))*(p+1))*
+ Int[(a+b*x+c*x^2)^(p+1)*(d+e*x+f*x^2)^q*
+ Simp[(-2*A*c-2*a*C)*((c*d-a*f)^2-(b*d-a*e)*(c*e-b*f))*(p+1)+
+ (b^2*(C*d+A*f)-b*(+A*c*e+a*C*e)+2*(A*c*(c*d-a*f)-a*(c*C*d-a*C*f)))*(a*f*(p+1)-c*d*(p+2))-
+ e*((A*c-a*C)*(2*a*c*e-b*(c*d+a*f))+(A*b)*(2*c^2*d+b^2*f-c*(b*e+2*a*f)))*(p+q+2)-
+ (2*f*((A*c-a*C)*(2*a*c*e-b*(c*d+a*f))+(A*b)*(2*c^2*d+b^2*f-c*(b*e+2*a*f)))*(p+q+2)-
+ (b^2*(C*d+A*f)-b*(A*c*e+a*C*e)+2*(A*c*(c*d-a*f)-a*(c*C*d-a*C*f)))*
+ (b*f*(p+1)-c*e*(2*p+q+4)))*x-
+ c*f*(b^2*(C*d+A*f)-b*(A*c*e+a*C*e)+2*(A*c*(c*d-a*f)-a*(c*C*d-a*C*f)))*(2*p+2*q+5)*x^2,x],x]/;
+FreeQ[{a,b,c,d,e,f,A,C,q},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && LtQ[p,-1] &&
+ NeQ[(c*d-a*f)^2-(b*d-a*e)*(c*e-b*f)] && Not[Not[IntegerQ[p]] && ILtQ[q,-1]] && Not[IGtQ[q,0]]
+
+
+Int[(a_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
+ (a+c*x^2)^(p+1)*(d+e*x+f*x^2)^(q+1)/((-4*a*c)*(a*c*e^2+(c*d-a*f)^2)*(p+1))*
+ ((A*c-a*C)*(2*a*c*e)+(-a*B)*(2*c^2*d-c*(2*a*f))+
+ c*(A*(2*c^2*d-c*(2*a*f))-B*(-2*a*c*e)+C*(-2*a*(c*d-a*f)))*x) +
+ 1/((-4*a*c)*(a*c*e^2+(c*d-a*f)^2)*(p+1))*
+ Int[(a+c*x^2)^(p+1)*(d+e*x+f*x^2)^q*
+ Simp[(-2*A*c-2*a*C)*((c*d-a*f)^2-(-a*e)*(c*e))*(p+1)+
+ (2*(A*c*(c*d-a*f)-a*(c*C*d-B*c*e-a*C*f)))*(a*f*(p+1)-c*d*(p+2))-
+ e*((A*c-a*C)*(2*a*c*e)+(-a*B)*(2*c^2*d-c*(+2*a*f)))*(p+q+2)-
+ (2*f*((A*c-a*C)*(2*a*c*e)+(-a*B)*(2*c^2*d+-c*(+2*a*f)))*(p+q+2)-
+ (2*(A*c*(c*d-a*f)-a*(c*C*d-B*c*e-a*C*f)))*
+ (-c*e*(2*p+q+4)))*x-
+ c*f*(2*(A*c*(c*d-a*f)-a*(c*C*d-B*c*e-a*C*f)))*(2*p+2*q+5)*x^2,x],x]/;
+FreeQ[{a,c,d,e,f,A,B,C,q},x] && NeQ[e^2-4*d*f] && LtQ[p,-1] && NeQ[a*c*e^2+(c*d-a*f)^2] &&
+ Not[Not[IntegerQ[p]] && ILtQ[q,-1]] && Not[IGtQ[q,0]]
+
+
+Int[(a_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(A_.+C_.*x_^2),x_Symbol] :=
+ (a+c*x^2)^(p+1)*(d+e*x+f*x^2)^(q+1)/((-4*a*c)*(a*c*e^2+(c*d-a*f)^2)*(p+1))*
+ ((A*c-a*C)*(2*a*c*e)+c*(A*(2*c^2*d-c*(2*a*f))+C*(-2*a*(c*d-a*f)))*x) +
+ 1/((-4*a*c)*(a*c*e^2+(c*d-a*f)^2)*(p+1))*
+ Int[(a+c*x^2)^(p+1)*(d+e*x+f*x^2)^q*
+ Simp[(-2*A*c-2*a*C)*((c*d-a*f)^2-(-a*e)*(c*e))*(p+1)+
+ (2*(A*c*(c*d-a*f)-a*(c*C*d-a*C*f)))*(a*f*(p+1)-c*d*(p+2))-
+ e*((A*c-a*C)*(2*a*c*e))*(p+q+2)-
+ (2*f*((A*c-a*C)*(2*a*c*e))*(p+q+2)-(2*(A*c*(c*d-a*f)-a*(c*C*d-a*C*f)))*(-c*e*(2*p+q+4)))*x-
+ c*f*(2*(A*c*(c*d-a*f)-a*(c*C*d-a*C*f)))*(2*p+2*q+5)*x^2,x],x]/;
+FreeQ[{a,c,d,e,f,A,C,q},x] && NeQ[e^2-4*d*f] && LtQ[p,-1] && NeQ[a*c*e^2+(c*d-a*f)^2] &&
+ Not[Not[IntegerQ[p]] && ILtQ[q,-1]] && Not[IGtQ[q,0]]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+f_.*x_^2)^q_*(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
+ (a+b*x+c*x^2)^(p+1)*(d+f*x^2)^(q+1)/((b^2-4*a*c)*(b^2*d*f+(c*d-a*f)^2)*(p+1))*
+ ((A*c-a*C)*(-b*(c*d+a*f))+(A*b-a*B)*(2*c^2*d+b^2*f-c*(2*a*f))+
+ c*(A*(2*c^2*d+b^2*f-c*(2*a*f))-B*(b*c*d+a*b*f)+C*(b^2*d-2*a*(c*d-a*f)))*x) +
+ 1/((b^2-4*a*c)*(b^2*d*f+(c*d-a*f)^2)*(p+1))*
+ Int[(a+b*x+c*x^2)^(p+1)*(d+f*x^2)^q*
+ Simp[(b*B-2*A*c-2*a*C)*((c*d-a*f)^2-(b*d)*(-b*f))*(p+1)+
+ (b^2*(C*d+A*f)-b*(B*c*d+a*B*f)+2*(A*c*(c*d-a*f)-a*(c*C*d-a*C*f)))*(a*f*(p+1)-c*d*(p+2))-
+ (2*f*((A*c-a*C)*(-b*(c*d+a*f))+(A*b-a*B)*(2*c^2*d+b^2*f-c*(2*a*f)))*(p+q+2)-
+ (b^2*(C*d+A*f)-b*(B*c*d+a*B*f)+2*(A*c*(c*d-a*f)-a*(c*C*d-a*C*f)))*
+ (b*f*(p+1)))*x-
+ c*f*(b^2*(C*d+A*f)-b*(B*c*d+a*B*f)+2*(A*c*(c*d-a*f)-a*(c*C*d-a*C*f)))*(2*p+2*q+5)*x^2,x],x]/;
+FreeQ[{a,b,c,d,f,A,B,C,q},x] && NeQ[b^2-4*a*c] && LtQ[p,-1] && NeQ[b^2*d*f+(c*d-a*f)^2] &&
+ Not[Not[IntegerQ[p]] && ILtQ[q,-1]] && Not[IGtQ[q,0]]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+f_.*x_^2)^q_*(A_.+C_.*x_^2),x_Symbol] :=
+ (a+b*x+c*x^2)^(p+1)*(d+f*x^2)^(q+1)/((b^2-4*a*c)*(b^2*d*f+(c*d-a*f)^2)*(p+1))*
+ ((A*c-a*C)*(-b*(c*d+a*f))+(A*b)*(2*c^2*d+b^2*f-c*(2*a*f))+
+ c*(A*(2*c^2*d+b^2*f-c*(2*a*f))+C*(b^2*d-2*a*(c*d-a*f)))*x) +
+ 1/((b^2-4*a*c)*(b^2*d*f+(c*d-a*f)^2)*(p+1))*
+ Int[(a+b*x+c*x^2)^(p+1)*(d+f*x^2)^q*
+ Simp[(-2*A*c-2*a*C)*((c*d-a*f)^2-(b*d)*(-b*f))*(p+1)+
+ (b^2*(C*d+A*f)+2*(A*c*(c*d-a*f)-a*(c*C*d-a*C*f)))*(a*f*(p+1)-c*d*(p+2))-
+ (2*f*((A*c-a*C)*(-b*(c*d+a*f))+(A*b)*(2*c^2*d+b^2*f-c*(2*a*f)))*(p+q+2)-
+ (b^2*(C*d+A*f)+2*(A*c*(c*d-a*f)-a*(c*C*d-a*C*f)))*
+ (b*f*(p+1)))*x-
+ c*f*(b^2*(C*d+A*f)+2*(A*c*(c*d-a*f)-a*(c*C*d-a*C*f)))*(2*p+2*q+5)*x^2,x],x]/;
+FreeQ[{a,b,c,d,f,A,C,q},x] && NeQ[b^2-4*a*c] && LtQ[p,-1] && NeQ[b^2*d*f+(c*d-a*f)^2] &&
+ Not[Not[IntegerQ[p]] && ILtQ[q,-1]] && Not[IGtQ[q,0]]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
+ (B*c*f*(2*p+2*q+3)+C*(b*f*p-c*e*(2*p+q+2))+2*c*C*f*(p+q+1)*x)*(a+b*x+c*x^2)^p*
+ (d+e*x+f*x^2)^(q+1)/(2*c*f^2*(p+q+1)*(2*p+2*q+3)) -
+ (1/(2*c*f^2*(p+q+1)*(2*p+2*q+3)))*
+ Int[(a+b*x+c*x^2)^(p-1)*(d+e*x+f*x^2)^q*
+ Simp[p*(b*d-a*e)*(C*(c*e-b*f)*(q+1)-c*(C*e-B*f)*(2*p+2*q+3))+
+ (p+q+1)*(b^2*C*d*f*p+a*c*(C*(2*d*f-e^2*(2*p+q+2))+f*(B*e-2*A*f)*(2*p+2*q+3)))+
+ (2*p*(c*d-a*f)*(C*(c*e-b*f)*(q+1)-c*(C*e-B*f)*(2*p+2*q+3))+
+ (p+q+1)*(C*e*f*p*(b^2-4*a*c)-b*c*(C*(e^2-4*d*f)*(2*p+q+2)+f*(2*C*d-B*e+2*A*f)*(2*p+2*q+3))))*x+
+ (p*(c*e-b*f)*(C*(c*e-b*f)*(q+1)-c*(C*e-B*f)*(2*p+2*q+3))+
+ (p+q+1)*(C*f^2*p*(b^2-4*a*c)-c^2*(C*(e^2-4*d*f)*(2*p+q+2)+f*(2*C*d-B*e+2*A*f)*(2*p+2*q+3))))*x^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,q},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && GtQ[p,0] &&
+ NeQ[p+q+1] && NeQ[2*p+2*q+3] && Not[IGtQ[p,0]] && Not[IGtQ[q,0]]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(A_.+C_.*x_^2),x_Symbol] :=
+ (C*(b*f*p-c*e*(2*p+q+2))+2*c*C*f*(p+q+1)*x)*(a+b*x+c*x^2)^p*
+ (d+e*x+f*x^2)^(q+1)/(2*c*f^2*(p+q+1)*(2*p+2*q+3)) -
+ (1/(2*c*f^2*(p+q+1)*(2*p+2*q+3)))*
+ Int[(a+b*x+c*x^2)^(p-1)*(d+e*x+f*x^2)^q*
+ Simp[p*(b*d-a*e)*(C*(c*e-b*f)*(q+1)-c*(C*e)*(2*p+2*q+3))+
+ (p+q+1)*(b^2*C*d*f*p+a*c*(C*(2*d*f-e^2*(2*p+q+2))+f*(-2*A*f)*(2*p+2*q+3)))+
+ (2*p*(c*d-a*f)*(C*(c*e-b*f)*(q+1)-c*(C*e)*(2*p+2*q+3))+
+ (p+q+1)*(C*e*f*p*(b^2-4*a*c)-b*c*(C*(e^2-4*d*f)*(2*p+q+2)+f*(2*C*d+2*A*f)*(2*p+2*q+3))))*x+
+ (p*(c*e-b*f)*(C*(c*e-b*f)*(q+1)-c*(C*e)*(2*p+2*q+3))+
+ (p+q+1)*(C*f^2*p*(b^2-4*a*c)-c^2*(C*(e^2-4*d*f)*(2*p+q+2)+f*(2*C*d+2*A*f)*(2*p+2*q+3))))*x^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,C,q},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f] && GtQ[p,0] &&
+ NeQ[p+q+1] && NeQ[2*p+2*q+3] && Not[IGtQ[p,0]] && Not[IGtQ[q,0]]
+
+
+Int[(a_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
+ (B*c*f*(2*p+2*q+3)+C*(-c*e*(2*p+q+2))+2*c*C*f*(p+q+1)*x)*(a+c*x^2)^p*
+ (d+e*x+f*x^2)^(q+1)/(2*c*f^2*(p+q+1)*(2*p+2*q+3)) -
+ (1/(2*c*f^2*(p+q+1)*(2*p+2*q+3)))*
+ Int[(a+c*x^2)^(p-1)*(d+e*x+f*x^2)^q*
+ Simp[p*(-a*e)*(C*(c*e)*(q+1)-c*(C*e-B*f)*(2*p+2*q+3))+
+ (p+q+1)*(a*c*(C*(2*d*f-e^2*(2*p+q+2))+f*(B*e-2*A*f)*(2*p+2*q+3)))+
+ (2*p*(c*d-a*f)*(C*(c*e)*(q+1)-c*(C*e-B*f)*(2*p+2*q+3))+
+ (p+q+1)*(C*e*f*p*(-4*a*c)))*x+
+ (p*(c*e)*(C*(c*e)*(q+1)-c*(C*e-B*f)*(2*p+2*q+3))+
+ (p+q+1)*(C*f^2*p*(-4*a*c)-c^2*(C*(e^2-4*d*f)*(2*p+q+2)+f*(2*C*d-B*e+2*A*f)*(2*p+2*q+3))))*x^2,x],x] /;
+FreeQ[{a,c,d,e,f,A,B,C,q},x] && NeQ[e^2-4*d*f] && GtQ[p,0] && NeQ[p+q+1] && NeQ[2*p+2*q+3] &&
+ Not[IGtQ[p,0]] && Not[IGtQ[q,0]]
+
+
+Int[(a_+c_.*x_^2)^p_*(d_+e_.*x_+f_.*x_^2)^q_*(A_.+C_.*x_^2),x_Symbol] :=
+ (C*(-c*e*(2*p+q+2))+2*c*C*f*(p+q+1)*x)*(a+c*x^2)^p*(d+e*x+f*x^2)^(q+1)/(2*c*f^2*(p+q+1)*(2*p+2*q+3)) -
+ (1/(2*c*f^2*(p+q+1)*(2*p+2*q+3)))*
+ Int[(a+c*x^2)^(p-1)*(d+e*x+f*x^2)^q*
+ Simp[p*(-a*e)*(C*(c*e)*(q+1)-c*(C*e)*(2*p+2*q+3))+(p+q+1)*(a*c*(C*(2*d*f-e^2*(2*p+q+2))+f*(-2*A*f)*(2*p+2*q+3)))+
+ (2*p*(c*d-a*f)*(C*(c*e)*(q+1)-c*(C*e)*(2*p+2*q+3))+(p+q+1)*(C*e*f*p*(-4*a*c)))*x+
+ (p*(c*e)*(C*(c*e)*(q+1)-c*(C*e)*(2*p+2*q+3))+
+ (p+q+1)*(C*f^2*p*(-4*a*c)-c^2*(C*(e^2-4*d*f)*(2*p+q+2)+f*(2*C*d+2*A*f)*(2*p+2*q+3))))*x^2,x],x] /;
+FreeQ[{a,c,d,e,f,A,C,q},x] && NeQ[e^2-4*d*f] && GtQ[p,0] && NeQ[p+q+1] && NeQ[2*p+2*q+3] &&
+ Not[IGtQ[p,0]] && Not[IGtQ[q,0]]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+f_.*x_^2)^q_*(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
+ (B*c*f*(2*p+2*q+3)+C*(b*f*p)+2*c*C*f*(p+q+1)*x)*(a+b*x+c*x^2)^p*
+ (d+f*x^2)^(q+1)/(2*c*f^2*(p+q+1)*(2*p+2*q+3)) -
+ (1/(2*c*f^2*(p+q+1)*(2*p+2*q+3)))*
+ Int[(a+b*x+c*x^2)^(p-1)*(d+f*x^2)^q*
+ Simp[p*(b*d)*(C*(-b*f)*(q+1)-c*(-B*f)*(2*p+2*q+3))+
+ (p+q+1)*(b^2*C*d*f*p+a*c*(C*(2*d*f)+f*(-2*A*f)*(2*p+2*q+3)))+
+ (2*p*(c*d-a*f)*(C*(-b*f)*(q+1)-c*(-B*f)*(2*p+2*q+3))+
+ (p+q+1)*(-b*c*(C*(-4*d*f)*(2*p+q+2)+f*(2*C*d+2*A*f)*(2*p+2*q+3))))*x+
+ (p*(-b*f)*(C*(-b*f)*(q+1)-c*(-B*f)*(2*p+2*q+3))+
+ (p+q+1)*(C*f^2*p*(b^2-4*a*c)-c^2*(C*(-4*d*f)*(2*p+q+2)+f*(2*C*d+2*A*f)*(2*p+2*q+3))))*x^2,x],x] /;
+FreeQ[{a,b,c,d,f,A,B,C,q},x] && NeQ[b^2-4*a*c] && GtQ[p,0] && NeQ[p+q+1] && NeQ[2*p+2*q+3] &&
+ Not[IGtQ[p,0]] && Not[IGtQ[q,0]]
+
+
+Int[(a_+b_.*x_+c_.*x_^2)^p_*(d_+f_.*x_^2)^q_*(A_.+C_.*x_^2),x_Symbol] :=
+ (C*(b*f*p)+2*c*C*f*(p+q+1)*x)*(a+b*x+c*x^2)^p*
+ (d+f*x^2)^(q+1)/(2*c*f^2*(p+q+1)*(2*p+2*q+3)) -
+ (1/(2*c*f^2*(p+q+1)*(2*p+2*q+3)))*
+ Int[(a+b*x+c*x^2)^(p-1)*(d+f*x^2)^q*
+ Simp[p*(b*d)*(C*(-b*f)*(q+1))+
+ (p+q+1)*(b^2*C*d*f*p+a*c*(C*(2*d*f)+f*(-2*A*f)*(2*p+2*q+3)))+
+ (2*p*(c*d-a*f)*(C*(-b*f)*(q+1))+
+ (p+q+1)*(-b*c*(C*(-4*d*f)*(2*p+q+2)+f*(2*C*d+2*A*f)*(2*p+2*q+3))))*x+
+ (p*(-b*f)*(C*(-b*f)*(q+1))+
+ (p+q+1)*(C*f^2*p*(b^2-4*a*c)-c^2*(C*(-4*d*f)*(2*p+q+2)+f*(2*C*d+2*A*f)*(2*p+2*q+3))))*x^2,x],x] /;
+FreeQ[{a,b,c,d,f,A,C,q},x] && NeQ[b^2-4*a*c] && GtQ[p,0] && NeQ[p+q+1] && NeQ[2*p+2*q+3] &&
+ Not[IGtQ[p,0]] && Not[IGtQ[q,0]]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/((a_+b_.*x_+c_.*x_^2)*(d_+e_.*x_+f_.*x_^2)),x_Symbol] :=
+ With[{q=c^2*d^2-b*c*d*e+a*c*e^2+b^2*d*f-2*a*c*d*f-a*b*e*f+a^2*f^2},
+ 1/q*Int[(A*c^2*d-a*c*C*d-A*b*c*e+a*B*c*e+A*b^2*f-a*b*B*f-a*A*c*f+a^2*C*f+
+ c*(B*c*d-b*C*d-A*c*e+a*C*e+A*b*f-a*B*f)*x)/(a+b*x+c*x^2),x] +
+ 1/q*Int[(c*C*d^2-B*c*d*e+A*c*e^2+b*B*d*f-A*c*d*f-a*C*d*f-A*b*e*f+a*A*f^2-
+ f*(B*c*d-b*C*d-A*c*e+a*C*e+A*b*f-a*B*f)*x)/(d+e*x+f*x^2),x] /;
+ NeQ[q]] /;
+FreeQ[{a,b,c,d,e,f,A,B,C},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f]
+
+
+Int[(A_.+C_.*x_^2)/((a_+b_.*x_+c_.*x_^2)*(d_+e_.*x_+f_.*x_^2)),x_Symbol] :=
+ With[{q=c^2*d^2-b*c*d*e+a*c*e^2+b^2*d*f-2*a*c*d*f-a*b*e*f+a^2*f^2},
+ 1/q*Int[(A*c^2*d-a*c*C*d-A*b*c*e+A*b^2*f-a*A*c*f+a^2*C*f+
+ c*(-b*C*d-A*c*e+a*C*e+A*b*f)*x)/(a+b*x+c*x^2),x] +
+ 1/q*Int[(c*C*d^2+A*c*e^2-A*c*d*f-a*C*d*f-A*b*e*f+a*A*f^2-
+ f*(-b*C*d-A*c*e+a*C*e+A*b*f)*x)/(d+e*x+f*x^2),x] /;
+ NeQ[q]] /;
+FreeQ[{a,b,c,d,e,f,A,C},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/((a_+b_.*x_+c_.*x_^2)*(d_+f_.*x_^2)),x_Symbol] :=
+ With[{q=c^2*d^2+b^2*d*f-2*a*c*d*f+a^2*f^2},
+ 1/q*Int[(A*c^2*d-a*c*C*d+A*b^2*f-a*b*B*f-a*A*c*f+a^2*C*f+c*(B*c*d-b*C*d+A*b*f-a*B*f)*x)/(a+b*x+c*x^2),x] +
+ 1/q*Int[(c*C*d^2+b*B*d*f-A*c*d*f-a*C*d*f+a*A*f^2-f*(B*c*d-b*C*d+A*b*f-a*B*f)*x)/(d+f*x^2),x] /;
+ NeQ[q]] /;
+FreeQ[{a,b,c,d,f,A,B,C},x] && NeQ[b^2-4*a*c]
+
+
+Int[(A_.+C_.*x_^2)/((a_+b_.*x_+c_.*x_^2)*(d_+f_.*x_^2)),x_Symbol] :=
+ With[{q=c^2*d^2+b^2*d*f-2*a*c*d*f+a^2*f^2},
+ 1/q*Int[(A*c^2*d-a*c*C*d+A*b^2*f-a*A*c*f+a^2*C*f+c*(-b*C*d+A*b*f)*x)/(a+b*x+c*x^2),x] +
+ 1/q*Int[(c*C*d^2-A*c*d*f-a*C*d*f+a*A*f^2-f*(-b*C*d+A*b*f)*x)/(d+f*x^2),x] /;
+ NeQ[q]] /;
+FreeQ[{a,b,c,d,f,A,C},x] && NeQ[b^2-4*a*c]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/((a_+b_.*x_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ C/c*Int[1/Sqrt[d+e*x+f*x^2],x] +
+ 1/c*Int[(A*c-a*C+(B*c-b*C)*x)/((a+b*x+c*x^2)*Sqrt[d+e*x+f*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f]
+
+
+Int[(A_.+C_.*x_^2)/((a_+b_.*x_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ C/c*Int[1/Sqrt[d+e*x+f*x^2],x] + 1/c*Int[(A*c-a*C-b*C*x)/((a+b*x+c*x^2)*Sqrt[d+e*x+f*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f,A,C},x] && NeQ[b^2-4*a*c] && NeQ[e^2-4*d*f]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/((a_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ C/c*Int[1/Sqrt[d+e*x+f*x^2],x] + 1/c*Int[(A*c-a*C+B*c*x)/((a+c*x^2)*Sqrt[d+e*x+f*x^2]),x] /;
+FreeQ[{a,c,d,e,f,A,B,C},x] && NeQ[e^2-4*d*f]
+
+
+Int[(A_.+C_.*x_^2)/((a_+c_.*x_^2)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ C/c*Int[1/Sqrt[d+e*x+f*x^2],x] + (A*c-a*C)/c*Int[1/((a+c*x^2)*Sqrt[d+e*x+f*x^2]),x] /;
+FreeQ[{a,c,d,e,f,A,C},x] && NeQ[e^2-4*d*f]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/((a_+b_.*x_+c_.*x_^2)*Sqrt[d_.+f_.*x_^2]),x_Symbol] :=
+ C/c*Int[1/Sqrt[d+f*x^2],x] + 1/c*Int[(A*c-a*C+(B*c-b*C)*x)/((a+b*x+c*x^2)*Sqrt[d+f*x^2]),x] /;
+FreeQ[{a,b,c,d,f,A,B,C},x] && NeQ[b^2-4*a*c]
+
+
+Int[(A_.+C_.*x_^2)/((a_+b_.*x_+c_.*x_^2)*Sqrt[d_.+f_.*x_^2]),x_Symbol] :=
+ C/c*Int[1/Sqrt[d+f*x^2],x] + 1/c*Int[(A*c-a*C-b*C*x)/((a+b*x+c*x^2)*Sqrt[d+f*x^2]),x] /;
+FreeQ[{a,b,c,d,f,A,C},x] && NeQ[b^2-4*a*c]
+
+
+Int[(a_.+b_.*u_+c_.*u_^2)^p_.*(d_.+e_.*u_+f_.*u_^2)^q_.*(A_.+B_.*u_+C_.*u_^2),x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*x+c*x^2)^p*(d+e*x+f*x^2)^q*(A+B*x+C*x^2),x],x,u] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,p,q},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+b_.*u_+c_.*u_^2)^p_.*(d_.+e_.*u_+f_.*u_^2)^q_.*(A_.+B_.*u_),x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*x+c*x^2)^p*(d+e*x+f*x^2)^q*(A+B*x),x],x,u] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,p,q},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+b_.*u_+c_.*u_^2)^p_.*(d_.+e_.*u_+f_.*u_^2)^q_.*(A_.+C_.*u_^2),x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*x+c*x^2)^p*(d+e*x+f*x^2)^q*(A+C*x^2),x],x,u] /;
+FreeQ[{a,b,c,d,e,f,A,C,p,q},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+c_.*u_^2)^p_.*(d_.+e_.*u_+f_.*u_^2)^q_.*(A_.+B_.*u_+C_.*u_^2),x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+c*x^2)^p*(d+e*x+f*x^2)^q*(A+B*x+C*x^2),x],x,u] /;
+FreeQ[{a,c,d,e,f,A,B,C,p,q},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+c_.*u_^2)^p_.*(d_.+e_.*u_+f_.*u_^2)^q_.*(A_.+B_.*u_),x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+c*x^2)^p*(d+e*x+f*x^2)^q*(A+B*x),x],x,u] /;
+FreeQ[{a,c,d,e,f,A,B,C,p,q},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+c_.*u_^2)^p_.*(d_.+e_.*u_+f_.*u_^2)^q_.*(A_.+C_.*u_^2),x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+c*x^2)^p*(d+e*x+f*x^2)^q*(A+C*x^2),x],x,u] /;
+FreeQ[{a,c,d,e,f,A,C,p,q},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.1.9 (d+e x)^m Pq(x) (a+b x+c x^2)^p*)
+
+
+Int[x_^m_.*Pq_*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ 1/2*Subst[Int[x^((m-1)/2)*SubstFor[x^2,Pq,x]*(a+c*x)^p,x],x,x^2] /;
+FreeQ[{a,c,p},x] && PolyQ[Pq,x^2] && IntegerQ[(m-1)/2]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(d+e*x)^(m+1)*PolynomialQuotient[Pq,d+e*x,x]*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && PolyQ[Pq,x] && EqQ[PolynomialRemainder[Pq,d+e*x,x]]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(d+e*x)^(m+1)*PolynomialQuotient[Pq,d+e*x,x]*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,d,e,m,p},x] && PolyQ[Pq,x] && EqQ[PolynomialRemainder[Pq,d+e*x,x]]
+
+
+Int[(d_.+e_.*x_)^m_.*P2_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ With[{f=Coeff[P2,x,0],g=Coeff[P2,x,1],h=Coeff[P2,x,2]},
+ h*(d+e*x)^(m+1)*(a+b*x+c*x^2)^(p+1)/(c*e*(m+2*p+3)) /;
+ EqQ[b*e*h*(m+p+2)+2*c*d*h*(p+1)-c*e*g*(m+2*p+3)] && EqQ[b*d*h*(p+1)+a*e*h*(m+1)-c*e*f*(m+2*p+3)]] /;
+FreeQ[{a,b,c,d,e,m,p},x] && PolyQ[P2,x,2] && NeQ[m+2*p+3]
+
+
+Int[(d_.+e_.*x_)^m_.*P2_*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ With[{f=Coeff[P2,x,0],g=Coeff[P2,x,1],h=Coeff[P2,x,2]},
+ h*(d+e*x)^(m+1)*(a+c*x^2)^(p+1)/(c*e*(m+2*p+3)) /;
+ EqQ[2*d*h*(p+1)-e*g*(m+2*p+3)] && EqQ[a*h*(m+1)-c*f*(m+2*p+3)]] /;
+FreeQ[{a,c,d,e,m,p},x] && PolyQ[P2,x,2] && NeQ[m+2*p+3]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*Pq*(a+b*x+c*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && PolyQ[Pq,x] && IGtQ[p,-2]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*Pq*(a+c*x^2)^p,x],x] /;
+FreeQ[{a,c,d,e,m},x] && PolyQ[Pq,x] && IGtQ[p,-2]
+
+
+Int[(d_.*x_)^m_.*Pq_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ 1/d*Int[(d*x)^(m+1)*ExpandToSum[Pq/x,x]*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,d,m,p},x] && PolyQ[Pq,x] && EqQ[Coeff[Pq,x,0]]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/((4*c)^IntPart[p]*(b+2*c*x)^(2*FracPart[p]))*Int[(d+e*x)^m*Pq*(b+2*c*x)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && PolyQ[Pq,x] && EqQ[b^2-4*a*c,0]
+
+
+Int[(e_.*x_)^m_.*Pq_*(b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(e*x)^(m-1)*ExpandToSum[e*Pq/(b+c*x),x]*(b*x+c*x^2)^(p+1),x] /;
+FreeQ[{b,c,e,m,p},x] && PolyQ[Pq,x] && EqQ[PolynomialRemainder[Pq,b+c*x,x]]
+
+
+Int[(d_+e_.*x_)^m_.*Pq_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(d+e*x)^(m-1)*ExpandToSum[d*e*Pq/(a*e+c*d*x),x]*(a+b*x+c*x^2)^(p+1),x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && PolyQ[Pq,x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && EqQ[PolynomialRemainder[Pq,a*e+c*d*x,x]]
+
+
+Int[(d_+e_.*x_)^m_.*Pq_*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(d+e*x)^(m-1)*ExpandToSum[d*e*Pq/(a*e+c*d*x),x]*(a+c*x^2)^(p+1),x] /;
+FreeQ[{a,c,d,e,m,p},x] && PolyQ[Pq,x] && EqQ[c*d^2+a*e^2,0] && EqQ[PolynomialRemainder[Pq,a*e+c*d*x,x]]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{q=Expon[Pq,x],f=Coeff[Pq,x,Expon[Pq,x]]},
+ f*(d+e*x)^(m+q-1)*(a+b*x+c*x^2)^(p+1)/(c*e^(q-1)*(m+q+2*p+1)) +
+ 1/(c*e^q*(m+q+2*p+1))*Int[(d+e*x)^m*(a+b*x+c*x^2)^p*
+ ExpandToSum[c*e^q*(m+q+2*p+1)*Pq-c*f*(m+q+2*p+1)*(d+e*x)^q+e*f*(m+p+q)*(d+e*x)^(q-2)*(b*d-2*a*e+(2*c*d-b*e)*x),x],x] /;
+ NeQ[m+q+2*p+1]] /;
+FreeQ[{a,b,c,d,e,m,p},x] && PolyQ[Pq,x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0]
+
+
+Int[(d_+e_.*x_)^m_.*Pq_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{q=Expon[Pq,x],f=Coeff[Pq,x,Expon[Pq,x]]},
+ f*(d+e*x)^(m+q-1)*(a+c*x^2)^(p+1)/(c*e^(q-1)*(m+q+2*p+1)) +
+ 1/(c*e^q*(m+q+2*p+1))*Int[(d+e*x)^m*(a+c*x^2)^p*
+ ExpandToSum[c*e^q*(m+q+2*p+1)*Pq-c*f*(m+q+2*p+1)*(d+e*x)^q-2*e*f*(m+p+q)*(d+e*x)^(q-2)*(a*e-c*d*x),x],x] /;
+ NeQ[m+q+2*p+1]] /;
+FreeQ[{a,c,d,e,m,p},x] && PolyQ[Pq,x] && EqQ[c*d^2+a*e^2,0]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(d+e*x)^(m+p)*(a/d+c/e*x)^p*Pq,x] /;
+FreeQ[{a,b,c,d,e,m},x] && PolyQ[Pq,x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && IntegerQ[p]
+
+
+Int[(d_+e_.*x_)^m_.*Pq_*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[(d+e*x)^(m+p)*(a/d+c/e*x)^p*Pq,x] /;
+FreeQ[{a,c,d,e,m},x] && PolyQ[Pq,x] && EqQ[c*d^2+a*e^2,0] && IntegerQ[p]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/((d+e*x)^FracPart[p]*(a/d+(c*x)/e)^FracPart[p])*Int[(d+e*x)^(m+p)*(a/d+c/e*x)^p*Pq,x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && PolyQ[Pq,x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_)^m_.*Pq_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ (a+c*x^2)^FracPart[p]/((d+e*x)^FracPart[p]*(a/d+(c*x)/e)^FracPart[p])*Int[(d+e*x)^(m+p)*(a/d+c/e*x)^p*Pq,x] /;
+FreeQ[{a,c,d,e,m,p},x] && PolyQ[Pq,x] && EqQ[c*d^2+a*e^2,0] && Not[IntegerQ[p]]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ Int[(a+b*x+c*x^2)^p*ExpandIntegrand[(d+e*x)^m*Pq,x],x] /;
+FreeQ[{a,b,c,d,e},x] && PolyQ[Pq,x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && LtQ[p,-1] && IGtQ[m,0] && RationalQ[a,b,c,d,e] && Not[IntegerQ[p]]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ Int[(a+c*x^2)^p*ExpandIntegrand[(d+e*x)^m*Pq,x],x] /;
+FreeQ[{a,c,d,e},x] && PolyQ[Pq,x] && NeQ[c*d^2+a*e^2,0] && LtQ[p,-1] && IGtQ[m,0] && RationalQ[a,c,d,e] && Not[IntegerQ[p]]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{Q=PolynomialQuotient[Pq,a+b*x+c*x^2,x],
+ f=Coeff[PolynomialRemainder[Pq,a+b*x+c*x^2,x],x,0],
+ g=Coeff[PolynomialRemainder[Pq,a+b*x+c*x^2,x],x,1]},
+ (d+e*x)^m*(a+b*x+c*x^2)^(p+1)*(f*b-2*a*g+(2*c*f-b*g)*x)/((p+1)*(b^2-4*a*c)) +
+ 1/((p+1)*(b^2-4*a*c))*Int[(d+e*x)^(m-1)*(a+b*x+c*x^2)^(p+1)*
+ ExpandToSum[(p+1)*(b^2-4*a*c)*(d+e*x)*Q+g*(2*a*e*m+b*d*(2*p+3))-f*(b*e*m+2*c*d*(2*p+3))-e*(2*c*f-b*g)*(m+2*p+3)*x,x],x]] /;
+FreeQ[{a,b,c,d,e},x] && PolyQ[Pq,x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && LtQ[p,-1] && GtQ[m,0]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{Q=PolynomialQuotient[Pq,a+c*x^2,x],
+ f=Coeff[PolynomialRemainder[Pq,a+c*x^2,x],x,0],
+ g=Coeff[PolynomialRemainder[Pq,a+c*x^2,x],x,1]},
+ (d+e*x)^m*(a+c*x^2)^(p+1)*(a*g-c*f*x)/(2*a*c*(p+1)) +
+ 1/(2*a*c*(p+1))*Int[(d+e*x)^(m-1)*(a+c*x^2)^(p+1)*
+ ExpandToSum[2*a*c*(p+1)*(d+e*x)*Q-a*e*g*m+c*d*f*(2*p+3)+c*e*f*(m+2*p+3)*x,x],x]] /;
+FreeQ[{a,c,d,e},x] && PolyQ[Pq,x] && NeQ[c*d^2+a*e^2,0] && LtQ[p,-1] && GtQ[m,0]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{Q=PolynomialQuotient[(d+e*x)^m*Pq,a+b*x+c*x^2,x],
+ f=Coeff[PolynomialRemainder[(d+e*x)^m*Pq,a+b*x+c*x^2,x],x,0],
+ g=Coeff[PolynomialRemainder[(d+e*x)^m*Pq,a+b*x+c*x^2,x],x,1]},
+ (b*f-2*a*g+(2*c*f-b*g)*x)*(a+b*x+c*x^2)^(p+1)/((p+1)*(b^2-4*a*c)) +
+ 1/((p+1)*(b^2-4*a*c))*Int[(d+e*x)^m*(a+b*x+c*x^2)^(p+1)*
+ ExpandToSum[(p+1)*(b^2-4*a*c)*(d+e*x)^(-m)*Q-(2*p+3)*(2*c*f-b*g)*(d+e*x)^(-m),x],x]] /;
+FreeQ[{a,b,c,d,e},x] && PolyQ[Pq,x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && LtQ[p,-1] && ILtQ[m,0]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{Q=PolynomialQuotient[(d+e*x)^m*Pq,a+c*x^2,x],
+ f=Coeff[PolynomialRemainder[(d+e*x)^m*Pq,a+c*x^2,x],x,0],
+ g=Coeff[PolynomialRemainder[(d+e*x)^m*Pq,a+c*x^2,x],x,1]},
+ (a*g-c*f*x)*(a+c*x^2)^(p+1)/(2*a*c*(p+1)) +
+ 1/(2*a*c*(p+1))*Int[(d+e*x)^m*(a+c*x^2)^(p+1)*
+ ExpandToSum[2*a*c*(p+1)*(d+e*x)^(-m)*Q+c*f*(2*p+3)*(d+e*x)^(-m),x],x]] /;
+FreeQ[{a,c,d,e},x] && PolyQ[Pq,x] && NeQ[c*d^2+a*e^2,0] && LtQ[p,-1] && ILtQ[m,0]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{Q=PolynomialQuotient[Pq,a+b*x+c*x^2,x],
+ f=Coeff[PolynomialRemainder[Pq,a+b*x+c*x^2,x],x,0],
+ g=Coeff[PolynomialRemainder[Pq,a+b*x+c*x^2,x],x,1]},
+ (d+e*x)^(m+1)*(a+b*x+c*x^2)^(p+1)*(f*(b*c*d-b^2*e+2*a*c*e)-a*g*(2*c*d-b*e)+c*(f*(2*c*d-b*e)-g*(b*d-2*a*e))*x)/
+ ((p+1)*(b^2-4*a*c)*(c*d^2-b*d*e+a*e^2)) +
+ 1/((p+1)*(b^2-4*a*c)*(c*d^2-b*d*e+a*e^2))*Int[(d+e*x)^m*(a+b*x+c*x^2)^(p+1)*
+ ExpandToSum[(p+1)*(b^2-4*a*c)*(c*d^2-b*d*e+a*e^2)*Q+
+ f*(b*c*d*e*(2*p-m+2)+b^2*e^2*(p+m+2)-2*c^2*d^2*(2*p+3)-2*a*c*e^2*(m+2*p+3))-
+ g*(a*e*(b*e-2*c*d*m+b*e*m)-b*d*(3*c*d-b*e+2*c*d*p-b*e*p))+
+ c*e*(g*(b*d-2*a*e)-f*(2*c*d-b*e))*(m+2*p+4)*x,x],x]] /;
+FreeQ[{a,b,c,d,e,m},x] && PolyQ[Pq,x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && LtQ[p,-1] && Not[GtQ[m,0]]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{Q=PolynomialQuotient[Pq,a+c*x^2,x],
+ f=Coeff[PolynomialRemainder[Pq,a+c*x^2,x],x,0],
+ g=Coeff[PolynomialRemainder[Pq,a+c*x^2,x],x,1]},
+ -(d+e*x)^(m+1)*(a+c*x^2)^(p+1)*(a*(e*f-d*g)+(c*d*f+a*e*g)*x)/(2*a*(p+1)*(c*d^2+a*e^2)) +
+ 1/(2*a*(p+1)*(c*d^2+a*e^2))*Int[(d+e*x)^m*(a+c*x^2)^(p+1)*
+ ExpandToSum[2*a*(p+1)*(c*d^2+a*e^2)*Q+c*d^2*f*(2*p+3)-a*e*(d*g*m-e*f*(m+2*p+3))+e*(c*d*f+a*e*g)*(m+2*p+4)*x,x],x]] /;
+FreeQ[{a,c,d,e,m},x] && PolyQ[Pq,x] && NeQ[c*d^2+a*e^2,0] && LtQ[p,-1] && Not[GtQ[m,0]]
+
+
+Int[(d_.+e_.*x_)^m_*Pq_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{Q=PolynomialQuotient[Pq,d+e*x,x], R=PolynomialRemainder[Pq,d+e*x,x]},
+ (e*R*(d+e*x)^(m+1)*(a+b*x+c*x^2)^(p+1))/((m+1)*(c*d^2-b*d*e+a*e^2)) +
+ 1/((m+1)*(c*d^2-b*d*e+a*e^2))*Int[(d+e*x)^(m+1)*(a+b*x+c*x^2)^p*
+ ExpandToSum[(m+1)*(c*d^2-b*d*e+a*e^2)*Q+c*d*R*(m+1)-b*e*R*(m+p+2)-c*e*R*(m+2*p+3)*x,x],x]] /;
+FreeQ[{a,b,c,d,e,p},x] && PolyQ[Pq,x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && LtQ[m,-1]
+
+
+Int[(d_.+e_.*x_)^m_*Pq_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{Q=PolynomialQuotient[Pq,d+e*x,x], R=PolynomialRemainder[Pq,d+e*x,x]},
+ (e*R*(d+e*x)^(m+1)*(a+c*x^2)^(p+1))/((m+1)*(c*d^2+a*e^2)) +
+ 1/((m+1)*(c*d^2+a*e^2))*Int[(d+e*x)^(m+1)*(a+c*x^2)^p*
+ ExpandToSum[(m+1)*(c*d^2+a*e^2)*Q+c*d*R*(m+1)-c*e*R*(m+2*p+3)*x,x],x]] /;
+FreeQ[{a,c,d,e,p},x] && PolyQ[Pq,x] && NeQ[c*d^2+a*e^2,0] && LtQ[m,-1]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_.+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ With[{q=Expon[Pq,x]},
+ Coeff[Pq,x,q]/e^q*Int[(d+e*x)^(m+q)*(a+b*x+c*x^2)^p,x] +
+ 1/e^q*Int[(d+e*x)^m*(a+b*x+c*x^2)^p*ExpandToSum[e^q*Pq-Coeff[Pq,x,q]*(d+e*x)^q,x],x] /;
+ EqQ[m+q+2*p+1,0]] /;
+FreeQ[{a,b,c,d,e,m,p},x] && PolyQ[Pq,x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ With[{q=Expon[Pq,x]},
+ Coeff[Pq,x,q]/e^q*Int[(d+e*x)^(m+q)*(a+c*x^2)^p,x] +
+ 1/e^q*Int[(d+e*x)^m*(a+c*x^2)^p*ExpandToSum[e^q*Pq-Coeff[Pq,x,q]*(d+e*x)^q,x],x] /;
+ EqQ[m+q+2*p+1,0]] /;
+FreeQ[{a,c,d,e,m,p},x] && PolyQ[Pq,x] && NeQ[c*d^2+a*e^2,0]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{q=Expon[Pq,x],f=Coeff[Pq,x,Expon[Pq,x]]},
+ f*(d+e*x)^(m+q-1)*(a+b*x+c*x^2)^(p+1)/(c*e^(q-1)*(m+q+2*p+1)) +
+ 1/(c*e^q*(m+q+2*p+1))*Int[(d+e*x)^m*(a+b*x+c*x^2)^p*ExpandToSum[c*e^q*(m+q+2*p+1)*Pq-c*f*(m+q+2*p+1)*(d+e*x)^q-
+ f*(d+e*x)^(q-2)*(b*d*e*(p+1)+a*e^2*(m+q-1)-c*d^2*(m+q+2*p+1)-e*(2*c*d-b*e)*(m+q+p)*x),x],x] /;
+ NeQ[m+q+2*p+1,0]] /;
+FreeQ[{a,b,c,d,e,m,p},x] && PolyQ[Pq,x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0]
+
+
+Int[(d_.+e_.*x_)^m_.*Pq_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{q=Expon[Pq,x],f=Coeff[Pq,x,Expon[Pq,x]]},
+ f*(d+e*x)^(m+q-1)*(a+c*x^2)^(p+1)/(c*e^(q-1)*(m+q+2*p+1)) +
+ 1/(c*e^q*(m+q+2*p+1))*Int[(d+e*x)^m*(a+c*x^2)^p*ExpandToSum[c*e^q*(m+q+2*p+1)*Pq-c*f*(m+q+2*p+1)*(d+e*x)^q-
+ f*(d+e*x)^(q-2)*(a*e^2*(m+q-1)-c*d^2*(m+q+2*p+1)-2*c*d*e*(m+q+p)*x),x],x] /;
+ NeQ[m+q+2*p+1,0]] /;
+FreeQ[{a,c,d,e,m,p},x] && PolyQ[Pq,x] && NeQ[c*d^2+a*e^2,0]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.1.8 Pq(x) (a+b x+c x^2)^p*)
+
+
+Int[Pq_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ Module[{q=Expon[Pq,x],k},
+ Int[Sum[Coeff[Pq,x,2*k]*x^(2*k),{k,0,q/2}]*(a+c*x^2)^p,x] +
+ Int[x*Sum[Coeff[Pq,x,2*k+1]*x^(2*k),{k,0,(q-1)/2}]*(a+c*x^2)^p,x]] /;
+FreeQ[{a,c,p},x] && PolyQ[Pq,x] && Not[PolyQ[Pq,x^2]] && NeQ[p,-1]
+
+
+Int[Pq_*(a_+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[Pq*(a+b*x+c*x^2)^p,x],x] /;
+FreeQ[{a,b,c},x] && PolyQ[Pq,x] && PositiveIntegerQ[p+2]
+
+
+Int[Pq_*(a_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[Pq*(a+c*x^2)^p,x],x] /;
+FreeQ[{a,c},x] && PolyQ[Pq,x] && PositiveIntegerQ[p+2]
+
+
+Int[Pq_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ Int[x*ExpandToSum[Pq/x,x]*(a+b*x+c*x^2)^p,x] /;
+FreeQ[{a,b,c,p},x] && PolyQ[Pq,x] && EqQ[Coeff[Pq,x,0]]
+
+
+Int[Pq_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ Int[x*ExpandToSum[Pq/x,x]*(a+c*x^2)^p,x] /;
+FreeQ[{a,c,p},x] && PolyQ[Pq,x] && EqQ[Coeff[Pq,x,0]]
+
+
+Int[Pq_*(a_+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ (a+b*x+c*x^2)^FracPart[p]/((4*c)^IntPart[p]*(b+2*c*x)^(2*FracPart[p]))*Int[Pq*(b+2*c*x)^(2*p),x] /;
+FreeQ[{a,b,c,p},x] && PolyQ[Pq,x] && EqQ[b^2-4*a*c]
+
+
+Int[Pq_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{Q=PolynomialQuotient[Pq,a+b*x+c*x^2,x],
+ f=Coeff[PolynomialRemainder[Pq,a+b*x+c*x^2,x],x,0],
+ g=Coeff[PolynomialRemainder[Pq,a+b*x+c*x^2,x],x,1]},
+ (b*f-2*a*g+(2*c*f-b*g)*x)*(a+b*x+c*x^2)^(p+1)/((p+1)*(b^2-4*a*c)) +
+ 1/((p+1)*(b^2-4*a*c))*Int[(a+b*x+c*x^2)^(p+1)*ExpandToSum[(p+1)*(b^2-4*a*c)*Q-(2*p+3)*(2*c*f-b*g),x],x]] /;
+FreeQ[{a,b,c},x] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && LtQ[p,-1]
+
+
+Int[Pq_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{Q=PolynomialQuotient[Pq,a+c*x^2,x],
+ f=Coeff[PolynomialRemainder[Pq,a+c*x^2,x],x,0],
+ g=Coeff[PolynomialRemainder[Pq,a+c*x^2,x],x,1]},
+ (a*g-c*f*x)*(a+c*x^2)^(p+1)/(2*a*c*(p+1)) +
+ 1/(2*a*c*(p+1))*Int[(a+c*x^2)^(p+1)*ExpandToSum[2*a*c*(p+1)*Q+c*f*(2*p+3),x],x]] /;
+FreeQ[{a,c},x] && PolyQ[Pq,x] && LtQ[p,-1]
+
+
+Int[Pq_*(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{q=Expon[Pq,x],e=Coeff[Pq,x,Expon[Pq,x]]},
+ e*x^(q-1)*(a+b*x+c*x^2)^(p+1)/(c*(q+2*p+1)) +
+ 1/(c*(q+2*p+1))*Int[(a+b*x+c*x^2)^p*
+ ExpandToSum[c*(q+2*p+1)*Pq-a*e*(q-1)*x^(q-2)-b*e*(q+p)*x^(q-1)-c*e*(q+2*p+1)*x^q,x],x]] /;
+FreeQ[{a,b,c,p},x] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && Not[LeQ[p,-1]]
+
+
+Int[Pq_*(a_+c_.*x_^2)^p_,x_Symbol] :=
+ With[{q=Expon[Pq,x],e=Coeff[Pq,x,Expon[Pq,x]]},
+ e*x^(q-1)*(a+c*x^2)^(p+1)/(c*(q+2*p+1)) +
+ 1/(c*(q+2*p+1))*Int[(a+c*x^2)^p*
+ ExpandToSum[c*(q+2*p+1)*Pq-a*e*(q-1)*x^(q-2)-c*e*(q+2*p+1)*x^q,x],x]] /;
+FreeQ[{a,c,p},x] && PolyQ[Pq,x] && Not[LeQ[p,-1]]
+
+
+
+`)
+
+func resourcesRubi121QuadraticTrinomialProductsMBytes() ([]byte, error) {
+ return _resourcesRubi121QuadraticTrinomialProductsM, nil
+}
+
+func resourcesRubi121QuadraticTrinomialProductsM() (*asset, error) {
+ bytes, err := resourcesRubi121QuadraticTrinomialProductsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/1.2.1 Quadratic trinomial products.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi122QuarticTrinomialProductsM = []byte(`(* ::Package:: *)
+
+(* ::Section:: *)
+(*1.2.2 Quartic Trinomial Product Integration Rules*)
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.2.1 (a+b x^2+c x^4)^p*)
+
+
+Int[(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ (a+b*x^2+c*x^4)^p/(b+2*c*x^2)^(2*p)*Int[(b+2*c*x^2)^(2*p),x] /;
+FreeQ[{a,b,c,p},x] && EqQ[b^2-4*a*c,0]
+
+
+Int[(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*x^2+c*x^4)^p,x],x] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c] && PositiveIntegerQ[p]
+
+
+Int[(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ x*(a+b*x^2+c*x^4)^p/(4*p+1) +
+ 2*p/(4*p+1)*Int[(2*a+b*x^2)*(a+b*x^2+c*x^4)^(p-1),x] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c] && RationalQ[p] && p>0 && IntegerQ[2*p]
+
+
+Int[(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ -x*(b^2-2*a*c+b*c*x^2)*(a+b*x^2+c*x^4)^(p+1)/(2*a*(p+1)*(b^2-4*a*c)) +
+ 1/(2*a*(p+1)*(b^2-4*a*c))*Int[(b^2-2*a*c+2*(p+1)*(b^2-4*a*c)+b*c*(4*p+7)*x^2)*(a+b*x^2+c*x^4)^(p+1),x] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c] && RationalQ[p] && p<-1 && IntegerQ[2*p]
+
+
+Int[1/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ c/q*Int[1/(b/2-q/2+c*x^2),x] - c/q*Int[1/(b/2+q/2+c*x^2),x]] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c] && PosQ[b^2-4*a*c]
+
+
+Int[1/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[a/c,2]},
+ With[{r=Rt[2*q-b/c,2]},
+ 1/(2*c*q*r)*Int[(r-x)/(q-r*x+x^2),x] + 1/(2*c*q*r)*Int[(r+x)/(q+r*x+x^2),x]]] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c] && NegQ[b^2-4*a*c]
+
+
+Int[1/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ 2*Sqrt[-c]*Int[1/(Sqrt[b+q+2*c*x^2]*Sqrt[-b+q-2*c*x^2]),x]] /;
+FreeQ[{a,b,c},x] && PositiveQ[b^2-4*a*c] && NegativeQ[c]
+
+
+Int[1/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[c/a,4]},
+ (1+q^2*x^2)*Sqrt[(a+b*x^2+c*x^4)/(a*(1+q^2*x^2)^2)]/(2*q*Sqrt[a+b*x^2+c*x^4])*EllipticF[2*ArcTan[q*x],1/2-b*q^2/(4*c)]] /;
+FreeQ[{a,b,c},x] && PositiveQ[b^2-4*a*c] && PositiveQ[c/a] && NegativeQ[b/a]
+
+
+Int[1/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ Sqrt[-2*a-(b-q)*x^2]*Sqrt[(2*a+(b+q)*x^2)/q]/(2*Sqrt[-a]*Sqrt[a+b*x^2+c*x^4])*
+ EllipticF[ArcSin[x/Sqrt[(2*a+(b+q)*x^2)/(2*q)]],(b+q)/(2*q)] /;
+ IntegerQ[q]] /;
+FreeQ[{a,b,c},x] && PositiveQ[b^2-4*a*c] && NegativeQ[a] && PositiveQ[c]
+
+
+Int[1/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ Sqrt[(2*a+(b-q)*x^2)/(2*a+(b+q)*x^2)]*Sqrt[(2*a+(b+q)*x^2)/q]/(2*Sqrt[a+b*x^2+c*x^4]*Sqrt[a/(2*a+(b+q)*x^2)])*
+ EllipticF[ArcSin[x/Sqrt[(2*a+(b+q)*x^2)/(2*q)]],(b+q)/(2*q)]] /;
+FreeQ[{a,b,c},x] && PositiveQ[b^2-4*a*c] && NegativeQ[a] && PositiveQ[c]
+
+
+Int[1/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (2*a+(b+q)*x^2)*Sqrt[(2*a+(b-q)*x^2)/(2*a+(b+q)*x^2)]/(2*a*Rt[(b+q)/(2*a),2]*Sqrt[a+b*x^2+c*x^4])*
+ EllipticF[ArcTan[Rt[(b+q)/(2*a),2]*x],2*q/(b+q)] /;
+ PosQ[(b+q)/a] && Not[PosQ[(b-q)/a] && SimplerSqrtQ[(b-q)/(2*a),(b+q)/(2*a)]]] /;
+FreeQ[{a,b,c},x] && PositiveQ[b^2-4*a*c]
+
+
+Int[1/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (2*a+(b-q)*x^2)*Sqrt[(2*a+(b+q)*x^2)/(2*a+(b-q)*x^2)]/(2*a*Rt[(b-q)/(2*a),2]*Sqrt[a+b*x^2+c*x^4])*
+ EllipticF[ArcTan[Rt[(b-q)/(2*a),2]*x],-2*q/(b-q)] /;
+ PosQ[(b-q)/a]] /;
+FreeQ[{a,b,c},x] && PositiveQ[b^2-4*a*c]
+
+
+Int[1/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ Sqrt[1+(b+q)*x^2/(2*a)]*Sqrt[1+(b-q)*x^2/(2*a)]/(Rt[-(b+q)/(2*a),2]*Sqrt[a+b*x^2+c*x^4])*
+ EllipticF[ArcSin[Rt[-(b+q)/(2*a),2]*x],(b-q)/(b+q)] /;
+ NegQ[(b+q)/a] && Not[NegQ[(b-q)/a] && SimplerSqrtQ[-(b-q)/(2*a),-(b+q)/(2*a)]]] /;
+FreeQ[{a,b,c},x] && PositiveQ[b^2-4*a*c]
+
+
+Int[1/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ Sqrt[1+(b-q)*x^2/(2*a)]*Sqrt[1+(b+q)*x^2/(2*a)]/(Rt[-(b-q)/(2*a),2]*Sqrt[a+b*x^2+c*x^4])*
+ EllipticF[ArcSin[Rt[-(b-q)/(2*a),2]*x],(b+q)/(b-q)] /;
+ NegQ[(b-q)/a]] /;
+FreeQ[{a,b,c},x] && PositiveQ[b^2-4*a*c]
+
+
+Int[1/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[c/a,4]},
+ (1+q^2*x^2)*Sqrt[(a+b*x^2+c*x^4)/(a*(1+q^2*x^2)^2)]/(2*q*Sqrt[a+b*x^2+c*x^4])*EllipticF[2*ArcTan[q*x],1/2-b*q^2/(4*c)]] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c] && PosQ[c/a]
+
+
+Int[1/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ Sqrt[1+2*c*x^2/(b-q)]*Sqrt[1+2*c*x^2/(b+q)]/Sqrt[a+b*x^2+c*x^4]*
+ Int[1/(Sqrt[1+2*c*x^2/(b-q)]*Sqrt[1+2*c*x^2/(b+q)]),x]] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c] && NegQ[c/a]
+
+
+Int[(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ a^IntPart[p]*(a+b*x^2+c*x^4)^FracPart[p]/
+ ((1+2*c*x^2/(b+Rt[b^2-4*a*c,2]))^FracPart[p]*(1+2*c*x^2/(b-Rt[b^2-4*a*c,2]))^FracPart[p])*
+ Int[(1+2*c*x^2/(b+Sqrt[b^2-4*a*c]))^p*(1+2*c*x^2/(b-Sqrt[b^2-4*a*c]))^p,x] /;
+FreeQ[{a,b,c,p},x] && NeQ[b^2-4*a*c]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.2.2 (d x)^m (a+b x^2+c x^4)^p*)
+
+
+Int[x_*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ 1/2*Subst[Int[(a+b*x+c*x^2)^p,x],x,x^2] /;
+FreeQ[{a,b,c,p},x]
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d*x)^m*(a+b*x^2+c*x^4)^p,x],x] /;
+FreeQ[{a,b,c,d,m},x] && PositiveIntegerQ[p] && Not[IntegerQ[Simplify[(m+1)/2]]]
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (d*x)^(m+1)*(a+b*x^n+c*x^(2*n))^(p+1)/(2*a*d*n*(p+1)*(2*p+1)) -
+ (d*x)^(m+1)*(2*a+b*x^n)*(a+b*x^n+c*x^(2*n))^p/(2*a*d*n*(2*p+1)) /;
+FreeQ[{a,b,c,d,m,n,p},x] && EqQ[n2,2*n] && EqQ[b^2-4*a*c,0] && EqQ[m+2*n(p+1)+1,0] && NeQ[2*p+1,0]
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (a+b*x^n+c*x^(2*n))^FracPart[p]/(c^IntPart[p]*(b/2+c*x^n)^(2*FracPart[p]))*Int[(d*x)^m*(b/2+c*x^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,m,n,p},x] && EqQ[n2,2*n] && EqQ[b^2-4*a*c,0]
+
+
+Int[x_^m_.*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ 1/2*Subst[Int[x^(Simplify[(m+1)/2]-1)*(a+b*x+c*x^2)^p,x],x,x^2] /;
+FreeQ[{a,b,c,p},x] && NeQ[b^2-4*a*c] && IntegerQ[(m+1)/2]
+
+
+Int[(d_.*x_)^m_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ With[{k=Denominator[m]},
+ k/d*Subst[Int[x^(k*(m+1)-1)*(a+b*x^(2*k)/d^2+c*x^(4*k)/d^4)^p,x],x,(d*x)^(1/k)]] /;
+FreeQ[{a,b,c,d,p},x] && NeQ[b^2-4*a*c] && FractionQ[m] && IntegerQ[p]
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ d*(d*x)^(m-1)*(2*b*p+c*(m+4*p-1)*x^2)*(a+b*x^2+c*x^4)^p/(c*(m+4*p+1)*(m+4*p-1)) -
+ 2*p*d^2/(c*(m+4*p+1)*(m+4*p-1))*
+ Int[(d*x)^(m-2)*(a+b*x^2+c*x^4)^(p-1)*Simp[a*b*(m-1)-(2*a*c*(m+4*p-1)-b^2*(m+2*p-1))*x^2,x],x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b^2-4*a*c] && RationalQ[m,p] && p>0 && m>1 && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ (d*x)^(m+1)*(a+b*x^2+c*x^4)^p/(d*(m+1)) -
+ 2*p/(d^2*(m+1))*Int[(d*x)^(m+2)*(b+2*c*x^2)*(a+b*x^2+c*x^4)^(p-1),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b^2-4*a*c] && RationalQ[m,p] && p>0 && m<-1 && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ (d*x)^(m+1)*(a+b*x^2+c*x^4)^p/(d*(m+4*p+1)) +
+ 2*p/(m+4*p+1)*Int[(d*x)^m*(2*a+b*x^2)*(a+b*x^2+c*x^4)^(p-1),x] /;
+FreeQ[{a,b,c,d,m},x] && NeQ[b^2-4*a*c] && RationalQ[p] && p>0 && NeQ[m+4*p+1] && IntegerQ[2*p] &&
+ (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ d*(d*x)^(m-1)*(b+2*c*x^2)*(a+b*x^2+c*x^4)^(p+1)/(2*(p+1)*(b^2-4*a*c)) -
+ d^2/(2*(p+1)*(b^2-4*a*c))*
+ Int[(d*x)^(m-2)*(b*(m-1)+2*c*(m+4*(p+1)+1)*x^2)*(a+b*x^2+c*x^4)^(p+1),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b^2-4*a*c] && RationalQ[m,p] && p<-1 && 13 && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ -(d*x)^(m+1)*(b^2-2*a*c+b*c*x^2)*(a+b*x^2+c*x^4)^(p+1)/(2*a*d*(p+1)*(b^2-4*a*c)) +
+ 1/(2*a*(p+1)*(b^2-4*a*c))*
+ Int[(d*x)^m*(a+b*x^2+c*x^4)^(p+1)*Simp[b^2*(m+2*p+3)-2*a*c*(m+4*(p+1)+1)+b*c*(m+4*p+7)*x^2,x],x] /;
+FreeQ[{a,b,c,d,m},x] && NeQ[b^2-4*a*c] && RationalQ[p] && p<-1 && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ d^3*(d*x)^(m-3)*(a+b*x^2+c*x^4)^(p+1)/(c*(m+4*p+1)) -
+ d^4/(c*(m+4*p+1))*
+ Int[(d*x)^(m-4)*Simp[a*(m-3)+b*(m+2*p-1)*x^2,x]*(a+b*x^2+c*x^4)^p,x] /;
+FreeQ[{a,b,c,d,p},x] && NeQ[b^2-4*a*c] && RationalQ[m] && m>3 && NeQ[m+4*p+1] && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(d_.*x_)^m_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ (d*x)^(m+1)*(a+b*x^2+c*x^4)^(p+1)/(a*d*(m+1)) -
+ 1/(a*d^2*(m+1))*Int[(d*x)^(m+2)*(b*(m+2*p+3)+c*(m+4*p+5)*x^2)*(a+b*x^2+c*x^4)^p,x] /;
+FreeQ[{a,b,c,d,p},x] && NeQ[b^2-4*a*c] && RationalQ[m] && m<-1 && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(d_.*x_)^m_/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ (d*x)^(m+1)/(a*d*(m+1)) -
+ 1/(a*d^2)*Int[(d*x)^(m+2)*(b+c*x^2)/(a+b*x^2+c*x^4),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b^2-4*a*c] && RationalQ[m] && m<-1
+
+
+Int[x_^m_/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ Int[PolynomialDivide[x^m,(a+b*x^2+c*x^4),x],x] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c] && IntegerQ[m] && m>5
+
+
+Int[(d_.*x_)^m_/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ d^3*(d*x)^(m-3)/(c*(m-3)) - d^4/c*Int[(d*x)^(m-4)*(a+b*x^2)/(a+b*x^2+c*x^4),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b^2-4*a*c] && RationalQ[m] && m>3
+
+
+Int[x_^2/(a_+b_.*x_^2+c_.*x_^4), x_Symbol] :=
+ With[{q=Rt[a/c,2]},
+ 1/2*Int[(q+x^2)/(a+b*x^2+c*x^4),x] - 1/2*Int[(q-x^2)/(a+b*x^2+c*x^4),x]] /;
+FreeQ[{a,b,c},x] && NegativeQ[b^2-4*a*c] && PosQ[a*c]
+
+
+Int[x_^m_./(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[a/c,2]},
+ With[{r=Rt[2*q-b/c,2]},
+ 1/(2*c*r)*Int[x^(m-3)*(q+r*x)/(q+r*x+x^2),x] -
+ 1/(2*c*r)*Int[x^(m-3)*(q-r*x)/(q-r*x+x^2),x]]] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c] && 3<=m<4 && NegQ[b^2-4*a*c]
+
+
+Int[x_^m_./(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[a/c,2]},
+ With[{r=Rt[2*q-b/c,2]},
+ 1/(2*c*r)*Int[x^(m-1)/(q-r*x+x^2),x] - 1/(2*c*r)*Int[x^(m-1)/(q+r*x+x^2),x]]] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c] && 1<=m<3 && NegQ[b^2-4*a*c]
+
+
+Int[(d_.*x_)^m_/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ d^2/2*(b/q+1)*Int[(d*x)^(m-2)/(b/2+q/2+c*x^2),x] -
+ d^2/2*(b/q-1)*Int[(d*x)^(m-2)/(b/2-q/2+c*x^2),x]] /;
+FreeQ[{a,b,c,d},x] && NeQ[b^2-4*a*c] && RationalQ[m] && m>=2
+
+
+Int[(d_.*x_)^m_./(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ c/q*Int[(d*x)^m/(b/2-q/2+c*x^2),x] - c/q*Int[(d*x)^m/(b/2+q/2+c*x^2),x]] /;
+FreeQ[{a,b,c,d,m},x] && NeQ[b^2-4*a*c]
+
+
+Int[x_^2/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ 2*Sqrt[-c]*Int[x^2/(Sqrt[b+q+2*c*x^2]*Sqrt[-b+q-2*c*x^2]),x]] /;
+FreeQ[{a,b,c},x] && PositiveQ[b^2-4*a*c] && NegativeQ[c]
+
+
+Int[x_^2/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[c/a,2]},
+ 1/q*Int[1/Sqrt[a+b*x^2+c*x^4],x] - 1/q*Int[(1-q*x^2)/Sqrt[a+b*x^2+c*x^4],x]] /;
+FreeQ[{a,b,c},x] && PositiveQ[b^2-4*a*c] && PositiveQ[c/a] && NegativeQ[b/a]
+
+
+Int[x_^2/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ -(b-q)/(2*c)*Int[1/Sqrt[a+b*x^2+c*x^4],x] + 1/(2*c)*Int[(b-q+2*c*x^2)/Sqrt[a+b*x^2+c*x^4],x]] /;
+FreeQ[{a,b,c},x] && PositiveQ[b^2-4*a*c] && NegativeQ[a] && PositiveQ[c]
+
+
+Int[x_^2/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ x*(b+q+2*c*x^2)/(2*c*Sqrt[a+b*x^2+c*x^4]) -
+ Rt[(b+q)/(2*a),2]*(2*a+(b+q)*x^2)*Sqrt[(2*a+(b-q)*x^2)/(2*a+(b+q)*x^2)]/(2*c*Sqrt[a+b*x^2+c*x^4])*
+ EllipticE[ArcTan[Rt[(b+q)/(2*a),2]*x],2*q/(b+q)] /;
+ PosQ[(b+q)/a] && Not[PosQ[(b-q)/a] && SimplerSqrtQ[(b-q)/(2*a),(b+q)/(2*a)]]] /;
+FreeQ[{a,b,c},x] && PositiveQ[b^2-4*a*c]
+
+
+Int[x_^2/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ x*(b-q+2*c*x^2)/(2*c*Sqrt[a+b*x^2+c*x^4]) -
+ Rt[(b-q)/(2*a),2]*(2*a+(b-q)*x^2)*Sqrt[(2*a+(b+q)*x^2)/(2*a+(b-q)*x^2)]/(2*c*Sqrt[a+b*x^2+c*x^4])*
+ EllipticE[ArcTan[Rt[(b-q)/(2*a),2]*x],-2*q/(b-q)] /;
+ PosQ[(b-q)/a]] /;
+FreeQ[{a,b,c},x] && PositiveQ[b^2-4*a*c]
+
+
+Int[x_^2/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ -(b+q)/(2*c)*Int[1/Sqrt[a+b*x^2+c*x^4],x] + 1/(2*c)*Int[(b+q+2*c*x^2)/Sqrt[a+b*x^2+c*x^4],x] /;
+ NegQ[(b+q)/a] && Not[NegQ[(b-q)/a] && SimplerSqrtQ[-(b-q)/(2*a),-(b+q)/(2*a)]]] /;
+FreeQ[{a,b,c},x] && PositiveQ[b^2-4*a*c]
+
+
+Int[x_^2/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ -(b-q)/(2*c)*Int[1/Sqrt[a+b*x^2+c*x^4],x] + 1/(2*c)*Int[(b-q+2*c*x^2)/Sqrt[a+b*x^2+c*x^4],x] /;
+ NegQ[(b-q)/a]] /;
+FreeQ[{a,b,c},x] && PositiveQ[b^2-4*a*c]
+
+
+Int[x_^2/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[c/a,2]},
+ 1/q*Int[1/Sqrt[a+b*x^2+c*x^4],x] - 1/q*Int[(1-q*x^2)/Sqrt[a+b*x^2+c*x^4],x]] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c] && PosQ[c/a]
+
+
+Int[x_^2/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ Sqrt[1+2*c*x^2/(b-q)]*Sqrt[1+2*c*x^2/(b+q)]/Sqrt[a+b*x^2+c*x^4]*
+ Int[x^2/(Sqrt[1+2*c*x^2/(b-q)]*Sqrt[1+2*c*x^2/(b+q)]),x]] /;
+FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c] && NegQ[c/a]
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ a^IntPart[p]*(a+b*x^2+c*x^4)^FracPart[p]/
+ ((1+2*c*x^2/(b+Rt[b^2-4*a*c,2]))^FracPart[p]*(1+2*c*x^2/(b-Rt[b^2-4*a*c,2]))^FracPart[p])*
+ Int[(d*x)^m*(1+2*c*x^2/(b+Sqrt[b^2-4*a*c]))^p*(1+2*c*x^2/(b-Sqrt[b^2-4*a*c]))^p,x] /;
+FreeQ[{a,b,c,d,m,p},x]
+
+
+Int[u_^m_.*(a_.+b_.*v_^2+c_.*v_^4)^p_.,x_Symbol] :=
+ u^m/(Coefficient[v,x,1]*v^m)*Subst[Int[x^m*(a+b*x^2+c*x^(2*2))^p,x],x,v] /;
+FreeQ[{a,b,c,m,p},x] && LinearPairQ[u,v,x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.2.3 (d+e x^2)^q (a+b x^2+c x^4)^p*)
+
+
+Int[(d_+e_.*x_^2)/(b_.*x_^2+c_.*x_^4)^(3/4),x_Symbol] :=
+ -2*(c*d-b*e)*(b*x^2+c*x^4)^(1/4)/(b*c*x) + e/c*Int[(b*x^2+c*x^4)^(1/4)/x^2,x] /;
+FreeQ[{b,c,d,e},x]
+
+
+Int[(d_+e_.*x_^2)*(b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ e*(b*x^2+c*x^4)^(p+1)/(c*(4*p+3)*x) /;
+FreeQ[{b,c,d,e,p},x] && Not[IntegerQ[p]] && NeQ[4*p+3] && EqQ[b*e*(2*p+1)-c*d*(4*p+3)]
+
+
+Int[(d_+e_.*x_^2)*(b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ e*(b*x^2+c*x^4)^(p+1)/(c*(4*p+3)*x) - ((b*e*(2*p+1)-c*d*(4*p+3))/(c*(4*p+3)))*Int[(b*x^2+c*x^4)^p,x] /;
+FreeQ[{b,c,d,e,p},x] && Not[IntegerQ[p]] && NeQ[4*p+3] && NeQ[b*e*(2*p+1)-c*d*(4*p+3)]
+
+
+Int[(d_+e_.*x_^2)^q_.*(b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ (b*x^2+c*x^4)^FracPart[p]/(x^(2*FracPart[p])*(b+c*x^2)^FracPart[p])*Int[x^(2*p)*(d+e*x^2)^q*(b+c*x^2)^p,x] /;
+FreeQ[{b,c,d,e,p,q},x] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_^n_.)^q_.*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (a+b*x^n+c*x^(2*n))^p/(d+e*x^n)^(2*p)*Int[(d+e*x^n)^(q+2*p),x] /;
+FreeQ[{a,b,c,d,e,n,p,q},x] && EqQ[n2,2*n] && EqQ[b^2-4*a*c,0] && EqQ[2*c*d-b*e,0]
+
+
+Int[(d_+e_.*x_^n_.)^q_.*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (a+b*x^n+c*x^(2*n))^FracPart[p]/(c^IntPart[p]*(b/2+c*x^n)^(2*FracPart[p]))*Int[(d+e*x^n)^q*(b/2+c*x^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,n,p,q},x] && EqQ[n2,2*n] && EqQ[b^2-4*a*c,0]
+
+
+Int[(d_+e_.*x_^2)^q_.*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ Int[(d+e*x^2)^(p+q)*(a/d+c/e*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,q},x] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] && IntegerQ[p]
+
+
+Int[(d_+e_.*x_^2)^q_.*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ Int[(d+e*x^2)^(p+q)*(a/d+c/e*x^2)^p,x] /;
+FreeQ[{a,c,d,e,q},x] && EqQ[c*d^2+a*e^2] && IntegerQ[p]
+
+
+Int[(d_+e_.*x_^2)^q_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ (a+b*x^2+c*x^4)^FracPart[p]/((d+e*x^2)^FracPart[p]*(a/d+(c*x^2)/e)^FracPart[p])*Int[(d+e*x^2)^(p+q)*(a/d+c/e*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,p,q},x] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_^2)^q_*(a_+c_.*x_^4)^p_,x_Symbol] :=
+ (a+c*x^4)^FracPart[p]/((d+e*x^2)^FracPart[p]*(a/d+(c*x^2)/e)^FracPart[p])*Int[(d+e*x^2)^(p+q)*(a/d+c/e*x^2)^p,x] /;
+FreeQ[{a,c,d,e,p,q},x] && EqQ[c*d^2+a*e^2] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_^2)^q_.*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)^q*(a+b*x^2+c*x^4)^p,x],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && PositiveIntegerQ[p,q]
+
+
+Int[(d_+e_.*x_^2)^q_.*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)^q*(a+c*x^4)^p,x],x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && PositiveIntegerQ[p,q]
+
+
+Int[(d_+e_.*x_^2)^q_*(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ -(c*d^2-b*d*e+a*e^2)*x*(d+e*x^2)^(q+1)/(2*d*e^2*(q+1)) +
+ 1/(2*(q+1)*d*e^2)*Int[(d+e*x^2)^(q+1)*Simp[c*d^2-b*d*e+a*e^2*(2*(q+1)+1)+2*c*d*e*(q+1)*x^2,x],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && RationalQ[q] && q<-1
+
+
+Int[(d_+e_.*x_^2)^q_*(a_+c_.*x_^4),x_Symbol] :=
+ -(c*d^2+a*e^2)*x*(d+e*x^2)^(q+1)/(2*d*e^2*(q+1)) +
+ 1/(2*(q+1)*d*e^2)*Int[(d+e*x^2)^(q+1)*Simp[c*d^2+a*e^2*(2*(q+1)+1)+2*c*d*e*(q+1)*x^2,x],x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && RationalQ[q] && q<-1
+
+
+Int[(d_+e_.*x_^2)^q_*(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ c*x^(2+1)*(d+e*x^2)^(q+1)/(e*(2*(q+2)+1)) +
+ 1/(e*(2*(q+2)+1))*Int[(d+e*x^2)^q*(a*e*(2*(q+2)+1)-(3*c*d-b*e*(2*(q+2)+1))*x^2),x] /;
+FreeQ[{a,b,c,d,e,q},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2]
+
+
+Int[(d_+e_.*x_^2)^q_*(a_+c_.*x_^4),x_Symbol] :=
+ c*x^(2+1)*(d+e*x^2)^(q+1)/(e*(2*(q+2)+1)) +
+ 1/(e*(2*(q+2)+1))*Int[(d+e*x^2)^q*(a*e*(2*(q+2)+1)-3*c*d*x^2),x] /;
+FreeQ[{a,c,d,e,q},x] && NeQ[c*d^2+a*e^2]
+
+
+Int[(d_+e_.*x_^2)/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[2*d/e-b/c,2]},
+ e/(2*c)*Int[1/Simp[d/e+q*x+x^2,x],x] + e/(2*c)*Int[1/Simp[d/e-q*x+x^2,x],x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && EqQ[c*d^2-a*e^2] &&
+ (PositiveQ[2*d/e-b/c] || Not[NegativeQ[2*d/e-b/c]] && EqQ[d-e*Rt[a/c,2]])
+
+
+Int[(d_+e_.*x_^2)/(a_+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[2*d/e,2]},
+ e/(2*c)*Int[1/Simp[d/e+q*x+x^2,x],x] + e/(2*c)*Int[1/Simp[d/e-q*x+x^2,x],x]] /;
+FreeQ[{a,c,d,e},x] && EqQ[c*d^2-a*e^2] && PosQ[d*e]
+
+
+Int[(d_+e_.*x_^2)/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (e/2+(2*c*d-b*e)/(2*q))*Int[1/(b/2-q/2+c*x^2),x] + (e/2-(2*c*d-b*e)/(2*q))*Int[1/(b/2+q/2+c*x^2),x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && EqQ[c*d^2-a*e^2] && PositiveQ[b^2-4*a*c]
+
+
+Int[(d_+e_.*x_^2)/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[-2*d/e-b/c,2]},
+ e/(2*c*q)*Int[(q-2*x)/Simp[d/e+q*x-x^2,x],x] +
+ e/(2*c*q)*Int[(q+2*x)/Simp[d/e-q*x-x^2,x],x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && EqQ[c*d^2-a*e^2] && Not[PositiveQ[b^2-4*a*c]]
+
+
+Int[(d_+e_.*x_^2)/(a_+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[-2*d/e,2]},
+ e/(2*c*q)*Int[(q-2*x)/Simp[d/e+q*x-x^2,x],x] +
+ e/(2*c*q)*Int[(q+2*x)/Simp[d/e-q*x-x^2,x],x]] /;
+FreeQ[{a,c,d,e},x] && EqQ[c*d^2-a*e^2] && NegQ[d*e]
+
+
+Int[(d_+e_.*x_^2)/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (e/2+(2*c*d-b*e)/(2*q))*Int[1/(b/2-q/2+c*x^2),x] + (e/2-(2*c*d-b*e)/(2*q))*Int[1/(b/2+q/2+c*x^2),x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-a*e^2] && PosQ[b^2-4*a*c]
+
+
+Int[(d_+e_.*x_^2)/(a_+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ (e/2+c*d/(2*q))*Int[1/(-q+c*x^2),x] + (e/2-c*d/(2*q))*Int[1/(q+c*x^2),x]] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2-a*e^2] && PosQ[-a*c]
+
+
+Int[(d_+e_.*x_^2)/(a_+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[a*c,2]},
+ (d*q+a*e)/(2*a*c)*Int[(q+c*x^2)/(a+c*x^4),x] +
+ (d*q-a*e)/(2*a*c)*Int[(q-c*x^2)/(a+c*x^4),x]] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && NeQ[c*d^2-a*e^2] && NegQ[-a*c]
+
+
+Int[(d_+e_.*x_^2)/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[a/c,2]},
+ With[{r=Rt[2*q-b/c,2]},
+ 1/(2*c*q*r)*Int[(d*r-(d-e*q)*x)/(q-r*x+x^2),x] +
+ 1/(2*c*q*r)*Int[(d*r+(d-e*q)*x)/(q+r*x+x^2),x]]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && NegQ[b^2-4*a*c]
+
+
+Int[(d_+e_.*x_^2)^q_/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)^q/(a+b*x^2+c*x^4),x],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && IntegerQ[q]
+
+
+Int[(d_+e_.*x_^2)^q_/(a_+c_.*x_^4),x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)^q/(a+c*x^4),x],x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && IntegerQ[q]
+
+
+Int[(d_+e_.*x_^2)^q_/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ e^2/(c*d^2-b*d*e+a*e^2)*Int[(d+e*x^2)^q,x] +
+ 1/(c*d^2-b*d*e+a*e^2)*Int[(d+e*x^2)^(q+1)*(c*d-b*e-c*e*x^2)/(a+b*x^2+c*x^4),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && Not[IntegerQ[q]] && RationalQ[q] && q<-1
+
+
+Int[(d_+e_.*x_^2)^q_/(a_+c_.*x_^4),x_Symbol] :=
+ e^2/(c*d^2+a*e^2)*Int[(d+e*x^2)^q,x] +
+ c/(c*d^2+a*e^2)*Int[(d+e*x^2)^(q+1)*(d-e*x^2)/(a+c*x^4),x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && Not[IntegerQ[q]] && RationalQ[q] && q<-1
+
+
+Int[(d_+e_.*x_^2)^q_/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ With[{r=Rt[b^2-4*a*c,2]},
+ 2*c/r*Int[(d+e*x^2)^q/(b-r+2*c*x^2),x] - 2*c/r*Int[(d+e*x^2)^q/(b+r+2*c*x^2),x]] /;
+FreeQ[{a,b,c,d,e,q},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && Not[IntegerQ[q]]
+
+
+Int[(d_+e_.*x_^2)^q_/(a_+c_.*x_^4),x_Symbol] :=
+ With[{r=Rt[-a*c,2]},
+ -c/(2*r)*Int[(d+e*x^2)^q/(r-c*x^2),x] - c/(2*r)*Int[(d+e*x^2)^q/(r+c*x^2),x]] /;
+FreeQ[{a,c,d,e,q},x] && NeQ[c*d^2+a*e^2] && Not[IntegerQ[q]]
+
+
+Int[(d_+e_.*x_^2)*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ x*(2*b*e*p+c*d*(4*p+3)+c*e*(4*p+1)*x^2)*(a+b*x^2+c*x^4)^p/(c*(4*p+1)*(4*p+3)) +
+ 2*p/(c*(4*p+1)*(4*p+3))*Int[Simp[2*a*c*d*(4*p+3)-a*b*e+(2*a*c*e*(4*p+1)+b*c*d*(4*p+3)-b^2*e*(2*p+1))*x^2,x]*
+ (a+b*x^2+c*x^4)^(p-1),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && FractionQ[p] && p>0 && IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_^2)*(a_+c_.*x_^4)^p_,x_Symbol] :=
+ x*(d*(4*p+3)+e*(4*p+1)*x^2)*(a+c*x^4)^p/((4*p+1)*(4*p+3)) +
+ 2*p/((4*p+1)*(4*p+3))*Int[Simp[2*a*d*(4*p+3)+(2*a*e*(4*p+1))*x^2,x]*(a+c*x^4)^(p-1),x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && FractionQ[p] && p>0 && IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_^2)*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ -x*(d*b^2-a*b*e-2*a*c*d+(b*d-2*a*e)*c*x^2)*(a+b*x^2+c*x^4)^(p+1)/(2*a*(p+1)*(b^2-4*a*c)) +
+ 1/(2*a*(p+1)*(b^2-4*a*c))*Int[Simp[(2*p+3)*d*b^2-a*b*e-2*a*c*d*(4*p+5)+(4*p+7)*(d*b-2*a*e)*c*x^2,x]*
+ (a+b*x^2+c*x^4)^(p+1),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && RationalQ[p] && p<-1 && IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_^2)*(a_+c_.*x_^4)^p_,x_Symbol] :=
+ -x*(d+e*x^2)*(a+c*x^4)^(p+1)/(4*a*(p+1)) +
+ 1/(4*a*(p+1))*Int[Simp[d*(4*p+5)+e*(4*p+7)*x^2,x]*(a+c*x^4)^(p+1),x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && RationalQ[p] && p<-1 && IntegerQ[2*p]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ 2*Sqrt[-c]*Int[(d+e*x^2)/(Sqrt[b+q+2*c*x^2]*Sqrt[-b+q-2*c*x^2]),x]] /;
+FreeQ[{a,b,c,d,e},x] && PositiveQ[b^2-4*a*c] && NegativeQ[c]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ Sqrt[-c]*Int[(d+e*x^2)/(Sqrt[q+c*x^2]*Sqrt[q-c*x^2]),x]] /;
+FreeQ[{a,c,d,e},x] && PositiveQ[a] && NegativeQ[c]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[c/a,4]},
+ -d*x*Sqrt[a+b*x^2+c*x^4]/(a*(1+q^2*x^2)) +
+ d*(1+q^2*x^2)*Sqrt[(a+b*x^2+c*x^4)/(a*(1+q^2*x^2)^2)]/(q*Sqrt[a+b*x^2+c*x^4])*EllipticE[2*ArcTan[q*x],1/2-b*q^2/(4*c)] /;
+ EqQ[e+d*q^2]] /;
+FreeQ[{a,b,c,d,e},x] && PositiveQ[b^2-4*a*c] && PositiveQ[c/a] && NegativeQ[b/a]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[c/a,2]},
+ (e+d*q)/q*Int[1/Sqrt[a+b*x^2+c*x^4],x] - e/q*Int[(1-q*x^2)/Sqrt[a+b*x^2+c*x^4],x] /;
+ NeQ[e+d*q]] /;
+FreeQ[{a,b,c,d,e},x] && PositiveQ[b^2-4*a*c] && PositiveQ[c/a] && NegativeQ[b/a]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ e*x*(b+q+2*c*x^2)/(2*c*Sqrt[a+b*x^2+c*x^4]) -
+ e*q*Sqrt[(2*a+(b-q)*x^2)/(2*a+(b+q)*x^2)]*Sqrt[(2*a+(b+q)*x^2)/q]/(2*c*Sqrt[a+b*x^2+c*x^4]*Sqrt[a/(2*a+(b+q)*x^2)])*
+ EllipticE[ArcSin[x/Sqrt[(2*a+(b+q)*x^2)/(2*q)]],(b+q)/(2*q)] /;
+ EqQ[2*c*d-e*(b-q)]] /;
+FreeQ[{a,b,c,d,e},x] && PositiveQ[b^2-4*a*c] && NegativeQ[a] && PositiveQ[c]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ e*x*(q+c*x^2)/(c*Sqrt[a+c*x^4]) -
+ Sqrt[2]*e*q*Sqrt[-a+q*x^2]*Sqrt[(a+q*x^2)/q]/(Sqrt[-a]*c*Sqrt[a+c*x^4])*
+ EllipticE[ArcSin[x/Sqrt[(a+q*x^2)/(2*q)]],1/2] /;
+ EqQ[c*d+e*q] && IntegerQ[q]] /;
+FreeQ[{a,c,d,e},x] && NegativeQ[a] && PositiveQ[c]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ e*x*(q+c*x^2)/(c*Sqrt[a+c*x^4]) -
+ Sqrt[2]*e*q*Sqrt[(a-q*x^2)/(a+q*x^2)]*Sqrt[(a+q*x^2)/q]/(c*Sqrt[a+c*x^4]*Sqrt[a/(a+q*x^2)])*
+ EllipticE[ArcSin[x/Sqrt[(a+q*x^2)/(2*q)]],1/2] /;
+ EqQ[c*d+e*q]] /;
+FreeQ[{a,c,d,e},x] && NegativeQ[a] && PositiveQ[c]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (2*c*d-e*(b-q))/(2*c)*Int[1/Sqrt[a+b*x^2+c*x^4],x] + e/(2*c)*Int[(b-q+2*c*x^2)/Sqrt[a+b*x^2+c*x^4],x] /;
+ NeQ[2*c*d-e*(b-q)]] /;
+FreeQ[{a,b,c,d,e},x] && PositiveQ[b^2-4*a*c] && NegativeQ[a] && PositiveQ[c]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ (c*d+e*q)/c*Int[1/Sqrt[a+c*x^4],x] - e/c*Int[(q-c*x^2)/Sqrt[a+c*x^4],x] /;
+ NeQ[c*d+e*q]] /;
+FreeQ[{a,c,d,e},x] && NegativeQ[a] && PositiveQ[c]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ d*Int[1/Sqrt[a+b*x^2+c*x^4],x] + e*Int[x^2/Sqrt[a+b*x^2+c*x^4],x] /;
+ PosQ[(b+q)/a] || PosQ[(b-q)/a]] /;
+FreeQ[{a,b,c,d,e},x] && PositiveQ[b^2-4*a*c]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+c_.*x_^4],x_Symbol] :=
+ d*Int[1/Sqrt[a+c*x^4],x] + e*Int[x^2/Sqrt[a+c*x^4],x] /;
+FreeQ[{a,c,d,e},x] && PositiveQ[-a*c]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ -a*e*Rt[-(b+q)/(2*a),2]*Sqrt[1+(b+q)*x^2/(2*a)]*Sqrt[1+(b-q)*x^2/(2*a)]/(c*Sqrt[a+b*x^2+c*x^4])*
+ EllipticE[ArcSin[Rt[-(b+q)/(2*a),2]*x],(b-q)/(b+q)] /;
+ NegQ[(b+q)/a] && EqQ[2*c*d-e*(b+q)] && Not[SimplerSqrtQ[-(b-q)/(2*a),-(b+q)/(2*a)]]] /;
+FreeQ[{a,b,c,d,e},x] && PositiveQ[b^2-4*a*c]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (2*c*d-e*(b+q))/(2*c)*Int[1/Sqrt[a+b*x^2+c*x^4],x] + e/(2*c)*Int[(b+q+2*c*x^2)/Sqrt[a+b*x^2+c*x^4],x] /;
+ NegQ[(b+q)/a] && NeQ[2*c*d-e*(b+q)] && Not[SimplerSqrtQ[-(b-q)/(2*a),-(b+q)/(2*a)]]] /;
+FreeQ[{a,b,c,d,e},x] && PositiveQ[b^2-4*a*c]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ -a*e*Rt[-(b-q)/(2*a),2]*Sqrt[1+(b-q)*x^2/(2*a)]*Sqrt[1+(b+q)*x^2/(2*a)]/(c*Sqrt[a+b*x^2+c*x^4])*
+ EllipticE[ArcSin[Rt[-(b-q)/(2*a),2]*x],(b+q)/(b-q)] /;
+ NegQ[(b-q)/a] && EqQ[2*c*d-e*(b-q)]] /;
+FreeQ[{a,b,c,d,e},x] && PositiveQ[b^2-4*a*c]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (2*c*d-e*(b-q))/(2*c)*Int[1/Sqrt[a+b*x^2+c*x^4],x] + e/(2*c)*Int[(b-q+2*c*x^2)/Sqrt[a+b*x^2+c*x^4],x] /;
+ NegQ[(b-q)/a] && NeQ[2*c*d-e*(b-q)]] /;
+FreeQ[{a,b,c,d,e},x] && PositiveQ[b^2-4*a*c]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[c/a,4]},
+ -d*x*Sqrt[a+b*x^2+c*x^4]/(a*(1+q^2*x^2)) +
+ d*(1+q^2*x^2)*Sqrt[(a+b*x^2+c*x^4)/(a*(1+q^2*x^2)^2)]/(q*Sqrt[a+b*x^2+c*x^4])*EllipticE[2*ArcTan[q*x],1/2-b*q^2/(4*c)] /;
+ EqQ[e+d*q^2]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && PosQ[c/a]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[c/a,4]},
+ -d*x*Sqrt[a+c*x^4]/(a*(1+q^2*x^2)) +
+ d*(1+q^2*x^2)*Sqrt[(a+c*x^4)/(a*(1+q^2*x^2)^2)]/(q*Sqrt[a+c*x^4])*EllipticE[2*ArcTan[q*x],1/2] /;
+ EqQ[e+d*q^2]] /;
+FreeQ[{a,c,d,e},x] && PosQ[c/a]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[c/a,2]},
+ (e+d*q)/q*Int[1/Sqrt[a+b*x^2+c*x^4],x] - e/q*Int[(1-q*x^2)/Sqrt[a+b*x^2+c*x^4],x] /;
+ NeQ[e+d*q]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && PosQ[c/a]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[c/a,2]},
+ (e+d*q)/q*Int[1/Sqrt[a+c*x^4],x] - e/q*Int[(1-q*x^2)/Sqrt[a+c*x^4],x] /;
+ NeQ[e+d*q]] /;
+FreeQ[{a,c,d,e},x] && PosQ[c/a]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+c_.*x_^4],x_Symbol] :=
+ d/Sqrt[a]*Int[Sqrt[1+e*x^2/d]/Sqrt[1-e*x^2/d],x] /;
+FreeQ[{a,c,d,e},x] && NegQ[c/a] && EqQ[c*d^2+a*e^2] && PositiveQ[a]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+c_.*x_^4],x_Symbol] :=
+ Sqrt[1+c*x^4/a]/Sqrt[a+c*x^4]*Int[(d+e*x^2)/Sqrt[1+c*x^4/a],x] /;
+FreeQ[{a,c,d,e},x] && NegQ[c/a] && EqQ[c*d^2+a*e^2] && Not[PositiveQ[a]]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[-c/a,2]},
+ (d*q-e)/q*Int[1/Sqrt[a+c*x^4],x] + e/q*Int[(1+q*x^2)/Sqrt[a+c*x^4],x]] /;
+FreeQ[{a,c,d,e},x] && NegQ[c/a] && NeQ[c*d^2+a*e^2]
+
+
+Int[(d_+e_.*x_^2)/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ Sqrt[1+2*c*x^2/(b-q)]*Sqrt[1+2*c*x^2/(b+q)]/Sqrt[a+b*x^2+c*x^4]*
+ Int[(d+e*x^2)/(Sqrt[1+2*c*x^2/(b-q)]*Sqrt[1+2*c*x^2/(b+q)]),x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NegQ[c/a]
+
+
+Int[(d_+e_.*x_^2)*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)*(a+b*x^2+c*x^4)^p,x],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2]
+
+
+Int[(d_+e_.*x_^2)*(a_+c_.*x_^4)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)*(a+c*x^4)^p,x],x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2]
+
+
+(* Int[(d_+e_.*x_^2)^2/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ e^2*x*Sqrt[a+b*x^2+c*x^4]/(3*c) +
+ 2*(3*c*d-b*e)/(3*c)*Int[(d+e*x^2)/Sqrt[a+b*x^2+c*x^4],x] -
+ (3*c*d^2-2*b*d*e+a*e^2)/(3*c)*Int[1/Sqrt[a+b*x^2+c*x^4],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] *)
+
+
+(* Int[(d_+e_.*x_^2)^2/Sqrt[a_+c_.*x_^4],x_Symbol] :=
+ e^2*x*Sqrt[a+c*x^4]/(3*c) +
+ 2*d*Int[(d+e*x^2)/Sqrt[a+c*x^4],x] -
+ (3*c*d^2+a*e^2)/(3*c)*Int[1/Sqrt[a+c*x^4],x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] *)
+
+
+(* Int[(d_+e_.*x_^2)^q_/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ e^2*x*(d+e*x^2)^(q-2)*Sqrt[a+b*x^2+c*x^4]/(c*(2*q-1)) +
+ 2*(q-1)*(3*c*d-b*e)/(c*(2*q-1))*Int[(d+e*x^2)^(q-1)/Sqrt[a+b*x^2+c*x^4],x] -
+ (2*q-3)*(3*c*d^2-2*b*d*e+a*e^2)/(c*(2*q-1))*Int[(d+e*x^2)^(q-2)/Sqrt[a+b*x^2+c*x^4],x] +
+ 2*d*(q-2)*(c*d^2-b*d*e+a*e^2)/(c*(2*q-1))*Int[(d+e*x^2)^(q-3)/Sqrt[a+b*x^2+c*x^4],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && PositiveIntegerQ[q-2] *)
+
+
+(* Int[(d_+e_.*x_^2)^q_/Sqrt[a_+c_.*x_^4],x_Symbol] :=
+ e^2*x*(d+e*x^2)^(q-2)*Sqrt[a+c*x^4]/(c*(2*q-1)) +
+ 6*d*(q-1)/(2*q-1)*Int[(d+e*x^2)^(q-1)/Sqrt[a+c*x^4],x] -
+ (2*q-3)*(3*c*d^2+a*e^2)/(c*(2*q-1))*Int[(d+e*x^2)^(q-2)/Sqrt[a+c*x^4],x] +
+ 2*d*(q-2)*(c*d^2+a*e^2)/(c*(2*q-1))*Int[(d+e*x^2)^(q-3)/Sqrt[a+c*x^4],x] /;
+FreeQ[{a,c,d,e},x] && PositiveIntegerQ[q-2] *)
+
+
+Int[(d_+e_.*x_^2)^q_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ With[{f=Coeff[PolynomialRemainder[(d+e*x^2)^q,a+b*x^2+c*x^4,x],x,0],
+ g=Coeff[PolynomialRemainder[(d+e*x^2)^q,a+b*x^2+c*x^4,x],x,2]},
+ x*(a+b*x^2+c*x^4)^(p+1)*(a*b*g-f*(b^2-2*a*c)-c*(b*f-2*a*g)*x^2)/(2*a*(p+1)*(b^2-4*a*c)) +
+ 1/(2*a*(p+1)*(b^2-4*a*c))*Int[(a+b*x^2+c*x^4)^(p+1)*
+ ExpandToSum[2*a*(p+1)*(b^2-4*a*c)*PolynomialQuotient[(d+e*x^2)^q,a+b*x^2+c*x^4,x]+
+ b^2*f*(2*p+3)-2*a*c*f*(4*p+5)-a*b*g+c*(4*p+7)*(b*f-2*a*g)*x^2,x],x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && PositiveIntegerQ[q-1] &&
+ RationalQ[p] && p<-1
+
+
+Int[(d_+e_.*x_^2)^q_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ e^q*x^(2*q-3)*(a+b*x^2+c*x^4)^(p+1)/(c*(4*p+2*q+1)) +
+ 1/(c*(4*p+2*q+1))*Int[(a+b*x^2+c*x^4)^p*
+ ExpandToSum[c*(4*p+2*q+1)*(d+e*x^2)^q-a*(2*q-3)*e^q*x^(2*q-4)-b*(2*p+2*q-1)*e^q*x^(2*q-2)-c*(4*p+2*q+1)*e^q*x^(2*q),x],x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && PositiveIntegerQ[q-1]
+
+
+Int[(d_+e_.*x_^2)^q_*(a_+c_.*x_^4)^p_,x_Symbol] :=
+ e^q*x^(2*q-3)*(a+c*x^4)^(p+1)/(c*(4*p+2*q+1)) +
+ 1/(c*(4*p+2*q+1))*Int[(a+c*x^4)^p*
+ ExpandToSum[c*(4*p+2*q+1)*(d+e*x^2)^q-a*(2*q-3)*e^q*x^(2*q-4)-c*(4*p+2*q+1)*e^q*x^(2*q),x],x] /;
+FreeQ[{a,c,d,e,p},x] && NeQ[c*d^2+a*e^2] && PositiveIntegerQ[q-1]
+
+
+Int[(a_+b_.*x_^2+c_.*x_^4)^p_/(d_+e_.*x_^2),x_Symbol] :=
+ -x*(b^2*c*d-b^3*e-2*a*c^2*d+3*a*b*c*e+c*(b*c*d-b^2*e+2*a*c*e)*x^2)*(a+b*x^2+c*x^4)^(p+1)/
+ (2*a*(p+1)*(b^2-4*a*c)*(c*d^2-b*d*e+a*e^2)) -
+ 1/(2*a*(p+1)*(b^2-4*a*c)*(c*d^2-b*d*e+a*e^2))*Int[((a+b*x^2+c*x^4)^(p+1)/(d+e*x^2))*
+ Simp[b^3*d*e*(3+2*p)-a*b*c*d*e*(11+8*p)-b^2*(2*a*e^2*(p+1)+c*d^2*(3+2*p))+
+ 2*a*c*(4*a*e^2*(p+1)+c*d^2*(5+4*p))-
+ (4*a*c^2*d*e-2*b^2*c*d*e*(2+p)-b^3*e^2*(3+2*p)+b*c*(c*d^2*(7+4*p)+a*e^2*(11+8*p)))*x^2-
+ c*e*(b*c*d-b^2*e+2*a*c*e)*(7+4*p)*x^4,x],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && NegativeIntegerQ[p+1/2]
+
+
+Int[(a_+c_.*x_^4)^p_/(d_+e_.*x_^2),x_Symbol] :=
+ -x*(-2*a*c^2*d+c*(2*a*c*e)*x^2)*(a+c*x^4)^(p+1)/(2*a*(p+1)*(-4*a*c)*(c*d^2+a*e^2)) -
+ 1/(2*a*(p+1)*(-4*a*c)*(c*d^2+a*e^2))*Int[((a+c*x^4)^(p+1)/(d+e*x^2))*
+ Simp[2*a*c*(4*a*e^2*(p+1)+c*d^2*(5+4*p))-(4*a*c^2*d*e)*x^2-c*e*(2*a*c*e)*(7+4*p)*x^4,x],x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && NegativeIntegerQ[p+1/2]
+
+
+Int[Sqrt[a_+b_.*x_^2+c_.*x_^4]/(d_+e_.*x_^2),x_Symbol] :=
+ -1/e^2*Int[(c*d-b*e-c*e*x^2)/Sqrt[a+b*x^2+c*x^4],x] +
+ (c*d^2-b*d*e+a*e^2)/e^2*Int[1/((d+e*x^2)*Sqrt[a+b*x^2+c*x^4]),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2]
+
+
+Int[Sqrt[a_+c_.*x_^4]/(d_+e_.*x_^2),x_Symbol] :=
+ -c/e^2*Int[(d-e*x^2)/Sqrt[a+c*x^4],x] +
+ (c*d^2+a*e^2)/e^2*Int[1/((d+e*x^2)*Sqrt[a+c*x^4]),x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2]
+
+
+Int[1/((d_+e_.*x_^2)*Sqrt[a_+b_.*x_^2+c_.*x_^4]),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ 2*Sqrt[-c]*Int[1/((d+e*x^2)*Sqrt[b+q+2*c*x^2]*Sqrt[-b+q-2*c*x^2]),x]] /;
+FreeQ[{a,b,c,d,e},x] && PositiveQ[b^2-4*a*c] && NegativeQ[c]
+
+
+Int[1/((d_+e_.*x_^2)*Sqrt[a_+c_.*x_^4]),x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ Sqrt[-c]*Int[1/((d+e*x^2)*Sqrt[q+c*x^2]*Sqrt[q-c*x^2]),x]] /;
+FreeQ[{a,c,d,e},x] && PositiveQ[a] && NegativeQ[c]
+
+
+Int[1/((d_+e_.*x_^2)*Sqrt[a_+b_.*x_^2+c_.*x_^4]),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ 2*c/(2*c*d-e*(b-q))*Int[1/Sqrt[a+b*x^2+c*x^4],x] - e/(2*c*d-e*(b-q))*Int[(b-q+2*c*x^2)/((d+e*x^2)*Sqrt[a+b*x^2+c*x^4]),x]] /;
+FreeQ[{a,b,c,d,e},x] && PositiveQ[b^2-4*a*c] && Not[NegativeQ[c]]
+
+
+Int[1/((d_+e_.*x_^2)*Sqrt[a_+c_.*x_^4]),x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ c/(c*d+e*q)*Int[1/Sqrt[a+c*x^4],x] + e/(c*d+e*q)*Int[(q-c*x^2)/((d+e*x^2)*Sqrt[a+c*x^4]),x]] /;
+FreeQ[{a,c,d,e},x] && PositiveQ[-a*c] && Not[NegativeQ[c]]
+
+
+Int[1/((d_+e_.*x_^2)*Sqrt[a_+b_.*x_^2+c_.*x_^4]),x_Symbol] :=
+ With[{q=Rt[c/a,4]},
+ ArcTan[Sqrt[(c*d^2-b*d*e+a*e^2)/(d*e)]*x/Sqrt[a+b*x^2+c*x^4]]/(2*d*Sqrt[(c*d^2-b*d*e+a*e^2)/(d*e)]) +
+ (e+d*q^2)*(1+q^2*x^2)*Sqrt[(a+b*x^2+c*x^4)/(a*(1+q^2*x^2)^2)]/(4*d*q*(e-d*q^2)*Sqrt[a+b*x^2+c*x^4])*
+ EllipticPi[-(e-d*q^2)^2/(4*d*e*q^2),2*ArcTan[q*x],1/2-b*q^2/(4*c)] -
+ q^2/(e-d*q^2)*Int[1/Sqrt[a+b*x^2+c*x^4],x] /;
+ NeQ[e-d*q^2]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && PosQ[c/a]
+
+
+Int[1/((d_+e_.*x_^2)*Sqrt[a_+c_.*x_^4]),x_Symbol] :=
+ With[{q=Rt[c/a,4]},
+ ArcTan[Sqrt[(c*d^2+a*e^2)/(d*e)]*x/Sqrt[a+c*x^4]]/(2*d*Sqrt[(c*d^2+a*e^2)/(d*e)]) +
+ (e+d*q^2)*(1+q^2*x^2)*Sqrt[(a+c*x^4)/(a*(1+q^2*x^2)^2)]/(4*d*q*(e-d*q^2)*Sqrt[a+c*x^4])*
+ EllipticPi[-(e-d*q^2)^2/(4*d*e*q^2),2*ArcTan[q*x],1/2] -
+ q^2/(e-d*q^2)*Int[1/Sqrt[a+c*x^4],x] /;
+ NeQ[e-d*q^2]] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && PosQ[c/a]
+
+
+Int[1/((d_+e_.*x_^2)*Sqrt[a_+c_.*x_^4]),x_Symbol] :=
+ With[{q=Rt[-c/a,4]},
+ 1/(d*Sqrt[a]*q)*EllipticPi[-e/(d*q^2),ArcSin[q*x],-1]] /;
+FreeQ[{a,c,d,e},x] && NegQ[c/a] && PositiveQ[a]
+
+
+Int[1/((d_+e_.*x_^2)*Sqrt[a_+c_.*x_^4]),x_Symbol] :=
+ Sqrt[1+c*x^4/a]/Sqrt[a+c*x^4]*Int[1/((d+e*x^2)*Sqrt[1+c*x^4/a]),x] /;
+FreeQ[{a,c,d,e},x] && NegQ[c/a] && Not[PositiveQ[a]]
+
+
+Int[1/((d_+e_.*x_^2)*Sqrt[a_+b_.*x_^2+c_.*x_^4]),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ Sqrt[1+2*c*x^2/(b-q)]*Sqrt[1+2*c*x^2/(b+q)]/Sqrt[a+b*x^2+c*x^4]*
+ Int[1/((d+e*x^2)*Sqrt[1+2*c*x^2/(b-q)]*Sqrt[1+2*c*x^2/(b+q)]),x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NegQ[c/a]
+
+
+Int[Sqrt[a_+b_.*x_^2+c_.*x_^4]/(d_+e_.*x_^2)^2,x_Symbol] :=
+ x*Sqrt[a+b*x^2+c*x^4]/(2*d*(d+e*x^2)) +
+ c/(2*d*e^2)*Int[(d-e*x^2)/Sqrt[a+b*x^2+c*x^4],x] -
+ (c*d^2-a*e^2)/(2*d*e^2)*Int[1/((d+e*x^2)*Sqrt[a+b*x^2+c*x^4]),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2]
+
+
+Int[Sqrt[a_+c_.*x_^4]/(d_+e_.*x_^2)^2,x_Symbol] :=
+ x*Sqrt[a+c*x^4]/(2*d*(d+e*x^2)) +
+ c/(2*d*e^2)*Int[(d-e*x^2)/Sqrt[a+c*x^4],x] -
+ (c*d^2-a*e^2)/(2*d*e^2)*Int[1/((d+e*x^2)*Sqrt[a+c*x^4]),x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2]
+
+
+Int[1/((d_+e_.*x_^2)^2*Sqrt[a_+b_.*x_^2+c_.*x_^4]),x_Symbol] :=
+ e^2*x*Sqrt[a+b*x^2+c*x^4]/(2*d*(c*d^2-b*d*e+a*e^2)*(d+e*x^2)) -
+ c/(2*d*(c*d^2-b*d*e+a*e^2))*Int[(d+e*x^2)/Sqrt[a+b*x^2+c*x^4],x] +
+ (3*c*d^2-2*b*d*e+a*e^2)/(2*d*(c*d^2-b*d*e+a*e^2))*Int[1/((d+e*x^2)*Sqrt[a+b*x^2+c*x^4]),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2]
+
+
+Int[1/((d_+e_.*x_^2)^2*Sqrt[a_+c_.*x_^4]),x_Symbol] :=
+ e^2*x*Sqrt[a+c*x^4]/(2*d*(c*d^2+a*e^2)*(d+e*x^2)) -
+ c/(2*d*(c*d^2+a*e^2))*Int[(d+e*x^2)/Sqrt[a+c*x^4],x] +
+ (3*c*d^2+a*e^2)/(2*d*(c*d^2+a*e^2))*Int[1/((d+e*x^2)*Sqrt[a+c*x^4]),x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2]
+
+
+Int[(d_+e_.*x_^2)^q_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ Module[{aa,bb,cc},
+ Int[ReplaceAll[ExpandIntegrand[1/Sqrt[aa+bb*x^2+cc*x^4],(d+e*x^2)^q*(aa+bb*x^2+cc*x^4)^(p+1/2),x],{aa->a,bb->b,cc->c}],x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && NegativeIntegerQ[q] && IntegerQ[p+1/2] && p!=-1/2
+
+
+Int[(d_+e_.*x_^2)^q_*(a_+c_.*x_^4)^p_,x_Symbol] :=
+ Module[{aa,cc},
+ Int[ReplaceAll[ExpandIntegrand[1/Sqrt[aa+cc*x^4],(d+e*x^2)^q*(aa+cc*x^4)^(p+1/2),x],{aa->a,cc->c}],x]] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && NegativeIntegerQ[q] && IntegerQ[p+1/2] && p!=-1/2
+
+
+Int[(d_+e_.*x_^2)^q_/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] :=
+ -e^2*x*(d+e*x^2)^(q+1)*Sqrt[a+b*x^2+c*x^4]/(2*d*(q+1)*(c*d^2-b*d*e+a*e^2)) +
+ (2*q+3)*(3*c*d^2-2*b*d*e+a*e^2)/(2*d*(q+1)*(c*d^2-b*d*e+a*e^2))*Int[(d+e*x^2)^(q+1)/Sqrt[a+b*x^2+c*x^4],x] -
+ (q+2)*(3*c*d-b*e)/(d*(q+1)*(c*d^2-b*d*e+a*e^2))*Int[(d+e*x^2)^(q+2)/Sqrt[a+b*x^2+c*x^4],x] +
+ c*(2*q+5)/(2*d*(q+1)*(c*d^2-b*d*e+a*e^2))*Int[(d+e*x^2)^(q+3)/Sqrt[a+b*x^2+c*x^4],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c] && NegativeIntegerQ[q+2]
+
+
+Int[(d_+e_.*x_^2)^q_/Sqrt[a_+c_.*x_^4],x_Symbol] :=
+ -e^2*x*(d+e*x^2)^(q+1)*Sqrt[a+c*x^4]/(2*d*(q+1)*(c*d^2+a*e^2)) +
+ (2*q+3)*(3*c*d^2+a*e^2)/(2*d*(q+1)*(c*d^2+a*e^2))*Int[(d+e*x^2)^(q+1)/Sqrt[a+c*x^4],x] -
+ 3*c*(q+2)/((q+1)*(c*d^2+a*e^2))*Int[(d+e*x^2)^(q+2)/Sqrt[a+c*x^4],x] +
+ c*(2*q+5)/(2*d*(q+1)*(c*d^2+a*e^2))*Int[(d+e*x^2)^(q+3)/Sqrt[a+c*x^4],x] /;
+FreeQ[{a,c,d,e},x] && NegativeIntegerQ[q+2]
+
+
+Int[1/(Sqrt[d_+e_.*x_^2]*Sqrt[a_+b_.*x_^2+c_.*x_^4]),x_Symbol] :=
+ 1/(2*Sqrt[a]*Sqrt[d]*Rt[-e/d,2])*EllipticF[2*ArcSin[Rt[-e/d,2]*x],b*d/(4*a*e)] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c*d-b*e] && PositiveQ[a] && PositiveQ[d]
+
+
+Int[1/(Sqrt[d_+e_.*x_^2]*Sqrt[a_+b_.*x_^2+c_.*x_^4]),x_Symbol] :=
+ Sqrt[(d+e*x^2)/d]*Sqrt[(a+b*x^2+c*x^4)/a]/(Sqrt[d+e*x^2]*Sqrt[a+b*x^2+c*x^4])*
+ Int[1/(Sqrt[1+e/d*x^2]*Sqrt[1+b/a*x^2+c/a*x^4]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c*d-b*e] && Not[PositiveQ[a] && PositiveQ[d]]
+
+
+Int[Sqrt[a_+b_.*x_^2+c_.*x_^4]/Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ Sqrt[a]/(2*Sqrt[d]*Rt[-e/d,2])*EllipticE[2*ArcSin[Rt[-e/d,2]*x],b*d/(4*a*e)] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c*d-b*e] && PositiveQ[a] && PositiveQ[d]
+
+
+Int[Sqrt[a_+b_.*x_^2+c_.*x_^4]/Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ Sqrt[a+b*x^2+c*x^4]*Sqrt[(d+e*x^2)/d]/(Sqrt[d+e*x^2]*Sqrt[(a+b*x^2+c*x^4)/a])*
+ Int[Sqrt[1+b/a*x^2+c/a*x^4]/Sqrt[1+e/d*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c*d-b*e] && Not[PositiveQ[a] && PositiveQ[d]]
+
+
+Int[(d_+e_.*x_^2)^q_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ c^p*x^(4*p-1)*(d+e*x^2)^(q+1)/(e*(4*p+2*q+1)) +
+ Int[(d+e*x^2)^q*ExpandToSum[(a+b*x^2+c*x^4)^p-c^p*x^(4*p)-d*c^p*(4*p-1)*x^(4*p-2)/(e*(4*p+2*q+1)),x],x] /;
+FreeQ[{a,b,c,d,e,q},x] && NeQ[b^2-4*a*c] && PositiveIntegerQ[p] &&
+ NeQ[4*p+2*q+1] && Not[PositiveIntegerQ[q]]
+
+
+Int[(d_+e_.*x_^2)^q_*(a_+c_.*x_^4)^p_,x_Symbol] :=
+ c^p*x^(4*p-1)*(d+e*x^2)^(q+1)/(e*(4*p+2*q+1)) +
+ Int[(d+e*x^2)^q*ExpandToSum[(a+c*x^4)^p-c^p*x^(4*p)-d*c^p*(4*p-1)*x^(4*p-2)/(e*(4*p+2*q+1)),x],x] /;
+FreeQ[{a,c,d,e,q},x] && PositiveIntegerQ[p] &&
+ NeQ[4*p+2*q+1] && Not[PositiveIntegerQ[q]]
+
+
+Int[(d_+e_.*x_^2)^q_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)^q*(a+b*x^2+c*x^4)^p,x],x] /;
+FreeQ[{a,b,c,d,e,p,q},x] && NeQ[b^2-4*a*c] && (IntegersQ[p,q] || PositiveIntegerQ[p] || PositiveIntegerQ[q])
+
+
+Int[(d_+e_.*x_^2)^q_*(a_+c_.*x_^4)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)^q*(a+c*x^4)^p,x],x] /;
+FreeQ[{a,c,d,e,p,q},x] && (IntegersQ[p,q] || PositiveIntegerQ[p])
+
+
+Int[(d_+e_.*x_^2)^q_*(a_+c_.*x_^4)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(a+c*x^4)^p,(d/(d^2-e^2*x^4)-e*x^2/(d^2-e^2*x^4))^(-q),x],x] /;
+FreeQ[{a,c,d,e,p},x] && NeQ[c*d^2+a*e^2] && NegativeIntegerQ[q] && Not[IntegersQ[2*p]]
+
+
+Int[(d_+e_.*x_^2)^q_.*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ Defer[Int][(d+e*x^2)^q*(a+b*x^2+c*x^4)^p,x] /;
+FreeQ[{a,b,c,d,e,p,q},x]
+
+
+Int[(d_+e_.*x_^2)^q_.*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ Defer[Int][(d+e*x^2)^q*(a+c*x^4)^p,x] /;
+FreeQ[{a,c,d,e,p,q},x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.2.4 (f x)^m (d+e x^2)^q (a+b x^2+c x^4)^p*)
+
+
+Int[x_^m_.*(e_.*x_^2)^q_*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ 1/(2*e^((m+1)/2-1))*Subst[Int[(e*x)^(q+(m+1)/2-1)*(a+b*x+c*x^2)^p,x],x,x^2] /;
+FreeQ[{a,b,c,e,p,q},x] && IntegerQ[(m+1)/2]
+
+
+Int[x_^m_.*(e_.*x_^2)^q_*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ 1/(2*e^((m+1)/2-1))*Subst[Int[(e*x)^(q+(m+1)/2-1)*(a+c*x^2)^p,x],x,x^2] /;
+FreeQ[{a,c,e,p,q},x] && IntegerQ[(m+1)/2]
+
+
+Int[(f_.*x_)^m_.*(e_.*x_^2)^q_*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ f^m*e^IntPart[q]*(e*x^2)^FracPart[q]/x^(2*FracPart[q])*Int[x^(m+2*q)*(a+b*x^2+c*x^4)^p,x] /;
+FreeQ[{a,b,c,e,f,m,p,q},x] && (IntegerQ[m] || PositiveQ[f]) && Not[IntegerQ[(m+1)/2]]
+
+
+Int[(f_.*x_)^m_.*(e_.*x_^2)^q_*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ f^m*e^IntPart[q]*(e*x^2)^FracPart[q]/x^(2*FracPart[q])*Int[x^(m+2*q)*(a+c*x^4)^p,x] /;
+FreeQ[{a,c,e,f,m,p,q},x] && (IntegerQ[m] || PositiveQ[f]) && Not[IntegerQ[(m+1)/2]]
+
+
+Int[(f_*x_)^m_.*(e_.*x_^2)^q_*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ f^IntPart[m]*(f*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(e*x^2)^q*(a+b*x^2+c*x^4)^p,x] /;
+FreeQ[{a,b,c,e,f,m,p,q},x] && Not[IntegerQ[m]]
+
+
+Int[(f_*x_)^m_.*(e_.*x_^2)^q_*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ f^IntPart[m]*(f*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(e*x^2)^q*(a+c*x^4)^p,x] /;
+FreeQ[{a,c,e,f,m,p,q},x] && Not[IntegerQ[m]]
+
+
+Int[x_*(d_+e_.*x_^2)^q_.*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ 1/2*Subst[Int[(d+e*x)^q*(a+b*x+c*x^2)^p,x],x,x^2] /;
+FreeQ[{a,b,c,d,e,p,q},x]
+
+
+Int[x_*(d_+e_.*x_^2)^q_.*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ 1/2*Subst[Int[(d+e*x)^q*(a+c*x^2)^p,x],x,x^2] /;
+FreeQ[{a,c,d,e,p,q},x]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^q_.*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ 1/2*Subst[Int[x^((m+1)/2-1)*(d+e*x)^q*(a+b*x+c*x^2)^p,x],x,x^2] /;
+FreeQ[{a,b,c,d,e,p,q},x] && EqQ[b^2-4*a*c,0] && Not[IntegerQ[p]] && PositiveIntegerQ[(m+1)/2]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_.*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ (a+b*x^2+c*x^4)^FracPart[p]/(c^IntPart[p]*(b/2+c*x^2)^(2*FracPart[p]))*
+ Int[(f*x)^m*(d+e*x^2)^q*(b/2+c*x^2)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,f,m,p,q},x] && EqQ[b^2-4*a*c,0] && Not[IntegerQ[p]]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^q_.*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ 1/2*Subst[Int[x^((m+1)/2-1)*(d+e*x)^q*(a+b*x+c*x^2)^p,x],x,x^2] /;
+FreeQ[{a,b,c,d,e,m,p,q},x] && IntegerQ[(m+1)/2]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^q_.*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ 1/2*Subst[Int[x^((m+1)/2-1)*(d+e*x)^q*(a+c*x^2)^p,x],x,x^2] /;
+FreeQ[{a,c,d,e,m,p,q},x] && IntegerQ[(m+1)/2]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_.*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ Int[(f*x)^m*(d+e*x^2)^(q+p)*(a/d+c/e*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,q},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2] && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_.*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ Int[(f*x)^m*(d+e*x^2)^(q+p)*(a/d+c/e*x^2)^p,x] /;
+FreeQ[{a,c,d,e,f,q,m,q},x] && EqQ[c*d^2+a*e^2] && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ (a+b*x^2+c*x^4)^FracPart[p]/((d+e*x^2)^FracPart[p]*(a/d+(c*x^2)/e)^FracPart[p])*
+ Int[(f*x)^m*(d+e*x^2)^(q+p)*(a/d+c/e*x^2)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,p,q},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2] && Not[IntegerQ[p]]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_*(a_+c_.*x_^4)^p_,x_Symbol] :=
+ (a+c*x^4)^FracPart[p]/((d+e*x^2)^FracPart[p]*(a/d+(c*x^2)/e)^FracPart[p])*Int[(f*x)^m*(d+e*x^2)^(q+p)*(a/d+c/e*x^2)^p,x] /;
+FreeQ[{a,c,d,e,f,m,p,q},x] && EqQ[c*d^2+a*e^2] && Not[IntegerQ[p]]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^q_*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ (-d)^(m/2-1)*(c*d^2-b*d*e+a*e^2)^p*x*(d+e*x^2)^(q+1)/(2*e^(2*p+m/2)*(q+1)) +
+ 1/(2*e^(2*p+m/2)*(q+1))*Int[(d+e*x^2)^(q+1)*
+ ExpandToSum[Together[1/(d+e*x^2)*(2*e^(2*p+m/2)*(q+1)*x^m*(a+b*x^2+c*x^4)^p-
+ (-d)^(m/2-1)*(c*d^2-b*d*e+a*e^2)^p*(d+e*(2*q+3)*x^2))],x],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && PositiveIntegerQ[p] && IntegersQ[m/2,q] && q<-1 && m>0
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^q_*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ (-d)^(m/2-1)*(c*d^2+a*e^2)^p*x*(d+e*x^2)^(q+1)/(2*e^(2*p+m/2)*(q+1)) +
+ 1/(2*e^(2*p+m/2)*(q+1))*Int[(d+e*x^2)^(q+1)*
+ ExpandToSum[Together[1/(d+e*x^2)*(2*e^(2*p+m/2)*(q+1)*x^m*(a+c*x^4)^p-
+ (-d)^(m/2-1)*(c*d^2+a*e^2)^p*(d+e*(2*q+3)*x^2))],x],x] /;
+FreeQ[{a,c,d,e},x] && PositiveIntegerQ[p] && IntegersQ[m/2,q] && q<-1 && m>0
+
+
+Int[x_^m_*(d_+e_.*x_^2)^q_*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ (-d)^(m/2-1)*(c*d^2-b*d*e+a*e^2)^p*x*(d+e*x^2)^(q+1)/(2*e^(2*p+m/2)*(q+1)) +
+ (-d)^(m/2-1)/(2*e^(2*p)*(q+1))*Int[x^m*(d+e*x^2)^(q+1)*
+ ExpandToSum[Together[1/(d+e*x^2)*(2*(-d)^(-m/2+1)*e^(2*p)*(q+1)*(a+b*x^2+c*x^4)^p -
+ (e^(-m/2)*(c*d^2-b*d*e+a*e^2)^p*x^(-m))*(d+e*(2*q+3)*x^2))],x],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && PositiveIntegerQ[p] && IntegersQ[m/2,q] && q<-1 && m<0
+
+
+Int[x_^m_*(d_+e_.*x_^2)^q_*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ (-d)^(m/2-1)*(c*d^2+a*e^2)^p*x*(d+e*x^2)^(q+1)/(2*e^(2*p+m/2)*(q+1)) +
+ (-d)^(m/2-1)/(2*e^(2*p)*(q+1))*Int[x^m*(d+e*x^2)^(q+1)*
+ ExpandToSum[Together[1/(d+e*x^2)*(2*(-d)^(-m/2+1)*e^(2*p)*(q+1)*(a+c*x^4)^p -
+ (e^(-m/2)*(c*d^2+a*e^2)^p*x^(-m))*(d+e*(2*q+3)*x^2))],x],x] /;
+FreeQ[{a,c,d,e},x] && PositiveIntegerQ[p] && IntegersQ[m/2,q] && q<-1 && m<0
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_.*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ c^p*(f*x)^(m+4*p-1)*(d+e*x^2)^(q+1)/(e*f^(4*p-1)*(m+4*p+2*q+1)) +
+ 1/(e*(m+4*p+2*q+1))*Int[(f*x)^m*(d+e*x^2)^q*
+ ExpandToSum[e*(m+4*p+2*q+1)*((a+b*x^2+c*x^4)^p-c^p*x^(4*p))-d*c^p*(m+4*p-1)*x^(4*p-2),x],x] /;
+FreeQ[{a,b,c,d,e,f,m,q},x] && NeQ[b^2-4*a*c,0] && PositiveIntegerQ[p] && Not[IntegerQ[q]] && NeQ[m+4*p+2*q+1]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_.*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ c^p*(f*x)^(m+4*p-1)*(d+e*x^2)^(q+1)/(e*f^(4*p-1)*(m+4*p+2*q+1)) +
+ 1/(e*(m+4*p+2*q+1))*Int[(f*x)^m*(d+e*x^2)^q*
+ ExpandToSum[e*(m+4*p+2*q+1)*((a+c*x^4)^p-c^p*x^(4*p))-d*c^p*(m+4*p-1)*x^(4*p-2),x],x] /;
+FreeQ[{a,c,d,e,f,m,q},x] && PositiveIntegerQ[p] && Not[IntegerQ[q]] && NeQ[m+4*p+2*q+1]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_.*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(f*x)^m(d+e*x^2)^q*(a+b*x^2+c*x^4)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,m,q},x] && PositiveIntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_.*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(f*x)^m(d+e*x^2)^q*(a+c*x^4)^p,x],x] /;
+FreeQ[{a,c,d,e,f,m,q},x] && PositiveIntegerQ[p]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^q_.*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ With[{k=Denominator[m]},
+ k/f*Subst[Int[x^(k*(m+1)-1)*(d+e*x^(2*k)/f^2)^q*(a+b*x^(2*k)/f^k+c*x^(4*k)/f^4)^p,x],x,(f*x)^(1/k)]] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && NeQ[b^2-4*a*c,0] && FractionQ[m] && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^q_.*(a_+c_.*x_^4)^p_,x_Symbol] :=
+ With[{k=Denominator[m]},
+ k/f*Subst[Int[x^(k*(m+1)-1)*(d+e*x^(2*k)/f)^q*(a+c*x^(4*k)/f)^p,x],x,(f*x)^(1/k)]] /;
+FreeQ[{a,c,d,e,f,p,q},x] && FractionQ[m] && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ (f*x)^(m+1)*(a+b*x^2+c*x^4)^p*(d*(m+4*p+3)+e*(m+1)*x^2)/(f*(m+1)*(m+4*p+3)) +
+ 2*p/(f^2*(m+1)*(m+4*p+3))*Int[(f*x)^(m+2)*(a+b*x^2+c*x^4)^(p-1)*
+ Simp[2*a*e*(m+1)-b*d*(m+4*p+3)+(b*e*(m+1)-2*c*d*(m+4*p+3))*x^2,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c,0] && RationalQ[m,p] && p>0 && m<-1 &&
+ m+4*p+3!=0 && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ (f*x)^(m+1)*(a+c*x^4)^p*(d*(m+4*p+3)+e*(m+1)*x^2)/(f*(m+1)*(m+4*p+3)) +
+ 4*p/(f^2*(m+1)*(m+4*p+3))*Int[(f*x)^(m+2)*(a+c*x^4)^(p-1)*(a*e*(m+1)-c*d*(m+4*p+3)*x^2),x] /;
+FreeQ[{a,c,d,e,f},x] && RationalQ[m,p] && p>0 && m<-1 &&
+ m+4*p+3!=0 && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ (f*x)^(m+1)*(a+b*x^2+c*x^4)^p*(b*e*2*p+c*d*(m+4*p+3)+c*e*(4*p+m+1)*x^2)/
+ (c*f*(4*p+m+1)*(m+4*p+3)) +
+ 2*p/(c*(4*p+m+1)*(m+4*p+3))*Int[(f*x)^m*(a+b*x^2+c*x^4)^(p-1)*
+ Simp[2*a*c*d*(m+4*p+3)-a*b*e*(m+1)+(2*a*c*e*(4*p+m+1)+b*c*d*(m+4*p+3)-b^2*e*(m+2*p+1))*x^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b^2-4*a*c,0] && RationalQ[p] && p>0 &&
+ NeQ[4*p+m+1] && NeQ[m+4*p+3] && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ (f*x)^(m+1)*(a+c*x^4)^p*(c*d*(m+4*p+3)+c*e*(4*p+m+1)*x^2)/(c*f*(4*p+m+1)*(m+4*p+3)) +
+ 4*a*p/((4*p+m+1)*(m+4*p+3))*Int[(f*x)^m*(a+c*x^4)^(p-1)*Simp[d*(m+4*p+3)+e*(4*p+m+1)*x^2,x],x] /;
+FreeQ[{a,c,d,e,f,m},x] && RationalQ[p] && p>0 &&
+ NeQ[4*p+m+1] && NeQ[m+4*p+3] && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(a+b*x^2+c*x^4)^(p+1)*(b*d-2*a*e-(b*e-2*c*d)*x^2)/(2*(p+1)*(b^2-4*a*c)) -
+ f^2/(2*(p+1)*(b^2-4*a*c))*Int[(f*x)^(m-2)*(a+b*x^2+c*x^4)^(p+1)*
+ Simp[(m-1)*(b*d-2*a*e)-(4*p+4+m+1)*(b*e-2*c*d)*x^2,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c,0] && RationalQ[m,p] && p<-1 && m>1 && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(a+c*x^4)^(p+1)*(a*e-c*d*x^2)/(4*a*c*(p+1)) -
+ f^2/(4*a*c*(p+1))*Int[(f*x)^(m-2)*(a+c*x^4)^(p+1)*(a*e*(m-1)-c*d*(4*p+4+m+1)*x^2),x] /;
+FreeQ[{a,c,d,e,f},x] && RationalQ[m,p] && p<-1 && m>1 && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ -(f*x)^(m+1)*(a+b*x^2+c*x^4)^(p+1)*(d*(b^2-2*a*c)-a*b*e+(b*d-2*a*e)*c*x^2)/(2*a*f*(p+1)*(b^2-4*a*c)) +
+ 1/(2*a*(p+1)*(b^2-4*a*c))*Int[(f*x)^m*(a+b*x^2+c*x^4)^(p+1)*
+ Simp[d*(b^2*(m+2*(p+1)+1)-2*a*c*(m+4*(p+1)+1))-a*b*e*(m+1)+c*(m+2*(2*p+3)+1)*(b*d-2*a*e)*x^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b^2-4*a*c,0] && RationalQ[p] && p<-1 && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)*(a_+c_.*x_^4)^p_,x_Symbol] :=
+ -(f*x)^(m+1)*(a+c*x^4)^(p+1)*(d+e*x^2)/(4*a*f*(p+1)) +
+ 1/(4*a*(p+1))*Int[(f*x)^m*(a+c*x^4)^(p+1)*Simp[d*(m+4*(p+1)+1)+e*(m+2*(2*p+3)+1)*x^2,x],x] /;
+FreeQ[{a,c,d,e,f,m},x] && RationalQ[p] && p<-1 && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ e*f*(f*x)^(m-1)*(a+b*x^2+c*x^4)^(p+1)/(c*(m+4*p+3)) -
+ f^2/(c*(m+4*p+3))*Int[(f*x)^(m-2)*(a+b*x^2+c*x^4)^p*Simp[a*e*(m-1)+(b*e*(m+2*p+1)-c*d*(m+4*p+3))*x^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && NeQ[b^2-4*a*c,0] && RationalQ[m] && m>1 &&
+ NeQ[m+4*p+3] && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)*(a_+c_.*x_^4)^p_,x_Symbol] :=
+ e*f*(f*x)^(m-1)*(a+c*x^4)^(p+1)/(c*(m+4*p+3)) -
+ f^2/(c*(m+4*p+3))*Int[(f*x)^(m-2)*(a+c*x^4)^p*(a*e*(m-1)-c*d*(m+4*p+3)*x^2),x] /;
+FreeQ[{a,c,d,e,f,p},x] && RationalQ[m] && m>1 && NeQ[m+4*p+3] && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ d*(f*x)^(m+1)*(a+b*x^2+c*x^4)^(p+1)/(a*f*(m+1)) +
+ 1/(a*f^2*(m+1))*Int[(f*x)^(m+2)*(a+b*x^2+c*x^4)^p*Simp[a*e*(m+1)-b*d*(m+2*p+3)-c*d*(m+4*p+5)*x^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && NeQ[b^2-4*a*c,0] && RationalQ[m] && m<-1 && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)*(a_+c_.*x_^4)^p_,x_Symbol] :=
+ d*(f*x)^(m+1)*(a+c*x^4)^(p+1)/(a*f*(m+1)) +
+ 1/(a*f^2*(m+1))*Int[(f*x)^(m+2)*(a+c*x^4)^p*(a*e*(m+1)-c*d*(m+4*p+5)*x^2),x] /;
+FreeQ[{a,c,d,e,f,p},x] && RationalQ[m] && m<-1 && IntegerQ[2*p] && (IntegerQ[p] || IntegerQ[m])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)/(a_+b_.*x_^2+c_.*x_^4), x_Symbol] :=
+ With[{r=Rt[c/e*(2*c*d-b*e),2]},
+ e/2*Int[(f*x)^m/(c*d/e-r*x+c*x^2),x] +
+ e/2*Int[(f*x)^m/(c*d/e+r*x+c*x^2),x]] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-a*e^2] && PositiveQ[d/e] && PosQ[c/e*(2*c*d-b*e)]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)/(a_+c_.*x_^4), x_Symbol] :=
+ With[{r=Rt[2*c^2*d/e,2]},
+ e/2*Int[(f*x)^m/(c*d/e-r*x+c*x^2),x] +
+ e/2*Int[(f*x)^m/(c*d/e+r*x+c*x^2),x]] /;
+FreeQ[{a,c,d,e,f,m},x] && EqQ[c*d^2-a*e^2] && PositiveQ[d/e]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (e/2+(2*c*d-b*e)/(2*q))*Int[(f*x)^m/(b/2-q/2+c*x^2),x] + (e/2-(2*c*d-b*e)/(2*q))*Int[(f*x)^m/(b/2+q/2+c*x^2),x]] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b^2-4*a*c,0]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)/(a_+c_.*x_^4),x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ -(e/2+c*d/(2*q))*Int[(f*x)^m/(q-c*x^2),x] + (e/2-c*d/(2*q))*Int[(f*x)^m/(q+c*x^2),x]] /;
+FreeQ[{a,c,d,e,f,m},x]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_./(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ Int[ExpandIntegrand[(f*x)^m*(d+e*x^2)^q/(a+b*x^2+c*x^4),x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b^2-4*a*c,0] && IntegerQ[q] && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_./(a_+c_.*x_^4),x_Symbol] :=
+ Int[ExpandIntegrand[(f*x)^m*(d+e*x^2)^q/(a+c*x^4),x],x] /;
+FreeQ[{a,c,d,e,f,m},x] && IntegerQ[q] && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_./(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ Int[ExpandIntegrand[(f*x)^m,(d+e*x^2)^q/(a+b*x^2+c*x^4),x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b^2-4*a*c,0] && IntegerQ[q] && Not[IntegerQ[m]]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_./(a_+c_.*x_^4),x_Symbol] :=
+ Int[ExpandIntegrand[(f*x)^m,(d+e*x^2)^q/(a+c*x^4),x],x] /;
+FreeQ[{a,c,d,e,f,m},x] && IntegerQ[q] && Not[IntegerQ[m]]
+
+
+Int[(f_.*x_)^m_.*(d_.+e_.*x_^2)^q_/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ f^4/c^2*Int[(f*x)^(m-4)*(c*d-b*e+c*e*x^2)*(d+e*x^2)^(q-1),x] -
+ f^4/c^2*Int[(f*x)^(m-4)*(d+e*x^2)^(q-1)*Simp[a*(c*d-b*e)+(b*c*d-b^2*e+a*c*e)*x^2,x]/(a+b*x^2+c*x^4),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c,0] && Not[IntegerQ[q]] && RationalQ[m,q] && q>0 && m>3
+
+
+Int[(f_.*x_)^m_.*(d_.+e_.*x_^2)^q_/(a_+c_.*x_^4),x_Symbol] :=
+ f^4/c*Int[(f*x)^(m-4)*(d+e*x^2)^q,x] -
+ a*f^4/c*Int[(f*x)^(m-4)*(d+e*x^2)^q/(a+c*x^4),x] /;
+FreeQ[{a,c,d,e,f,q},x] && Not[IntegerQ[q]] && RationalQ[m] && m>3
+
+
+Int[(f_.*x_)^m_.*(d_.+e_.*x_^2)^q_/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ e*f^2/c*Int[(f*x)^(m-2)*(d+e*x^2)^(q-1),x] -
+ f^2/c*Int[(f*x)^(m-2)*(d+e*x^2)^(q-1)*Simp[a*e-(c*d-b*e)*x^2,x]/(a+b*x^2+c*x^4),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c,0] && Not[IntegerQ[q]] && RationalQ[m,q] && q>0 && 10 && 10 && m<0
+
+
+Int[(f_.*x_)^m_*(d_.+e_.*x_^2)^q_/(a_+c_.*x_^4),x_Symbol] :=
+ d/a*Int[(f*x)^m*(d+e*x^2)^(q-1),x] +
+ 1/(a*f^2)*Int[(f*x)^(m+2)*(d+e*x^2)^(q-1)*Simp[a*e-c*d*x^2,x]/(a+c*x^4),x] /;
+FreeQ[{a,c,d,e,f},x] && Not[IntegerQ[q]] && RationalQ[m,q] && q>0 && m<0
+
+
+Int[(f_.*x_)^m_.*(d_.+e_.*x_^2)^q_/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ d^2*f^4/(c*d^2-b*d*e+a*e^2)*Int[(f*x)^(m-4)*(d+e*x^2)^q,x] -
+ f^4/(c*d^2-b*d*e+a*e^2)*Int[(f*x)^(m-4)*(d+e*x^2)^(q+1)*Simp[a*d+(b*d-a*e)*x^2,x]/(a+b*x^2+c*x^4),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c,0] && Not[IntegerQ[q]] && RationalQ[m,q] && q<-1 && m>3
+
+
+Int[(f_.*x_)^m_.*(d_.+e_.*x_^2)^q_/(a_+c_.*x_^4),x_Symbol] :=
+ d^2*f^4/(c*d^2+a*e^2)*Int[(f*x)^(m-4)*(d+e*x^2)^q,x] -
+ a*f^4/(c*d^2+a*e^2)*Int[(f*x)^(m-4)*(d+e*x^2)^(q+1)*(d-e*x^2)/(a+c*x^4),x] /;
+FreeQ[{a,c,d,e,f},x] && Not[IntegerQ[q]] && RationalQ[m,q] && q<-1 && m>3
+
+
+Int[(f_.*x_)^m_.*(d_.+e_.*x_^2)^q_/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ -d*e*f^2/(c*d^2-b*d*e+a*e^2)*Int[(f*x)^(m-2)*(d+e*x^2)^q,x] +
+ f^2/(c*d^2-b*d*e+a*e^2)*Int[(f*x)^(m-2)*(d+e*x^2)^(q+1)*Simp[a*e+c*d*x^2,x]/(a+b*x^2+c*x^4),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c,0] && Not[IntegerQ[q]] && RationalQ[m,q] && q<-1 && 10 && m<-2
+
+
+Int[(f_.*x_)^m_*(a_+c_.*x_^4)^p_./(d_.+e_.*x_^2),x_Symbol] :=
+ a/d^2*Int[(f*x)^m*(d-e*x^2)*(a+c*x^4)^(p-1),x] +
+ (c*d^2+a*e^2)/(d^2*f^4)*Int[(f*x)^(m+4)*(a+c*x^4)^(p-1)/(d+e*x^2),x] /;
+FreeQ[{a,c,d,e,f},x] && RationalQ[m,p] && p>0 && m<-2
+
+
+Int[(f_.*x_)^m_*(a_.+b_.*x_^2+c_.*x_^4)^p_./(d_.+e_.*x_^2),x_Symbol] :=
+ 1/(d*e)*Int[(f*x)^m*(a*e+c*d*x^2)*(a+b*x^2+c*x^4)^(p-1),x] -
+ (c*d^2-b*d*e+a*e^2)/(d*e*f^2)*Int[(f*x)^(m+2)*(a+b*x^2+c*x^4)^(p-1)/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c,0] && RationalQ[m,p] && p>0 && m<0
+
+
+Int[(f_.*x_)^m_*(a_+c_.*x_^4)^p_./(d_.+e_.*x_^2),x_Symbol] :=
+ 1/(d*e)*Int[(f*x)^m*(a*e+c*d*x^2)*(a+c*x^4)^(p-1),x] -
+ (c*d^2+a*e^2)/(d*e*f^2)*Int[(f*x)^(m+2)*(a+c*x^4)^(p-1)/(d+e*x^2),x] /;
+FreeQ[{a,c,d,e,f},x] && RationalQ[m,p] && p>0 && m<0
+
+
+Int[(f_.*x_)^m_.*(a_.+b_.*x_^2+c_.*x_^4)^p_/(d_.+e_.*x_^2),x_Symbol] :=
+ -f^4/(c*d^2-b*d*e+a*e^2)*Int[(f*x)^(m-4)*(a*d+(b*d-a*e)*x^2)*(a+b*x^2+c*x^4)^p,x] +
+ d^2*f^4/(c*d^2-b*d*e+a*e^2)*Int[(f*x)^(m-4)*(a+b*x^2+c*x^4)^(p+1)/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c,0] && RationalQ[m,p] && p<-1 && m>2
+
+
+Int[(f_.*x_)^m_.*(a_+c_.*x_^4)^p_/(d_.+e_.*x_^2),x_Symbol] :=
+ -a*f^4/(c*d^2+a*e^2)*Int[(f*x)^(m-4)*(d-e*x^2)*(a+c*x^4)^p,x] +
+ d^2*f^4/(c*d^2+a*e^2)*Int[(f*x)^(m-4)*(a+c*x^4)^(p+1)/(d+e*x^2),x] /;
+FreeQ[{a,c,d,e,f},x] && RationalQ[m,p] && p<-1 && m>2
+
+
+Int[(f_.*x_)^m_.*(a_.+b_.*x_^2+c_.*x_^4)^p_/(d_.+e_.*x_^2),x_Symbol] :=
+ f^2/(c*d^2-b*d*e+a*e^2)*Int[(f*x)^(m-2)*(a*e+c*d*x^2)*(a+b*x^2+c*x^4)^p,x] -
+ d*e*f^2/(c*d^2-b*d*e+a*e^2)*Int[(f*x)^(m-2)*(a+b*x^2+c*x^4)^(p+1)/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b^2-4*a*c,0] && RationalQ[m,p] && p<-1 && m>0
+
+
+Int[(f_.*x_)^m_.*(a_+c_.*x_^4)^p_/(d_.+e_.*x_^2),x_Symbol] :=
+ f^2/(c*d^2+a*e^2)*Int[(f*x)^(m-2)*(a*e+c*d*x^2)*(a+c*x^4)^p,x] -
+ d*e*f^2/(c*d^2+a*e^2)*Int[(f*x)^(m-2)*(a+c*x^4)^(p+1)/(d+e*x^2),x] /;
+FreeQ[{a,c,d,e,f},x] && RationalQ[m,p] && p<-1 && m>0
+
+
+Int[x_^m_*(d_+e_.*x_^2)^q_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ With[{f=Coeff[PolynomialRemainder[x^m*(d+e*x^2)^q,a+b*x^2+c*x^4,x],x,0],
+ g=Coeff[PolynomialRemainder[x^m*(d+e*x^2)^q,a+b*x^2+c*x^4,x],x,2]},
+ x*(a+b*x^2+c*x^4)^(p+1)*(a*b*g-f*(b^2-2*a*c)-c*(b*f-2*a*g)*x^2)/(2*a*(p+1)*(b^2-4*a*c)) +
+ 1/(2*a*(p+1)*(b^2-4*a*c))*Int[(a+b*x^2+c*x^4)^(p+1)*
+ Simp[ExpandToSum[2*a*(p+1)*(b^2-4*a*c)*PolynomialQuotient[x^m*(d+e*x^2)^q,a+b*x^2+c*x^4,x]+
+ b^2*f*(2*p+3)-2*a*c*f*(4*p+5)-a*b*g+c*(4*p+7)*(b*f-2*a*g)*x^2,x],x],x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && LtQ[p,-1] && IGtQ[q,1] && IGtQ[m/2,0]
+
+
+Int[x_^m_*(d_+e_.*x_^2)^q_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ With[{f=Coeff[PolynomialRemainder[x^m*(d+e*x^2)^q,a+b*x^2+c*x^4,x],x,0],
+ g=Coeff[PolynomialRemainder[x^m*(d+e*x^2)^q,a+b*x^2+c*x^4,x],x,2]},
+ x*(a+b*x^2+c*x^4)^(p+1)*(a*b*g-f*(b^2-2*a*c)-c*(b*f-2*a*g)*x^2)/(2*a*(p+1)*(b^2-4*a*c)) +
+ 1/(2*a*(p+1)*(b^2-4*a*c))*Int[x^m*(a+b*x^2+c*x^4)^(p+1)*
+ Simp[ExpandToSum[2*a*(p+1)*(b^2-4*a*c)*x^(-m)*PolynomialQuotient[x^m*(d+e*x^2)^q,a+b*x^2+c*x^4,x]+
+ (b^2*f*(2*p+3)-2*a*c*f*(4*p+5)-a*b*g)*x^(-m)+c*(4*p+7)*(b*f-2*a*g)*x^(2-m),x],x],x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && LtQ[p,-1] && IGtQ[q,1] && ILtQ[m/2,0]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_.*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(f*x)^m*(d+e*x^2)^q*(a+b*x^2+c*x^4)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,m,p,q},x] && NeQ[b^2-4*a*c,0] && (PositiveIntegerQ[p] || PositiveIntegerQ[q] || IntegersQ[m,q])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_.*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(f*x)^m*(d+e*x^2)^q*(a+c*x^4)^p,x],x] /;
+FreeQ[{a,c,d,e,f,m,p,q},x] && (PositiveIntegerQ[p] || PositiveIntegerQ[q] || IntegersQ[m,q])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_*(a_+c_.*x_^4)^p_,x_Symbol] :=
+ f^m*Int[ExpandIntegrand[x^m*(a+c*x^4)^p,(d/(d^2-e^2*x^4)-e*x^2/(d^2-e^2*x^4))^(-q),x],x] /;
+FreeQ[{a,c,d,e,f,m,p,q},x] && NegativeIntegerQ[q] && (IntegerQ[m] || PositiveQ[f])
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^q_*(a_+c_.*x_^4)^p_,x_Symbol] :=
+ (f*x)^m/x^m*Int[x^m*(d+e*x^2)^q*(a+c*x^4)^p,x] /;
+FreeQ[{a,c,d,e,f,m,p,q},x] && NegativeIntegerQ[q] && Not[IntegerQ[m] || PositiveQ[f]]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_.*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ Defer[Int][(f*x)^m*(d+e*x^2)^q*(a+b*x^2+c*x^4)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,p,q},x]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_.*(a_+c_.*x_^4)^p_.,x_Symbol] :=
+ Defer[Int][(f*x)^m*(d+e*x^2)^q*(a+c*x^4)^p,x] /;
+FreeQ[{a,c,d,e,f,m,p,q},x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.2.6 (d x)^m Pq(x) (a+b x^2+c x^4)^p*)
+
+
+Int[(d_.*x_)^m_.*Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ Module[{q=Expon[Pq,x],k},
+ Int[(d*x)^m*Sum[Coeff[Pq,x,2*k]*x^(2*k),{k,0,q/2+1}]*(a+b*x^2+c*x^4)^p,x] +
+ 1/d*Int[(d*x)^(m+1)*Sum[Coeff[Pq,x,2*k+1]*x^(2*k),{k,0,(q-1)/2+1}]*(a+b*x^2+c*x^4)^p,x]] /;
+FreeQ[{a,b,c,d,m,p},x] && PolyQ[Pq,x] && Not[PolyQ[Pq,x^2]]
+
+
+Int[x_^m_.*Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ 1/2*Subst[Int[x^((m-1)/2)*SubstFor[x^2,Pq,x]*(a+b*x+c*x^2)^p,x],x,x^2] /;
+FreeQ[{a,b,c,p},x] && PolyQ[Pq,x^2] && IntegerQ[(m-1)/2]
+
+
+Int[(d_.*x_)^m_.*Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d*x)^m*Pq*(a+b*x^2+c*x^4)^p,x],x] /;
+FreeQ[{a,b,c,d,m},x] && PolyQ[Pq,x^2] && IGtQ[p,-2]
+
+
+Int[(d_.*x_)^m_.*Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ 1/d^2*Int[(d*x)^(m+2)*ExpandToSum[Pq/x^2,x]*(a+b*x^2+c*x^4)^p,x] /;
+FreeQ[{a,b,c,d,m,p},x] && PolyQ[Pq,x^2] && EqQ[Coeff[Pq,x,0]]
+
+
+Int[(d_.*x_)^m_.*Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ With[{e=Coeff[Pq,x,0],f=Coeff[Pq,x,2],g=Coeff[Pq,x,4]},
+ e*(d*x)^(m+1)*(a+b*x^2+c*x^4)^(p+1)/(a*d*(m+1)) /;
+ EqQ[a*f*(m+1)-b*e*(m+2*p+3)] && EqQ[a*g*(m+1)-c*e*(m+4*p+5)] && NeQ[m+1]] /;
+FreeQ[{a,b,c,d,m,p},x] && PolyQ[Pq,x^2] && Expon[Pq,x]==4
+
+
+Int[(d_.*x_)^m_.*Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ (a+b*x^2+c*x^4)^FracPart[p]/((4*c)^IntPart[p]*(b+2*c*x^2)^(2*FracPart[p]))*Int[(d*x)^m*Pq*(b+2*c*x^2)^(2*p),x] /;
+FreeQ[{a,b,c,d,m,p},x] && PolyQ[Pq,x^2] && Expon[Pq,x^2]>1 && EqQ[b^2-4*a*c]
+
+
+Int[x_^m_*Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ With[{d=Coeff[PolynomialRemainder[x^m*Pq,a+b*x^2+c*x^4,x],x,0],
+ e=Coeff[PolynomialRemainder[x^m*Pq,a+b*x^2+c*x^4,x],x,2]},
+ x*(a+b*x^2+c*x^4)^(p+1)*(a*b*e-d*(b^2-2*a*c)-c*(b*d-2*a*e)*x^2)/(2*a*(p+1)*(b^2-4*a*c)) +
+ 1/(2*a*(p+1)*(b^2-4*a*c))*Int[(a+b*x^2+c*x^4)^(p+1)*
+ ExpandToSum[2*a*(p+1)*(b^2-4*a*c)*PolynomialQuotient[x^m*Pq,a+b*x^2+c*x^4,x]+
+ b^2*d*(2*p+3)-2*a*c*d*(4*p+5)-a*b*e+c*(4*p+7)*(b*d-2*a*e)*x^2,x],x]] /;
+FreeQ[{a,b,c},x] && PolyQ[Pq,x^2] && Expon[Pq,x^2]>1 && NeQ[b^2-4*a*c] && RationalQ[p] && p<-1 &&
+ PositiveIntegerQ[m/2]
+
+
+Int[x_^m_*Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ With[{d=Coeff[PolynomialRemainder[x^m*Pq,a+b*x^2+c*x^4,x],x,0],
+ e=Coeff[PolynomialRemainder[x^m*Pq,a+b*x^2+c*x^4,x],x,2]},
+ x*(a+b*x^2+c*x^4)^(p+1)*(a*b*e-d*(b^2-2*a*c)-c*(b*d-2*a*e)*x^2)/(2*a*(p+1)*(b^2-4*a*c)) +
+ 1/(2*a*(p+1)*(b^2-4*a*c))*Int[x^m*(a+b*x^2+c*x^4)^(p+1)*
+ ExpandToSum[2*a*(p+1)*(b^2-4*a*c)*x^(-m)*PolynomialQuotient[x^m*Pq,a+b*x^2+c*x^4,x]+
+ (b^2*d*(2*p+3)-2*a*c*d*(4*p+5)-a*b*e)*x^(-m)+c*(4*p+7)*(b*d-2*a*e)*x^(2-m),x],x]] /;
+FreeQ[{a,b,c},x] && PolyQ[Pq,x^2] && Expon[Pq,x^2]>1 && NeQ[b^2-4*a*c] && RationalQ[p] && p<-1 &&
+ NegativeIntegerQ[m/2]
+
+
+(* Int[x_^m_.*Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ With[{d=Coeff[PolynomialRemainder[x^m*Pq,a+b*x^2+c*x^4,x],x,1],
+ e=Coeff[PolynomialRemainder[x^m*Pq,a+b*x^2+c*x^4,x],x,3]},
+ x^2*(a+b*x^2+c*x^4)^(p+1)*(a*b*e-d*(b^2-2*a*c)-c*(b*d-2*a*e)*x^2)/(2*a*(p+1)*(b^2-4*a*c)) +
+ 1/(a*(p+1)*(b^2-4*a*c))*Int[x^m*(a+b*x^2+c*x^4)^(p+1)*
+ ExpandToSum[a*(p+1)*(b^2-4*a*c)*x^(-m)*PolynomialQuotient[x^m*Pq,a+b*x^2+c*x^4,x]+
+ (b^2*d*(p+2)-2*a*c*d*(2*p+3)-a*b*e)*x^(1-m)+2*c*(p+2)*(b*d-2*a*e)*x^(3-m),x],x]] /;
+FreeQ[{a,b,c},x] && PolyQ[Pq,x^2] && Expon[Pq,x^2]>1 && NeQ[b^2-4*a*c] && RationalQ[p] && p<-1 &&
+ IntegerQ[(m-1)/2] *)
+
+
+Int[(d_.*x_)^m_.*Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ Defer[Int][(d*x)^m*Pq*(a+b*x^2+c*x^4)^p,x] /;
+FreeQ[{a,b,c,d,m,p},x] && PolyQ[Pq,x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.2.5 Pq(x) (a+b x^2+c x^4)^p*)
+
+
+Int[Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[Pq*(a+b*x^2+c*x^4)^p,x],x] /;
+FreeQ[{a,b,c},x] && PolyQ[Pq,x] && IGtQ[p,0]
+
+
+Int[Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ Int[x*ExpandToSum[Pq/x,x]*(a+b*x^2+c*x^4)^p,x] /;
+FreeQ[{a,b,c,p},x] && PolyQ[Pq,x] && EqQ[Coeff[Pq,x,0],0]
+
+
+Int[Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ Module[{q=Expon[Pq,x],k},
+ Int[Sum[Coeff[Pq,x,2*k]*x^(2*k),{k,0,q/2}]*(a+b*x^2+c*x^4)^p,x] +
+ Int[x*Sum[Coeff[Pq,x,2*k+1]*x^(2*k),{k,0,(q-1)/2}]*(a+b*x^2+c*x^4)^p,x]] /;
+FreeQ[{a,b,c,p},x] && PolyQ[Pq,x] && Not[PolyQ[Pq,x^2]]
+
+
+Int[Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ With[{d=Coeff[Pq,x,0],e=Coeff[Pq,x,2],f=Coeff[Pq,x,4]},
+ d*x*(a+b*x^2+c*x^4)^(p+1)/a /;
+ EqQ[a*e-b*d*(2*p+3),0] && EqQ[a*f-c*d*(4*p+5),0]] /;
+FreeQ[{a,b,c,p},x] && PolyQ[Pq,x^2] && EqQ[Expon[Pq,x],4]
+
+
+Int[Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] :=
+ With[{d=Coeff[Pq,x,0],e=Coeff[Pq,x,2],f=Coeff[Pq,x,4],g=Coeff[Pq,x,6]},
+ x*(3*a*d+(a*e-b*d*(2*p+3))*x^2)*(a+b*x^2+c*x^4)^(p+1)/(3*a^2) /;
+ EqQ[3*a^2*g-c*(4*p+7)*(a*e-b*d*(2*p+3)),0] && EqQ[3*a^2*f-3*a*c*d*(4*p+5)-b*(2*p+5)*(a*e-b*d*(2*p+3)),0]] /;
+FreeQ[{a,b,c,p},x] && PolyQ[Pq,x^2] && EqQ[Expon[Pq,x],6]
+
+
+Int[Pq_/(a_+b_.*x_^2+c_.*x_^4),x_Symbol] :=
+ Int[ExpandIntegrand[Pq/(a+b*x^2+c*x^4),x],x] /;
+FreeQ[{a,b,c},x] && PolyQ[Pq,x^2] && Expon[Pq,x^2]>1
+
+
+Int[Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ (a+b*x^2+c*x^4)^FracPart[p]/((4*c)^IntPart[p]*(b+2*c*x^2)^(2*FracPart[p]))*Int[Pq*(b+2*c*x^2)^(2*p),x] /;
+FreeQ[{a,b,c,p},x] && PolyQ[Pq,x^2] && Expon[Pq,x^2]>1 && EqQ[b^2-4*a*c,0]
+
+
+Int[Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ With[{d=Coeff[PolynomialRemainder[Pq,a+b*x^2+c*x^4,x],x,0],
+ e=Coeff[PolynomialRemainder[Pq,a+b*x^2+c*x^4,x],x,2]},
+ x*(a+b*x^2+c*x^4)^(p+1)*(a*b*e-d*(b^2-2*a*c)-c*(b*d-2*a*e)*x^2)/(2*a*(p+1)*(b^2-4*a*c)) +
+ 1/(2*a*(p+1)*(b^2-4*a*c))*Int[(a+b*x^2+c*x^4)^(p+1)*
+ ExpandToSum[2*a*(p+1)*(b^2-4*a*c)*PolynomialQuotient[Pq,a+b*x^2+c*x^4,x]+
+ b^2*d*(2*p+3)-2*a*c*d*(4*p+5)-a*b*e+c*(4*p+7)*(b*d-2*a*e)*x^2,x],x]] /;
+FreeQ[{a,b,c},x] && PolyQ[Pq,x^2] && Expon[Pq,x^2]>1 && NeQ[b^2-4*a*c,0] && LtQ[p,-1]
+
+
+Int[Pq_*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] :=
+ With[{q=Expon[Pq,x^2],e=Coeff[Pq,x^2,Expon[Pq,x^2]]},
+ e*x^(2*q-3)*(a+b*x^2+c*x^4)^(p+1)/(c*(2*q+4*p+1)) +
+ 1/(c*(2*q+4*p+1))*Int[(a+b*x^2+c*x^4)^p*
+ ExpandToSum[c*(2*q+4*p+1)*Pq-a*e*(2*q-3)*x^(2*q-4)-b*e*(2*q+2*p-1)*x^(2*q-2)-c*e*(2*q+4*p+1)*x^(2*q),x],x]] /;
+FreeQ[{a,b,c,p},x] && PolyQ[Pq,x^2] && Expon[Pq,x^2]>1 && NeQ[b^2-4*a*c,0] && Not[LtQ[p,-1]]
+
+
+
+`)
+
+func resourcesRubi122QuarticTrinomialProductsMBytes() ([]byte, error) {
+ return _resourcesRubi122QuarticTrinomialProductsM, nil
+}
+
+func resourcesRubi122QuarticTrinomialProductsM() (*asset, error) {
+ bytes, err := resourcesRubi122QuarticTrinomialProductsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/1.2.2 Quartic trinomial products.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi123GeneralTrinomialProductsM = []byte(`(* ::Package:: *)
+
+(* ::Section:: *)
+(*1.2.3 General Trinomial Product Integration Rules*)
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.3.1 (a+b x^n+c x^(2 n))^p*)
+
+
+Int[(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[x^(2*n*p)*(c+b*x^(-n)+a*x^(-2*n))^p,x] /;
+FreeQ[{a,b,c},x] && EqQ[n2,2*n] && LtQ[n,0] && IntegerQ[p]
+
+
+Int[(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{k=Denominator[n]},
+ k*Subst[Int[x^(k-1)*(a+b*x^(k*n)+c*x^(2*k*n))^p,x],x,x^(1/k)]] /;
+FreeQ[{a,b,c,p},x] && EqQ[n2,2*n] && FractionQ[n]
+
+
+Int[(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ -Subst[Int[(a+b*x^(-n)+c*x^(-2*n))^p/x^2,x],x,1/x] /;
+FreeQ[{a,b,c,p},x] && EqQ[n2,2*n] && ILtQ[n,0]
+
+
+Int[(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (a+b*x^n+c*x^(2*n))^p/(b+2*c*x^n)^(2*p)*Int[(b+2*c*x^n)^(2*p),x] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[n2,2*n] && EqQ[b^2-4*a*c,0]
+
+
+Int[(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*x^n+c*x^(2*n))^p,x],x] /;
+FreeQ[{a,b,c,n},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c,0] && IGtQ[p,0]
+
+
+Int[(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ x*(a+b*x^n+c*x^(2*n))^p/(2*n*p+1) +
+ n*p/(2*n*p+1)*Int[(2*a+b*x^n)*(a+b*x^n+c*x^(2*n))^(p-1),x] /;
+FreeQ[{a,b,c,n},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c,0] && GtQ[p,0] && NeQ[2*n*p+1,0] && IntegerQ[p]
+
+
+Int[(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ -x*(b^2-2*a*c+b*c*x^n)*(a+b*x^n+c*x^(2*n))^(p+1)/(a*n*(p+1)*(b^2-4*a*c)) +
+ 1/(a*n*(p+1)*(b^2-4*a*c))*
+ Int[(b^2-2*a*c+n*(p+1)*(b^2-4*a*c)+b*c*(n*(2*p+3)+1)*x^n)*(a+b*x^n+c*x^(2*n))^(p+1),x] /;
+FreeQ[{a,b,c,n},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c,0] && LtQ[p,-1] && IntegerQ[p]
+
+
+Int[1/(a_+b_.*x_^n_+c_.*x_^n2_),x_Symbol] :=
+ With[{q=Rt[a/c,2]},
+ With[{r=Rt[2*q-b/c,2]},
+ 1/(2*c*q*r)*Int[(r-x^(n/2))/(q-r*x^(n/2)+x^n),x] +
+ 1/(2*c*q*r)*Int[(r+x^(n/2))/(q+r*x^(n/2)+x^n),x]]] /;
+FreeQ[{a,b,c},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c,0] && IGtQ[n/2,0] && NegQ[b^2-4*a*c]
+
+
+Int[1/(a_+b_.*x_^n_+c_.*x_^n2_),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ c/q*Int[1/(b/2-q/2+c*x^n),x] - c/q*Int[1/(b/2+q/2+c*x^n),x]] /;
+FreeQ[{a,b,c},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c,0]
+
+
+Int[(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ a^IntPart[p]*(a+b*x^n+c*x^(2*n))^FracPart[p]/
+ ((1+2*c*x^n/(b+Rt[b^2-4*a*c,2]))^FracPart[p]*(1+2*c*x^n/(b-Rt[b^2-4*a*c,2]))^FracPart[p])*
+ Int[(1+2*c*x^n/(b+Sqrt[b^2-4*a*c]))^p*(1+2*c*x^n/(b-Sqrt[b^2-4*a*c]))^p,x] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[n2,2*n]
+
+
+Int[(a_+b_.*x_^mn_+c_.*x_^n_.)^p_.,x_Symbol] :=
+ Int[(b+a*x^n+c*x^(2*n))^p/x^(n*p),x] /;
+FreeQ[{a,b,c,n},x] && EqQ[mn,-n] && IntegerQ[p] && PosQ[n]
+
+
+Int[(a_+b_.*x_^mn_+c_.*x_^n_.)^p_,x_Symbol] :=
+ x^(n*FracPart[p])*(a+b*x^(-n)+c*x^n)^FracPart[p]/(b+a*x^n+c*x^(2*n))^FracPart[p]*Int[(b+a*x^n+c*x^(2*n))^p/x^(n*p),x] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[mn,-n] && Not[IntegerQ[p]] && PosQ[n]
+
+
+Int[(a_+b_.*u_^n_+c_.*u_^n2_.)^p_,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*x^n+c*x^(2*n))^p,x],x,u] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[n2,2*n] && LinearQ[u,x] && NeQ[u,x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.3.2 (d x)^m (a+b x^n+c x^(2 n))^p*)
+
+
+Int[x_^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ 1/n*Subst[Int[(a+b*x+c*x^2)^p,x],x,x^n] /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[n2,2*n] && EqQ[Simplify[m-n+1]]
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d*x)^m*(a+b*x^n+c*x^(2*n))^p,x],x] /;
+FreeQ[{a,b,c,d,m,n},x] && EqQ[n2,2*n] && PositiveIntegerQ[p] && Not[IntegerQ[Simplify[(m+1)/n]]]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ Int[x^(m+2*n*p)*(c+b*x^(-n)+a*x^(-2*n))^p,x] /;
+FreeQ[{a,b,c,m,n},x] && EqQ[n2,2*n] && NegativeIntegerQ[p] && NegQ[n]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(a+b*x+c*x^2)^p,x],x,x^n] /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(d_*x_)^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ d^IntPart[m]*(d*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,m,n,p},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{k=GCD[m+1,n]},
+ 1/k*Subst[Int[x^((m+1)/k-1)*(a+b*x^(n/k)+c*x^(2*n/k))^p,x],x,x^k] /;
+ k!=1] /;
+FreeQ[{a,b,c,p},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && IntegerQ[m]
+
+
+Int[(d_.*x_)^m_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{k=Denominator[m]},
+ k/d*Subst[Int[x^(k*(m+1)-1)*(a+b*x^(k*n)/d^n+c*x^(2*k*n)/d^(2*n))^p,x],x,(d*x)^(1/k)]] /;
+FreeQ[{a,b,c,d,p},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && FractionQ[m] && IntegerQ[p]
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ d^(n-1)*(d*x)^(m-n+1)*(b*n*p+c*(m+n*(2*p-1)+1)*x^n)*(a+b*x^n+c*x^(2*n))^p/(c*(m+2*n*p+1)*(m+n*(2*p-1)+1)) -
+ n*p*d^n/(c*(m+2*n*p+1)*(m+n*(2*p-1)+1))*
+ Int[(d*x)^(m-n)*(a+b*x^n+c*x^(2*n))^(p-1)*Simp[a*b*(m-n+1)-(2*a*c*(m+n*(2*p-1)+1)-b^2*(m+n*(p-1)+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[m,p] && p>0 && m>n-1 &&
+ m+2*n*p+1!=0 && m+n*(2*p-1)+1!=0 && IntegerQ[p]
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (d*x)^(m+1)*(a+b*x^n+c*x^(2*n))^p/(d*(m+1)) -
+ n*p/(d^n*(m+1))*Int[(d*x)^(m+n)*(b+2*c*x^n)*(a+b*x^n+c*x^(2*n))^(p-1),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[m,p] && p>0 && m<-1 && IntegerQ[p]
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (d*x)^(m+1)*(a+b*x^n+c*x^(2*n))^p/(d*(m+2*n*p+1)) +
+ n*p/(m+2*n*p+1)*Int[(d*x)^m*(2*a+b*x^n)*(a+b*x^n+c*x^(2*n))^(p-1),x] /;
+FreeQ[{a,b,c,d,m},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[p] && p>0 && NeQ[m+2*n*p+1] &&
+ IntegerQ[p]
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ d^(n-1)*(d*x)^(m-n+1)*(b+2*c*x^n)*(a+b*x^n+c*x^(2*n))^(p+1)/(n*(p+1)*(b^2-4*a*c)) -
+ d^n/(n*(p+1)*(b^2-4*a*c))*
+ Int[(d*x)^(m-n)*(b*(m-n+1)+2*c*(m+2*n*(p+1)+1)*x^n)*(a+b*x^n+c*x^(2*n))^(p+1),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[m,p] && p<-1 && n-12*n-1 &&
+ IntegerQ[p]
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ -(d*x)^(m+1)*(b^2-2*a*c+b*c*x^n)*(a+b*x^n+c*x^(2*n))^(p+1)/(a*d*n*(p+1)*(b^2-4*a*c)) +
+ 1/(a*n*(p+1)*(b^2-4*a*c))*
+ Int[(d*x)^m*(a+b*x^n+c*x^(2*n))^(p+1)*Simp[b^2*(n*(p+1)+m+1)-2*a*c*(m+2*n*(p+1)+1)+b*c*(2*n*p+3*n+m+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,m},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[p] && p<-1 && IntegerQ[p]
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ d^(2*n-1)*(d*x)^(m-2*n+1)*(a+b*x^n+c*x^(2*n))^(p+1)/(c*(m+2*n*p+1)) -
+ d^(2*n)/(c*(m+2*n*p+1))*
+ Int[(d*x)^(m-2*n)*Simp[a*(m-2*n+1)+b*(m+n*(p-1)+1)*x^n,x]*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,p},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[m] && m>2*n-1 &&
+ NeQ[m+2*n*p+1] && IntegerQ[p]
+
+
+Int[(d_.*x_)^m_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (d*x)^(m+1)*(a+b*x^n+c*x^(2*n))^(p+1)/(a*d*(m+1)) -
+ 1/(a*d^n*(m+1))*Int[(d*x)^(m+n)*(b*(m+n*(p+1)+1)+c*(m+2*n*(p+1)+1)*x^n)*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,p},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[m] && m<-1 && IntegerQ[p]
+
+
+Int[(d_.*x_)^m_/(a_+b_.*x_^n_+c_.*x_^n2_.),x_Symbol] :=
+ (d*x)^(m+1)/(a*d*(m+1)) -
+ 1/(a*d^n)*Int[(d*x)^(m+n)*(b+c*x^n)/(a+b*x^n+c*x^(2*n)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[m] && m<-1
+
+
+Int[x_^m_/(a_+b_.*x_^n_+c_.*x_^n2_.),x_Symbol] :=
+ Int[PolynomialDivide[x^m,(a+b*x^n+c*x^(2*n)),x],x] /;
+FreeQ[{a,b,c},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && IntegerQ[m] && m>3*n-1
+
+
+Int[(d_.*x_)^m_/(a_+b_.*x_^n_+c_.*x_^n2_.),x_Symbol] :=
+ d^(2*n-1)*(d*x)^(m-2*n+1)/(c*(m-2*n+1)) -
+ d^(2*n)/c*Int[(d*x)^(m-2*n)*(a+b*x^n)/(a+b*x^n+c*x^(2*n)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[m] && m>2*n-1
+
+
+Int[x_^m_./(a_+b_.*x_^n_+c_.*x_^n2_.),x_Symbol] :=
+ With[{q=Rt[a/c,2]},
+ With[{r=Rt[2*q-b/c,2]},
+ 1/(2*c*r)*Int[x^(m-3*(n/2))*(q+r*x^(n/2))/(q+r*x^(n/2)+x^n),x] -
+ 1/(2*c*r)*Int[x^(m-3*(n/2))*(q-r*x^(n/2))/(q-r*x^(n/2)+x^n),x]]] /;
+FreeQ[{a,b,c},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n/2,m] && 3*n/2<=m<2*n && NegQ[b^2-4*a*c]
+
+
+Int[x_^m_./(a_+b_.*x_^n_+c_.*x_^n2_.),x_Symbol] :=
+ With[{q=Rt[a/c,2]},
+ With[{r=Rt[2*q-b/c,2]},
+ 1/(2*c*r)*Int[x^(m-n/2)/(q-r*x^(n/2)+x^n),x] -
+ 1/(2*c*r)*Int[x^(m-n/2)/(q+r*x^(n/2)+x^n),x]]] /;
+FreeQ[{a,b,c},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n/2,m] && n/2<=m<3*n/2 && NegQ[b^2-4*a*c]
+
+
+Int[(d_.*x_)^m_/(a_+b_.*x_^n_+c_.*x_^n2_.),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ d^n/2*(b/q+1)*Int[(d*x)^(m-n)/(b/2+q/2+c*x^n),x] -
+ d^n/2*(b/q-1)*Int[(d*x)^(m-n)/(b/2-q/2+c*x^n),x]] /;
+FreeQ[{a,b,c,d},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[m] && m>=n
+
+
+Int[(d_.*x_)^m_./(a_+b_.*x_^n_+c_.*x_^n2_.),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ c/q*Int[(d*x)^m/(b/2-q/2+c*x^n),x] - c/q*Int[(d*x)^m/(b/2+q/2+c*x^n),x]] /;
+FreeQ[{a,b,c,d,m},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ -Subst[Int[(a+b*x^(-n)+c*x^(-2*n))^p/x^(m+2),x],x,1/x] /;
+FreeQ[{a,b,c,p},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && NegativeIntegerQ[n] && IntegerQ[m]
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{k=Denominator[m]},
+ -k/d*Subst[Int[(a+b*d^(-n)*x^(-k*n)+c*d^(-2*n)*x^(-2*k*n))^p/x^(k*(m+1)+1),x],x,1/(d*x)^(1/k)]] /;
+FreeQ[{a,b,c,d,p},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && NegativeIntegerQ[n] && FractionQ[m]
+
+
+Int[(d_.*x_)^m_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ -d^IntPart[m]*(d*x)^FracPart[m]*(x^(-1))^FracPart[m]*Subst[Int[(a+b*x^(-n)+c*x^(-2*n))^p/x^(m+2),x],x,1/x] /;
+FreeQ[{a,b,c,d,m,p},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && NegativeIntegerQ[n] && Not[RationalQ[m]]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{k=Denominator[n]},
+ k*Subst[Int[x^(k*(m+1)-1)*(a+b*x^(k*n)+c*x^(2*k*n))^p,x],x,x^(1/k)]] /;
+FreeQ[{a,b,c,m,p},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && FractionQ[n]
+
+
+Int[(d_*x_)^m_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ d^IntPart[m]*(d*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,m,p},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && FractionQ[n]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ 1/(m+1)*Subst[Int[(a+b*x^Simplify[n/(m+1)]+c*x^Simplify[2*n/(m+1)])^p,x],x,x^(m+1)] /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && IntegerQ[Simplify[n/(m+1)]] && Not[IntegerQ[n]]
+
+
+Int[(d_*x_)^m_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ d^IntPart[m]*(d*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,m,n,p},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && IntegerQ[Simplify[n/(m+1)]] && Not[IntegerQ[n]]
+
+
+Int[(d_.*x_)^m_./(a_+b_.*x_^n_+c_.*x_^n2_.),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ 2*c/q*Int[(d*x)^m/(b-q+2*c*x^n),x] -
+ 2*c/q*Int[(d*x)^m/(b+q+2*c*x^n),x]] /;
+FreeQ[{a,b,c,d,m,n},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c]
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ -(d*x)^(m+1)*(b^2-2*a*c+b*c*x^n)*(a+b*x^n+c*x^(2*n))^(p+1)/(a*d*n*(p+1)*(b^2-4*a*c)) +
+ 1/(a*n*(p+1)*(b^2-4*a*c))*
+ Int[(d*x)^m*(a+b*x^n+c*x^(2*n))^(p+1)*Simp[b^2*(n*(p+1)+m+1)-2*a*c*(m+2*n*(p+1)+1)+b*c*(2*n*p+3*n+m+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,m,n},x] && EqQ[n2,2*n] && NeQ[b^2-4*a*c] && NegativeIntegerQ[p+1]
+
+
+Int[(d_.*x_)^m_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ a^IntPart[p]*(a+b*x^n+c*x^(2*n))^FracPart[p]/
+ ((1+2*c*x^n/(b+Rt[b^2-4*a*c,2]))^FracPart[p]*(1+2*c*x^n/(b-Rt[b^2-4*a*c,2]))^FracPart[p])*
+ Int[(d*x)^m*(1+2*c*x^n/(b+Sqrt[b^2-4*a*c]))^p*(1+2*c*x^n/(b-Sqrt[b^2-4*a*c]))^p,x] /;
+FreeQ[{a,b,c,d,m,n,p},x] && EqQ[n2,2*n]
+
+
+Int[x_^m_.*(a_+b_.*x_^mn_+c_.*x_^n_.)^p_.,x_Symbol] :=
+ Int[x^(m-n*p)*(b+a*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,m,n},x] && EqQ[mn,-n] && IntegerQ[p] && PosQ[n]
+
+
+Int[x_^m_.*(a_+b_.*x_^mn_+c_.*x_^n_.)^p_.,x_Symbol] :=
+ x^(n*FracPart[p])*(a+b/x^n+c*x^n)^FracPart[p]/(b+a*x^n+c*x^(2*n))^FracPart[p]*Int[x^(m-n*p)*(b+a*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[mn,-n] && Not[IntegerQ[p]] && PosQ[n]
+
+
+Int[(d_*x_)^m_.*(a_+b_.*x_^mn_+c_.*x_^n_.)^p_.,x_Symbol] :=
+ d^IntPart[m]*(d*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*x^(-n)+c*x^n)^p,x] /;
+FreeQ[{a,b,c,d,m,n,p},x] && EqQ[mn,-n]
+
+
+Int[x_^m_.*(a_.+b_.*v_^n_+c_.*v_^n2_.)^p_.,x_Symbol] :=
+ 1/Coefficient[v,x,1]^(m+1)*Subst[Int[SimplifyIntegrand[(x-Coefficient[v,x,0])^m*(a+b*x^n+c*x^(2*n))^p,x],x],x,v] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[n2,2*n] && LinearQ[v,x] && IntegerQ[m] && NeQ[v-x]
+
+
+Int[u_^m_.*(a_.+b_.*v_^n_+c_.*v_^n2_.)^p_.,x_Symbol] :=
+ u^m/(Coefficient[v,x,1]*v^m)*Subst[Int[x^m*(a+b*x^n+c*x^(2*n))^p,x],x,v] /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[n2,2*n] && LinearPairQ[u,v,x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.3.3 (d+e x^n)^q (a+b x^n+c x^(2 n))^p*)
+
+
+Int[(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[x^(n*(2*p+q))*(e+d*x^(-n))^q*(c+b*x^(-n)+a*x^(-2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && IntegersQ[p,q] && NegQ[n]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[x^(n*(2*p+q))*(e+d*x^(-n))^q*(c+a*x^(-2*n))^p,x] /;
+FreeQ[{a,c,d,e,n},x] && EqQ[n2-2*n] && IntegersQ[p,q] && NegQ[n]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(a_.+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -Subst[Int[(d+e*x^(-n))^q*(a+b*x^(-n)+c*x^(-2*n))^p/x^2,x],x,1/x] /;
+FreeQ[{a,b,c,d,e,p,q},x] && EqQ[n2-2*n] && NegativeIntegerQ[n]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -Subst[Int[(d+e*x^(-n))^q*(a+c*x^(-2*n))^p/x^2,x],x,1/x] /;
+FreeQ[{a,c,d,e,p,q},x] && EqQ[n2-2*n] && NegativeIntegerQ[n]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(a_.+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ With[{g=Denominator[n]},
+ g*Subst[Int[x^(g-1)*(d+e*x^(g*n))^q*(a+b*x^(g*n)+c*x^(2*g*n))^p,x],x,x^(1/g)]] /;
+FreeQ[{a,b,c,d,e,p,q},x] && EqQ[n2-2*n] && FractionQ[n]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ With[{g=Denominator[n]},
+ g*Subst[Int[x^(g-1)*(d+e*x^(g*n))^q*(a+c*x^(2*g*n))^p,x],x,x^(1/g)]] /;
+FreeQ[{a,c,d,e,p,q},x] && EqQ[n2-2*n] && FractionQ[n]
+
+
+Int[(d_+e_.*x_^n_)*(b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ (b*e-d*c)*(b*x^n+c*x^(2*n))^(p+1)/(b*c*n*(p+1)*x^(2*n*(p+1))) +
+ e/c*Int[x^(-n)*(b*x^n+c*x^(2*n))^(p+1),x] /;
+FreeQ[{b,c,d,e,n,p},x] && EqQ[n2-2*n] && Not[IntegerQ[p]] && EqQ[n*(2*p+1)+1]
+
+
+Int[(d_+e_.*x_^n_)*(b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ e*x^(-n+1)*(b*x^n+c*x^(2*n))^(p+1)/(c*(n*(2*p+1)+1)) /;
+FreeQ[{b,c,d,e,n,p},x] && EqQ[n2-2*n] && Not[IntegerQ[p]] && NeQ[n*(2*p+1)+1] && EqQ[b*e*(n*p+1)-c*d*(n*(2*p+1)+1)]
+
+
+Int[(d_+e_.*x_^n_)*(b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ e*x^(-n+1)*(b*x^n+c*x^(2*n))^(p+1)/(c*(n*(2*p+1)+1)) -
+ (b*e*(n*p+1)-c*d*(n*(2*p+1)+1))/(c*(n*(2*p+1)+1))*Int[(b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{b,c,d,e,n,p},x] && EqQ[n2-2*n] && Not[IntegerQ[p]] && NeQ[n*(2*p+1)+1] && NeQ[b*e*(n*p+1)-c*d*(n*(2*p+1)+1)]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ (b*x^n+c*x^(2*n))^FracPart[p]/(x^(n*FracPart[p])*(b+c*x^n)^FracPart[p])*Int[x^(n*p)*(d+e*x^n)^q*(b+c*x^n)^p,x] /;
+FreeQ[{b,c,d,e,n,p,q},x] && EqQ[n2-2*n] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ Int[(d+e*x^n)^(p+q)*(a/d+c/e*x^n)^p,x] /;
+FreeQ[{a,b,c,d,e,n,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] && IntegerQ[p]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ Int[(d+e*x^n)^(p+q)*(a/d+c/e*x^n)^p,x] /;
+FreeQ[{a,c,d,e,n,q},x] && EqQ[n2-2*n] && EqQ[c*d^2+a*e^2] && IntegerQ[p]
+
+
+Int[(d_+e_.*x_^n_)^q_*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ (a+b*x^n+c*x^(2*n))^FracPart[p]/((d+e*x^n)^FracPart[p]*(a/d+(c*x^n)/e)^FracPart[p])*Int[(d+e*x^n)^(p+q)*(a/d+c/e*x^n)^p,x] /;
+FreeQ[{a,b,c,d,e,n,p,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_^n_)^q_*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ (a+c*x^(2*n))^FracPart[p]/((d+e*x^n)^FracPart[p]*(a/d+(c*x^n)/e)^FracPart[p])*Int[(d+e*x^n)^(p+q)*(a/d+c/e*x^n)^p,x] /;
+FreeQ[{a,c,d,e,n,p,q},x] && EqQ[n2-2*n] && EqQ[c*d^2+a*e^2] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_),x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^n)^q*(a+b*x^n+c*x^(2*n)),x],x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && PositiveIntegerQ[q]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_),x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^n)^q*(a+c*x^(2*n)),x],x] /;
+FreeQ[{a,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[c*d^2+a*e^2] && PositiveIntegerQ[q]
+
+
+Int[(d_+e_.*x_^n_)^q_*(a_+b_.*x_^n_+c_.*x_^n2_),x_Symbol] :=
+ -(c*d^2-b*d*e+a*e^2)*x*(d+e*x^n)^(q+1)/(d*e^2*n*(q+1)) +
+ 1/(n*(q+1)*d*e^2)*Int[(d+e*x^n)^(q+1)*Simp[c*d^2-b*d*e+a*e^2*(n*(q+1)+1)+c*d*e*n*(q+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && RationalQ[q] && q<-1
+
+
+Int[(d_+e_.*x_^n_)^q_*(a_+c_.*x_^n2_),x_Symbol] :=
+ -(c*d^2+a*e^2)*x*(d+e*x^n)^(q+1)/(d*e^2*n*(q+1)) +
+ 1/(n*(q+1)*d*e^2)*Int[(d+e*x^n)^(q+1)*Simp[c*d^2+a*e^2*(n*(q+1)+1)+c*d*e*n*(q+1)*x^n,x],x] /;
+FreeQ[{a,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[c*d^2+a*e^2] && RationalQ[q] && q<-1
+
+
+Int[(d_+e_.*x_^n_)^q_*(a_+b_.*x_^n_+c_.*x_^n2_),x_Symbol] :=
+ c*x^(n+1)*(d+e*x^n)^(q+1)/(e*(n*(q+2)+1)) +
+ 1/(e*(n*(q+2)+1))*Int[(d+e*x^n)^q*(a*e*(n*(q+2)+1)-(c*d*(n+1)-b*e*(n*(q+2)+1))*x^n),x] /;
+FreeQ[{a,b,c,d,e,n,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2]
+
+
+Int[(d_+e_.*x_^n_)^q_*(a_+c_.*x_^n2_),x_Symbol] :=
+ c*x^(n+1)*(d+e*x^n)^(q+1)/(e*(n*(q+2)+1)) +
+ 1/(e*(n*(q+2)+1))*Int[(d+e*x^n)^q*(a*e*(n*(q+2)+1)-c*d*(n+1)*x^n),x] /;
+FreeQ[{a,c,d,e,n,q},x] && EqQ[n2-2*n] && NeQ[c*d^2+a*e^2]
+
+
+Int[(d_+e_.*x_^n_)/(a_+c_.*x_^n2_),x_Symbol] :=
+ With[{q=Rt[2*d*e,2]},
+ e^2/(2*c)*Int[1/(d+q*x^(n/2)+e*x^n),x] + e^2/(2*c)*Int[1/(d-q*x^(n/2)+e*x^n),x]] /;
+FreeQ[{a,c,d,e},x] && EqQ[n2-2*n] && EqQ[c*d^2-a*e^2] && PositiveIntegerQ[n/2] && PosQ[d*e]
+
+
+Int[(d_+e_.*x_^n_)/(a_+c_.*x_^n2_),x_Symbol] :=
+ With[{q=Rt[-2*d*e,2]},
+ d/(2*a)*Int[(d-q*x^(n/2))/(d-q*x^(n/2)-e*x^n),x] +
+ d/(2*a)*Int[(d+q*x^(n/2))/(d+q*x^(n/2)-e*x^n),x]] /;
+FreeQ[{a,c,d,e},x] && EqQ[n2-2*n] && EqQ[c*d^2-a*e^2] && PositiveIntegerQ[n/2] && NegQ[d*e]
+
+
+Int[(d_+e_.*x_^n_)/(a_+c_.*x_^n2_),x_Symbol] :=
+ With[{q=Rt[a/c,4]},
+ 1/(2*Sqrt[2]*c*q^3)*Int[(Sqrt[2]*d*q-(d-e*q^2)*x^(n/2))/(q^2-Sqrt[2]*q*x^(n/2)+x^n),x] +
+ 1/(2*Sqrt[2]*c*q^3)*Int[(Sqrt[2]*d*q+(d-e*q^2)*x^(n/2))/(q^2+Sqrt[2]*q*x^(n/2)+x^n),x]] /;
+FreeQ[{a,c,d,e},x] && EqQ[n2-2*n] && NeQ[c*d^2+a*e^2] && NeQ[c*d^2-a*e^2] && PositiveIntegerQ[n/2] && PosQ[a*c]
+
+
+Int[(d_+e_.*x_^3)/(a_+c_.*x_^6),x_Symbol] :=
+ With[{q=Rt[c/a,6]},
+ 1/(3*a*q^2)*Int[(q^2*d-e*x)/(1+q^2*x^2),x] +
+ 1/(6*a*q^2)*Int[(2*q^2*d-(Sqrt[3]*q^3*d-e)*x)/(1-Sqrt[3]*q*x+q^2*x^2),x] +
+ 1/(6*a*q^2)*Int[(2*q^2*d+(Sqrt[3]*q^3*d+e)*x)/(1+Sqrt[3]*q*x+q^2*x^2),x]] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2] && PosQ[c/a]
+
+
+Int[(d_+e_.*x_^n_)/(a_+c_.*x_^n2_),x_Symbol] :=
+ With[{q=Rt[-a/c,2]},
+ (d+e*q)/2*Int[1/(a+c*q*x^n),x] + (d-e*q)/2*Int[1/(a-c*q*x^n),x]] /;
+FreeQ[{a,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[c*d^2+a*e^2] && NegQ[a*c] && IntegerQ[n]
+
+
+Int[(d_+e_.*x_^n_)/(a_+c_.*x_^n2_),x_Symbol] :=
+ d*Int[1/(a+c*x^(2*n)),x] + e*Int[x^n/(a+c*x^(2*n)),x] /;
+FreeQ[{a,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[c*d^2+a*e^2] && (PosQ[a*c] || Not[IntegerQ[n]])
+
+
+Int[(d_+e_.*x_^n_)/(a_+b_.*x_^n_+c_.*x_^n2_),x_Symbol] :=
+ With[{q=Rt[2*d/e-b/c,2]},
+ e/(2*c)*Int[1/Simp[d/e+q*x^(n/2)+x^n,x],x] +
+ e/(2*c)*Int[1/Simp[d/e-q*x^(n/2)+x^n,x],x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && EqQ[c*d^2-a*e^2] && PositiveIntegerQ[n/2] &&
+ (PositiveQ[2*d/e-b/c] || Not[NegativeQ[2*d/e-b/c]] && EqQ[d-e*Rt[a/c,2]])
+
+
+Int[(d_+e_.*x_^n_)/(a_+b_.*x_^n_+c_.*x_^n2_),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (e/2+(2*c*d-b*e)/(2*q))*Int[1/(b/2-q/2+c*x^n),x] + (e/2-(2*c*d-b*e)/(2*q))*Int[1/(b/2+q/2+c*x^n),x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && EqQ[c*d^2-a*e^2] && PositiveIntegerQ[n/2] &&
+ PositiveQ[b^2-4*a*c]
+
+
+Int[(d_+e_.*x_^n_)/(a_+b_.*x_^n_+c_.*x_^n2_),x_Symbol] :=
+ With[{q=Rt[-2*d/e-b/c,2]},
+ e/(2*c*q)*Int[(q-2*x^(n/2))/Simp[d/e+q*x^(n/2)-x^n,x],x] +
+ e/(2*c*q)*Int[(q+2*x^(n/2))/Simp[d/e-q*x^(n/2)-x^n,x],x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && EqQ[c*d^2-a*e^2] && PositiveIntegerQ[n/2] &&
+ Not[PositiveQ[b^2-4*a*c]]
+
+
+Int[(d_+e_.*x_^n_)/(a_+b_.*x_^n_+c_.*x_^n2_),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (e/2+(2*c*d-b*e)/(2*q))*Int[1/(b/2-q/2+c*x^n),x] + (e/2-(2*c*d-b*e)/(2*q))*Int[1/(b/2+q/2+c*x^n),x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] &&
+ (PosQ[b^2-4*a*c] || Not[PositiveIntegerQ[n/2]])
+
+
+Int[(d_+e_.*x_^n_)/(a_+b_.*x_^n_+c_.*x_^n2_),x_Symbol] :=
+ With[{q=Rt[a/c,2]},
+ With[{r=Rt[2*q-b/c,2]},
+ 1/(2*c*q*r)*Int[(d*r-(d-e*q)*x^(n/2))/(q-r*x^(n/2)+x^n),x] +
+ 1/(2*c*q*r)*Int[(d*r+(d-e*q)*x^(n/2))/(q+r*x^(n/2)+x^n),x]]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && PositiveIntegerQ[n/2] &&
+ NegQ[b^2-4*a*c]
+
+
+Int[(d_+e_.*x_^n_)^q_/(a_+b_.*x_^n_+c_.*x_^n2_),x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^n)^q/(a+b*x^n+c*x^(2*n)),x],x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && IntegerQ[q]
+
+
+Int[(d_+e_.*x_^n_)^q_/(a_+c_.*x_^n2_),x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^n)^q/(a+c*x^(2*n)),x],x] /;
+FreeQ[{a,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[c*d^2+a*e^2] && IntegerQ[q]
+
+
+Int[(d_+e_.*x_^n_)^q_/(a_+b_.*x_^n_+c_.*x_^n2_),x_Symbol] :=
+ e^2/(c*d^2-b*d*e+a*e^2)*Int[(d+e*x^n)^q,x] +
+ 1/(c*d^2-b*d*e+a*e^2)*Int[(d+e*x^n)^(q+1)*(c*d-b*e-c*e*x^n)/(a+b*x^n+c*x^(2*n)),x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && Not[IntegerQ[q]] &&
+ RationalQ[q] && q<-1
+
+
+Int[(d_+e_.*x_^n_)^q_/(a_+c_.*x_^n2_),x_Symbol] :=
+ e^2/(c*d^2+a*e^2)*Int[(d+e*x^n)^q,x] +
+ c/(c*d^2+a*e^2)*Int[(d+e*x^n)^(q+1)*(d-e*x^n)/(a+c*x^(2*n)),x] /;
+FreeQ[{a,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[c*d^2+a*e^2] && Not[IntegerQ[q]] && RationalQ[q] && q<-1
+
+
+Int[(d_+e_.*x_^n_)^q_/(a_+b_.*x_^n_+c_.*x_^n2_),x_Symbol] :=
+ With[{r=Rt[b^2-4*a*c,2]},
+ 2*c/r*Int[(d+e*x^n)^q/(b-r+2*c*x^n),x] - 2*c/r*Int[(d+e*x^n)^q/(b+r+2*c*x^n),x]] /;
+FreeQ[{a,b,c,d,e,n,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && Not[IntegerQ[q]]
+
+
+Int[(d_+e_.*x_^n_)^q_/(a_+c_.*x_^n2_),x_Symbol] :=
+ With[{r=Rt[-a*c,2]},
+ -c/(2*r)*Int[(d+e*x^n)^q/(r-c*x^n),x] - c/(2*r)*Int[(d+e*x^n)^q/(r+c*x^n),x]] /;
+FreeQ[{a,c,d,e,n,q},x] && EqQ[n2-2*n] && NeQ[c*d^2+a*e^2] && Not[IntegerQ[q]]
+
+
+Int[(d_+e_.*x_^n_)*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ x*(b*e*n*p+c*d*(2*n*p+n+1)+c*e*(2*n*p+1)*x^n)*(a+b*x^n+c*x^(2*n))^p/(c*(2*n*p+1)*(2*n*p+n+1)) +
+ n*p/(c*(2*n*p+1)*(2*n*p+n+1))*
+ Int[Simp[2*a*c*d*(2*n*p+n+1)-a*b*e+(2*a*c*e*(2*n*p+1)+b*d*c*(2*n*p+n+1)-b^2*e*(n*p+1))*x^n,x]*
+ (a+b*x^n+c*x^(2*n))^(p-1),x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && FractionQ[p] && p>0 && NeQ[2*n*p+1] && NeQ[2*n*p+n+1] &&
+ IntegerQ[p]
+
+
+Int[(d_+e_.*x_^n_)*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ x*(d*(2*n*p+n+1)+e*(2*n*p+1)*x^n)*(a+c*x^(2*n))^p/((2*n*p+1)*(2*n*p+n+1)) +
+ 2*a*n*p/((2*n*p+1)*(2*n*p+n+1))*Int[(d*(2*n*p+n+1)+e*(2*n*p+1)*x^n)*(a+c*x^(2*n))^(p-1),x] /;
+FreeQ[{a,c,d,e,n},x] && EqQ[n2-2*n] && FractionQ[p] && p>0 && NeQ[2*n*p+1] && NeQ[2*n*p+n+1] &&
+ IntegerQ[p]
+
+
+Int[(d_+e_.*x_^n_)*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -x*(d*b^2-a*b*e-2*a*c*d+(b*d-2*a*e)*c*x^n)*(a+b*x^n+c*x^(2*n))^(p+1)/(a*n*(p+1)*(b^2-4*a*c)) +
+ 1/(a*n*(p+1)*(b^2-4*a*c))*
+ Int[Simp[(n*p+n+1)*d*b^2-a*b*e-2*a*c*d*(2*n*p+2*n+1)+(2*n*p+3*n+1)*(d*b-2*a*e)*c*x^n,x]*
+ (a+b*x^n+c*x^(2*n))^(p+1),x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && RationalQ[p] && p<-1 && IntegerQ[p]
+
+
+Int[(d_+e_.*x_^n_)*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -x*(d+e*x^n)*(a+c*x^(2*n))^(p+1)/(2*a*n*(p+1)) +
+ 1/(2*a*n*(p+1))*Int[(d*(2*n*p+2*n+1)+e*(2*n*p+3*n+1)*x^n)*(a+c*x^(2*n))^(p+1),x] /;
+FreeQ[{a,c,d,e,n},x] && EqQ[n2-2*n] && RationalQ[p] && p<-1 && IntegerQ[p]
+
+
+Int[(d_+e_.*x_^n_)*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^n)*(a+b*x^n+c*x^(2*n))^p,x],x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c]
+
+
+Int[(d_+e_.*x_^n_)*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^n)*(a+c*x^(2*n))^p,x],x] /;
+FreeQ[{a,c,d,e,n},x] && EqQ[n2-2*n]
+
+
+Int[(d_+e_.*x_^n_)^q_*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ c^p*x^(2*n*p-n+1)*(d+e*x^n)^(q+1)/(e*(2*n*p+n*q+1)) +
+ Int[(d+e*x^n)^q*ExpandToSum[(a+b*x^n+c*x^(2*n))^p-c^p*x^(2*n*p)-d*c^p*(2*n*p-n+1)*x^(2*n*p-n)/(e*(2*n*p+n*q+1)),x],x] /;
+FreeQ[{a,b,c,d,e,n,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[p] &&
+ NeQ[2*n*p+n*q+1] && PositiveIntegerQ[n] && Not[PositiveIntegerQ[q]]
+
+
+Int[(d_+e_.*x_^n_)^q_*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ c^p*x^(2*n*p-n+1)*(d+e*x^n)^(q+1)/(e*(2*n*p+n*q+1)) +
+ Int[(d+e*x^n)^q*ExpandToSum[(a+c*x^(2*n))^p-c^p*x^(2*n*p)-d*c^p*(2*n*p-n+1)*x^(2*n*p-n)/(e*(2*n*p+n*q+1)),x],x] /;
+FreeQ[{a,c,d,e,n,q},x] && EqQ[n2-2*n] && PositiveIntegerQ[p] &&
+ NeQ[2*n*p+n*q+1] && PositiveIntegerQ[n] && Not[PositiveIntegerQ[q]]
+
+
+Int[(d_+e_.*x_^n_)^q_*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x],x] /;
+FreeQ[{a,b,c,d,e,n,p,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] &&
+ (IntegersQ[p,q] && Not[IntegerQ[n]] || PositiveIntegerQ[p] || PositiveIntegerQ[q] && Not[IntegerQ[n]])
+
+
+Int[(d_+e_.*x_^n_)^q_*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^n)^q*(a+c*x^(2*n))^p,x],x] /;
+FreeQ[{a,c,d,e,n,p,q},x] && EqQ[n2-2*n] && NeQ[c*d^2+a*e^2] &&
+ (IntegersQ[p,q] && Not[IntegerQ[n]] || PositiveIntegerQ[p] || PositiveIntegerQ[q] && Not[IntegerQ[n]])
+
+
+Int[(d_+e_.*x_^n_)^q_*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(a+c*x^(2*n))^p,(d/(d^2-e^2*x^(2*n))-e*x^n/(d^2-e^2*x^(2*n)))^(-q),x],x] /;
+FreeQ[{a,c,d,e,n,p},x] && EqQ[n2-2*n] && NeQ[c*d^2+a*e^2] && NegativeIntegerQ[q] && Not[IntegersQ[n,2*p]]
+
+
+Int[(d_+e_.*x_^n_)^q_*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ Defer[Int][(d+e*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,n,p,q},x] && EqQ[n2-2*n] && Not[IntegersQ[n,q]]
+
+
+Int[(d_+e_.*x_^n_)^q_*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ Defer[Int][(d+e*x^n)^q*(a+c*x^(2*n))^p,x] /;
+FreeQ[{a,c,d,e,n,p,q},x] && EqQ[n2-2*n] && Not[IntegersQ[n,q]]
+
+
+Int[(d_+e_.*u_^n_)^q_.*(a_+b_.*u_^n_+c_.*u_^n2_)^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(d+e*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x],x,u] /;
+FreeQ[{a,b,c,d,e,n,p,q},x] && EqQ[n2-2*n] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(d_+e_.*u_^n_)^q_.*(a_+c_.*u_^n2_)^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(d+e*x^n)^q*(a+c*x^(2*n))^p,x],x,u] /;
+FreeQ[{a,c,d,e,n,p,q},x] && EqQ[n2-2*n] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(d_+e_.*x_^mn_.)^q_.*(a_.+b_.*x_^n_.+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[x^(-n*q)*(e+d*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,n,p},x] && EqQ[n2,2*n] && EqQ[mn,-n] && IntegerQ[q]
+
+
+Int[(d_+e_.*x_^mn_.)^q_.*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[x^(mn*q)*(e+d*x^(-mn))^q*(a+c*x^n2)^p,x] /;
+FreeQ[{a,c,d,e,mn,p},x] && EqQ[n2,-2*mn] && IntegerQ[q]
+
+
+Int[(d_+e_.*x_^mn_.)^q_*(a_.+b_.*x_^n_.+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[x^(2*n*p)*(d+e*x^(-n))^q*(c+b*x^(-n)+a*x^(-2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,n,q},x] && EqQ[n2,2*n] && EqQ[mn,-n] && Not[IntegerQ[q]] && IntegerQ[p]
+
+
+Int[(d_+e_.*x_^mn_.)^q_*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[x^(-2*mn*p)*(d+e*x^mn)^q*(c+a*x^(2*mn))^p,x] /;
+FreeQ[{a,c,d,e,mn,q},x] && EqQ[n2,-2*mn] && Not[IntegerQ[q]] && IntegerQ[p]
+
+
+Int[(d_+e_.*x_^mn_.)^q_*(a_.+b_.*x_^n_.+c_.*x_^n2_.)^p_,x_Symbol] :=
+ x^(n*FracPart[q])*(d+e*x^(-n))^FracPart[q]/(e+d*x^n)^FracPart[q]*Int[x^(-n*q)*(e+d*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,n,p,q},x] && EqQ[n2,2*n] && EqQ[mn,-n] && Not[IntegerQ[q]] && Not[IntegerQ[p]] && PosQ[n]
+
+
+Int[(d_+e_.*x_^mn_.)^q_*(a_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ x^(-mn*FracPart[q])*(d+e*x^mn)^FracPart[q]/(e+d*x^(-mn))^FracPart[q]*Int[x^(mn*q)*(e+d*x^(-mn))^q*(a+c*x^n2)^p,x] /;
+FreeQ[{a,c,d,e,mn,p,q},x] && EqQ[n2,-2*mn] && Not[IntegerQ[q]] && Not[IntegerQ[p]] && PosQ[n2]
+
+
+Int[(d_+e_.*x_^mn_.)^q_*(a_.+b_.*x_^n_.+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (a+b*x^n+c*x^(2*n))^FracPart[p]/(x^(2*n*FracPart[p])*(c+b*x^(-n)+a*x^(-2*n))^FracPart[p])*
+ Int[x^(2*n*p)*(d+e*x^(-n))^q*(c+b*x^(-n)+a*x^(-2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,n,q},x] && EqQ[n2,2*n] && EqQ[mn,-n] && Not[IntegerQ[q]] && Not[IntegerQ[p]] && NegQ[n]
+
+
+Int[(d_+e_.*x_^mn_.)^q_*(a_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (a+c*x^n2)^FracPart[p]/(x^(n2*FracPart[p])*(c+a*x^(2*mn))^FracPart[p])*
+ Int[x^(n2*p)*(d+e*x^mn)^q*(c+a*x^(2*mn))^p,x] /;
+FreeQ[{a,c,d,e,mn,q},x] && EqQ[n2,-2*mn] && Not[IntegerQ[q]] && Not[IntegerQ[p]] && NegQ[n2]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^mn_+c_.*x_^n_.)^p_.,x_Symbol] :=
+ Int[x^(-n*p)*(d+e*x^n)^q*(b+a*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,n,q},x] && EqQ[mn,-n] && IntegerQ[p]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^mn_+c_.*x_^n_.)^p_.,x_Symbol] :=
+ x^(n*FracPart[p])*(a+b/x^n+c*x^n)^FracPart[p]/(b+a*x^n+c*x^(2*n))^FracPart[p]*
+ Int[x^(-n*p)*(d+e*x^n)^q*(b+a*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,n,p,q},x] && EqQ[mn,-n] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(f_+g_.*x_^n_)^r_.*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ (a+b*x^n+c*x^(2*n))^FracPart[p]/((4*c)^IntPart[p]*(b+2*c*x^n)^(2*FracPart[p]))*
+ Int[(d+e*x^n)^q*(f+g*x^n)^r*(b+2*c*x^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p,q,r},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(f_+g_.*x_^n_)^r_.*(a_+b_.*x_^n_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ Int[(d+e*x^n)^(p+q)*(f+g*x^n)^r*(a/d+c/e*x^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,n,q,r},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] && IntegerQ[p]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(f_+g_.*x_^n_)^r_.*(a_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ Int[(d+e*x^n)^(p+q)*(f+g*x^n)^r*(a/d+c/e*x^n)^p,x] /;
+FreeQ[{a,c,d,e,f,g,n,q,r},x] && EqQ[n2-2*n] && EqQ[c*d^2+a*e^2] && IntegerQ[p]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(f_+g_.*x_^n_)^r_.*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ (a+b*x^n+c*x^(2*n))^FracPart[p]/((d+e*x^n)^FracPart[p]*(a/d+(c*x^n)/e)^FracPart[p])*
+ Int[(d+e*x^n)^(p+q)*(f+g*x^n)^r*(a/d+c/e*x^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p,q,r},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_^n_)^q_.*(f_+g_.*x_^n_)^r_.*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ (a+c*x^(2*n))^FracPart[p]/((d+e*x^n)^FracPart[p]*(a/d+(c*x^n)/e)^FracPart[p])*
+ Int[(d+e*x^n)^(p+q)*(f+g*x^n)^r*(a/d+c/e*x^n)^p,x] /;
+FreeQ[{a,c,d,e,f,g,n,p,q,r},x] && EqQ[n2-2*n] && EqQ[c*d^2+a*e^2] && Not[IntegerQ[p]]
+
+
+Int[(f_.+g_.*x_^2)/((d_+e_.*x_^2)*Sqrt[a_+b_.*x_^2+c_.*x_^4]),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (2*c*f-g*(b-q))/(2*c*d-e*(b-q))*Int[1/Sqrt[a+b*x^2+c*x^4],x] -
+ (e*f-d*g)/(2*c*d-e*(b-q))*Int[(b-q+2*c*x^2)/((d+e*x^2)*Sqrt[a+b*x^2+c*x^4]),x] /;
+ NeQ[2*c*f-g*(b-q)]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && PositiveQ[b^2-4*a*c] && NeQ[c*d^2-b*d*e+a*e^2] && Not[NegativeQ[c]]
+
+
+Int[(f_+g_.*x_^2)/((d_+e_.*x_^2)*Sqrt[a_+c_.*x_^4]),x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ (c*f+g*q)/(c*d+e*q)*Int[1/Sqrt[a+c*x^4],x] + (e*f-d*g)/(c*d+e*q)*Int[(q-c*x^2)/((d+e*x^2)*Sqrt[a+c*x^4]),x] /;
+ NeQ[c*f+g*q]] /;
+FreeQ[{a,c,d,e,f,g},x] && PositiveQ[-a*c] && NeQ[c*d^2+a*e^2] && Not[NegativeQ[c]]
+
+
+Int[(d1_+e1_.*x_^non2_.)^q_.*(d2_+e2_.*x_^non2_.)^q_.*(a_.+b_.*x_^n_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ Int[(d1*d2+e1*e2*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,n,p,q},x] && EqQ[n2-2*n] && EqQ[non2-n/2] && EqQ[d2*e1+d1*e2] &&
+ (IntegerQ[q] || PositiveQ[d1] && PositiveQ[d2])
+
+
+Int[(d1_+e1_.*x_^non2_.)^q_.*(d2_+e2_.*x_^non2_.)^q_.*(a_.+b_.*x_^n_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ (d1+e1*x^(n/2))^FracPart[q]*(d2+e2*x^(n/2))^FracPart[q]/(d1*d2+e1*e2*x^n)^FracPart[q]*
+ Int[(d1*d2+e1*e2*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,n,p,q},x] && EqQ[n2-2*n] && EqQ[non2-n/2] && EqQ[d2*e1+d1*e2]
+
+
+Int[(A_+B_.*x_^m_.)*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ A*Int[(d+e*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x] + B*Int[x^m*(d+e*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,A,B,m,n,p,q},x] && EqQ[n2-2*n] && EqQ[m-n+1]
+
+
+Int[(A_+B_.*x_^m_.)*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ A*Int[(d+e*x^n)^q*(a+c*x^(2*n))^p,x] + B*Int[x^m*(d+e*x^n)^q*(a+c*x^(2*n))^p,x] /;
+FreeQ[{a,c,d,e,A,B,m,n,p,q},x] && EqQ[n2-2*n] && EqQ[m-n+1]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.3.4 (f x)^m (d+e x^n)^q (a+b x^n+c x^(2 n))^p*)
+
+
+Int[(f_.*x_)^m_.*(e_.*x_^n_)^q_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ f^m/(n*e^((m+1)/n-1))*Subst[Int[(e*x)^(q+(m+1)/n-1)*(a+b*x+c*x^2)^p,x],x,x^n] /;
+FreeQ[{a,b,c,e,f,m,n,p,q},x] && EqQ[n2-2*n] && (IntegerQ[m] || PositiveQ[f]) && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(f_.*x_)^m_.*(e_.*x_^n_)^q_*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ f^m/(n*e^((m+1)/n-1))*Subst[Int[(e*x)^(q+(m+1)/n-1)*(a+c*x^2)^p,x],x,x^n] /;
+FreeQ[{a,c,e,f,m,n,p,q},x] && EqQ[n2-2*n] && (IntegerQ[m] || PositiveQ[f]) && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(f_.*x_)^m_.*(e_.*x_^n_)^q_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ f^m*e^IntPart[q]*(e*x^n)^FracPart[q]/x^(n*FracPart[q])*Int[x^(m+n*q)*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,e,f,m,n,p,q},x] && EqQ[n2-2*n] && (IntegerQ[m] || PositiveQ[f]) && Not[IntegerQ[Simplify[(m+1)/n]]]
+
+
+Int[(f_.*x_)^m_.*(e_.*x_^n_)^q_*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ f^m*e^IntPart[q]*(e*x^n)^FracPart[q]/x^(n*FracPart[q])*Int[x^(m+n*q)*(a+c*x^(2*n))^p,x] /;
+FreeQ[{a,c,e,f,m,n,p,q},x] && EqQ[n2-2*n] && (IntegerQ[m] || PositiveQ[f]) && Not[IntegerQ[Simplify[(m+1)/n]]]
+
+
+Int[(f_*x_)^m_.*(e_.*x_^n_)^q_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ f^IntPart[m]*(f*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(e*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,e,f,m,n,p,q},x] && EqQ[n2-2*n] && Not[IntegerQ[m]]
+
+
+Int[(f_*x_)^m_.*(e_.*x_^n_)^q_*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ f^IntPart[m]*(f*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(e*x^n)^q*(a+c*x^(2*n))^p,x] /;
+FreeQ[{a,c,e,f,m,n,p,q},x] && EqQ[n2-2*n] && Not[IntegerQ[m]]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ 1/n*Subst[Int[(d+e*x)^q*(a+b*x+c*x^2)^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,e,m,n,p,q},x] && EqQ[n2-2*n] && EqQ[Simplify[m-n+1]]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ 1/n*Subst[Int[(d+e*x)^q*(a+c*x^2)^p,x],x,x^n] /;
+FreeQ[{a,c,d,e,m,n,p,q},x] && EqQ[n2-2*n] && EqQ[Simplify[m-n+1]]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[x^(m+n*(2*p+q))*(e+d*x^(-n))^q*(c+b*x^(-n)+a*x^(-2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && EqQ[n2-2*n] && IntegersQ[p,q] && NegQ[n]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[x^(m+n*(2*p+q))*(e+d*x^(-n))^q*(c+a*x^(-2*n))^p,x] /;
+FreeQ[{a,c,d,e,m,n},x] && EqQ[n2-2*n] && IntegersQ[p,q] && NegQ[n]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ 1/n*Subst[Int[x^((m+1)/n-1)*(d+e*x)^q*(a+b*x+c*x^2)^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,e,p,q},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]] && PositiveIntegerQ[m,n,(m+1)/n]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (a+b*x^n+c*x^(2*n))^FracPart[p]/(c^IntPart[p]*(b/2+c*x^n)^(2*FracPart[p]))*
+ Int[(f*x)^m*(d+e*x^n)^q*(b/2+c*x^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(d+e*x)^q*(a+b*x+c*x^2)^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,e,m,n,p,q},x] && EqQ[n2-2*n] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(d+e*x)^q*(a+c*x^2)^p,x],x,x^n] /;
+FreeQ[{a,c,d,e,m,n,p,q},x] && EqQ[n2-2*n] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(f_*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ f^IntPart[m]*(f*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(d+e*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q},x] && EqQ[n2-2*n] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(f_*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ f^IntPart[m]*(f*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(d+e*x^n)^q*(a+c*x^(2*n))^p,x] /;
+FreeQ[{a,c,d,e,f,m,n,p,q},x] && EqQ[n2-2*n] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ Int[(f*x)^m*(d+e*x^n)^(q+p)*(a/d+c/e*x^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ Int[(f*x)^m*(d+e*x^n)^(q+p)*(a/d+c/e*x^n)^p,x] /;
+FreeQ[{a,c,d,e,f,q,m,n,q},x] && EqQ[n2-2*n] && EqQ[c*d^2+a*e^2] && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ (a+b*x^n+c*x^(2*n))^FracPart[p]/((d+e*x^n)^FracPart[p]*(a/d+(c*x^n)/e)^FracPart[p])*
+ Int[(f*x)^m*(d+e*x^n)^(q+p)*(a/d+c/e*x^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && EqQ[c*d^2-b*d*e+a*e^2] && Not[IntegerQ[p]]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ (a+c*x^(2*n))^FracPart[p]/((d+e*x^n)^FracPart[p]*(a/d+(c*x^n)/e)^FracPart[p])*Int[(f*x)^m*(d+e*x^n)^(q+p)*(a/d+c/e*x^n)^p,x] /;
+FreeQ[{a,c,d,e,f,m,n,p,q},x] && EqQ[n2-2*n] && EqQ[c*d^2+a*e^2] && Not[IntegerQ[p]]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ (-d)^((m-Mod[m,n])/n-1)*(c*d^2-b*d*e+a*e^2)^p*x^(Mod[m,n]+1)*(d+e*x^n)^(q+1)/(n*e^(2*p+(m-Mod[m,n])/n)*(q+1)) +
+ 1/(n*e^(2*p+(m-Mod[m,n])/n)*(q+1))*Int[x^Mod[m,n]*(d+e*x^n)^(q+1)*
+ ExpandToSum[Together[1/(d+e*x^n)*(n*e^(2*p+(m-Mod[m,n])/n)*(q+1)*x^(m-Mod[m,n])*(a+b*x^n+c*x^(2*n))^p-
+ (-d)^((m-Mod[m,n])/n-1)*(c*d^2-b*d*e+a*e^2)^p*(d*(Mod[m,n]+1)+e*(Mod[m,n]+n*(q+1)+1)*x^n))],x],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n,p] && IntegersQ[m,q] && q<-1 && m>0
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ (-d)^((m-Mod[m,n])/n-1)*(c*d^2+a*e^2)^p*x^(Mod[m,n]+1)*(d+e*x^n)^(q+1)/(n*e^(2*p+(m-Mod[m,n])/n)*(q+1)) +
+ 1/(n*e^(2*p+(m-Mod[m,n])/n)*(q+1))*Int[x^Mod[m,n]*(d+e*x^n)^(q+1)*
+ ExpandToSum[Together[1/(d+e*x^n)*(n*e^(2*p+(m-Mod[m,n])/n)*(q+1)*x^(m-Mod[m,n])*(a+c*x^(2*n))^p-
+ (-d)^((m-Mod[m,n])/n-1)*(c*d^2+a*e^2)^p*(d*(Mod[m,n]+1)+e*(Mod[m,n]+n*(q+1)+1)*x^n))],x],x] /;
+FreeQ[{a,c,d,e},x] && EqQ[n2-2*n] && PositiveIntegerQ[n,p] && IntegersQ[m,q] && q<-1 && m>0
+
+
+Int[x_^m_*(d_+e_.*x_^n_)^q_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ (-d)^((m-Mod[m,n])/n-1)*(c*d^2-b*d*e+a*e^2)^p*x^(Mod[m,n]+1)*(d+e*x^n)^(q+1)/(n*e^(2*p+(m-Mod[m,n])/n)*(q+1)) +
+ (-d)^((m-Mod[m,n])/n-1)/(n*e^(2*p)*(q+1))*Int[x^m*(d+e*x^n)^(q+1)*
+ ExpandToSum[Together[1/(d+e*x^n)*(n*(-d)^(-(m-Mod[m,n])/n+1)*e^(2*p)*(q+1)*(a+b*x^n+c*x^(2*n))^p -
+ (e^(-(m-Mod[m,n])/n)*(c*d^2-b*d*e+a*e^2)^p*x^(-(m-Mod[m,n])))*(d*(Mod[m,n]+1)+e*(Mod[m,n]+n*(q+1)+1)*x^n))],x],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n,p] && IntegersQ[m,q] && q<-1 && m<0
+
+
+Int[x_^m_*(d_+e_.*x_^n_)^q_*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ (-d)^((m-Mod[m,n])/n-1)*(c*d^2+a*e^2)^p*x^(Mod[m,n]+1)*(d+e*x^n)^(q+1)/(n*e^(2*p+(m-Mod[m,n])/n)*(q+1)) +
+ (-d)^((m-Mod[m,n])/n-1)/(n*e^(2*p)*(q+1))*Int[x^m*(d+e*x^n)^(q+1)*
+ ExpandToSum[Together[1/(d+e*x^n)*(n*(-d)^(-(m-Mod[m,n])/n+1)*e^(2*p)*(q+1)*(a+c*x^(2*n))^p -
+ (e^(-(m-Mod[m,n])/n)*(c*d^2+a*e^2)^p*x^(-(m-Mod[m,n])))*(d*(Mod[m,n]+1)+e*(Mod[m,n]+n*(q+1)+1)*x^n))],x],x] /;
+FreeQ[{a,c,d,e},x] && EqQ[n2-2*n] && PositiveIntegerQ[n,p] && IntegersQ[m,q] && q<-1 && m<0
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ c^p*(f*x)^(m+2*n*p-n+1)*(d+e*x^n)^(q+1)/(e*f^(2*n*p-n+1)*(m+2*n*p+n*q+1)) +
+ 1/(e*(m+2*n*p+n*q+1))*Int[(f*x)^m*(d+e*x^n)^q*
+ ExpandToSum[e*(m+2*n*p+n*q+1)*((a+b*x^n+c*x^(2*n))^p-c^p*x^(2*n*p))-d*c^p*(m+2*n*p-n+1)*x^(2*n*p-n),x],x] /;
+FreeQ[{a,b,c,d,e,f,m,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n,p] && 2*n*p>n-1 &&
+ Not[IntegerQ[q]] && NeQ[m+2*n*p+n*q+1]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ c^p*(f*x)^(m+2*n*p-n+1)*(d+e*x^n)^(q+1)/(e*f^(2*n*p-n+1)*(m+2*n*p+n*q+1)) +
+ 1/(e*(m+2*n*p+n*q+1))*Int[(f*x)^m*(d+e*x^n)^q*
+ ExpandToSum[e*(m+2*n*p+n*q+1)*((a+c*x^(2*n))^p-c^p*x^(2*n*p))-d*c^p*(m+2*n*p-n+1)*x^(2*n*p-n),x],x] /;
+FreeQ[{a,c,d,e,f,m,q},x] && EqQ[n2-2*n] && PositiveIntegerQ[n,p] && 2*n*p>n-1 &&
+ Not[IntegerQ[q]] && NeQ[m+2*n*p+n*q+1]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(f*x)^m(d+e*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,m,q},x] && EqQ[n2-2*n] && PositiveIntegerQ[n,p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(f*x)^m(d+e*x^n)^q*(a+c*x^(2*n))^p,x],x] /;
+FreeQ[{a,c,d,e,f,m,q},x] && EqQ[n2-2*n] && EqQ[n2-2*n] && PositiveIntegerQ[n,p]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{k=GCD[m+1,n]},
+ 1/k*Subst[Int[x^((m+1)/k-1)*(d+e*x^(n/k))^q*(a+b*x^(n/k)+c*x^(2*n/k))^p,x],x,x^k] /;
+ k!=1] /;
+FreeQ[{a,b,c,d,e,p,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && IntegerQ[m]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{k=GCD[m+1,n]},
+ 1/k*Subst[Int[x^((m+1)/k-1)*(d+e*x^(n/k))^q*(a+c*x^(2*n/k))^p,x],x,x^k] /;
+ k!=1] /;
+FreeQ[{a,c,d,e,p,q},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{k=Denominator[m]},
+ k/f*Subst[Int[x^(k*(m+1)-1)*(d+e*x^(k*n)/f^n)^q*(a+b*x^(k*n)/f^n+c*x^(2*k*n)/f^(2*n))^p,x],x,(f*x)^(1/k)]] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && FractionQ[m] && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{k=Denominator[m]},
+ k/f*Subst[Int[x^(k*(m+1)-1)*(d+e*x^(k*n)/f)^q*(a+c*x^(2*k*n)/f)^p,x],x,(f*x)^(1/k)]] /;
+FreeQ[{a,c,d,e,f,p,q},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && FractionQ[m] && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)*(a_+b_.*x_^n_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ (f*x)^(m+1)*(a+b*x^n+c*x^(2*n))^p*(d*(m+n*(2*p+1)+1)+e*(m+1)*x^n)/(f*(m+1)*(m+n*(2*p+1)+1)) +
+ n*p/(f^n*(m+1)*(m+n*(2*p+1)+1))*Int[(f*x)^(m+n)*(a+b*x^n+c*x^(2*n))^(p-1)*
+ Simp[2*a*e*(m+1)-b*d*(m+n*(2*p+1)+1)+(b*e*(m+1)-2*c*d*(m+n*(2*p+1)+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[m,p] && p>0 && m<-1 &&
+ m+n*(2*p+1)+1!=0 && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)*(a_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ (f*x)^(m+1)*(a+c*x^(2*n))^p*(d*(m+n*(2*p+1)+1)+e*(m+1)*x^n)/(f*(m+1)*(m+n*(2*p+1)+1)) +
+ 2*n*p/(f^n*(m+1)*(m+n*(2*p+1)+1))*Int[(f*x)^(m+n)*(a+c*x^(2*n))^(p-1)*(a*e*(m+1)-c*d*(m+n*(2*p+1)+1)*x^n),x] /;
+FreeQ[{a,c,d,e,f},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && RationalQ[m,p] && p>0 && m<-1 &&
+ m+n*(2*p+1)+1!=0 && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)*(a_+b_.*x_^n_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ (f*x)^(m+1)*(a+b*x^n+c*x^(2*n))^p*(b*e*n*p+c*d*(m+n*(2*p+1)+1)+c*e*(2*n*p+m+1)*x^n)/
+ (c*f*(2*n*p+m+1)*(m+n*(2*p+1)+1)) +
+ n*p/(c*(2*n*p+m+1)*(m+n*(2*p+1)+1))*Int[(f*x)^m*(a+b*x^n+c*x^(2*n))^(p-1)*
+ Simp[2*a*c*d*(m+n*(2*p+1)+1)-a*b*e*(m+1)+(2*a*c*e*(2*n*p+m+1)+b*c*d*(m+n*(2*p+1)+1)-b^2*e*(m+n*p+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[p] && p>0 &&
+ NeQ[2*n*p+m+1] && NeQ[m+n*(2*p+1)+1] && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)*(a_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ (f*x)^(m+1)*(a+c*x^(2*n))^p*(c*d*(m+n*(2*p+1)+1)+c*e*(2*n*p+m+1)*x^n)/(c*f*(2*n*p+m+1)*(m+n*(2*p+1)+1)) +
+ 2*a*n*p/((2*n*p+m+1)*(m+n*(2*p+1)+1))*Int[(f*x)^m*(a+c*x^(2*n))^(p-1)*Simp[d*(m+n*(2*p+1)+1)+e*(2*n*p+m+1)*x^n,x],x] /;
+FreeQ[{a,c,d,e,f,m},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && RationalQ[p] && p>0 &&
+ NeQ[2*n*p+m+1] && NeQ[m+n*(2*p+1)+1] && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)*(a_+b_.*x_^n_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ f^(n-1)*(f*x)^(m-n+1)*(a+b*x^n+c*x^(2*n))^(p+1)*(b*d-2*a*e-(b*e-2*c*d)*x^n)/(n*(p+1)*(b^2-4*a*c)) +
+ f^n/(n*(p+1)*(b^2-4*a*c))*Int[(f*x)^(m-n)*(a+b*x^n+c*x^(2*n))^(p+1)*
+ Simp[(n-m-1)*(b*d-2*a*e)+(2*n*p+2*n+m+1)*(b*e-2*c*d)*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ RationalQ[m,p] && p<-1 && m>n-1 && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)*(a_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ f^(n-1)*(f*x)^(m-n+1)*(a+c*x^(2*n))^(p+1)*(a*e-c*d*x^n)/(2*a*c*n*(p+1)) +
+ f^n/(2*a*c*n*(p+1))*Int[(f*x)^(m-n)*(a+c*x^(2*n))^(p+1)*(a*e*(n-m-1)+c*d*(2*n*p+2*n+m+1)*x^n),x] /;
+FreeQ[{a,c,d,e,f},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && RationalQ[m,p] && p<-1 && m>n-1 && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -(f*x)^(m+1)*(a+b*x^n+c*x^(2*n))^(p+1)*(d*(b^2-2*a*c)-a*b*e+(b*d-2*a*e)*c*x^n)/(a*f*n*(p+1)*(b^2-4*a*c)) +
+ 1/(a*n*(p+1)*(b^2-4*a*c))*Int[(f*x)^m*(a+b*x^n+c*x^(2*n))^(p+1)*
+ Simp[d*(b^2*(m+n*(p+1)+1)-2*a*c*(m+2*n*(p+1)+1))-a*b*e*(m+1)+c*(m+n*(2*p+3)+1)*(b*d-2*a*e)*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[p] && p<-1 &&
+ IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -(f*x)^(m+1)*(a+c*x^(2*n))^(p+1)*(d+e*x^n)/(2*a*f*n*(p+1)) +
+ 1/(2*a*n*(p+1))*Int[(f*x)^m*(a+c*x^(2*n))^(p+1)*Simp[d*(m+2*n*(p+1)+1)+e*(m+n*(2*p+3)+1)*x^n,x],x] /;
+FreeQ[{a,c,d,e,f,m},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && RationalQ[p] && p<-1 && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ e*f^(n-1)*(f*x)^(m-n+1)*(a+b*x^n+c*x^(2*n))^(p+1)/(c*(m+n(2*p+1)+1)) -
+ f^n/(c*(m+n(2*p+1)+1))*
+ Int[(f*x)^(m-n)*(a+b*x^n+c*x^(2*n))^p*Simp[a*e*(m-n+1)+(b*e*(m+n*p+1)-c*d*(m+n(2*p+1)+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[m] && m>n-1 &&
+ NeQ[m+n(2*p+1)+1] && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ e*f^(n-1)*(f*x)^(m-n+1)*(a+c*x^(2*n))^(p+1)/(c*(m+n(2*p+1)+1)) -
+ f^n/(c*(m+n(2*p+1)+1))*Int[(f*x)^(m-n)*(a+c*x^(2*n))^p*(a*e*(m-n+1)-c*d*(m+n(2*p+1)+1)*x^n),x] /;
+FreeQ[{a,c,d,e,f,p},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && RationalQ[m] && m>n-1 && NeQ[m+n(2*p+1)+1] && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ d*(f*x)^(m+1)*(a+b*x^n+c*x^(2*n))^(p+1)/(a*f*(m+1)) +
+ 1/(a*f^n*(m+1))*Int[(f*x)^(m+n)*(a+b*x^n+c*x^(2*n))^p*Simp[a*e*(m+1)-b*d*(m+n*(p+1)+1)-c*d*(m+2*n(p+1)+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[m] && m<-1 &&
+ IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ d*(f*x)^(m+1)*(a+c*x^(2*n))^(p+1)/(a*f*(m+1)) +
+ 1/(a*f^n*(m+1))*Int[(f*x)^(m+n)*(a+c*x^(2*n))^p*(a*e*(m+1)-c*d*(m+2*n(p+1)+1)*x^n),x] /;
+FreeQ[{a,c,d,e,f,p},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && RationalQ[m] && m<-1 && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^n_)/(a_+b_.*x_^n_+c_.*x_^n2_),x_Symbol] :=
+ With[{q=Rt[a*c,2]},
+ With[{r=Rt[2*c*q-b*c,2]},
+ c/(2*q*r)*Int[(f*x)^m*Simp[d*r-(c*d-e*q)*x^(n/2),x]/(q-r*x^(n/2)+c*x^n),x] +
+ c/(2*q*r)*Int[(f*x)^m*Simp[d*r+(c*d-e*q)*x^(n/2),x]/(q+r*x^(n/2)+c*x^n),x]] /;
+ Not[NegativeQ[2*c*q-b*c]]] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[n2-2*n] && NegativeQ[b^2-4*a*c] && IntegersQ[m,n/2] && 02 && PosQ[a*c]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)/(a_+c_.*x_^n2_),x_Symbol] :=
+ With[{q=Rt[a*c,2]},
+ With[{r=Rt[2*c*q,2]},
+ c/(2*q*r)*Int[(f*x)^m*(d*r-(c*d-e*q)*x^(n/2))/(q-r*x^(n/2)+c*x^n),x] +
+ c/(2*q*r)*Int[(f*x)^m*(d*r+(c*d-e*q)*x^(n/2))/(q+r*x^(n/2)+c*x^n),x]] /;
+ Not[NegativeQ[2*c*q]]] /;
+FreeQ[{a,c,d,e,f,m},x] && EqQ[n2-2*n] && IntegerQ[n/2] && n>2 && PositiveQ[a*c]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)/(a_+b_.*x_^n_+c_.*x_^n2_),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (e/2+(2*c*d-b*e)/(2*q))*Int[(f*x)^m/(b/2-q/2+c*x^n),x] + (e/2-(2*c*d-b*e)/(2*q))*Int[(f*x)^m/(b/2+q/2+c*x^n),x]] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)/(a_+c_.*x_^n2_),x_Symbol] :=
+ With[{q=Rt[-a*c,2]},
+ -(e/2+c*d/(2*q))*Int[(f*x)^m/(q-c*x^n),x] + (e/2-c*d/(2*q))*Int[(f*x)^m/(q+c*x^n),x]] /;
+FreeQ[{a,c,d,e,f,m},x] && EqQ[n2-2*n] && PositiveIntegerQ[n]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_./(a_+b_.*x_^n_+c_.*x_^n2_.),x_Symbol] :=
+ Int[ExpandIntegrand[(f*x)^m*(d+e*x^n)^q/(a+b*x^n+c*x^(2*n)),x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && IntegerQ[q] && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_./(a_+c_.*x_^n2_.),x_Symbol] :=
+ Int[ExpandIntegrand[(f*x)^m*(d+e*x^n)^q/(a+c*x^(2*n)),x],x] /;
+FreeQ[{a,c,d,e,f,m},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && IntegerQ[q] && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_./(a_+b_.*x_^n_+c_.*x_^n2_.),x_Symbol] :=
+ Int[ExpandIntegrand[(f*x)^m,(d+e*x^n)^q/(a+b*x^n+c*x^(2*n)),x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && IntegerQ[q] && Not[IntegerQ[m]]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_./(a_+c_.*x_^n2_.),x_Symbol] :=
+ Int[ExpandIntegrand[(f*x)^m,(d+e*x^n)^q/(a+c*x^(2*n)),x],x] /;
+FreeQ[{a,c,d,e,f,m},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && IntegerQ[q] && Not[IntegerQ[m]]
+
+
+Int[(f_.*x_)^m_.*(d_.+e_.*x_^n_)^q_/(a_+b_.*x_^n_+c_.*x_^n2_.),x_Symbol] :=
+ f^(2*n)/c^2*Int[(f*x)^(m-2*n)*(c*d-b*e+c*e*x^n)*(d+e*x^n)^(q-1),x] -
+ f^(2*n)/c^2*Int[(f*x)^(m-2*n)*(d+e*x^n)^(q-1)*Simp[a*(c*d-b*e)+(b*c*d-b^2*e+a*c*e)*x^n,x]/(a+b*x^n+c*x^(2*n)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && Not[IntegerQ[q]] &&
+ RationalQ[m,q] && q>0 && m>2*n-1
+
+
+Int[(f_.*x_)^m_.*(d_.+e_.*x_^n_)^q_/(a_+c_.*x_^n2_.),x_Symbol] :=
+ f^(2*n)/c*Int[(f*x)^(m-2*n)*(d+e*x^n)^q,x] -
+ a*f^(2*n)/c*Int[(f*x)^(m-2*n)*(d+e*x^n)^q/(a+c*x^(2*n)),x] /;
+FreeQ[{a,c,d,e,f,q},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && Not[IntegerQ[q]] && RationalQ[m] && m>2*n-1
+
+
+Int[(f_.*x_)^m_.*(d_.+e_.*x_^n_)^q_/(a_+b_.*x_^n_+c_.*x_^n2_.),x_Symbol] :=
+ e*f^n/c*Int[(f*x)^(m-n)*(d+e*x^n)^(q-1),x] -
+ f^n/c*Int[(f*x)^(m-n)*(d+e*x^n)^(q-1)*Simp[a*e-(c*d-b*e)*x^n,x]/(a+b*x^n+c*x^(2*n)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && Not[IntegerQ[q]] &&
+ RationalQ[m,q] && q>0 && n-10 && n-10 && m<0
+
+
+Int[(f_.*x_)^m_*(d_.+e_.*x_^n_)^q_/(a_+c_.*x_^n2_.),x_Symbol] :=
+ d/a*Int[(f*x)^m*(d+e*x^n)^(q-1),x] +
+ 1/(a*f^n)*Int[(f*x)^(m+n)*(d+e*x^n)^(q-1)*Simp[a*e-c*d*x^n,x]/(a+c*x^(2*n)),x] /;
+FreeQ[{a,c,d,e,f},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && Not[IntegerQ[q]] && RationalQ[m,q] && q>0 && m<0
+
+
+Int[(f_.*x_)^m_.*(d_.+e_.*x_^n_)^q_/(a_+b_.*x_^n_+c_.*x_^n2_.),x_Symbol] :=
+ d^2*f^(2*n)/(c*d^2-b*d*e+a*e^2)*Int[(f*x)^(m-2*n)*(d+e*x^n)^q,x] -
+ f^(2*n)/(c*d^2-b*d*e+a*e^2)*Int[(f*x)^(m-2*n)*(d+e*x^n)^(q+1)*Simp[a*d+(b*d-a*e)*x^n,x]/(a+b*x^n+c*x^(2*n)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && Not[IntegerQ[q]] &&
+ RationalQ[m,q] && q<-1 && m>2*n-1
+
+
+Int[(f_.*x_)^m_.*(d_.+e_.*x_^n_)^q_/(a_+c_.*x_^n2_.),x_Symbol] :=
+ d^2*f^(2*n)/(c*d^2+a*e^2)*Int[(f*x)^(m-2*n)*(d+e*x^n)^q,x] -
+ a*f^(2*n)/(c*d^2+a*e^2)*Int[(f*x)^(m-2*n)*(d+e*x^n)^(q+1)*(d-e*x^n)/(a+c*x^(2*n)),x] /;
+FreeQ[{a,c,d,e,f},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && Not[IntegerQ[q]] && RationalQ[m,q] && q<-1 && m>2*n-1
+
+
+Int[(f_.*x_)^m_.*(d_.+e_.*x_^n_)^q_/(a_+b_.*x_^n_+c_.*x_^n2_.),x_Symbol] :=
+ -d*e*f^n/(c*d^2-b*d*e+a*e^2)*Int[(f*x)^(m-n)*(d+e*x^n)^q,x] +
+ f^n/(c*d^2-b*d*e+a*e^2)*Int[(f*x)^(m-n)*(d+e*x^n)^(q+1)*Simp[a*e+c*d*x^n,x]/(a+b*x^n+c*x^(2*n)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && Not[IntegerQ[q]] &&
+ RationalQ[m,q] && q<-1 && n-10 && m<-n
+
+
+Int[(f_.*x_)^m_*(a_+c_.*x_^n2_.)^p_./(d_.+e_.*x_^n_),x_Symbol] :=
+ a/d^2*Int[(f*x)^m*(d-e*x^n)*(a+c*x^(2*n))^(p-1),x] +
+ (c*d^2+a*e^2)/(d^2*f^(2*n))*Int[(f*x)^(m+2*n)*(a+c*x^(2*n))^(p-1)/(d+e*x^n),x] /;
+FreeQ[{a,c,d,e,f},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && RationalQ[m,p] && p>0 && m<-n
+
+
+Int[(f_.*x_)^m_*(a_.+b_.*x_^n_+c_.*x_^n2_.)^p_./(d_.+e_.*x_^n_),x_Symbol] :=
+ 1/(d*e)*Int[(f*x)^m*(a*e+c*d*x^n)*(a+b*x^n+c*x^(2*n))^(p-1),x] -
+ (c*d^2-b*d*e+a*e^2)/(d*e*f^n)*Int[(f*x)^(m+n)*(a+b*x^n+c*x^(2*n))^(p-1)/(d+e*x^n),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[m,p] && p>0 && m<0
+
+
+Int[(f_.*x_)^m_*(a_+c_.*x_^n2_.)^p_./(d_.+e_.*x_^n_),x_Symbol] :=
+ 1/(d*e)*Int[(f*x)^m*(a*e+c*d*x^n)*(a+c*x^(2*n))^(p-1),x] -
+ (c*d^2+a*e^2)/(d*e*f^n)*Int[(f*x)^(m+n)*(a+c*x^(2*n))^(p-1)/(d+e*x^n),x] /;
+FreeQ[{a,c,d,e,f},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && RationalQ[m,p] && p>0 && m<0
+
+
+Int[(f_.*x_)^m_.*(a_.+b_.*x_^n_+c_.*x_^n2_.)^p_/(d_.+e_.*x_^n_),x_Symbol] :=
+ -f^(2*n)/(c*d^2-b*d*e+a*e^2)*Int[(f*x)^(m-2*n)*(a*d+(b*d-a*e)*x^n)*(a+b*x^n+c*x^(2*n))^p,x] +
+ d^2*f^(2*n)/(c*d^2-b*d*e+a*e^2)*Int[(f*x)^(m-2*n)*(a+b*x^n+c*x^(2*n))^(p+1)/(d+e*x^n),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[m,p] && p<-1 && m>n
+
+
+Int[(f_.*x_)^m_.*(a_+c_.*x_^n2_.)^p_/(d_.+e_.*x_^n_),x_Symbol] :=
+ -a*f^(2*n)/(c*d^2+a*e^2)*Int[(f*x)^(m-2*n)*(d-e*x^n)*(a+c*x^(2*n))^p,x] +
+ d^2*f^(2*n)/(c*d^2+a*e^2)*Int[(f*x)^(m-2*n)*(a+c*x^(2*n))^(p+1)/(d+e*x^n),x] /;
+FreeQ[{a,c,d,e,f},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && RationalQ[m,p] && p<-1 && m>n
+
+
+Int[(f_.*x_)^m_.*(a_.+b_.*x_^n_+c_.*x_^n2_.)^p_/(d_.+e_.*x_^n_),x_Symbol] :=
+ f^n/(c*d^2-b*d*e+a*e^2)*Int[(f*x)^(m-n)*(a*e+c*d*x^n)*(a+b*x^n+c*x^(2*n))^p,x] -
+ d*e*f^n/(c*d^2-b*d*e+a*e^2)*Int[(f*x)^(m-n)*(a+b*x^n+c*x^(2*n))^(p+1)/(d+e*x^n),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[m,p] && p<-1 && m>0
+
+
+Int[(f_.*x_)^m_.*(a_+c_.*x_^n2_.)^p_/(d_.+e_.*x_^n_),x_Symbol] :=
+ f^n/(c*d^2+a*e^2)*Int[(f*x)^(m-n)*(a*e+c*d*x^n)*(a+c*x^(2*n))^p,x] -
+ d*e*f^n/(c*d^2+a*e^2)*Int[(f*x)^(m-n)*(a+c*x^(2*n))^(p+1)/(d+e*x^n),x] /;
+FreeQ[{a,c,d,e,f},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && RationalQ[m,p] && p<-1 && m>0
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*x^n+c*x^(2*n))^p,(f*x)^m(d+e*x^n)^q,x],x] /;
+FreeQ[{a,b,c,d,e,f,m,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && (PositiveIntegerQ[q] || IntegersQ[m,q])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+c*x^(2*n))^p,(f*x)^m(d+e*x^n)^q,x],x] /;
+FreeQ[{a,c,d,e,f,m,q},x] && EqQ[n2-2*n] && PositiveIntegerQ[n] && (PositiveIntegerQ[q] || IntegersQ[m,q])
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ -Subst[Int[(d+e*x^(-n))^q*(a+b*x^(-n)+c*x^(-2*n))^p/x^(m+2),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,p,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && NegativeIntegerQ[n] && IntegerQ[m]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ -Subst[Int[(d+e*x^(-n))^q*(a+c*x^(-2*n))^p/x^(m+2),x],x,1/x] /;
+FreeQ[{a,c,d,e,p,q},x] && EqQ[n2-2*n] && NegativeIntegerQ[n] && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{g=Denominator[m]},
+ -g/f*Subst[Int[(d+e*f^(-n)*x^(-g*n))^q*(a+b*f^(-n)*x^(-g*n)+c*f^(-2*n)*x^(-2*g*n))^p/x^(g*(m+1)+1),x],x,1/(f*x)^(1/g)]] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && NegativeIntegerQ[n] && FractionQ[m]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{g=Denominator[m]},
+ -g/f*Subst[Int[(d+e*f^(-n)*x^(-g*n))^q*(a+c*f^(-2*n)*x^(-2*g*n))^p/x^(g*(m+1)+1),x],x,1/(f*x)^(1/g)]] /;
+FreeQ[{a,c,d,e,f,p,q},x] && EqQ[n2-2*n] && NegativeIntegerQ[n] && FractionQ[m]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ -f^IntPart[m]*(f*x)^FracPart[m]*(x^(-1))^FracPart[m]*Subst[Int[(d+e*x^(-n))^q*(a+b*x^(-n)+c*x^(-2*n))^p/x^(m+2),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,f,m,p,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && NegativeIntegerQ[n] && Not[RationalQ[m]]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ -f^IntPart[m]*(f*x)^FracPart[m]*(x^(-1))^FracPart[m]*Subst[Int[(d+e*x^(-n))^q*(a+c*x^(-2*n))^p/x^(m+2),x],x,1/x] /;
+FreeQ[{a,c,d,e,f,m,p,q},x] && EqQ[n2-2*n] && NegativeIntegerQ[n] && Not[RationalQ[m]]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{g=Denominator[n]},
+ g*Subst[Int[x^(g*(m+1)-1)*(d+e*x^(g*n))^q*(a+b*x^(g*n)+c*x^(2*g*n))^p,x],x,x^(1/g)]] /;
+FreeQ[{a,b,c,d,e,m,p,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && FractionQ[n]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{g=Denominator[n]},
+ g*Subst[Int[x^(g*(m+1)-1)*(d+e*x^(g*n))^q*(a+c*x^(2*g*n))^p,x],x,x^(1/g)]] /;
+FreeQ[{a,c,d,e,m,p,q},x] && EqQ[n2-2*n] && FractionQ[n]
+
+
+Int[(f_*x_)^m_*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ f^IntPart[m]*(f*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(d+e*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,p,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && FractionQ[n]
+
+
+Int[(f_*x_)^m_*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ f^IntPart[m]*(f*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(d+e*x^n)^q*(a+c*x^(2*n))^p,x] /;
+FreeQ[{a,c,d,e,f,m,p,q},x] && EqQ[n2-2*n] && FractionQ[n]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ 1/(m+1)*Subst[Int[(d+e*x^Simplify[n/(m+1)])^q*(a+b*x^Simplify[n/(m+1)]+c*x^Simplify[2*n/(m+1)])^p,x],x,x^(m+1)] /;
+FreeQ[{a,b,c,d,e,m,n,p,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && IntegerQ[Simplify[n/(m+1)]] && Not[IntegerQ[n]]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ 1/(m+1)*Subst[Int[(d+e*x^Simplify[n/(m+1)])^q*(a+c*x^Simplify[2*n/(m+1)])^p,x],x,x^(m+1)] /;
+FreeQ[{a,c,d,e,m,n,p,q},x] && EqQ[n2-2*n] && IntegerQ[Simplify[n/(m+1)]] && Not[IntegerQ[n]]
+
+
+Int[(f_*x_)^m_*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ f^IntPart[m]*(f*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(d+e*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,p,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && IntegerQ[Simplify[n/(m+1)]] && Not[IntegerQ[n]]
+
+
+Int[(f_*x_)^m_*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ f^IntPart[m]*(f*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(d+e*x^n)^q*(a+c*x^(2*n))^p,x] /;
+FreeQ[{a,c,d,e,f,m,p,q},x] && EqQ[n2-2*n] && IntegerQ[Simplify[n/(m+1)]] && Not[IntegerQ[n]]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_/(a_+b_.*x_^n_+c_.*x_^n2_.),x_Symbol] :=
+ With[{r=Rt[b^2-4*a*c,2]},
+ 2*c/r*Int[(f*x)^m*(d+e*x^n)^q/(b-r+2*c*x^n),x] - 2*c/r*Int[(f*x)^m*(d+e*x^n)^q/(b+r+2*c*x^n),x]] /;
+FreeQ[{a,b,c,d,e,f,m,n,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_/(a_+c_.*x_^n2_.),x_Symbol] :=
+ With[{r=Rt[-a*c,2]},
+ -c/(2*r)*Int[(f*x)^m*(d+e*x^n)^q/(r-c*x^n),x] - c/(2*r)*Int[(f*x)^m*(d+e*x^n)^q/(r+c*x^n),x]] /;
+FreeQ[{a,c,d,e,f,m,n,q},x] && EqQ[n2-2*n]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -(f*x)^(m+1)*(a+b*x^n+c*x^(2*n))^(p+1)*(d*(b^2-2*a*c)-a*b*e+(b*d-2*a*e)*c*x^n)/(a*f*n*(p+1)*(b^2-4*a*c)) +
+ 1/(a*n*(p+1)*(b^2-4*a*c))*Int[(f*x)^m*(a+b*x^n+c*x^(2*n))^(p+1)*
+ Simp[d*(b^2*(m+n*(p+1)+1)-2*a*c*(m+2*n*(p+1)+1))-a*b*e*(m+1)+(m+n*(2*p+3)+1)*(b*d-2*a*e)*c*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && NegativeIntegerQ[p+1]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -(f*x)^(m+1)*(a+c*x^(2*n))^(p+1)*(d+e*x^n)/(2*a*f*n*(p+1)) +
+ 1/(2*a*n*(p+1))*Int[(f*x)^m*(a+c*x^(2*n))^(p+1)*Simp[d*(m+2*n*(p+1)+1)+e*(m+n*(2*p+3)+1)*x^n,x],x] /;
+FreeQ[{a,c,d,e,f,m,n},x] && EqQ[n2-2*n] && NegativeIntegerQ[p+1]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(f*x)^m*(d+e*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && (PositiveIntegerQ[p] || PositiveIntegerQ[q])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(f*x)^m*(d+e*x^n)^q*(a+c*x^(2*n))^p,x],x] /;
+FreeQ[{a,c,d,e,f,m,n,p,q},x] && EqQ[n2-2*n] && (PositiveIntegerQ[p] || PositiveIntegerQ[q])
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ f^m*Int[ExpandIntegrand[x^m*(a+c*x^(2*n))^p,(d/(d^2-e^2*x^(2*n))-e*x^n/(d^2-e^2*x^(2*n)))^(-q),x],x] /;
+FreeQ[{a,c,d,e,f,m,n,p,q},x] && EqQ[n2-2*n] && NegativeIntegerQ[q] && (IntegerQ[m] || PositiveQ[f])
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^n_)^q_*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ (f*x)^m/x^m*Int[x^m*(d+e*x^n)^q*(a+c*x^(2*n))^p,x] /;
+FreeQ[{a,c,d,e,f,m,n,p,q},x] && EqQ[n2-2*n] && NegativeIntegerQ[q] && Not[IntegerQ[m] || PositiveQ[f]]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Defer[Int][(f*x)^m*(d+e*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q},x] && EqQ[n2-2*n]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Defer[Int][(f*x)^m*(d+e*x^n)^q*(a+c*x^(2*n))^p,x] /;
+FreeQ[{a,c,d,e,f,m,n,p,q},x] && EqQ[n2-2*n]
+
+
+Int[u_^m_.*(d_+e_.*v_^n_)^q_.*(a_+b_.*v_^n_+c_.*v_^n2_.)^p_.,x_Symbol] :=
+ u^m/(Coefficient[v,x,1]*v^m)*Subst[Int[x^m*(d+e*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x],x,v] /;
+FreeQ[{a,b,c,d,e,m,n,p,q},x] && EqQ[n2-2*n] && LinearPairQ[u,v,x]
+
+
+Int[u_^m_.*(d_+e_.*v_^n_)^q_.*(a_+c_.*v_^n2_.)^p_.,x_Symbol] :=
+ u^m/(Coefficient[v,x,1]*v^m)*Subst[Int[x^m*(d+e*x^n)^q*(a+c*x^(2*n))^p,x],x,v] /;
+FreeQ[{a,c,d,e,m,n,p},x] && EqQ[n2-2*n] && LinearPairQ[u,v,x]
+
+
+Int[x_^m_.*(d_+e_.*x_^mn_.)^q_.*(a_.+b_.*x_^n_.+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[x^(m-n*q)*(e+d*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && EqQ[n2,2*n] && EqQ[mn,-n] && IntegerQ[q]
+
+
+Int[x_^m_.*(d_+e_.*x_^mn_.)^q_.*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[x^(m+mn*q)*(e+d*x^(-mn))^q*(a+c*x^n2)^p,x] /;
+FreeQ[{a,c,d,e,m,mn,p},x] && EqQ[n2,-2*mn] && IntegerQ[q]
+
+
+Int[x_^m_.*(d_+e_.*x_^mn_.)^q_*(a_.+b_.*x_^n_.+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[x^(m+2*n*p)*(d+e*x^(-n))^q*(c+b*x^(-n)+a*x^(-2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,m,n,q},x] && EqQ[n2,2*n] && EqQ[mn,-n] && Not[IntegerQ[q]] && IntegerQ[p]
+
+
+Int[x_^m_.*(d_+e_.*x_^mn_.)^q_*(a_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[x^(m-2*mn*p)*(d+e*x^mn)^q*(c+a*x^(2*mn))^p,x] /;
+FreeQ[{a,c,d,e,m,mn,q},x] && EqQ[n2,-2*mn] && Not[IntegerQ[q]] && IntegerQ[p]
+
+
+Int[x_^m_.*(d_+e_.*x_^mn_.)^q_*(a_.+b_.*x_^n_.+c_.*x_^n2_.)^p_,x_Symbol] :=
+ x^(n*FracPart[q])*(d+e*x^(-n))^FracPart[q]/(e+d*x^n)^FracPart[q]*Int[x^(m-n*q)*(e+d*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,m,n,p,q},x] && EqQ[n2,2*n] && EqQ[mn,-n] && Not[IntegerQ[q]] && Not[IntegerQ[p]]
+
+
+Int[x_^m_.*(d_+e_.*x_^mn_.)^q_*(a_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ x^(-mn*FracPart[q])*(d+e*x^mn)^FracPart[q]/(e+d*x^(-mn))^FracPart[q]*Int[x^(m+mn*q)*(e+d*x^(-mn))^q*(a+c*x^n2)^p,x] /;
+FreeQ[{a,c,d,e,m,mn,p,q},x] && EqQ[n2,-2*mn] && Not[IntegerQ[q]] && Not[IntegerQ[p]]
+
+
+Int[(f_*x_)^m_*(d_+e_.*x_^mn_.)^q_.*(a_.+b_.*x_^n_.+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ f^IntPart[m]*(f*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(d+e*x^mn)^q*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q},x] && EqQ[n2,2*n] && EqQ[mn,-n]
+
+
+Int[(f_*x_)^m_*(d_+e_.*x_^mn_.)^q_.*(a_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ f^IntPart[m]*(f*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(d+e*x^mn)^q*(a+c*x^(2*n))^p,x] /;
+FreeQ[{a,c,d,e,f,m,mn,p,q},x] && EqQ[n2,-2*mn]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^mn_+c_.*x_^n_.)^p_.,x_Symbol] :=
+ Int[x^(m-n*p)*(d+e*x^n)^q*(b+a*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,m,n,q},x] && EqQ[mn,-n] && IntegerQ[p]
+
+
+Int[x_^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^mn_+c_.*x_^n_.)^p_.,x_Symbol] :=
+ x^(n*FracPart[p])*(a+b/x^n+c*x^n)^FracPart[p]/(b+a*x^n+c*x^(2*n))^FracPart[p]*
+ Int[x^(m-n*p)*(d+e*x^n)^q*(b+a*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,e,m,n,p,q},x] && EqQ[mn,-n] && Not[IntegerQ[p]]
+
+
+Int[(f_*x_)^m_.*(d_+e_.*x_^n_)^q_.*(a_+b_.*x_^mn_+c_.*x_^n_.)^p_.,x_Symbol] :=
+ f^IntPart[m]*(f*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(d+e*x^n)^q*(a+b*x^(-n)+c*x^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q},x] && EqQ[mn,-n]
+
+
+Int[(f_.*x_)^m_.*(d1_+e1_.*x_^non2_.)^q_.*(d2_+e2_.*x_^non2_.)^q_.*(a_.+b_.*x_^n_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ Int[(f*x)^m*(d1*d2+e1*e2*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,n,p,q},x] && EqQ[n2-2*n] && EqQ[non2-n/2] && EqQ[d2*e1+d1*e2] &&
+ (IntegerQ[q] || PositiveQ[d1] && PositiveQ[d2])
+
+
+Int[(f_.*x_)^m_.*(d1_+e1_.*x_^non2_.)^q_.*(d2_+e2_.*x_^non2_.)^q_.*(a_.+b_.*x_^n_+c_.*x_^n2_)^p_.,x_Symbol] :=
+ (d1+e1*x^(n/2))^FracPart[q]*(d2+e2*x^(n/2))^FracPart[q]/(d1*d2+e1*e2*x^n)^FracPart[q]*
+ Int[(f*x)^m*(d1*d2+e1*e2*x^n)^q*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,n,p,q},x] && EqQ[n2-2*n] && EqQ[non2-n/2] && EqQ[d2*e1+d1*e2]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.1.3.7 (c x)^m Pq(x) (a+b x^n)^p*)
+
+
+Int[x_^m_.*(e_+f_.*x_^q_.+g_.*x_^r_.+h_.*x_^n_.)/(a_+c_.*x_^n_.)^(3/2),x_Symbol] :=
+ -(2*a*g+4*a*h*x^(n/4)-2*c*f*x^(n/2))/(a*c*n*Sqrt[a+c*x^n]) /;
+FreeQ[{a,c,e,f,g,h,m,n},x] && EqQ[q-n/4] && EqQ[r-3*n/4] && EqQ[4*m-n+4] && EqQ[c*e+a*h]
+
+
+Int[(d_*x_)^m_.*(e_+f_.*x_^q_.+g_.*x_^r_.+h_.*x_^n_.)/(a_+c_.*x_^n_.)^(3/2),x_Symbol] :=
+ (d*x)^m/x^m*Int[x^m*(e+f*x^(n/4)+g*x^((3*n)/4)+h*x^n)/(a+c*x^n)^(3/2),x] /;
+FreeQ[{a,c,d,e,f,g,h,m,n},x] && EqQ[4*m-n+4] && EqQ[q-n/4] && EqQ[r-3*n/4] && EqQ[c*e+a*h]
+
+
+Int[(c_.*x_)^m_*Pq_*(a_+b_.*x_)^p_,x_Symbol] :=
+ With[{n=Denominator[p]},
+ n/b*Subst[Int[x^(n*p+n-1)*(-a*c/b+c*x^n/b)^m*ReplaceAll[Pq,x->-a/b+x^n/b],x],x,(a+b*x)^(1/n)]] /;
+FreeQ[{a,b,c,m},x] && PolyQ[Pq,x] && FractionQ[p] && NegativeIntegerQ[m+1]
+
+
+(* Int[Pq_*(a_+b_.*x_)^p_,x_Symbol] :=
+ With[{n=Denominator[p]},
+ n/b*Subst[Int[x^(n*p+n-1)*ReplaceAll[Pq,x->-a/b+x^n/b],x],x,(a+b*x)^(1/n)]] /;
+FreeQ[{a,b},x] && PolyQ[Pq,x] && FractionQ[p] *)
+
+
+Int[x_^m_.*Pq_*(a_+b_.*x_^n_)^p_.,x_Symbol] :=
+ 1/(m+1)*Subst[Int[SubstFor[x^(m+1),Pq,x]*(a+b*x^Simplify[n/(m+1)])^p,x],x,x^(m+1)] /;
+FreeQ[{a,b,m,n,p},x] && NeQ[m+1] && PositiveIntegerQ[Simplify[n/(m+1)]] && PolyQ[Pq,x^(m+1)]
+
+
+Int[Pq_*(a_+b_.*x_^n_.)^p_,x_Symbol] :=
+ Coeff[Pq,x,n-1]*(a+b*x^n)^(p+1)/(b*n*(p+1)) +
+ Int[ExpandToSum[Pq-Coeff[Pq,x,n-1]*x^(n-1),x]*(a+b*x^n)^p,x] /;
+FreeQ[{a,b},x] && PolyQ[Pq,x] && PositiveIntegerQ[n,p] && NeQ[Coeff[Pq,x,n-1]]
+
+
+Int[(c_.*x_)^m_.*Pq_*(a_+b_.*x_^n_.)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(c*x)^m*Pq*(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,m,n},x] && PolyQ[Pq,x] && (PositiveIntegerQ[p] || EqQ[n-1])
+
+
+Int[Pq_*(a_+b_.*x_^n_.)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[Pq*(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,n},x] && PolyQ[Pq,x] && (PositiveIntegerQ[p] || EqQ[n-1])
+
+
+Int[x_^m_.*Pq_*(a_+b_.*x_^n_)^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*SubstFor[x^n,Pq,x]*(a+b*x)^p,x],x,x^n] /;
+FreeQ[{a,b,m,n,p},x] && PolyQ[Pq,x^n] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(c_*x_)^m_.*Pq_*(a_+b_.*x_^n_)^p_.,x_Symbol] :=
+ c^IntPart[m]*(c*x)^FracPart[m]/x^FracPart[m]*Int[x^m*Pq*(a+b*x^n)^p,x] /;
+FreeQ[{a,b,c,m,n,p},x] && PolyQ[Pq,x^n] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[x_^m_.*Pq_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ Pq*(a+b*x^n)^(p+1)/(b*n*(p+1)) -
+ 1/(b*n*(p+1))*Int[D[Pq,x]*(a+b*x^n)^(p+1),x] /;
+FreeQ[{a,b,m,n},x] && PolyQ[Pq,x] && EqQ[m-n+1] && RationalQ[p] && p<-1
+
+
+Int[(d_.*x_)^m_.*Pq_*(a_+b_.*x_^n_.)^p_,x_Symbol] :=
+ 1/d*Int[(d*x)^(m+1)*ExpandToSum[Pq/x,x]*(a+b*x^n)^p,x] /;
+FreeQ[{a,b,d,m,n,p},x] && PolyQ[Pq,x] && EqQ[Coeff[Pq,x,0]]
+
+
+Int[Pq_*(a_+b_.*x_^n_.)^p_,x_Symbol] :=
+ Int[x*ExpandToSum[Pq/x,x]*(a+b*x^n)^p,x] /;
+FreeQ[{a,b,n,p},x] && PolyQ[Pq,x] && EqQ[Coeff[Pq,x,0]] && SumQ[Pq]
+
+
+Int[x_^m_.*Pq_*(a_+b_.*x_^n_.)^p_,x_Symbol] :=
+ Module[{u=IntHide[x^m*Pq,x]},
+ u*(a+b*x^n)^p - b*n*p*Int[x^(m+n)*(a+b*x^n)^(p-1)*ExpandToSum[u/x^(m+1),x],x]] /;
+FreeQ[{a,b},x] && PolyQ[Pq,x] && PositiveIntegerQ[n] && RationalQ[m,p] && p>0 && m+Expon[Pq,x]+1<0
+
+
+Int[(c_.*x_)^m_.*Pq_*(a_+b_.*x_^n_.)^p_,x_Symbol] :=
+ Module[{q=Expon[Pq,x],i},
+ (c*x)^m*(a+b*x^n)^p*Sum[Coeff[Pq,x,i]*x^(i+1)/(m+n*p+i+1),{i,0,q}] +
+ a*n*p*Int[(c*x)^m*(a+b*x^n)^(p-1)*Sum[Coeff[Pq,x,i]*x^i/(m+n*p+i+1),{i,0,q}],x]] /;
+FreeQ[{a,b,c,m},x] && PolyQ[Pq,x] && PositiveIntegerQ[(n-1)/2] && RationalQ[p] && p>0
+
+
+Int[Pq_*(a_+b_.*x_^n_.)^p_,x_Symbol] :=
+ Module[{q=Expon[Pq,x],i},
+ (a+b*x^n)^p*Sum[Coeff[Pq,x,i]*x^(i+1)/(n*p+i+1),{i,0,q}] +
+ a*n*p*Int[(a+b*x^n)^(p-1)*Sum[Coeff[Pq,x,i]*x^i/(n*p+i+1),{i,0,q}],x]] /;
+FreeQ[{a,b},x] && PolyQ[Pq,x] && PositiveIntegerQ[(n-1)/2] && RationalQ[p] && p>0
+
+
+Int[Pq_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ Module[{q=Expon[Pq,x],i},
+ (a*Coeff[Pq,x,q]-b*x*ExpandToSum[Pq-Coeff[Pq,x,q]*x^q,x])*(a+b*x^n)^(p+1)/(a*b*n*(p+1)) +
+ 1/(a*n*(p+1))*Int[Sum[(n*(p+1)+i+1)*Coeff[Pq,x,i]*x^i,{i,0,q-1}]*(a+b*x^n)^(p+1),x] /;
+ q==n-1] /;
+FreeQ[{a,b},x] && PolyQ[Pq,x] && PositiveIntegerQ[n] && RationalQ[p] && p<-1
+
+
+Int[Pq_*(a_+b_.*x_^n_.)^p_,x_Symbol] :=
+ -x*Pq*(a+b*x^n)^(p+1)/(a*n*(p+1)) +
+ 1/(a*n*(p+1))*Int[ExpandToSum[n*(p+1)*Pq+D[x*Pq,x],x]*(a+b*x^n)^(p+1),x] /;
+FreeQ[{a,b},x] && PolyQ[Pq,x] && PositiveIntegerQ[n] && RationalQ[p] && p<-1 && Expon[Pq,x]=n] /;
+FreeQ[{a,b},x] && PolyQ[Pq,x] && PositiveIntegerQ[n] && RationalQ[p] && p<-1
+
+
+Int[x_^m_*Pq_*(a_+b_.*x_^n_.)^p_,x_Symbol] :=
+ With[{q=Expon[Pq,x]},
+ Module[{Q=PolynomialQuotient[a*b^(Floor[(q-1)/n]+1)*x^m*Pq,a+b*x^n,x],
+ R=PolynomialRemainder[a*b^(Floor[(q-1)/n]+1)*x^m*Pq,a+b*x^n,x],i},
+ -x*R*(a+b*x^n)^(p+1)/(a^2*n*(p+1)*b^(Floor[(q-1)/n]+1)) +
+ 1/(a*n*(p+1)*b^(Floor[(q-1)/n]+1))*Int[x^m*(a+b*x^n)^(p+1)*
+ ExpandToSum[n*(p+1)*x^(-m)*Q+Sum[(n*(p+1)+i+1)/a*Coeff[R,x,i]*x^(i-m),{i,0,n-1}],x],x]]] /;
+FreeQ[{a,b},x] && PolyQ[Pq,x] && PositiveIntegerQ[n] && RationalQ[p] && p<-1 && NegativeIntegerQ[m]
+
+
+Int[x_^m_.*Pq_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ With[{g=GCD[m+1,n]},
+ 1/g*Subst[Int[x^((m+1)/g-1)*ReplaceAll[Pq,x->x^(1/g)]*(a+b*x^(n/g))^p,x],x,x^g] /;
+ g!=1] /;
+FreeQ[{a,b,p},x] && PolyQ[Pq,x^n] && PositiveIntegerQ[n] && IntegerQ[m]
+
+
+Int[(A_+B_.*x_)/(a_+b_.*x_^3),x_Symbol] :=
+ B^3/b*Int[1/(A^2-A*B*x+B^2*x^2),x] /;
+FreeQ[{a,b,A,B},x] && EqQ[a*B^3-b*A^3]
+
+
+Int[(A_+B_.*x_)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{r=Numerator[Rt[a/b,3]], s=Denominator[Rt[a/b,3]]},
+ -r*(B*r-A*s)/(3*a*s)*Int[1/(r+s*x),x] +
+ r/(3*a*s)*Int[(r*(B*r+2*A*s)+s*(B*r-A*s)*x)/(r^2-r*s*x+s^2*x^2),x]] /;
+FreeQ[{a,b,A,B},x] && NeQ[a*B^3-b*A^3] && PosQ[a/b]
+
+
+Int[(A_+B_.*x_)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{r=Numerator[Rt[-a/b,3]], s=Denominator[Rt[-a/b,3]]},
+ r*(B*r+A*s)/(3*a*s)*Int[1/(r-s*x),x] -
+ r/(3*a*s)*Int[(r*(B*r-2*A*s)-s*(B*r+A*s)*x)/(r^2+r*s*x+s^2*x^2),x]] /;
+FreeQ[{a,b,A,B},x] && NeQ[a*B^3-b*A^3] && NegQ[a/b]
+
+
+Int[(A_+B_.*x_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ -C^2/b*Int[1/(B-C*x),x] /;
+FreeQ[{a,b,A,B,C},x] && EqQ[B^2-A*C] && EqQ[b*B^3+a*C^3]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=a^(1/3)/b^(1/3)},
+ C/b*Int[1/(q+x),x] + (B+C*q)/b*Int[1/(q^2-q*x+x^2),x]] /;
+FreeQ[{a,b,A,B,C},x] && EqQ[A*b^(2/3)-a^(1/3)*b^(1/3)*B-2*a^(2/3)*C]
+
+
+Int[x_*(B_+C_.*x_)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=a^(1/3)/b^(1/3)},
+ C/b*Int[1/(q+x),x] + (B+C*q)/b*Int[1/(q^2-q*x+x^2),x]] /;
+FreeQ[{a,b,B,C},x] && EqQ[a^(1/3)*b^(1/3)*B+2*a^(2/3)*C]
+
+
+Int[(A_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=a^(1/3)/b^(1/3)},
+ C/b*Int[1/(q+x),x] + C*q/b*Int[1/(q^2-q*x+x^2),x]] /;
+FreeQ[{a,b,A,C},x] && EqQ[A*b^(2/3)-2*a^(2/3)*C]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(-a)^(1/3)/(-b)^(1/3)},
+ C/b*Int[1/(q+x),x] + (B+C*q)/b*Int[1/(q^2-q*x+x^2),x]] /;
+FreeQ[{a,b,A,B,C},x] && EqQ[A*(-b)^(2/3)-(-a)^(1/3)*(-b)^(1/3)*B-2*(-a)^(2/3)*C]
+
+
+Int[x_*(B_+C_.*x_)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(-a)^(1/3)/(-b)^(1/3)},
+ C/b*Int[1/(q+x),x] + (B+C*q)/b*Int[1/(q^2-q*x+x^2),x]] /;
+FreeQ[{a,b,B,C},x] && EqQ[(-a)^(1/3)*(-b)^(1/3)*B+2*(-a)^(2/3)*C]
+
+
+Int[(A_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(-a)^(1/3)/(-b)^(1/3)},
+ C/b*Int[1/(q+x),x] + C*q/b*Int[1/(q^2-q*x+x^2),x]] /;
+FreeQ[{a,b,A,C},x] && EqQ[A*(-b)^(2/3)-2*(-a)^(2/3)*C]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(-a)^(1/3)/b^(1/3)},
+ -C/b*Int[1/(q-x),x] + (B-C*q)/b*Int[1/(q^2+q*x+x^2),x]] /;
+FreeQ[{a,b,A,B,C},x] && EqQ[A*b^(2/3)+(-a)^(1/3)*b^(1/3)*B-2*(-a)^(2/3)*C]
+
+
+Int[x_*(B_+C_.*x_)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(-a)^(1/3)/b^(1/3)},
+ -C/b*Int[1/(q-x),x] + (B-C*q)/b*Int[1/(q^2+q*x+x^2),x]] /;
+FreeQ[{a,b,B,C},x] && EqQ[(-a)^(1/3)*b^(1/3)*B-2*(-a)^(2/3)*C]
+
+
+Int[(A_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(-a)^(1/3)/b^(1/3)},
+ -C/b*Int[1/(q-x),x] - C*q/b*Int[1/(q^2+q*x+x^2),x]] /;
+FreeQ[{a,b,A,C},x] && EqQ[A*b^(2/3)-2*(-a)^(2/3)*C]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=a^(1/3)/(-b)^(1/3)},
+ -C/b*Int[1/(q-x),x] + (B-C*q)/b*Int[1/(q^2+q*x+x^2),x]] /;
+FreeQ[{a,b,A,B,C},x] && EqQ[A*(-b)^(2/3)+a^(1/3)*(-b)^(1/3)*B-2*a^(2/3)*C]
+
+
+Int[x_*(B_+C_.*x_)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=a^(1/3)/(-b)^(1/3)},
+ -C/b*Int[1/(q-x),x] + (B-C*q)/b*Int[1/(q^2+q*x+x^2),x]] /;
+FreeQ[{a,b,B,C},x] && EqQ[a^(1/3)*(-b)^(1/3)*B-2*a^(2/3)*C]
+
+
+Int[(A_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=a^(1/3)/(-b)^(1/3)},
+ -C/b*Int[1/(q-x),x] - C*q/b*Int[1/(q^2+q*x+x^2),x]] /;
+FreeQ[{a,b,A,C},x] && EqQ[A*(-b)^(2/3)-2*a^(2/3)*C]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(a/b)^(1/3)},
+ C/b*Int[1/(q+x),x] + (B+C*q)/b*Int[1/(q^2-q*x+x^2),x]] /;
+FreeQ[{a,b,A,B,C},x] && EqQ[A-(a/b)^(1/3)*B-2*(a/b)^(2/3)*C]
+
+
+Int[x_*(B_+C_.*x_)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(a/b)^(1/3)},
+ C/b*Int[1/(q+x),x] + (B+C*q)/b*Int[1/(q^2-q*x+x^2),x]] /;
+FreeQ[{a,b,B,C},x] && EqQ[(a/b)^(1/3)*B+2*(a/b)^(2/3)*C]
+
+
+Int[(A_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(a/b)^(1/3)},
+ C/b*Int[1/(q+x),x] + C*q/b*Int[1/(q^2-q*x+x^2),x]] /;
+FreeQ[{a,b,A,C},x] && EqQ[A-2*(a/b)^(2/3)*C]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=Rt[a/b,3]},
+ C/b*Int[1/(q+x),x] + (B+C*q)/b*Int[1/(q^2-q*x+x^2),x]] /;
+FreeQ[{a,b,A,B,C},x] && EqQ[A-Rt[a/b,3]*B-2*Rt[a/b,3]^2*C]
+
+
+Int[x_*(B_+C_.*x_)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=Rt[a/b,3]},
+ C/b*Int[1/(q+x),x] + (B+C*q)/b*Int[1/(q^2-q*x+x^2),x]] /;
+FreeQ[{a,b,B,C},x] && EqQ[Rt[a/b,3]*B+2*Rt[a/b,3]^2*C]
+
+
+Int[(A_.+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=Rt[a/b,3]},
+ C/b*Int[1/(q+x),x] + C*q/b*Int[1/(q^2-q*x+x^2),x]] /;
+FreeQ[{a,b,A,C},x] && EqQ[A-2*Rt[a/b,3]^2*C]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(-a/b)^(1/3)},
+ -C/b*Int[1/(q-x),x] + (B-C*q)/b*Int[1/(q^2+q*x+x^2),x]] /;
+FreeQ[{a,b,A,B,C},x] && EqQ[A+(-a/b)^(1/3)*B-2*(-a/b)^(2/3)*C]
+
+
+Int[x_*(B_+C_.*x_)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(-a/b)^(1/3)},
+ -C/b*Int[1/(q-x),x] + (B-C*q)/b*Int[1/(q^2+q*x+x^2),x]] /;
+FreeQ[{a,b,B,C},x] && EqQ[(-a/b)^(1/3)*B-2*(-a/b)^(2/3)*C]
+
+
+Int[(A_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(-a/b)^(1/3)},
+ -C/b*Int[1/(q-x),x] - C*q/b*Int[1/(q^2+q*x+x^2),x]] /;
+FreeQ[{a,b,A,C},x] && EqQ[A-2*(-a/b)^(2/3)*C]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=Rt[-a/b,3]},
+ -C/b*Int[1/(q-x),x] + (B-C*q)/b*Int[1/(q^2+q*x+x^2),x]] /;
+FreeQ[{a,b,A,B,C},x] && EqQ[A+Rt[-a/b,3]*B-2*Rt[-a/b,3]^2*C]
+
+
+Int[x_*(B_+C_.*x_)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=Rt[-a/b,3]},
+ -C/b*Int[1/(q-x),x] + (B-C*q)/b*Int[1/(q^2+q*x+x^2),x]] /;
+FreeQ[{a,b,B,C},x] && EqQ[Rt[-a/b,3]*B-2*Rt[-a/b,3]^2*C]
+
+
+Int[(A_.+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=Rt[-a/b,3]},
+ -C/b*Int[1/(q-x),x] - C*q/b*Int[1/(q^2+q*x+x^2),x]] /;
+FreeQ[{a,b,A,C},x] && EqQ[A-2*Rt[-a/b,3]^2*C]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ Int[(A+B*x)/(a+b*x^3),x] + C*Int[x^2/(a+b*x^3),x] /;
+FreeQ[{a,b,A,B,C},x] && (EqQ[a*B^3-b*A^3] || Not[RationalQ[a/b]])
+
+
+Int[x_*(B_+C_.*x_)/(a_+b_.*x_^3),x_Symbol] :=
+ B*Int[x/(a+b*x^3),x] + C*Int[x^2/(a+b*x^3),x] /;
+FreeQ[{a,b,B,C},x] && Not[RationalQ[a/b]]
+
+
+Int[(A_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ A*Int[1/(a+b*x^3),x] + C*Int[x^2/(a+b*x^3),x] /;
+FreeQ[{a,b,A,C},x] && Not[RationalQ[a,b,A,C]]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(a/b)^(1/3)},
+ q^2/a*Int[(A+C*q*x)/(q^2-q*x+x^2),x]] /;
+FreeQ[{a,b,A,B,C},x] && EqQ[A-B*(a/b)^(1/3)+C*(a/b)^(2/3)]
+
+
+Int[x_*(B_.+C_.*x_)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(a/b)^(1/3)},
+ C*q^3/a*Int[x/(q^2-q*x+x^2),x]] /;
+FreeQ[{a,b,B,C},x] && EqQ[B*(a/b)^(1/3)-C*(a/b)^(2/3)]
+
+
+Int[(A_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(a/b)^(1/3)},
+ q^2/a*Int[(A+C*q*x)/(q^2-q*x+x^2),x]] /;
+FreeQ[{a,b,A,C},x] && EqQ[A+C*(a/b)^(2/3)]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(-a/b)^(1/3)},
+ q/a*Int[(A*q+(A+B*q)*x)/(q^2+q*x+x^2),x]] /;
+FreeQ[{a,b,A,B,C},x] && EqQ[A+B*(-a/b)^(1/3)+C*(-a/b)^(2/3)]
+
+
+Int[x_*(B_+C_.*x_)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(-a/b)^(1/3)},
+ B*q^2/a*Int[x/(q^2+q*x+x^2),x]] /;
+FreeQ[{a,b,B,C},x] && EqQ[B*(-a/b)^(1/3)+C*(-a/b)^(2/3)]
+
+
+Int[(A_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(-a/b)^(1/3)},
+ A*q/a*Int[(q+x)/(q^2+q*x+x^2),x]] /;
+FreeQ[{a,b,A,C},x] && EqQ[A+C*(-a/b)^(2/3)]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(a/b)^(1/3)},
+ q*(A-B*q+C*q^2)/(3*a)*Int[1/(q+x),x] +
+ q/(3*a)*Int[(q*(2*A+B*q-C*q^2)-(A-B*q-2*C*q^2)*x)/(q^2-q*x+x^2),x] /;
+ NeQ[A-B*q+C*q^2]] /;
+FreeQ[{a,b,A,B,C},x] && NeQ[a*B^3-b*A^3] && RationalQ[a/b] && a/b>0
+
+
+Int[x_*(B_+C_.*x_)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(a/b)^(1/3)},
+ -q*(B*q-C*q^2)/(3*a)*Int[1/(q+x),x] +
+ q/(3*a)*Int[(q*(B*q-C*q^2)+(B*q+2*C*q^2)*x)/(q^2-q*x+x^2),x] /;
+ NeQ[B*q-C*q^2]] /;
+FreeQ[{a,b,B,C},x] && RationalQ[a/b] && a/b>0
+
+
+Int[(A_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(a/b)^(1/3)},
+ q*(A+C*q^2)/(3*a)*Int[1/(q+x),x] +
+ q/(3*a)*Int[(q*(2*A-C*q^2)-(A-2*C*q^2)*x)/(q^2-q*x+x^2),x] /;
+ NeQ[A+C*q^2]] /;
+FreeQ[{a,b,A,C},x] && RationalQ[a/b] && a/b>0
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(-a/b)^(1/3)},
+ q*(A+B*q+C*q^2)/(3*a)*Int[1/(q-x),x] +
+ q/(3*a)*Int[(q*(2*A-B*q-C*q^2)+(A+B*q-2*C*q^2)*x)/(q^2+q*x+x^2),x] /;
+ NeQ[A+B*q+C*q^2]] /;
+FreeQ[{a,b,A,B,C},x] && NeQ[a*B^3-b*A^3] && RationalQ[a/b] && a/b<0
+
+
+Int[x_*(B_+C_.*x_)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(-a/b)^(1/3)},
+ q*(B*q+C*q^2)/(3*a)*Int[1/(q-x),x] +
+ q/(3*a)*Int[(-q*(B*q+C*q^2)+(B*q-2*C*q^2)*x)/(q^2+q*x+x^2),x] /;
+ NeQ[B*q+C*q^2]] /;
+FreeQ[{a,b,B,C},x] && RationalQ[a/b] && a/b<0
+
+
+Int[(A_+C_.*x_^2)/(a_+b_.*x_^3),x_Symbol] :=
+ With[{q=(-a/b)^(1/3)},
+ q*(A+C*q^2)/(3*a)*Int[1/(q-x),x] +
+ q/(3*a)*Int[(q*(2*A-C*q^2)+(A-2*C*q^2)*x)/(q^2+q*x+x^2),x] /;
+ NeQ[A+C*q^2]] /;
+FreeQ[{a,b,A,C},x] && RationalQ[a/b] && a/b<0
+
+
+Int[(c_.*x_)^m_.*Pq_/(a_+b_.*x_^n_),x_Symbol] :=
+ With[{v=Sum[(c*x)^(m+ii)*(Coeff[Pq,x,ii]+Coeff[Pq,x,n/2+ii]*x^(n/2))/(c^ii*(a+b*x^n)),{ii,0,n/2-1}]},
+ Int[v,x] /;
+ SumQ[v]] /;
+FreeQ[{a,b,c,m},x] && PolyQ[Pq,x] && PositiveIntegerQ[n/2] && Expon[Pq,x]=0 && (IntegerQ[2*p] || IntegerQ[p+(q+1)/(2*n)])] /;
+FreeQ[{a,b,c,m,p},x] && PolyQ[Pq,x] && PositiveIntegerQ[n]
+
+
+Int[Pq_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ With[{q=Expon[Pq,x]},
+ With[{Pqq=Coeff[Pq,x,q]},
+ Pqq*x^(q-n+1)*(a+b*x^n)^(p+1)/(b*(q+n*p+1)) +
+ 1/(b*(q+n*p+1))*Int[ExpandToSum[b*(q+n*p+1)*(Pq-Pqq*x^q)-a*Pqq*(q-n+1)*x^(q-n),x]*(a+b*x^n)^p,x]] /;
+ NeQ[q+n*p+1] && q-n>=0 && (IntegerQ[2*p] || IntegerQ[p+(q+1)/(2*n)])] /;
+FreeQ[{a,b,p},x] && PolyQ[Pq,x] && PositiveIntegerQ[n]
+
+
+Int[x_^m_.*Pq_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ With[{q=Expon[Pq,x]},
+ -Subst[Int[ExpandToSum[x^q*ReplaceAll[Pq,x->x^(-1)],x]*(a+b*x^(-n))^p/x^(m+q+2),x],x,1/x]] /;
+FreeQ[{a,b,p},x] && PolyQ[Pq,x] && NegativeIntegerQ[n] && IntegerQ[m]
+
+
+Int[(c_.*x_)^m_.*Pq_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ With[{g=Denominator[m],q=Expon[Pq,x]},
+ -g/c*Subst[Int[ExpandToSum[x^(g*q)*ReplaceAll[Pq,x->c^(-1)*x^(-g)],x]*
+ (a+b*c^(-n)*x^(-g*n))^p/x^(g*(m+q+1)+1),x],x,1/(c*x)^(1/g)]] /;
+FreeQ[{a,b,c,p},x] && PolyQ[Pq,x] && NegativeIntegerQ[n] && FractionQ[m]
+
+
+Int[(c_.*x_)^m_*Pq_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ With[{q=Expon[Pq,x]},
+ -(c*x)^m*(x^(-1))^m*Subst[Int[ExpandToSum[x^q*ReplaceAll[Pq,x->x^(-1)],x]*(a+b*x^(-n))^p/x^(m+q+2),x],x,1/x]] /;
+FreeQ[{a,b,c,m,p},x] && PolyQ[Pq,x] && NegativeIntegerQ[n] && Not[RationalQ[m]]
+
+
+Int[x_^m_.*Pq_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ With[{g=Denominator[n]},
+ g*Subst[Int[x^(g*(m+1)-1)*ReplaceAll[Pq,x->x^g]*(a+b*x^(g*n))^p,x],x,x^(1/g)]] /;
+FreeQ[{a,b,m,p},x] && PolyQ[Pq,x] && FractionQ[n]
+
+
+Int[Pq_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ With[{g=Denominator[n]},
+ g*Subst[Int[x^(g-1)*ReplaceAll[Pq,x->x^g]*(a+b*x^(g*n))^p,x],x,x^(1/g)]] /;
+FreeQ[{a,b,p},x] && PolyQ[Pq,x] && FractionQ[n]
+
+
+Int[(c_*x_)^m_*Pq_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ c^IntPart[m]*(c*x)^FracPart[m]/x^FracPart[m]*Int[x^m*Pq*(a+b*x^n)^p,x] /;
+FreeQ[{a,b,c,m,p},x] && PolyQ[Pq,x] && FractionQ[n]
+
+
+Int[x_^m_.*Pq_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ 1/(m+1)*Subst[Int[ReplaceAll[SubstFor[x^n,Pq,x],x->x^Simplify[n/(m+1)]]*(a+b*x^Simplify[n/(m+1)])^p,x],x,x^(m+1)] /;
+FreeQ[{a,b,m,n,p},x] && PolyQ[Pq,x^n] && IntegerQ[Simplify[n/(m+1)]] && Not[IntegerQ[n]]
+
+
+Int[(c_*x_)^m_*Pq_*(a_+b_.*x_^n_)^p_,x_Symbol] :=
+ c^IntPart[m]*(c*x)^FracPart[m]/x^FracPart[m]*Int[x^m*Pq*(a+b*x^n)^p,x] /;
+FreeQ[{a,b,c,m,n,p},x] && PolyQ[Pq,x^n] && IntegerQ[Simplify[n/(m+1)]] && Not[IntegerQ[n]]
+
+
+Int[(A_+B_.*x_^m_.)*(a_+b_.*x_^n_)^p_.,x_Symbol] :=
+ A*Int[(a+b*x^n)^p,x] + B*Int[x^m*(a+b*x^n)^p,x] /;
+FreeQ[{a,b,A,B,m,n,p},x] && EqQ[m-n+1]
+
+
+Int[(c_.*x_)^m_.*Pq_*(a_+b_.*x_^n_)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(c*x)^m*Pq*(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,m,n,p},x] && (PolyQ[Pq,x] || PolyQ[Pq,x^n])
+
+
+Int[Pq_*(a_+b_.*x_^n_)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[Pq*(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,n,p},x] && (PolyQ[Pq,x] || PolyQ[Pq,x^n])
+
+
+Int[u_^m_.*Pq_*(a_+b_.*v_^n_.)^p_,x_Symbol] :=
+ u^m/(Coeff[v,x,1]*v^m)*Subst[Int[x^m*SubstFor[v,Pq,x]*(a+b*x^n)^p,x],x,v] /;
+FreeQ[{a,b,m,n,p},x] && LinearPairQ[u,v,x] && PolyQ[Pq,v^n]
+
+
+Int[Pq_*(a_+b_.*v_^n_.)^p_,x_Symbol] :=
+ 1/Coeff[v,x,1]*Subst[Int[SubstFor[v,Pq,x]*(a+b*x^n)^p,x],x,v] /;
+FreeQ[{a,b,n,p},x] && LinearQ[v,x] && PolyQ[Pq,v^n]
+
+
+Int[(c_.*x_)^m_.*Pq_*(a1_+b1_.*x_^n_.)^p_.*(a2_+b2_.*x_^n_.)^p_.,x_Symbol] :=
+ Int[(c*x)^m*Pq*(a1*a2+b1*b2*x^(2*n))^p,x] /;
+FreeQ[{a1,b1,a2,b2,c,m,n,p},x] && PolyQ[Pq,x] && EqQ[a2*b1+a1*b2] && (IntegerQ[p] || PositiveQ[a1] && PositiveQ[a2])
+
+
+Int[Pq_*(a1_+b1_.*x_^n_.)^p_.*(a2_+b2_.*x_^n_.)^p_.,x_Symbol] :=
+ Int[Pq*(a1*a2+b1*b2*x^(2*n))^p,x] /;
+FreeQ[{a1,b1,a2,b2,n,p},x] && PolyQ[Pq,x] && EqQ[a2*b1+a1*b2] && (IntegerQ[p] || PositiveQ[a1] && PositiveQ[a2])
+
+
+Int[(c_.*x_)^m_.*Pq_*(a1_+b1_.*x_^n_.)^p_.*(a2_+b2_.*x_^n_.)^p_.,x_Symbol] :=
+ (a1+b1*x^n)^FracPart[p]*(a2+b2*x^n)^FracPart[p]/(a1*a2+b1*b2*x^(2*n))^FracPart[p]*
+ Int[(c*x)^m*Pq*(a1*a2+b1*b2*x^(2*n))^p,x] /;
+FreeQ[{a1,b1,a2,b2,c,m,n,p},x] && PolyQ[Pq,x] && EqQ[a2*b1+a1*b2] && Not[EqQ[n,1] && LinearQ[Pq,x]]
+
+
+Int[Pq_*(a1_+b1_.*x_^n_.)^p_.*(a2_+b2_.*x_^n_.)^p_.,x_Symbol] :=
+ (a1+b1*x^n)^FracPart[p]*(a2+b2*x^n)^FracPart[p]/(a1*a2+b1*b2*x^(2*n))^FracPart[p]*
+ Int[Pq*(a1*a2+b1*b2*x^(2*n))^p,x] /;
+FreeQ[{a1,b1,a2,b2,n,p},x] && PolyQ[Pq,x] && EqQ[a2*b1+a1*b2] && Not[EqQ[n,1] && LinearQ[Pq,x]]
+
+
+Int[(e_+f_.*x_^n_.+g_.*x_^n2_.)*(a_+b_.*x_^n_.)^p_.*(c_+d_.*x_^n_.)^p_.,x_Symbol] :=
+ e*x*(a+b*x^n)^(p+1)*(c+d*x^n)^(p+1)/(a*c) /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && EqQ[n2-2*n] && EqQ[a*c*f-e*(b*c+a*d)*(n*(p+1)+1)] && EqQ[a*c*g-b*d*e*(2*n*(p+1)+1)]
+
+
+Int[(e_+g_.*x_^n2_.)*(a_+b_.*x_^n_.)^p_.*(c_+d_.*x_^n_.)^p_.,x_Symbol] :=
+ e*x*(a+b*x^n)^(p+1)*(c+d*x^n)^(p+1)/(a*c) /;
+FreeQ[{a,b,c,d,e,g,n,p},x] && EqQ[n2-2*n] && EqQ[n*(p+1)+1] && EqQ[a*c*g-b*d*e*(2*n*(p+1)+1)]
+
+
+Int[(h_.*x_)^m_.*(e_+f_.*x_^n_.+g_.*x_^n2_.)*(a_+b_.*x_^n_.)^p_.*(c_+d_.*x_^n_.)^p_.,x_Symbol] :=
+ e*(h*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^(p+1)/(a*c*h*(m+1)) /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n,p},x] && EqQ[n2-2*n] && EqQ[a*c*f*(m+1)-e*(b*c+a*d)*(m+n*(p+1)+1)] &&
+ EqQ[a*c*g*(m+1)-b*d*e*(m+2*n*(p+1)+1)] && NeQ[m+1]
+
+
+Int[(h_.*x_)^m_.*(e_+g_.*x_^n2_.)*(a_+b_.*x_^n_.)^p_.*(c_+d_.*x_^n_.)^p_.,x_Symbol] :=
+ e*(h*x)^(m+1)*(a+b*x^n)^(p+1)*(c+d*x^n)^(p+1)/(a*c*h*(m+1)) /;
+FreeQ[{a,b,c,d,e,g,h,m,n,p},x] && EqQ[n2-2*n] && EqQ[m+n*(p+1)+1] && EqQ[a*c*g*(m+1)-b*d*e*(m+2*n*(p+1)+1)] &&
+ NeQ[m+1]
+
+
+Int[(A_+B_.*x_^m_.)*(a_.+b_.*x_^n_)^p_.*(c_+d_.*x_^n_)^q_.,x_Symbol] :=
+ A*Int[(a+b*x^n)^p*(c+d*x^n)^q,x] + B*Int[x^m*(a+b*x^n)^p*(c+d*x^n)^q,x] /;
+FreeQ[{a,b,c,d,A,B,m,n,p,q},x] && NeQ[b*c-a*d] && EqQ[m-n+1]
+
+
+Int[Px_^q_.*(a_.+b_.*(c_+d_.*x_)^n_)^p_,x_Symbol] :=
+ With[{k=Denominator[n]},
+ k/d*Subst[Int[SimplifyIntegrand[x^(k-1)*ReplaceAll[Px,x->x^k/d-c/d]^q*(a+b*x^(k*n))^p,x],x],x,(c+d*x)^(1/k)]] /;
+FreeQ[{a,b,c,d,p},x] && PolynomialQ[Px,x] && IntegerQ[q] && RationalQ[n]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.3.5 (d x)^m Pq(x) (a+b x^n+c x^(2 n))^p*)
+
+
+Int[x_^m_.*Pq_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ 1/n*Subst[Int[SubstFor[x^n,Pq,x]*(a+b*x+c*x^2)^p,x],x,x^n] /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x^n] && EqQ[Simplify[m-n+1]]
+
+
+Int[(d_.*x_)^m_.*Pq_*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d*x)^m*Pq*(a+b*x^n+c*x^(2*n))^p,x],x] /;
+FreeQ[{a,b,c,d,m,n},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && PositiveIntegerQ[p]
+
+
+Int[Pq_*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[Pq*(a+b*x^n+c*x^(2*n))^p,x],x] /;
+FreeQ[{a,b,c,n},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && PositiveIntegerQ[p]
+
+
+Int[(d_+e_.*x_^n_.+f_.*x_^n2_.)*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ d*x*(a+b*x^n+c*x^(2*n))^(p+1)/a /;
+FreeQ[{a,b,c,d,e,f,n,p},x] && EqQ[n2-2*n] && EqQ[a*e-b*d*(n*(p+1)+1)] && EqQ[a*f-c*d*(2*n*(p+1)+1)]
+
+
+Int[(d_+f_.*x_^n2_.)*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ d*x*(a+b*x^n+c*x^(2*n))^(p+1)/a /;
+FreeQ[{a,b,c,d,f,n,p},x] && EqQ[n2-2*n] && EqQ[n*(p+1)+1] && EqQ[c*d+a*f]
+
+
+Int[(g_.*x_)^m_.*(d_+e_.*x_^n_.+f_.*x_^n2_.)*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ d*(g*x)^(m+1)*(a+b*x^n+c*x^(2*n))^(p+1)/(a*g*(m+1)) /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && EqQ[n2-2*n] && EqQ[a*e*(m+1)-b*d*(m+n*(p+1)+1)] && EqQ[a*f*(m+1)-c*d*(m+2*n*(p+1)+1)] &&
+ NeQ[m+1]
+
+
+Int[(g_.*x_)^m_.*(d_+f_.*x_^n2_.)*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ d*(g*x)^(m+1)*(a+b*x^n+c*x^(2*n))^(p+1)/(a*g*(m+1)) /;
+FreeQ[{a,b,c,d,f,g,m,n,p},x] && EqQ[n2-2*n] && EqQ[m+n*(p+1)+1] && EqQ[c*d+a*f] && NeQ[m+1]
+
+
+Int[(d_.*x_)^m_.*Pq_*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (a+b*x^n+c*x^(2*n))^FracPart[p]/((4*c)^IntPart[p]*(b+2*c*x^n)^(2*FracPart[p]))*Int[(d*x)^m*Pq*(b+2*c*x^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,m,n,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && EqQ[b^2-4*a*c] && Not[IntegerQ[2*p]]
+
+
+Int[Pq_*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (a+b*x^n+c*x^(2*n))^FracPart[p]/((4*c)^IntPart[p]*(b+2*c*x^n)^(2*FracPart[p]))*Int[Pq*(b+2*c*x^n)^(2*p),x] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && EqQ[b^2-4*a*c] && Not[IntegerQ[2*p]]
+
+
+Int[x_^m_.*Pq_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*SubstFor[x^n,Pq,x]*(a+b*x+c*x^2)^p,x],x,x^n] /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x^n] && NeQ[b^2-4*a*c] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(d_*x_)^m_.*Pq_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (d*x)^m/x^m*Int[x^m*Pq*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,m,n,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x^n] && NeQ[b^2-4*a*c] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(d_.*x_)^m_.*Pq_*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_,x_Symbol] :=
+ 1/d*Int[(d*x)^(m+1)*ExpandToSum[Pq/x,x]*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,m,n,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && EqQ[Coeff[Pq,x,0]]
+
+
+Int[Pq_*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_,x_Symbol] :=
+ Int[x*ExpandToSum[Pq/x,x]*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && EqQ[Coeff[Pq,x,0]] && SumQ[Pq]
+
+
+Int[(d_+e_.*x_^n_+f_.*x_^n2_.+g_.*x_^n3_.)*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ x*(a*d*(n+1)+(a*e-b*d*(n*(p+1)+1))*x^n)*(a+b*x^n+c*x^(2*n))^(p+1)/(a^2*(n+1)) /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && EqQ[n2-2*n] && EqQ[n3-3*n] && NeQ[b^2-4*a*c] &&
+ EqQ[a^2*g*(n+1)-c*(n*(2*p+3)+1)*(a*e-b*d*(n*(p+1)+1))] &&
+ EqQ[a^2*f*(n+1)-a*c*d*(n+1)*(2*n*(p+1)+1)-b*(n*(p+2)+1)*(a*e-b*d*(n*(p+1)+1))]
+
+
+Int[(d_+f_.*x_^n2_.+g_.*x_^n3_.)*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ d*x*(a*(n+1)-b*(n*(p+1)+1)*x^n)*(a+b*x^n+c*x^(2*n))^(p+1)/(a^2*(n+1)) /;
+FreeQ[{a,b,c,d,f,g,n,p},x] && EqQ[n2-2*n] && EqQ[n3-3*n] && NeQ[b^2-4*a*c] &&
+ EqQ[a^2*g*(n+1)+c*b*d*(n*(2*p+3)+1)*(n*(p+1)+1)] &&
+ EqQ[a^2*f*(n+1)-a*c*d*(n+1)*(2*n*(p+1)+1)+b^2*d*(n*(p+2)+1)*(n*(p+1)+1)]
+
+
+Int[(d_+e_.*x_^n_+g_.*x_^n3_.)*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ x*(a*d*(n+1)+(a*e-b*d*(n*(p+1)+1))*x^n)*(a+b*x^n+c*x^(2*n))^(p+1)/(a^2*(n+1)) /;
+FreeQ[{a,b,c,d,e,g,n,p},x] && EqQ[n2-2*n] && EqQ[n3-3*n] && NeQ[b^2-4*a*c] &&
+ EqQ[a^2*g*(n+1)-c*(n*(2*p+3)+1)*(a*e-b*d*(n*(p+1)+1))] &&
+ EqQ[a*c*d*(n+1)*(2*n*(p+1)+1)+b*(n*(p+2)+1)*(a*e-b*d*(n*(p+1)+1))]
+
+
+Int[(d_+g_.*x_^n3_.)*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ d*x*(a*(n+1)-b*(n*(p+1)+1)*x^n)*(a+b*x^n+c*x^(2*n))^(p+1)/(a^2*(n+1)) /;
+FreeQ[{a,b,c,d,g,n,p},x] && EqQ[n2-2*n] && EqQ[n3-3*n] && NeQ[b^2-4*a*c] &&
+ EqQ[a^2*g*(n+1)+c*b*d*(n*(2*p+3)+1)*(n*(p+1)+1)] &&
+ EqQ[a*c*d*(n+1)*(2*n*(p+1)+1)-b^2*d*(n*(p+2)+1)*(n*(p+1)+1)]
+
+
+Int[x_^m_.*(e_+f_.*x_^q_.+g_.*x_^r_.+h_.*x_^s_.)/(a_+b_.*x_^n_.+c_.*x_^n2_.)^(3/2),x_Symbol] :=
+ -(2*c*(b*f-2*a*g)+2*h*(b^2-4*a*c)*x^(n/2)+2*c*(2*c*f-b*g)*x^n)/(c*n*(b^2-4*a*c)*Sqrt[a+b*x^n+c*x^(2*n)]) /;
+FreeQ[{a,b,c,e,f,g,h,m,n},x] && EqQ[n2-2*n] && EqQ[q-n/2] && EqQ[r-3*n/2] && EqQ[s-2*n] &&
+ NeQ[b^2-4*a*c] && EqQ[2*m-n+2] && EqQ[c*e+a*h]
+
+
+Int[(d_*x_)^m_.*(e_+f_.*x_^q_.+g_.*x_^r_.+h_.*x_^s_.)/(a_+b_.*x_^n_.+c_.*x_^n2_.)^(3/2),x_Symbol] :=
+ (d*x)^m/x^m*Int[x^m*(e+f*x^(n/2)+g*x^((3*n)/2)+h*x^(2*n))/(a+b*x^n+c*x^(2*n))^(3/2),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n},x] && EqQ[n2-2*n] && EqQ[q-n/2] && EqQ[r-3*n/2] && EqQ[s-2*n] &&
+ NeQ[b^2-4*a*c] && EqQ[2*m-n+2] && EqQ[c*e+a*h]
+
+
+Int[Pq_*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ Module[{q=Expon[Pq,x],i},
+ -x*(a+b*x^n+c*x^(2*n))^(p+1)/(a*n*(p+1)*(b^2-4*a*c))*
+ Sum[((b^2-2*a*c)*Coeff[Pq,x,i]-a*b*Coeff[Pq,x,n+i])*x^i+
+ c*(b*Coeff[Pq,x,i]-2*a*Coeff[Pq,x,n+i])*x^(n+i),{i,0,n-1}] +
+ 1/(a*n*(p+1)*(b^2-4*a*c))*Int[(a+b*x^n+c*x^(2*n))^(p+1)*
+ Sum[((b^2*(n*(p+1)+i+1)-2*a*c*(2*n*(p+1)+i+1))*Coeff[Pq,x,i]-a*b*(i+1)*Coeff[Pq,x,n+i])*x^i+
+ c*(n*(2*p+3)+i+1)*(b*Coeff[Pq,x,i]-2*a*Coeff[Pq,x,n+i])*x^(n+i),{i,0,n-1}],x] /;
+ q<2*n] /;
+FreeQ[{a,b,c},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[p] && p<-1
+
+
+Int[Pq_*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ With[{q=Expon[Pq,x]},
+ Module[{Q=PolynomialQuotient[(b*c)^(Floor[(q-1)/n]+1)*Pq,a+b*x^n+c*x^(2*n),x],
+ R=PolynomialRemainder[(b*c)^(Floor[(q-1)/n]+1)*Pq,a+b*x^n+c*x^(2*n),x],i},
+ -x*(a+b*x^n+c*x^(2*n))^(p+1)/(a*n*(p+1)*(b^2-4*a*c)*(b*c)^(Floor[(q-1)/n]+1))*
+ Sum[((b^2-2*a*c)*Coeff[R,x,i]-a*b*Coeff[R,x,n+i])*x^i+
+ c*(b*Coeff[R,x,i]-2*a*Coeff[R,x,n+i])*x^(n+i),{i,0,n-1}] +
+ 1/(a*n*(p+1)*(b^2-4*a*c)*(b*c)^(Floor[(q-1)/n]+1))*Int[(a+b*x^n+c*x^(2*n))^(p+1)*ExpandToSum[a*n*(p+1)*(b^2-4*a*c)*Q+
+ Sum[((b^2*(n*(p+1)+i+1)-2*a*c*(2*n*(p+1)+i+1))*Coeff[R,x,i]-a*b*(i+1)*Coeff[R,x,n+i])*x^i+
+ c*(n*(2*p+3)+i+1)*(b*Coeff[R,x,i]-2*a*Coeff[R,x,n+i])*x^(n+i),{i,0,n-1}],x],x]] /;
+ q>=2*n] /;
+FreeQ[{a,b,c},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && RationalQ[p] && p<-1
+
+
+Int[x_^m_*Pq_*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ Module[{q=Expon[Pq,x]},
+ Module[{Q=PolynomialQuotient[a*(b*c)^(Floor[(q-1)/n]+1)*x^m*Pq,a+b*x^n+c*x^(2*n),x],
+ R=PolynomialRemainder[a*(b*c)^(Floor[(q-1)/n]+1)*x^m*Pq,a+b*x^n+c*x^(2*n),x],i},
+ -x*(a+b*x^n+c*x^(2*n))^(p+1)/(a^2*n*(p+1)*(b^2-4*a*c)*(b*c)^(Floor[(q-1)/n]+1))*
+ Sum[((b^2-2*a*c)*Coeff[R,x,i]-a*b*Coeff[R,x,n+i])*x^i+
+ c*(b*Coeff[R,x,i]-2*a*Coeff[R,x,n+i])*x^(n+i),{i,0,n-1}] +
+ 1/(a*n*(p+1)*(b^2-4*a*c)*(b*c)^(Floor[(q-1)/n]+1))*Int[x^m*(a+b*x^n+c*x^(2*n))^(p+1)*
+ ExpandToSum[n*(p+1)*(b^2-4*a*c)*x^(-m)*Q+
+ Sum[((b^2*(n*(p+1)+i+1)/a-2*c*(2*n*(p+1)+i+1))*Coeff[R,x,i]-b*(i+1)*Coeff[R,x,n+i])*x^(i-m)+
+ c*(n*(2*p+3)+i+1)*(b/a*Coeff[R,x,i]-2*Coeff[R,x,n+i])*x^(n+i-m),{i,0,n-1}],x],x]] /;
+ q>=2*n] /;
+FreeQ[{a,b,c},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ RationalQ[p] && p<-1 && NegativeIntegerQ[m]
+
+
+Int[x_^m_.*Pq_*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ With[{g=GCD[m+1,n]},
+ 1/g*Subst[Int[x^((m+1)/g-1)*ReplaceAll[Pq,x->x^(1/g)]*(a+b*x^(n/g)+c*x^(2*n/g))^p,x],x,x^g] /;
+ g!=1] /;
+FreeQ[{a,b,c,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x^n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && IntegerQ[m]
+
+
+Int[(d_.*x_)^m_.*Pq_/(a_+b_.*x_^n_.+c_.*x_^n2_),x_Symbol] :=
+ Int[ExpandIntegrand[(d*x)^m*Pq/(a+b*x^n+c*x^(2*n)),x],x] /;
+FreeQ[{a,b,c,d,m},x] && EqQ[n2-2*n] && PolyQ[Pq,x^n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && NiceSqrtQ[b^2-4*a*c]
+
+
+Int[Pq_/(a_+b_.*x_^n_.+c_.*x_^n2_),x_Symbol] :=
+ Int[ExpandIntegrand[Pq/(a+b*x^n+c*x^(2*n)),x],x] /;
+FreeQ[{a,b,c},x] && EqQ[n2-2*n] && PolyQ[Pq,x^n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ (NiceSqrtQ[b^2-4*a*c] || Expon[Pq,x]=2*n && m+q+2*n*p+1!=0 && (IntegerQ[2*p] || n==1 && IntegerQ[4*p] || IntegerQ[p+(q+1)/(2*n)])] /;
+FreeQ[{a,b,c,d,m,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x^n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n]
+
+
+Int[Pq_*(a_+b_.*x_^n_.+c_.*x_^n2_)^p_,x_Symbol] :=
+ With[{q=Expon[Pq,x]},
+ With[{Pqq=Coeff[Pq,x,q]},
+ Pqq*x^(q-2*n+1)*(a+b*x^n+c*x^(2*n))^(p+1)/(c*(q+2*n*p+1)) +
+ Int[ExpandToSum[Pq-Pqq*x^q-Pqq*(a*(q-2*n+1)*x^(q-2*n)+b*(q+n*(p-1)+1)*x^(q-n))/(c*(q+2*n*p+1)),x]*(a+b*x^n+c*x^(2*n))^p,x]] /;
+ q>=2*n && q+2*n*p+1!=0 && (IntegerQ[2*p] || n==1 && IntegerQ[4*p] || IntegerQ[p+(q+1)/(2*n)])] /;
+FreeQ[{a,b,c,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x^n] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n]
+
+
+Int[(d_.*x_)^m_.*Pq_*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ Module[{q=Expon[Pq,x],j,k},
+ Int[Sum[1/d^j*(d*x)^(m+j)*Sum[Coeff[Pq,x,j+k*n]*x^(k*n),{k,0,(q-j)/n+1}]*(a+b*x^n+c*x^(2*n))^p,{j,0,n-1}],x]] /;
+FreeQ[{a,b,c,d,m,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && Not[PolyQ[Pq,x^n]]
+
+
+Int[Pq_*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ Module[{q=Expon[Pq,x],j,k},
+ Int[Sum[x^j*Sum[Coeff[Pq,x,j+k*n]*x^(k*n),{k,0,(q-j)/n+1}]*(a+b*x^n+c*x^(2*n))^p,{j,0,n-1}],x]] /;
+FreeQ[{a,b,c,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] && Not[PolyQ[Pq,x^n]]
+
+
+Int[(d_.*x_)^m_.*Pq_/(a_+b_.*x_^n_.+c_.*x_^n2_.),x_Symbol] :=
+ Int[RationalFunctionExpand[(d*x)^m*Pq/(a+b*x^n+c*x^(2*n)),x],x] /;
+FreeQ[{a,b,c,d,m},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n]
+
+
+Int[Pq_/(a_+b_.*x_^n_.+c_.*x_^n2_.),x_Symbol] :=
+ Int[RationalFunctionExpand[Pq/(a+b*x^n+c*x^(2*n)),x],x] /;
+FreeQ[{a,b,c},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n]
+
+
+Int[x_^m_.*Pq_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{q=Expon[Pq,x]},
+ -Subst[Int[ExpandToSum[x^q*ReplaceAll[Pq,x->x^(-1)],x]*(a+b*x^(-n)+c*x^(-2*n))^p/x^(m+q+2),x],x,1/x]] /;
+FreeQ[{a,b,c,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && NegativeIntegerQ[n] && IntegerQ[m]
+
+
+Int[(d_.*x_)^m_.*Pq_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{g=Denominator[m],q=Expon[Pq,x]},
+ -g/d*Subst[Int[ExpandToSum[x^(g*q)*ReplaceAll[Pq,x->d^(-1)*x^(-g)],x]*
+ (a+b*d^(-n)*x^(-g*n)+c*d^(-2*n)*x^(-2*g*n))^p/x^(g*(m+q+1)+1),x],x,1/(d*x)^(1/g)]] /;
+FreeQ[{a,b,c,d,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && NegativeIntegerQ[n] && FractionQ[m]
+
+
+Int[(d_.*x_)^m_*Pq_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{q=Expon[Pq,x]},
+ -(d*x)^m*(x^(-1))^m*Subst[Int[ExpandToSum[x^q*ReplaceAll[Pq,x->x^(-1)],x]*(a+b*x^(-n)+c*x^(-2*n))^p/x^(m+q+2),x],x,1/x]] /;
+FreeQ[{a,b,c,d,m,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && NegativeIntegerQ[n] && Not[RationalQ[m]]
+
+
+Int[x_^m_.*Pq_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{g=Denominator[n]},
+ g*Subst[Int[x^(g*(m+1)-1)*ReplaceAll[Pq,x->x^g]*(a+b*x^(g*n)+c*x^(2*g*n))^p,x],x,x^(1/g)]] /;
+FreeQ[{a,b,c,m,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && FractionQ[n]
+
+
+Int[Pq_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ With[{g=Denominator[n]},
+ g*Subst[Int[x^(g-1)*ReplaceAll[Pq,x->x^g]*(a+b*x^(g*n)+c*x^(2*g*n))^p,x],x,x^(1/g)]] /;
+FreeQ[{a,b,c,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && FractionQ[n]
+
+
+Int[(d_*x_)^m_*Pq_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ d^(m-1/2)*Sqrt[d*x]/Sqrt[x]*Int[x^m*Pq*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && FractionQ[n] && PositiveIntegerQ[m+1/2]
+
+
+Int[(d_*x_)^m_*Pq_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ d^(m+1/2)*Sqrt[x]/Sqrt[d*x]*Int[x^m*Pq*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && FractionQ[n] && NegativeIntegerQ[m-1/2]
+
+
+Int[(d_*x_)^m_*Pq_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (d*x)^m/x^m*Int[x^m*Pq*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,m,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c] && FractionQ[n]
+
+
+Int[x_^m_.*Pq_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ 1/(m+1)*Subst[Int[ReplaceAll[SubstFor[x^n,Pq,x],x->x^Simplify[n/(m+1)]]*(a+b*x^Simplify[n/(m+1)]+c*x^Simplify[2*n/(m+1)])^p,x],x,x^(m+1)] /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x^n] && NeQ[b^2-4*a*c] && IntegerQ[Simplify[n/(m+1)]] &&
+ Not[IntegerQ[n]]
+
+
+Int[(d_*x_)^m_*Pq_*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (d*x)^m/x^m*Int[x^m*Pq*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,m,p},x] && EqQ[n2-2*n] && PolyQ[Pq,x^n] && NeQ[b^2-4*a*c] && IntegerQ[Simplify[n/(m+1)]] &&
+ Not[IntegerQ[n]]
+
+
+Int[(d_.*x_)^m_.*Pq_/(a_+b_.*x_^n_.+c_.*x_^n2_.),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ 2*c/q*Int[(d*x)^m*Pq/(b-q+2*c*x^n),x] -
+ 2*c/q*Int[(d*x)^m*Pq/(b+q+2*c*x^n),x]] /;
+FreeQ[{a,b,c,d,m,n},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c]
+
+
+Int[Pq_/(a_+b_.*x_^n_.+c_.*x_^n2_.),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ 2*c/q*Int[Pq/(b-q+2*c*x^n),x] -
+ 2*c/q*Int[Pq/(b+q+2*c*x^n),x]] /;
+FreeQ[{a,b,c,n},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NeQ[b^2-4*a*c]
+
+
+Int[(d_.*x_)^m_.*Pq_*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(d*x)^m*Pq*(a+b*x^n+c*x^(2*n))^p,x],x] /;
+FreeQ[{a,b,c,d,m,n},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NegativeIntegerQ[p+1]
+
+
+Int[Pq_*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[Pq*(a+b*x^n+c*x^(2*n))^p,x],x] /;
+FreeQ[{a,b,c,n},x] && EqQ[n2-2*n] && PolyQ[Pq,x] && NegativeIntegerQ[p+1]
+
+
+Int[(d_.*x_)^m_.*Pq_*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Defer[Int][(d*x)^m*Pq*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,d,m,n,p},x] && EqQ[n2-2*n] && (PolyQ[Pq,x] || PolyQ[Pq,x^n])
+
+
+Int[Pq_*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ Defer[Int][Pq*(a+b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[n2-2*n] && (PolyQ[Pq,x] || PolyQ[Pq,x^n])
+
+
+Int[u_^m_.*Pq_*(a_+b_.*v_^n_+c_.*v_^n2_.)^p_.,x_Symbol] :=
+ u^m/(Coefficient[v,x,1]*v^m)*Subst[Int[x^m*SubstFor[v,Pq,x]*(a+b*x^n+c*x^(2*n))^p,x],x,v] /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[n2-2*n] && LinearPairQ[u,v,x] && PolyQ[Pq,v^n]
+
+
+Int[Pq_*(a_+b_.*v_^n_+c_.*v_^n2_.)^p_.,x_Symbol] :=
+ 1/Coefficient[v,x,1]*Subst[Int[SubstFor[v,Pq,x]*(a+b*x^n+c*x^(2*n))^p,x],x,v] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[n2-2*n] && LinearQ[v,x] && PolyQ[Pq,v^n]
+
+
+
+`)
+
+func resourcesRubi123GeneralTrinomialProductsMBytes() ([]byte, error) {
+ return _resourcesRubi123GeneralTrinomialProductsM, nil
+}
+
+func resourcesRubi123GeneralTrinomialProductsM() (*asset, error) {
+ bytes, err := resourcesRubi123GeneralTrinomialProductsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/1.2.3 General trinomial products.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi124ImproperTrinomialProductsM = []byte(`(* ::Package:: *)
+
+(* ::Section:: *)
+(*1.2.4 Improper Trinomial Product Integration Rules*)
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.4.1 (a x^q+b x^n+c x^(2 n-q))^p*)
+
+
+Int[(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ Int[((a+b+c)*x^n)^p,x] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[n-q] && EqQ[r-n]
+
+
+Int[(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ Int[x^(p*q)*(a+b*x^(n-q)+c*x^(2*(n-q)))^p,x] /;
+FreeQ[{a,b,c,n,q},x] && EqQ[r-(2*n-q)] && PosQ[n-q] && IntegerQ[p]
+
+
+Int[Sqrt[a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.],x_Symbol] :=
+ Sqrt[a*x^q+b*x^n+c*x^(2*n-q)]/(x^(q/2)*Sqrt[a+b*x^(n-q)+c*x^(2*(n-q))])*
+ Int[x^(q/2)*Sqrt[a+b*x^(n-q)+c*x^(2*(n-q))],x] /;
+FreeQ[{a,b,c,n,q},x] && EqQ[r-(2*n-q)] && PosQ[n-q]
+
+
+Int[1/Sqrt[a_.*x_^2+b_.*x_^n_.+c_.*x_^r_.],x_Symbol] :=
+ -2/(n-2)*Subst[Int[1/(4*a-x^2),x],x,x*(2*a+b*x^(n-2))/Sqrt[a*x^2+b*x^n+c*x^r]] /;
+FreeQ[{a,b,c,n,r},x] && EqQ[r,2*n-2] && PosQ[n-2] && NeQ[b^2-4*a*c,0]
+
+
+Int[1/Sqrt[a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.],x_Symbol] :=
+ x^(q/2)*Sqrt[a+b*x^(n-q)+c*x^(2*(n-q))]/Sqrt[a*x^q+b*x^n+c*x^(2*n-q)]*
+ Int[1/(x^(q/2)*Sqrt[a+b*x^(n-q)+c*x^(2*(n-q))]),x] /;
+FreeQ[{a,b,c,n,q},x] && EqQ[r-(2*n-q)] && PosQ[n-q]
+
+
+Int[(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ x*(a*x^q+b*x^n+c*x^(2*n-q))^p/(p*(2*n-q)+1) +
+ (n-q)*p/(p*(2*n-q)+1)*
+ Int[x^q*(2*a+b*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^(p-1),x] /;
+FreeQ[{a,b,c,n,q},x] && EqQ[r-(2*n-q)] && PosQ[n-q] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && RationalQ[p] && p>0 &&
+ NeQ[p*(2*n-q)+1]
+
+
+Int[(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ -x^(-q+1)*(b^2-2*a*c+b*c*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^(p+1)/(a*(n-q)*(p+1)*(b^2-4*a*c)) +
+ 1/(a*(n-q)*(p+1)*(b^2-4*a*c))*
+ Int[x^(-q)*((p*q+1)*(b^2-2*a*c)+(n-q)*(p+1)*(b^2-4*a*c)+b*c*(p*q+(n-q)*(2*p+3)+1)*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^(p+1),x] /;
+FreeQ[{a,b,c,n,q},x] && EqQ[r-(2*n-q)] && PosQ[n-q] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && RationalQ[p] && p<-1
+
+
+Int[(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ (a*x^q+b*x^n+c*x^(2*n-q))^p/(x^(p*q)*(a+b*x^(n-q)+c*x^(2*(n-q)))^p)*
+ Int[x^(p*q)*(a+b*x^(n-q)+c*x^(2*(n-q)))^p,x] /;
+FreeQ[{a,b,c,n,p,q},x] && EqQ[r-(2*n-q)] && PosQ[n-q] && Not[IntegerQ[p]]
+
+
+Int[(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ Defer[Int][(a*x^q+b*x^n+c*x^(2*n-q))^p,x] /;
+FreeQ[{a,b,c,n,p,q},x] && EqQ[r-(2*n-q)]
+
+
+Int[(a_.*u_^q_.+b_.*u_^n_.+c_.*u_^r_.)^p_,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a*x^q+b*x^n+c*x^(2*n-q))^p,x],x,u] /;
+FreeQ[{a,b,c,n,p,q},x] && EqQ[r-(2*n-q)] && LinearQ[u,x] && NeQ[u-x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.4.2 (d x)^m (a x^q+b x^n+c x^(2 n-q))^p*)
+
+
+Int[x_^m_.*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_.,x_Symbol] :=
+ Int[x^m*((a+b+c)*x^n)^p,x] /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[q-n] && EqQ[r-n]
+
+
+Int[x_^m_.*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_.,x_Symbol] :=
+ Int[x^(m+p*q)*(a+b*x^(n-q)+c*x^(2*(n-q)))^p,x] /;
+FreeQ[{a,b,c,m,n,q},x] && EqQ[r-(2*n-q)] && IntegerQ[p] && PosQ[n-q]
+
+
+Int[x_^m_./Sqrt[a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.],x_Symbol] :=
+ -2/(n-q)*Subst[Int[1/(4*a-x^2),x],x,x^(m+1)*(2*a+b*x^(n-q))/Sqrt[a*x^q+b*x^n+c*x^r]] /;
+FreeQ[{a,b,c,m,n,q,r},x] && EqQ[r,2*n-q] && PosQ[n-q] && NeQ[b^2-4*a*c,0] && EqQ[m,q/2-1]
+
+
+Int[x_^m_./Sqrt[a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.],x_Symbol] :=
+ x^(q/2)*Sqrt[a+b*x^(n-q)+c*x^(2*(n-q))]/Sqrt[a*x^q+b*x^n+c*x^(2*n-q)]*
+ Int[x^(m-q/2)/Sqrt[a+b*x^(n-q)+c*x^(2*(n-q))],x] /;
+FreeQ[{a,b,c,m,n,q},x] && EqQ[r-(2*n-q)] && PosQ[n-q] && (EqQ[m-1] && EqQ[n-3] && EqQ[q-2] ||
+ (EqQ[m+1/2] || EqQ[m-3/2] || EqQ[m-1/2] || EqQ[m-5/2]) && EqQ[n-3] && EqQ[q-1])
+
+
+Int[x_^m_./(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^(3/2),x_Symbol] :=
+ -2*x^((n-1)/2)*(b+2*c*x)/((b^2-4*a*c)*Sqrt[a*x^(n-1)+b*x^n+c*x^(n+1)]) /;
+FreeQ[{a,b,c,n},x] && EqQ[m-3*(n-1)/2] && EqQ[q-n+1] && EqQ[r-n-1] && NeQ[b^2-4*a*c]
+
+
+Int[x_^m_./(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^(3/2),x_Symbol] :=
+ x^((n-1)/2)*(4*a+2*b*x)/((b^2-4*a*c)*Sqrt[a*x^(n-1)+b*x^n+c*x^(n+1)]) /;
+FreeQ[{a,b,c,n},x] && EqQ[m-(3*n-1)/2] && EqQ[q-n+1] && EqQ[r-n-1] && NeQ[b^2-4*a*c]
+
+
+Int[x_^m_.*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ x^(m-n)*(a*x^(n-1)+b*x^n+c*x^(n+1))^(p+1)/(2*c*(p+1)) -
+ b/(2*c)*Int[x^(m-1)*(a*x^(n-1)+b*x^n+c*x^(n+1))^p,x] /;
+FreeQ[{a,b,c},x] && EqQ[r-(2*n-q)] && PosQ[n-q] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ RationalQ[m,p,q] && m+p*(n-1)-1==0
+
+
+Int[x_^m_.*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ x^(m-n+q+1)*(b+2*c*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^p/(2*c*(n-q)*(2*p+1)) -
+ p*(b^2-4*a*c)/(2*c*(2*p+1))*Int[x^(m+q)*(a*x^q+b*x^n+c*x^(2*n-q))^(p-1),x] /;
+FreeQ[{a,b,c},x] && EqQ[r-(2*n-q)] && PosQ[n-q] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ RationalQ[m,p,q] && p>0 && m+p*q+1==n-q
+
+
+Int[x_^m_.*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ x^(m-n+q+1)*(b*(n-q)*p+c*(m+p*q+(n-q)*(2*p-1)+1)*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^p/(c*(m+p*(2*n-q)+1)*(m+p*q+(n-q)*(2*p-1)+1)) +
+ (n-q)*p/(c*(m+p*(2*n-q)+1)*(m+p*q+(n-q)*(2*p-1)+1))*
+ Int[x^(m-(n-2*q))*
+ Simp[-a*b*(m+p*q-n+q+1)+(2*a*c*(m+p*q+(n-q)*(2*p-1)+1)-b^2*(m+p*q+(n-q)*(p-1)+1))*x^(n-q),x]*
+ (a*x^q+b*x^n+c*x^(2*n-q))^(p-1),x] /;
+FreeQ[{a,b,c},x] && EqQ[r-(2*n-q)] && PosQ[n-q] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ RationalQ[m,p,q] && p>0 && m+p*q+1>n-q && m+p*(2*n-q)+1!=0 && m+p*q+(n-q)*(2*p-1)+1!=0
+
+
+Int[x_^m_.*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ x^(m+1)*(a*x^q+b*x^n+c*x^(2*n-q))^p/(m+p*q+1) -
+ (n-q)*p/(m+p*q+1)*Int[x^(m+n)*(b+2*c*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^(p-1),x] /;
+FreeQ[{a,b,c},x] && EqQ[r-(2*n-q)] && PosQ[n-q] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ RationalQ[m,p,q] && p>0 && m+p*q+1<=-(n-q)+1 && NeQ[m+p*q+1]
+
+
+Int[x_^m_.*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ x^(m+1)*(a*x^q+b*x^n+c*x^(2*n-q))^p/(m+p*(2*n-q)+1) +
+ (n-q)*p/(m+p*(2*n-q)+1)*Int[x^(m+q)*(2*a+b*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^(p-1),x] /;
+FreeQ[{a,b,c},x] && EqQ[r-(2*n-q)] && PosQ[n-q] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ RationalQ[m,p,q] && p>0 && m+p*q+1>-(n-q) && m+p*(2*n-q)+1!=0
+
+
+Int[x_^m_.*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ -x^(m-q+1)*(b^2-2*a*c+b*c*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^(p+1)/(a*(n-q)*(p+1)*(b^2-4*a*c)) +
+ (2*a*c-b^2*(p+2))/(a*(p+1)*(b^2-4*a*c))*
+ Int[x^(m-q)*(a*x^q+b*x^n+c*x^(2*n-q))^(p+1),x] /;
+FreeQ[{a,b,c},x] && EqQ[r-(2*n-q)] && PosQ[n-q] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ RationalQ[m,p,q] && p<-1 && m+p*q+1==-(n-q)*(2*p+3)
+
+
+Int[x_^m_.*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ -x^(m-2*n+q+1)*(2*a+b*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^(p+1)/((n-q)*(p+1)*(b^2-4*a*c)) +
+ 1/((n-q)*(p+1)*(b^2-4*a*c))*
+ Int[x^(m-2*n+q)*(2*a*(m+p*q-2*(n-q)+1)+b*(m+p*q+(n-q)*(2*p+1)+1)*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^(p+1),x] /;
+FreeQ[{a,b,c},x] && EqQ[r-(2*n-q)] && PosQ[n-q] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ RationalQ[m,p,q] && p<-1 && m+p*q+1>2*(n-q)
+
+
+Int[x_^m_.*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ -x^(m-q+1)*(b^2-2*a*c+b*c*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^(p+1)/(a*(n-q)*(p+1)*(b^2-4*a*c)) +
+ 1/(a*(n-q)*(p+1)*(b^2-4*a*c))*
+ Int[x^(m-q)*
+ (b^2*(m+p*q+(n-q)*(p+1)+1)-2*a*c*(m+p*q+2*(n-q)*(p+1)+1)+b*c*(m+p*q+(n-q)*(2*p+3)+1)*x^(n-q))*
+ (a*x^q+b*x^n+c*x^(2*n-q))^(p+1),x] /;
+FreeQ[{a,b,c},x] && EqQ[r-(2*n-q)] && PosQ[n-q] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ RationalQ[m,p,q] && p<-1 && m+p*q+12*(n-q)
+
+
+Int[x_^m_.*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ x^(m-q+1)*(a*x^q+b*x^n+c*x^(2*n-q))^(p+1)/(a*(m+p*q+1)) -
+ 1/(a*(m+p*q+1))*
+ Int[x^(m+n-q)*(b*(m+p*q+(n-q)*(p+1)+1)+c*(m+p*q+2*(n-q)*(p+1)+1)*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^p,x] /;
+FreeQ[{a,b,c},x] && EqQ[r-(2*n-q)] && PosQ[n-q] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ RationalQ[m,p,q] && -1<=p<0 && m+p*q+1<0
+
+
+Int[x_^m_.*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ (a*x^q+b*x^n+c*x^(2*n-q))^p/(x^(p*q)*(a+b*x^(n-q)+c*x^(2*(n-q)))^p)*
+ Int[x^(m+p*q)*(a+b*x^(n-q)+c*x^(2*(n-q)))^p,x] /;
+FreeQ[{a,b,c,m,n,p,q},x] && EqQ[r-(2*n-q)] && Not[IntegerQ[p]] && PosQ[n-q]
+
+
+Int[u_^m_.*(a_.*u_^q_.+b_.*u_^n_.+c_.*u_^r_.)^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[x^m*(a*x^q+b*x^n+c*x^(2*n-q))^p,x],x,u] /;
+FreeQ[{a,b,c,m,n,p,q},x] && EqQ[r-(2*n-q)] && LinearQ[u,x] && NeQ[u-x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.4.3 (d+e x^(n-q)) (a x^q+b x^n+c x^(2 n-q))^p*)
+
+
+Int[(A_+B_.*x_^r_.)*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^j_.)^p_.,x_Symbol] :=
+ Int[x^(p*q)*(A+B*x^(n-q))*(a+b*x^(n-q)+c*x^(2*(n-q)))^p,x] /;
+FreeQ[{a,b,c,A,B,n,q},x] && EqQ[r-(n-q)] && EqQ[j-(2*n-q)] && IntegerQ[p] && PosQ[n-q]
+
+
+(* Int[(A_+B_.*x_^j_.)*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ Sqrt[a*x^q+b*x^n+c*x^(2*n-q)]/(x^(q/2)*Sqrt[a+b*x^(n-q)+c*x^(2*(n-q))])*
+ Int[x^(q*p)*(A+B*x^(n-q))*(a+b*x^(n-q)+c*x^(2*(n-q)))^p,x] /;
+FreeQ[{a,b,c,A,B,n,p,q},x] && EqQ[j-(n-q)] && EqQ[r-(2*n-q)] && PosQ[n-q] && PositiveIntegerQ[p+1/2] *)
+
+
+(* Int[(A_+B_.*x_^j_.)*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ x^(q/2)*Sqrt[a+b*x^(n-q)+c*x^(2*(n-q))]/Sqrt[a*x^q+b*x^n+c*x^(2*n-q)]*
+ Int[x^(q*p)*(A+B*x^(n-q))*(a+b*x^(n-q)+c*x^(2*(n-q)))^p,x] /;
+FreeQ[{a,b,c,A,B,n,p,q},x] && EqQ[j-(n-q)] && EqQ[r-(2*n-q)] && PosQ[n-q] && NegativeIntegerQ[p-1/2] *)
+
+
+(* Int[(A_+B_.*x_^j_.)*Sqrt[a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.],x_Symbol] :=
+ Sqrt[a*x^q+b*x^n+c*x^(2*n-q)]/(x^(q/2)*Sqrt[a+b*x^(n-q)+c*x^(2*(n-q))])*
+ Int[x^(q/2)*(A+B*x^(n-q))*Sqrt[a+b*x^(n-q)+c*x^(2*(n-q))],x] /;
+FreeQ[{a,b,c,A,B,n,q},x] && EqQ[j-(n-q)] && EqQ[r-(2*n-q)] && PosQ[n-q] *)
+
+
+Int[(A_+B_.*x_^j_.)/Sqrt[a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.],x_Symbol] :=
+ x^(q/2)*Sqrt[a+b*x^(n-q)+c*x^(2*(n-q))]/Sqrt[a*x^q+b*x^n+c*x^(2*n-q)]*
+ Int[(A+B*x^(n-q))/(x^(q/2)*Sqrt[a+b*x^(n-q)+c*x^(2*(n-q))]),x] /;
+FreeQ[{a,b,c,A,B,n,q},x] && EqQ[j-(n-q)] && EqQ[r-(2*n-q)] && PosQ[n-q] &&
+ EqQ[n-3] && EqQ[q-2]
+
+
+Int[(A_+B_.*x_^r_.)*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^j_.)^p_,x_Symbol] :=
+ x*(b*B*(n-q)*p+A*c*(p*q+(n-q)*(2*p+1)+1)+B*c*(p*(2*n-q)+1)*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^p/
+ (c*(p*(2*n-q)+1)*(p*q+(n-q)*(2*p+1)+1)) +
+ (n-q)*p/(c*(p*(2*n-q)+1)*(p*q+(n-q)*(2*p+1)+1))*
+ Int[x^q*
+ (2*a*A*c*(p*q+(n-q)*(2*p+1)+1)-a*b*B*(p*q+1)+(2*a*B*c*(p*(2*n-q)+1)+A*b*c*(p*q+(n-q)*(2*p+1)+1)-b^2*B*(p*q+(n-q)*p+1))*x^(n-q))*
+ (a*x^q+b*x^n+c*x^(2*n-q))^(p-1),x] /;
+FreeQ[{a,b,c,A,B,n,q},x] && EqQ[r-(n-q)] && EqQ[j-(2*n-q)] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && RationalQ[p] && p>0 &&
+ NeQ[p*(2*n-q)+1] && NeQ[p*q+(n-q)*(2*p+1)+1]
+
+
+Int[(A_+B_.*x_^r_.)*(a_.*x_^q_.+c_.*x_^j_.)^p_,x_Symbol] :=
+ With[{n=q+r},
+ x*(A*(p*q+(n-q)*(2*p+1)+1)+B*(p*(2*n-q)+1)*x^(n-q))*(a*x^q+c*x^(2*n-q))^p/((p*(2*n-q)+1)*(p*q+(n-q)*(2*p+1)+1)) +
+ (n-q)*p/((p*(2*n-q)+1)*(p*q+(n-q)*(2*p+1)+1))*
+ Int[x^q*(2*a*A*(p*q+(n-q)*(2*p+1)+1)+(2*a*B*(p*(2*n-q)+1))*x^(n-q))*(a*x^q+c*x^(2*n-q))^(p-1),x] /;
+ EqQ[j-(2*n-q)] && NeQ[p*(2*n-q)+1] && NeQ[p*q+(n-q)*(2*p+1)+1]] /;
+FreeQ[{a,c,A,B,q},x] && Not[IntegerQ[p]] && RationalQ[p] && p>0
+
+
+Int[(A_+B_.*x_^r_.)*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^j_.)^p_,x_Symbol] :=
+ -x^(-q+1)*(A*b^2-a*b*B-2*a*A*c+(A*b-2*a*B)*c*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^(p+1)/(a*(n-q)*(p+1)*(b^2-4*a*c)) +
+ 1/(a*(n-q)*(p+1)*(b^2-4*a*c))*
+ Int[x^(-q)*
+ ((A*b^2*(p*q+(n-q)*(p+1)+1)-a*b*B*(p*q+1)-2*a*A*c*(p*q+2*(n-q)*(p+1)+1)+(p*q+(n-q)*(2*p+3)+1)*(A*b-2*a*B)*c*x^(n-q))*
+ (a*x^q+b*x^n+c*x^(2*n-q))^(p+1)),x] /;
+FreeQ[{a,b,c,A,B,n,q},x] && EqQ[r-(n-q)] && EqQ[j-(2*n-q)] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && RationalQ[p] && p<-1
+
+
+Int[(A_+B_.*x_^r_.)*(a_.*x_^q_.+c_.*x_^j_.)^p_,x_Symbol] :=
+ With[{n=q+r},
+ -x^(-q+1)*(a*A*c+a*B*c*x^(n-q))*(a*x^q+c*x^(2*n-q))^(p+1)/(a*(n-q)*(p+1)*(2*a*c)) +
+ 1/(a*(n-q)*(p+1)*(2*a*c))*
+ Int[x^(-q)*((a*A*c*(p*q+2*(n-q)*(p+1)+1)+a*B*c*(p*q+(n-q)*(2*p+3)+1)*x^(n-q))*(a*x^q+c*x^(2*n-q))^(p+1)),x] /;
+ EqQ[j-(2*n-q)]] /;
+FreeQ[{a,c,A,B,q},x] && Not[IntegerQ[p]] && RationalQ[p] && p<-1
+
+
+(* Int[(A_+B_.*x_^q_)*(a_.*x_^j_.+b_.*x_^k_.+c_.*x_^n_.)^p_,x_Symbol] :=
+ (a*x^j+b*x^k+c*x^n)^p/(x^(j*p)*(a+b*x^(k-j)+c*x^(2*(k-j)))^p)*
+ Int[x^(j*p)*(A+B*x^(k-j))*(a+b*x^(k-j)+c*x^(2*(k-j)))^p,x] /;
+FreeQ[{a,b,c,A,B,j,k,p},x] && EqQ[q-(k-j)] && EqQ[n-(2*k-j)] && PosQ[k-j] && Not[IntegerQ[p]] *)
+
+
+Int[(A_+B_.*x_^j_.)*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_.,x_Symbol] :=
+ Defer[Int][(A+B*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^p,x] /;
+FreeQ[{a,b,c,A,B,n,p,q},x] && EqQ[j-(n-q)] && EqQ[r-(2*n-q)]
+
+
+Int[(A_+B_.*u_^j_.)*(a_.*u_^q_.+b_.*u_^n_.+c_.*u_^r_.)^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(A+B*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^p,x],x,u] /;
+FreeQ[{a,b,c,A,B,n,p,q},x] && EqQ[j-(n-q)] && EqQ[r-(2*n-q)] && LinearQ[u,x] && NeQ[u-x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.2.4.4 (f x)^m (d+e x^(n-q)) (a x^q+b x^n+c x^(2 n-q))^p*)
+
+
+Int[x_^m_.*(A_+B_.*x_^r_.)*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^j_.)^p_.,x_Symbol] :=
+ Int[x^(m+p*q)*(A+B*x^(n-q))*(a+b*x^(n-q)+c*x^(2*(n-q)))^p,x] /;
+FreeQ[{a,b,c,A,B,m,n,q},x] && EqQ[r-(n-q)] && EqQ[j-(2*n-q)] && IntegerQ[p] && PosQ[n-q]
+
+
+Int[x_^m_.*(A_+B_.*x_^r_.)*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^j_.)^p_.,x_Symbol] :=
+ x^(m+1)*(A*(m+p*q+(n-q)*(2*p+1)+1)+B*(m+p*q+1)*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^p/((m+p*q+1)*(m+p*q+(n-q)*(2*p+1)+1)) +
+ (n-q)*p/((m+p*q+1)*(m+p*q+(n-q)*(2*p+1)+1))*
+ Int[x^(n+m)*
+ Simp[2*a*B*(m+p*q+1)-A*b*(m+p*q+(n-q)*(2*p+1)+1)+(b*B*(m+p*q+1)-2*A*c*(m+p*q+(n-q)*(2*p+1)+1))*x^(n-q),x]*
+ (a*x^q+b*x^n+c*x^(2*n-q))^(p-1),x] /;
+FreeQ[{a,b,c,A,B},x] && EqQ[r-(n-q)] && EqQ[j-(2*n-q)] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ RationalQ[m,p,q] && p>0 && m+p*q<=-(n-q) && m+p*q+1!=0 && m+p*q+(n-q)*(2*p+1)+1!=0
+
+
+Int[x_^m_.*(A_+B_.*x_^r_.)*(a_.*x_^q_.+c_.*x_^j_.)^p_.,x_Symbol] :=
+ With[{n=q+r},
+ x^(m+1)*(A*(m+p*q+(n-q)*(2*p+1)+1)+B*(m+p*q+1)*x^(n-q))*(a*x^q+c*x^(2*n-q))^p/((m+p*q+1)*(m+p*q+(n-q)*(2*p+1)+1)) +
+ 2*(n-q)*p/((m+p*q+1)*(m+p*q+(n-q)*(2*p+1)+1))*
+ Int[x^(n+m)*Simp[a*B*(m+p*q+1)-A*c*(m+p*q+(n-q)*(2*p+1)+1)*x^(n-q),x]*(a*x^q+c*x^(2*n-q))^(p-1),x] /;
+ EqQ[j-(2*n-q)] && PositiveIntegerQ[n] && m+p*q<=-(n-q) && m+p*q+1!=0 && m+p*q+(n-q)*(2*p+1)+1!=0] /;
+FreeQ[{a,c,A,B},x] && Not[IntegerQ[p]] && RationalQ[m,p,q] && p>0
+
+
+Int[x_^m_.*(A_+B_.*x_^r_.)*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^j_.)^p_.,x_Symbol] :=
+ x^(m-n+1)*(A*b-2*a*B-(b*B-2*A*c)*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^(p+1)/((n-q)*(p+1)*(b^2-4*a*c)) +
+ 1/((n-q)*(p+1)*(b^2-4*a*c))*
+ Int[x^(m-n)*
+ Simp[(m+p*q-n+q+1)*(2*a*B-A*b)+(m+p*q+2*(n-q)*(p+1)+1)*(b*B-2*A*c)*x^(n-q),x]*
+ (a*x^q+b*x^n+c*x^(2*n-q))^(p+1),x] /;
+FreeQ[{a,b,c,A,B},x] && EqQ[r-(n-q)] && EqQ[j-(2*n-q)] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ RationalQ[m,p,q] && p<-1 && m+p*q>n-q-1
+
+
+Int[x_^m_.*(A_+B_.*x_^r_.)*(a_.*x_^q_.+c_.*x_^j_.)^p_.,x_Symbol] :=
+ With[{n=q+r},
+ x^(m-n+1)*(a*B-A*c*x^(n-q))*(a*x^q+c*x^(2*n-q))^(p+1)/(2*a*c*(n-q)*(p+1)) -
+ 1/(2*a*c*(n-q)*(p+1))*
+ Int[x^(m-n)*Simp[a*B*(m+p*q-n+q+1)-A*c*(m+p*q+(n-q)*2*(p+1)+1)*x^(n-q),x]*(a*x^q+c*x^(2*n-q))^(p+1),x] /;
+ EqQ[j-(2*n-q)] && PositiveIntegerQ[n] && m+p*q>n-q-1] /;
+FreeQ[{a,c,A,B},x] && Not[IntegerQ[p]] && RationalQ[m,p,q] && p<-1
+
+
+Int[x_^m_.*(A_+B_.*x_^r_.)*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^j_.)^p_.,x_Symbol] :=
+ x^(m+1)*(b*B*(n-q)*p+A*c*(m+p*q+(n-q)*(2*p+1)+1)+B*c*(m+p*q+2*(n-q)*p+1)*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^p/
+ (c*(m+p*(2*n-q)+1)*(m+p*q+(n-q)*(2*p+1)+1)) +
+ (n-q)*p/(c*(m+p*(2*n-q)+1)*(m+p*q+(n-q)*(2*p+1)+1))*
+ Int[x^(m+q)*
+ Simp[2*a*A*c*(m+p*q+(n-q)*(2*p+1)+1)-a*b*B*(m+p*q+1)+
+ (2*a*B*c*(m+p*q+2*(n-q)*p+1)+A*b*c*(m+p*q+(n-q)*(2*p+1)+1)-b^2*B*(m+p*q+(n-q)*p+1))*x^(n-q),x]*
+ (a*x^q+b*x^n+c*x^(2*n-q))^(p-1),x] /;
+FreeQ[{a,b,c,A,B},x] && EqQ[r-(n-q)] && EqQ[j-(2*n-q)] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ RationalQ[m,p,q] && p>0 && m+p*q>-(n-q)-1 && m+p*(2*n-q)+1!=0 && m+p*q+(n-q)*(2*p+1)+1!=0
+
+
+Int[x_^m_.*(A_+B_.*x_^r_.)*(a_.*x_^q_.+c_.*x_^j_.)^p_.,x_Symbol] :=
+ With[{n=q+r},
+ x^(m+1)*(A*(m+p*q+(n-q)*(2*p+1)+1)+B*(m+p*q+2*(n-q)*p+1)*x^(n-q))*(a*x^q+c*x^(2*n-q))^p/
+ ((m+p*(2*n-q)+1)*(m+p*q+(n-q)*(2*p+1)+1)) +
+ (n-q)*p/((m+p*(2*n-q)+1)*(m+p*q+(n-q)*(2*p+1)+1))*
+ Int[x^(m+q)*Simp[2*a*A*(m+p*q+(n-q)*(2*p+1)+1)+2*a*B*(m+p*q+2*(n-q)*p+1)*x^(n-q),x]*(a*x^q+c*x^(2*n-q))^(p-1),x] /;
+ EqQ[j-(2*n-q)] && PositiveIntegerQ[n] && m+p*q>-(n-q) && m+p*q+2*(n-q)*p+1!=0 && m+p*q+(n-q)*(2*p+1)+1!=0 && m+1!=n] /;
+FreeQ[{a,c,A,B},x] && Not[IntegerQ[p]] && RationalQ[m,p,q] && p>0
+
+
+Int[x_^m_.*(A_+B_.*x_^r_.)*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^j_.)^p_.,x_Symbol] :=
+ -x^(m-q+1)*(A*b^2-a*b*B-2*a*A*c+(A*b-2*a*B)*c*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^(p+1)/(a*(n-q)*(p+1)*(b^2-4*a*c)) +
+ 1/(a*(n-q)*(p+1)*(b^2-4*a*c))*
+ Int[x^(m-q)*
+ Simp[A*b^2*(m+p*q+(n-q)*(p+1)+1)-a*b*B*(m+p*q+1)-2*a*A*c*(m+p*q+2*(n-q)*(p+1)+1)+
+ (m+p*q+(n-q)*(2*p+3)+1)*(A*b-2*a*B)*c*x^(n-q),x]*
+ (a*x^q+b*x^n+c*x^(2*n-q))^(p+1),x] /;
+FreeQ[{a,b,c,A,B},x] && EqQ[r-(n-q)] && EqQ[j-(2*n-q)] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ RationalQ[m,p,q] && p<-1 && m+p*q=n-q-1 && m+p*q+(n-q)*(2*p+1)+1!=0
+
+
+Int[x_^m_.*(A_+B_.*x_^r_.)*(a_.*x_^q_.+c_.*x_^j_.)^p_.,x_Symbol] :=
+ With[{n=q+r},
+ B*x^(m-n+1)*(a*x^q+c*x^(2*n-q))^(p+1)/(c*(m+p*q+(n-q)*(2*p+1)+1)) -
+ 1/(c*(m+p*q+(n-q)*(2*p+1)+1))*
+ Int[x^(m-n+q)*Simp[a*B*(m+p*q-n+q+1)-A*c*(m+p*q+(n-q)*(2*p+1)+1)*x^(n-q),x]*(a*x^q+c*x^(2*n-q))^p,x] /;
+ EqQ[j-(2*n-q)] && PositiveIntegerQ[n] && m+p*q>=n-q-1 && m+p*q+(n-q)*(2*p+1)+1!=0] /;
+FreeQ[{a,c,A,B},x] && Not[IntegerQ[p]] && RationalQ[m,p,q] && -1<=p<0
+
+
+Int[x_^m_.*(A_+B_.*x_^r_.)*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^j_.)^p_.,x_Symbol] :=
+ A*x^(m-q+1)*(a*x^q+b*x^n+c*x^(2*n-q))^(p+1)/(a*(m+p*q+1)) +
+ 1/(a*(m+p*q+1))*
+ Int[x^(m+n-q)*
+ Simp[a*B*(m+p*q+1)-A*b*(m+p*q+(n-q)*(p+1)+1)-A*c*(m+p*q+2*(n-q)*(p+1)+1)*x^(n-q),x]*
+ (a*x^q+b*x^n+c*x^(2*n-q))^p,x] /;
+FreeQ[{a,b,c,A,B},x] && EqQ[r-(n-q)] && EqQ[j-(2*n-q)] && Not[IntegerQ[p]] && NeQ[b^2-4*a*c] && PositiveIntegerQ[n] &&
+ RationalQ[m,p,q] && (-1<=p<0 || m+p*q+(n-q)*(2*p+1)+1==0) && m+p*q<=-(n-q) && m+p*q+1!=0
+
+
+Int[x_^m_.*(A_+B_.*x_^r_.)*(a_.*x_^q_.+c_.*x_^j_.)^p_.,x_Symbol] :=
+ With[{n=q+r},
+ A*x^(m-q+1)*(a*x^q+c*x^(2*n-q))^(p+1)/(a*(m+p*q+1)) +
+ 1/(a*(m+p*q+1))*
+ Int[x^(m+n-q)*Simp[a*B*(m+p*q+1)-A*c*(m+p*q+2*(n-q)*(p+1)+1)*x^(n-q),x]*(a*x^q+c*x^(2*n-q))^p,x] /;
+ EqQ[j-(2*n-q)] && PositiveIntegerQ[n] && (-1<=p<0 || m+p*q+(n-q)*(2*p+1)+1==0) && m+p*q<=-(n-q) && m+p*q+1!=0] /;
+FreeQ[{a,c,A,B},x] && Not[IntegerQ[p]] && RationalQ[m,p,q]
+
+
+Int[x_^m_.*(A_+B_.*x_^j_.)/Sqrt[a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.],x_Symbol] :=
+ x^(q/2)*Sqrt[a+b*x^(n-q)+c*x^(2*(n-q))]/Sqrt[a*x^q+b*x^n+c*x^(2*n-q)]*
+ Int[x^(m-q/2)*(A+B*x^(n-q))/Sqrt[a+b*x^(n-q)+c*x^(2*(n-q))],x] /;
+FreeQ[{a,b,c,A,B,m,n,q},x] && EqQ[j-(n-q)] && EqQ[r-(2*n-q)] && PosQ[n-q] &&
+ (EqQ[m-1/2] || EqQ[m+1/2]) && EqQ[n-3] && EqQ[q-1]
+
+
+(* Int[x_^m_.*(A_+B_.*x_^j_.)*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ Sqrt[a*x^q+b*x^n+c*x^(2*n-q)]/(x^(q/2)*Sqrt[a+b*x^(n-q)+c*x^(2*(n-q))])*
+ Int[x^(m+q*p)*(A+B*x^(n-q))*(a+b*x^(n-q)+c*x^(2*(n-q)))^p,x] /;
+FreeQ[{a,b,c,A,B,m,n,p,q},x] && EqQ[j-(n-q)] && EqQ[r-(2*n-q)] && PositiveIntegerQ[p+1/2] && PosQ[n-q] *)
+
+
+(* Int[x_^m_.*(A_+B_.*x_^j_.)*(a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.)^p_,x_Symbol] :=
+ x^(q/2)*Sqrt[a+b*x^(n-q)+c*x^(2*(n-q))]/Sqrt[a*x^q+b*x^n+c*x^(2*n-q)]*
+ Int[x^(m+q*p)*(A+B*x^(n-q))*(a+b*x^(n-q)+c*x^(2*(n-q)))^p,x] /;
+FreeQ[{a,b,c,A,B,m,n,p,q},x] && EqQ[j-(n-q)] && EqQ[r-(2*n-q)] && NegativeIntegerQ[p-1/2] && PosQ[n-q] *)
+
+
+Int[x_^m_.*(A_+B_.*x_^q_)*(a_.*x_^j_.+b_.*x_^k_.+c_.*x_^n_.)^p_,x_Symbol] :=
+ (a*x^j+b*x^k+c*x^n)^p/(x^(j*p)*(a+b*x^(k-j)+c*x^(2*(k-j)))^p)*
+ Int[x^(m+j*p)*(A+B*x^(k-j))*(a+b*x^(k-j)+c*x^(2*(k-j)))^p,x] /;
+FreeQ[{a,b,c,A,B,j,k,m,p},x] && EqQ[q-(k-j)] && EqQ[n-(2*k-j)] && Not[IntegerQ[p]] && PosQ[k-j]
+
+
+Int[u_^m_.*(A_+B_.*u_^j_.)*(a_.*u_^q_.+b_.*u_^n_.+c_.*u_^r_.)^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[x^m*(A+B*x^(n-q))*(a*x^q+b*x^n+c*x^(2*n-q))^p,x],x,u] /;
+FreeQ[{a,b,c,A,B,m,n,p,q},x] && EqQ[j-(n-q)] && EqQ[r-(2*n-q)] && LinearQ[u,x] && NeQ[u-x]
+
+
+
+`)
+
+func resourcesRubi124ImproperTrinomialProductsMBytes() ([]byte, error) {
+ return _resourcesRubi124ImproperTrinomialProductsM, nil
+}
+
+func resourcesRubi124ImproperTrinomialProductsM() (*asset, error) {
+ bytes, err := resourcesRubi124ImproperTrinomialProductsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/1.2.4 Improper trinomial products.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi13MiscellaneousAlgebraicFunctionsM = []byte(`(* ::Package:: *)
+
+(* ::Section:: *)
+(*1.3 Miscellaneous Algebraic Function Rules*)
+
+
+(* ::Subsection::Closed:: *)
+(*1.3.1 u (a+b x+c x^2+d x^3)^p*)
+
+
+Int[(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
+ 1/(3^(3*p)*a^(2*p))*Int[(3*a-b*x)^p*(3*a+2*b*x)^(2*p),x] /;
+FreeQ[{a,b,d},x] && IntegerQ[p] && EqQ[4*b^3+27*a^2*d]
+
+
+Int[(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
+ Int[ExpandToSum[(a+b*x+d*x^3)^p,x],x] /;
+FreeQ[{a,b,d},x] && PositiveIntegerQ[p] && NeQ[4*b^3+27*a^2*d]
+
+
+Int[(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
+ With[{u=Factor[a+b*x+d*x^3]},
+ FreeFactors[u,x]^p*Int[DistributeDegree[NonfreeFactors[u,x],p],x] /;
+ ProductQ[NonfreeFactors[u,x]]] /;
+FreeQ[{a,b,d},x] && NegativeIntegerQ[p] && NeQ[4*b^3+27*a^2*d]
+
+
+Int[(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[-27*a*d^2+3*Sqrt[3]*d*Sqrt[4*b^3*d+27*a^2*d^2],3]},
+ 1/(3^(3*p)*d^(2*p))*
+ Int[((6*b*d-2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ ((6*(1+I*Sqrt[3])*b*d-2^(1/3)*(1-I*Sqrt[3])*r^2)/(2*2^(2/3)*r)-3*d*x)^p*
+ ((6*(1-I*Sqrt[3])*b*d-2^(1/3)*(1+I*Sqrt[3])*r^2)/(2*2^(2/3)*r)-3*d*x)^p,x]] /;
+FreeQ[{a,b,d},x] && NegativeIntegerQ[p] && NeQ[4*b^3+27*a^2*d]
+
+
+Int[(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
+ (a+b*x+d*x^3)^p/((3*a-b*x)^p*(3*a+2*b*x)^(2*p))*Int[(3*a-b*x)^p*(3*a+2*b*x)^(2*p),x] /;
+FreeQ[{a,b,d,p},x] && Not[IntegerQ[p]] && EqQ[4*b^3+27*a^2*d]
+
+
+Int[(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
+ With[{u=NonfreeFactors[Factor[a+b*x+d*x^3],x]},
+ (a+b*x+d*x^3)^p/DistributeDegree[u,p]*Int[DistributeDegree[u,p],x] /;
+ ProductQ[u]] /;
+FreeQ[{a,b,d,p},x] && Not[IntegerQ[p]] && NeQ[4*b^3+27*a^2*d]
+
+
+Int[(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[-27*a*d^2+3*Sqrt[3]*d*Sqrt[4*b^3*d+27*a^2*d^2],3]},
+ (a+b*x+d*x^3)^p/(((6*b*d-2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ ((6*(1+I*Sqrt[3])*b*d-2^(1/3)*(1-I*Sqrt[3])*r^2)/(2*2^(2/3)*r)-3*d*x)^p*
+ ((6*(1-I*Sqrt[3])*b*d-2^(1/3)*(1+I*Sqrt[3])*r^2)/(2*2^(2/3)*r)-3*d*x)^p)*
+ Int[((6*b*d-2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ ((6*(1+I*Sqrt[3])*b*d-2^(1/3)*(1-I*Sqrt[3])*r^2)/(2*2^(2/3)*r)-3*d*x)^p*
+ ((6*(1-I*Sqrt[3])*b*d-2^(1/3)*(1+I*Sqrt[3])*r^2)/(2*2^(2/3)*r)-3*d*x)^p,x]] /;
+FreeQ[{a,b,d,p},x] && Not[IntegerQ[p]] && NeQ[4*b^3+27*a^2*d]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
+ 1/(3^(3*p)*a^(2*p))*Int[(e+f*x)^m*(3*a-b*x)^p*(3*a+2*b*x)^(2*p),x] /;
+FreeQ[{a,b,d,e,f,m},x] && IntegerQ[p] && EqQ[4*b^3+27*a^2*d]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(e+f*x)^m*(a+b*x+d*x^3)^p,x],x] /;
+FreeQ[{a,b,d,e,f,m},x] && PositiveIntegerQ[p] && NeQ[4*b^3+27*a^2*d]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
+ With[{u=Factor[a+b*x+d*x^3]},
+ FreeFactors[u,x]^p*Int[(e+f*x)^m*DistributeDegree[NonfreeFactors[u,x],p],x] /;
+ ProductQ[NonfreeFactors[u,x]]] /;
+FreeQ[{a,b,d,e,f,m},x] && NegativeIntegerQ[p] && NeQ[4*b^3+27*a^2*d]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[-27*a*d^2+3*Sqrt[3]*d*Sqrt[4*b^3*d+27*a^2*d^2],3]},
+ 1/(3^(3*p)*d^(2*p))*
+ Int[(e+f*x)^m*((6*b*d-2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ ((6*(1+I*Sqrt[3])*b*d-2^(1/3)*(1-I*Sqrt[3])*r^2)/(2*2^(2/3)*r)-3*d*x)^p*
+ ((6*(1-I*Sqrt[3])*b*d-2^(1/3)*(1+I*Sqrt[3])*r^2)/(2*2^(2/3)*r)-3*d*x)^p,x]] /;
+FreeQ[{a,b,d,e,f,m},x] && NegativeIntegerQ[p] && NeQ[4*b^3+27*a^2*d]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
+ (a+b*x+d*x^3)^p/((3*a-b*x)^p*(3*a+2*b*x)^(2*p))*Int[(e+f*x)^m*(3*a-b*x)^p*(3*a+2*b*x)^(2*p),x] /;
+FreeQ[{a,b,d,e,f,m,p},x] && Not[IntegerQ[p]] && EqQ[4*b^3+27*a^2*d]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
+ With[{u=NonfreeFactors[Factor[a+b*x+d*x^3],x]},
+ (a+b*x+d*x^3)^p/DistributeDegree[u,p]*Int[(e+f*x)^m*DistributeDegree[u,p],x] /;
+ ProductQ[u]] /;
+FreeQ[{a,b,d,e,f,m,p},x] && Not[IntegerQ[p]] && NeQ[4*b^3+27*a^2*d]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[-27*a*d^2+3*Sqrt[3]*d*Sqrt[4*b^3*d+27*a^2*d^2],3]},
+ (a+b*x+d*x^3)^p/(((6*b*d-2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ ((6*(1+I*Sqrt[3])*b*d-2^(1/3)*(1-I*Sqrt[3])*r^2)/(2*2^(2/3)*r)-3*d*x)^p*
+ ((6*(1-I*Sqrt[3])*b*d-2^(1/3)*(1+I*Sqrt[3])*r^2)/(2*2^(2/3)*r)-3*d*x)^p)*
+ Int[(e+f*x)^m*((6*b*d-2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ ((6*(1+I*Sqrt[3])*b*d-2^(1/3)*(1-I*Sqrt[3])*r^2)/(2*2^(2/3)*r)-3*d*x)^p*
+ ((6*(1-I*Sqrt[3])*b*d-2^(1/3)*(1+I*Sqrt[3])*r^2)/(2*2^(2/3)*r)-3*d*x)^p,x]] /;
+FreeQ[{a,b,d,e,f,m,p},x] && Not[IntegerQ[p]] && NeQ[4*b^3+27*a^2*d]
+
+
+Int[(a_.+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ -1/(3^(3*p)*d^(2*p))*Int[(c-3*d*x)^p*(2*c+3*d*x)^(2*p),x] /;
+FreeQ[{a,c,d},x] && IntegerQ[p] && EqQ[4*c^3+27*a*d^2]
+
+
+Int[(a_.+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ Int[ExpandToSum[(a+c*x^2+d*x^3)^p,x],x] /;
+FreeQ[{a,c,d},x] && PositiveIntegerQ[p] && NeQ[4*c^3+27*a*d^2]
+
+
+Int[(a_.+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{u=Factor[a+c*x^2+d*x^3]},
+ FreeFactors[u,x]^p*Int[DistributeDegree[NonfreeFactors[u,x],p],x] /;
+ ProductQ[NonfreeFactors[u,x]]] /;
+FreeQ[{a,c,d},x] && NegativeIntegerQ[p] && NeQ[4*c^3+27*a*d^2]
+
+
+Int[(a_.+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[-2*c^3-27*a*d^2+3*Sqrt[3]*d*Sqrt[4*a*c^3+27*a^2*d^2],3]},
+ 1/(3^(3*p)*d^(2*p))*
+ Int[(c-(2*c^2+2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1+I*Sqrt[3])*c^2+2^(1/3)*(1-I*Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1-I*Sqrt[3])*c^2+2^(1/3)*(1+I*Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p,x]] /;
+FreeQ[{a,c,d},x] && NegativeIntegerQ[p] && NeQ[4*c^3+27*a*d^2]
+
+
+Int[(a_.+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ (a+c*x^2+d*x^3)^p/((c-3*d*x)^p*(2*c+3*d*x)^(2*p))*Int[(c-3*d*x)^p*(2*c+3*d*x)^(2*p),x] /;
+FreeQ[{a,c,d,p},x] && Not[IntegerQ[p]] && EqQ[4*c^3+27*a*d^2]
+
+
+Int[(a_.+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{u=NonfreeFactors[Factor[a+c*x^2+d*x^3],x]},
+ (a+c*x^2+d*x^3)^p/DistributeDegree[u,p]*Int[DistributeDegree[u,p],x] /;
+ ProductQ[u]] /;
+FreeQ[{a,c,d,p},x] && Not[IntegerQ[p]] && NeQ[4*c^3+27*a*d^2]
+
+
+Int[(a_.+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[-2*c^3-27*a*d^2+3*Sqrt[3]*d*Sqrt[4*a*c^3+27*a^2*d^2],3]},
+ (a+c*x^2+d*x^3)^p/((c-(2*c^2+2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1+I*Sqrt[3])*c^2+2^(1/3)*(1-I*Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1-I*Sqrt[3])*c^2+2^(1/3)*(1+I*Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p)*
+ Int[(c-(2*c^2+2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1+I*Sqrt[3])*c^2+2^(1/3)*(1-I*Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1-I*Sqrt[3])*c^2+2^(1/3)*(1+I*Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p,x]] /;
+FreeQ[{a,c,d,p},x] && Not[IntegerQ[p]] && NeQ[4*c^3+27*a*d^2]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ -1/(3^(3*p)*d^(2*p))*Int[(e+f*x)^m*(c-3*d*x)^p*(2*c+3*d*x)^(2*p),x] /;
+FreeQ[{a,c,d,e,f,m},x] && IntegerQ[p] && EqQ[4*c^3+27*a*d^2]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(e+f*x)^m*(a+c*x^2+d*x^3)^p,x],x] /;
+FreeQ[{a,c,d,e,f,m},x] && PositiveIntegerQ[p] && NeQ[4*c^3+27*a*d^2]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{u=Factor[a+c*x^2+d*x^3]},
+ FreeFactors[u,x]^p*Int[(e+f*x)^m*DistributeDegree[NonfreeFactors[u,x],p],x] /;
+ ProductQ[NonfreeFactors[u,x]]] /;
+FreeQ[{a,c,d,e,f,m},x] && NegativeIntegerQ[p] && NeQ[4*c^3+27*a*d^2]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[-2*c^3-27*a*d^2+3*Sqrt[3]*d*Sqrt[4*a*c^3+27*a^2*d^2],3]},
+ 1/(3^(3*p)*d^(2*p))*
+ Int[(e+f*x)^m*(c-(2*c^2+2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1+I*Sqrt[3])*c^2+2^(1/3)*(1-I*Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1-I*Sqrt[3])*c^2+2^(1/3)*(1+I*Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p,x]] /;
+FreeQ[{a,c,d,e,f,m},x] && NegativeIntegerQ[p] && NeQ[4*c^3+27*a*d^2]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ (a+c*x^2+d*x^3)^p/((c-3*d*x)^p*(2*c+3*d*x)^(2*p))*Int[(e+f*x)^m*(c-3*d*x)^p*(2*c+3*d*x)^(2*p),x] /;
+FreeQ[{a,c,d,e,f,m,p},x] && Not[IntegerQ[p]] && EqQ[4*c^3+27*a*d^2]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{u=NonfreeFactors[Factor[a+c*x^2+d*x^3],x]},
+ (a+c*x^2+d*x^3)^p/DistributeDegree[u,p]*Int[(e+f*x)^m*DistributeDegree[u,p],x] /;
+ ProductQ[u]] /;
+FreeQ[{a,c,d,e,f,m,p},x] && Not[IntegerQ[p]] && NeQ[4*c^3+27*a*d^2]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[-2*c^3-27*a*d^2+3*Sqrt[3]*d*Sqrt[4*a*c^3+27*a^2*d^2],3]},
+ (a+c*x^2+d*x^3)^p/((c-(2*c^2+2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1+I*Sqrt[3])*c^2+2^(1/3)*(1-I*Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1-I*Sqrt[3])*c^2+2^(1/3)*(1+I*Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p)*
+ Int[(e+f*x)^m*(c-(2*c^2+2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1+I*Sqrt[3])*c^2+2^(1/3)*(1-I*Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1-I*Sqrt[3])*c^2+2^(1/3)*(1+I*Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p,x]] /;
+FreeQ[{a,c,d,e,f,m,p},x] && Not[IntegerQ[p]] && NeQ[4*c^3+27*a*d^2]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ 1/(3^p*b^p*c^p)*Int[(b+c*x)^(3*p),x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && EqQ[c^2-3*b*d] && EqQ[b^2-3*a*c]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ 1/(3^p*b^p*c^p)*Subst[Int[(3*a*b*c-b^3+c^3*x^3)^p,x],x,x+c/(3*d)] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && EqQ[c^2-3*b*d] && NeQ[b^2-3*a*c]
+
+
+(* Int[(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[b^3-3*a*b*c,3]},
+ 1/(3^p*b^p*c^p)*Int[(b-r+c*x)^p*(b+(1-I*Sqrt[3])*r/2+c*x)^p*(b+(1+I*Sqrt[3])*r/2+c*x)^p,x]] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && EqQ[c^2-3*b*d] && NeQ[b^2-3*a*c] *)
+
+
+Int[(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[c^3-3*b*c*d,3]},
+ 1/(3^p*b^p*c^p)*Int[(b+(c-r)*x)^p*(b+(c+(1-I*Sqrt[3])*r/2)*x)^p*(b+(c+(1+I*Sqrt[3])*r/2)*x)^p,x]] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && NeQ[c^2-3*b*d] && EqQ[b^2-3*a*c]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ Int[ExpandToSum[(a+b*x+c*x^2+d*x^3)^p,x],x] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[p] && NeQ[c^2-3*b*d] && NeQ[b^2-3*a*c]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{u=Factor[a+b*x+c*x^2+d*x^3]},
+ FreeFactors[u,x]^p*Int[DistributeDegree[NonfreeFactors[u,x],p],x] /;
+ ProductQ[NonfreeFactors[u,x]]] /;
+FreeQ[{a,b,c,d},x] && NegativeIntegerQ[p] && NeQ[c^2-3*b*d] && NeQ[b^2-3*a*c]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ 1/(3^(3*p)*d^(2*p))*Subst[Int[(2*c^3-9*b*c*d+27*a*d^2-9*d*(c^2-3*b*d)*x+27*d^3*x^3)^p,x],x,x+c/(3*d)] /;
+FreeQ[{a,b,c,d},x] && NegativeIntegerQ[p] && NeQ[c^2-3*b*d] && NeQ[b^2-3*a*c]
+
+
+(* Int[(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[-2*c^3+9*b*c*d-27*a*d^2+3*Sqrt[3]*d*Sqrt[-b^2*c^2+4*a*c^3+4*b^3*d-18*a*b*c*d+27*a^2*d^2],3]},
+ 1/(3^(3*p)*d^(2*p))*
+ Int[(c-(2*c^2-6*b*d+2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1+I*Sqrt[3])*c^2-6*(1+I*Sqrt[3])*b*d-I*2^(1/3)*(I+Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1-I*Sqrt[3])*c^2-6*(1-I*Sqrt[3])*b*d+I*2^(1/3)*(-I+Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p,x]] /;
+FreeQ[{a,b,c,d},x] && NegativeIntegerQ[p] && NeQ[c^2-3*b*d] && NeQ[b^2-3*a*c] *)
+
+
+Int[(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ (a+b*x+c*x^2+d*x^3)^p/(b+c*x)^(3*p)*Int[(b+c*x)^(3*p),x] /;
+FreeQ[{a,b,c,d,p},x] && Not[IntegerQ[p]] && EqQ[c^2-3*b*d] && EqQ[b^2-3*a*c]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[b^3-3*a*b*c,3]},
+ (a+b*x+c*x^2+d*x^3)^p/((b-r+c*x)^p*(b+(1-I*Sqrt[3])*r/2+c*x)^p*(b+(1+I*Sqrt[3])*r/2+c*x)^p)*
+ Int[(b-r+c*x)^p*(b+(1-I*Sqrt[3])*r/2+c*x)^p*(b+(1+I*Sqrt[3])*r/2+c*x)^p,x]] /;
+FreeQ[{a,b,c,d,p},x] && Not[IntegerQ[p]] && EqQ[c^2-3*b*d] && NeQ[b^2-3*a*c]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[c^3-3*b*c*d,3]},
+ (a+b*x+c*x^2+d*x^3)^p/((b+(c-r)*x)^p*(b+(c+(1-I*Sqrt[3])*r/2)*x)^p*(b+(c+(1+I*Sqrt[3])*r/2)*x)^p)*
+ Int[(b+(c-r)*x)^p*(b+(c+(1-I*Sqrt[3])*r/2)*x)^p*(b+(c+(1+I*Sqrt[3])*r/2)*x)^p,x]] /;
+FreeQ[{a,b,c,d,p},x] && Not[IntegerQ[p]] && NeQ[c^2-3*b*d] && EqQ[b^2-3*a*c]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{u=NonfreeFactors[Factor[a+b*x+c*x^2+d*x^3],x]},
+ (a+b*x+c*x^2+d*x^3)^p/DistributeDegree[u,p]*Int[DistributeDegree[u,p],x] /;
+ ProductQ[u]] /;
+FreeQ[{a,b,c,d,p},x] && Not[IntegerQ[p]] && NeQ[c^2-3*b*d] && NeQ[b^2-3*a*c]
+
+
+(* Int[(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ 1/(3^(3*p)*d^(2*p))*Subst[Int[(2*c^3-9*b*c*d+27*a*d^2-9*d*(c^2-3*b*d)*x+27*d^3*x^3)^p,x],x,x+c/(3*d)] /;
+FreeQ[{a,b,c,d,p},x] && Not[IntegerQ[p]] *)
+
+
+Int[(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[-2*c^3+9*b*c*d-27*a*d^2+3*Sqrt[3]*d*Sqrt[-b^2*c^2+4*a*c^3+4*b^3*d-18*a*b*c*d+27*a^2*d^2],3]},
+ (a+b*x+c*x^2+d*x^3)^p/
+ ((c-(2*c^2-6*b*d+2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1+I*Sqrt[3])*c^2-6*(1+I*Sqrt[3])*b*d-I*2^(1/3)*(I+Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1-I*Sqrt[3])*c^2-6*(1-I*Sqrt[3])*b*d+I*2^(1/3)*(-I+Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p)*
+ Int[(c-(2*c^2-6*b*d+2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1+I*Sqrt[3])*c^2-6*(1+I*Sqrt[3])*b*d-I*2^(1/3)*(I+Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1-I*Sqrt[3])*c^2-6*(1-I*Sqrt[3])*b*d+I*2^(1/3)*(-I+Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p,x]] /;
+FreeQ[{a,b,c,d,p},x] && Not[IntegerQ[p]] && NeQ[c^2-3*b*d] && NeQ[b^2-3*a*c]
+
+
+Int[u_^p_,x_Symbol] :=
+ Int[ExpandToSum[u,x]^p,x] /;
+FreeQ[p,x] && PolyQ[u,x,3] && Not[CubicMatchQ[u,x]]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ 1/(3^p*b^p*c^p)*Int[(e+f*x)^m*(b+c*x)^(3*p),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && IntegerQ[p] && EqQ[c^2-3*b*d] && EqQ[b^2-3*a*c]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[b^3-3*a*b*c,3]},
+ 1/(3^p*b^p*c^p)*Int[(e+f*x)^m*(b-r+c*x)^p*(b+(1-I*Sqrt[3])*r/2+c*x)^p*(b+(1+I*Sqrt[3])*r/2+c*x)^p,x]] /;
+FreeQ[{a,b,c,d,e,f,m},x] && IntegerQ[p] && EqQ[c^2-3*b*d] && NeQ[b^2-3*a*c]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[c^3-3*b*c*d,3]},
+ 1/(3^p*b^p*c^p)*Int[(e+f*x)^m*(b+(c-r)*x)^p*(b+(c+(1-I*Sqrt[3])*r/2)*x)^p*(b+(c+(1+I*Sqrt[3])*r/2)*x)^p,x]] /;
+FreeQ[{a,b,c,d,e,f,m},x] && IntegerQ[p] && NeQ[c^2-3*b*d] && EqQ[b^2-3*a*c]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ Int[ExpandIntegrand[(e+f*x)^m*(a+b*x+c*x^2+d*x^3)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && PositiveIntegerQ[p] && NeQ[c^2-3*b*d] && NeQ[b^2-3*a*c]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{u=Factor[a+b*x+c*x^2+d*x^3]},
+ FreeFactors[u,x]^p*Int[(e+f*x)^m*DistributeDegree[NonfreeFactors[u,x],p],x] /;
+ ProductQ[NonfreeFactors[u,x]]] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NegativeIntegerQ[p] && NeQ[c^2-3*b*d] && NeQ[b^2-3*a*c]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ 1/(3^(3*p)*d^(2*p))*Subst[Int[(2*c^3-9*b*c*d+27*a*d^2-9*d*(c^2-3*b*d)*x+27*d^3*x^3)^p,x],x,x+c/(3*d)] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NegativeIntegerQ[p] && NeQ[c^2-3*b*d] && NeQ[b^2-3*a*c]
+
+
+(* Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[-2*c^3+9*b*c*d-27*a*d^2+3*Sqrt[3]*d*Sqrt[-b^2*c^2+4*a*c^3+4*b^3*d-18*a*b*c*d+27*a^2*d^2],3]},
+ 1/(3^(3*p)*d^(2*p))*
+ Int[(e+f*x)^m*(c-(2*c^2-6*b*d+2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1+I*Sqrt[3])*c^2-6*(1+I*Sqrt[3])*b*d-I*2^(1/3)*(I+Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1-I*Sqrt[3])*c^2-6*(1-I*Sqrt[3])*b*d+I*2^(1/3)*(-I+Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p,x]] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NegativeIntegerQ[p] && NeQ[c^2-3*b*d] && NeQ[b^2-3*a*c] *)
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ (a+b*x+c*x^2+d*x^3)^p/(b+c*x)^(3*p)*Int[(e+f*x)^m*(b+c*x)^(3*p),x] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && Not[IntegerQ[p]] && EqQ[c^2-3*b*d] && EqQ[b^2-3*a*c]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[b^3-3*a*b*c,3]},
+ (a+b*x+c*x^2+d*x^3)^p/((b-r+c*x)^p*(b+(1-I*Sqrt[3])*r/2+c*x)^p*(b+(1+I*Sqrt[3])*r/2+c*x)^p)*
+ Int[(e+f*x)^m*(b-r+c*x)^p*(b+(1-I*Sqrt[3])*r/2+c*x)^p*(b+(1+I*Sqrt[3])*r/2+c*x)^p,x]] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && Not[IntegerQ[p]] && EqQ[c^2-3*b*d] && NeQ[b^2-3*a*c]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[c^3-3*b*c*d,3]},
+ (a+b*x+c*x^2+d*x^3)^p/((b+(c-r)*x)^p*(b+(c+(1-I*Sqrt[3])*r/2)*x)^p*(b+(c+(1+I*Sqrt[3])*r/2)*x)^p)*
+ Int[(e+f*x)^m*(b+(c-r)*x)^p*(b+(c+(1-I*Sqrt[3])*r/2)*x)^p*(b+(c+(1+I*Sqrt[3])*r/2)*x)^p,x]] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && Not[IntegerQ[p]] && NeQ[c^2-3*b*d] && EqQ[b^2-3*a*c]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{u=NonfreeFactors[Factor[a+b*x+c*x^2+d*x^3],x]},
+ (a+b*x+c*x^2+d*x^3)^p/DistributeDegree[u,p]*Int[(e+f*x)^m*DistributeDegree[u,p],x] /;
+ ProductQ[u]] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && Not[IntegerQ[p]] && NeQ[c^2-3*b*d] && NeQ[b^2-3*a*c]
+
+
+(* Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ 1/(3^(3*p)*d^(2*p))*Subst[Int[(2*c^3-9*b*c*d+27*a*d^2-9*d*(c^2-3*b*d)*x+27*d^3*x^3)^p,x],x,x+c/(3*d)] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && Not[IntegerQ[p]] *)
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
+ With[{r=Rt[-2*c^3+9*b*c*d-27*a*d^2+3*Sqrt[3]*d*Sqrt[-b^2*c^2+4*a*c^3+4*b^3*d-18*a*b*c*d+27*a^2*d^2],3]},
+ (a+b*x+c*x^2+d*x^3)^p/
+ ((c-(2*c^2-6*b*d+2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1+I*Sqrt[3])*c^2-6*(1+I*Sqrt[3])*b*d-I*2^(1/3)*(I+Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1-I*Sqrt[3])*c^2-6*(1-I*Sqrt[3])*b*d+I*2^(1/3)*(-I+Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p)*
+ Int[(e+f*x)^m*(c-(2*c^2-6*b*d+2^(1/3)*r^2)/(2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1+I*Sqrt[3])*c^2-6*(1+I*Sqrt[3])*b*d-I*2^(1/3)*(I+Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p*
+ (c+(2*(1-I*Sqrt[3])*c^2-6*(1-I*Sqrt[3])*b*d+I*2^(1/3)*(-I+Sqrt[3])*r^2)/(2*2^(2/3)*r)+3*d*x)^p,x]] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && Not[IntegerQ[p]] && NeQ[c^2-3*b*d] && NeQ[b^2-3*a*c]
+
+
+Int[u_^m_.*v_^p_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*ExpandToSum[v,x]^p,x] /;
+FreeQ[{m,p},x] && LinearQ[u,x] && PolyQ[v,x,3] && Not[LinearMatchQ[u,x] && CubicMatchQ[v,x]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.3.2 u (a+b x+c x^2+d x^3+e x^4)^p*)
+
+
+Int[(f_+g_.*x_^2)/((d_+e_.*x_+d_.*x_^2)*Sqrt[a_+b_.*x_+c_.*x_^2+b_.*x_^3+a_.*x_^4]),x_Symbol] :=
+ a*f/(d*Rt[a^2*(2*a-c),2])*ArcTan[(a*b+(4*a^2+b^2-2*a*c)*x+a*b*x^2)/(2*Rt[a^2*(2*a-c),2]*Sqrt[a+b*x+c*x^2+b*x^3+a*x^4])] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[b*d-a*e] && EqQ[f+g] && PosQ[a^2*(2*a-c)]
+
+
+Int[(f_+g_.*x_^2)/((d_+e_.*x_+d_.*x_^2)*Sqrt[a_+b_.*x_+c_.*x_^2+b_.*x_^3+a_.*x_^4]),x_Symbol] :=
+ -a*f/(d*Rt[-a^2*(2*a-c),2])*ArcTanh[(a*b+(4*a^2+b^2-2*a*c)*x+a*b*x^2)/(2*Rt[-a^2*(2*a-c),2]*Sqrt[a+b*x+c*x^2+b*x^3+a*x^4])] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[b*d-a*e] && EqQ[f+g] && NegQ[a^2*(2*a-c)]
+
+
+Int[(a_.+b_.*x_+c_.*x_^2+d_.*x_^3+e_.*x_^4)^p_,x_Symbol] :=
+ Subst[Int[SimplifyIntegrand[(a+d^4/(256*e^3)-b*d/(8*e)+(c-3*d^2/(8*e))*x^2+e*x^4)^p,x],x],x,d/(4*e)+x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[d^3-4*c*d*e+8*b*e^2] && p=!=2 && p=!=3
+
+
+Int[v_^p_,x_Symbol] :=
+ With[{a=Coefficient[v,x,0],b=Coefficient[v,x,1],c=Coefficient[v,x,2],d=Coefficient[v,x,3],e=Coefficient[v,x,4]},
+ Subst[Int[SimplifyIntegrand[(a+d^4/(256*e^3)-b*d/(8*e)+(c-3*d^2/(8*e))*x^2+e*x^4)^p,x],x],x,d/(4*e)+x] /;
+ EqQ[d^3-4*c*d*e+8*b*e^2] && NeQ[d]] /;
+FreeQ[p,x] && PolynomialQ[v,x] && Exponent[v,x]==4 && p=!=2 && p=!=3
+
+
+Int[u_*(a_.+b_.*x_+c_.*x_^2+d_.*x_^3+e_.*x_^4)^p_,x_Symbol] :=
+ Subst[Int[SimplifyIntegrand[ReplaceAll[u,x->-d/(4*e)+x]*(a+d^4/(256*e^3)-b*d/(8*e)+(c-3*d^2/(8*e))*x^2+e*x^4)^p,x],x],x,d/(4*e)+x] /;
+FreeQ[{a,b,c,d,e,p},x] && PolynomialQ[u,x] && EqQ[d^3-4*c*d*e+8*b*e^2] && Not[PositiveIntegerQ[p]]
+
+
+Int[u_*v_^p_,x_Symbol] :=
+ With[{a=Coefficient[v,x,0],b=Coefficient[v,x,1],c=Coefficient[v,x,2],d=Coefficient[v,x,3],e=Coefficient[v,x,4]},
+ Subst[Int[SimplifyIntegrand[ReplaceAll[u,x->-d/(4*e)+x]*(a+d^4/(256*e^3)-b*d/(8*e)+(c-3*d^2/(8*e))*x^2+e*x^4)^p,x],x],x,d/(4*e)+x] /;
+ EqQ[d^3-4*c*d*e+8*b*e^2] && NeQ[d]] /;
+FreeQ[p,x] && PolynomialQ[u,x] && PolynomialQ[v,x] && Exponent[v,x]==4 && Not[PositiveIntegerQ[p]]
+
+
+Int[(a_+b_.*x_+c_.*x_^2+d_.*x_^3+e_.*x_^4)^p_,x_Symbol] :=
+ -16*a^2*Subst[
+ Int[1/(b-4*a*x)^2*(a*(-3*b^4+16*a*b^2*c-64*a^2*b*d+256*a^3*e-32*a^2*(3*b^2-8*a*c)*x^2+256*a^4*x^4)/(b-4*a*x)^4)^p,x],x,b/(4*a)+1/x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[b^3-4*a*b*c+8*a^2*d] && IntegerQ[2*p]
+
+
+Int[v_^p_,x_Symbol] :=
+ With[{a=Coefficient[v,x,0],b=Coefficient[v,x,1],c=Coefficient[v,x,2],d=Coefficient[v,x,3],e=Coefficient[v,x,4]},
+ -16*a^2*Subst[
+ Int[1/(b-4*a*x)^2*(a*(-3*b^4+16*a*b^2*c-64*a^2*b*d+256*a^3*e-32*a^2*(3*b^2-8*a*c)*x^2+256*a^4*x^4)/(b-4*a*x)^4)^p,x],x,b/(4*a)+1/x] /;
+ NeQ[a] && NeQ[b] && EqQ[b^3-4*a*b*c+8*a^2*d]] /;
+FreeQ[p,x] && PolynomialQ[v,x] && Exponent[v,x]==4 && IntegerQ[2*p]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2+D_.*x_^3)/(a_+b_.*x_+c_.*x_^2+d_.*x_^3+e_.*x_^4),x_Symbol] :=
+ With[{q=Sqrt[8*a^2+b^2-4*a*c]},
+ 1/q*Int[(b*A-2*a*B+2*a*D+A*q+(2*a*A-2*a*C+b*D+D*q)*x)/(2*a+(b+q)*x+2*a*x^2),x] -
+ 1/q*Int[(b*A-2*a*B+2*a*D-A*q+(2*a*A-2*a*C+b*D-D*q)*x)/(2*a+(b-q)*x+2*a*x^2),x]] /;
+FreeQ[{a,b,c,A,B,C,D},x] && EqQ[d-b] && EqQ[e-a] && SumQ[Factor[a+b*x+c*x^2+b*x^3+a*x^4]]
+
+
+Int[(A_.+B_.*x_+D_.*x_^3)/(a_+b_.*x_+c_.*x_^2+d_.*x_^3+e_.*x_^4),x_Symbol] :=
+ With[{q=Sqrt[8*a^2+b^2-4*a*c]},
+ 1/q*Int[(b*A-2*a*B+2*a*D+A*q+(2*a*A+b*D+D*q)*x)/(2*a+(b+q)*x+2*a*x^2),x] -
+ 1/q*Int[(b*A-2*a*B+2*a*D-A*q+(2*a*A+b*D-D*q)*x)/(2*a+(b-q)*x+2*a*x^2),x]] /;
+FreeQ[{a,b,c,A,B,D},x] && EqQ[d-b] && EqQ[e-a] && SumQ[Factor[a+b*x+c*x^2+b*x^3+a*x^4]]
+
+
+Int[x_^m_.*(A_.+B_.*x_+C_.*x_^2+D_.*x_^3)/(a_+b_.*x_+c_.*x_^2+d_.*x_^3+e_.*x_^4),x_Symbol] :=
+ With[{q=Sqrt[8*a^2+b^2-4*a*c]},
+ 1/q*Int[x^m*(b*A-2*a*B+2*a*D+A*q+(2*a*A-2*a*C+b*D+D*q)*x)/(2*a+(b+q)*x+2*a*x^2),x] -
+ 1/q*Int[x^m*(b*A-2*a*B+2*a*D-A*q+(2*a*A-2*a*C+b*D-D*q)*x)/(2*a+(b-q)*x+2*a*x^2),x]] /;
+FreeQ[{a,b,c,A,B,C,D,m},x] && EqQ[d-b] && EqQ[e-a] && SumQ[Factor[a+b*x+c*x^2+b*x^3+a*x^4]]
+
+
+Int[x_^m_.*(A_.+B_.*x_+D_.*x_^3)/(a_+b_.*x_+c_.*x_^2+d_.*x_^3+e_.*x_^4),x_Symbol] :=
+ With[{q=Sqrt[8*a^2+b^2-4*a*c]},
+ 1/q*Int[x^m*(b*A-2*a*B+2*a*D+A*q+(2*a*A+b*D+D*q)*x)/(2*a+(b+q)*x+2*a*x^2),x] -
+ 1/q*Int[x^m*(b*A-2*a*B+2*a*D-A*q+(2*a*A+b*D-D*q)*x)/(2*a+(b-q)*x+2*a*x^2),x]] /;
+FreeQ[{a,b,c,A,B,D,m},x] && EqQ[d-b] && EqQ[e-a] && SumQ[Factor[a+b*x+c*x^2+b*x^3+a*x^4]]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/(a_+b_.*x_+c_.*x_^2+d_.*x_^3+e_.*x_^4),x_Symbol] :=
+ With[{q=Rt[C*(2*e*(B*d-4*A*e)+C*(d^2-4*c*e)),2]},
+ -2*C^2/q*ArcTanh[(C*d-B*e+2*C*e*x)/q] +
+ 2*C^2/q*ArcTanh[C*(4*B*c*C-3*B^2*d-4*A*C*d+12*A*B*e+4*C*(2*c*C-B*d+2*A*e)*x+4*C*(2*C*d-B*e)*x^2+8*C^2*e*x^3)/(q*(B^2-4*A*C))]] /;
+FreeQ[{a,b,c,d,e,A,B,C},x] && EqQ[B^2*d+2*C*(b*C+A*d)-2*B*(c*C+2*A*e)] &&
+ EqQ[2*B^2*c*C-8*a*C^3-B^3*d-4*A*B*C*d+4*A*(B^2+2*A*C)*e] && PosQ[C*(2*e*(B*d-4*A*e)+C*(d^2-4*c*e))]
+
+
+Int[(A_.+C_.*x_^2)/(a_+b_.*x_+c_.*x_^2+d_.*x_^3+e_.*x_^4),x_Symbol] :=
+ With[{q=Rt[C*(-8*A*e^2+C*(d^2-4*c*e)),2]},
+ -2*C^2/q*ArcTanh[C*(d+2*e*x)/q] + 2*C^2/q*ArcTanh[C*(A*d-2*(c*C+A*e)*x-2*C*d*x^2-2*C*e*x^3)/(A*q)]] /;
+FreeQ[{a,b,c,d,e,A,C},x] && EqQ[b*C+A*d] && EqQ[a*C^2-A^2*e] && PosQ[C*(-8*A*e^2+C*(d^2-4*c*e))]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)/(a_+b_.*x_+c_.*x_^2+d_.*x_^3+e_.*x_^4),x_Symbol] :=
+ With[{q=Rt[-C*(2*e*(B*d-4*A*e)+C*(d^2-4*c*e)),2]},
+ 2*C^2/q*ArcTan[(C*d-B*e+2*C*e*x)/q] -
+ 2*C^2/q*ArcTan[C*(4*B*c*C-3*B^2*d-4*A*C*d+12*A*B*e+4*C*(2*c*C-B*d+2*A*e)*x+4*C*(2*C*d-B*e)*x^2+8*C^2*e*x^3)/(q*(B^2-4*A*C))]] /;
+FreeQ[{a,b,c,d,e,A,B,C},x] && EqQ[B^2*d+2*C*(b*C+A*d)-2*B*(c*C+2*A*e)] &&
+ EqQ[2*B^2*c*C-8*a*C^3-B^3*d-4*A*B*C*d+4*A*(B^2+2*A*C)*e] && NegQ[C*(2*e*(B*d-4*A*e)+C*(d^2-4*c*e))]
+
+
+Int[(A_.+C_.*x_^2)/(a_+b_.*x_+c_.*x_^2+d_.*x_^3+e_.*x_^4),x_Symbol] :=
+ With[{q=Rt[-C*(-8*A*e^2+C*(d^2-4*c*e)),2]},
+ 2*C^2/q*ArcTan[(C*d+2*C*e*x)/q] - 2*C^2/q*ArcTan[-C*(-A*d+2*(c*C+A*e)*x+2*C*d*x^2+2*C*e*x^3)/(A*q)]] /;
+FreeQ[{a,b,c,d,e,A,C},x] && EqQ[b*C+A*d] && EqQ[a*C^2-A^2*e] && NegQ[C*(-8*A*e^2+C*(d^2-4*c*e))]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2+D_.*x_^3)/(a_+b_.*x_+c_.*x_^2+d_.*x_^3+e_.*x_^4),x_Symbol] :=
+ D/(4*e)*Log[a+b*x+c*x^2+d*x^3+e*x^4] -
+ 1/(4*e)*Int[(b*D-4*A*e+2*(c*D-2*B*e)*x+(3*d*D-4*C*e)*x^2)/(a+b*x+c*x^2+d*x^3+e*x^4),x] /;
+FreeQ[{a,b,c,d,e,A,B,C,D},x] &&
+ EqQ[4*d*(c*D-2*B*e)^2+8*(3*d*D-4*C*e)*(b*d*D-b*C*e-A*d*e)-4*(c*D-2*B*e)*(3*c*d*D-4*c*C*e+2*b*D*e-8*A*e^2)] &&
+ EqQ[8*d*(c*D-2*B*e)^3+8*d*(b*D-4*A*e)*(c*D-2*B*e)*(3*d*D-4*C*e)+8*a*(3*d*D-4*C*e)^3-8*c*(c*D-2*B*e)^2*(3*d*D-4*C*e)-
+ 4*e*(b*D-4*A*e)*(4*(c*D-2*B*e)^2+2*(b*D-4*A*e)*(3*d*D-4*C*e))]
+
+
+Int[(A_.+B_.*x_+D_.*x_^3)/(a_+b_.*x_+c_.*x_^2+d_.*x_^3+e_.*x_^4),x_Symbol] :=
+ D/(4*e)*Log[a+b*x+c*x^2+d*x^3+e*x^4] -
+ 1/(4*e)*Int[(b*D-4*A*e+2*(c*D-2*B*e)*x+(3*d*D)*x^2)/(a+b*x+c*x^2+d*x^3+e*x^4),x] /;
+FreeQ[{a,b,c,d,e,A,B,D},x] &&
+ EqQ[c^2*d*D^2+2*(3*d*D-4*C*e)*(b*d*D-b*C*e-A*d*e)-c*D*(3*c*d*D-4*c*C*e+2*b*D*e-8*A*e^2)] &&
+ EqQ[54*a*d^3*D^3+6*d^2*D*(b*D-4*A*e)*(c*D-2*B*e)-6*c*d*D*(c*D-2*B*e)^2+2*d*(c*D-2*B*e)^3-
+ e*(b*D-4*A*e)*(6*d*D*(b*D-4*A*e)+4*(c*D-2*B*e)^2)]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*1.3.3 Miscellaneous algebraic functions*)
+
+
+Int[u_/(e_.*Sqrt[a_.+b_.*x_]+f_.*Sqrt[c_.+d_.*x_]),x_Symbol] :=
+ c/(e*(b*c-a*d))*Int[(u*Sqrt[a+b*x])/x,x] - a/(f*(b*c-a*d))*Int[(u*Sqrt[c+d*x])/x,x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a*e^2-c*f^2]
+
+
+Int[u_/(e_.*Sqrt[a_.+b_.*x_]+f_.*Sqrt[c_.+d_.*x_]),x_Symbol] :=
+ -d/(e*(b*c-a*d))*Int[u*Sqrt[a+b*x],x] + b/(f*(b*c-a*d))*Int[u*Sqrt[c+d*x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[b*e^2-d*f^2]
+
+
+Int[u_/(e_.*Sqrt[a_.+b_.*x_]+f_.*Sqrt[c_.+d_.*x_]),x_Symbol] :=
+ e*Int[(u*Sqrt[a+b*x])/(a*e^2-c*f^2+(b*e^2-d*f^2)*x),x] -
+ f*Int[(u*Sqrt[c+d*x])/(a*e^2-c*f^2+(b*e^2-d*f^2)*x),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[a*e^2-c*f^2] && NeQ[b*e^2-d*f^2]
+
+
+Int[u_./(d_.*x_^n_.+c_.*Sqrt[a_.+b_.*x_^p_.]),x_Symbol] :=
+ -b/(a*d)*Int[u*x^n,x] + 1/(a*c)*Int[u*Sqrt[a+b*x^(2*n)],x] /;
+FreeQ[{a,b,c,d,n},x] && EqQ[p-2*n] && EqQ[b*c^2-d^2]
+
+
+Int[x_^m_./(d_.*x_^n_.+c_.*Sqrt[a_.+b_.*x_^p_.]),x_Symbol] :=
+ -d*Int[x^(m+n)/(a*c^2+(b*c^2-d^2)*x^(2*n)),x] +
+ c*Int[(x^m*Sqrt[a+b*x^(2*n)])/(a*c^2+(b*c^2-d^2)*x^(2*n)),x] /;
+FreeQ[{a,b,c,d,m,n},x] && EqQ[p-2*n] && NeQ[b*c^2-d^2]
+
+
+Int[1/((a_+b_.*x_^3)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ With[{r=Numerator[Rt[a/b,3]], s=Denominator[Rt[a/b,3]]},
+ r/(3*a)*Int[1/((r+s*x)*Sqrt[d+e*x+f*x^2]),x] +
+ r/(3*a)*Int[(2*r-s*x)/((r^2-r*s*x+s^2*x^2)*Sqrt[d+e*x+f*x^2]),x]] /;
+FreeQ[{a,b,d,e,f},x] && PosQ[a/b]
+
+
+Int[1/((a_+b_.*x_^3)*Sqrt[d_.+f_.*x_^2]),x_Symbol] :=
+ With[{r=Numerator[Rt[a/b,3]], s=Denominator[Rt[a/b,3]]},
+ r/(3*a)*Int[1/((r+s*x)*Sqrt[d+f*x^2]),x] +
+ r/(3*a)*Int[(2*r-s*x)/((r^2-r*s*x+s^2*x^2)*Sqrt[d+f*x^2]),x]] /;
+FreeQ[{a,b,d,f},x] && PosQ[a/b]
+
+
+Int[1/((a_+b_.*x_^3)*Sqrt[d_.+e_.*x_+f_.*x_^2]),x_Symbol] :=
+ With[{r=Numerator[Rt[-a/b,3]], s=Denominator[Rt[-a/b,3]]},
+ r/(3*a)*Int[1/((r-s*x)*Sqrt[d+e*x+f*x^2]),x] +
+ r/(3*a)*Int[(2*r+s*x)/((r^2+r*s*x+s^2*x^2)*Sqrt[d+e*x+f*x^2]),x]] /;
+FreeQ[{a,b,d,e,f},x] && NegQ[a/b]
+
+
+Int[1/((a_+b_.*x_^3)*Sqrt[d_.+f_.*x_^2]),x_Symbol] :=
+ With[{r=Numerator[Rt[-a/b,3]], s=Denominator[Rt[-a/b,3]]},
+ r/(3*a)*Int[1/((r-s*x)*Sqrt[d+f*x^2]),x] +
+ r/(3*a)*Int[(2*r+s*x)/((r^2+r*s*x+s^2*x^2)*Sqrt[d+f*x^2]),x]] /;
+FreeQ[{a,b,d,f},x] && NegQ[a/b]
+
+
+Int[1/((d_+e_.*x_)*Sqrt[a_+b_.*x_^2+c_.*x_^4]),x_Symbol] :=
+ d*Int[1/((d^2-e^2*x^2)*Sqrt[a+b*x^2+c*x^4]),x] - e*Int[x/((d^2-e^2*x^2)*Sqrt[a+b*x^2+c*x^4]),x] /;
+FreeQ[{a,b,c,d,e},x]
+
+
+Int[1/((d_+e_.*x_)*Sqrt[a_+c_.*x_^4]),x_Symbol] :=
+ d*Int[1/((d^2-e^2*x^2)*Sqrt[a+c*x^4]),x] - e*Int[x/((d^2-e^2*x^2)*Sqrt[a+c*x^4]),x] /;
+FreeQ[{a,c,d,e},x]
+
+
+Int[1/((d_+e_.*x_)^2*Sqrt[a_+b_.*x_^2+c_.*x_^4]),x_Symbol] :=
+ -e^3*Sqrt[a+b*x^2+c*x^4]/((c*d^4+b*d^2*e^2+a*e^4)*(d+e*x)) -
+ c/(c*d^4+b*d^2*e^2+a*e^4)*Int[(d^2-e^2*x^2)/Sqrt[a+b*x^2+c*x^4],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[c*d^4+b*d^2*e^2+a*e^4] && EqQ[2*c*d^3+b*d*e^2]
+
+
+Int[1/((d_+e_.*x_)^2*Sqrt[a_+b_.*x_^2+c_.*x_^4]),x_Symbol] :=
+ -e^3*Sqrt[a+b*x^2+c*x^4]/((c*d^4+b*d^2*e^2+a*e^4)*(d+e*x)) -
+ c/(c*d^4+b*d^2*e^2+a*e^4)*Int[(d^2-e^2*x^2)/Sqrt[a+b*x^2+c*x^4],x] +
+ (2*c*d^3+b*d*e^2)/(c*d^4+b*d^2*e^2+a*e^4)*Int[1/((d+e*x)*Sqrt[a+b*x^2+c*x^4]),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[c*d^4+b*d^2*e^2+a*e^4] && NeQ[2*c*d^3+b*d*e^2]
+
+
+Int[1/((d_+e_.*x_)^2*Sqrt[a_+c_.*x_^4]),x_Symbol] :=
+ -e^3*Sqrt[a+c*x^4]/((c*d^4+a*e^4)*(d+e*x)) -
+ c/(c*d^4+a*e^4)*Int[(d^2-e^2*x^2)/Sqrt[a+c*x^4],x] +
+ 2*c*d^3/(c*d^4+a*e^4)*Int[1/((d+e*x)*Sqrt[a+c*x^4]),x] /;
+FreeQ[{a,c,d,e},x] && NeQ[c*d^4+a*e^4]
+
+
+Int[(A_+B_.*x_^2)/((d_+e_.*x_^2)*Sqrt[a_+b_.*x_^2+c_.*x_^4]),x_Symbol] :=
+ A*Subst[Int[1/(d-(b*d-2*a*e)*x^2),x],x,x/Sqrt[a+b*x^2+c*x^4]] /;
+FreeQ[{a,b,c,d,e,A,B},x] && EqQ[B*d+A*e] && EqQ[c*d^2-a*e^2]
+
+
+Int[(A_+B_.*x_^2)/((d_+e_.*x_^2)*Sqrt[a_+c_.*x_^4]),x_Symbol] :=
+ A*Subst[Int[1/(d+2*a*e*x^2),x],x,x/Sqrt[a+c*x^4]] /;
+FreeQ[{a,c,d,e,A,B},x] && EqQ[B*d+A*e] && EqQ[c*d^2-a*e^2]
+
+
+Int[(A_+B_.*x_^4)/((d_+e_.*x_^2+f_.*x_^4)*Sqrt[a_+b_.*x_^2+c_.*x_^4]),x_Symbol] :=
+ A*Subst[Int[1/(d-(b*d-a*e)*x^2),x],x,x/Sqrt[a+b*x^2+c*x^4]] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && EqQ[c*d-a*f] && EqQ[a*B+A*c]
+
+
+Int[(A_+B_.*x_^4)/((d_+e_.*x_^2+f_.*x_^4)*Sqrt[a_+c_.*x_^4]),x_Symbol] :=
+ A*Subst[Int[1/(d+a*e*x^2),x],x,x/Sqrt[a+c*x^4]] /;
+FreeQ[{a,c,d,e,f,A,B},x] && EqQ[c*d-a*f] && EqQ[a*B+A*c]
+
+
+Int[(A_+B_.*x_^4)/((d_+f_.*x_^4)*Sqrt[a_+b_.*x_^2+c_.*x_^4]),x_Symbol] :=
+ A*Subst[Int[1/(d-b*d*x^2),x],x,x/Sqrt[a+b*x^2+c*x^4]] /;
+FreeQ[{a,b,c,d,f,A,B},x] && EqQ[c*d-a*f] && EqQ[a*B+A*c]
+
+
+Int[Sqrt[a_+b_.*x_^2+c_.*x_^4]/(d_+e_.*x_^4),x_Symbol] :=
+ a/d*Subst[Int[1/(1-2*b*x^2+(b^2-4*a*c)*x^4),x],x,x/Sqrt[a+b*x^2+c*x^4]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c*d+a*e] && PosQ[a*c]
+
+
+Int[Sqrt[a_+b_.*x_^2+c_.*x_^4]/(d_+e_.*x_^4),x_Symbol] :=
+ With[{q=Sqrt[b^2-4*a*c]},
+ -a*Sqrt[b+q]/(2*Sqrt[2]*Rt[-a*c,2]*d)*ArcTan[Sqrt[b+q]*x*(b-q+2*c*x^2)/(2*Sqrt[2]*Rt[-a*c,2]*Sqrt[a+b*x^2+c*x^4])] +
+ a*Sqrt[-b+q]/(2*Sqrt[2]*Rt[-a*c,2]*d)*ArcTanh[Sqrt[-b+q]*x*(b+q+2*c*x^2)/(2*Sqrt[2]*Rt[-a*c,2]*Sqrt[a+b*x^2+c*x^4])]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c*d+a*e] && NegQ[a*c]
+
+
+Int[1/((a_+b_.*x_)*Sqrt[c_+d_.*x_^2]*Sqrt[e_+f_.*x_^2]),x_Symbol] :=
+ a*Int[1/((a^2-b^2*x^2)*Sqrt[c+d*x^2]*Sqrt[e+f*x^2]),x] - b*Int[x/((a^2-b^2*x^2)*Sqrt[c+d*x^2]*Sqrt[e+f*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f},x]
+
+
+Int[(g_.+h_.*x_)*Sqrt[d_.+e_.*x_+f_.*Sqrt[a_.+b_.*x_+c_.*x_^2]],x_Symbol] :=
+ 2*(f*(5*b*c*g^2-2*b^2*g*h-3*a*c*g*h+2*a*b*h^2)+c*f*(10*c*g^2-b*g*h+a*h^2)*x+9*c^2*f*g*h*x^2+3*c^2*f*h^2*x^3-
+ (e*g-d*h)*(5*c*g-2*b*h+c*h*x)*Sqrt[a+b*x+c*x^2])/
+ (15*c^2*f*(g+h*x))*Sqrt[d+e*x+f*Sqrt[a+b*x+c*x^2]] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && EqQ[(e*g-d*h)^2-f^2*(c*g^2-b*g*h+a*h^2)] && EqQ[2*e^2*g-2*d*e*h-f^2*(2*c*g-b*h)]
+
+
+Int[(g_.+h_.*x_)^m_.*(u_+f_.*(j_.+k_.*Sqrt[v_]))^n_.,x_Symbol] :=
+ Int[(g+h*x)^m*(ExpandToSum[u+f*j,x]+f*k*Sqrt[ExpandToSum[v,x]])^n,x] /;
+FreeQ[{f,g,h,j,k,m,n},x] && LinearQ[u,x] && QuadraticQ[v,x] &&
+ Not[LinearMatchQ[u,x] && QuadraticMatchQ[v,x] && (EqQ[j] || EqQ[f-1])] &&
+ EqQ[(Coefficient[u,x,1]*g-h*(Coefficient[u,x,0]+f*j))^2-f^2*k^2*(Coefficient[v,x,2]*g^2-Coefficient[v,x,1]*g*h+Coefficient[v,x,0]*h^2)]
+
+
+(* Int[1/(d_.+e_.*x_+f_.*Sqrt[a_.+b_.*x_+c_.*x_^2]),x_Symbol] :=
+ Int[(d+e*x)/(d^2-a*f^2+(2*d*e-b*f^2)*x),x] -
+ f*Int[Sqrt[a+b*x+c*x^2]/(d^2-a*f^2+(2*d*e-b*f^2)*x),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[e^2-c*f^2] *)
+
+
+(* Int[1/(d_.+e_.*x_+f_.*Sqrt[a_.+c_.*x_^2]),x_Symbol] :=
+ Int[(d+e*x)/(d^2-a*f^2+2*d*e*x),x] -
+ f*Int[Sqrt[a+c*x^2]/(d^2-a*f^2+2*d*e*x),x] /;
+FreeQ[{a,c,d,e,f},x] && EqQ[e^2-c*f^2] *)
+
+
+Int[(g_.+h_.*(d_.+e_.*x_+f_.*Sqrt[a_.+b_.*x_+c_.*x_^2])^n_)^p_.,x_Symbol] :=
+ 2*Subst[Int[(g+h*x^n)^p*(d^2*e-(b*d-a*e)*f^2-(2*d*e-b*f^2)*x+e*x^2)/(-2*d*e+b*f^2+2*e*x)^2,x],x,d+e*x+f*Sqrt[a+b*x+c*x^2]] /;
+FreeQ[{a,b,c,d,e,f,g,h,n},x] && EqQ[e^2-c*f^2] && IntegerQ[p]
+
+
+Int[(g_.+h_.*(d_.+e_.*x_+f_.*Sqrt[a_+c_.*x_^2])^n_)^p_.,x_Symbol] :=
+ 1/(2*e)*Subst[Int[(g+h*x^n)^p*(d^2+a*f^2-2*d*x+x^2)/(d-x)^2,x],x,d+e*x+f*Sqrt[a+c*x^2]] /;
+FreeQ[{a,c,d,e,f,g,h,n},x] && EqQ[e^2-c*f^2] && IntegerQ[p]
+
+
+Int[(g_.+h_.*(u_+f_. Sqrt[v_])^n_)^p_.,x_Symbol] :=
+ Int[(g+h*(ExpandToSum[u,x]+f*Sqrt[ExpandToSum[v,x]])^n)^p,x] /;
+FreeQ[{f,g,h,n},x] && LinearQ[u,x] && QuadraticQ[v,x] && Not[LinearMatchQ[u,x] && QuadraticMatchQ[v,x]] &&
+ EqQ[Coefficient[u,x,1]^2-Coefficient[v,x,2]*f^2] && IntegerQ[p]
+
+
+Int[(g_.+h_.*x_)^m_.*(e_.*x_+f_.*Sqrt[a_.+c_.*x_^2])^n_.,x_Symbol] :=
+ 1/(2^(m+1)*e^(m+1))*Subst[Int[x^(n-m-2)*(a*f^2+x^2)*(-a*f^2*h+2*e*g*x+h*x^2)^m,x],x,e*x+f*Sqrt[a+c*x^2]] /;
+FreeQ[{a,c,e,f,g,h,n},x] && EqQ[e^2-c*f^2] && IntegerQ[m]
+
+
+Int[x_^p_.*(g_+i_.*x_^2)^m_.*(e_.*x_+f_.*Sqrt[a_+c_.*x_^2])^n_.,x_Symbol] :=
+ 1/(2^(2*m+p+1)*e^(p+1)*f^(2*m))*(i/c)^m*Subst[Int[x^(n-2*m-p-2)*(-a*f^2+x^2)^p*(a*f^2+x^2)^(2*m+1),x],x,e*x+f*Sqrt[a+c*x^2]] /;
+FreeQ[{a,c,e,f,g,i,n},x] && EqQ[e^2-c*f^2] && EqQ[c*g-a*i] && IntegersQ[p,2*m] && (IntegerQ[m] || PositiveQ[i/c])
+
+
+Int[(g_.+h_.*x_+i_.*x_^2)^m_.*(d_.+e_.*x_+f_.*Sqrt[a_.+b_.*x_+c_.*x_^2])^n_.,x_Symbol] :=
+ 2/f^(2*m)*(i/c)^m*
+ Subst[Int[x^n*(d^2*e-(b*d-a*e)*f^2-(2*d*e-b*f^2)*x+e*x^2)^(2*m+1)/(-2*d*e+b*f^2+2*e*x)^(2*(m+1)),x],x,d+e*x+f*Sqrt[a+b*x+c*x^2]] /;
+FreeQ[{a,b,c,d,e,f,g,h,i,n},x] && EqQ[e^2-c*f^2] && EqQ[c*g-a*i] && EqQ[c*h-b*i] && IntegerQ[2*m] && (IntegerQ[m] || PositiveQ[i/c])
+
+
+Int[(g_+i_.*x_^2)^m_.*(d_.+e_.*x_+f_.*Sqrt[a_+c_.*x_^2])^n_.,x_Symbol] :=
+ 1/(2^(2*m+1)*e*f^(2*m))*(i/c)^m*
+ Subst[Int[x^n*(d^2+a*f^2-2*d*x+x^2)^(2*m+1)/(-d+x)^(2*(m+1)),x],x,d+e*x+f*Sqrt[a+c*x^2]] /;
+FreeQ[{a,c,d,e,f,g,i,n},x] && EqQ[e^2-c*f^2] && EqQ[c*g-a*i] && IntegerQ[2*m] && (IntegerQ[m] || PositiveQ[i/c])
+
+
+Int[(g_.+h_.*x_+i_.*x_^2)^m_.*(d_.+e_.*x_+f_.*Sqrt[a_.+b_.*x_+c_.*x_^2])^n_.,x_Symbol] :=
+ (i/c)^(m-1/2)*Sqrt[g+h*x+i*x^2]/Sqrt[a+b*x+c*x^2]*Int[(a+b*x+c*x^2)^m*(d+e*x+f*Sqrt[a+b*x+c*x^2])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,i,n},x] && EqQ[e^2-c*f^2] && EqQ[c*g-a*i] && EqQ[c*h-b*i] && PositiveIntegerQ[m+1/2] && Not[PositiveQ[i/c]]
+
+
+Int[(g_+i_.*x_^2)^m_.*(d_.+e_.*x_+f_.*Sqrt[a_+c_.*x_^2])^n_.,x_Symbol] :=
+ (i/c)^(m-1/2)*Sqrt[g+i*x^2]/Sqrt[a+c*x^2]*Int[(a+c*x^2)^m*(d+e*x+f*Sqrt[a+c*x^2])^n,x] /;
+FreeQ[{a,c,d,e,f,g,i,n},x] && EqQ[e^2-c*f^2] && EqQ[c*g-a*i] && PositiveIntegerQ[m+1/2] && Not[PositiveQ[i/c]]
+
+
+Int[(g_.+h_.*x_+i_.*x_^2)^m_.*(d_.+e_.*x_+f_.*Sqrt[a_.+b_.*x_+c_.*x_^2])^n_.,x_Symbol] :=
+ (i/c)^(m+1/2)*Sqrt[a+b*x+c*x^2]/Sqrt[g+h*x+i*x^2]*Int[(a+b*x+c*x^2)^m*(d+e*x+f*Sqrt[a+b*x+c*x^2])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,i,n},x] && EqQ[e^2-c*f^2] && EqQ[c*g-a*i] && EqQ[c*h-b*i] && NegativeIntegerQ[m-1/2] && Not[PositiveQ[i/c]]
+
+
+Int[(g_+i_.*x_^2)^m_.*(d_.+e_.*x_+f_.*Sqrt[a_+c_.*x_^2])^n_.,x_Symbol] :=
+ (i/c)^(m+1/2)*Sqrt[a+c*x^2]/Sqrt[g+i*x^2]*Int[(a+c*x^2)^m*(d+e*x+f*Sqrt[a+c*x^2])^n,x] /;
+FreeQ[{a,c,d,e,f,g,i,n},x] && EqQ[e^2-c*f^2] && EqQ[c*g-a*i] && NegativeIntegerQ[m-1/2] && Not[PositiveQ[i/c]]
+
+
+Int[w_^m_.*(u_+f_.*(j_.+k_.*Sqrt[v_]))^n_.,x_Symbol] :=
+ Int[ExpandToSum[w,x]^m*(ExpandToSum[u+f*j,x]+f*k*Sqrt[ExpandToSum[v,x]])^n,x] /;
+FreeQ[{f,j,k,m,n},x] && LinearQ[u,x] && QuadraticQ[{v,w},x] &&
+ Not[LinearMatchQ[u,x] && QuadraticMatchQ[{v,w},x] && (EqQ[j] || EqQ[f-1])] &&
+ EqQ[Coefficient[u,x,1]^2-Coefficient[v,x,2]*f^2*k^2]
+
+
+Int[1/((a_+b_.*x_^n_.)*Sqrt[c_.*x_^2+d_.*(a_+b_.*x_^n_.)^p_.]),x_Symbol] :=
+ 1/a*Subst[Int[1/(1-c*x^2),x],x,x/Sqrt[c*x^2+d*(a+b*x^n)^(2/n)]] /;
+FreeQ[{a,b,c,d,n},x] && EqQ[p-2/n]
+
+
+Int[Sqrt[a_+b_.*Sqrt[c_+d_.*x_^2]],x_Symbol] :=
+ 2*b^2*d*x^3/(3*(a+b*Sqrt[c+d*x^2])^(3/2)) + 2*a*x/Sqrt[a+b*Sqrt[c+d*x^2]] /;
+FreeQ[{a,b,c,d},x] && EqQ[a^2-b^2*c]
+
+
+Int[Sqrt[a_.*x_^2+b_.*x_*Sqrt[c_+d_.*x_^2]]/(x_*Sqrt[c_+d_.*x_^2]),x_Symbol] :=
+ Sqrt[2]*b/a*Subst[Int[1/Sqrt[1+x^2/a],x],x,a*x+b*Sqrt[c+d*x^2]] /;
+FreeQ[{a,b,c,d},x] && EqQ[a^2-b^2*d] && EqQ[b^2*c+a]
+
+
+Int[Sqrt[e_.*x_*(a_.*x_+b_.*Sqrt[c_+d_.*x_^2])]/(x_*Sqrt[c_+d_.*x_^2]),x_Symbol] :=
+ Int[Sqrt[a*e*x^2+b*e*x*Sqrt[c+d*x^2]]/(x*Sqrt[c+d*x^2]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[a^2-b^2*d] && EqQ[b^2*c*e+a]
+
+
+Int[Sqrt[c_.*x_^2+d_.*Sqrt[a_+b_.*x_^4]]/Sqrt[a_+b_.*x_^4],x_Symbol] :=
+ d*Subst[Int[1/(1-2*c*x^2),x],x,x/Sqrt[c*x^2+d*Sqrt[a+b*x^4]]] /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2-b*d^2]
+
+
+Int[(c_.+d_.*x_)^m_.*Sqrt[b_.*x_^2+Sqrt[a_+e_.*x_^4]]/Sqrt[a_+e_.*x_^4],x_Symbol] :=
+ (1-I)/2*Int[(c+d*x)^m/Sqrt[Sqrt[a]-I*b*x^2],x] +
+ (1+I)/2*Int[(c+d*x)^m/Sqrt[Sqrt[a]+I*b*x^2],x] /;
+FreeQ[{a,b,c,d,m},x] && EqQ[e-b^2] && PositiveQ[a]
+
+
+Int[1/((c_+d_.*x_)*Sqrt[a_+b_.*x_^3]),x_Symbol] :=
+ With[{q=Rt[b/a,3]},
+ -q/((1+Sqrt[3])*d-c*q)*Int[1/Sqrt[a+b*x^3],x] +
+ d/((1+Sqrt[3])*d-c*q)*Int[(1+Sqrt[3]+q*x)/((c+d*x)*Sqrt[a+b*x^3]),x]] /;
+FreeQ[{a,b,c,d},x] && PosQ[a] && PosQ[b]
+
+
+Int[1/((c_+d_.*x_)*Sqrt[a_+b_.*x_^3]),x_Symbol] :=
+ With[{q=Rt[-b/a,3]},
+ q/((1+Sqrt[3])*d+c*q)*Int[1/Sqrt[a+b*x^3],x] +
+ d/((1+Sqrt[3])*d+c*q)*Int[(1+Sqrt[3]-q*x)/((c+d*x)*Sqrt[a+b*x^3]),x]] /;
+FreeQ[{a,b,c,d},x] && PosQ[a] && NegQ[b]
+
+
+Int[1/((c_+d_.*x_)*Sqrt[a_+b_.*x_^3]),x_Symbol] :=
+ With[{q=Rt[-b/a,3]},
+ q/((1-Sqrt[3])*d+c*q)*Int[1/Sqrt[a+b*x^3],x] +
+ d/((1-Sqrt[3])*d+c*q)*Int[(1-Sqrt[3]-q*x)/((c+d*x)*Sqrt[a+b*x^3]),x]] /;
+FreeQ[{a,b,c,d},x] && NegQ[a] && PosQ[b]
+
+
+Int[1/((c_+d_.*x_)*Sqrt[a_+b_.*x_^3]),x_Symbol] :=
+ With[{q=Rt[b/a,3]},
+ -q/((1-Sqrt[3])*d-c*q)*Int[1/Sqrt[a+b*x^3],x] +
+ d/((1-Sqrt[3])*d-c*q)*Int[(1-Sqrt[3]+q*x)/((c+d*x)*Sqrt[a+b*x^3]),x]] /;
+FreeQ[{a,b,c,d},x] && NegQ[a] && NegQ[b]
+
+
+Int[(e_+f_.*x_)/((c_+d_.*x_)*Sqrt[a_+b_.*x_^3]),x_Symbol] :=
+ With[{q=Rt[b/a,3]},
+ 4*3^(1/4)*Sqrt[2-Sqrt[3]]*f*(1+q*x)*Sqrt[(1-q*x+q^2*x^2)/(1+Sqrt[3]+q*x)^2]/
+ (q*Sqrt[a+b*x^3]*Sqrt[(1+q*x)/(1+Sqrt[3]+q*x)^2])*
+ Subst[Int[1/(((1-Sqrt[3])*d-c*q+((1+Sqrt[3])*d-c*q)*x)*Sqrt[1-x^2]*Sqrt[7-4*Sqrt[3]+x^2]),x],x,(-1+Sqrt[3]-q*x)/(1+Sqrt[3]+q*x)] /;
+ EqQ[(1+Sqrt[3])*f-e*q]] /;
+FreeQ[{a,b,c,d,e,f},x] && PosQ[a] && PosQ[b]
+
+
+Int[(e_.+f_.*x_)/((c_+d_.*x_)*Sqrt[a_+b_.*x_^3]),x_Symbol] :=
+ With[{q=Rt[b/a,3]},
+ ((1+Sqrt[3])*f-e*q)/((1+Sqrt[3])*d-c*q)*Int[1/Sqrt[a+b*x^3],x] +
+ (d*e-c*f)/((1+Sqrt[3])*d-c*q)*Int[(1+Sqrt[3]+q*x)/((c+d*x)*Sqrt[a+b*x^3]),x] /;
+ NeQ[(1+Sqrt[3])*f-e*q]] /;
+FreeQ[{a,b,c,d,e,f},x] && PosQ[a] && PosQ[b]
+
+
+Int[(e_+f_.*x_)/((c_+d_.*x_)*Sqrt[a_+b_.*x_^3]),x_Symbol] :=
+ With[{q=Rt[-b/a,3]},
+ -4*3^(1/4)*Sqrt[2-Sqrt[3]]*f*(1-q*x)*Sqrt[(1+q*x+q^2*x^2)/(1+Sqrt[3]-q*x)^2]/
+ (q*Sqrt[a+b*x^3]*Sqrt[(1-q*x)/(1+Sqrt[3]-q*x)^2])*
+ Subst[Int[1/(((1-Sqrt[3])*d+c*q+((1+Sqrt[3])*d+c*q)*x)*Sqrt[1-x^2]*Sqrt[7-4*Sqrt[3]+x^2]),x],x,(-1+Sqrt[3]+q*x)/(1+Sqrt[3]-q*x)] /;
+ EqQ[(1+Sqrt[3])*f+e*q]] /;
+FreeQ[{a,b,c,d,e,f},x] && PosQ[a] && NegQ[b]
+
+
+Int[(e_.+f_.*x_)/((c_+d_.*x_)*Sqrt[a_+b_.*x_^3]),x_Symbol] :=
+ With[{q=Rt[-b/a,3]},
+ ((1+Sqrt[3])*f+e*q)/((1+Sqrt[3])*d+c*q)*Int[1/Sqrt[a+b*x^3],x] +
+ (d*e-c*f)/((1+Sqrt[3])*d+c*q)*Int[(1+Sqrt[3]-q*x)/((c+d*x)*Sqrt[a+b*x^3]),x] /;
+ NeQ[(1+Sqrt[3])*f+e*q]] /;
+FreeQ[{a,b,c,d,e,f},x] && PosQ[a] && NegQ[b]
+
+
+Int[(e_+f_.*x_)/((c_+d_.*x_)*Sqrt[a_+b_.*x_^3]),x_Symbol] :=
+ With[{q=Rt[-b/a,3]},
+ 4*3^(1/4)*Sqrt[2+Sqrt[3]]*f*(1-q*x)*Sqrt[(1+q*x+q^2*x^2)/(1-Sqrt[3]-q*x)^2]/
+ (q*Sqrt[a+b*x^3]*Sqrt[-(1-q*x)/(1-Sqrt[3]-q*x)^2])*
+ Subst[Int[1/(((1+Sqrt[3])*d+c*q+((1-Sqrt[3])*d+c*q)*x)*Sqrt[1-x^2]*Sqrt[7+4*Sqrt[3]+x^2]),x],x,(1+Sqrt[3]-q*x)/(-1+Sqrt[3]+q*x)] /;
+ EqQ[(1-Sqrt[3])*f+e*q]] /;
+FreeQ[{a,b,c,d,e,f},x] && NegQ[a] && PosQ[b]
+
+
+Int[(e_.+f_.*x_)/((c_+d_.*x_)*Sqrt[a_+b_.*x_^3]),x_Symbol] :=
+ With[{q=Rt[-b/a,3]},
+ ((1-Sqrt[3])*f+e*q)/((1-Sqrt[3])*d+c*q)*Int[1/Sqrt[a+b*x^3],x] +
+ (d*e-c*f)/((1-Sqrt[3])*d+c*q)*Int[(1-Sqrt[3]-q*x)/((c+d*x)*Sqrt[a+b*x^3]),x] /;
+ NeQ[(1-Sqrt[3])*f+e*q]] /;
+FreeQ[{a,b,c,d,e,f},x] && NegQ[a] && PosQ[b]
+
+
+Int[(e_+f_.*x_)/((c_+d_.*x_)*Sqrt[a_+b_.*x_^3]),x_Symbol] :=
+ With[{q=Rt[b/a,3]},
+ -4*3^(1/4)*Sqrt[2+Sqrt[3]]*f*(1+q*x)*Sqrt[(1-q*x+q^2*x^2)/(1-Sqrt[3]+q*x)^2]/
+ (q*Sqrt[a +b*x^3]*Sqrt[-(1+q*x)/(1-Sqrt[3]+q*x)^2])*
+ Subst[Int[1/(((1+Sqrt[3])*d-c*q+((1-Sqrt[3])*d-c*q)*x)*Sqrt[1-x^2]*Sqrt[7+4*Sqrt[3]+x^2]),x],x,(1+Sqrt[3]+q*x)/(-1+Sqrt[3]-q*x)] /;
+ EqQ[(1-Sqrt[3])*f-e*q]] /;
+FreeQ[{a,b,c,d,e,f},x] && NegQ[a] && NegQ[b]
+
+
+Int[(e_.+f_.*x_)/((c_+d_.*x_)*Sqrt[a_+b_.*x_^3]),x_Symbol] :=
+ With[{q=Rt[b/a,3]},
+ ((1-Sqrt[3])*f-e*q)/((1-Sqrt[3])*d-c*q)*Int[1/Sqrt[a+b*x^3],x] +
+ (d*e-c*f)/((1-Sqrt[3])*d-c*q)*Int[(1-Sqrt[3]+q*x)/((c+d*x)*Sqrt[a+b*x^3]),x] /;
+ NeQ[(1-Sqrt[3])*f-e*q]] /;
+FreeQ[{a,b,c,d,e,f},x] && NegQ[a] && NegQ[b]
+
+
+Int[x_^m_./(c_+d_.*x_^n_+e_.*Sqrt[a_+b_.*x_^n_]),x_Symbol] :=
+ 1/n*Subst[Int[x^((m+1)/n-1)/(c+d*x+e*Sqrt[a+b*x]),x],x,x^n] /;
+FreeQ[{a,b,c,d,e,m,n},x] && EqQ[b*c-a*d,0] && IntegerQ[(m+1)/n]
+
+
+Int[u_./(c_+d_.*x_^n_+e_.*Sqrt[a_+b_.*x_^n_]),x_Symbol] :=
+ c*Int[u/(c^2-a*e^2+c*d*x^n),x] - a*e*Int[u/((c^2-a*e^2+c*d*x^n)*Sqrt[a+b*x^n]),x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[b*c-a*d,0]
+
+
+Int[(A_+B_.*x_^n_)/(a_+b_.*x_^2+c_.*x_^n_+d_.*x_^n2_), x_Symbol] :=
+ A^2*(n-1)*Subst[Int[1/(a+A^2*b*(n-1)^2*x^2),x],x,x/(A*(n-1)-B*x^n)] /;
+FreeQ[{a,b,c,d,A,B,n},x] && EqQ[n2-2*n] && NeQ[n-2] && EqQ[a*B^2-A^2*d*(n-1)^2] && EqQ[B*c+2*A*d*(n-1)]
+
+
+Int[x_^m_.*(A_+B_.*x_^n_.)/(a_+b_.*x_^k_.+c_.*x_^n_.+d_.*x_^n2_), x_Symbol] :=
+ A^2*(m-n+1)/(m+1)*Subst[Int[1/(a+A^2*b*(m-n+1)^2*x^2),x],x,x^(m+1)/(A*(m-n+1)+B*(m+1)*x^n)] /;
+FreeQ[{a,b,c,d,A,B,m,n},x] && EqQ[n2-2*n] && EqQ[k-2*(m+1)] && EqQ[a*B^2*(m+1)^2-A^2*d*(m-n+1)^2] && EqQ[B*c*(m+1)-2*A*d*(m-n+1)]
+
+
+Int[(d_+e_.*x_^n_+f_.*x_^n2_+g_*x_^n3_)*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -x*(b^2*c*d-2*a*c*(c*d-a*f)-a*b*(c*e+a*g)+(b*c*(c*d+a*f)-a*b^2*g-2*a*c*(c*e-a*g))*x^n)*(a+b*x^n+c*x^(2*n))^(p+1)/
+ (a*c*n*(p+1)*(b^2-4*a*c)) -
+ 1/(a*c*n*(p+1)*(b^2-4*a*c))*Int[(a+b*x^n+c*x^(2*n))^(p+1)*
+ Simp[a*b*(c*e+a*g)-b^2*c*d*(n+n*p+1)-2*a*c*(a*f-c*d*(2*n*(p+1)+1))+
+ (a*b^2*g*(n*(p+2)+1)-b*c*(c*d+a*f)*(n*(2*p+3)+1)-2*a*c*(a*g*(n+1)-c*e*(n*(2*p+3)+1)))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && EqQ[n2-2*n] && EqQ[n3-3*n] && NeQ[b^2-4*a*c] && NegativeIntegerQ[p+1]
+
+
+Int[(d_+e_.*x_^n_+f_.*x_^n2_)*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -x*(b^2*d-2*a*(c*d-a*f)-a*b*e+(b*(c*d+a*f)-2*a*c*e)*x^n)*(a+b*x^n+c*x^(2*n))^(p+1)/(a*n*(p+1)*(b^2-4*a*c)) -
+ 1/(a*n*(p+1)*(b^2-4*a*c))*Int[(a+b*x^n+c*x^(2*n))^(p+1)*
+ Simp[a*b*e-b^2*d*(n+n*p+1)-2*a*(a*f-c*d*(2*n*(p+1)+1))-
+ (b*(c*d+a*f)*(n*(2*p+3)+1)-2*a*c*e*(n*(2*p+3)+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && NegativeIntegerQ[p+1]
+
+
+Int[(d_+e_.*x_^n_+g_*x_^n3_)*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -x*(b^2*c*d-2*a*c^2*d-a*b*(c*e+a*g)+(b*c^2*d-a*b^2*g-2*a*c*(c*e-a*g))*x^n)*(a+b*x^n+c*x^(2*n))^(p+1)/
+ (a*c*n*(p+1)*(b^2-4*a*c)) -
+ 1/(a*c*n*(p+1)*(b^2-4*a*c))*Int[(a+b*x^n+c*x^(2*n))^(p+1)*
+ Simp[a*b*(c*e+a*g)-b^2*c*d*(n+n*p+1)+2*a*c^2*d*(2*n*(p+1)+1)+
+ (a*b^2*g*(n*(p+2)+1)-b*c^2*d*(n*(2*p+3)+1)-2*a*c*(a*g*(n+1)-c*e*(n*(2*p+3)+1)))*x^n,x],x] /;
+FreeQ[{a,b,c,d,e,g,n},x] && EqQ[n2-2*n] && EqQ[n3-3*n] && NeQ[b^2-4*a*c] && NegativeIntegerQ[p+1]
+
+
+Int[(d_+f_.*x_^n2_+g_*x_^n3_)*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -x*(b^2*c*d-2*a*c*(c*d-a*f)-a^2*b*g+(b*c*(c*d+a*f)-a*b^2*g+2*a^2*c*g)*x^n)*(a+b*x^n+c*x^(2*n))^(p+1)/
+ (a*c*n*(p+1)*(b^2-4*a*c)) -
+ 1/(a*c*n*(p+1)*(b^2-4*a*c))*Int[(a+b*x^n+c*x^(2*n))^(p+1)*
+ Simp[a^2*b*g-b^2*c*d*(n+n*p+1)-2*a*c*(a*f-c*d*(2*n*(p+1)+1))+
+ (a*b^2*g*(n*(p+2)+1)-b*c*(c*d+a*f)*(n*(2*p+3)+1)-2*a^2*c*g*(n+1))*x^n,x],x] /;
+FreeQ[{a,b,c,d,f,g,n},x] && EqQ[n2-2*n] && EqQ[n3-3*n] && NeQ[b^2-4*a*c] && NegativeIntegerQ[p+1]
+
+
+Int[(d_+f_.*x_^n2_)*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -x*(b^2*d-2*a*(c*d-a*f)+b*(c*d+a*f)*x^n)*(a+b*x^n+c*x^(2*n))^(p+1)/(a*n*(p+1)*(b^2-4*a*c)) +
+ 1/(a*n*(p+1)*(b^2-4*a*c))*Int[(a+b*x^n+c*x^(2*n))^(p+1)*
+ Simp[b^2*d*(n+n*p+1)+2*a*(a*f-c*d*(2*n*(p+1)+1))+b*(c*d+a*f)*(n*(2*p+3)+1)*x^n,x],x] /;
+FreeQ[{a,b,c,d,f,n},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && NegativeIntegerQ[p+1]
+
+
+Int[(d_+g_*x_^n3_)*(a_+b_.*x_^n_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -x*(b^2*c*d-2*a*c^2*d-a^2*b*g+(b*c^2*d-a*b^2*g+2*a^2*c*g)*x^n)*(a+b*x^n+c*x^(2*n))^(p+1)/
+ (a*c*n*(p+1)*(b^2-4*a*c)) -
+ 1/(a*c*n*(p+1)*(b^2-4*a*c))*Int[(a+b*x^n+c*x^(2*n))^(p+1)*
+ Simp[a^2*b*g-b^2*c*d*(n+n*p+1)+2*a*c^2*d*(2*n*(p+1)+1)+
+ (a*b^2*g*(n*(p+2)+1)-b*c^2*d*(n*(2*p+3)+1)-2*a*c*(a*g*(n+1)))*x^n,x],x] /;
+FreeQ[{a,b,c,d,g,n},x] && EqQ[n2-2*n] && EqQ[n3-3*n] && NeQ[b^2-4*a*c] && NegativeIntegerQ[p+1]
+
+
+Int[(d_+e_.*x_^n_+f_.*x_^n2_+g_*x_^n3_)*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -x*(-2*a*c*(c*d-a*f)+(-2*a*c*(c*e-a*g))*x^n)*(a+c*x^(2*n))^(p+1)/
+ (a*c*n*(p+1)*(-4*a*c)) -
+ 1/(a*c*n*(p+1)*(-4*a*c))*Int[(a+c*x^(2*n))^(p+1)*
+ Simp[-2*a*c*(a*f-c*d*(2*n*(p+1)+1))+
+ (-2*a*c*(a*g*(n+1)-c*e*(n*(2*p+3)+1)))*x^n,x],x] /;
+FreeQ[{a,c,d,e,f,g,n},x] && EqQ[n2-2*n] && EqQ[n3-3*n] && NegativeIntegerQ[p+1]
+
+
+Int[(d_+e_.*x_^n_+f_.*x_^n2_)*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -x*(-2*a*(c*d-a*f)+(-2*a*c*e)*x^n)*(a+c*x^(2*n))^(p+1)/(a*n*(p+1)*(-4*a*c)) -
+ 1/(a*n*(p+1)*(-4*a*c))*Int[(a+c*x^(2*n))^(p+1)*
+ Simp[-2*a*(a*f-c*d*(2*n*(p+1)+1))-
+ (-2*a*c*e*(n*(2*p+3)+1))*x^n,x],x] /;
+FreeQ[{a,c,d,e,f,n},x] && EqQ[n2-2*n] && NegativeIntegerQ[p+1]
+
+
+Int[(d_+e_.*x_^n_+g_*x_^n3_)*(a_+c_.*x_^n2_)^p_,x_Symbol] :=
+ -x*(-2*a*c^2*d+(-2*a*c*(c*e-a*g))*x^n)*(a+c*x^(2*n))^(p+1)/
+ (a*c*n*(p+1)*(-4*a*c)) -
+ 1/(a*c*n*(p+1)*(-4*a*c))*Int[(a+c*x^(2*n))^(p+1)*
+ Simp[2*a*c^2*d*(2*n*(p+1)+1)+
+ (-2*a*c*(a*g*(n+1)-c*e*(n*(2*p+3)+1)))*x^n,x],x] /;
+FreeQ[{a,c,d,e,g,n},x] && EqQ[n2-2*n] && EqQ[n3-3*n] && NegativeIntegerQ[p+1]
+
+
+Int[(a_.+b_.*x_^2+c_.*x_^4)/(d_+e_.*x_^2+f_.*x_^4+g_.*x_^6),x_Symbol] :=
+ With[{q=Rt[(-a*c*f^2+12*a^2*g^2+f*(3*c^2*d-2*a*b*g))/(c*g*(3*c*d-a*f)),2],
+ r=Rt[(a*c*f^2+4*g*(b*c*d+a^2*g)-f*(3*c^2*d+2*a*b*g))/(c*g*(3*c*d-a*f)),2]},
+ c/(g*q)*ArcTan[(r+2*x)/q] -
+ c/(g*q)*ArcTan[(r-2*x)/q] -
+ c/(g*q)*ArcTan[(3*c*d-a*f)*x/(g*q*(b*c*d-2*a^2*g)*(b*c*d-a*b*f+4*a^2*g))*
+ (b*c^2*d*f-a*b^2*f*g-2*a^2*c*f*g+6*a^2*b*g^2+c*(3*c^2*d*f-a*c*f^2-b*c*d*g+2*a^2*g^2)*x^2+c^2*g*(3*c*d-a*f)*x^4)]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[9*c^3*d^2-c*(b^2+6*a*c)*d*f+a^2*c*f^2+2*a*b*(3*c*d+a*f)*g-12*a^3*g^2] &&
+ EqQ[3*c^4*d^2*e-3*a^2*c^2*d*f*g+a^3*c*f^2*g+2*a^3*g^2*(b*f-6*a*g)-c^3*d*(2*b*d*f+a*e*f-12*a*d*g)] &&
+ NeQ[3*c*d-a*f] && NeQ[b*c*d-2*a^2*g] && NeQ[b*c*d-a*b*f+4*a^2*g] &&
+ PosQ[(-a*c*f^2+12*a^2*g^2+f*(3*c^2*d-2*a*b*g))/(c*g*(3*c*d-a*f))]
+
+
+Int[(a_.+c_.*x_^4)/(d_+e_.*x_^2+f_.*x_^4+g_.*x_^6),x_Symbol] :=
+ With[{q=Rt[(-a*c*f^2+12*a^2*g^2+3*f*c^2*d)/(c*g*(3*c*d-a*f)),2],
+ r=Rt[(a*c*f^2+4*a^2*g^2-3*c^2*d*f)/(c*g*(3*c*d-a*f)),2]},
+ c/(g*q)*ArcTan[(r+2*x)/q] -
+ c/(g*q)*ArcTan[(r-2*x)/q] -
+ c/(g*q)*ArcTan[(c*(3*c*d-a*f)*x*(2*a^2*f*g-(3*c^2*d*f-a*c*f^2+2*a^2*g^2)*x^2-c*(3*c*d-a*f)*g*x^4))/(8*a^4*g^3*q)]] /;
+FreeQ[{a,c,d,e,f,g},x] && EqQ[9*c^3*d^2-6*a*c^2*d*f+a^2*c*f^2-12*a^3*g^2] &&
+ EqQ[3*c^4*d^2*e-3*a^2*c^2*d*f*g+a^3*c*f^2*g-12*a^4*g^3-a*c^3*d*(e*f-12*d*g)] &&
+ NeQ[3*c*d-a*f] && PosQ[(-a*c*f^2+12*a^2*g^2+3*c^2*d*f)/(c*g*(3*c*d-a*f))]
+
+
+If[ShowSteps,
+
+Int[u_*v_^p_,x_Symbol] :=
+ With[{m=Exponent[u,x],n=Exponent[v,x]},
+ Module[{c=Coefficient[u,x,m]/(Coefficient[v,x,n]*(m+1+n*p)),w},
+ w=Apart[u-c*x^(m-n)*((m-n+1)*v+(p+1)*x*D[v,x]),x];
+ If[EqQ[w],
+ ShowStep["
+If p>1, 11, 10 && IntegerQ[2*m] && Not[$UseGamma===True]
+
+
+Int[(c_.+d_.*x_)^m_*(b_.*F_^(g_.*(e_.+f_.*x_)))^n_.,x_Symbol] :=
+ (c+d*x)^(m+1)*(b*F^(g*(e+f*x)))^n/(d*(m+1)) -
+ f*g*n*Log[F]/(d*(m+1))*Int[(c+d*x)^(m+1)*(b*F^(g*(e+f*x)))^n,x] /;
+FreeQ[{F,b,c,d,e,f,g,n},x] && RationalQ[m] && m<-1 && IntegerQ[2*m] && Not[$UseGamma===True]
+
+
+Int[F_^(g_.*(e_.+f_.*x_))/(c_.+d_.*x_),x_Symbol] :=
+ F^(g*(e-c*f/d))/d*ExpIntegralEi[f*g*(c+d*x)*Log[F]/d] /;
+FreeQ[{F,c,d,e,f,g},x] && Not[$UseGamma===True]
+
+
+Int[(c_.+d_.*x_)^m_.*F_^(g_.*(e_.+f_.*x_)),x_Symbol] :=
+ (-d)^m*F^(g*(e-c*f/d))/(f^(m+1)*g^(m+1)*Log[F]^(m+1))*Gamma[m+1,-f*g*Log[F]/d*(c+d*x)] /;
+FreeQ[{F,c,d,e,f,g},x] && IntegerQ[m]
+
+
+Int[F_^(g_.*(e_.+f_.*x_))/Sqrt[c_.+d_.*x_],x_Symbol] :=
+ 2/d*Subst[Int[F^(g*(e-c*f/d)+f*g*x^2/d),x],x,Sqrt[c+d*x]] /;
+FreeQ[{F,c,d,e,f,g},x] && Not[$UseGamma===True]
+
+
+Int[(c_.+d_.*x_)^m_*F_^(g_.*(e_.+f_.*x_)),x_Symbol] :=
+ -F^(g*(e-c*f/d))*(c+d*x)^FracPart[m]/(d*(-f*g*Log[F]/d)^(IntPart[m]+1)*(-f*g*Log[F]*(c+d*x)/d)^FracPart[m])*
+ Gamma[m+1,(-f*g*Log[F]/d)*(c+d*x)] /;
+FreeQ[{F,c,d,e,f,g,m},x] && Not[IntegerQ[m]]
+
+
+Int[(c_.+d_.*x_)^m_.*(b_.*F_^(g_.*(e_.+f_.*x_)))^n_,x_Symbol] :=
+ (b*F^(g*(e+f*x)))^n/F^(g*n*(e+f*x))*Int[(c+d*x)^m*F^(g*n*(e+f*x)),x] /;
+FreeQ[{F,b,c,d,e,f,g,m,n},x]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_+b_.*(F_^(g_.*(e_.+f_.*x_)))^n_.)^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(c+d*x)^m,(a+b*(F^(g*(e+f*x)))^n)^p,x],x] /;
+FreeQ[{F,a,b,c,d,e,f,g,m,n},x] && PositiveIntegerQ[p]
+
+
+Int[(c_.+d_.*x_)^m_./(a_+b_.*(F_^(g_.*(e_.+f_.*x_)))^n_.),x_Symbol] :=
+ -(c+d*x)^m/(a*f*g*n*Log[F])*Log[1+a/(b*(F^(g*(e+f*x)))^n)] +
+ d*m/(a*f*g*n*Log[F])*Int[(c+d*x)^(m-1)*Log[1+a/(b*(F^(g*(e+f*x)))^n)],x] /;
+FreeQ[{F,a,b,c,d,e,f,g,n},x] && RationalQ[m] && m>0
+
+
+Int[(c_.+d_.*x_)^m_.*(a_+b_.*(F_^(g_.*(e_.+f_.*x_)))^n_.)^p_,x_Symbol] :=
+ 1/a*Int[(c+d*x)^m*(a+b*(F^(g*(e+f*x)))^n)^(p+1),x] -
+ b/a*Int[(c+d*x)^m*(F^(g*(e+f*x)))^n*(a+b*(F^(g*(e+f*x)))^n)^p,x] /;
+FreeQ[{F,a,b,c,d,e,f,g,n},x] && NegativeIntegerQ[p] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_+b_.*(F_^(g_.*(e_.+f_.*x_)))^n_.)^p_,x_Symbol] :=
+ With[{u=IntHide[(a+b*(F^(g*(e+f*x)))^n)^p,x]},
+ Dist[(c+d*x)^m,u,x] - d*m*Int[(c+d*x)^(m-1)*u,x]] /;
+FreeQ[{F,a,b,c,d,e,f,g,n},x] && RationalQ[m,p] && m>0 && p<-1
+
+
+Int[u_^m_.*(a_.+b_.*(F_^(g_.*v_))^n_.)^p_.,x_Symbol] :=
+ Int[NormalizePowerOfLinear[u,x]^m*(a+b*(F^(g*ExpandToSum[v,x]))^n)^p,x] /;
+FreeQ[{F,a,b,g,n,p},x] && LinearQ[v,x] && PowerOfLinearQ[u,x] && Not[LinearMatchQ[v,x] && PowerOfLinearMatchQ[u,x]] && IntegerQ[m]
+
+
+Int[u_^m_.*(a_.+b_.*(F_^(g_.*v_))^n_.)^p_.,x_Symbol] :=
+ Module[{uu=NormalizePowerOfLinear[u,x],z},
+ z=If[PowerQ[uu] && FreeQ[uu[[2]],x], uu[[1]]^(m*uu[[2]]), uu^m];
+ uu^m/z*Int[z*(a+b*(F^(g*ExpandToSum[v,x]))^n)^p,x]] /;
+FreeQ[{F,a,b,g,m,n,p},x] && LinearQ[v,x] && PowerOfLinearQ[u,x] && Not[LinearMatchQ[v,x] && PowerOfLinearMatchQ[u,x]] &&
+ Not[IntegerQ[m]]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_+b_.*(F_^(g_.*(e_.+f_.*x_)))^n_.)^p_.,x_Symbol] :=
+ Defer[Int][(c+d*x)^m*(a+b*(F^(g*(e+f*x)))^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*2.2 (c+d x)^m (F^(g (e+f x)))^n (a+b (F^(g (e+f x)))^n)^p*)
+
+
+Int[(c_.+d_.*x_)^m_.*(F_^(g_.*(e_.+f_.*x_)))^n_./(a_+b_.*(F_^(g_.*(e_.+f_.*x_)))^n_.),x_Symbol] :=
+ (c+d*x)^m/(b*f*g*n*Log[F])*Log[1+b*(F^(g*(e+f*x)))^n/a] -
+ d*m/(b*f*g*n*Log[F])*Int[(c+d*x)^(m-1)*Log[1+b*(F^(g*(e+f*x)))^n/a],x] /;
+FreeQ[{F,a,b,c,d,e,f,g,n},x] && RationalQ[m] && m>0
+
+
+Int[(c_.+d_.*x_)^m_.*(F_^(g_.*(e_.+f_.*x_)))^n_.*(a_.+b_.*(F_^(g_.*(e_.+f_.*x_)))^n_.)^p_.,x_Symbol] :=
+ (c+d*x)^m*(a+b*(F^(g*(e+f*x)))^n)^(p+1)/(b*f*g*n*(p+1)*Log[F]) -
+ d*m/(b*f*g*n*(p+1)*Log[F])*Int[(c+d*x)^(m-1)*(a+b*(F^(g*(e+f*x)))^n)^(p+1),x] /;
+FreeQ[{F,a,b,c,d,e,f,g,m,n,p},x] && NeQ[p+1]
+
+
+Int[(c_.+d_.*x_)^m_.*(F_^(g_.*(e_.+f_.*x_)))^n_.*(a_.+b_.*(F_^(g_.*(e_.+f_.*x_)))^n_.)^p_.,x_Symbol] :=
+ Defer[Int][(c+d*x)^m*(F^(g*(e+f*x)))^n*(a+b*(F^(g*(e+f*x)))^n)^p,x] /;
+FreeQ[{F,a,b,c,d,e,f,g,m,n,p},x]
+
+
+Int[(c_.+d_.*x_)^m_.*(k_.*G_^(j_.*(h_.+i_.*x_)))^q_.*(a_.+b_.*(F_^(g_.*(e_.+f_.*x_)))^n_.)^p_.,x_Symbol] :=
+ (k*G^(j*(h+i*x)))^q/(F^(g*(e+f*x)))^n*Int[(c+d*x)^m*(F^(g*(e+f*x)))^n*(a+b*(F^(g*(e+f*x)))^n)^p,x] /;
+FreeQ[{F,a,b,c,d,e,f,g,h,i,j,k,m,n,p,q},x] && EqQ[f*g*n*Log[F]-i*j*q*Log[G]] && NeQ[(k*G^(j*(h+i*x)))^q-(F^(g*(e+f*x)))^n]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*2.3 Miscellaneous exponentials*)
+
+
+Int[(F_^(c_.*(a_.+b_.*x_)))^n_.,x_Symbol] :=
+ (F^(c*(a+b*x)))^n/(b*c*n*Log[F]) /;
+FreeQ[{F,a,b,c,n},x]
+
+
+Int[u_*F_^(c_.*v_),x_Symbol] :=
+ Int[ExpandIntegrand[u*F^(c*ExpandToSum[v,x]),x],x] /;
+FreeQ[{F,c},x] && PolynomialQ[u,x] && LinearQ[v,x] && $UseGamma===True
+
+
+Int[u_*F_^(c_.*v_),x_Symbol] :=
+ Int[ExpandIntegrand[F^(c*ExpandToSum[v,x]),u,x],x] /;
+FreeQ[{F,c},x] && PolynomialQ[u,x] && LinearQ[v,x] && Not[$UseGamma===True]
+
+
+Int[u_^m_.*F_^(c_.*v_)*w_,x_Symbol] :=
+ Coefficient[w,x,1]*u^(m+1)*F^(c*v)/(Coefficient[v,x,1]*c*Coefficient[u,x,1]*Log[F]) /;
+FreeQ[{F,c,m},x] && LinearQ[{u,v,w},x] &&
+ EqQ[Coefficient[u,x,1]*Coefficient[w,x,1]*(m+1)-
+ Coefficient[v,x,1]*c*(Coefficient[u,x,1]*Coefficient[w,x,0]-Coefficient[u,x,0]*Coefficient[w,x,1])*Log[F]]
+
+
+Int[w_*u_^m_.*F_^(c_.*v_),x_Symbol] :=
+ Int[ExpandIntegrand[w*NormalizePowerOfLinear[u,x]^m*F^(c*ExpandToSum[v,x]),x],x] /;
+FreeQ[{F,c},x] && PolynomialQ[w,x] && LinearQ[v,x] && PowerOfLinearQ[u,x] && IntegerQ[m] && $UseGamma===True
+
+
+Int[w_*u_^m_.*F_^(c_.*v_),x_Symbol] :=
+ Int[ExpandIntegrand[F^(c*ExpandToSum[v,x]),w*NormalizePowerOfLinear[u,x]^m,x],x] /;
+FreeQ[{F,c},x] && PolynomialQ[w,x] && LinearQ[v,x] && PowerOfLinearQ[u,x] && IntegerQ[m] && Not[$UseGamma===True]
+
+
+Int[w_*u_^m_.*F_^(c_.*v_),x_Symbol] :=
+ Module[{uu=NormalizePowerOfLinear[u,x],z},
+ z=If[PowerQ[uu] && FreeQ[uu[[2]],x], uu[[1]]^(m*uu[[2]]), uu^m];
+ uu^m/z*Int[ExpandIntegrand[w*z*F^(c*ExpandToSum[v,x]),x],x]] /;
+FreeQ[{F,c,m},x] && PolynomialQ[w,x] && LinearQ[v,x] && PowerOfLinearQ[u,x] && Not[IntegerQ[m]]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Log[d_.*x_]^n_.*(e_+h_.*(f_.+g_.*x_)*Log[d_.*x_]),x_Symbol] :=
+ e*x*F^(c*(a+b*x))*Log[d*x]^(n+1)/(n+1) /;
+FreeQ[{F,a,b,c,d,e,f,g,h,n},x] && EqQ[e-f*h*(n+1)] && EqQ[g*h*(n+1)-b*c*e*Log[F]] && NeQ[n+1]
+
+
+Int[x_^m_.*F_^(c_.*(a_.+b_.*x_))*Log[d_.*x_]^n_.*(e_+h_.*(f_.+g_.*x_)*Log[d_.*x_]),x_Symbol] :=
+ e*x^(m+1)*F^(c*(a+b*x))*Log[d*x]^(n+1)/(n+1) /;
+FreeQ[{F,a,b,c,d,e,f,g,h,m,n},x] && EqQ[e*(m+1)-f*h*(n+1)] && EqQ[g*h*(n+1)-b*c*e*Log[F]] && NeQ[n+1]
+
+
+Int[F_^(a_.+b_.*(c_.+d_.*x_)),x_Symbol] :=
+ F^(a+b*(c+d*x))/(b*d*Log[F]) /;
+FreeQ[{F,a,b,c,d},x]
+
+
+Int[F_^(a_.+b_.*(c_.+d_.*x_)^2),x_Symbol] :=
+ F^a*Sqrt[Pi]*Erfi[(c+d*x)*Rt[b*Log[F],2]]/(2*d*Rt[b*Log[F],2]) /;
+FreeQ[{F,a,b,c,d},x] && PosQ[b]
+
+
+Int[F_^(a_.+b_.*(c_.+d_.*x_)^2),x_Symbol] :=
+ F^a*Sqrt[Pi]*Erf[(c+d*x)*Rt[-b*Log[F],2]]/(2*d*Rt[-b*Log[F],2]) /;
+FreeQ[{F,a,b,c,d},x] && NegQ[b]
+
+
+Int[F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
+ (c+d*x)*F^(a+b*(c+d*x)^n)/d -
+ b*n*Log[F]*Int[(c+d*x)^n*F^(a+b*(c+d*x)^n),x] /;
+FreeQ[{F,a,b,c,d},x] && IntegerQ[2/n] && NegativeIntegerQ[n]
+
+
+Int[F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
+ With[{k=Denominator[n]},
+ k/d*Subst[Int[x^(k-1)*F^(a+b*x^(k*n)),x],x,(c+d*x)^(1/k)]] /;
+FreeQ[{F,a,b,c,d},x] && IntegerQ[2/n] && Not[IntegerQ[n]]
+
+
+Int[F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
+ -F^a*(c+d*x)*Gamma[1/n,-b*(c+d*x)^n*Log[F]]/(d*n*(-b*(c+d*x)^n*Log[F])^(1/n)) /;
+FreeQ[{F,a,b,c,d,n},x] && Not[IntegerQ[2/n]]
+
+
+Int[(e_.+f_.*x_)^m_.*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
+ (e+f*x)^n*F^(a+b*(c+d*x)^n)/(b*f*n*(c+d*x)^n*Log[F]) /;
+FreeQ[{F,a,b,c,d,e,f,n},x] && EqQ[m-(n-1)] && EqQ[d*e-c*f]
+
+
+Int[F_^(a_.+b_.*(c_.+d_.*x_)^n_)/(e_.+f_.*x_),x_Symbol] :=
+ F^a*ExpIntegralEi[b*(c+d*x)^n*Log[F]]/(f*n) /;
+FreeQ[{F,a,b,c,d,e,f,n},x] && EqQ[d*e-c*f]
+
+
+Int[(c_.+d_.*x_)^m_.*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
+ 1/(d*(m+1))*Subst[Int[F^(a+b*x^2),x],x,(c+d*x)^(m+1)] /;
+FreeQ[{F,a,b,c,d,m,n},x] && EqQ[n-2*(m+1)]
+
+
+Int[(c_.+d_.*x_)^m_.*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
+ (c+d*x)^(m-n+1)*F^(a+b*(c+d*x)^n)/(b*d*n*Log[F]) -
+ (m-n+1)/(b*n*Log[F])*Int[(c+d*x)^(m-n)*F^(a+b*(c+d*x)^n),x] /;
+FreeQ[{F,a,b,c,d},x] && RationalQ[m] && IntegerQ[2*(m+1)/n] && 0<(m+1)/n<5 && IntegerQ[n] && (00 && m<-1 || 0<-n<=m+1)
+
+
+Int[(c_.+d_.*x_)^m_.*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
+ (c+d*x)^(m+1)*F^(a+b*(c+d*x)^n)/(d*(m+1)) -
+ b*n*Log[F]/(m+1)*Int[(c+d*x)^Simplify[m+n]*F^(a+b*(c+d*x)^n),x] /;
+FreeQ[{F,a,b,c,d,m,n},x] && IntegerQ[2*Simplify[(m+1)/n]] && -41
+
+
+Int[(e_.+f_.*x_)^m_*F_^(a_.+b_.*(c_.+d_.*x_)^2),x_Symbol] :=
+ f*(e+f*x)^(m+1)*F^(a+b*(c+d*x)^2)/((m+1)*f^2) +
+ 2*b*d*(d*e-c*f)*Log[F]/(f^2*(m+1))*Int[(e+f*x)^(m+1)*F^(a+b*(c+d*x)^2),x] -
+ 2*b*d^2*Log[F]/(f^2*(m+1))*Int[(e+f*x)^(m+2)*F^(a+b*(c+d*x)^2),x] /;
+FreeQ[{F,a,b,c,d,e,f},x] && NeQ[d*e-c*f] && RationalQ[m] && m<-1
+
+
+Int[(e_.+f_.*x_)^m_*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
+ (e+f*x)^(m+1)*F^(a+b*(c+d*x)^n)/(f*(m+1)) -
+ b*d*n*Log[F]/(f*(m+1))*Int[(e+f*x)^(m+1)*(c+d*x)^(n-1)*F^(a+b*(c+d*x)^n),x] /;
+FreeQ[{F,a,b,c,d,e,f},x] && NeQ[d*e-c*f] && IntegerQ[n] && n>2 && RationalQ[m] && m<-1
+
+
+Int[F_^(a_.+b_./(c_.+d_.*x_))/(e_.+f_.*x_),x_Symbol] :=
+ d/f*Int[F^(a+b/(c+d*x))/(c+d*x),x] -
+ (d*e-c*f)/f*Int[F^(a+b/(c+d*x))/((c+d*x)*(e+f*x)),x] /;
+FreeQ[{F,a,b,c,d,e,f},x] && NeQ[d*e-c*f]
+
+
+Int[(e_.+f_.*x_)^m_*F_^(a_.+b_./(c_.+d_.*x_)),x_Symbol] :=
+ (e+f*x)^(m+1)*F^(a+b/(c+d*x))/(f*(m+1)) +
+ b*d*Log[F]/(f*(m+1))*Int[(e+f*x)^(m+1)*F^(a+b/(c+d*x))/(c+d*x)^2,x] /;
+FreeQ[{F,a,b,c,d,e,f},x] && NeQ[d*e-c*f] && IntegerQ[m] && m<-1
+
+
+Int[F_^(a_.+b_.*(c_.+d_.*x_)^n_)/(e_.+f_.*x_),x_Symbol] :=
+ Defer[Int][F^(a+b*(c+d*x)^n)/(e+f*x),x] /;
+FreeQ[{F,a,b,c,d,e,f,n},x] && NeQ[d*e-c*f]
+
+
+Int[u_^m_.*F_^v_,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*F^ExpandToSum[v,x],x] /;
+FreeQ[{F,m},x] && LinearQ[u,x] && BinomialQ[v,x] && Not[LinearMatchQ[u,x] && BinomialMatchQ[v,x]]
+
+
+Int[u_*F_^(a_.+b_.*(c_.+d_.*x_)^n_),x_Symbol] :=
+ Int[ExpandLinearProduct[F^(a+b*(c+d*x)^n),u,c,d,x],x] /;
+FreeQ[{F,a,b,c,d,n},x] && PolynomialQ[u,x]
+
+
+Int[u_.*F_^(a_.+b_.*v_),x_Symbol] :=
+ Int[u*F^(a+b*NormalizePowerOfLinear[v,x]),x] /;
+FreeQ[{F,a,b},x] && PolynomialQ[u,x] && PowerOfLinearQ[v,x] && Not[PowerOfLinearMatchQ[v,x]]
+
+
+(* Int[u_.*F_^(a_.+b_.*v_^n_),x_Symbol] :=
+ Int[u*F^(a+b*ExpandToSum[v,x]^n),x] /;
+FreeQ[{F,a,b,n},x] && PolynomialQ[u,x] && LinearQ[v,x] && Not[LinearMatchQ[v,x]] *)
+
+
+(* Int[u_.*F_^u_,x_Symbol] :=
+ Int[u*F^ExpandToSum[u,x],x] /;
+FreeQ[F,x] && PolynomialQ[u,x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]] *)
+
+
+Int[F_^(a_.+b_./(c_.+d_.*x_))/((e_.+f_.*x_)*(g_.+h_.*x_)),x_Symbol] :=
+ -d/(f*(d*g-c*h))*Subst[Int[F^(a-b*h/(d*g-c*h)+d*b*x/(d*g-c*h))/x,x],x,(g+h*x)/(c+d*x)] /;
+FreeQ[{F,a,b,c,d,e,f},x] && EqQ[d*e-c*f]
+
+
+Int[(g_.+h_.*x_)^m_.*F_^(e_.+f_.*(a_.+b_.*x_)/(c_.+d_.*x_)),x_Symbol] :=
+ F^(e+f*b/d)*Int[(g+h*x)^m,x] /;
+FreeQ[{F,a,b,c,d,e,f,g,h,m},x] && EqQ[b*c-a*d]
+
+
+Int[(g_.+h_.*x_)^m_.*F_^(e_.+f_.*(a_.+b_.*x_)/(c_.+d_.*x_)),x_Symbol] :=
+ Int[(g+h*x)^m*F^((d*e+b*f)/d-f*(b*c-a*d)/(d*(c+d*x))),x] /;
+FreeQ[{F,a,b,c,d,e,f,g,h,m},x] && NeQ[b*c-a*d] && EqQ[d*g-c*h]
+
+
+Int[F_^(e_.+f_.*(a_.+b_.*x_)/(c_.+d_.*x_))/(g_.+h_.*x_),x_Symbol] :=
+ d/h*Int[F^(e+f*(a+b*x)/(c+d*x))/(c+d*x),x] -
+ (d*g-c*h)/h*Int[F^(e+f*(a+b*x)/(c+d*x))/((c+d*x)*(g+h*x)),x] /;
+FreeQ[{F,a,b,c,d,e,f,g,h},x] && NeQ[b*c-a*d] && NeQ[d*g-c*h]
+
+
+Int[(g_.+h_.*x_)^m_*F_^(e_.+f_.*(a_.+b_.*x_)/(c_.+d_.*x_)),x_Symbol] :=
+ (g+h*x)^(m+1)*F^(e+f*(a+b*x)/(c+d*x))/(h*(m+1)) -
+ f*(b*c-a*d)*Log[F]/(h*(m+1))*Int[(g+h*x)^(m+1)*F^(e+f*(a+b*x)/(c+d*x))/(c+d*x)^2,x] /;
+FreeQ[{F,a,b,c,d,e,f,g,h},x] && NeQ[b*c-a*d] && NeQ[d*g-c*h] && IntegerQ[m] && m<-1
+
+
+Int[F_^(e_.+f_.*(a_.+b_.*x_)/(c_.+d_.*x_))/((g_.+h_.*x_)*(i_.+j_.*x_)),x_Symbol] :=
+ -d/(h*(d*i-c*j))*Subst[Int[F^(e+f*(b*i-a*j)/(d*i-c*j)-(b*c-a*d)*f*x/(d*i-c*j))/x,x],x,(i+j*x)/(c+d*x)] /;
+FreeQ[{F,a,b,c,d,e,f,g,h},x] && EqQ[d*g-c*h]
+
+
+Int[F_^(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ F^(a-b^2/(4*c))*Int[F^((b+2*c*x)^2/(4*c)),x] /;
+FreeQ[{F,a,b,c},x]
+
+
+Int[F_^v_,x_Symbol] :=
+ Int[F^ExpandToSum[v,x],x] /;
+FreeQ[F,x] && QuadraticQ[v,x] && Not[QuadraticMatchQ[v,x]]
+
+
+Int[(d_.+e_.*x_)*F_^(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ e*F^(a+b*x+c*x^2)/(2*c*Log[F]) /;
+FreeQ[{F,a,b,c,d,e},x] && EqQ[b*e-2*c*d]
+
+
+Int[(d_.+e_.*x_)^m_*F_^(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ e*(d+e*x)^(m-1)*F^(a+b*x+c*x^2)/(2*c*Log[F]) -
+ (m-1)*e^2/(2*c*Log[F])*Int[(d+e*x)^(m-2)*F^(a+b*x+c*x^2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && EqQ[b*e-2*c*d] && RationalQ[m] && m>1
+
+
+Int[F_^(a_.+b_.*x_+c_.*x_^2)/(d_.+e_.*x_),x_Symbol] :=
+ 1/(2*e)*F^(a-b^2/(4*c))*ExpIntegralEi[(b+2*c*x)^2*Log[F]/(4*c)] /;
+FreeQ[{F,a,b,c,d,e},x] && EqQ[b*e-2*c*d]
+
+
+Int[(d_.+e_.*x_)^m_*F_^(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ (d+e*x)^(m+1)*F^(a+b*x+c*x^2)/(e*(m+1)) -
+ 2*c*Log[F]/(e^2*(m+1))*Int[(d+e*x)^(m+2)*F^(a+b*x+c*x^2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && EqQ[b*e-2*c*d] && RationalQ[m] && m<-1
+
+
+Int[(d_.+e_.*x_)*F_^(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ e*F^(a+b*x+c*x^2)/(2*c*Log[F]) -
+ (b*e-2*c*d)/(2*c)*Int[F^(a+b*x+c*x^2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[b*e-2*c*d]
+
+
+Int[(d_.+e_.*x_)^m_*F_^(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ e*(d+e*x)^(m-1)*F^(a+b*x+c*x^2)/(2*c*Log[F]) -
+ (b*e-2*c*d)/(2*c)*Int[(d+e*x)^(m-1)*F^(a+b*x+c*x^2),x] -
+ (m-1)*e^2/(2*c*Log[F])*Int[(d+e*x)^(m-2)*F^(a+b*x+c*x^2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[b*e-2*c*d] && RationalQ[m] && m>1
+
+
+Int[(d_.+e_.*x_)^m_*F_^(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ (d+e*x)^(m+1)*F^(a+b*x+c*x^2)/(e*(m+1)) -
+ (b*e-2*c*d)*Log[F]/(e^2*(m+1))*Int[(d+e*x)^(m+1)*F^(a+b*x+c*x^2),x] -
+ 2*c*Log[F]/(e^2*(m+1))*Int[(d+e*x)^(m+2)*F^(a+b*x+c*x^2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[b*e-2*c*d] && RationalQ[m] && m<-1
+
+
+Int[(d_.+e_.*x_)^m_.*F_^(a_.+b_.*x_+c_.*x_^2),x_Symbol] :=
+ Defer[Int][(d+e*x)^m*F^(a+b*x+c*x^2),x] /;
+FreeQ[{F,a,b,c,d,e,m},x]
+
+
+Int[u_^m_.*F_^v_,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*F^ExpandToSum[v,x],x] /;
+FreeQ[{F,m},x] && LinearQ[u,x] && QuadraticQ[v,x] && Not[LinearMatchQ[u,x] && QuadraticMatchQ[v,x]]
+
+
+Int[x_^m_.*F_^(e_.*(c_.+d_.*x_))*(a_.+b_.*F_^v_)^p_,x_Symbol] :=
+ With[{u=IntHide[F^(e*(c+d*x))*(a+b*F^v)^p,x]},
+ Dist[x^m,u,x] - m*Int[x^(m-1)*u,x]] /;
+FreeQ[{F,a,b,c,d,e},x] && EqQ[2*e*(c+d*x)-v] && RationalQ[m] && m>0 && NegativeIntegerQ[p]
+
+
+Int[(F_^(e_.*(c_.+d_.*x_)))^n_.*(a_+b_.*(F_^(e_.*(c_.+d_.*x_)))^n_.)^p_.,x_Symbol] :=
+ 1/(d*e*n*Log[F])*Subst[Int[(a+b*x)^p,x],x,(F^(e*(c+d*x)))^n] /;
+FreeQ[{F,a,b,c,d,e,n,p},x]
+
+
+Int[(G_^(h_.(f_.+g_.*x_)))^m_.*(a_+b_.*(F_^(e_.*(c_.+d_.*x_)))^n_.)^p_.,x_Symbol] :=
+ (G^(h*(f+g*x)))^m/(F^(e*(c+d*x)))^n*Int[(F^(e*(c+d*x)))^n*(a+b*(F^(e*(c+d*x)))^n)^p,x] /;
+FreeQ[{F,G,a,b,c,d,e,f,g,h,m,n,p},x] && EqQ[d*e*n*Log[F]-g*h*m*Log[G]]
+
+
+Int[G_^(h_.(f_.+g_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_.,x_Symbol] :=
+ With[{m=FullSimplify[g*h*Log[G]/(d*e*Log[F])]},
+ Denominator[m]*G^(f*h-c*g*h/d)/(d*e*Log[F])*Subst[Int[x^(Numerator[m]-1)*(a+b*x^Denominator[m])^p,x],x,F^(e*(c+d*x)/Denominator[m])] /;
+ RationalQ[m] && Abs[m]>=1] /;
+FreeQ[{F,G,a,b,c,d,e,f,g,h,p},x]
+
+
+Int[G_^(h_.(f_.+g_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_.,x_Symbol] :=
+ With[{m=FullSimplify[d*e*Log[F]/(g*h*Log[G])]},
+ Denominator[m]/(g*h*Log[G])*Subst[Int[x^(Denominator[m]-1)*(a+b*F^(c*e-d*e*f/g)*x^Numerator[m])^p,x],x,G^(h*(f+g*x)/Denominator[m])] /;
+ RationalQ[m] && Abs[m]>1] /;
+FreeQ[{F,G,a,b,c,d,e,f,g,h,p},x]
+
+
+Int[G_^(h_.(f_.+g_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_.,x_Symbol] :=
+ Int[Expand[G^(h*(f+g*x))*(a+b*F^(e*(c+d*x)))^p,x],x] /;
+FreeQ[{F,G,a,b,c,d,e,f,g,h},x] && PositiveIntegerQ[p]
+
+
+Int[G_^(h_.(f_.+g_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_,x_Symbol] :=
+ a^p*G^(h*(f+g*x))/(g*h*Log[G])*Hypergeometric2F1[-p,g*h*Log[G]/(d*e*Log[F]),g*h*Log[G]/(d*e*Log[F])+1,Simplify[-b/a*F^(e*(c+d*x))]] /;
+FreeQ[{F,G,a,b,c,d,e,f,g,h,p},x] && (NegativeIntegerQ[p] || RationalQ[a] && a>0)
+
+
+Int[G_^(h_.(f_.+g_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_,x_Symbol] :=
+ (a+b*F^(e*(c+d*x)))^p/(1+(b/a)*F^(e*(c+d*x)))^p*Int[G^(h*(f+g*x))*(1+b/a*F^(e*(c+d*x)))^p,x] /;
+FreeQ[{F,G,a,b,c,d,e,f,g,h,p},x] && Not[NegativeIntegerQ[p] || RationalQ[a] && a>0]
+
+
+Int[G_^(h_. u_)*(a_+b_.*F_^(e_.*v_))^p_,x_Symbol] :=
+ Int[G^(h*ExpandToSum[u,x])*(a+b*F^(e*ExpandToSum[v,x]))^p,x] /;
+FreeQ[{F,G,a,b,e,h,p},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+Int[G_^(h_.(f_.+g_.*x_))*H_^(t_.(r_.+s_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_.,x_Symbol] :=
+ With[{m=FullSimplify[(g*h*Log[G]+s*t*Log[H])/(d*e*Log[F])]},
+ Denominator[m]*G^(f*h-c*g*h/d)*H^(r*t-c*s*t/d)/(d*e*Log[F])*
+ Subst[Int[x^(Numerator[m]-1)*(a+b*x^Denominator[m])^p,x],x,F^(e*(c+d*x)/Denominator[m])] /;
+ RationalQ[m]] /;
+FreeQ[{F,G,H,a,b,c,d,e,f,g,h,r,s,t,p},x]
+
+
+Int[G_^(h_.(f_.+g_.*x_))*H_^(t_.(r_.+s_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_.,x_Symbol] :=
+ G^((f-c*g/d)*h)*Int[H^(t*(r+s*x))*(b+a*F^(-e*(c+d*x)))^p,x] /;
+FreeQ[{F,G,H,a,b,c,d,e,f,g,h,r,s,t},x] && EqQ[d*e*p*Log[F]+g*h*Log[G]] && IntegerQ[p]
+
+
+Int[G_^(h_.(f_.+g_.*x_))*H_^(t_.(r_.+s_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_.,x_Symbol] :=
+ Int[Expand[G^(h*(f+g*x))*H^(t*(r+s*x))*(a+b*F^(e*(c+d*x)))^p,x],x] /;
+FreeQ[{F,G,H,a,b,c,d,e,f,g,h,r,s,t},x] && PositiveIntegerQ[p]
+
+
+Int[G_^(h_.(f_.+g_.*x_))*H_^(t_.(r_.+s_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_,x_Symbol] :=
+ a^p*G^(h*(f+g*x))*H^(t*(r+s*x))/(g*h*Log[G]+s*t*Log[H])*
+ Hypergeometric2F1[-p,(g*h*Log[G]+s*t*Log[H])/(d*e*Log[F]),(g*h*Log[G]+s*t*Log[H])/(d*e*Log[F])+1,Simplify[-b/a*F^(e*(c+d*x))]] /;
+FreeQ[{F,G,H,a,b,c,d,e,f,g,h,r,s,t},x] && NegativeIntegerQ[p]
+
+
+Int[G_^(h_.(f_.+g_.*x_))*H_^(t_.(r_.+s_.*x_))*(a_+b_.*F_^(e_.*(c_.+d_.*x_)))^p_,x_Symbol] :=
+ G^(h*(f+g*x))*H^(t*(r+s*x))*(a+b*F^(e*(c+d*x)))^p/((g*h*Log[G]+s*t*Log[H])*((a+b*F^(e*(c+d*x)))/a)^p)*
+ Hypergeometric2F1[-p,(g*h*Log[G]+s*t*Log[H])/(d*e*Log[F]),(g*h*Log[G]+s*t*Log[H])/(d*e*Log[F])+1,Simplify[-b/a*F^(e*(c+d*x))]] /;
+FreeQ[{F,G,H,a,b,c,d,e,f,g,h,r,s,t,p},x] && Not[IntegerQ[p]]
+
+
+Int[G_^(h_. u_)*H_^(t_. w_)*(a_+b_.*F_^(e_.*v_))^p_,x_Symbol] :=
+ Int[G^(h*ExpandToSum[u,x])*H^(t*ExpandToSum[w,x])*(a+b*F^(e*ExpandToSum[v,x]))^p,x] /;
+FreeQ[{F,G,H,a,b,e,h,t,p},x] && LinearQ[{u,v,w},x] && Not[LinearMatchQ[{u,v,w},x]]
+
+
+Int[F_^(e_.*(c_.+d_.*x_))*(a_.*x_^n_.+b_.*F_^(e_.*(c_.+d_.*x_)))^p_.,x_Symbol] :=
+ (a*x^n+b*F^(e*(c+d*x)))^(p+1)/(b*d*e*(p+1)*Log[F]) -
+ a*n/(b*d*e*Log[F])*Int[x^(n-1)*(a*x^n+b*F^(e*(c+d*x)))^p,x] /;
+FreeQ[{F,a,b,c,d,e,n,p},x] && NeQ[p+1]
+
+
+Int[x_^m_.*F_^(e_.*(c_.+d_.*x_))*(a_.*x_^n_.+b_.*F_^(e_.*(c_.+d_.*x_)))^p_.,x_Symbol] :=
+ x^m*(a*x^n+b*F^(e*(c+d*x)))^(p+1)/(b*d*e*(p+1)*Log[F]) -
+ a*n/(b*d*e*Log[F])*Int[x^(m+n-1)*(a*x^n+b*F^(e*(c+d*x)))^p,x] -
+ m/(b*d*e*(p+1)*Log[F])*Int[x^(m-1)*(a*x^n+b*F^(e*(c+d*x)))^(p+1),x] /;
+FreeQ[{F,a,b,c,d,e,m,n,p},x] && NeQ[p+1]
+
+
+Int[(f_.+g_.*x_)^m_./(a_.+b_.*F_^u_+c_.*F_^v_),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ 2*c/q*Int[(f+g*x)^m/(b-q+2*c*F^u),x] - 2*c/q*Int[(f+g*x)^m/(b+q+2*c*F^u),x]] /;
+FreeQ[{F,a,b,c,f,g},x] && EqQ[v-2*u] && LinearQ[u,x] && NeQ[b^2-4*a*c] && PositiveIntegerQ[m]
+
+
+Int[(f_.+g_.*x_)^m_.*F_^u_/(a_.+b_.*F_^u_+c_.*F_^v_),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ 2*c/q*Int[(f+g*x)^m*F^u/(b-q+2*c*F^u),x] - 2*c/q*Int[(f+g*x)^m*F^u/(b+q+2*c*F^u),x]] /;
+FreeQ[{F,a,b,c,f,g},x] && EqQ[v-2*u] && LinearQ[u,x] && NeQ[b^2-4*a*c] && PositiveIntegerQ[m]
+
+
+Int[(f_.+g_.*x_)^m_.*(h_+i_.*F_^u_)/(a_.+b_.*F_^u_+c_.*F_^v_),x_Symbol] :=
+ With[{q=Rt[b^2-4*a*c,2]},
+ (Simplify[(2*c*h-b*i)/q]+i)*Int[(f+g*x)^m/(b-q+2*c*F^u),x] -
+ (Simplify[(2*c*h-b*i)/q]-i)*Int[(f+g*x)^m/(b+q+2*c*F^u),x]] /;
+FreeQ[{F,a,b,c,f,g,h,i},x] && EqQ[v-2*u] && LinearQ[u,x] && NeQ[b^2-4*a*c] && PositiveIntegerQ[m]
+
+
+Int[x_^m_./(a_.*F_^(c_.+d_.*x_)+b_.*F_^v_),x_Symbol] :=
+ With[{u=IntHide[1/(a*F^(c+d*x)+b*F^v),x]},
+ x^m*u - m*Int[x^(m-1)*u,x]] /;
+FreeQ[{F,a,b,c,d},x] && EqQ[(c+d*x)+v] && RationalQ[m] && m>0
+
+
+Int[u_/(a_+b_.*F_^v_+c_.*F_^w_),x_Symbol] :=
+ Int[u*F^v/(c+a*F^v+b*F^(2*v)),x] /;
+FreeQ[{F,a,b,c},x] && LinearQ[v,x] && LinearQ[w,x] && EqQ[v+w] &&
+ If[RationalQ[Coefficient[v,x,1]], Coefficient[v,x,1]>0, LeafCount[v]0 && n<0 && n!=-1
+
+
+Int[Log[a_+b_.*(F_^(e_.*(c_.+d_.*x_)))^n_.],x_Symbol] :=
+ 1/(d*e*n*Log[F])*Subst[Int[Log[a+b*x]/x,x],x,(F^(e*(c+d*x)))^n] /;
+FreeQ[{F,a,b,c,d,e,n},x] && PositiveQ[a]
+
+
+Int[Log[a_+b_.*(F_^(e_.*(c_.+d_.*x_)))^n_.],x_Symbol] :=
+ x*Log[a+b*(F^(e*(c+d*x)))^n] - b*d*e*n*Log[F]*Int[x*(F^(e*(c+d*x)))^n/(a+b*(F^(e*(c+d*x)))^n),x] /;
+FreeQ[{F,a,b,c,d,e,n},x] && Not[PositiveQ[a]]
+
+
+(* Int[u_.*(a_.*F_^v_)^n_,x_Symbol] :=
+ a^n*Int[u*F^(n*v),x] /;
+FreeQ[{F,a},x] && IntegerQ[n] *)
+
+
+Int[u_.*(a_.*F_^v_)^n_,x_Symbol] :=
+ (a*F^v)^n/F^(n*v)*Int[u*F^(n*v),x] /;
+FreeQ[{F,a,n},x] && Not[IntegerQ[n]]
+
+
+Int[u_,x_Symbol] :=
+ With[{v=FunctionOfExponential[u,x]},
+ v/D[v,x]*Subst[Int[FunctionOfExponentialFunction[u,x]/x,x],x,v]] /;
+FunctionOfExponentialQ[u,x]
+
+
+Int[u_.*(a_.*F_^v_+b_.*F_^w_)^n_,x_Symbol] :=
+ Int[u*F^(n*v)*(a+b*F^ExpandToSum[w-v,x])^n,x] /;
+FreeQ[{F,a,b,n},x] && NegativeIntegerQ[n] && LinearQ[{v,w},x]
+
+
+Int[u_.*(a_.*F_^v_+b_.*G_^w_)^n_,x_Symbol] :=
+ Int[u*F^(n*v)*(a+b*E^ExpandToSum[Log[G]*w-Log[F]*v,x])^n,x] /;
+FreeQ[{F,G,a,b,n},x] && NegativeIntegerQ[n] && LinearQ[{v,w},x]
+
+
+Int[u_.*(a_.*F_^v_+b_.*F_^w_)^n_,x_Symbol] :=
+ (a*F^v+b*F^w)^n/(F^(n*v)*(a+b*F^ExpandToSum[w-v,x])^n)*Int[u*F^(n*v)*(a+b*F^ExpandToSum[w-v,x])^n,x] /;
+FreeQ[{F,a,b,n},x] && Not[IntegerQ[n]] && LinearQ[{v,w},x]
+
+
+Int[u_.*(a_.*F_^v_+b_.*G_^w_)^n_,x_Symbol] :=
+ (a*F^v+b*G^w)^n/(F^(n*v)*(a+b*E^ExpandToSum[Log[G]*w-Log[F]*v,x])^n)*Int[u*F^(n*v)*(a+b*E^ExpandToSum[Log[G]*w-Log[F]*v,x])^n,x] /;
+FreeQ[{F,G,a,b,n},x] && Not[IntegerQ[n]] && LinearQ[{v,w},x]
+
+
+Int[u_.*F_^v_*G_^w_,x_Symbol] :=
+ Int[u*NormalizeIntegrand[E^(v*Log[F]+w*Log[G]),x],x] /;
+FreeQ[{F,G},x] && (BinomialQ[v+w,x] || PolynomialQ[v+w,x] && Exponent[v+w,x]<=2)
+
+
+Int[F_^u_*(v_+w_)*y_.,x_Symbol] :=
+ With[{z=v*y/(Log[F]*D[u,x])},
+ F^u*z /;
+ EqQ[D[z,x]-w*y]] /;
+FreeQ[F,x]
+
+
+Int[F_^u_*v_^n_.*w_,x_Symbol] :=
+ With[{z=Log[F]*v*D[u,x]+(n+1)*D[v,x]},
+ Coefficient[w,x,Exponent[w,x]]/Coefficient[z,x,Exponent[z,x]]*F^u*v^(n+1) /;
+ Exponent[w,x]==Exponent[z,x] && EqQ[w*Coefficient[z,x,Exponent[z,x]]-z*Coefficient[w,x,Exponent[w,x]]]] /;
+FreeQ[{F,n},x] && PolynomialQ[u,x] && PolynomialQ[v,x] && PolynomialQ[w,x]
+
+
+
+`)
+
+func resourcesRubi2ExponentialsMBytes() ([]byte, error) {
+ return _resourcesRubi2ExponentialsM, nil
+}
+
+func resourcesRubi2ExponentialsM() (*asset, error) {
+ bytes, err := resourcesRubi2ExponentialsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/2 Exponentials.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi3LogarithmsM = []byte(`(* ::Package:: *)
+
+(* ::Section:: *)
+(*Logarithm Function Rules*)
+
+
+(* ::Subsection::Closed:: *)
+(*3.1 u (a+b log(c (d (e+f x)^p)^q))^n*)
+
+
+(* Int[(e_.+f_.*x_)^m_*Log[a_+b_.*x_]*(c_+d_.*x_)^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[Log[a+b*x],(e+f*x)^m*(c+d*x)^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && FractionQ[m] && IGtQ[n,0] *)
+
+
+Int[(e_.+f_.*x_)^m_*Log[a_+b_.*x_]*(c_+d_.*x_)^n_,x_Symbol] :=
+ With[{k=Denominator[m]},
+ k/f*Subst[Int[x^(k*(m+1)-1)*Log[-(b*e-a*f)/f+b*x^k/f]*(-(d*e-c*f)/f+d*x^k/f)^n,x],x,(e+f*x)^(1/k)]] /;
+FreeQ[{a,b,c,d,e,f,n},x] && FractionQ[m] && ILtQ[n,0]
+
+
+Int[Log[g_.*(h_.*(b_.*x_)^p_.)^q_.]*Log[c_+d_.*x_]/x_,x_Symbol] :=
+ -Log[g*(h*(b*x)^p)^q]*PolyLog[2,-d*x] + p*q*PolyLog[3,-d*x] /;
+FreeQ[{b,c,d,g,h,p,q},x] && EqQ[c,1]
+
+
+Int[Log[g_.*(h_.*(b_.*x_)^p_.)^q_.]*Log[cd_*(c_+d_.*x_)]/x_,x_Symbol] :=
+ -Log[g*(h*(b*x)^p)^q]*PolyLog[2,-cd*d*x] + p*q*PolyLog[3,-cd*d*x] /;
+FreeQ[{b,c,cd,d,g,h,p,q},x] && EqQ[cd*c,1]
+
+
+Int[Log[g_.*(h_.*(b_.*x_)^p_.)^q_.]*Log[i_.*(j_.*(c_+d_.*x_)^r_.)^s_.]/x_,x_Symbol] :=
+ r*s*Int[Log[g*(h*(b*x)^p)^q]*Log[1+d*x]/x,x] -
+ (r*s*Log[1+d*x]-Log[i*(j*(1+d*x)^r)^s])*Int[Log[g*(h*(b*x)^p)^q]/x,x]/;
+FreeQ[{b,c,d,g,h,i,j,p,q,r,s},x] && EqQ[c,1] && NeQ[1+d*x,i*(j*(1+d*x)^r)^s]
+
+
+Int[Log[g_.*(h_.*(b_.*x_)^p_.)^q_.]*Log[i_.*(j_.*(c_.+d_.*x_)^r_.)^s_.]/x_,x_Symbol] :=
+ Log[g*(h*(b*x)^p)^q]^2*Log[i*(j*(c+d*x)^r)^s]/(2*p*q) - d*r*s/(2*p*q)*Int[Log[g*(h*(b*x)^p)^q]^2/(c+d*x),x]/;
+FreeQ[{b,c,d,g,h,i,j,p,q,r,s},x] && NeQ[c,1]
+
+
+Int[Log[g_.*(h_.*(a_.+b_.*x_)^p_.)^q_.]*Log[i_.*(j_.*(c_.+d_.*x_)^r_.)^s_.]/x_,x_Symbol] :=
+ Log[x]*Log[g*(h*(a+b*x)^p)^q]*Log[i*(j*(c+d*x)^r)^s] -
+ d*r*s*Int[Log[x]*Log[g*(h*(a+b*x)^p)^q]/(c+d*x),x] -
+ d*p*q*Int[Log[x]*Log[i*(j*(c+d*x)^r)^s]/(c+d*x),x]/;
+FreeQ[{a,b,c,d,g,h,i,j,p,q,r,s},x] && EqQ[b*c-a*d,0]
+
+
+(*Int[Log[a_+b_.*x_]*Log[c_+d_.*x_]/x_,x_Symbol] :=*)
+ (*Log[-b*x/a]*Log[a+b*x]*Log[c+d*x] + *)
+ (*1/2*Log[-b*x/a]*Log[a*(c+d*x)/(c*(a+b*x))]^2 + *)
+ (*1/2*Log[-(b*c-a*d)/(d*(a+b*x))]*Log[a*(c+d*x)/(c*(a+b*x))]^2 - *)
+ (*1/2*Log[a*(c+d*x)/(c*(a+b*x))]^2*Log[(b*c-a*d)*x/(c*(a+b*x))] - *)
+ (*Log[-b*x/a]*Log[a+b*x]*Log[1+d*x/c] + *)
+ (*Log[-(d*x/c)]*Log[a+b*x]*Log[1+d*x/c] - *)
+ (*Log[-b*x/a]*Log[a*(c+d*x)/(c*(a+b*x))]*Log[1+d*x/c] + *)
+ (*Log[-d*x/c]*Log[a*(c+d*x)/(c*(a+b*x))]*Log[1+d*x/c] + *)
+ (*1/2*Log[-b*x/a]*Log[1+d*x/c]^2 - *)
+ (*1/2*Log[-d*x/c]*Log[1+d*x/c]^2 + *)
+ (*Log[c+d*x]*PolyLog[2,1+b*x/a] - *)
+ (*Log[a*(c+d*x)/(c*(a+b*x))]*PolyLog[2,1+b*x/a] - *)
+ (*Log[a*(c+d*x)/(c*(a+b*x))]*PolyLog[2,a*(c+d*x)/(c*(a+b*x))] + *)
+ (*Log[a*(c+d*x)/(c*(a+b*x))]*PolyLog[2,b*(c+d*x)/(d*(a+b*x))] + *)
+ (*Log[a+b*x]*PolyLog[2,1+d*x/c] + *)
+ (*Log[a*(c+d*x)/(c*(a+b*x))]*PolyLog[2,1+d*x/c] - *)
+ (*PolyLog[3,1+b*x/a] +*)
+ (*PolyLog[3,a*(c+d*x)/(c*(a+b*x))] - *)
+ (*PolyLog[3,b*(c+d*x)/(d*(a+b*x))] - *)
+ (*PolyLog[3,1+d*x/c]/;*)
+(*FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0]*)
+
+
+Int[Log[v_]*Log[w_]/x_,x_Symbol] :=
+ Int[Log[ExpandToSum[v,x]]*Log[ExpandToSum[w,x]]/x,x] /;
+LinearQ[{v,w},x] && Not[LinearMatchQ[{v,w},x]]
+
+
+Int[Log[g_.*(h_.*(a_.+b_.*x_)^p_.)^q_.]*Log[i_.*(j_.*(c_.+d_.*x_)^r_.)^s_.]/x_,x_Symbol] :=
+ p*q*Int[Log[a+b*x]*Log[i*(j*(c+d*x)^r)^s]/x,x] -
+ (p*q*Log[a+b*x]-Log[g*(h*(a+b*x)^p)^q])*Int[Log[i*(j*(c+d*x)^r)^s]/x,x]/;
+FreeQ[{a,b,c,d,g,h,i,j,p,q,r,s},x] && NeQ[b*c-a*d,0] && NeQ[a+b*x,g*(h*(a+b*x)^p)^q]
+
+
+Int[Log[g_.*(h_.*(a_.+b_.*x_)^p_.)^q_.]*Log[i_.*(j_.*(c_.+d_.*x_)^r_.)^s_.]/(e_+f_.*x_),x_Symbol] :=
+ 1/f*Subst[Int[Log[g*(h*Simp[-(b*e-a*f)/f+b*x/f,x]^p)^q]*Log[i*(j*Simp[-(d*e-c*f)/f+d*x/f,x]^r)^s]/x,x],x,e+f*x]/;
+FreeQ[{a,b,c,d,e,f,g,h,i,j,p,q,r,s},x]
+
+
+Int[(e_.+f_.*x_)^m_.*Log[g_.*(h_.*(a_.+b_.*x_)^p_.)^q_.]*Log[i_.*(j_.*(c_.+d_.*x_)^r_.)^s_.],x_Symbol] :=
+ (e+f*x)^(m+1)*Log[g*(h*(a+b*x)^p)^q]*Log[i*(j*(c+d*x)^r)^s]/(f*(m+1)) -
+ d*r*s/(f*(m+1))*Int[(e+f*x)^(m+1)*Log[g*(h*(a+b*x)^p)^q]/(c+d*x),x] -
+ b*p*q/(f*(m+1))*Int[(e+f*x)^(m+1)*Log[i*(j*(c+d*x)^r)^s]/(a+b*x),x]/;
+FreeQ[{a,b,c,d,e,f,g,h,i,j,m,p,q,r,s},x] && m!=-1 && RationalQ[m]
+
+
+Int[(e_.+f_.*x_)^m_.*Log[g_.*(h_.*(a_.+b_.*x_)^p_.)^q_.]*Log[i_.*(j_.*(c_.+d_.*x_)^r_.)^s_.],x_Symbol] :=
+ Defer[Int][(e+f*x)^m*Log[g*(h*(a+b*x)^p)^q]*Log[i*(j*(c+d*x)^r)^s],x]/;
+FreeQ[{a,b,c,d,e,f,g,h,i,j,m,p,q,r,s},x]
+
+
+Int[Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.],x_Symbol] :=
+ (e+f*x)*Log[c*(d*(e+f*x)^p)^q]/f - p*q*x /;
+FreeQ[{c,d,e,f,p,q},x]
+
+
+Int[(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_,x_Symbol] :=
+ (e+f*x)*(a+b*Log[c*(d*(e+f*x)^p)^q])^n/f - b*n*p*q*Int[(a+b*Log[c*(d*(e+f*x)^p)^q])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && GtQ[n,0]
+
+
+Int[1/Log[d_.*(e_.+f_.*x_)],x_Symbol] :=
+ LogIntegral[d*(e+f*x)]/(d*f) /;
+FreeQ[{d,e,f},x]
+
+
+Int[1/(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.]),x_Symbol] :=
+ (e+f*x)/(b*f*p*q*E^(a/(b*p*q))*(c*(d*(e+f*x)^p)^q)^(1/(p*q)))*ExpIntegralEi[(a+b*Log[c*(d*(e+f*x)^p)^q])/(b*p*q)] /;
+FreeQ[{a,b,c,d,e,f,p,q},x]
+
+
+Int[1/Sqrt[a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.]],x_Symbol] :=
+ Sqrt[Pi]*Rt[b*p*q,2]*(e+f*x)/(b*f*p*q*E^(a/(b*p*q))*(c*(d*(e+f*x)^p)^q)^(1/(p*q)))*
+ Erfi[Sqrt[a+b*Log[c*(d*(e+f*x)^p)^q]]/Rt[b*p*q,2]] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && PosQ[b*p*q]
+
+
+Int[1/Sqrt[a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.]],x_Symbol] :=
+ Sqrt[Pi]*Rt[-b*p*q,2]*(e+f*x)/(b*f*p*q*E^(a/(b*p*q))*(c*(d*(e+f*x)^p)^q)^(1/(p*q)))*
+ Erf[Sqrt[a+b*Log[c*(d*(e+f*x)^p)^q]]/Rt[-b*p*q,2]] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && NegQ[b*p*q]
+
+
+Int[(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_,x_Symbol] :=
+ (e+f*x)*(a+b*Log[c*(d*(e+f*x)^p)^q])^(n+1)/(b*f*p*q*(n+1)) -
+ 1/(b*p*q*(n+1))*Int[(a+b*Log[c*(d*(e+f*x)^p)^q])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && LtQ[n,-1]
+
+
+Int[(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_,x_Symbol] :=
+ (e+f*x)*(a+b*Log[c*(d*(e+f*x)^p)^q])^n/
+ (f*E^(a/(b*p*q))*(c*(d*(e+f*x)^p)^q)^(1/(p*q))*(-(a+b*Log[c*(d*(e+f*x)^p)^q])/(b*p*q))^n)*
+ Gamma[n+1,-(a+b*Log[c*(d*(e+f*x)^p)^q])/(b*p*q)] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && Not[IntegerQ[2*n]]
+
+
+Int[1/((g_.+h_.*x_)*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])),x_Symbol] :=
+ Log[RemoveContent[a+b*Log[c*(d*(e+f*x)^p)^q],x]]/(b*h*p*q) /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q},x] && EqQ[f*g-e*h,0]
+
+
+Int[(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_./(g_.+h_.*x_),x_Symbol] :=
+ (a+b*Log[c*(d*(e+f*x)^p)^q])^(n+1)/(b*h*p*q*(n+1)) /;
+FreeQ[{a,b,c,d,e,f,g,h,n,p,q},x] && EqQ[f*g-e*h,0] && NeQ[n,-1]
+
+
+Int[(g_.+h_.*x_)^m_.*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_.,x_Symbol] :=
+ (g+h*x)^(m+1)*(a+b*Log[c*(d*(e+f*x)^p)^q])^n/(h*(m+1)) -
+ b*n*p*q/(m+1)*Int[(g+h*x)^m*(a+b*Log[c*(d*(e+f*x)^p)^q])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,p,q},x] && EqQ[f*g-e*h,0] && NeQ[m,-1] && GtQ[n,0]
+
+
+Int[(g_.+h_.*x_)^m_./Log[d_.*(e_.+f_.*x_)^p_.],x_Symbol] :=
+ (h/f)^(p-1)*LogIntegral[d*(e+f*x)^p]/(d*f*p) /;
+FreeQ[{d,e,f,g,h,m,p},x] && EqQ[m-(p-1),0] && EqQ[f*g-e*h,0] && (IntegerQ[p] || PositiveQ[h/f])
+
+
+Int[(g_.+h_.*x_)^m_/Log[d_.*(e_.+f_.*x_)^p_.],x_Symbol] :=
+ (g+h*x)^(p-1)/(e+f*x)^(p-1)*Int[(e+f*x)^(p-1)/Log[d*(e+f*x)^p],x] /;
+FreeQ[{d,e,f,g,h,m,p},x] && EqQ[m-(p-1),0] && EqQ[f*g-e*h,0] && Not[IntegerQ[p] || PositiveQ[h/f]]
+
+
+Int[(g_.+h_.*x_)^m_./(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.]),x_Symbol] :=
+ (g+h*x)^(m+1)/(b*h*p*q*E^(a*(m+1)/(b*p*q))*(c*(d*(e+f*x)^p)^q)^((m+1)/(p*q)))*
+ ExpIntegralEi[(m+1)*(a+b*Log[c*(d*(e+f*x)^p)^q])/(b*p*q)] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,p,q},x] && EqQ[f*g-e*h,0] && NeQ[m,-1]
+
+
+Int[(g_.+h_.*x_)^m_./Sqrt[a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.]],x_Symbol] :=
+ Sqrt[Pi]*(g+h*x)^(m+1)/(b*h*p*q*Rt[(m+1)/(b*p*q),2]*E^(a*(m+1)/(b*p*q))*(c*(d*(e+f*x)^p)^q)^((m+1)/(p*q)))*
+ Erfi[Rt[(m+1)/(b*p*q),2]*Sqrt[a+b*Log[c*(d*(e+f*x)^p)^q]]] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,p,q},x] && EqQ[f*g-e*h,0] && NeQ[m,-1] && PosQ[(m+1)/(b*p*q)]
+
+
+Int[(g_.+h_.*x_)^m_./Sqrt[a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.]],x_Symbol] :=
+ Sqrt[Pi]*(g+h*x)^(m+1)/(b*h*p*q*Rt[-(m+1)/(b*p*q),2]*E^(a*(m+1)/(b*p*q))*(c*(d*(e+f*x)^p)^q)^((m+1)/(p*q)))*
+ Erf[Rt[-(m+1)/(b*p*q),2]*Sqrt[a+b*Log[c*(d*(e+f*x)^p)^q]]] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,p,q},x] && EqQ[f*g-e*h,0] && NeQ[m,-1] && NegQ[(m+1)/(b*p*q)]
+
+
+Int[(g_.+h_.*x_)^m_.*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_,x_Symbol] :=
+ (g+h*x)^(m+1)*(a+b*Log[c*(d*(e+f*x)^p)^q])^(n+1)/(b*h*p*q*(n+1)) -
+ (m+1)/(b*p*q*(n+1))*Int[(g+h*x)^m*(a+b*Log[c*(d*(e+f*x)^p)^q])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,p,q},x] && EqQ[f*g-e*h,0] && NeQ[m,-1] && LtQ[n,-1]
+
+
+Int[(g_.+h_.*x_)^m_.*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_.,x_Symbol] :=
+ (g+h*x)^(m+1)*(a+b*Log[c*(d*(e+f*x)^p)^q])^n/
+ (h*(m+1)*E^(a*(m+1)/(b*p*q))*(c*(d*(e+f*x)^p)^q)^((m+1)/(p*q))*(-(m+1)*(a+b*Log[c*(d*(e+f*x)^p)^q])/(b*p*q))^n)*
+ Gamma[n+1,-(m+1)*(a+b*Log[c*(d*(e+f*x)^p)^q])/(b*p*q)] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n,p},x] && EqQ[f*g-e*h,0] && NeQ[m,-1]
+
+
+Int[Log[c_.*(e_.+f_.*x_)]/(g_.+h_.*x_),x_Symbol] :=
+ -1/h*PolyLog[2,-Together[c*f/h]*(g+h*x)] /;
+FreeQ[{c,e,f,g,h},x] && EqQ[h+c*(f*g-e*h),0]
+
+
+Int[(a_.+b_.*Log[c_.*(e_.+f_.*x_)])/(g_.+h_.*x_),x_Symbol] :=
+ (a+b*Log[c*(e-f*g/h)])*Log[g+h*x]/h + b*Int[Log[-h*(e+f*x)/(f*g-e*h)]/(g+h*x),x] /;
+FreeQ[{a,b,c,e,f,g,h},x] && NeQ[h+c*(f*g-e*h),0] && PositiveQ[c*(e-f*g/h)]
+
+
+Int[(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_./(g_.+h_.*x_),x_Symbol] :=
+ (a+b*Log[c*(d*(e+f*x)^p)^q])^n/h*Log[f*(g+h*x)/(f*g-e*h)] -
+ b*f*n*p*q/h*Int[(a+b*Log[c*(d*(e+f*x)^p)^q])^(n-1)*Log[f*(g+h*x)/(f*g-e*h)]/(e+f*x),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q},x] && NeQ[f*g-e*h,0] && PositiveIntegerQ[n]
+
+
+Int[(g_.+h_.*x_)^m_.*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.]),x_Symbol] :=
+ (g+h*x)^(m+1)*(a+b*Log[c*(d*(e+f*x)^p)^q])/(h*(m+1)) -
+ b*f*p*q/(h*(m+1))*Int[(g+h*x)^(m+1)/(e+f*x),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,p,q},x] && NeQ[f*g-e*h,0] && NeQ[m,-1]
+
+
+Int[(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_/(g_.+h_.*x_)^2,x_Symbol] :=
+ (e+f*x)*(a+b*Log[c*(d*(e+f*x)^p)^q])^n/((f*g-e*h)*(g+h*x)) -
+ b*f*n*p*q/(f*g-e*h)*Int[(a+b*Log[c*(d*(e+f*x)^p)^q])^(n-1)/(g+h*x),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q},x] && NeQ[f*g-e*h,0] && GtQ[n,0]
+
+
+Int[(g_.+h_.*x_)^m_.*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_,x_Symbol] :=
+ (g+h*x)^(m+1)*(a+b*Log[c*(d*(e+f*x)^p)^q])^n/(h*(m+1)) -
+ b*f*n*p*q/(h*(m+1))*Int[(g+h*x)^(m+1)*(a+b*Log[c*(d*(e+f*x)^p)^q])^(n-1)/(e+f*x),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,p,q},x] && NeQ[f*g-e*h,0] && GtQ[n,0] && NeQ[m,-1] && IntegersQ[2*m,2*n] &&
+ (n==1 || Not[PositiveIntegerQ[m]] || n==2 && NeQ[m,1])
+
+
+Int[(g_.+h_.*x_)^m_./(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.]),x_Symbol] :=
+ Int[ExpandIntegrand[(g+h*x)^m/(a+b*Log[c*(d*(e+f*x)^p)^q]),x],x] /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q},x] && NeQ[f*g-e*h,0] && PositiveIntegerQ[m]
+
+
+Int[(g_.+h_.*x_)^m_.*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_,x_Symbol] :=
+ (e+f*x)*(g+h*x)^m*(a+b*Log[c*(d*(e+f*x)^p)^q])^(n+1)/(b*f*p*q*(n+1)) +
+ m*(f*g-e*h)/(b*f*p*q*(n+1))*Int[(g+h*x)^(m-1)*(a+b*Log[c*(d*(e+f*x)^p)^q])^(n+1),x] -
+ (m+1)/(b*p*q*(n+1))*Int[(g+h*x)^m*(a+b*Log[c*(d*(e+f*x)^p)^q])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q},x] && NeQ[f*g-e*h,0] && LtQ[n,-1] && GtQ[m,0]
+
+
+Int[(g_.+h_.*x_)^m_.*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[(g+h*x)^m*(a+b*Log[c*(d*(e+f*x)^p)^q])^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,h,n,p,q},x] && NeQ[f*g-e*h,0] && PositiveIntegerQ[m]
+
+
+Int[u_^m_.*(a_.+b_.*Log[c_.*(d_.*v_^p_)^q_.])^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*(a+b*Log[c*(d*ExpandToSum[v,x]^p)^q])^n,x] /;
+FreeQ[{a,b,c,d,m,n,p,q},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+Int[(g_.+h_.*x_)^m_.*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_.,x_Symbol] :=
+ Defer[Int][(g+h*x)^m*(a+b*Log[c*(d*(e+f*x)^p)^q])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n,p,q},x]
+
+
+Int[Log[c_./(e_.+f_.*x_)]/((g_.+h_.*x_)*(i_.+j_.*x_)),x_Symbol] :=
+ f/(h*(f*i-e*j))*PolyLog[2,Simplify[f*(i+j*x)/(j*(e+f*x))]] /;
+FreeQ[{c,e,f,g,h,i,j},x] && EqQ[f*g-e*h,0] && EqQ[f*i+j*(c-e),0]
+
+
+Int[(a_+b_.*Log[c_./(e_.+f_.*x_)])/((g_.+h_.*x_)*(i_.+j_.*x_)),x_Symbol] :=
+ a*Int[1/((g+h*x)*(i+j*x)),x] + b*Int[Log[c/(e+f*x)]/((g+h*x)*(i+j*x)),x] /;
+FreeQ[{a,b,c,e,f,g,h,i,j},x] && EqQ[f*g-e*h,0] && EqQ[f*i+j*(c-e),0]
+
+
+Int[(i_.+j_.*x_)^m_.*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])/(g_.+h_.*x_),x_Symbol] :=
+ With[{u=IntHide[(i+j*x)^m/(g+h*x),x]},
+ Dist[a+b*Log[c*(d*(e+f*x)^p)^q],u] - b*h*p*q*Int[SimplifyIntegrand[u/(g+h*x),x],x]] /;
+FreeQ[{a,b,c,d,e,f,g,h,i,j,p,q},x] && EqQ[f*g-e*h,0] && IntegerQ[m+1/2]
+
+
+Int[(i_.+j_.*x_)^m_.*(a_.+b_.*Log[c_.*(e_.+f_.*x_)])^n_./(g_.+h_.*x_),x_Symbol] :=
+ 1/(c^m*f^m*h)*Subst[Int[(a+b*x)^n*(c*f*i-c*e*j+j*E^x)^m,x],x,Log[c*(e+f*x)]] /;
+FreeQ[{a,b,c,e,f,g,h,i,j,n},x] && EqQ[f*g-e*h,0] && PositiveIntegerQ[m] && (IntegerQ[n] || m>0)
+
+
+Int[(i_.+j_.*x_)^m_.*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_./(g_.+h_.*x_),x_Symbol] :=
+ With[{u=ExpandIntegrand[(a+b*Log[c*(d*(e+f*x)^p)^q])^n,(i+j*x)^m/(g+h*x),x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{a,b,c,d,e,f,g,h,i,j,p,q},x] && IntegerQ[m] && PositiveIntegerQ[n]
+
+
+Int[(i_.+j_.*x_)^m_.*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_./(g_.+h_.*x_),x_Symbol] :=
+ Defer[Int][(i+j*x)^m*(a+b*Log[c*(d*(e+f*x)^p)^q])^n/(g+h*x),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,i,j,m,n,p,q},x]
+
+
+Int[Log[j_.*(k_.+m_.*x_)]/(g_.+h_.*x_)*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_.,x_Symbol] :=
+ -PolyLog[2,Together[1-j*(k+m*x)]]/h*(a+b*Log[c*(d*(e+f*x)^p)^q])^n +
+ b*f*n*p*q/h*Int[PolyLog[2,Together[1-j*(k+m*x)]]/(e+f*x)*(a+b*Log[c*(d*(e+f*x)^p)^q])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,j,k,m,p,q},x] && EqQ[h-h*j*k+g*j*m,0] && GtQ[n,0]
+
+
+Int[Log[i_.*(j_.*(k_.+m_.*x_)^r_.)^s_.]*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_./(g_.+h_.*x_),x_Symbol] :=
+ Log[i*(j*(k+m*x)^r)^s]*(a+b*Log[c*(d*(e+f*x)^p)^q])^(n+1)/(b*h*p*q*(n+1)) -
+ m*r*s/(b*h*p*q*(n+1))*Int[(a+b*Log[c*(d*(e+f*x)^p)^q])^(n+1)/(k+m*x),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,i,j,k,m,n,p,q,r,s},x] && EqQ[f*g-e*h,0] && NeQ[n,-1]
+
+
+Int[Log[c_./(e_.+f_.*x_)]/(g_+h_.*x_^2),x_Symbol] :=
+ -f/(2*e*h)*PolyLog[2,Simplify[(-e+f*x)/(e+f*x)]] /;
+FreeQ[{c,e,f,g,h},x] && EqQ[f^2*g+e^2*h,0] && EqQ[c-2*e,0]
+
+
+Int[(a_.+b_.*Log[c_./(e_.+f_.*x_)])/(g_+h_.*x_^2),x_Symbol] :=
+ (a+b*Log[c/(2*e)])*Int[1/(g+h*x^2),x] + b*Int[Log[2*e/(e+f*x)]/(g+h*x^2),x] /;
+FreeQ[{c,e,f,g,h},x] && EqQ[f^2*g+e^2*h,0] && PositiveQ[c/(2*e)] && (NeQ[c-2*e,0] || NeQ[a,0])
+
+
+Int[(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])/(g_.+h_.*x_+i_.*x_^2),x_Symbol] :=
+ e*f*Int[(a+b*Log[c*(d*(e+f*x)^p)^q])/((e+f*x)*(f*g+e*i*x)),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,i,p,q},x] && EqQ[f^2*g-e*f*h+e^2*i,0]
+
+
+Int[(a_.+b_.*Log[c_.*(d_.*(e_+f_.*x_)^p_.)^q_.])/(g_+i_.*x_^2),x_Symbol] :=
+ e*f*Int[(a+b*Log[c*(d*(e+f*x)^p)^q])/((e+f*x)*(f*g+e*i*x)),x] /;
+FreeQ[{a,b,c,d,e,f,g,i,p,q},x] && EqQ[f^2*g+e^2*i,0]
+
+
+Int[(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])/Sqrt[g_+h_.*x_^2],x_Symbol] :=
+ With[{u=IntHide[1/Sqrt[g+h*x^2],x]},
+ u*(a+b*Log[c*(d*(e+f*x)^p)^q]) - b*f*p*q*Int[SimplifyIntegrand[u/(e+f*x),x],x]] /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q},x] && PositiveQ[g]
+
+
+Int[(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])/(Sqrt[g1_+h1_.*x_]*Sqrt[g2_+h2_.*x_]),x_Symbol] :=
+ With[{u=IntHide[1/Sqrt[g1*g2+h1*h2*x^2],x]},
+ u*(a+b*Log[c*(d*(e+f*x)^p)^q]) - b*f*p*q*Int[SimplifyIntegrand[u/(e+f*x),x],x]] /;
+FreeQ[{a,b,c,d,e,f,g1,h1,g2,h2,p,q},x] && EqQ[g2*h1+g1*h2,0] && PositiveQ[g1] && PositiveQ[g2]
+
+
+Int[(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])/Sqrt[g_+h_.*x_^2],x_Symbol] :=
+ Sqrt[1+h/g*x^2]/Sqrt[g+h*x^2]*Int[(a+b*Log[c*(d*(e+f*x)^p)^q])/Sqrt[1+h/g*x^2],x] /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q},x] && Not[PositiveQ[g]]
+
+
+Int[(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])/(Sqrt[g1_+h1_.*x_]*Sqrt[g2_+h2_.*x_]),x_Symbol] :=
+ Sqrt[1+h1*h2/(g1*g2)*x^2]/(Sqrt[g1+h1*x]*Sqrt[g2+h2*x])*Int[(a+b*Log[c*(d*(e+f*x)^p)^q])/Sqrt[1+h1*h2/(g1*g2)*x^2],x] /;
+FreeQ[{a,b,c,d,e,f,g1,h1,g2,h2,p,q},x] && EqQ[g2*h1+g1*h2,0]
+
+
+Int[Log[1+i_.*(j_.+k_.*x_)^m_.]/(g_.+h_.*x_)*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_.,x_Symbol] :=
+ -PolyLog[2,-i*(j+k*x)^m]/(h*m)*(a+b*Log[c*(d*(e+f*x)^p)^q])^n +
+ b*f*n*p*q/(h*m)*Int[PolyLog[2,-i*(j+k*x)^m]/(e+f*x)*(a+b*Log[c*(d*(e+f*x)^p)^q])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,i,j,k,m,p,q},x] && GtQ[n,0] && EqQ[h*j-g*k,0]
+
+
+Int[PolyLog[r_,i_.*(j_.+k_.*x_)^m_.]/(g_.+h_.*x_)*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_.,x_Symbol] :=
+ PolyLog[r+1,i*(j+k*x)^m]/(h*m)*(a+b*Log[c*(d*(e+f*x)^p)^q])^n -
+ b*f*n*p*q/(h*m)*Int[PolyLog[r+1,i*(j+k*x)^m]/(e+f*x)*(a+b*Log[c*(d*(e+f*x)^p)^q])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,i,j,k,m,p,q,r},x] && GtQ[n,0] && EqQ[h*j-g*k,0]
+
+
+Int[Px_.*F_[g_.+h_.*x_]^m_.*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.]),x_Symbol] :=
+ With[{u=IntHide[Px*F[g+h*x]^m,x]},
+ Dist[(a+b*Log[c*(d*(e+f*x)^p)^q]),u,x] - b*f*p*q*Int[SimplifyIntegrand[u/(e+f*x),x],x]] /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q},x] && PolynomialQ[Px,x] && PositiveIntegerQ[m] &&
+ MemberQ[{Log,ArcSin,ArcCos,ArcTan,ArcCot,ArcSinh, ArcCosh,ArcTanh, ArcCoth},F]
+
+
+Int[(a_.+b_.*Log[c_.*(d_.*(e_+f_.*x_^m_)^p_.)^q_.])^n_./x_,x_Symbol] :=
+ 1/m*Subst[Int[(a+b*Log[c*(d*(e+f*x)^p)^q])^n/x,x],x,x^m] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q},x] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*Log[c_.*(d_.*(x_^m_*(f_+e_.*x_^r_.))^p_.)^q_.])^n_./x_,x_Symbol] :=
+ 1/m*Subst[Int[(a+b*Log[c*(d*(e+f*x)^p)^q])^n/x,x],x,x^m] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q},x] && EqQ[m+r,0] && PositiveIntegerQ[n]
+
+
+Int[x_^r1_.*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_^r_)^p_.)^q_.])^n_.,x_Symbol] :=
+ 1/r*Subst[Int[(a+b*Log[c*(d*(e+f*x)^p)^q])^n,x],x,x^r] /;
+FreeQ[{a,b,c,d,e,f,n,p,q,r},x] && EqQ[r1-(r-1),0]
+
+
+Int[x_^r1_.*(g_.+h_.*x_^r_)^m_.*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_^r_)^p_.)^q_.])^n_.,x_Symbol] :=
+ 1/r*Subst[Int[(g+h*x)^m*(a+b*Log[c*(d*(e+f*x)^p)^q])^n,x],x,x^r] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n,p,q,r},x] && EqQ[r1-(r-1),0]
+
+
+Int[(a_.+b_.*Log[c_.*x_^n_.])/(d_+e_.*x_^2),x_Symbol] :=
+ With[{u=IntHide[1/(d+e*x^2),x]},
+ Dist[(a+b*Log[c*x^n]),u] - b*n*Int[u/x,x]] /;
+FreeQ[{a,b,c,d,e,n},x]
+
+
+Int[Log[c_.*(a_.+b_.*x_^mn_)]/(x_*(d_+e_.*x_^n_.)),x_Symbol] :=
+ 1/(d*n)*PolyLog[2,-Together[b*c*(d+e*x^n)/(d*x^n)]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n+mn,0] && EqQ[d-a*c*d+b*c*e,0]
+
+
+Int[Log[c_.*x_^mn_*(b_.+a_.*x_^n_.)]/(x_*(d_+e_.*x_^n_.)),x_Symbol] :=
+ 1/(d*n)*PolyLog[2,-Together[b*c*(d+e*x^n)/(d*x^n)]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n+mn,0] && EqQ[d-a*c*d+b*c*e,0]
+
+
+Int[Px_*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[Px*(a+b*Log[c*(d*(e+f*x)^p)^q])^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,n,p,q},x] && PolynomialQ[Px,x]
+
+
+Int[RFx_*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[(a+b*Log[c*(d*(e+f*x)^p)^q])^n,RFx,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n]
+
+
+Int[RFx_*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[RFx*(a+b*Log[c*(d*(e+f*x)^p)^q])^n,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{a,b,c,d,e,f,p,q},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n]
+
+
+Int[u_.*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_+g_.*x_^2)^p_.)^q_.])^n_.,x_Symbol] :=
+ Int[u*(a+b*Log[c*(d*(f+2*g*x)^(2*p)/(4^p*g^p))^q])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,q,n},x] && EqQ[f^2-4*e*g,0] && IntegerQ[p]
+
+
+Int[u_.*(a_.+b_.*Log[c_.*(d_.*v_^p_.)^q_.])^n_.,x_Symbol] :=
+ Int[u*(a+b*Log[c*(d*ExpandToSum[v,x]^p)^q])^n,x] /;
+FreeQ[{a,b,c,d,n,p,q},x] && LinearQ[v,x] &&
+ Not[MatchQ[c*(d*v^p)^q, cc_.*(dd_.*(e_.+f_.*x)^pp_.)^qq_. /; FreeQ[{cc,dd,e,f,pp,qq},x]]]
+
+
+Int[Log[a_.*(b_.*(c_.*x_^n_.)^p_)^q_]^r_.,x_Symbol] :=
+ Subst[Int[Log[x^(n*p*q)]^r,x],x^(n*p*q),a*(b*(c*x^n)^p)^q] /;
+FreeQ[{a,b,c,n,p,q,r},x]
+
+
+Int[x_^m_.*Log[a_.*(b_.*(c_.*x_^n_.)^p_)^q_]^r_.,x_Symbol] :=
+ Subst[Int[x^m*Log[x^(n*p*q)]^r,x],x^(n*p*q),a*(b*(c*x^n)^p)^q] /;
+FreeQ[{a,b,c,m,n,p,q,r},x] && NeQ[m,-1] && Not[x^(n*p*q)===a*(b*(c*x^n)^p)^q]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*3.2 u log(e (f (a+b x)^p (c+d x)^q)^r)^s*)
+
+
+Int[u_.*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_.,x_Symbol] :=
+ Int[u*Log[e*(b^p*f/d^p*(c+d*x)^(p+q))^r]^s,x] /;
+FreeQ[{a,b,c,d,e,f,p,q,r,s},x] && EqQ[b*c-a*d,0] && IntegerQ[p]
+
+
+Int[Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_.,x_Symbol] :=
+ (a+b*x)*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^s/b -
+ r*s/b*Int[(b*c*p+a*d*q+b*d*(p+q)*x)*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^(s-1)/(c+d*x),x] /;
+FreeQ[{a,b,c,d,e,f,p,q,r,s},x] && NeQ[b*c-a*d,0] && IGtQ[s,0]
+
+
+Int[Log[e_.*(a_.+b_.*x_)/(c_.+d_.*x_)]/(g_.+h_.*x_),x_Symbol] :=
+ 1/h*PolyLog[2,Together[c-a*e]/(c+d*x)] /;
+FreeQ[{a,b,c,d,e,g,h},x] && NeQ[b*c-a*d,0] && EqQ[d*g-c*h,0] && EqQ[d-b*e,0]
+
+
+Int[Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_./(g_.+h_.*x_),x_Symbol] :=
+ -Log[-(b*c-a*d)/(d*(a+b*x))]*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^s/h +
+ p*r*s (b*c-a*d)/h*Int[Log[-(b*c-a*d)/(d*(a+b*x))]*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^(s-1)/((a+b*x)*(c+d*x)),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q,r,s},x] && NeQ[b*c-a*d,0] && IGtQ[s,0] && EqQ[b*g-a*h,0] && EqQ[p+q,0]
+
+
+Int[Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]/(g_.+h_.*x_),x_Symbol] :=
+ Log[g+h*x]*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]/h -
+ b*p*r/h*Int[Log[g+h*x]/(a+b*x),x] -
+ d*q*r/h*Int[Log[g+h*x]/(c+d*x),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q,r},x] && NeQ[b*c-a*d,0]
+
+
+Int[Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_/(g_.+h_.*x_),x_Symbol] :=
+ d/h*Int[Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^s/(c+d*x),x] -
+ (d*g-c*h)/h*Int[Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^s/((c+d*x)*(g+h*x)),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q,r,s},x] && NeQ[b*c-a*d,0] && IGtQ[s,1]
+
+
+Int[Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_./(g_.+h_.*x_)^2,x_Symbol] :=
+ (a+b*x)*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^s/((b*g-a*h)*(g+h*x)) -
+ p*r*s*(b*c-a*d)/(b*g-a*h)*Int[Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^(s-1)/((c+d*x)*(g+h*x)),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q,r,s},x] && NeQ[b*c-a*d,0] && IGtQ[s,0] && EqQ[p+q,0] && NeQ[b*g-a*h,0]
+
+
+Int[Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_/(g_.+h_.*x_)^3,x_Symbol] :=
+ d/(d*g-c*h)*Int[Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^s/(g+h*x)^2,x] -
+ h/(d*g-c*h)*Int[(c+d*x)*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^s/(g+h*x)^3,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q,r,s},x] && NeQ[b*c-a*d,0] && IGtQ[s,0] && EqQ[p+q,0] && EqQ[b*g-a*h,0] && NeQ[d*g-c*h,0]
+
+
+Int[(g_.+h_.*x_)^m_.*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_.,x_Symbol] :=
+ (g+h*x)^(m+1)*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^s/(h*(m+1)) -
+ p*r*s*(b*c-a*d)/(h*(m+1))*Int[(g+h*x)^(m+1)*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^(s-1)/((a+b*x)*(c+d*x)),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,p,q,r,s},x] && NeQ[b*c-a*d,0] && IGtQ[s,0] && NeQ[m,-1] && EqQ[p+q,0]
+
+
+Int[(g_.+h_.*x_)^m_.*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_.,x_Symbol] :=
+ (g+h*x)^(m+1)*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^s/(h*(m+1)) -
+ b*p*r*s/(h*(m+1))*Int[(g+h*x)^(m+1)*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^(s-1)/(a+b*x),x] -
+ d*q*r*s/(h*(m+1))*Int[(g+h*x)^(m+1)*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^(s-1)/(c+d*x),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,p,q,r,s},x] && NeQ[b*c-a*d,0] && IGtQ[s,0] && NeQ[m,-1] && NeQ[p+q,0]
+
+
+Int[1/((g_.+h_.*x_)^2*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]),x_Symbol] :=
+ b*(c+d*x)*(e*(f*(a+b*x)^p*(c+d*x)^q)^r)^(1/(p*r))/(h*p*r*(b*c-a*d)*(g+h*x))*
+ ExpIntegralEi[-1/(p*r)*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]] /;
+FreeQ[{a,b,c,d,e,f,g,h,p,q,r},x] && NeQ[b*c-a*d,0] && EqQ[p+q,0] && EqQ[b*g-a*h,0]
+
+
+Int[Log[i_.*(j_.*(h_.*x_)^t_.)^u_.]^m_.*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]/x_,x_Symbol] :=
+ Log[i*(j*(h*x)^t)^u]^(m+1)*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]/(t*u*(m+1)) -
+ b*p*r/(t*u*(m+1))*Int[Log[i*(j*(h*x)^t)^u]^(m+1)/(a+b*x),x] -
+ d*q*r/(t*u*(m+1))*Int[Log[i*(j*(h*x)^t)^u]^(m+1)/(c+d*x),x] /;
+FreeQ[{a,b,c,d,e,f,h,i,j,m,p,q,r,t,u},x] && NeQ[b*c-a*d,0] && IGtQ[m,0]
+
+
+Int[Log[i_.*(j_.*(h_.*x_)^t_.)^u_.]^m_.*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_./x_,x_Symbol] :=
+ Defer[Int][Log[i*(j*(h*x)^t)^u]^m*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^s/x,x] /;
+FreeQ[{a,b,c,d,e,f,h,i,j,m,p,q,r,s,t,u},x] && NeQ[b*c-a*d,0]
+
+
+Int[u_*Log[e_.*(c_.+d_.*x_)/(a_.+b_.*x_)],x_Symbol] :=
+ With[{g=Coeff[Simplify[1/(u*(a+b*x))],x,0],h=Coeff[Simplify[1/(u*(a+b*x))],x,1]},
+ -(b-d*e)*PolyLog[2,(b-d*e)*(g+h*x)/(h*(a+b*x))]/(e*h*(b*c-a*d)) /;
+ EqQ[g*(b-d*e)-h*(a-c*e),0]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b*c-a*d,0] && LinearQ[Simplify[1/(u*(a+b*x))],x]
+
+
+Int[u_*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_.,x_Symbol] :=
+ With[{g=Coeff[Simplify[1/(u*(a+b*x))],x,0],h=Coeff[Simplify[1/(u*(a+b*x))],x,1]},
+ -Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^s/(b*g-a*h)*Log[-(b*c-a*d)*(g+h*x)/((d*g-c*h)*(a+b*x))] +
+ p*r*s*(b*c-a*d)/(b*g-a*h)*
+ Int[Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^(s-1)/((a+b*x)*(c+d*x))*Log[-(b*c-a*d)*(g+h*x)/((d*g-c*h)*(a+b*x))],x] /;
+ NeQ[b*g-a*h,0] && NeQ[d*g-c*h,0]] /;
+FreeQ[{a,b,c,d,e,f,p,q,r,s},x] && NeQ[b*c-a*d,0] && IGtQ[s,0] && EqQ[p+q,0] && LinearQ[Simplify[1/(u*(a+b*x))],x]
+
+
+Int[u_/Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.],x_Symbol] :=
+ With[{h=Simplify[u*(a+b*x)*(c+d*x)]},
+ h*Log[Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]]/(p*r*(b*c-a*d)) /;
+ FreeQ[h,x]] /;
+FreeQ[{a,b,c,d,e,f,p,q,r},x] && NeQ[b*c-a*d,0] && EqQ[p+q,0]
+
+
+Int[u_*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_.,x_Symbol] :=
+ With[{h=Simplify[u*(a+b*x)*(c+d*x)]},
+ h*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^(s+1)/(p*r*(s+1)*(b*c-a*d)) /;
+ FreeQ[h,x]] /;
+FreeQ[{a,b,c,d,e,f,p,q,r,s},x] && NeQ[b*c-a*d,0] && EqQ[p+q,0] && NeQ[s,-1]
+
+
+Int[u_*Log[v_]*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_.,x_Symbol] :=
+ With[{g=Simplify[(v-1)*(c+d*x)/(a+b*x)],h=Simplify[u*(a+b*x)*(c+d*x)]},
+ -h*PolyLog[2,-g*(a+b*x)/(c+d*x)]*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^s/(b*c-a*d) +
+ h*p*r*s*Int[PolyLog[2,-g*(a+b*x)/(c+d*x)]*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^(s-1)/((a+b*x)*(c+d*x)),x] /;
+ FreeQ[{g,h},x]] /;
+FreeQ[{a,b,c,d,e,f,p,q,r,s},x] && NeQ[b*c-a*d,0] && IGtQ[s,0] && EqQ[p+q,0]
+
+
+Int[v_*Log[i_.*(j_.*(g_.+h_.*x_)^t_.)^u_.]*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_.,x_Symbol] :=
+ With[{k=Simplify[v*(a+b*x)*(c+d*x)]},
+ k*Log[i*(j*(g+h*x)^t)^u]*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^(s+1)/(p*r*(s+1)*(b*c-a*d)) -
+ k*h*t*u/(p*r*(s+1)*(b*c-a*d))*Int[Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^(s+1)/(g+h*x),x] /;
+ FreeQ[k,x]] /;
+FreeQ[{a,b,c,d,e,f,g,h,i,j,p,q,r,s,t,u},x] && NeQ[b*c-a*d,0] && EqQ[p+q,0] && NeQ[s,-1]
+
+
+Int[u_*PolyLog[n_,v_]*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_.,x_Symbol] :=
+ With[{g=Simplify[v*(c+d*x)/(a+b*x)],h=Simplify[u*(a+b*x)*(c+d*x)]},
+ h*PolyLog[n+1,g*(a+b*x)/(c+d*x)]*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^s/(b*c-a*d) -
+ h*p*r*s*Int[PolyLog[n+1,g*(a+b*x)/(c+d*x)]*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^(s-1)/((a+b*x)*(c+d*x)),x] /;
+ FreeQ[{g,h},x]] /;
+FreeQ[{a,b,c,d,e,f,n,p,q,r,s},x] && NeQ[b*c-a*d,0] && IGtQ[s,0] && EqQ[p+q,0]
+
+
+Int[(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_.*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_.,x_Symbol] :=
+ (a+b*x)^(m+1)*(c+d*x)^(n+1)*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^s/((m+1)*(b*c-a*d)) -
+ p*r*s*(b*c-a*d)/((m+1)*(b*c-a*d))*Int[(a+b*x)^m*(c+d*x)^n*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^(s-1),x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q,r,s},x] && NeQ[b*c-a*d,0] && EqQ[p+q,0] && EqQ[m+n+2,0] && NeQ[m,-1] && IGtQ[s,0]
+
+
+Int[(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_./Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.],x_Symbol] :=
+ (a+b*x)^(m+1)*(c+d*x)^(n+1)/(p*r*(b*c-a*d)*(e*(f*(a+b*x)^p*(c+d*x)^q)^r)^((m+1)/(p*r)))*
+ ExpIntegralEi[(m+1)/(p*r)*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q,r},x] && NeQ[b*c-a*d,0] && EqQ[p+q,0] && EqQ[m+n+2,0] && NeQ[m,-1]
+
+
+Int[RFx_.*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.],x_Symbol] :=
+ p*r*Int[RFx*Log[a+b*x],x] +
+ q*r*Int[RFx*Log[c+d*x],x] -
+ (p*r*Log[a+b*x]+q*r*Log[c+d*x] - Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r])*Int[RFx,x] /;
+FreeQ[{a,b,c,d,e,f,p,q,r},x] && RationalFunctionQ[RFx,x] && NeQ[b*c-a*d,0] &&
+ Not[MatchQ[RFx,u_.*(a+b*x)^m_.*(c+d*x)^n_. /; IntegersQ[m,n]]]
+
+
+(* Int[RFx_*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.],x_Symbol] :=
+ With[{u=IntHide[RFx,x]},
+ u*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r] - b*p*r*Int[u/(a+b*x),x] - d*q*r*Int[u/(c+d*x),x] /;
+ NonsumQ[u]] /;
+FreeQ[{a,b,c,d,e,f,p,q,r},x] && RationalFunctionQ[RFx,x] && NeQ[b*c-a*d,0] *)
+
+
+Int[RFx_*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^s,RFx,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{a,b,c,d,e,f,p,q,r,s},x] && RationalFunctionQ[RFx,x] && IGtQ[s,0]
+
+
+Int[RFx_*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^s_.,x_Symbol] :=
+ Defer[Int][RFx*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]^s,x] /;
+FreeQ[{a,b,c,d,e,f,p,q,r,s},x] && RationalFunctionQ[RFx,x]
+
+
+Int[u_.*Log[e_.*(f_.*v_^p_.*w_^q_.)^r_.]^s_.,x_Symbol] :=
+ Int[u*Log[e*(f*ExpandToSum[v,x]^p*ExpandToSum[w,x]^q)^r]^s,x] /;
+FreeQ[{e,f,p,q,r,s},x] && LinearQ[{v,w},x] && Not[LinearMatchQ[{v,w},x]]
+
+
+Int[u_.*Log[e_.*(f_.*(g_+v_/w_))^r_.]^s_.,x_Symbol] :=
+ Int[u*Log[e*(f*ExpandToSum[g*w+v,x]/ExpandToSum[w,x])^r]^s,x] /;
+FreeQ[{e,f,g,r,s},x] && LinearQ[{v,w},x]
+
+
+(* Int[Log[g_.*(h_.*(a_.+b_.*x_)^p_.)^q_.]*Log[i_.*(j_.*(c_.+d_.*x_)^r_.)^s_.]/(e_+f_.*x_),x_Symbol] :=
+ 1/f*Subst[Int[Log[g*(h*Simp[-(b*e-a*f)/f+b*x/f,x]^p)^q]*Log[i*(j*Simp[-(d*e-c*f)/f+d*x/f,x]^r)^s]/x,x],x,e+f*x] /;
+FreeQ[{a,b,c,d,e,f,g,h,i,j,p,q,r,s},x] *)
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*3.3 Miscellaneous logarithms*)
+
+
+Int[Log[c_.*(a_.+b_.*x_^n_)^p_.],x_Symbol] :=
+ x*Log[c*(a+b*x^n)^p] -
+ b*n*p*Int[x^n/(a+b*x^n),x] /;
+FreeQ[{a,b,c,n,p},x]
+
+
+Int[Log[c_.*v_^p_.],x_Symbol] :=
+ Int[Log[c*ExpandToSum[v,x]^p],x] /;
+FreeQ[{c,p},x] && BinomialQ[v,x] && Not[BinomialMatchQ[v,x]]
+
+
+Int[(a_.+b_.*Log[c_.*(d_.+e_.*x_^n_)^p_.])/(f_.+g_.*x_),x_Symbol] :=
+ Log[f+g*x]*(a+b*Log[c*(d+e*x^n)^p])/g -
+ b*e*n*p/g*Int[x^(n-1)*Log[f+g*x]/(d+e*x^n),x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x]
+
+
+Int[(f_.+g_.*x_)^m_.*(a_.+b_.*Log[c_.*(d_.+e_.*x_^n_)^p_.]),x_Symbol] :=
+ (f+g*x)^(m+1)*(a+b*Log[c*(d+e*x^n)^p])/(g*(m+1)) -
+ b*e*n*p/(g*(m+1))*Int[x^(n-1)*(f+g*x)^(m+1)/(d+e*x^n),x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && NeQ[m+1]
+
+
+Int[u_^m_.*(a_.+b_.*Log[c_.*v_^p_.]),x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*(a+b*Log[c*ExpandToSum[v,x]^p]),x] /;
+FreeQ[{a,b,c,m,p},x] && LinearQ[u,x] && BinomialQ[v,x] && Not[LinearMatchQ[u,x] && BinomialMatchQ[v,x]]
+
+
+Int[ArcSin[f_.+g_.*x_]^m_.*(a_.+b_.*Log[c_.*(d_.+e_.*x_^n_)^p_.]),x_Symbol] :=
+ With[{w=IntHide[ArcSin[f+g*x]^m,x]},
+ Dist[a+b*Log[c*(d+e*x^n)^p],w,x] -
+ b*e*n*p*Int[SimplifyIntegrand[x^(n-1)*w/(d+e*x^n),x],x]] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && PositiveIntegerQ[m]
+
+
+Int[(a_.+b_.*Log[c_.*(d_.+e_.*x_^2)^p_.])/(f_.+g_.*x_^2),x_Symbol] :=
+ With[{u=IntHide[1/(f+g*x^2),x]},
+ u*(a+b*Log[c*(d+e*x^2)^p]) - 2*b*e*p*Int[(x*u)/(d+e*x^2),x]] /;
+FreeQ[{a,b,c,d,e,f,g,p},x]
+
+
+Int[(a_.+b_.*Log[c_.*(d_+e_.*x_^2)^p_.])^n_,x_Symbol] :=
+ x*(a+b*Log[c*(d+e*x^2)^p])^n -
+ 2*b*e*n*p*Int[x^2*(a+b*Log[c*(d+e*x^2)^p])^(n-1)/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && PositiveIntegerQ[n]
+
+
+Int[x_^m_.*(a_.+b_.*Log[c_.*(d_+e_.*x_^2)^p_.])^n_,x_Symbol] :=
+ 1/2*Subst[Int[x^((m-1)/2)*(a+b*Log[c*(d+e*x)^p])^n,x],x,x^2] /;
+FreeQ[{a,b,c,d,e,p},x] && PositiveIntegerQ[n] && IntegerQ[(m-1)/2]
+
+
+Int[x_^m_.*(a_.+b_.*Log[c_.*(d_+e_.*x_^2)^p_.])^n_,x_Symbol] :=
+ x^(m+1)*(a+b*Log[c*(d+e*x^2)^p])^n/(m+1) -
+ 2*b*e*n*p/(m+1)*Int[x^(m+2)*(a+b*Log[c*(d+e*x^2)^p])^(n-1)/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && PositiveIntegerQ[n] && Not[IntegerQ[(m-1)/2]]
+
+
+Int[u_*Log[v_],x_Symbol] :=
+ With[{w=DerivativeDivides[v,u*(1-v),x]},
+ w*PolyLog[2,Together[1-v]] /;
+ Not[FalseQ[w]]]
+
+
+Int[(a_.+b_.*Log[u_])*Log[v_]*w_,x_Symbol] :=
+ With[{z=DerivativeDivides[v,w*(1-v),x]},
+ z*(a+b*Log[u])*PolyLog[2,Together[1-v]] -
+ b*Int[SimplifyIntegrand[z*PolyLog[2,Together[1-v]]*D[u,x]/u,x],x] /;
+ Not[FalseQ[z]]] /;
+FreeQ[{a,b},x] && InverseFunctionFreeQ[u,x]
+
+
+Int[Log[c_.*(a_+b_.*(d_.+e_.*x_)^n_)^p_.],x_Symbol] :=
+ (d+e*x)*Log[c*(a+b*(d+e*x)^n)^p]/e -
+ b*n*p*Int[1/(b+a*(d+e*x)^(-n)),x] /;
+FreeQ[{a,b,c,d,e,p},x] && RationalQ[n] && n<0
+
+
+Int[Log[c_.*(a_+b_.*(d_.+e_.*x_)^n_.)^p_.],x_Symbol] :=
+ (d+e*x)*Log[c*(a+b*(d+e*x)^n)^p]/e - n*p*x +
+ a*n*p*Int[1/(a+b*(d+e*x)^n),x] /;
+FreeQ[{a,b,c,d,e,n,p},x] && Not[RationalQ[n] && n<0]
+
+
+Int[(a_.+b_.*Log[c_.*(d_+e_./(f_.+g_.*x_))^p_.])^n_.,x_Symbol] :=
+ (e+d*(f+g*x))*(a+b*Log[c*(d+e/(f+g*x))^p])^n/(d*g) -
+ b*e*n*p/(d*g)*Subst[Int[(a+b*Log[c*(d+e*x)^p])^(n-1)/x,x],x,1/(f+g*x)] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*Log[c_.*RFx_^p_.])^n_.,x_Symbol] :=
+ x*(a+b*Log[c*RFx^p])^n -
+ b*n*p*Int[SimplifyIntegrand[x*(a+b*Log[c*RFx^p])^(n-1)*D[RFx,x]/RFx,x],x] /;
+FreeQ[{a,b,c,p},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*Log[c_.*RFx_^p_.])^n_./(d_.+e_.*x_),x_Symbol] :=
+ Log[d+e*x]*(a+b*Log[c*RFx^p])^n/e -
+ b*n*p/e*Int[Log[d+e*x]*(a+b*Log[c*RFx^p])^(n-1)*D[RFx,x]/RFx,x] /;
+FreeQ[{a,b,c,d,e,p},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n]
+
+
+Int[(d_.+e_.*x_)^m_.*(a_.+b_.*Log[c_.*RFx_^p_.])^n_.,x_Symbol] :=
+ (d+e*x)^(m+1)*(a+b*Log[c*RFx^p])^n/(e*(m+1)) -
+ b*n*p/(e*(m+1))*Int[SimplifyIntegrand[(d+e*x)^(m+1)*(a+b*Log[c*RFx^p])^(n-1)*D[RFx,x]/RFx,x],x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n] && (n==1 || IntegerQ[m]) && NeQ[m+1]
+
+
+Int[Log[c_.*RFx_^n_.]/(d_+e_.*x_^2),x_Symbol] :=
+ With[{u=IntHide[1/(d+e*x^2),x]},
+ u*Log[c*RFx^n] - n*Int[SimplifyIntegrand[u*D[RFx,x]/RFx,x],x]] /;
+FreeQ[{c,d,e,n},x] && RationalFunctionQ[RFx,x] && Not[PolynomialQ[RFx,x]]
+
+
+Int[Log[c_.*Px_^n_.]/Qx_,x_Symbol] :=
+ With[{u=IntHide[1/Qx,x]},
+ u*Log[c*Px^n] - n*Int[SimplifyIntegrand[u*D[Px,x]/Px,x],x]] /;
+FreeQ[{c,n},x] && QuadraticQ[{Qx,Px},x] && EqQ[D[Px/Qx,x]]
+
+
+Int[RGx_*(a_.+b_.*Log[c_.*RFx_^p_.])^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[(a+b*Log[c*RFx^p])^n,RGx,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{a,b,c,p},x] && RationalFunctionQ[RFx,x] && RationalFunctionQ[RGx,x] && PositiveIntegerQ[n]
+
+
+Int[RGx_*(a_.+b_.*Log[c_.*RFx_^p_.])^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[RGx*(a+b*Log[c*RFx^p])^n,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{a,b,c,p},x] && RationalFunctionQ[RFx,x] && RationalFunctionQ[RGx,x] && PositiveIntegerQ[n]
+
+
+Int[RFx_*(a_.+b_.*Log[u_]),x_Symbol] :=
+ With[{lst=SubstForFractionalPowerOfLinear[RFx*(a+b*Log[u]),x]},
+ lst[[2]]*lst[[4]]*Subst[Int[lst[[1]],x],x,lst[[3]]^(1/lst[[2]])] /;
+ Not[FalseQ[lst]]] /;
+FreeQ[{a,b},x] && RationalFunctionQ[RFx,x]
+
+
+Int[(f_.+g_.*x_)^m_.*Log[1+e_.*(F_^(c_.*(a_.+b_.*x_)))^n_.],x_Symbol] :=
+ -(f+g*x)^m*PolyLog[2,-e*(F^(c*(a+b*x)))^n]/(b*c*n*Log[F]) +
+ g*m/(b*c*n*Log[F])*Int[(f+g*x)^(m-1)*PolyLog[2,-e*(F^(c*(a+b*x)))^n],x] /;
+FreeQ[{F,a,b,c,e,f,g,n},x] && RationalQ[m] && m>0
+
+
+Int[(f_.+g_.*x_)^m_.*Log[d_+e_.*(F_^(c_.*(a_.+b_.*x_)))^n_.],x_Symbol] :=
+ (f+g*x)^(m+1)*Log[d+e*(F^(c*(a+b*x)))^n]/(g*(m+1)) -
+ (f+g*x)^(m+1)*Log[1+e/d*(F^(c*(a+b*x)))^n]/(g*(m+1)) +
+ Int[(f+g*x)^m*Log[1+e/d*(F^(c*(a+b*x)))^n],x] /;
+FreeQ[{F,a,b,c,d,e,f,g,n},x] && RationalQ[m] && m>0 && NeQ[d-1]
+
+
+Int[Log[d_.+e_.*x_+f_.*Sqrt[a_.+b_.*x_+c_.*x_^2]],x_Symbol] :=
+ x*Log[d+e*x+f*Sqrt[a+b*x+c*x^2]] +
+ f^2*(b^2-4*a*c)/2*Int[x/((2*d*e-b*f^2)*(a+b*x+c*x^2)-f*(b*d-2*a*e+(2*c*d-b*e)*x)*Sqrt[a+b*x+c*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[e^2-c*f^2]
+
+
+Int[Log[d_.+e_.*x_+f_.*Sqrt[a_.+c_.*x_^2]],x_Symbol] :=
+ x*Log[d+e*x+f*Sqrt[a+c*x^2]] -
+ a*c*f^2*Int[x/(d*e*(a+c*x^2)+f*(a*e-c*d*x)*Sqrt[a+c*x^2]),x] /;
+FreeQ[{a,c,d,e,f},x] && EqQ[e^2-c*f^2]
+
+
+Int[(g_.*x_)^m_.*Log[d_.+e_.*x_+f_.*Sqrt[a_.+b_.*x_+c_.*x_^2]],x_Symbol] :=
+ (g*x)^(m+1)*Log[d+e*x+f*Sqrt[a+b*x+c*x^2]]/(g*(m+1)) +
+ f^2*(b^2-4*a*c)/(2*g*(m+1))*Int[(g*x)^(m+1)/((2*d*e-b*f^2)*(a+b*x+c*x^2)-f*(b*d-2*a*e+(2*c*d-b*e)*x)*Sqrt[a+b*x+c*x^2]),x] /;
+FreeQ[{a,b,c,d,e,f,g,m},x] && EqQ[e^2-c*f^2] && NeQ[m+1] && IntegerQ[2*m]
+
+
+Int[(g_.*x_)^m_.*Log[d_.+e_.*x_+f_.*Sqrt[a_.+c_.*x_^2]],x_Symbol] :=
+ (g*x)^(m+1)*Log[d+e*x+f*Sqrt[a+c*x^2]]/(g*(m+1)) -
+ a*c*f^2/(g*(m+1))*Int[(g*x)^(m+1)/(d*e*(a+c*x^2)+f*(a*e-c*d*x)*Sqrt[a+c*x^2]),x] /;
+FreeQ[{a,c,d,e,f,g,m},x] && EqQ[e^2-c*f^2] && NeQ[m+1] && IntegerQ[2*m]
+
+
+Int[v_.*Log[d_.+e_.*x_+f_.*Sqrt[u_]],x_Symbol] :=
+ Int[v*Log[d+e*x+f*Sqrt[ExpandToSum[u,x]]],x] /;
+FreeQ[{d,e,f},x] && QuadraticQ[u,x] && Not[QuadraticMatchQ[u,x]] && (EqQ[v-1] || MatchQ[v,(g_.*x)^m_. /; FreeQ[{g,m},x]])
+
+
+Int[Log[u_],x_Symbol] :=
+ x*Log[u] - Int[SimplifyIntegrand[x*D[u,x]/u,x],x] /;
+InverseFunctionFreeQ[u,x]
+
+
+Int[Log[u_]/(a_.+b_.*x_),x_Symbol] :=
+ Log[a+b*x]*Log[u]/b -
+ 1/b*Int[SimplifyIntegrand[Log[a+b*x]*D[u,x]/u,x],x] /;
+FreeQ[{a,b},x] && RationalFunctionQ[D[u,x]/u,x] && (NeQ[a] || Not[BinomialQ[u,x] && EqQ[BinomialDegree[u,x]^2-1]])
+
+
+Int[(a_.+b_.*x_)^m_.*Log[u_],x_Symbol] :=
+ (a+b*x)^(m+1)*Log[u]/(b*(m+1)) -
+ 1/(b*(m+1))*Int[SimplifyIntegrand[(a+b*x)^(m+1)*D[u,x]/u,x],x] /;
+FreeQ[{a,b,m},x] && InverseFunctionFreeQ[u,x] && NeQ[m+1] (* && Not[FunctionOfQ[x^(m+1),u,x]] && FalseQ[PowerVariableExpn[u,m+1,x]] *)
+
+
+Int[Log[u_]/Qx_,x_Symbol] :=
+ With[{v=IntHide[1/Qx,x]},
+ v*Log[u] - Int[SimplifyIntegrand[v*D[u,x]/u,x],x]] /;
+QuadraticQ[Qx,x] && InverseFunctionFreeQ[u,x]
+
+
+(* Int[x_^m_.*Px_.*Log[u_],x_Symbol] :=
+ With[{v=IntHide[x^m*Px,x]},
+ Dist[Log[u],v] - Int[SimplifyIntegrand[v*D[u,x]/u,x],x]] /;
+FreeQ[m,x] && PolynomialQ[Px,x] && InverseFunctionFreeQ[u,x] *)
+
+
+Int[u_^(a_.*x_)*Log[u_],x_Symbol] :=
+ u^(a*x)/a - Int[SimplifyIntegrand[x*u^(a*x-1)*D[u,x],x],x] /;
+FreeQ[a,x] && InverseFunctionFreeQ[u,x]
+
+
+Int[v_*Log[u_],x_Symbol] :=
+ With[{w=IntHide[v,x]},
+ Dist[Log[u],w,x] -
+ Int[SimplifyIntegrand[w*D[u,x]/u,x],x] /;
+ InverseFunctionFreeQ[w,x]] /;
+InverseFunctionFreeQ[u,x]
+
+
+Int[Log[v_]*Log[w_],x_Symbol] :=
+ x*Log[v]*Log[w] -
+ Int[SimplifyIntegrand[x*Log[w]*D[v,x]/v,x],x] -
+ Int[SimplifyIntegrand[x*Log[v]*D[w,x]/w,x],x] /;
+InverseFunctionFreeQ[v,x] && InverseFunctionFreeQ[w,x]
+
+
+Int[u_*Log[v_]*Log[w_],x_Symbol] :=
+ With[{z=IntHide[u,x]},
+ Dist[Log[v]*Log[w],z,x] -
+ Int[SimplifyIntegrand[z*Log[w]*D[v,x]/v,x],x] -
+ Int[SimplifyIntegrand[z*Log[v]*D[w,x]/w,x],x] /;
+ InverseFunctionFreeQ[z,x]] /;
+InverseFunctionFreeQ[v,x] && InverseFunctionFreeQ[w,x]
+
+
+Int[Log[a_.*Log[b_.*x_^n_.]^p_.],x_Symbol] :=
+ x*Log[a*Log[b*x^n]^p] -
+ n*p*Int[1/Log[b*x^n],x] /;
+FreeQ[{a,b,n,p},x]
+
+
+Int[Log[a_.*Log[b_.*x_^n_.]^p_.]/x_,x_Symbol] :=
+ Log[b*x^n]*(-p+Log[a*Log[b*x^n]^p])/n /;
+FreeQ[{a,b,n,p},x]
+
+
+Int[x_^m_.*Log[a_.*Log[b_.*x_^n_.]^p_.],x_Symbol] :=
+ x^(m+1)*Log[a*Log[b*x^n]^p]/(m+1) -
+ n*p/(m+1)*Int[x^m/Log[b*x^n],x] /;
+FreeQ[{a,b,m,n,p},x] && NeQ[m+1]
+
+
+Int[(A_.+B_.*Log[c_.+d_.*x_])/Sqrt[a_+b_.*Log[c_.+d_.*x_]],x_Symbol] :=
+ (b*A-a*B)/b*Int[1/Sqrt[a+b*Log[c+d*x]],x] +
+ B/b*Int[Sqrt[a+b*Log[c+d*x]],x] /;
+FreeQ[{a,b,c,d,A,B},x] && NeQ[b*A-a*B]
+
+
+Int[f_^(a_.*Log[u_]),x_Symbol] :=
+ Int[u^(a*Log[f]),x] /;
+FreeQ[{a,f},x]
+
+
+(* If[ShowSteps,
+
+Int[u_/x_,x_Symbol] :=
+ With[{lst=FunctionOfLog[u,x]},
+ ShowStep["","Int[F[Log[a*x^n]]/x,x]","Subst[Int[F[x],x],x,Log[a*x^n]]/n",Hold[
+ 1/lst[[3]]*Subst[Int[lst[[1]],x],x,Log[lst[[2]]]]]] /;
+ Not[FalseQ[lst]]] /;
+SimplifyFlag && NonsumQ[u],
+
+Int[u_/x_,x_Symbol] :=
+ With[{lst=FunctionOfLog[u,x]},
+ 1/lst[[3]]*Subst[Int[lst[[1]],x],x,Log[lst[[2]]]] /;
+ Not[FalseQ[lst]]] /;
+NonsumQ[u]] *)
+
+
+If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ With[{lst=FunctionOfLog[Cancel[x*u],x]},
+ ShowStep["","Int[F[Log[a*x^n]]/x,x]","Subst[Int[F[x],x],x,Log[a*x^n]]/n",Hold[
+ 1/lst[[3]]*Subst[Int[lst[[1]],x],x,Log[lst[[2]]]]]] /;
+ Not[FalseQ[lst]]] /;
+SimplifyFlag && NonsumQ[u],
+
+Int[u_,x_Symbol] :=
+ With[{lst=FunctionOfLog[Cancel[x*u],x]},
+ 1/lst[[3]]*Subst[Int[lst[[1]],x],x,Log[lst[[2]]]] /;
+ Not[FalseQ[lst]]] /;
+NonsumQ[u]]
+
+
+Int[u_.*Log[Gamma[v_]],x_Symbol] :=
+ (Log[Gamma[v]]-LogGamma[v])*Int[u,x] + Int[u*LogGamma[v],x]
+
+
+Int[u_.*(a_. w_+b_. w_*Log[v_]^n_.)^p_.,x_Symbol] :=
+ Int[u*w^p*(a+b*Log[v]^n)^p,x] /;
+FreeQ[{a,b,n},x] && IntegerQ[p]
+
+
+Int[u_.*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_,x_Symbol] :=
+ Defer[Int][u*(a+b*Log[c*(d*(e+f*x)^p)^q])^n,x] /;
+FreeQ[{a,b,c,d,e,f,n,p,q},x] && AlgebraicFunctionQ[u,x]
+
+
+
+`)
+
+func resourcesRubi3LogarithmsMBytes() ([]byte, error) {
+ return _resourcesRubi3LogarithmsM, nil
+}
+
+func resourcesRubi3LogarithmsM() (*asset, error) {
+ bytes, err := resourcesRubi3LogarithmsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/3 Logarithms.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi41SineM = []byte(`(* ::Package:: *)
+
+(* ::Section:: *)
+(*Trig Function Product Integration Rules*)
+
+
+(* ::Subsection::Closed:: *)
+(*4.1.0 (a sin)^m (b trg)^n*)
+
+
+If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ Int[DeactivateTrig[u,x],x] /;
+SimplifyFlag && FunctionOfTrigOfLinearQ[u,x],
+
+Int[u_,x_Symbol] :=
+ Int[DeactivateTrig[u,x],x] /;
+FunctionOfTrigOfLinearQ[u,x]]
+
+
+Int[(a_.*sin[e_.+f_.*x_])^m_.*(b_.*cos[e_.+f_.*x_])^n_.,x_Symbol] :=
+ (a*Sin[e+f*x])^(m+1)*(b*Cos[e+f*x])^(n+1)/(a*b*f*(m+1)) /;
+FreeQ[{a,b,e,f,m,n},x] && EqQ[m+n+2,0] && NeQ[m,-1]
+
+
+Int[(a_.*sin[e_.+f_.*x_])^m_.*cos[e_.+f_.*x_]^n_.,x_Symbol] :=
+ 1/(a*f)*Subst[Int[x^m*(1-x^2/a^2)^((n-1)/2),x],x,a*Sin[e+f*x]] /;
+FreeQ[{a,e,f,m},x] && IntegerQ[(n-1)/2] && Not[IntegerQ[(m-1)/2] && 01 || m==1 && n==-3/2) && IntegersQ[2*m,2*n]
+
+
+Int[(a_.*sec[e_.+f_.*x_])^m_.*(b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ (a*Sec[e+f*x])^m*(b*Tan[e+f*x])^(n+1)/(b*f*(n+1)) -
+ (m+n+1)/(b^2*(n+1))*Int[(a*Sec[e+f*x])^m*(b*Tan[e+f*x])^(n+2),x] /;
+FreeQ[{a,b,e,f,m},x] && RationalQ[n] && n<-1 && IntegersQ[2*m,2*n]
+
+
+Int[(a_.*sec[e_.+f_.*x_])^m_*(b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*(a*Sec[e+f*x])^m*(b*Tan[e+f*x])^(n-1)/(f*m) -
+ b^2*(n-1)/(a^2*m)*Int[(a*Sec[e+f*x])^(m+2)*(b*Tan[e+f*x])^(n-2),x] /;
+FreeQ[{a,b,e,f},x] && RationalQ[m,n] && n>1 && (m<-1 || m==-1 && n==3/2) && IntegersQ[2*m,2*n]
+
+
+Int[(a_.*sec[e_.+f_.*x_])^m_.*(b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*(a*Sec[e+f*x])^m*(b*Tan[e+f*x])^(n-1)/(f*(m+n-1)) -
+ b^2*(n-1)/(m+n-1)*Int[(a*Sec[e+f*x])^m*(b*Tan[e+f*x])^(n-2),x] /;
+FreeQ[{a,b,e,f,m},x] && RationalQ[n] && n>1 && NeQ[m+n-1] && IntegersQ[2*m,2*n]
+
+
+Int[(a_.*sec[e_.+f_.*x_])^m_*(b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ -(a*Sec[e+f*x])^m*(b*Tan[e+f*x])^(n+1)/(b*f*m) +
+ (m+n+1)/(a^2*m)*Int[(a*Sec[e+f*x])^(m+2)*(b*Tan[e+f*x])^n,x] /;
+FreeQ[{a,b,e,f,n},x] && RationalQ[m] && (m<-1 || m==-1 && RationalQ[n] && n==-1/2) && IntegersQ[2*m,2*n]
+
+
+Int[(a_.*sec[e_.+f_.*x_])^m_.*(b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ a^2*(a*Sec[e+f*x])^(m-2)*(b*Tan[e+f*x])^(n+1)/(b*f*(m+n-1)) +
+ a^2*(m-2)/(m+n-1)*Int[(a*Sec[e+f*x])^(m-2)*(b*Tan[e+f*x])^n,x] /;
+FreeQ[{a,b,e,f,n},x] && RationalQ[m] && (m>1 || m==1 && RationalQ[n] && n==1/2) && NeQ[m+n-1] && IntegersQ[2*m,2*n]
+
+
+Int[sec[e_.+f_.*x_]/Sqrt[b_.*tan[e_.+f_.*x_]],x_Symbol]:=
+ Sqrt[Sin[e+f*x]]/(Sqrt[Cos[e+f*x]]*Sqrt[b*Tan[e+f*x]])*Int[1/(Sqrt[Cos[e+f*x]]*Sqrt[Sin[e+f*x]]),x] /;
+FreeQ[{b,e,f},x]
+
+
+Int[Sqrt[b_.*tan[e_.+f_.*x_]]/sec[e_.+f_.*x_],x_Symbol]:=
+ Sqrt[Cos[e+f*x]]*Sqrt[b*Tan[e+f*x]]/Sqrt[Sin[e+f*x]]*Int[Sqrt[Cos[e+f*x]]*Sqrt[Sin[e+f*x]],x] /;
+FreeQ[{b,e,f},x]
+
+
+Int[(a_.*sec[e_.+f_.*x_])^m_*(b_.*tan[e_.+f_.*x_])^n_,x_Symbol]:=
+ a^(m+n)*(b*Tan[e+f*x])^n/((a*Sec[e+f*x])^n*(b*Sin[e+f*x])^n)*Int[(b*Sin[e+f*x])^n/Cos[e+f*x]^(m+n),x] /;
+FreeQ[{a,b,e,f,m,n},x] && IntegerQ[n+1/2] && IntegerQ[m+1/2]
+
+
+(* Int[(a_.*sec[e_.+f_.*x_])^m_.*(b_.*tan[e_.+f_.*x_])^n_,x_Symbol]:=
+ (a*Sec[e+f*x])^m*(b*Tan[e+f*x])^(n+1)*(Cos[e+f*x]^2)^((m+n+1)/2)/(b*f*(b*Sin[e+f*x])^(n+1))*
+ Subst[Int[x^n/(1-x^2/b^2)^((m+n+1)/2),x],x,b*Sin[e+f*x]] /;
+FreeQ[{a,b,e,f,m,n},x] && Not[IntegerQ[(n-1)/2]] && Not[IntegerQ[m/2]] *)
+
+
+Int[(a_.*sec[e_.+f_.*x_])^m_.*(b_.*tan[e_.+f_.*x_])^n_,x_Symbol]:=
+ (a*Sec[e+f*x])^m*(b*Tan[e+f*x])^(n+1)*(Cos[e+f*x]^2)^((m+n+1)/2)/(b*f*(n+1))*
+ Hypergeometric2F1[(n+1)/2,(m+n+1)/2,(n+3)/2,Sin[e+f*x]^2] /;
+FreeQ[{a,b,e,f,m,n},x] && Not[IntegerQ[(n-1)/2]] && Not[IntegerQ[m/2]]
+
+
+Int[(a_.*csc[e_.+f_.*x_])^m_*(b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ (a*Csc[e+f*x])^FracPart[m]*(Sin[e+f*x]/a)^FracPart[m]*Int[(b*Tan[e+f*x])^n/(Sin[e+f*x]/a)^m,x] /;
+FreeQ[{a,b,e,f,m,n},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.3.0 (a csc)^m (b sec)^n*)
+
+
+Int[(a_.*csc[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_])^n_,x_Symbol] :=
+ a*b*(a*Csc[e+f*x])^(m-1)*(b*Sec[e+f*x])^(n-1)/(f*(n-1)) /;
+FreeQ[{a,b,e,f,m,n},x] && EqQ[m+n-2] && NeQ[n-1]
+
+
+Int[csc[e_.+f_.*x_]^m_.*sec[e_.+f_.*x_]^n_.,x_Symbol] :=
+ 1/f*Subst[Int[(1+x^2)^((m+n)/2-1)/x^m,x],x,Tan[e+f*x]] /;
+FreeQ[{e,f},x] && IntegersQ[m,n,(m+n)/2]
+
+
+Int[(a_.*csc[e_.+f_.*x_])^m_*sec[e_.+f_.*x_]^n_.,x_Symbol] :=
+ -1/(f*a^n)*Subst[Int[x^(m+n-1)/(-1+x^2/a^2)^((n+1)/2),x],x,a*Csc[e+f*x]] /;
+FreeQ[{a,e,f,m},x] && IntegerQ[(n+1)/2] && Not[IntegerQ[(m+1)/2] && 01 && n<-1 && IntegersQ[2*m,2*n]
+
+
+Int[(a_.*csc[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*(a*Csc[e+f*x])^(m+1)*(b*Sec[e+f*x])^(n-1)/(f*a*(n-1)) +
+ b^2*(m+1)/(a^2*(n-1))*Int[(a*Csc[e+f*x])^(m+2)*(b*Sec[e+f*x])^(n-2),x] /;
+FreeQ[{a,b,e,f},x] && RationalQ[m,n] && m<-1 && n>1 && IntegersQ[2*m,2*n]
+
+
+Int[(a_.*csc[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_])^n_.,x_Symbol] :=
+ -a*b*(a*Csc[e+f*x])^(m-1)*(b*Sec[e+f*x])^(n-1)/(f*(m-1)) +
+ a^2*(m+n-2)/(m-1)*Int[(a*Csc[e+f*x])^(m-2)*(b*Sec[e+f*x])^n,x] /;
+FreeQ[{a,b,e,f,n},x] && GtQ[m,1] && IntegersQ[2*m,2*n] && Not[n>m]
+
+
+Int[(a_.*csc[e_.+f_.*x_])^m_.*(b_.*sec[e_.+f_.*x_])^n_,x_Symbol] :=
+ a*b*(a*Csc[e+f*x])^(m-1)*(b*Sec[e+f*x])^(n-1)/(f*(n-1)) +
+ b^2*(m+n-2)/(n-1)*Int[(a*Csc[e+f*x])^m*(b*Sec[e+f*x])^(n-2),x] /;
+FreeQ[{a,b,e,f,m},x] && GtQ[n,1] && IntegersQ[2*m,2*n]
+
+
+Int[(a_.*csc[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_])^n_.,x_Symbol] :=
+ b*(a*Csc[e+f*x])^(m+1)*(b*Sec[e+f*x])^(n-1)/(a*f*(m+n)) +
+ (m+1)/(a^2*(m+n))*Int[(a*Csc[e+f*x])^(m+2)*(b*Sec[e+f*x])^n,x] /;
+FreeQ[{a,b,e,f,n},x] && RationalQ[m] && m<-1 && NeQ[m+n] && IntegersQ[2*m,2*n]
+
+
+Int[(a_.*csc[e_.+f_.*x_])^m_.*(b_.*sec[e_.+f_.*x_])^n_,x_Symbol] :=
+ -a*(a*Csc[e+f*x])^(m-1)*(b*Sec[e+f*x])^(n+1)/(b*f*(m+n)) +
+ (n+1)/(b^2*(m+n))*Int[(a*Csc[e+f*x])^m*(b*Sec[e+f*x])^(n+2),x] /;
+FreeQ[{a,b,e,f,m},x] && RationalQ[n] && n<-1 && NeQ[m+n] && IntegersQ[2*m,2*n]
+
+
+Int[(a_.*csc[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_])^n_,x_Symbol] :=
+ (a*Csc[e+f*x])^m*(b*Sec[e+f*x])^n/Tan[e+f*x]^n*Int[Tan[e+f*x]^n,x] /;
+FreeQ[{a,b,e,f,m,n},x] && Not[IntegerQ[n]] && EqQ[m+n]
+
+
+Int[(a_.*csc[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_])^n_,x_Symbol] :=
+ (a*Csc[e+f*x])^m*(b*Sec[e+f*x])^n*(a*Sin[e+f*x])^m*(b*Cos[e+f*x])^n*Int[(a*Sin[e+f*x])^(-m)*(b*Cos[e+f*x])^(-n),x] /;
+FreeQ[{a,b,e,f,m,n},x] && IntegerQ[m-1/2] && IntegerQ[n-1/2]
+
+
+Int[(a_.*csc[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_])^n_,x_Symbol] :=
+ a^2/b^2*(a*Csc[e+f*x])^(m-1)*(b*Sec[e+f*x])^(n+1)*(a*Sin[e+f*x])^(m-1)*(b*Cos[e+f*x])^(n+1)*
+ Int[(a*Sin[e+f*x])^(-m)*(b*Cos[e+f*x])^(-n),x] /;
+FreeQ[{a,b,e,f,m,n},x] && Not[SimplerQ[-m,-n]]
+
+
+Int[(a_.*sec[e_.+f_.*x_])^m_*(b_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ a^2/b^2*(a*Sec[e+f*x])^(m-1)*(b*Csc[e+f*x])^(n+1)*(a*Cos[e+f*x])^(m-1)*(b*Sin[e+f*x])^(n+1)*
+ Int[(a*Cos[e+f*x])^(-m)*(b*Sin[e+f*x])^(-n),x] /;
+FreeQ[{a,b,e,f,m,n},x]
+
+
+
+
+
+(* ::Section:: *)
+(*Sine Function Integration Rules*)
+
+
+(* ::Subsection::Closed:: *)
+(*4.1.1.1 (a+b sin)^n*)
+
+
+Int[sin[c_.+d_.*x_]^n_,x_Symbol] :=
+ -1/d*Subst[Int[Expand[(1-x^2)^((n-1)/2),x],x],x,Cos[c+d*x]] /;
+FreeQ[{c,d},x] && PositiveIntegerQ[(n-1)/2]
+
+
+Int[(b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+(* -Cot[c+d*x]*(c*Sin[c+d*x])^n/(d*n) + b^2*(n-1)/n*Int[(b*Sin[c+d*x])^(n-2),x] *)
+ -b*Cos[c+d*x]*(b*Sin[c+d*x])^(n-1)/(d*n) + b^2*(n-1)/n*Int[(b*Sin[c+d*x])^(n-2),x] /;
+FreeQ[{b,c,d},x] && IntegerQ[2*n] && n>1
+
+
+Int[(b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ Cos[c+d*x]*(b*Sin[c+d*x])^(n+1)/(b*d*(n+1)) +
+ (n+2)/(b^2*(n+1))*Int[(b*Sin[c+d*x])^(n+2),x] /;
+FreeQ[{b,c,d},x] && IntegerQ[2*n] && n<-1
+
+
+Int[sin[c_.+Pi/2+d_.*x_],x_Symbol] :=
+ Sin[c+d*x]/d /;
+FreeQ[{c,d},x]
+
+
+Int[sin[c_.+d_.*x_],x_Symbol] :=
+ -Cos[c+d*x]/d /;
+FreeQ[{c,d},x]
+
+
+(* Int[1/sin[c_.+d_.*x_],x_Symbol] :=
+ Int[Csc[c+d*x],x] /;
+FreeQ[{c,d},x] *)
+
+
+Int[Sqrt[sin[c_.+d_.*x_]],x_Symbol] :=
+ 2/d*EllipticE[1/2*(c-Pi/2+d*x),2] /;
+FreeQ[{c,d},x]
+
+
+Int[Sqrt[b_*sin[c_.+d_.*x_]],x_Symbol] :=
+ Sqrt[b*Sin[c+d*x]]/Sqrt[Sin[c+d*x]]*Int[Sqrt[Sin[c+d*x]],x] /;
+FreeQ[{b,c,d},x]
+
+
+Int[1/Sqrt[sin[c_.+d_.*x_]],x_Symbol] :=
+ 2/d*EllipticF[1/2*(c-Pi/2+d*x),2] /;
+FreeQ[{c,d},x]
+
+
+Int[1/Sqrt[b_*sin[c_.+d_.*x_]],x_Symbol] :=
+ Sqrt[Sin[c+d*x]]/Sqrt[b*Sin[c+d*x]]*Int[1/Sqrt[Sin[c+d*x]],x] /;
+FreeQ[{b,c,d},x]
+
+
+(* Int[(b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ Cos[c+d*x]/(b*d*Sqrt[Cos[c+d*x]^2])*Subst[Int[x^n/Sqrt[1-x^2/b^2],x],x,b*Sin[c+d*x]] /;
+FreeQ[{b,c,d,n},x] && Not[IntegerQ[2*n]] *)
+
+
+Int[(b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ Cos[c+d*x]*(b*Sin[c+d*x])^(n+1)/(b*d*(n+1)*Sqrt[Cos[c+d*x]^2])*Hypergeometric2F1[1/2,(n+1)/2,(n+3)/2,Sin[c+d*x]^2] /;
+FreeQ[{b,c,d,n},x] && Not[IntegerQ[2*n]]
+
+
+Int[(a_+b_.*sin[c_.+d_.*x_])^2,x_Symbol] :=
+ (2*a^2+b^2)*x/2 - 2*a*b*Cos[c+d*x]/d - b^2*Cos[c+d*x]*Sin[c+d*x]/(2*d) /;
+FreeQ[{a,b,c,d},x]
+
+
+Int[(a_+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ Int[ExpandTrig[(a+b*sin[c+d*x])^n,x],x] /;
+FreeQ[{a,b,c,d,n},x] && EqQ[a^2-b^2] && PositiveIntegerQ[n]
+
+
+Int[Sqrt[a_+b_.*sin[c_.+d_.*x_]],x_Symbol] :=
+ -2*b*Cos[c+d*x]/(d*Sqrt[a+b*Sin[c+d*x]]) /;
+FreeQ[{a,b,c,d},x] && EqQ[a^2-b^2]
+
+
+Int[(a_+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ -b*Cos[c+d*x]*(a+b*Sin[c+d*x])^(n-1)/(d*n) +
+ a*(2*n-1)/n*Int[(a+b*Sin[c+d*x])^(n-1),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[a^2-b^2] && PositiveIntegerQ[n-1/2]
+
+
+Int[1/(a_+b_.*sin[c_.+d_.*x_]),x_Symbol] :=
+ -Cos[c+d*x]/(d*(b+a*Sin[c+d*x])) /;
+FreeQ[{a,b,c,d},x] && EqQ[a^2-b^2]
+
+
+Int[1/Sqrt[a_+b_.*sin[c_.+d_.*x_]],x_Symbol] :=
+ -2/d*Subst[Int[1/(2*a-x^2),x],x,b*Cos[c+d*x]/Sqrt[a+b*Sin[c+d*x]]] /;
+FreeQ[{a,b,c,d},x] && EqQ[a^2-b^2]
+
+
+Int[(a_+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ b*Cos[c+d*x]*(a+b*Sin[c+d*x])^n/(a*d*(2*n+1)) +
+ (n+1)/(a*(2*n+1))*Int[(a+b*Sin[c+d*x])^(n+1),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[a^2-b^2] && RationalQ[n] && n<-1 && IntegerQ[2*n]
+
+
+(* Int[(a_+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ a^2*Cos[c+d*x]/(d*Sqrt[a+b*Sin[c+d*x]]*Sqrt[a-b*Sin[c+d*x]])*Subst[Int[(a+b*x)^(n-1/2)/Sqrt[a-b*x],x],x,Sin[c+d*x]] /;
+FreeQ[{a,b,c,d,n},x] && EqQ[a^2-b^2] && Not[IntegerQ[2*n]] *)
+
+
+Int[(a_+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ -2^(n+1/2)*a^(n-1/2)*b*Cos[c+d*x]/(d*Sqrt[a+b*Sin[c+d*x]])*Hypergeometric2F1[1/2,1/2-n,3/2,1/2*(1-b*Sin[c+d*x]/a)] /;
+FreeQ[{a,b,c,d,n},x] && EqQ[a^2-b^2] && Not[IntegerQ[2*n]] && PositiveQ[a]
+
+
+Int[(a_+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ a^IntPart[n]*(a+b*Sin[c+d*x])^FracPart[n]/(1+b/a*Sin[c+d*x])^FracPart[n]*Int[(1+b/a*Sin[c+d*x])^n,x] /;
+FreeQ[{a,b,c,d,n},x] && EqQ[a^2-b^2] && Not[IntegerQ[2*n]] && Not[PositiveQ[a]]
+
+
+Int[Sqrt[a_+b_.*sin[c_.+d_.*x_]],x_Symbol] :=
+ 2*Sqrt[a+b]/d*EllipticE[1/2*(c-Pi/2+d*x),2*b/(a+b)] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2] && PositiveQ[a+b]
+
+
+Int[Sqrt[a_+b_.*sin[c_.+d_.*x_]],x_Symbol] :=
+ 2*Sqrt[a-b]/d*EllipticE[1/2*(c+Pi/2+d*x),-2*b/(a-b)] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2] && PositiveQ[a-b]
+
+
+Int[Sqrt[a_+b_.*sin[c_.+d_.*x_]],x_Symbol] :=
+ Sqrt[a+b*Sin[c+d*x]]/Sqrt[(a+b*Sin[c+d*x])/(a+b)]*Int[Sqrt[a/(a+b)+b/(a+b)*Sin[c+d*x]],x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2] && Not[PositiveQ[a+b]]
+
+
+Int[(a_+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ -b*Cos[c+d*x]*(a+b*Sin[c+d*x])^(n-1)/(d*n) +
+ 1/n*Int[(a+b*Sin[c+d*x])^(n-2)*Simp[a^2*n+b^2*(n-1)+a*b*(2*n-1)*Sin[c+d*x],x],x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2] && RationalQ[n] && n>1 && IntegerQ[2*n]
+
+
+Int[1/(a_+b_.*sin[c_.+d_.*x_]),x_Symbol] :=
+ With[{q=Rt[a^2-b^2,2]},
+ x/q + 2/(d*q)*ArcTan[b*Cos[c+d*x]/(a+q+b*Sin[c+d*x])]] /;
+FreeQ[{a,b,c,d},x] && PositiveQ[a^2-b^2] && PosQ[a]
+
+
+Int[1/(a_+b_.*sin[c_.+d_.*x_]),x_Symbol] :=
+ With[{q=Rt[a^2-b^2,2]},
+ -x/q - 2/(d*q)*ArcTan[b*Cos[c+d*x]/(a-q+b*Sin[c+d*x])]] /;
+FreeQ[{a,b,c,d},x] && PositiveQ[a^2-b^2] && NegQ[a]
+
+
+Int[1/(a_+b_.*sin[c_.+Pi/2+d_.*x_]),x_Symbol] :=
+ With[{e=FreeFactors[Tan[(c+d*x)/2],x]},
+ 2*e/d*Subst[Int[1/(a+b+(a-b)*e^2*x^2),x],x,Tan[(c+d*x)/2]/e]] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2]
+
+
+Int[1/(a_+b_.*sin[c_.+d_.*x_]),x_Symbol] :=
+ With[{e=FreeFactors[Tan[(c+d*x)/2],x]},
+ 2*e/d*Subst[Int[1/(a+2*b*e*x+a*e^2*x^2),x],x,Tan[(c+d*x)/2]/e]] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2]
+
+
+Int[1/Sqrt[a_+b_.*sin[c_.+d_.*x_]],x_Symbol] :=
+ 2/(d*Sqrt[a+b])*EllipticF[1/2*(c-Pi/2+d*x),2*b/(a+b)] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2] && PositiveQ[a+b]
+
+
+Int[1/Sqrt[a_+b_.*sin[c_.+d_.*x_]],x_Symbol] :=
+ 2/(d*Sqrt[a-b])*EllipticF[1/2*(c+Pi/2+d*x),-2*b/(a-b)] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2] && PositiveQ[a-b]
+
+
+Int[1/Sqrt[a_+b_.*sin[c_.+d_.*x_]],x_Symbol] :=
+ Sqrt[(a+b*Sin[c+d*x])/(a+b)]/Sqrt[a+b*Sin[c+d*x]]*Int[1/Sqrt[a/(a+b)+b/(a+b)*Sin[c+d*x]],x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2] && Not[PositiveQ[a+b]]
+
+
+Int[(a_+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ -b*Cos[c+d*x]*(a+b*Sin[c+d*x])^(n+1)/(d*(n+1)*(a^2-b^2)) +
+ 1/((n+1)*(a^2-b^2))*Int[(a+b*Sin[c+d*x])^(n+1)*Simp[a*(n+1)-b*(n+2)*Sin[c+d*x],x],x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2] && RationalQ[n] && n<-1 && IntegerQ[2*n]
+
+
+Int[(a_+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ Cos[c+d*x]/(d*Sqrt[1+Sin[c+d*x]]*Sqrt[1-Sin[c+d*x]])*Subst[Int[(a+b*x)^n/(Sqrt[1+x]*Sqrt[1-x]),x],x,Sin[c+d*x]] /;
+FreeQ[{a,b,c,d,n},x] && NeQ[a^2-b^2] && Not[IntegerQ[2*n]]
+
+
+Int[(a_+b_.*sin[c_.+d_.*x_]*cos[c_.+d_.*x_])^n_,x_Symbol] :=
+ Int[(a+b*Sin[2*c+2*d*x]/2)^n,x] /;
+FreeQ[{a,b,c,d,n},x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.1.1.2 (g cos)^p (a+b sin)^m*)
+
+
+Int[cos[e_.+f_.*x_]^p_.*(a_+b_.*sin[e_.+f_.*x_])^m_.,x_Symbol] :=
+ 1/(b^p*f)*Subst[Int[(a+x)^(m+(p-1)/2)*(a-x)^((p-1)/2),x],x,b*Sin[e+f*x]] /;
+FreeQ[{a,b,e,f,m},x] && IntegerQ[(p-1)/2] && EqQ[a^2-b^2] && (p>=-1 || Not[IntegerQ[m+1/2] && EqQ[a^2-b^2]])
+
+
+Int[cos[e_.+f_.*x_]^p_.*(a_+b_.*sin[e_.+f_.*x_])^m_.,x_Symbol] :=
+ 1/(b^p*f)*Subst[Int[(a+x)^m*(b^2-x^2)^((p-1)/2),x],x,b*Sin[e+f*x]] /;
+FreeQ[{a,b,e,f,m},x] && IntegerQ[(p-1)/2] && NeQ[a^2-b^2]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -b*(g*Cos[e+f*x])^(p+1)/(f*g*(p+1)) + a*Int[(g*Cos[e+f*x])^p,x] /;
+FreeQ[{a,b,e,f,g,p},x] && (IntegerQ[2*p] || NeQ[a^2-b^2])
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ (a/g)^(2*m)*Int[(g*Cos[e+f*x])^(2*m+p)/(a-b*Sin[e+f*x])^m,x] /;
+FreeQ[{a,b,e,f,g},x] && EqQ[a^2-b^2] && IntegerQ[m] && RationalQ[p] && p<-1 && 2*m+p>=0
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^m/(a*f*g*m) /;
+FreeQ[{a,b,e,f,g,m,p},x] && EqQ[a^2-b^2] && EqQ[Simplify[m+p+1]] && Not[NegativeIntegerQ[p]]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^m/(a*f*g*Simplify[2*m+p+1]) +
+ Simplify[m+p+1]/(a*Simplify[2*m+p+1])*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^(m+1),x] /;
+FreeQ[{a,b,e,f,g,m,p},x] && EqQ[a^2-b^2] && NegativeIntegerQ[Simplify[m+p+1]] && NeQ[2*m+p+1] && Not[PositiveIntegerQ[m]]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^(m-1)/(f*g*(m-1)) /;
+FreeQ[{a,b,e,f,g,m,p},x] && EqQ[a^2-b^2] && EqQ[2*m+p-1] && NeQ[m-1]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ -b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^(m-1)/(f*g*(m+p)) +
+ a*(2*m+p-1)/(m+p)*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^(m-1),x] /;
+FreeQ[{a,b,e,f,g,m,p},x] && EqQ[a^2-b^2] && PositiveIntegerQ[Simplify[(2*m+p-1)/2]] && NeQ[m+p]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ -b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^m/(a*f*g*(p+1)) +
+ a*(m+p+1)/(g^2*(p+1))*Int[(g*Cos[e+f*x])^(p+2)*(a+b*Sin[e+f*x])^(m-1),x] /;
+FreeQ[{a,b,e,f,g},x] && EqQ[a^2-b^2] && RationalQ[m,p] && m>0 && p<=-2*m && IntegersQ[m+1/2,2*p]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ -2*b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^(m-1)/(f*g*(p+1)) +
+ b^2*(2*m+p-1)/(g^2*(p+1))*Int[(g*Cos[e+f*x])^(p+2)*(a+b*Sin[e+f*x])^(m-2),x] /;
+FreeQ[{a,b,e,f,g},x] && EqQ[a^2-b^2] && RationalQ[m,p] && m>1 && p<-1 && IntegersQ[2*m,2*p]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/Sqrt[g_.*cos[e_.+f_.*x_]],x_Symbol] :=
+ a*Sqrt[1+Cos[e+f*x]]*Sqrt[a+b*Sin[e+f*x]]/(a+a*Cos[e+f*x]+b*Sin[e+f*x])*Int[Sqrt[1+Cos[e+f*x]]/Sqrt[g*Cos[e+f*x]],x] +
+ b*Sqrt[1+Cos[e+f*x]]*Sqrt[a+b*Sin[e+f*x]]/(a+a*Cos[e+f*x]+b*Sin[e+f*x])*Int[Sin[e+f*x]/(Sqrt[g*Cos[e+f*x]]*Sqrt[1+Cos[e+f*x]]),x] /;
+FreeQ[{a,b,e,f,g},x] && EqQ[a^2-b^2]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ -b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^(m-1)/(f*g*(m+p)) +
+ a*(2*m+p-1)/(m+p)*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^(m-1),x] /;
+FreeQ[{a,b,e,f,g,m,p},x] && EqQ[a^2-b^2] && RationalQ[m] && m>0 && NeQ[m+p] && IntegersQ[2*m,2*p]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ g*(g*Cos[e+f*x])^(p-1)*(a+b*Sin[e+f*x])^(m+1)/(b*f*(m+p)) +
+ g^2*(p-1)/(a*(m+p))*Int[(g*Cos[e+f*x])^(p-2)*(a+b*Sin[e+f*x])^(m+1),x] /;
+FreeQ[{a,b,e,f,g},x] && EqQ[a^2-b^2] && RationalQ[m,p] && m<-1 && p>1 && (m>-2 || EqQ[2*m+p+1] || m==-2 && IntegerQ[p]) &&
+ NeQ[m+p] && IntegersQ[2*m,2*p]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ 2*g*(g*Cos[e+f*x])^(p-1)*(a+b*Sin[e+f*x])^(m+1)/(b*f*(2*m+p+1)) +
+ g^2*(p-1)/(b^2*(2*m+p+1))*Int[(g*Cos[e+f*x])^(p-2)*(a+b*Sin[e+f*x])^(m+2),x] /;
+FreeQ[{a,b,e,f,g},x] && EqQ[a^2-b^2] && RationalQ[m,p] && m<=-2 && p>1 && NeQ[2*m+p+1] && Not[NegativeIntegerQ[m+p+1]] &&
+ IntegersQ[2*m,2*p]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^m/(a*f*g*(2*m+p+1)) +
+ (m+p+1)/(a*(2*m+p+1))*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^(m+1),x] /;
+FreeQ[{a,b,e,f,g,m,p},x] && EqQ[a^2-b^2] && RationalQ[m] && m<-1 && NeQ[2*m+p+1] && IntegersQ[2*m,2*p]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ g*(g*Cos[e+f*x])^(p-1)/(b*f*(p-1)) + g^2/a*Int[(g*Cos[e+f*x])^(p-2),x] /;
+FreeQ[{a,b,e,f,g},x] && EqQ[a^2-b^2] && RationalQ[p] && p>1 && IntegerQ[2*p]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ b*(g*Cos[e+f*x])^(p+1)/(a*f*g*(p-1)*(a+b*Sin[e+f*x])) +
+ p/(a*(p-1))*Int[(g*Cos[e+f*x])^p,x] /;
+FreeQ[{a,b,e,f,g,p},x] && EqQ[a^2-b^2] && Not[RationalQ[p] && p>=1] && IntegerQ[2*p]
+
+
+Int[Sqrt[g_.*cos[e_.+f_.*x_]]/Sqrt[a_+b_.*sin[e_.+f_.*x_]],x_Symbol] :=
+ g*Sqrt[1+Cos[e+f*x]]*Sqrt[a+b*Sin[e+f*x]]/(a+a*Cos[e+f*x]+b*Sin[e+f*x])*Int[Sqrt[1+Cos[e+f*x]]/Sqrt[g*Cos[e+f*x]],x] -
+ g*Sqrt[1+Cos[e+f*x]]*Sqrt[a+b*Sin[e+f*x]]/(b+b*Cos[e+f*x]+a*Sin[e+f*x])*Int[Sin[e+f*x]/(Sqrt[g*Cos[e+f*x]]*Sqrt[1+Cos[e+f*x]]),x] /;
+FreeQ[{a,b,e,f,g},x] && EqQ[a^2-b^2]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^(3/2)/Sqrt[a_+b_.*sin[e_.+f_.*x_]],x_Symbol] :=
+ g*Sqrt[g*Cos[e+f*x]]*Sqrt[a+b*Sin[e+f*x]]/(b*f) +
+ g^2/(2*a)*Int[Sqrt[a+b*Sin[e+f*x]]/Sqrt[g*Cos[e+f*x]],x] /;
+FreeQ[{a,b,e,f,g},x] && EqQ[a^2-b^2]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_/Sqrt[a_+b_.*sin[e_.+f_.*x_]],x_Symbol] :=
+ -2*b*(g*Cos[e+f*x])^(p+1)/(f*g*(2*p-1)*(a+b*Sin[e+f*x])^(3/2)) +
+ 2*a*(p-2)/(2*p-1)*Int[(g*Cos[e+f*x])^p/(a+b*Sin[e+f*x])^(3/2),x] /;
+FreeQ[{a,b,e,f,g},x] && EqQ[a^2-b^2] && RationalQ[p] && p>2 && IntegerQ[2*p]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_/Sqrt[a_+b_.*sin[e_.+f_.*x_]],x_Symbol] :=
+ -b*(g*Cos[e+f*x])^(p+1)/(a*f*g*(p+1)*Sqrt[a+b*Sin[e+f*x]]) +
+ a*(2*p+1)/(2*g^2*(p+1))*Int[(g*Cos[e+f*x])^(p+2)/(a+b*Sin[e+f*x])^(3/2),x] /;
+FreeQ[{a,b,e,f,g},x] && EqQ[a^2-b^2] && RationalQ[p] && p<-1 && IntegerQ[2*p]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_.,x_Symbol] :=
+ a^m*(g*Cos[e+f*x])^(p+1)/(f*g*(1+Sin[e+f*x])^((p+1)/2)*(1-Sin[e+f*x])^((p+1)/2))*
+ Subst[Int[(1+b/a*x)^(m+(p-1)/2)*(1-b/a*x)^((p-1)/2),x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,e,f,g,p},x] && EqQ[a^2-b^2] && IntegerQ[m]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_.,x_Symbol] :=
+ a^2*(g*Cos[e+f*x])^(p+1)/(f*g*(a+b*Sin[e+f*x])^((p+1)/2)*(a-b*Sin[e+f*x])^((p+1)/2))*
+ Subst[Int[(a+b*x)^(m+(p-1)/2)*(a-b*x)^((p-1)/2),x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,e,f,g,m,p},x] && EqQ[a^2-b^2] && Not[IntegerQ[m]]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ -(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^m*Sin[e+f*x]/(f*g*(p+1)) +
+ 1/(g^2*(p+1))*Int[(g*Cos[e+f*x])^(p+2)*(a+b*Sin[e+f*x])^(m-1)*(a*(p+2)+b*(m+p+2)*Sin[e+f*x]),x] /;
+FreeQ[{a,b,e,f,g},x] && NeQ[a^2-b^2] && RationalQ[m,p] && 01 && p<-1 && (IntegersQ[2*m,2*p] || IntegerQ[m])
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ -b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^(m-1)/(f*g*(m+p)) +
+ 1/(m+p)*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^(m-2)*(b^2*(m-1)+a^2*(m+p)+a*b*(2*m+p-1)*Sin[e+f*x]),x] /;
+FreeQ[{a,b,e,f,g,p},x] && NeQ[a^2-b^2] && RationalQ[m] && m>1 && NeQ[m+p] && (IntegersQ[2*m,2*p] || IntegerQ[m])
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ g*(g*Cos[e+f*x])^(p-1)*(a+b*Sin[e+f*x])^(m+1)/(b*f*(m+1)) +
+ g^2*(p-1)/(b*(m+1))*Int[(g*Cos[e+f*x])^(p-2)*(a+b*Sin[e+f*x])^(m+1)*Sin[e+f*x],x] /;
+FreeQ[{a,b,e,f,g},x] && NeQ[a^2-b^2] && RationalQ[m,p] && m<-1 && p>1 && IntegersQ[2*m,2*p]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ -b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^(m+1)/(f*g*(a^2-b^2)*(m+1)) +
+ 1/((a^2-b^2)*(m+1))*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^(m+1)*(a*(m+1)-b*(m+p+2)*Sin[e+f*x]),x] /;
+FreeQ[{a,b,e,f,g,p},x] && NeQ[a^2-b^2] && RationalQ[m] && m<-1 && IntegersQ[2*m,2*p]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ g*(g*Cos[e+f*x])^(p-1)*(a+b*Sin[e+f*x])^(m+1)/(b*f*(m+p)) +
+ g^2*(p-1)/(b*(m+p))*Int[(g*Cos[e+f*x])^(p-2)*(a+b*Sin[e+f*x])^m*(b+a*Sin[e+f*x]),x] /;
+FreeQ[{a,b,e,f,g,m},x] && NeQ[a^2-b^2] && RationalQ[p] && p>1 && NeQ[m+p] && IntegersQ[2*m,2*p]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ (g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^(m+1)*(b-a*Sin[e+f*x])/(f*g*(a^2-b^2)*(p+1)) +
+ 1/(g^2*(a^2-b^2)*(p+1))*Int[(g*Cos[e+f*x])^(p+2)*(a+b*Sin[e+f*x])^m*(a^2*(p+2)-b^2*(m+p+2)+a*b*(m+p+3)*Sin[e+f*x]),x] /;
+FreeQ[{a,b,e,f,g,m},x] && NeQ[a^2-b^2] && RationalQ[p] && p<-1 && IntegersQ[2*m,2*p]
+
+
+Int[1/(Sqrt[g_.*cos[e_.+f_.*x_]]*Sqrt[a_+b_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ 2*Sqrt[2]*Sqrt[g*Cos[e+f*x]]*Sqrt[(a+b*Sin[e+f*x])/((a-b)*(1-Sin[e+f*x]))]/
+ (f*g*Sqrt[a+b*Sin[e+f*x]]*Sqrt[(1+Cos[e+f*x]+Sin[e+f*x])/(1+Cos[e+f*x]-Sin[e+f*x])])*
+ Subst[Int[1/Sqrt[1+(a+b)*x^4/(a-b)],x],x,Sqrt[(1+Cos[e+f*x]+Sin[e+f*x])/(1+Cos[e+f*x]-Sin[e+f*x])]] /;
+FreeQ[{a,b,e,f,g},x] && NeQ[a^2-b^2]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ g*(g*Cos[e+f*x])^(p-1)*(1-Sin[e+f*x])*(a+b*Sin[e+f*x])^(m+1)*(-(a-b)*(1-Sin[e+f*x])/((a+b)*(1+Sin[e+f*x])))^(m/2)/
+ (f*(a+b)*(m+1))*
+ Hypergeometric2F1[m+1,m/2+1,m+2,2*(a+b*Sin[e+f*x])/((a+b)*(1+Sin[e+f*x]))] /;
+FreeQ[{a,b,e,f,g,m,p},x] && NeQ[a^2-b^2] && EqQ[m+p+1]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ (g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^(m+1)/(f*g*(a-b)*(p+1)) +
+ a/(g^2*(a-b))*Int[(g*Cos[e+f*x])^(p+2)*(a+b*Sin[e+f*x])^m/(1-Sin[e+f*x]),x] /;
+FreeQ[{a,b,e,f,g,m,p},x] && NeQ[a^2-b^2] && EqQ[m+p+2]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ (g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^(m+1)/(f*g*(a-b)*(p+1)) -
+ b*(m+p+2)/(g^2*(a-b)*(p+1))*Int[(g*Cos[e+f*x])^(p+2)*(a+b*Sin[e+f*x])^m,x] +
+ a/(g^2*(a-b))*Int[(g*Cos[e+f*x])^(p+2)*(a+b*Sin[e+f*x])^m/(1-Sin[e+f*x]),x] /;
+FreeQ[{a,b,e,f,g,m,p},x] && NeQ[a^2-b^2] && NegativeIntegerQ[m+p+2]
+
+
+Int[Sqrt[g_.*cos[e_.+f_.*x_]]/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ With[{q=Rt[-a^2+b^2,2]},
+ a*g/(2*b)*Int[1/(Sqrt[g*Cos[e+f*x]]*(q+b*Cos[e+f*x])),x] -
+ a*g/(2*b)*Int[1/(Sqrt[g*Cos[e+f*x]]*(q-b*Cos[e+f*x])),x] +
+ b*g/f*Subst[Int[Sqrt[x]/(g^2*(a^2-b^2)+b^2*x^2),x],x,g*Cos[e+f*x]]] /;
+FreeQ[{a,b,e,f,g},x] && NeQ[a^2-b^2]
+
+
+Int[1/(Sqrt[g_.*cos[e_.+f_.*x_]]*(a_+b_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ With[{q=Rt[-a^2+b^2,2]},
+ -a/(2*q)*Int[1/(Sqrt[g*Cos[e+f*x]]*(q+b*Cos[e+f*x])),x] -
+ a/(2*q)*Int[1/(Sqrt[g*Cos[e+f*x]]*(q-b*Cos[e+f*x])),x] +
+ b*g/f*Subst[Int[1/(Sqrt[x]*(g^2*(a^2-b^2)+b^2*x^2)),x],x,g*Cos[e+f*x]]] /;
+FreeQ[{a,b,e,f,g},x] && NeQ[a^2-b^2]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ g*(g*Cos[e+f*x])^(p-1)*(a+b*Sin[e+f*x])^(m+1)/
+ (b*f*(m+p)*(-b*(1-Sin[e+f*x])/(a+b*Sin[e+f*x]))^((p-1)/2)*(b*(1+Sin[e+f*x])/(a+b*Sin[e+f*x]))^((p-1)/2))*
+ AppellF1[-p-m,(1-p)/2,(1-p)/2,1-p-m,(a+b)/(a+b*Sin[e+f*x]),(a-b)/(a+b*Sin[e+f*x])] /;
+FreeQ[{a,b,e,f,g,p},x] && NeQ[a^2-b^2] && NegativeIntegerQ[m] && Not[PositiveIntegerQ[m+p+1]]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ g*(g*Cos[e+f*x])^(p-1)/(f*(1-(a+b*Sin[e+f*x])/(a-b))^((p-1)/2)*(1-(a+b*Sin[e+f*x])/(a+b))^((p-1)/2))*
+ Subst[Int[(-b/(a-b)-b*x/(a-b))^((p-1)/2)*(b/(a+b)-b*x/(a+b))^((p-1)/2)*(a+b*x)^m,x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,e,f,g,m,p},x] && NeQ[a^2-b^2] && Not[PositiveIntegerQ[m]]
+
+
+Int[(g_.*sec[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_.,x_Symbol] :=
+ g^(2*IntPart[p])*(g*Cos[e+f*x])^FracPart[p]*(g*Sec[e+f*x])^FracPart[p]*Int[(a+b*Sin[e+f*x])^m/(g*Cos[e+f*x])^p,x] /;
+FreeQ[{a,b,e,f,g,m,p},x] && Not[IntegerQ[p]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.1.1.3 (g tan)^p (a+b sin)^m*)
+
+
+Int[(g_.*tan[e_.+f_.*x_])^p_./(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ 1/a*Int[Sec[e+f*x]^2*(g*Tan[e+f*x])^p,x] - 1/(b*g)*Int[Sec[e+f*x]*(g*Tan[e+f*x])^(p+1),x] /;
+FreeQ[{a,b,e,f,g,p},x] && EqQ[a^2-b^2] && NeQ[p+1]
+
+
+Int[tan[e_.+f_.*x_]^p_.*(a_+b_.*sin[e_.+f_.*x_])^m_.,x_Symbol] :=
+ 1/f*Subst[Int[x^p*(a+x)^(m-(p+1)/2)/(a-x)^((p+1)/2),x],x,b*Sin[e+f*x]] /;
+FreeQ[{a,b,e,f,m},x] && EqQ[a^2-b^2] && IntegerQ[(p+1)/2]
+
+
+Int[tan[e_.+f_.*x_]^p_*(a_+b_.*sin[e_.+f_.*x_])^m_.,x_Symbol] :=
+ a^p*Int[Sin[e+f*x]^p/(a-b*Sin[e+f*x])^m,x] /;
+FreeQ[{a,b,e,f},x] && EqQ[a^2-b^2] && IntegersQ[m,p] && p==2*m
+
+
+Int[tan[e_.+f_.*x_]^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ a^p*Int[ExpandIntegrand[Sin[e+f*x]^p*(a+b*Sin[e+f*x])^(m-p/2)/(a-b*Sin[e+f*x])^(p/2),x],x] /;
+FreeQ[{a,b,e,f},x] && EqQ[a^2-b^2] && IntegersQ[m,p/2] && (p<0 || m-p/2>0)
+
+
+Int[(g_.*tan[e_.+f_.*x_])^p_.*(a_+b_.*sin[e_.+f_.*x_])^m_.,x_Symbol] :=
+ Int[ExpandIntegrand[(g*Tan[e+f*x])^p,(a+b*Sin[e+f*x])^m,x],x] /;
+FreeQ[{a,b,e,f,g,p},x] && EqQ[a^2-b^2] && PositiveIntegerQ[m]
+
+
+Int[(g_.*tan[e_.+f_.*x_])^p_.*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ a^(2*m)*Int[ExpandIntegrand[(g*Tan[e+f*x])^p*Sec[e+f*x]^(-m),(a*Sec[e+f*x]-b*Tan[e+f*x])^(-m),x],x] /;
+FreeQ[{a,b,e,f,g,p},x] && EqQ[a^2-b^2] && NegativeIntegerQ[m]
+
+
+Int[tan[e_.+f_.*x_]^2*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ b*(a+b*Sin[e+f*x])^m/(a*f*(2*m-1)*Cos[e+f*x]) -
+ 1/(a^2*(2*m-1))*Int[(a+b*Sin[e+f*x])^(m+1)*(a*m-b*(2*m-1)*Sin[e+f*x])/Cos[e+f*x]^2,x] /;
+FreeQ[{a,b,e,f},x] && EqQ[a^2-b^2] && Not[IntegerQ[m]] && RationalQ[m] && m<0
+
+
+Int[tan[e_.+f_.*x_]^2*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ -(a+b*Sin[e+f*x])^(m+1)/(b*f*m*Cos[e+f*x]) +
+ 1/(b*m)*Int[(a+b*Sin[e+f*x])^m*(b*(m+1)+a*Sin[e+f*x])/Cos[e+f*x]^2,x] /;
+FreeQ[{a,b,e,f,m},x] && EqQ[a^2-b^2] && Not[IntegerQ[m]] && Not[RationalQ[m] && m<0]
+
+
+Int[tan[e_.+f_.*x_]^4*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ Int[(a+b*Sin[e+f*x])^m,x] - Int[(a+b*Sin[e+f*x])^m*(1-2*Sin[e+f*x]^2)/Cos[e+f*x]^4,x] /;
+FreeQ[{a,b,e,f,m},x] && EqQ[a^2-b^2] && IntegerQ[m-1/2]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_/tan[e_.+f_.*x_]^2,x_Symbol] :=
+ -(a+b*Sin[e+f*x])^(m+1)/(a*f*Tan[e+f*x]) +
+ 1/b^2*Int[(a+b*Sin[e+f*x])^(m+1)*(b*m-a*(m+1)*Sin[e+f*x])/Sin[e+f*x],x] /;
+FreeQ[{a,b,e,f},x] && EqQ[a^2-b^2] && IntegerQ[m-1/2] && m<-1
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_./tan[e_.+f_.*x_]^2,x_Symbol] :=
+ -(a+b*Sin[e+f*x])^m/(f*Tan[e+f*x]) +
+ 1/a*Int[(a+b*Sin[e+f*x])^m*(b*m-a*(m+1)*Sin[e+f*x])/Sin[e+f*x],x] /;
+FreeQ[{a,b,e,f,m},x] && EqQ[a^2-b^2] && IntegerQ[m-1/2] && Not[m<-1]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_/tan[e_.+f_.*x_]^4,x_Symbol] :=
+ -2/(a*b)*Int[(a+b*Sin[e+f*x])^(m+2)/Sin[e+f*x]^3,x] +
+ 1/a^2*Int[(a+b*Sin[e+f*x])^(m+2)*(1+Sin[e+f*x]^2)/Sin[e+f*x]^4,x] /;
+FreeQ[{a,b,e,f},x] && EqQ[a^2-b^2] && IntegerQ[m-1/2] && m<-1
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_/tan[e_.+f_.*x_]^4,x_Symbol] :=
+ Int[(a+b*Sin[e+f*x])^m,x] + Int[(a+b*Sin[e+f*x])^m*(1-2*Sin[e+f*x]^2)/Sin[e+f*x]^4,x] /;
+FreeQ[{a,b,e,f,m},x] && EqQ[a^2-b^2] && IntegerQ[m-1/2] && Not[m<-1]
+
+
+Int[tan[e_.+f_.*x_]^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ Sqrt[a+b*Sin[e+f*x]]*Sqrt[a-b*Sin[e+f*x]]/(b*f*Cos[e+f*x])*
+ Subst[Int[x^p*(a+x)^(m-(p+1)/2)/(a-x)^((p+1)/2),x],x,b*Sin[e+f*x]] /;
+FreeQ[{a,b,e,f,m},x] && EqQ[a^2-b^2] && Not[IntegerQ[m]] && IntegerQ[p/2]
+
+
+Int[(g_.*tan[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ (g*Tan[e+f*x])^(p+1)*(a-b*Sin[e+f*x])^((p+1)/2)*(a+b*Sin[e+f*x])^((p+1)/2)/(f*g*(b*Sin[e+f*x])^(p+1))*
+ Subst[Int[x^p*(a+x)^(m-(p+1)/2)/(a-x)^((p+1)/2),x],x,b*Sin[e+f*x]] /;
+FreeQ[{a,b,e,f,g,m,p},x] && EqQ[a^2-b^2] && Not[IntegerQ[m]] && Not[IntegerQ[p]]
+
+
+Int[tan[e_.+f_.*x_]^p_.*(a_+b_.*sin[e_.+f_.*x_])^m_.,x_Symbol] :=
+ 1/f*Subst[Int[(x^p*(a+x)^m)/(b^2-x^2)^((p+1)/2),x],x,b*Sin[e+f*x]] /;
+FreeQ[{a,b,e,f,m},x] && NeQ[a^2-b^2] && IntegerQ[(p+1)/2]
+
+
+Int[(g_.*tan[e_.+f_.*x_])^p_.*(a_+b_.*sin[e_.+f_.*x_])^m_.,x_Symbol] :=
+ Int[ExpandIntegrand[(g*Tan[e+f*x])^p,(a+b*Sin[e+f*x])^m,x],x] /;
+FreeQ[{a,b,e,f,g,p},x] && NeQ[a^2-b^2] && PositiveIntegerQ[m]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_/tan[e_.+f_.*x_]^2,x_Symbol] :=
+ Int[(a+b*Sin[e+f*x])^m*(1-Sin[e+f*x]^2)/Sin[e+f*x]^2,x] /;
+FreeQ[{a,b,e,f,m},x] && NeQ[a^2-b^2]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_/tan[e_.+f_.*x_]^4,x_Symbol] :=
+ -Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(3*a*f*Sin[e+f*x]^3) -
+ (3*a^2+b^2*(m-2))*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(3*a^2*b*f*(m+1)*Sin[e+f*x]^2) -
+ 1/(3*a^2*b*(m+1))*Int[(a+b*Sin[e+f*x])^(m+1)/Sin[e+f*x]^3*
+ Simp[6*a^2-b^2*(m-1)*(m-2)+a*b*(m+1)*Sin[e+f*x]-(3*a^2-b^2*m*(m-2))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,e,f},x] && NeQ[a^2-b^2] && RationalQ[m] && m<-1 && IntegerQ[2*m]
+
+
+(* Int[(a_+b_.*sin[e_.+f_.*x_])^m_/tan[e_.+f_.*x_]^4,x_Symbol] :=
+ -Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(3*a*f*Sin[e+f*x]^3) -
+ Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(b*f*m*Sin[e+f*x]^2) -
+ 1/(3*a*b*m)*Int[(a+b*Sin[e+f*x])^m/Sin[e+f*x]^3*
+ Simp[6*a^2-b^2*m*(m-2)+a*b*(m+3)*Sin[e+f*x]-(3*a^2-b^2*m*(m-1))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,e,f,m},x] && NeQ[a^2-b^2] && Not[RationalQ[m] && m<-1] && IntegerQ[2*m] *)
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_/tan[e_.+f_.*x_]^4,x_Symbol] :=
+ -Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(3*a*f*Sin[e+f*x]^3) -
+ b*(m-2)*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(6*a^2*f*Sin[e+f*x]^2) -
+ 1/(6*a^2)*Int[(a+b*Sin[e+f*x])^m/Sin[e+f*x]^2*
+ Simp[8*a^2-b^2*(m-1)*(m-2)+a*b*m*Sin[e+f*x]-(6*a^2-b^2*m*(m-2))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,e,f,m},x] && NeQ[a^2-b^2] && Not[RationalQ[m] && m<-1] && IntegerQ[2*m]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_/tan[e_.+f_.*x_]^6,x_Symbol] :=
+ -Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(5*a*f*Sin[e+f*x]^5) -
+ b*(m-4)*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(20*a^2*f*Sin[e+f*x]^4) +
+ a*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(b^2*f*m*(m-1)*Sin[e+f*x]^3) +
+ Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(b*f*m*Sin[e+f*x]^2) +
+ 1/(20*a^2*b^2*m*(m-1))*Int[(a+b*Sin[e+f*x])^m/Sin[e+f*x]^4*
+ Simp[60*a^4-44*a^2*b^2*(m-1)*m+b^4*m*(m-1)*(m-3)*(m-4)+a*b*m*(20*a^2-b^2*m*(m-1))*Sin[e+f*x]-
+ (40*a^4+b^4*m*(m-1)*(m-2)*(m-4)-20*a^2*b^2*(m-1)*(2*m+1))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,e,f,m},x] && NeQ[a^2-b^2] && NeQ[m-1] && IntegerQ[2*m]
+
+
+Int[(g_.*tan[e_.+f_.*x_])^p_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ a/(a^2-b^2)*Int[(g*Tan[e+f*x])^p/Sin[e+f*x]^2,x] -
+ b*g/(a^2-b^2)*Int[(g*Tan[e+f*x])^(p-1)/Cos[e+f*x],x] -
+ a^2*g^2/(a^2-b^2)*Int[(g*Tan[e+f*x])^(p-2)/(a+b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,e,f,g},x] && NeQ[a^2-b^2] && IntegersQ[2*p] && p>1
+
+
+Int[(g_.*tan[e_.+f_.*x_])^p_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ 1/a*Int[(g*Tan[e+f*x])^p/Cos[e+f*x]^2,x] -
+ b/(a^2*g)*Int[(g*Tan[e+f*x])^(p+1)/Cos[e+f*x],x] -
+ (a^2-b^2)/(a^2*g^2)*Int[(g*Tan[e+f*x])^(p+2)/(a+b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,e,f,g},x] && NeQ[a^2-b^2] && IntegersQ[2*p] && p<-1
+
+
+Int[Sqrt[g_.*tan[e_.+f_.*x_]]/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ Sqrt[Cos[e+f*x]]*Sqrt[g*Tan[e+f*x]]/Sqrt[Sin[e+f*x]]*Int[Sqrt[Sin[e+f*x]]/(Sqrt[Cos[e+f*x]]*(a+b*Sin[e+f*x])),x] /;
+FreeQ[{a,b,e,f,g},x] && NeQ[a^2-b^2]
+
+
+Int[1/(Sqrt[g_*tan[e_.+f_.*x_]]*(a_+b_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ Sqrt[Sin[e+f*x]]/(Sqrt[Cos[e+f*x]]*Sqrt[g*Tan[e+f*x]])*Int[Sqrt[Cos[e+f*x]]/(Sqrt[Sin[e+f*x]]*(a+b*Sin[e+f*x])),x] /;
+FreeQ[{a,b,e,f,g},x] && NeQ[a^2-b^2]
+
+
+Int[tan[e_.+f_.*x_]^p_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ Int[ExpandIntegrand[Sin[e+f*x]^p*(a+b*Sin[e+f*x])^m/(1-Sin[e+f*x]^2)^(p/2),x],x] /;
+FreeQ[{a,b,e,f},x] && NeQ[a^2-b^2] && IntegersQ[m,p/2]
+
+
+Int[(g_.*tan[e_.+f_.*x_])^p_.*(a_+b_.*sin[e_.+f_.*x_])^m_.,x_Symbol] :=
+ Defer[Int][(g*Tan[e+f*x])^p*(a+b*Sin[e+f*x])^m,x] /;
+FreeQ[{a,b,e,f,g,m,p},x]
+
+
+Int[(g_.*cot[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_.,x_Symbol] :=
+ g^(2*IntPart[p])*(g*Cot[e+f*x])^FracPart[p]*(g*Tan[e+f*x])^FracPart[p]*Int[(a+b*Sin[e+f*x])^m/(g*Tan[e+f*x])^p,x] /;
+FreeQ[{a,b,e,f,g,m,p},x] && Not[IntegerQ[p]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.1.2.1 (a+b sin)^m (c+d sin)^n*)
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])*(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ (2*a*c+b*d)*x/2 - (b*c+a*d)*Cos[e+f*x]/f - b*d*Cos[e+f*x]*Sin[e+f*x]/(2*f) /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d]
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])/(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ b*x/d - (b*c-a*d)/d*Int[1/(c+d*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_+d_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ a^m*c^m*Int[Cos[e+f*x]^(2*m)*(c+d*Sin[e+f*x])^(n-m),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && IntegerQ[m] && Not[IntegerQ[n] && (m<0 && n>0 || 00]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ -b*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m-1)*(c+d*Sin[e+f*x])^n/(f*(m+n)) +
+ a*(2*m-1)/(m+n)*Int[(a+b*Sin[e+f*x])^(m-1)*(c+d*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && PositiveIntegerQ[m-1/2] && Not[RationalQ[n] && n<-1] &&
+ Not[PositiveIntegerQ[n-1/2] && n0]
+
+
+Int[1/(Sqrt[a_+b_.*sin[e_.+f_.*x_]]*Sqrt[c_+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ Cos[e+f*x]/(Sqrt[a+b*Sin[e+f*x]]*Sqrt[c+d*Sin[e+f*x]])*Int[1/Cos[e+f*x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*Cos[e+f*x]*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n/(a*f*(2*m+1)) /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && EqQ[m+n+1] && NeQ[m+1/2]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*Cos[e+f*x]*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n/(a*f*(2*m+1)) +
+ (m+n+1)/(a*(2*m+1))*Int[(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && NegativeIntegerQ[Simplify[m+n+1]] && NeQ[m+1/2] &&
+ (SumSimplerQ[m,1] || Not[SumSimplerQ[n,1]])
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*Cos[e+f*x]*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n/(a*f*(2*m+1)) +
+ (m+n+1)/(a*(2*m+1))*Int[(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && RationalQ[m] && m<-1 &&
+ Not[RationalQ[n] && m0 && IntegerQ[2*m]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -(b*c-a*d)*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(f*(m+1)*(a^2-b^2)) +
+ 1/((m+1)*(a^2-b^2))*Int[(a+b*Sin[e+f*x])^(m+1)*Simp[(a*c-b*d)*(m+1)-(b*c-a*d)*(m+2)*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && RationalQ[m] && m<-1 && IntegerQ[2*m]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ c*Cos[e+f*x]/(f*Sqrt[1+Sin[e+f*x]]*Sqrt[1-Sin[e+f*x]])*Subst[Int[(a+b*x)^m*Sqrt[1+d/c*x]/Sqrt[1-d/c*x],x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && Not[IntegerQ[2*m]] && EqQ[c^2-d^2]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ (b*c-a*d)/b*Int[(a+b*Sin[e+f*x])^m,x] + d/b*Int[(a+b*Sin[e+f*x])^(m+1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_.*(d_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandTrig[(a+b*sin[e+f*x])^m*(d*sin[e+f*x])^n,x],x] /;
+FreeQ[{a,b,d,e,f,n},x] && EqQ[a^2-b^2] && PositiveIntegerQ[m] && RationalQ[n]
+
+
+Int[sin[e_.+f_.*x_]^2*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ b*Cos[e+f*x]*(a+b*Sin[e+f*x])^m/(a*f*(2*m+1)) -
+ 1/(a^2*(2*m+1))*Int[(a+b*Sin[e+f*x])^(m+1)*(a*m-b*(2*m+1)*Sin[e+f*x]),x] /;
+FreeQ[{a,b,e,f},x] && EqQ[a^2-b^2] && RationalQ[m] && m<-1/2
+
+
+Int[sin[e_.+f_.*x_]^2*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ -Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(b*f*(m+2)) +
+ 1/(b*(m+2))*Int[(a+b*Sin[e+f*x])^m*(b*(m+1)-a*Sin[e+f*x]),x] /;
+FreeQ[{a,b,e,f,m},x] && EqQ[a^2-b^2] && Not[RationalQ[m] && m<-1/2]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^2,x_Symbol] :=
+ (b*c-a*d)*Cos[e+f*x]*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])/(a*f*(2*m+1)) +
+ 1/(a*b*(2*m+1))*Int[(a+b*Sin[e+f*x])^(m+1)*Simp[a*c*d*(m-1)+b*(d^2+c^2*(m+1))+d*(a*d*(m-1)+b*c*(m+2))*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && RationalQ[m] && m<-1
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^2,x_Symbol] :=
+ -d^2*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(b*f*(m+2)) +
+ 1/(b*(m+2))*Int[(a+b*Sin[e+f*x])^m*Simp[b*(d^2*(m+1)+c^2*(m+2))-d*(a*d-2*b*c*(m+2))*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && Not[RationalQ[m] && m<-1]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ -b^2*(b*c-a*d)*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m-2)*(c+d*Sin[e+f*x])^(n+1)/(d*f*(n+1)*(b*c+a*d)) +
+ b^2/(d*(n+1)*(b*c+a*d))*Int[(a+b*Sin[e+f*x])^(m-2)*(c+d*Sin[e+f*x])^(n+1)*
+ Simp[a*c*(m-2)-b*d*(m-2*n-4)-(b*c*(m-1)-a*d*(m+2*n+1))*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m,n] && m>1 && n<-1 &&
+ (IntegersQ[2*m,2*n] || IntegerQ[m+1/2] || IntegerQ[m] && EqQ[c])
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ -b^2*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m-2)*(c+d*Sin[e+f*x])^(n+1)/(d*f*(m+n)) +
+ 1/(d*(m+n))*Int[(a+b*Sin[e+f*x])^(m-2)*(c+d*Sin[e+f*x])^n*
+ Simp[a*b*c*(m-2)+b^2*d*(n+1)+a^2*d*(m+n)-b*(b*c*(m-1)-a*d*(3*m+2*n-2))*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m] && m>1 &&
+ Not[RationalQ[n] && n<-1] && (IntegersQ[2*m,2*n] || IntegerQ[m+1/2] || IntegerQ[m] && EqQ[c])
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*Cos[e+f*x]*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n/(a*f*(2*m+1)) -
+ 1/(a*b*(2*m+1))*Int[(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^(n-1)*Simp[a*d*n-b*c*(m+1)-b*d*(m+n+1)*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m,n] && m<-1 && 01 &&
+ (IntegersQ[2*m,2*n] || IntegerQ[m] && EqQ[c])
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ b^2*Cos[e+f*x]*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^(n+1)/(a*f*(2*m+1)*(b*c-a*d)) +
+ 1/(a*(2*m+1)*(b*c-a*d))*Int[(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^n*
+ Simp[b*c*(m+1)-a*d*(2*m+n+2)+b*d*(m+n+2)*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m] && m<-1 &&
+ Not[RationalQ[n] && n>0] && (IntegersQ[2*m,2*n] || IntegerQ[m] && EqQ[c])
+
+
+Int[(c_.+d_.*sin[e_.+f_.*x_])^n_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -(b*c-a*d)*Cos[e+f*x]*(c+d*Sin[e+f*x])^(n-1)/(a*f*(a+b*Sin[e+f*x])) -
+ d/(a*b)*Int[(c+d*Sin[e+f*x])^(n-2)*Simp[b*d*(n-1)-a*c*n+(b*c*(n-1)-a*d*n)*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[n] && n>1 &&
+ (IntegerQ[2*n] || EqQ[c])
+
+
+Int[(c_.+d_.*sin[e_.+f_.*x_])^n_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -b^2*Cos[e+f*x]*(c+d*Sin[e+f*x])^(n+1)/(a*f*(b*c-a*d)*(a+b*Sin[e+f*x])) +
+ d/(a*(b*c-a*d))*Int[(c+d*Sin[e+f*x])^n*(a*n-b*(n+1)*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[n] && n<0 && (IntegerQ[2*n] || EqQ[c])
+
+
+Int[(c_.+d_.*sin[e_.+f_.*x_])^n_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -b*Cos[e+f*x]*(c+d*Sin[e+f*x])^n/(a*f*(a+b*Sin[e+f*x])) +
+ d*n/(a*b)*Int[(c+d*Sin[e+f*x])^(n-1)*(a-b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && (IntegerQ[2*n] || EqQ[c])
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]*(c_.+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ -2*b*Cos[e+f*x]*(c+d*Sin[e+f*x])^n/(f*(2*n+1)*Sqrt[a+b*Sin[e+f*x]]) +
+ 2*n*(b*c+a*d)/(b*(2*n+1))*Int[Sqrt[a+b*Sin[e+f*x]]*(c+d*Sin[e+f*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[n] && n>0 && IntegerQ[2*n]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/(c_.+d_.*sin[e_.+f_.*x_])^(3/2),x_Symbol] :=
+ -2*b^2*Cos[e+f*x]/(f*(b*c+a*d)*Sqrt[a+b*Sin[e+f*x]]*Sqrt[c+d*Sin[e+f*x]]) /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]*(c_.+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ (b*c-a*d)*Cos[e+f*x]*(c+d*Sin[e+f*x])^(n+1)/(f*(n+1)*(c^2-d^2)*Sqrt[a+b*Sin[e+f*x]]) +
+ (2*n+3)*(b*c-a*d)/(2*b*(n+1)*(c^2-d^2))*Int[Sqrt[a+b*Sin[e+f*x]]*(c+d*Sin[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[n] && n<-1 && NeQ[2*n+3] && IntegerQ[2*n]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -2*b/f*Subst[Int[1/(b*c+a*d-d*x^2),x],x,b*Cos[e+f*x]/Sqrt[a+b*Sin[e+f*x]]] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/Sqrt[d_.*sin[e_.+f_.*x_]],x_Symbol] :=
+ -2/f*Subst[Int[1/Sqrt[1-x^2/a],x],x,b*Cos[e+f*x]/Sqrt[a+b*Sin[e+f*x]]] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2] && EqQ[d-a/b]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/Sqrt[c_.+d_.*sin[e_.+f_.*x_]],x_Symbol] :=
+ -2*b/f*Subst[Int[1/(b+d*x^2),x],x,b*Cos[e+f*x]/(Sqrt[a+b*Sin[e+f*x]]*Sqrt[c+d*Sin[e+f*x]])] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]*(c_.+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ a^2*Cos[e+f*x]/(f*Sqrt[a+b*Sin[e+f*x]]*Sqrt[a-b*Sin[e+f*x]])*Subst[Int[(c+d*x)^n/Sqrt[a-b*x],x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,n},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && Not[IntegerQ[2*n]]
+
+
+Int[Sqrt[c_.+d_.*sin[e_.+f_.*x_]]/Sqrt[a_+b_.*sin[e_.+f_.*x_]],x_Symbol] :=
+ d/b*Int[Sqrt[a+b*Sin[e+f*x]]/Sqrt[c+d*Sin[e+f*x]],x] +
+ (b*c-a*d)/b*Int[1/(Sqrt[a+b*Sin[e+f*x]]*Sqrt[c+d*Sin[e+f*x]]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(c_.+d_.*sin[e_.+f_.*x_])^n_/Sqrt[a_+b_.*sin[e_.+f_.*x_]],x_Symbol] :=
+ -2*d*Cos[e+f*x]*(c+d*Sin[e+f*x])^(n-1)/(f*(2*n-1)*Sqrt[a+b*Sin[e+f*x]]) -
+ 1/(b*(2*n-1))*Int[(c+d*Sin[e+f*x])^(n-2)/Sqrt[a+b*Sin[e+f*x]]*
+ Simp[a*c*d-b*(2*d^2*(n-1)+c^2*(2*n-1))+d*(a*d-b*c*(4*n-3))*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[n] && n>1 && IntegerQ[2*n]
+
+
+Int[(c_.+d_.*sin[e_.+f_.*x_])^n_/Sqrt[a_+b_.*sin[e_.+f_.*x_]],x_Symbol] :=
+ -d*Cos[e+f*x]*(c+d*Sin[e+f*x])^(n+1)/(f*(n+1)*(c^2-d^2)*Sqrt[a+b*Sin[e+f*x]]) -
+ 1/(2*b*(n+1)*(c^2-d^2))*Int[(c+d*Sin[e+f*x])^(n+1)*Simp[a*d-2*b*c*(n+1)+b*d*(2*n+3)*Sin[e+f*x],x]/Sqrt[a+b*Sin[e+f*x]],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[n] && n<-1 && IntegerQ[2*n]
+
+
+Int[1/(Sqrt[a_+b_.*sin[e_.+f_.*x_]]*(c_.+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ b/(b*c-a*d)*Int[1/Sqrt[a+b*Sin[e+f*x]],x] - d/(b*c-a*d)*Int[Sqrt[a+b*Sin[e+f*x]]/(c+d*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[1/(Sqrt[a_+b_.*sin[e_.+f_.*x_]]*Sqrt[d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ -Sqrt[2]/(Sqrt[a]*f)*Subst[Int[1/Sqrt[1-x^2],x],x,b*Cos[e+f*x]/(a+b*Sin[e+f*x])] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2] && EqQ[d-a/b] && PositiveQ[a]
+
+
+Int[1/(Sqrt[a_+b_.*sin[e_.+f_.*x_]]*Sqrt[c_.+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ -2*a/f*Subst[Int[1/(2*b^2-(a*c-b*d)*x^2),x],x,b*Cos[e+f*x]/(Sqrt[a+b*Sin[e+f*x]]*Sqrt[c+d*Sin[e+f*x]])] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ -d*Cos[e+f*x]*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^(n-1)/(f*(m+n)) +
+ 1/(b*(m+n))*Int[(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^(n-2)*
+ Simp[d*(a*c*m+b*d*(n-1))+b*c^2*(m+n)+d*(a*d*m+b*c*(m+2*n-1))*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[n] && n>1 && IntegerQ[n]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ a^m*Cos[e+f*x]/(f*Sqrt[1+Sin[e+f*x]]*Sqrt[1-Sin[e+f*x]])*Subst[Int[(1+b/a*x)^(m-1/2)*(c+d*x)^n/Sqrt[1-b/a*x],x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,n},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && IntegerQ[m]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ -b*(d/b)^n*Cos[e+f*x]/(f*Sqrt[a+b*Sin[e+f*x]]*Sqrt[a-b*Sin[e+f*x]])*
+ Subst[Int[(a-x)^n*(2*a-x)^(m-1/2)/Sqrt[x],x],x,a-b*Sin[e+f*x]] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2-b^2] && Not[IntegerQ[m]] && PositiveQ[a] && PositiveQ[d/b]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(d_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ (d/b)^IntPart[n]*(d*Sin[e+f*x])^FracPart[n]/(b*Sin[e+f*x])^FracPart[n]*Int[(a+b*Sin[e+f*x])^m*(b*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2-b^2] && Not[IntegerQ[m]] && PositiveQ[a] && Not[PositiveQ[d/b]]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(d_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ a^IntPart[m]*(a+b*Sin[e+f*x])^FracPart[m]/(1+b/a*Sin[e+f*x])^FracPart[m]*
+ Int[(1+b/a*Sin[e+f*x])^m*(d*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2-b^2] && Not[IntegerQ[m]] && Not[PositiveQ[a]]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ a^2*Cos[e+f*x]/(f*Sqrt[a+b*Sin[e+f*x]]*Sqrt[a-b*Sin[e+f*x]])*Subst[Int[(a+b*x)^(m-1/2)*(c+d*x)^n/Sqrt[a-b*x],x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && Not[IntegerQ[m]]
+
+
+Int[(b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^2,x_Symbol] :=
+ 2*c*d/b*Int[(b*Sin[e+f*x])^(m+1),x] + Int[(b*Sin[e+f*x])^m*(c^2+d^2*Sin[e+f*x]^2),x] /;
+FreeQ[{b,c,d,e,f,m},x]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^2,x_Symbol] :=
+ -(b^2*c^2-2*a*b*c*d+a^2*d^2)*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(b*f*(m+1)*(a^2-b^2)) -
+ 1/(b*(m+1)*(a^2-b^2))*Int[(a+b*Sin[e+f*x])^(m+1)*
+ Simp[b*(m+1)*(2*b*c*d-a*(c^2+d^2))+(a^2*d^2-2*a*b*c*d*(m+2)+b^2*(d^2*(m+1)+c^2*(m+2)))*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && RationalQ[m] && m<-1
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^2,x_Symbol] :=
+ -d^2*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(b*f*(m+2)) +
+ 1/(b*(m+2))*Int[(a+b*Sin[e+f*x])^m*Simp[b*(d^2*(m+1)+c^2*(m+2))-d*(a*d-2*b*c*(m+2))*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && Not[RationalQ[m] && m<-1]
+
+
+(* Int[(a_+b_.*sin[e_.+f_.*x_])^m_.*(d_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandTrig[(a+b*sin[e+f*x])^m*(d*sin[e+f*x])^n,x],x] /;
+FreeQ[{a,b,d,e,f,n},x] && NeQ[a^2-b^2] && PositiveIntegerQ[m] *)
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ -(b^2*c^2-2*a*b*c*d+a^2*d^2)*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m-2)*(c+d*Sin[e+f*x])^(n+1)/(d*f*(n+1)*(c^2-d^2)) +
+ 1/(d*(n+1)*(c^2-d^2))*Int[(a+b*Sin[e+f*x])^(m-3)*(c+d*Sin[e+f*x])^(n+1)*
+ Simp[b*(m-2)*(b*c-a*d)^2+a*d*(n+1)*(c*(a^2+b^2)-2*a*b*d)+
+ (b*(n+1)*(a*b*c^2+c*d*(a^2+b^2)-3*a*b*d^2)-a*(n+2)*(b*c-a*d)^2)*Sin[e+f*x]+
+ b*(b^2*(c^2-d^2)-m*(b*c-a*d)^2+d*n*(2*a*b*c-d*(a^2+b^2)))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m,n] && m>2 && n<-1 &&
+ (IntegerQ[m] || IntegersQ[2*m,2*n])
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ -b^2*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m-2)*(c+d*Sin[e+f*x])^(n+1)/(d*f*(m+n)) +
+ 1/(d*(m+n))*Int[(a+b*Sin[e+f*x])^(m-3)*(c+d*Sin[e+f*x])^n*
+ Simp[a^3*d*(m+n)+b^2*(b*c*(m-2)+a*d*(n+1))-
+ b*(a*b*c-b^2*d*(m+n-1)-3*a^2*d*(m+n))*Sin[e+f*x]-
+ b^2*(b*c*(m-1)-a*d*(3*m+2*n-2))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m] && m>2 &&
+ (IntegerQ[m] || IntegersQ[2*m,2*n]) && Not[IntegerQ[n] && n>2 && (Not[IntegerQ[m]] || EqQ[a] && NeQ[c])]
+
+
+Int[Sqrt[d_.*sin[e_.+f_.*x_]]/(a_+b_.*sin[e_.+f_.*x_])^(3/2),x_Symbol] :=
+ -2*a*d*Cos[e+f*x]/(f*(a^2-b^2)*Sqrt[a+b*Sin[e+f*x]]*Sqrt[d*Sin[e+f*x]]) -
+ d^2/(a^2-b^2)*Int[Sqrt[a+b*Sin[e+f*x]]/(d*Sin[e+f*x])^(3/2),x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2]
+
+
+Int[Sqrt[c_+d_.*sin[e_.+f_.*x_]]/(a_.+b_.*sin[e_.+f_.*x_])^(3/2),x_Symbol] :=
+ (c-d)/(a-b)*Int[1/(Sqrt[a+b*Sin[e+f*x]]*Sqrt[c+d*Sin[e+f*x]]),x] -
+ (b*c-a*d)/(a-b)*Int[(1+Sin[e+f*x])/((a+b*Sin[e+f*x])^(3/2)*Sqrt[c+d*Sin[e+f*x]]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ -b*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^n/(f*(m+1)*(a^2-b^2)) +
+ 1/((m+1)*(a^2-b^2))*Int[(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^(n-1)*
+ Simp[a*c*(m+1)+b*d*n+(a*d*(m+1)-b*c*(m+2))*Sin[e+f*x]-b*d*(m+n+2)*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m,n] && m<-1 && 00]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ -b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^(m-1)*(c+d*Sin[e+f*x])^n/(f*g*(m+n+p)) +
+ a*(2*m+p-1)/(m+n+p)*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^(m-1)*(c+d*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && PositiveIntegerQ[Simplify[m+p/2-1/2]] && Not[RationalQ[n] && n<-1] &&
+ Not[PositiveIntegerQ[Simplify[n+p/2-1/2]] && m-n>0] && Not[NegativeIntegerQ[Simplify[m+n+p]] && Simplify[2*m+n+3*p/2+1]>0]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ a^IntPart[m]*c^IntPart[m]*(a+b*Sin[e+f*x])^FracPart[m]*(c+d*Sin[e+f*x])^FracPart[m]/
+ (g^(2*IntPart[m])*(g*Cos[e+f*x])^(2*FracPart[m]))*Int[(g*Cos[e+f*x])^(2*m+p),x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && EqQ[2*m+p+1]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n/(a*f*g*(m-n)) /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && EqQ[m+n+p+1] && NeQ[m-n]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n/(a*f*g*(2*m+p+1)) +
+ (m+n+p+1)/(a*(2*m+p+1))*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && NegativeIntegerQ[Simplify[m+n+p+1]] && NeQ[2*m+p+1] &&
+ (SumSimplerQ[m,1] || Not[SumSimplerQ[n,1]])
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ -2*b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^(m-1)*(c+d*Sin[e+f*x])^n/(f*g*(2*n+p+1)) -
+ b*(2*m+p-1)/(d*(2*n+p+1))*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^(m-1)*(c+d*Sin[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && RationalQ[m,n] && m>0 && n<-1 && NeQ[2*n+p+1] &&
+ IntegersQ[2*m,2*n,2*p]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ -b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^(m-1)*(c+d*Sin[e+f*x])^n/(f*g*(m+n+p)) +
+ a*(2*m+p-1)/(m+n+p)*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^(m-1)*(c+d*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && RationalQ[m] && m>0 && NeQ[m+n+p] &&
+ Not[RationalQ[n] && 0-1 && p<-1
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -d*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^m/(f*g*(m+p+1)) +
+ (a*d*m+b*c*(m+p+1))/(b*(m+p+1))*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^m,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && EqQ[a^2-b^2] && PositiveIntegerQ[Simplify[(2*m+p+1)/2]] && NeQ[m+p+1]
+
+
+Int[cos[e_.+f_.*x_]^2*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ 2*(b*c-a*d)*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(b^2*f*(2*m+3)) +
+ 1/(b^3*(2*m+3))*Int[(a+b*Sin[e+f*x])^(m+2)*(b*c+2*a*d*(m+1)-b*d*(2*m+3)*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[a^2-b^2] && RationalQ[m] && m<-3/2
+
+
+Int[cos[e_.+f_.*x_]^2*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ d*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+2)/(b^2*f*(m+3)) -
+ 1/(b^2*(m+3))*Int[(a+b*Sin[e+f*x])^(m+1)*(b*d*(m+2)-a*c*(m+3)+(b*c*(m+3)-a*d*(m+4))*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[a^2-b^2] && RationalQ[m] && -3/2<=m<0
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ (b*c-a*d)*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^m/(a*f*g*(2*m+p+1)) +
+ (a*d*m+b*c*(m+p+1))/(a*b*(2*m+p+1))*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^(m+1),x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && EqQ[a^2-b^2] && (RationalQ[m] && m<-1 || NegativeIntegerQ[Simplify[m+p]]) && NeQ[2*m+p+1]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -d*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^m/(f*g*(m+p+1)) +
+ (a*d*m+b*c*(m+p+1))/(b*(m+p+1))*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^m,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && EqQ[a^2-b^2] && NeQ[m+p+1]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^m*(d+c*Sin[e+f*x])/(f*g*(p+1)) +
+ 1/(g^2*(p+1))*Int[(g*Cos[e+f*x])^(p+2)*(a+b*Sin[e+f*x])^(m-1)*Simp[a*c*(p+2)+b*d*m+b*c*(m+p+2)*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[a^2-b^2] && RationalQ[m,p] && m>0 && p<-1 && IntegerQ[2*m] &&
+ Not[m==1 && NeQ[c^2-d^2] && SimplerQ[c+d*x,a+b*x]]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -d*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^m/(f*g*(m+p+1)) +
+ 1/(m+p+1)*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^(m-1)*Simp[a*c*(m+p+1)+b*d*m+(a*d*m+b*c*(m+p+1))*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && NeQ[a^2-b^2] && RationalQ[m] && m>0 && Not[RationalQ[p] && p<-1] && IntegerQ[2*m] &&
+ Not[m==1 && NeQ[c^2-d^2] && SimplerQ[c+d*x,a+b*x]]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ g*(g*Cos[e+f*x])^(p-1)*(a+b*Sin[e+f*x])^(m+1)*(b*c*(m+p+1)-a*d*p+b*d*(m+1)*Sin[e+f*x])/(b^2*f*(m+1)*(m+p+1)) +
+ g^2*(p-1)/(b^2*(m+1)*(m+p+1))*
+ Int[(g*Cos[e+f*x])^(p-2)*(a+b*Sin[e+f*x])^(m+1)*Simp[b*d*(m+1)+(b*c*(m+p+1)-a*d*p)*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[a^2-b^2] && RationalQ[m,p] && m<-1 && p>1 && NeQ[m+p+1] && IntegerQ[2*m]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -(b*c-a*d)*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^(m+1)/(f*g*(a^2-b^2)*(m+1)) +
+ 1/((a^2-b^2)*(m+1))*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^(m+1)*Simp[(a*c-b*d)*(m+1)-(b*c-a*d)*(m+p+2)*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && NeQ[a^2-b^2] && RationalQ[m] && m<-1 && IntegerQ[2*m]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ g*(g*Cos[e+f*x])^(p-1)*(a+b*Sin[e+f*x])^(m+1)*(b*c*(m+p+1)-a*d*p+b*d*(m+p)*Sin[e+f*x])/(b^2*f*(m+p)*(m+p+1)) +
+ g^2*(p-1)/(b^2*(m+p)*(m+p+1))*
+ Int[(g*Cos[e+f*x])^(p-2)*(a+b*Sin[e+f*x])^m*Simp[b*(a*d*m+b*c*(m+p+1))+(a*b*c*(m+p+1)-d*(a^2*p-b^2*(m+p)))*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m},x] && NeQ[a^2-b^2] && RationalQ[p] && p>1 && NeQ[m+p] && NeQ[m+p+1] && IntegerQ[2*m]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ (g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^(m+1)*(b*c-a*d-(a*c-b*d)*Sin[e+f*x])/(f*g*(a^2-b^2)*(p+1)) +
+ 1/(g^2*(a^2-b^2)*(p+1))*
+ Int[(g*Cos[e+f*x])^(p+2)*(a+b*Sin[e+f*x])^m*Simp[c*(a^2*(p+2)-b^2*(m+p+2))+a*b*d*m+b*(a*c-b*d)*(m+p+3)*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m},x] && NeQ[a^2-b^2] && RationalQ[p] && p<-1 && IntegerQ[2*m]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(c_.+d_.*sin[e_.+f_.*x_])/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ d/b*Int[(g*Cos[e+f*x])^p,x] + (b*c-a*d)/b*Int[(g*Cos[e+f*x])^p/(a+b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[a^2-b^2]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ c*g*(g*Cos[e+f*x])^(p-1)/(f*(1+Sin[e+f*x])^((p-1)/2)*(1-Sin[e+f*x])^((p-1)/2))*
+ Subst[Int[(1+d/c*x)^((p+1)/2)*(1-d/c*x)^((p-1)/2)*(a+b*x)^m,x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && NeQ[a^2-b^2] && EqQ[c^2-d^2]
+
+
+Int[cos[e_.+f_.*x_]^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ a^(2*m)*Int[(d*Sin[e+f*x])^n/(a-b*Sin[e+f*x])^m,x] /;
+FreeQ[{a,b,d,e,f,n},x] && EqQ[a^2-b^2] && IntegersQ[m,p] && 2*m+p==0
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*sin[e_.+f_.*x_]^2*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ -(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^(m+1)/(2*b*f*g*(m+1)) +
+ a/(2*g^2)*Int[(g*Cos[e+f*x])^(p+2)*(a+b*Sin[e+f*x])^(m-1),x] /;
+FreeQ[{a,b,e,f,g,m,p},x] && EqQ[a^2-b^2] && EqQ[m-p]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*sin[e_.+f_.*x_]^2*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^m/(a*f*g*m) -
+ 1/g^2*Int[(g*Cos[e+f*x])^(p+2)*(a+b*Sin[e+f*x])^m,x] /;
+FreeQ[{a,b,e,f,g,m,p},x] && EqQ[a^2-b^2] && EqQ[m+p+1]
+
+
+Int[cos[e_.+f_.*x_]^p_*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ 1/a^p*Int[ExpandTrig[(d*sin[e+f*x])^n*(a-b*sin[e+f*x])^(p/2)*(a+b*sin[e+f*x])^(m+p/2),x],x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2] && IntegersQ[m,n,p/2] && (m>0 && p>0 && -m-p2 && p<0 && m+p/2>0)
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ Int[ExpandTrig[(g*cos[e+f*x])^p,(d*sin[e+f*x])^n*(a+b*sin[e+f*x])^m,x],x] /;
+FreeQ[{a,b,d,e,f,g,n,p},x] && EqQ[a^2-b^2] && PositiveIntegerQ[m]
+
+
+Int[cos[e_.+f_.*x_]^2*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ 1/b^2*Int[(d*Sin[e+f*x])^n*(a+b*Sin[e+f*x])^(m+1)*(a-b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2-b^2] && (NegativeIntegerQ[m] || Not[PositiveIntegerQ[n]])
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ (a/g)^(2*m)*Int[(g*Cos[e+f*x])^(2*m+p)*(d*Sin[e+f*x])^n/(a-b*Sin[e+f*x])^m,x] /;
+FreeQ[{a,b,d,e,f,g,n,p},x] && EqQ[a^2-b^2] && NegativeIntegerQ[m]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ (a/g)^(2*m)*Int[(g*Cos[e+f*x])^(2*m+p)*(d*Sin[e+f*x])^n/(a-b*Sin[e+f*x])^m,x] /;
+FreeQ[{a,b,d,e,f,g,n},x] && EqQ[a^2-b^2] && IntegerQ[m] && RationalQ[p] && (2*m+p==0 || 2*m+p>0 && p<-1)
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*sin[e_.+f_.*x_]^2*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ b*(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^m/(a*f*g*(2*m+p+1)) -
+ 1/(a^2*(2*m+p+1))*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^(m+1)*(a*m-b*(2*m+p+1)*Sin[e+f*x]),x] /;
+FreeQ[{a,b,e,f,g,p},x] && EqQ[a^2-b^2] && RationalQ[m] && m<=-1/2 && NeQ[2*m+p+1]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*sin[e_.+f_.*x_]^2*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ -(g*Cos[e+f*x])^(p+1)*(a+b*Sin[e+f*x])^(m+1)/(b*f*g*(m+p+2)) +
+ 1/(b*(m+p+2))*Int[(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^m*(b*(m+1)-a*(p+1)*Sin[e+f*x]),x] /;
+FreeQ[{a,b,e,f,g,m,p},x] && EqQ[a^2-b^2] && NeQ[m+p+2]
+
+
+Int[cos[e_.+f_.*x_]^2*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ 1/b^2*Int[(d*Sin[e+f*x])^n*(a+b*Sin[e+f*x])^(m+1)*(a-b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2-b^2] && IntegersQ[2*m,2*n]
+
+
+Int[cos[e_.+f_.*x_]^4*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ -2/(a*b*d)*Int[(d*Sin[e+f*x])^(n+1)*(a+b*Sin[e+f*x])^(m+2),x] +
+ 1/a^2*Int[(d*Sin[e+f*x])^n*(a+b*Sin[e+f*x])^(m+2)*(1+Sin[e+f*x]^2),x] /;
+FreeQ[{a,b,d,e,f,n},x] && EqQ[a^2-b^2] && RationalQ[m] && m<-1
+
+
+Int[cos[e_.+f_.*x_]^4*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ 1/d^4*Int[(d*Sin[e+f*x])^(n+4)*(a+b*Sin[e+f*x])^m,x] +
+ Int[(d*Sin[e+f*x])^n*(a+b*Sin[e+f*x])^m*(1-2*Sin[e+f*x]^2),x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2-b^2] && Not[PositiveIntegerQ[m]]
+
+
+Int[cos[e_.+f_.*x_]^p_*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ a^m*Cos[e+f*x]/(f*Sqrt[1+Sin[e+f*x]]*Sqrt[1-Sin[e+f*x]])*
+ Subst[Int[(d*x)^n*(1+b/a*x)^(m+(p-1)/2)*(1-b/a*x)^((p-1)/2),x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,d,e,f,n},x] && EqQ[a^2-b^2] && IntegerQ[p/2] && IntegerQ[m]
+
+
+Int[cos[e_.+f_.*x_]^p_*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ Cos[e+f*x]/(a^(p-2)*f*Sqrt[a+b*Sin[e+f*x]]*Sqrt[a-b*Sin[e+f*x]])*
+ Subst[Int[(d*x)^n(a+b*x)^(m+p/2-1/2)*(a-b*x)^(p/2-1/2),x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2-b^2] && IntegerQ[p/2] && Not[IntegerQ[m]]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ Int[ExpandTrig[(g*cos[e+f*x])^p,(d*sin[e+f*x])^n*(a+b*sin[e+f*x])^m,x],x] /;
+FreeQ[{a,b,d,e,f,g,n,p},x] && EqQ[a^2-b^2] && PositiveIntegerQ[m] && (IntegerQ[p] || PositiveIntegerQ[n])
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ a^m*g*(g*Cos[e+f*x])^(p-1)/(f*(1+Sin[e+f*x])^((p-1)/2)*(1-Sin[e+f*x])^((p-1)/2))*
+ Subst[Int[(d*x)^n*(1+b/a*x)^(m+(p-1)/2)*(1-b/a*x)^((p-1)/2),x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,d,e,f,n,p},x] && EqQ[a^2-b^2] && IntegerQ[m]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ g*(g*Cos[e+f*x])^(p-1)/(f*(a+b*Sin[e+f*x])^((p-1)/2)*(a-b*Sin[e+f*x])^((p-1)/2))*
+ Subst[Int[(d*x)^n*(a+b*x)^(m+(p-1)/2)*(a-b*x)^((p-1)/2),x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,d,e,f,m,n,p},x] && EqQ[a^2-b^2] && Not[IntegerQ[m]]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_/Sqrt[d_.*sin[e_.+f_.*x_]],x_Symbol] :=
+ -g*(g*Cos[e+f*x])^(p-1)*Sqrt[d*Sin[e+f*x]]*(a+b*Sin[e+f*x])^(m+1)/(a*d*f*(m+1)) +
+ g^2*(2*m+3)/(2*a*(m+1))*Int[(g*Cos[e+f*x])^(p-2)*(a+b*Sin[e+f*x])^(m+1)/Sqrt[d*Sin[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f,g},x] && NeQ[a^2-b^2] && RationalQ[m] && m<-1 && EqQ[m+p+1/2]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_/Sqrt[d_.*sin[e_.+f_.*x_]],x_Symbol] :=
+ 2*(g*Cos[e+f*x])^(p+1)*Sqrt[d*Sin[e+f*x]]*(a+b*Sin[e+f*x])^m/(d*f*g*(2*m+1)) +
+ 2*a*m/(g^2*(2*m+1))*Int[(g*Cos[e+f*x])^(p+2)*(a+b*Sin[e+f*x])^(m-1)/Sqrt[d*Sin[e+f*x]],x] /;
+FreeQ[{a,b,e,f,g},x] && NeQ[a^2-b^2] && RationalQ[m] && m>0 && EqQ[m+p+3/2]
+
+
+Int[cos[e_.+f_.*x_]^2*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ Int[(d*Sin[e+f*x])^n*(a+b*Sin[e+f*x])^m*(1-Sin[e+f*x]^2),x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && NeQ[a^2-b^2] && (PositiveIntegerQ[m] || IntegersQ[2*m,2*n])
+
+
+(* Int[cos[e_.+f_.*x_]^4*sin[e_.+f_.*x_]^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ (a^2-b^2)*Cos[e+f*x]*Sin[e+f*x]^(n+1)*(a+b*Sin[e+f*x])^(m+1)/(a*b^2*d*(m+1)) -
+ (a^2*(n+1)-b^2*(m+n+2))*Cos[e+f*x]*Sin[e+f*x]^(n+1)*(a+b*Sin[e+f*x])^(m+2)/(a^2*b^2*d*(n+1)*(m+1)) +
+ 1/(a^2*b*(n+1)*(m+1))*Int[Sin[e+f*x]^(n+1)*(a+b*Sin[e+f*x])^(m+1)*
+ Simp[a^2*(n+1)*(n+2)-b^2*(m+n+2)*(m+n+3)+a*b*(m+1)*Sin[e+f*x]-(a^2*(n+1)*(n+3)-b^2*(m+n+2)*(m+n+4))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2] && IntegersQ[2*m,2*n] && m<-1 && n<-1 *)
+
+
+Int[cos[e_.+f_.*x_]^4*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ Cos[e+f*x]*(d*Sin[e+f*x])^(n+1)*(a+b*Sin[e+f*x])^(m+1)/(a*d*f*(n+1)) -
+ (a^2*(n+1)-b^2*(m+n+2))*Cos[e+f*x]*(d*Sin[e+f*x])^(n+2)*(a+b*Sin[e+f*x])^(m+1)/(a^2*b*d^2*f*(n+1)*(m+1)) +
+ 1/(a^2*b*d*(n+1)*(m+1))*Int[(d*Sin[e+f*x])^(n+1)*(a+b*Sin[e+f*x])^(m+1)*
+ Simp[a^2*(n+1)*(n+2)-b^2*(m+n+2)*(m+n+3)+a*b*(m+1)*Sin[e+f*x]-(a^2*(n+1)*(n+3)-b^2*(m+n+2)*(m+n+4))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2] && IntegersQ[2*m,2*n] && m<-1 && n<-1
+
+
+Int[cos[e_.+f_.*x_]^4*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ (a^2-b^2)*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)*(d*Sin[e+f*x])^(n+1)/(a*b^2*d*f*(m+1)) +
+ (a^2*(n-m+1)-b^2*(m+n+2))*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+2)*(d*Sin[e+f*x])^(n+1)/(a^2*b^2*d*f*(m+1)*(m+2)) -
+ 1/(a^2*b^2*(m+1)*(m+2))*Int[(a+b*Sin[e+f*x])^(m+2)*(d*Sin[e+f*x])^n*
+ Simp[a^2*(n+1)*(n+3)-b^2*(m+n+2)*(m+n+3)+a*b*(m+2)*Sin[e+f*x]-(a^2*(n+2)*(n+3)-b^2*(m+n+2)*(m+n+4))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,n},x] && NeQ[a^2-b^2] && IntegersQ[2*m,2*n] && m<-1 && Not[n<-1] && (m<-2 || EqQ[m+n+4])
+
+
+Int[cos[e_.+f_.*x_]^4*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ (a^2-b^2)*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)*(d*Sin[e+f*x])^(n+1)/(a*b^2*d*f*(m+1)) -
+ Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+2)*(d*Sin[e+f*x])^(n+1)/(b^2*d*f*(m+n+4)) -
+ 1/(a*b^2*(m+1)*(m+n+4))*Int[(a+b*Sin[e+f*x])^(m+1)*(d*Sin[e+f*x])^n*
+ Simp[a^2*(n+1)*(n+3)-b^2*(m+n+2)*(m+n+4)+a*b*(m+1)*Sin[e+f*x]-(a^2*(n+2)*(n+3)-b^2*(m+n+3)*(m+n+4))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,n},x] && NeQ[a^2-b^2] && IntegersQ[2*m,2*n] && m<-1 && Not[n<-1] && NeQ[m+n+4]
+
+
+Int[cos[e_.+f_.*x_]^4*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)*(d*Sin[e+f*x])^(n+1)/(a*d*f*(n+1)) -
+ b*(m+n+2)*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)*(d*Sin[e+f*x])^(n+2)/(a^2*d^2*f*(n+1)*(n+2)) -
+ 1/(a^2*d^2*(n+1)*(n+2))*Int[(a+b*Sin[e+f*x])^m*(d*Sin[e+f*x])^(n+2)*
+ Simp[a^2*n*(n+2)-b^2*(m+n+2)*(m+n+3)+a*b*m*Sin[e+f*x]-(a^2*(n+1)*(n+2)-b^2*(m+n+2)*(m+n+4))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,m},x] && NeQ[a^2-b^2] && (PositiveIntegerQ[m] || IntegersQ[2*m,2*n]) && Not[m<-1] && RationalQ[n] && n<-1 &&
+ (n<-2 || EqQ[m+n+4])
+
+
+Int[cos[e_.+f_.*x_]^4*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)*(d*Sin[e+f*x])^(n+1)/(a*d*f*(n+1)) -
+ Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)*(d*Sin[e+f*x])^(n+2)/(b*d^2*f*(m+n+4)) +
+ 1/(a*b*d*(n+1)*(m+n+4))*Int[(a+b*Sin[e+f*x])^m*(d*Sin[e+f*x])^(n+1)*
+ Simp[a^2*(n+1)*(n+2)-b^2*(m+n+2)*(m+n+4)+a*b*(m+3)*Sin[e+f*x]-(a^2*(n+1)*(n+3)-b^2*(m+n+3)*(m+n+4))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,m},x] && NeQ[a^2-b^2] && (PositiveIntegerQ[m] || IntegersQ[2*m,2*n]) && Not[m<-1] && RationalQ[n] && n<-1 &&
+ NeQ[m+n+4]
+
+
+Int[cos[e_.+f_.*x_]^4*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ a*(n+3)*Cos[e+f*x]*(d*Sin[e+f*x])^(n+1)*(a+b*Sin[e+f*x])^(m+1)/(b^2*d*f*(m+n+3)*(m+n+4)) -
+ Cos[e+f*x]*(d*Sin[e+f*x])^(n+2)*(a+b*Sin[e+f*x])^(m+1)/(b*d^2*f*(m+n+4)) -
+ 1/(b^2*(m+n+3)*(m+n+4))*Int[(d*Sin[e+f*x])^n*(a+b*Sin[e+f*x])^m*
+ Simp[a^2*(n+1)*(n+3)-b^2*(m+n+3)*(m+n+4)+a*b*m*Sin[e+f*x]-(a^2*(n+2)*(n+3)-b^2*(m+n+3)*(m+n+5))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && NeQ[a^2-b^2] && (PositiveIntegerQ[m] || IntegersQ[2*m,2*n]) && Not[m<-1] && Not[RationalQ[n] && n<-1] &&
+ NeQ[m+n+3] && NeQ[m+n+4]
+
+
+Int[cos[e_.+f_.*x_]^6*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ Cos[e+f*x]*(d*Sin[e+f*x])^(n+1)*(a+b*Sin[e+f*x])^(m+1)/(a*d*f*(n+1)) -
+ b*(m+n+2)*Cos[e+f*x]*(d*Sin[e+f*x])^(n+2)*(a+b*Sin[e+f*x])^(m+1)/(a^2*d^2*f*(n+1)*(n+2)) -
+ a*(n+5)*Cos[e+f*x]*(d*Sin[e+f*x])^(n+3)*(a+b*Sin[e+f*x])^(m+1)/(b^2*d^3*f*(m+n+5)*(m+n+6)) +
+ Cos[e+f*x]*(d*Sin[e+f*x])^(n+4)*(a+b*Sin[e+f*x])^(m+1)/(b*d^4*f*(m+n+6)) +
+ 1/(a^2*b^2*d^2*(n+1)*(n+2)*(m+n+5)*(m+n+6))*
+ Int[(d*Sin[e+f*x])^(n+2)*(a+b*Sin[e+f*x])^m*
+ Simp[a^4*(n+1)*(n+2)*(n+3)*(n+5)-a^2*b^2*(n+2)*(2*n+1)*(m+n+5)*(m+n+6)+b^4*(m+n+2)*(m+n+3)*(m+n+5)*(m+n+6) +
+ a*b*m*(a^2*(n+1)*(n+2)-b^2*(m+n+5)*(m+n+6))*Sin[e+f*x] -
+ (a^4*(n+1)*(n+2)*(4+n)*(n+5)+b^4*(m+n+2)*(m+n+4)*(m+n+5)*(m+n+6)-a^2*b^2*(n+1)*(n+2)*(m+n+5)*(2*n+2*m+13))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && NeQ[a^2-b^2] && IntegersQ[2*m,2*n] && NeQ[n+1] && NeQ[n+2] && NeQ[m+n+5] &&
+ NeQ[m+n+6] && Not[PositiveIntegerQ[m]]
+
+
+Int[cos[e_.+f_.*x_]^p_*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ Int[ExpandTrig[(d*sin[e+f*x])^n*(a+b*sin[e+f*x])^m*(1-sin[e+f*x]^2)^(p/2),x],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2] && IntegersQ[m,2*n,p/2] && (m<-1 || m==-1 && p>0)
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*sin[e_.+f_.*x_]^n_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ Int[ExpandTrig[(g*cos[e+f*x])^p,sin[e+f*x]^n/(a+b*sin[e+f*x]),x],x] /;
+FreeQ[{a,b,e,f,g,p},x] && NeQ[a^2-b^2] && IntegerQ[n] && (n<0 || PositiveIntegerQ[p+1/2])
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ g^2/a*Int[(g*Cos[e+f*x])^(p-2)*(d*Sin[e+f*x])^n,x] -
+ b*g^2/(a^2*d)*Int[(g*Cos[e+f*x])^(p-2)*(d*Sin[e+f*x])^(n+1),x] -
+ g^2*(a^2-b^2)/(a^2*d^2)*Int[(g*Cos[e+f*x])^(p-2)*(d*Sin[e+f*x])^(n+2)/(a+b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,g},x] && NeQ[a^2-b^2] && IntegersQ[2*n,2*p] && p>1 && (n<=-2 || n==-3/2 && p==3/2)
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ g^2/(a*b)*Int[(g*Cos[e+f*x])^(p-2)*(d*Sin[e+f*x])^n*(b-a*Sin[e+f*x]),x] +
+ g^2*(a^2-b^2)/(a*b*d)*Int[(g*Cos[e+f*x])^(p-2)*(d*Sin[e+f*x])^(n+1)/(a+b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,g},x] && NeQ[a^2-b^2] && IntegersQ[2*n,2*p] && p>1 && (n<-1 || p==3/2 && n==-1/2)
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ g^2/b^2*Int[(g*Cos[e+f*x])^(p-2)*(d*Sin[e+f*x])^n*(a-b*Sin[e+f*x]),x] -
+ g^2*(a^2-b^2)/b^2*Int[(g*Cos[e+f*x])^(p-2)*(d*Sin[e+f*x])^n/(a+b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,g},x] && NeQ[a^2-b^2] && IntegersQ[2*n,2*p] && p>1
+
+
+(* Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ g^2*Int[(g*Cos[e+f*x])^(p-2)*(d*Sin[e+f*x])^n/(a+b*Sin[e+f*x]),x] -
+ g^2/d^2*Int[(g*Cos[e+f*x])^(p-2)*(d*Sin[e+f*x])^(n+2)/(a+b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,g},x] && NeQ[a^2-b^2] && IntegersQ[2*n,2*p] && p>1 *)
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ a*d^2/(a^2-b^2)*Int[(g*Cos[e+f*x])^p*(d*Sin[e+f*x])^(n-2),x] -
+ b*d/(a^2-b^2)*Int[(g*Cos[e+f*x])^p*(d*Sin[e+f*x])^(n-1),x] -
+ a^2*d^2/(g^2*(a^2-b^2))*Int[(g*Cos[e+f*x])^(p+2)*(d*Sin[e+f*x])^(n-2)/(a+b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,g},x] && NeQ[a^2-b^2] && IntegersQ[2*n,2*p] && p<-1 && n>1
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -d/(a^2-b^2)*Int[(g*Cos[e+f*x])^p*(d*Sin[e+f*x])^(n-1)*(b-a*Sin[e+f*x]),x] +
+ a*b*d/(g^2*(a^2-b^2))*Int[(g*Cos[e+f*x])^(p+2)*(d*Sin[e+f*x])^(n-1)/(a+b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,g},x] && NeQ[a^2-b^2] && IntegersQ[2*n,2*p] && p<-1 && n>0
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ 1/(a^2-b^2)*Int[(g*Cos[e+f*x])^p*(d*Sin[e+f*x])^n*(a-b*Sin[e+f*x]),x] -
+ b^2/(g^2*(a^2-b^2))*Int[(g*Cos[e+f*x])^(p+2)*(d*Sin[e+f*x])^n/(a+b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,g},x] && NeQ[a^2-b^2] && IntegersQ[2*n,2*p] && p<-1
+
+
+Int[Sqrt[g_.*cos[e_.+f_.*x_]]/(Sqrt[sin[e_.+f_.*x_]]*(a_+b_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ -4*Sqrt[2]*g/f*Subst[Int[x^2/(((a+b)*g^2+(a-b)*x^4)*Sqrt[1-x^4/g^2]),x],x,Sqrt[g*Cos[e+f*x]]/Sqrt[1+Sin[e+f*x]]] /;
+FreeQ[{a,b,e,f,g},x] && NeQ[a^2-b^2]
+
+
+Int[Sqrt[g_.*cos[e_.+f_.*x_]]/(Sqrt[d_*sin[e_.+f_.*x_]]*(a_+b_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ Sqrt[Sin[e+f*x]]/Sqrt[d*Sin[e+f*x]]*Int[Sqrt[g*Cos[e+f*x]]/(Sqrt[Sin[e+f*x]]*(a+b*Sin[e+f*x])),x] /;
+FreeQ[{a,b,d,e,f,g},x] && NeQ[a^2-b^2]
+
+
+Int[Sqrt[d_.*sin[e_.+f_.*x_]]/(Sqrt[cos[e_.+f_.*x_]]*(a_+b_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ With[{q=Rt[-a^2+b^2,2]},
+ 2*Sqrt[2]*d*(b+q)/(f*q)*Subst[Int[1/((d*(b+q)+a*x^2)*Sqrt[1-x^4/d^2]),x],x,Sqrt[d*Sin[e+f*x]]/Sqrt[1+Cos[e+f*x]]] -
+ 2*Sqrt[2]*d*(b-q)/(f*q)*Subst[Int[1/((d*(b-q)+a*x^2)*Sqrt[1-x^4/d^2]),x],x,Sqrt[d*Sin[e+f*x]]/Sqrt[1+Cos[e+f*x]]]] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2]
+
+
+Int[Sqrt[d_.*sin[e_.+f_.*x_]]/(Sqrt[g_.*cos[e_.+f_.*x_]]*(a_+b_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ Sqrt[Cos[e+f*x]]/Sqrt[g*Cos[e+f*x]]*Int[Sqrt[d*Sin[e+f*x]]/(Sqrt[Cos[e+f*x]]*(a+b*Sin[e+f*x])),x] /;
+FreeQ[{a,b,d,e,f,g},x] && NeQ[a^2-b^2]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ d/b*Int[(g*Cos[e+f*x])^p*(d*Sin[e+f*x])^(n-1),x] -
+ a*d/b*Int[(g*Cos[e+f*x])^p*(d*Sin[e+f*x])^(n-1)/(a+b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,g},x] && NeQ[a^2-b^2] && IntegersQ[2*n,2*p] && -10
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_/(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ 1/a*Int[(g*Cos[e+f*x])^p*(d*Sin[e+f*x])^n,x] -
+ b/(a*d)*Int[(g*Cos[e+f*x])^p*(d*Sin[e+f*x])^(n+1)/(a+b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,g},x] && NeQ[a^2-b^2] && IntegersQ[2*n,2*p] && -1
0 || IntegerQ[n])
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_*(a_+b_.*sin[e_.+f_.*x_])^m_,x_Symbol] :=
+ g^2/a*Int[(g*Cos[e+f*x])^(p-2)*(d*Sin[e+f*x])^n*(a+b*Sin[e+f*x])^(m+1),x] -
+ b*g^2/(a^2*d)*Int[(g*Cos[e+f*x])^(p-2)*(d*Sin[e+f*x])^(n+1)*(a+b*Sin[e+f*x])^(m+1),x] -
+ g^2*(a^2-b^2)/(a^2*d^2)*Int[(g*Cos[e+f*x])^(p-2)*(d*Sin[e+f*x])^(n+2)*(a+b*Sin[e+f*x])^m,x] /;
+FreeQ[{a,b,d,e,f,g},x] && NeQ[a^2-b^2] && IntegersQ[m,2*n,2*p] && m<0 && p>1 && (n<=-2 || m==-1 && n==-3/2 && p==3/2)
+
+
+Int[cos[e_.+f_.*x_]^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ a^(2*m)*Int[(c+d*Sin[e+f*x])^n/(a-b*Sin[e+f*x])^m,x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && EqQ[a^2-b^2] && IntegersQ[m,p] && 2*m+p==0
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ (a/g)^(2*m)*Int[(g*Cos[e+f*x])^(2*m+p)*(c+d*Sin[e+f*x])^n/(a-b*Sin[e+f*x])^m,x] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && EqQ[a^2-b^2] && IntegerQ[m] && RationalQ[p] && (2*m+p==0 || 2*m+p>0 && p<-1)
+
+
+Int[cos[e_.+f_.*x_]^2*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ 1/b^2*Int[(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^n*(a-b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && EqQ[a^2-b^2] && IntegersQ[2*m,2*n]
+
+
+Int[cos[e_.+f_.*x_]^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ a^m*Cos[e+f*x]/(f*Sqrt[1+Sin[e+f*x]]*Sqrt[1-Sin[e+f*x]])*
+ Subst[Int[(1+b/a*x)^(m+(p-1)/2)*(1-b/a*x)^((p-1)/2)*(c+d*x)^n,x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,n},x] && EqQ[a^2-b^2] && IntegerQ[p/2] && IntegerQ[m]
+
+
+Int[cos[e_.+f_.*x_]^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ Cos[e+f*x]/(a^(p-2)*f*Sqrt[a+b*Sin[e+f*x]]*Sqrt[a-b*Sin[e+f*x]])*
+ Subst[Int[(a+b*x)^(m+p/2-1/2)*(a-b*x)^(p/2-1/2)*(c+d*x)^n,x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && EqQ[a^2-b^2] && IntegerQ[p/2] && Not[IntegerQ[m]]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ Int[ExpandTrig[(g*cos[e+f*x])^p,(a+b*sin[e+f*x])^m*(c+d*sin[e+f*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && EqQ[a^2-b^2] && PositiveIntegerQ[m] && (IntegerQ[p] || PositiveIntegerQ[n])
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ a^m*g*(g*Cos[e+f*x])^(p-1)/(f*(1+Sin[e+f*x])^((p-1)/2)*(1-Sin[e+f*x])^((p-1)/2))*
+ Subst[Int[(1+b/a*x)^(m+(p-1)/2)*(1-b/a*x)^((p-1)/2)*(c+d*x)^n,x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,n,p},x] && EqQ[a^2-b^2] && IntegerQ[m]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ g*(g*Cos[e+f*x])^(p-1)/(f*(a+b*Sin[e+f*x])^((p-1)/2)*(a-b*Sin[e+f*x])^((p-1)/2))*
+ Subst[Int[(a+b*x)^(m+(p-1)/2)*(a-b*x)^((p-1)/2)*(c+d*x)^n,x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && EqQ[a^2-b^2] && Not[IntegerQ[m]]
+
+
+Int[cos[e_.+f_.*x_]^2*(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ Int[(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n*(1-Sin[e+f*x]^2),x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && NeQ[a^2-b^2] && (PositiveIntegerQ[m] || IntegersQ[2*m,2*n])
+
+
+Int[cos[e_.+f_.*x_]^p_*(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ Int[ExpandTrig[(a+b*sin[e+f*x])^m*(c+d*sin[e+f*x])^n*(1-sin[e+f*x]^2)^(p/2),x],x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && NeQ[a^2-b^2] && PositiveIntegerQ[p/2] && (PositiveIntegerQ[m] || IntegersQ[2*m,2*n])
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ Int[ExpandTrig[(g*cos[e+f*x])^p*(a+b*sin[e+f*x])^m*(c+d*sin[e+f*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && NeQ[a^2-b^2] && IntegersQ[2*m,2*n]
+
+
+Int[(g_.*cos[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_.+d_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(g*Cos[e+f*x])^p*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && NeQ[a^2-b^2]
+
+
+Int[(g_.*sec[e_.+f_.*x_])^p_*(a_.+b_.*sin[e_.+f_.*x_])^m_.*(c_.+d_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ g^(2*IntPart[p])*(g*Cos[e+f*x])^FracPart[p]*(g*Sec[e+f*x])^FracPart[p]*
+ Int[(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n/(g*Cos[e+f*x])^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && Not[IntegerQ[p]]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^p_*(a_.+b_.*cos[e_.+f_.*x_])^m_.*(c_.+d_.*cos[e_.+f_.*x_])^n_.,x_Symbol] :=
+ g^(2*IntPart[p])*(g*Sin[e+f*x])^FracPart[p]*(g*Csc[e+f*x])^FracPart[p]*
+ Int[(a+b*Cos[e+f*x])^m*(c+d*Cos[e+f*x])^n/(g*Sin[e+f*x])^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && Not[IntegerQ[p]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.1.2.3 (g sin)^p (a+b sin)^m (c+d sin)^n*)
+
+
+Int[Sqrt[g_.*sin[e_.+f_.*x_]]*Sqrt[a_+b_.*sin[e_.+f_.*x_]]/(c_+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ g/d*Int[Sqrt[a+b*Sin[e+f*x]]/Sqrt[g*Sin[e+f*x]],x] -
+ c*g/d*Int[Sqrt[a+b*Sin[e+f*x]]/(Sqrt[g*Sin[e+f*x]]*(c+d*Sin[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && (EqQ[a^2-b^2] || EqQ[c^2-d^2])
+
+
+Int[Sqrt[g_.*sin[e_.+f_.*x_]]*Sqrt[a_+b_.*sin[e_.+f_.*x_]]/(c_+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ b/d*Int[Sqrt[g*Sin[e+f*x]]/Sqrt[a+b*Sin[e+f*x]],x] -
+ (b*c-a*d)/d*Int[Sqrt[g*Sin[e+f*x]]/(Sqrt[a+b*Sin[e+f*x]]*(c+d*Sin[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/(Sqrt[g_.*sin[e_.+f_.*x_]]*(c_+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ -2*b/f*Subst[Int[1/(b*c+a*d+c*g*x^2),x],x,b*Cos[e+f*x]/(Sqrt[g*Sin[e+f*x]]*Sqrt[a+b*Sin[e+f*x]])] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/(Sqrt[sin[e_.+f_.*x_]]*(c_+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ -Sqrt[a+b]/(c*f)*EllipticE[ArcSin[Cos[e+f*x]/(1+Sin[e+f*x])],-(a-b)/(a+b)] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[d-c] && PositiveQ[b^2-a^2] && PositiveQ[b]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/(Sqrt[g_.*sin[e_.+f_.*x_]]*(c_+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ -Sqrt[a+b*Sin[e+f*x]]*Sqrt[d*Sin[e+f*x]/(c+d*Sin[e+f*x])]/
+ (d*f*Sqrt[g*Sin[e+f*x]]*Sqrt[c^2*(a+b*Sin[e+f*x])/((a*c+b*d)*(c+d*Sin[e+f*x]))])*
+ EllipticE[ArcSin[c*Cos[e+f*x]/(c+d*Sin[e+f*x])],(b*c-a*d)/(b*c+a*d)] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && EqQ[c^2-d^2]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/(Sqrt[g_.*sin[e_.+f_.*x_]]*(c_+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ a/c*Int[1/(Sqrt[g*Sin[e+f*x]]*Sqrt[a+b*Sin[e+f*x]]),x] +
+ (b*c-a*d)/(c*g)*Int[Sqrt[g*Sin[e+f*x]]/(Sqrt[a+b*Sin[e+f*x]]*(c+d*Sin[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/(sin[e_.+f_.*x_]*(c_+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ 1/c*Int[Sqrt[a+b*Sin[e+f*x]]/Sin[e+f*x],x] -
+ d/c*Int[Sqrt[a+b*Sin[e+f*x]]/(c+d*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/(sin[e_.+f_.*x_]*(c_+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ a/c*Int[1/(Sin[e+f*x]*Sqrt[a+b*Sin[e+f*x]]),x] +
+ (b*c-a*d)/c*Int[1/(Sqrt[a+b*Sin[e+f*x]]*(c+d*Sin[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2]
+
+
+Int[Sqrt[g_.*sin[e_.+f_.*x_]]/(Sqrt[a_+b_.*sin[e_.+f_.*x_]]*(c_+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ -a*g/(b*c-a*d)*Int[1/(Sqrt[g*Sin[e+f*x]]*Sqrt[a+b*Sin[e+f*x]]),x] +
+ c*g/(b*c-a*d)*Int[Sqrt[a+b*Sin[e+f*x]]/(Sqrt[g*Sin[e+f*x]]*(c+d*Sin[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && (EqQ[a^2-b^2] || EqQ[c^2-d^2])
+
+
+Int[Sqrt[g_.*sin[e_.+f_.*x_]]/(Sqrt[a_+b_.*sin[e_.+f_.*x_]]*(c_+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ 2*Sqrt[-Cot[e+f*x]^2]*Sqrt[g*Sin[e+f*x]]/(f*(c+d)*Cot[e+f*x]*Sqrt[a+b*Sin[e+f*x]])*Sqrt[(b+a*Csc[e+f*x])/(a+b)]*
+ EllipticPi[2*c/(c+d),ArcSin[Sqrt[1-Csc[e+f*x]]/Sqrt[2]],2*a/(a+b)] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[1/(Sqrt[g_.*sin[e_.+f_.*x_]]*Sqrt[a_+b_.*sin[e_.+f_.*x_]]*(c_+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ b/(b*c-a*d)*Int[1/(Sqrt[g*Sin[e+f*x]]*Sqrt[a+b*Sin[e+f*x]]),x] -
+ d/(b*c-a*d)*Int[Sqrt[a+b*Sin[e+f*x]]/(Sqrt[g*Sin[e+f*x]]*(c+d*Sin[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && (EqQ[a^2-b^2] || EqQ[c^2-d^2])
+
+
+Int[1/(Sqrt[g_.*sin[e_.+f_.*x_]]*Sqrt[a_+b_.*sin[e_.+f_.*x_]]*(c_+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ 1/c*Int[1/(Sqrt[g*Sin[e+f*x]]*Sqrt[a+b*Sin[e+f*x]]),x] -
+ d/(c*g)*Int[Sqrt[g*Sin[e+f*x]]/(Sqrt[a+b*Sin[e+f*x]]*(c+d*Sin[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[1/(sin[e_.+f_.*x_]*Sqrt[a_+b_.*sin[e_.+f_.*x_]]*(c_+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ d^2/(c*(b*c-a*d))*Int[Sqrt[a+b*Sin[e+f*x]]/(c+d*Sin[e+f*x]),x] +
+ 1/(c*(b*c-a*d))*Int[(b*c-a*d-b*d*Sin[e+f*x])/(Sin[e+f*x]*Sqrt[a+b*Sin[e+f*x]]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2]
+
+
+Int[1/(sin[e_.+f_.*x_]*Sqrt[a_+b_.*sin[e_.+f_.*x_]]*(c_+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ 1/c*Int[1/(Sin[e+f*x]*Sqrt[a+b*Sin[e+f*x]]),x] - d/c*Int[1/(Sqrt[a+b*Sin[e+f*x]]*(c+d*Sin[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/(sin[e_.+f_.*x_]*Sqrt[c_+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ -d/c*Int[Sqrt[a+b*Sin[e+f*x]]/Sqrt[c+d*Sin[e+f*x]],x] +
+ 1/c*Int[Sqrt[a+b*Sin[e+f*x]]*Sqrt[c+d*Sin[e+f*x]]/Sin[e+f*x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && EqQ[b*c+a*d]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/(sin[e_.+f_.*x_]*Sqrt[c_+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ -2*a/f*Subst[Int[1/(1-a*c*x^2),x],x,Cos[e+f*x]/(Sqrt[a+b*Sin[e+f*x]]*Sqrt[c+d*Sin[e+f*x]])] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[b*c+a*d]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/(sin[e_.+f_.*x_]*Sqrt[c_+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ (b*c-a*d)/c*Int[1/(Sqrt[a+b*Sin[e+f*x]]*Sqrt[c+d*Sin[e+f*x]]),x] +
+ a/c*Int[Sqrt[c+d*Sin[e+f*x]]/(Sin[e+f*x]*Sqrt[a+b*Sin[e+f*x]]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && EqQ[c^2-d^2]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/(sin[e_.+f_.*x_]*Sqrt[c_+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ -2*(a+b*Sin[e+f*x])/(c*f*Rt[(a+b)/(c+d),2]*Cos[e+f*x])*
+ Sqrt[-(b*c-a*d)*(1-Sin[e+f*x])/((c+d)*(a+b*Sin[e+f*x]))]*Sqrt[(b*c-a*d)*(1+Sin[e+f*x])/((c-d)*(a+b*Sin[e+f*x]))]*
+ EllipticPi[a*(c+d)/(c*(a+b)),ArcSin[Rt[(a+b)/(c+d),2]*Sqrt[c+d*Sin[e+f*x]]/Sqrt[a+b*Sin[e+f*x]]],(a-b)*(c+d)/((a+b)*(c-d))] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[1/(sin[e_.+f_.*x_]*Sqrt[a_+b_.*sin[e_.+f_.*x_]]*Sqrt[c_+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ Cos[e+f*x]/(Sqrt[a+b*Sin[e+f*x]]*Sqrt[c+d*Sin[e+f*x]])*Int[1/(Cos[e+f*x]*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && EqQ[c^2-d^2]
+
+
+Int[1/(sin[e_.+f_.*x_]*Sqrt[a_+b_.*sin[e_.+f_.*x_]]*Sqrt[c_+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ -b/a*Int[1/(Sqrt[a+b*Sin[e+f*x]]*Sqrt[c+d*Sin[e+f*x]]),x] +
+ 1/a*Int[Sqrt[a+b*Sin[e+f*x]]/(Sin[e+f*x]*Sqrt[c+d*Sin[e+f*x]]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && (NeQ[a^2-b^2] || NeQ[c^2-d^2])
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]*Sqrt[c_+d_.*sin[e_.+f_.*x_]]/sin[e_.+f_.*x_],x_Symbol] :=
+ Sqrt[a+b*Sin[e+f*x]]*Sqrt[c+d*Sin[e+f*x]]/Cos[e+f*x]*Int[Cot[e+f*x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && EqQ[c^2-d^2]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]*Sqrt[c_+d_.*sin[e_.+f_.*x_]]/sin[e_.+f_.*x_],x_Symbol] :=
+ d*Int[Sqrt[a+b*Sin[e+f*x]]/Sqrt[c+d*Sin[e+f*x]],x] +
+ c*Int[Sqrt[a+b*Sin[e+f*x]]/(Sin[e+f*x]*Sqrt[c+d*Sin[e+f*x]]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && (NeQ[a^2-b^2] || NeQ[c^2-d^2])
+
+
+Int[sin[e_.+f_.*x_]^p_*(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_+d_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ a^n*c^n*Int[Tan[e+f*x]^p*(a+b*Sin[e+f*x])^(m-n),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && EqQ[p+2*n] && IntegerQ[n]
+
+
+Int[(g_.*sin[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ Sqrt[a-b*Sin[e+f*x]]*Sqrt[a+b*Sin[e+f*x]]/(f*Cos[e+f*x])*
+ Subst[Int[(g*x)^p*(a+b*x)^(m-1/2)*(c+d*x)^n/Sqrt[a-b*x],x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && IntegerQ[m-1/2]
+
+
+Int[(g_.*sin[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ Int[ExpandTrig[(g*sin[e+f*x])^p*(a+b*sin[e+f*x])^m*(c+d*sin[e+f*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && NeQ[b*c-a*d] && (IntegersQ[m,n] || IntegersQ[m,p] || IntegersQ[n,p]) && NeQ[p-2]
+
+
+Int[(g_.*sin[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ Defer[Int][(g*Sin[e+f*x])^p*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && NeQ[p-2]
+
+
+Int[(g_.*sin[e_.+f_.*x_])^p_.*(a_.+b_.*csc[e_.+f_.*x_])^m_.*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ g^(m+n)*Int[(g*Sin[e+f*x])^(p-m-n)*(b+a*Sin[e+f*x])^m*(d+c*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && NeQ[b*c-a*d] && Not[IntegerQ[p]] && IntegerQ[m] && IntegerQ[n]
+
+
+Int[(g_.*sin[e_.+f_.*x_])^p_.*(a_.+b_.*csc[e_.+f_.*x_])^m_.*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ (g*Csc[e+f*x])^p*(g*Sin[e+f*x])^p*Int[(a+b*Csc[e+f*x])^m*(c+d*Csc[e+f*x])^n/(g*Csc[e+f*x])^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && NeQ[b*c-a*d] && Not[IntegerQ[p]] && Not[IntegerQ[m] && IntegerQ[n]]
+
+
+Int[(g_.*sin[e_.+f_.*x_])^p_.*(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ g^n*Int[(g*Sin[e+f*x])^(p-n)*(a+b*Sin[e+f*x])^m*(d+c*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && IntegerQ[n]
+
+
+Int[sin[e_.+f_.*x_]^p_.*(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ Int[(b+a*Csc[e+f*x])^m*(c+d*Csc[e+f*x])^n/Csc[e+f*x]^(m+p),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && Not[IntegerQ[n]] && IntegerQ[m] && IntegerQ[p]
+
+
+Int[(g_.*sin[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ Csc[e+f*x]^p*(g*Sin[e+f*x])^p*Int[(b+a*Csc[e+f*x])^m*(c+d*Csc[e+f*x])^n/Csc[e+f*x]^(m+p),x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && Not[IntegerQ[n]] && IntegerQ[m] && Not[IntegerQ[p]]
+
+
+Int[(g_.*sin[e_.+f_.*x_])^p_.*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ (g*Sin[e+f*x])^n*(c+d*Csc[e+f*x])^n/(d+c*Sin[e+f*x])^n*Int[(g*Sin[e+f*x])^(p-n)*(a+b*Sin[e+f*x])^m*(d+c*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && Not[IntegerQ[n]] && Not[IntegerQ[m]]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^p_.*(a_.+b_.*sin[e_.+f_.*x_])^m_.*(c_+d_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ g^(m+n)*Int[(g*Csc[e+f*x])^(p-m-n)*(b+a*Csc[e+f*x])^m*(d+c*Csc[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && NeQ[b*c-a*d] && Not[IntegerQ[p]] && IntegerQ[m] && IntegerQ[n]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^p_.*(a_.+b_.*sin[e_.+f_.*x_])^m_.*(c_+d_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ (g*Csc[e+f*x])^p*(g*Sin[e+f*x])^p*Int[(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n/(g*Sin[e+f*x])^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && NeQ[b*c-a*d] && Not[IntegerQ[p]] && Not[IntegerQ[m] && IntegerQ[n]]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^p_.*(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ g^m*Int[(g*Csc[e+f*x])^(p-m)*(b+a*Csc[e+f*x])^m*(c+d*Csc[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && IntegerQ[m]
+
+
+Int[csc[e_.+f_.*x_]^p_.*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Int[(a+b*Sin[e+f*x])^m*(d+c*Sin[e+f*x])^n/Sin[e+f*x]^(n+p),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && Not[IntegerQ[m]] && IntegerQ[n] && IntegerQ[p]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^p_*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Sin[e+f*x]^p*(g*Csc[e+f*x])^p*Int[(a+b*Sin[e+f*x])^m*(d+c*Sin[e+f*x])^n/Sin[e+f*x]^(n+p),x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && Not[IntegerQ[m]] && IntegerQ[n] && Not[IntegerQ[p]]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^p_.*(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ (a+b*Sin[e+f*x])^m*(g*Csc[e+f*x])^m/(b+a*Csc[e+f*x])^m*
+ Int[(g*Csc[e+f*x])^(p-m)*(b+a*Csc[e+f*x])^m*(c+d*Csc[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.1.3.1 (a+b sin)^m (c+d sin)^n (A+B sin)*)
+
+
+Int[sin[e_.+f_.*x_]^n_.*(a_+b_.*sin[e_.+f_.*x_])^m_.*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ Int[ExpandTrig[sin[e+f*x]^n*(a+b*sin[e+f*x])^m*(A+B*sin[e+f*x]),x],x] /;
+FreeQ[{a,b,e,f,A,B},x] && EqQ[A*b+a*B] && EqQ[a^2-b^2] && IntegerQ[m] && IntegerQ[n]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_+d_.*sin[e_.+f_.*x_])^n_.*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ a^m*c^m*Int[Cos[e+f*x]^(2*m)*(c+d*Sin[e+f*x])^(n-m)*(A+B*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,n},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && IntegerQ[m] && Not[IntegerQ[n] && (m<0 && n>0 || 01/2 && n<-1 &&
+ IntegerQ[2*m] && (IntegerQ[2*n] || EqQ[c])
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -b*B*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m-1)*(c+d*Sin[e+f*x])^(n+1)/(d*f*(m+n+1)) +
+ 1/(d*(m+n+1))*Int[(a+b*Sin[e+f*x])^(m-1)*(c+d*Sin[e+f*x])^n*
+ Simp[a*A*d*(m+n+1)+B*(a*c*(m-1)+b*d*(n+1))+(A*b*d*(m+n+1)-B*(b*c*m-a*d*(2*m+n)))*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,n},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m] && m>1/2 &&
+ Not[RationalQ[n] && n<-1] && IntegerQ[2*m] && (IntegerQ[2*n] || EqQ[c])
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ (A*b-a*B)*Cos[e+f*x]*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n/(a*f*(2*m+1)) -
+ 1/(a*b*(2*m+1))*Int[(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^(n-1)*
+ Simp[A*(a*d*n-b*c*(m+1))-B*(a*c*m+b*d*n)-d*(a*B*(m-n)+A*b*(m+n+1))*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m,n] && m<-1/2 && n>0 &&
+ IntegerQ[2*m] && (IntegerQ[2*n] || EqQ[c])
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ b*(A*b-a*B)*Cos[e+f*x]*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^(n+1)/(a*f*(2*m+1)*(b*c-a*d)) +
+ 1/(a*(2*m+1)*(b*c-a*d))*Int[(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^n*
+ Simp[B*(a*c*m+b*d*(n+1))+A*(b*c*(m+1)-a*d*(2*m+n+2))+d*(A*b-a*B)*(m+n+2)*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,n},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m] && m<-1/2 &&
+ Not[RationalQ[n] && n>0] && IntegerQ[2*m] && (IntegerQ[2*n] || EqQ[c])
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -2*b*B*Cos[e+f*x]*(c+d*Sin[e+f*x])^(n+1)/(d*f*(2*n+3)*Sqrt[a+b*Sin[e+f*x]]) /;
+FreeQ[{a,b,c,d,e,f,A,B,n},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && EqQ[A*b*d*(2*n+3)-B*(b*c-2*a*d*(n+1))]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -b^2*(B*c-A*d)*Cos[e+f*x]*(c+d*Sin[e+f*x])^(n+1)/(d*f*(n+1)*(b*c+a*d)*Sqrt[a+b*Sin[e+f*x]]) +
+ (A*b*d*(2*n+3)-B*(b*c-2*a*d*(n+1)))/(2*d*(n+1)*(b*c+a*d))*Int[Sqrt[a+b*Sin[e+f*x]]*(c+d*Sin[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[n] && n<-1
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -2*b*B*Cos[e+f*x]*(c+d*Sin[e+f*x])^(n+1)/(d*f*(2*n+3)*Sqrt[a+b*Sin[e+f*x]]) +
+ (A*b*d*(2*n+3)-B*(b*c-2*a*d*(n+1)))/(b*d*(2*n+3))*Int[Sqrt[a+b*Sin[e+f*x]]*(c+d*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,A,B,n},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && Not[RationalQ[n] && n<-1]
+
+
+Int[(A_.+B_.*sin[e_.+f_.*x_])/(Sqrt[a_+b_.*sin[e_.+f_.*x_]]*Sqrt[c_.+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ (A*b-a*B)/b*Int[1/(Sqrt[a+b*Sin[e+f*x]]*Sqrt[c+d*Sin[e+f*x]]),x] +
+ B/b*Int[Sqrt[a+b*Sin[e+f*x]]/Sqrt[c+d*Sin[e+f*x]],x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -B*Cos[e+f*x]*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n/(f*(m+n+1)) +
+ 1/(b*(m+n+1))*Int[(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^(n-1)*
+ Simp[A*b*c*(m+n+1)+B*(a*c*m+b*d*n)+(A*b*d*(m+n+1)+B*(a*d*m+b*c*n))*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,m},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[n] && n>0 &&
+ (IntegerQ[n] || EqQ[m+1/2])
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ (B*c-A*d)*Cos[e+f*x]*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^(n+1)/(f*(n+1)*(c^2-d^2)) +
+ 1/(b*(n+1)*(c^2-d^2))*Int[(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^(n+1)*
+ Simp[A*(a*d*m+b*c*(n+1))-B*(a*c*m+b*d*(n+1))+b*(B*c-A*d)*(m+n+2)*Sin[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,m},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[n] && n<-1 &&
+ (IntegerQ[n] || EqQ[m+1/2])
+
+
+Int[(A_.+B_.*sin[e_.+f_.*x_])/(Sqrt[a_+b_.*sin[e_.+f_.*x_]]*(c_.+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ (A*b-a*B)/(b*c-a*d)*Int[1/Sqrt[a+b*Sin[e+f*x]],x] +
+ (B*c-A*d)/(b*c-a*d)*Int[Sqrt[a+b*Sin[e+f*x]]/(c+d*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(A_.+B_.*sin[e_.+f_.*x_])/(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ B/d*Int[(a+b*Sin[e+f*x])^m,x] - (B*c-A*d)/d*Int[(a+b*Sin[e+f*x])^m/(c+d*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,m},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && NeQ[m+1/2]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_])^m_.*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ (A*b-a*B)/b*Int[(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n,x] +
+ B/b*Int[(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,A,B,m,n},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && NeQ[A*b+a*B]
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -(b*c-a*d)*(B*c-A*d)*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m-1)*(c+d*Sin[e+f*x])^(n+1)/(d*f*(n+1)*(c^2-d^2)) +
+ 1/(d*(n+1)*(c^2-d^2))*Int[(a+b*Sin[e+f*x])^(m-2)*(c+d*Sin[e+f*x])^(n+1)*
+ Simp[b*(b*c-a*d)*(B*c-A*d)*(m-1)+a*d*(a*A*c+b*B*c-(A*b+a*B)*d)*(n+1)+
+ (b*(b*d*(B*c-A*d)+a*(A*c*d+B*(c^2-2*d^2)))*(n+1)-a*(b*c-a*d)*(B*c-A*d)*(n+2))*Sin[e+f*x]+
+ b*(d*(A*b*c+a*B*c-a*A*d)*(m+n+1)-b*B*(c^2*m+d^2*(n+1)))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m,n] && m>1 && n<-1
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -b*B*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m-1)*(c+d*Sin[e+f*x])^(n+1)/(d*f*(m+n+1)) +
+ 1/(d*(m+n+1))*Int[(a+b*Sin[e+f*x])^(m-2)*(c+d*Sin[e+f*x])^n*
+ Simp[a^2*A*d*(m+n+1)+b*B*(b*c*(m-1)+a*d*(n+1))+
+ (a*d*(2*A*b+a*B)*(m+n+1)-b*B*(a*c-b*d*(m+n)))*Sin[e+f*x]+
+ b*(A*b*d*(m+n+1)-B*(b*c*m-a*d*(2*m+n)))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,n},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m] && m>1 &&
+ Not[IntegerQ[n] && n>1 && (Not[IntegerQ[m]] || EqQ[a] && NeQ[c])]
+
+
+Int[Sqrt[c_+d_.*sin[e_.+f_.*x_]]*(A_.+B_.*sin[e_.+f_.*x_])/(b_.*sin[e_.+f_.*x_])^(3/2),x_Symbol] :=
+ B*d/b^2*Int[Sqrt[b*Sin[e+f*x]]/Sqrt[c+d*Sin[e+f*x]],x] +
+ Int[(A*c+(B*c+A*d)*Sin[e+f*x])/((b*Sin[e+f*x])^(3/2)*Sqrt[c+d*Sin[e+f*x]]),x] /;
+FreeQ[{b,c,d,e,f,A,B},x] && NeQ[c^2-d^2]
+
+
+Int[Sqrt[c_.+d_.*sin[e_.+f_.*x_]]*(A_.+B_.*sin[e_.+f_.*x_])/(a_+b_.*sin[e_.+f_.*x_])^(3/2),x_Symbol] :=
+ B/b*Int[Sqrt[c+d*Sin[e+f*x]]/Sqrt[a+b*Sin[e+f*x]],x] +
+ (A*b-a*B)/b*Int[Sqrt[c+d*Sin[e+f*x]]/(a+b*Sin[e+f*x])^(3/2),x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(A_.+B_.*sin[e_.+f_.*x_])/((a_+b_.*sin[e_.+f_.*x_])^(3/2)*Sqrt[d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ 2*(A*b-a*B)*Cos[e+f*x]/(f*(a^2-b^2)*Sqrt[a+b*Sin[e+f*x]]*Sqrt[d*Sin[e+f*x]]) +
+ d/(a^2-b^2)*Int[(A*b-a*B+(a*A-b*B)*Sin[e+f*x])/(Sqrt[a+b*Sin[e+f*x]]*(d*Sin[e+f*x])^(3/2)),x] /;
+FreeQ[{a,b,d,e,f,A,B},x] && NeQ[a^2-b^2]
+
+
+Int[(A_+B_.*sin[e_.+f_.*x_])/((b_.*sin[e_.+f_.*x_])^(3/2)*Sqrt[c_+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ -2*A*(c-d)*Tan[e+f*x]/(f*b*c^2)*Rt[(c+d)/b,2]*Sqrt[c*(1+Csc[e+f*x])/(c-d)]*Sqrt[c*(1-Csc[e+f*x])/(c+d)]*
+ EllipticE[ArcSin[Sqrt[c+d*Sin[e+f*x]]/Sqrt[b*Sin[e+f*x]]/Rt[(c+d)/b,2]],-(c+d)/(c-d)] /;
+FreeQ[{b,c,d,e,f,A,B},x] && NeQ[c^2-d^2] && EqQ[A-B] && PosQ[(c+d)/b]
+
+
+Int[(A_+B_.*sin[e_.+f_.*x_])/((b_.*sin[e_.+f_.*x_])^(3/2)*Sqrt[c_+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ -Sqrt[-b*Sin[e+f*x]]/Sqrt[b*Sin[e+f*x]]*Int[(A+B*Sin[e+f*x])/((-b*Sin[e+f*x])^(3/2)*Sqrt[c+d*Sin[e+f*x]]),x] /;
+FreeQ[{b,c,d,e,f,A,B},x] && NeQ[c^2-d^2] && EqQ[A-B] && NegQ[(c+d)/b]
+
+
+Int[(A_+B_.*sin[e_.+f_.*x_])/((a_+b_.*sin[e_.+f_.*x_])^(3/2)*Sqrt[c_+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ -2*A*(c-d)*(a+b*Sin[e+f*x])/(f*(b*c-a*d)^2*Rt[(a+b)/(c+d),2]*Cos[e+f*x])*
+ Sqrt[(b*c-a*d)*(1+Sin[e+f*x])/((c-d)*(a+b*Sin[e+f*x]))]*
+ Sqrt[-(b*c-a*d)*(1-Sin[e+f*x])/((c+d)*(a+b*Sin[e+f*x]))]*
+ EllipticE[ArcSin[Rt[(a+b)/(c+d),2]*Sqrt[c+d*Sin[e+f*x]]/Sqrt[a+b*Sin[e+f*x]]],(a-b)*(c+d)/((a+b)*(c-d))] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && EqQ[A-B] && PosQ[(a+b)/(c+d)]
+
+
+Int[(A_+B_.*sin[e_.+f_.*x_])/((a_+b_.*sin[e_.+f_.*x_])^(3/2)*Sqrt[c_+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ Sqrt[-c-d*Sin[e+f*x]]/Sqrt[c+d*Sin[e+f*x]]*Int[(A+B*Sin[e+f*x])/((a+b*Sin[e+f*x])^(3/2)*Sqrt[-c-d*Sin[e+f*x]]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && EqQ[A-B] && NegQ[(a+b)/(c+d)]
+
+
+Int[(A_.+B_.*sin[e_.+f_.*x_])/((a_.+b_.*sin[e_.+f_.*x_])^(3/2)*Sqrt[c_+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ (A-B)/(a-b)*Int[1/(Sqrt[a+b*Sin[e+f*x]]*Sqrt[c+d*Sin[e+f*x]]),x] -
+ (A*b-a*B)/(a-b)*Int[(1+Sin[e+f*x])/((a+b*Sin[e+f*x])^(3/2)*Sqrt[c+d*Sin[e+f*x]]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && NeQ[A-B]
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ (B*a-A*b)*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^n/(f*(m+1)*(a^2-b^2)) +
+ 1/((m+1)*(a^2-b^2))*Int[(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^(n-1)*
+ Simp[c*(a*A-b*B)*(m+1)+d*n*(A*b-a*B)+(d*(a*A-b*B)*(m+1)-c*(A*b-a*B)*(m+2))*Sin[e+f*x]-d*(A*b-a*B)*(m+n+2)*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m,n] && m<-1 && n>0
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -(A*b^2-a*b*B)*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^(1+n)/(f*(m+1)*(b*c-a*d)*(a^2-b^2)) +
+ 1/((m+1)*(b*c-a*d)*(a^2-b^2))*Int[(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^n*
+ Simp[(a*A-b*B)*(b*c-a*d)*(m+1)+b*d*(A*b-a*B)*(m+n+2)+
+ (A*b-a*B)*(a*d*(m+1)-b*c*(m+2))*Sin[e+f*x]-
+ b*d*(A*b-a*B)*(m+n+3)*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,n},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m] && m<-1 &&
+ (EqQ[a] && IntegerQ[m] && Not[IntegerQ[n]] || Not[IntegerQ[2*n] && n<-1 && (IntegerQ[n] && Not[IntegerQ[m]] || EqQ[a])])
+
+
+Int[(A_.+B_.*sin[e_.+f_.*x_])/((a_.+b_.*sin[e_.+f_.*x_])*(c_.+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ (A*b-a*B)/(b*c-a*d)*Int[1/(a+b*Sin[e+f*x]),x] + (B*c-A*d)/(b*c-a*d)*Int[1/(c+d*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])^m_*(A_.+B_.*sin[e_.+f_.*x_])/(c_.+d_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ B/d*Int[(a+b*Sin[e+f*x])^m,x] - (B*c-A*d)/d*Int[(a+b*Sin[e+f*x])^m/(c+d*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,m},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[Sqrt[a_.+b_.*sin[e_.+f_.*x_]]*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -2*B*Cos[e+f*x]*Sqrt[a+b*Sin[e+f*x]]*(c+d*Sin[e+f*x])^n/(f*(2*n+3)) +
+ 1/(2*n+3)*Int[(c+d*Sin[e+f*x])^(n-1)/Sqrt[a+b*Sin[e+f*x]]*
+ Simp[a*A*c*(2*n+3)+B*(b*c+2*a*d*n)+
+ (B*(a*c+b*d)*(2*n+1)+A*(b*c+a*d)*(2*n+3))*Sin[e+f*x]+
+ (A*b*d*(2*n+3)+B*(a*d+2*b*c*n))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[n] && n^2==1/4
+
+
+Int[(A_+B_.*sin[e_.+f_.*x_])/(Sqrt[sin[e_.+f_.*x_]]*Sqrt[a_+b_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ 4*A/(f*Sqrt[a+b])*EllipticPi[-1,-ArcSin[Cos[e+f*x]/(1+Sin[e+f*x])],-(a-b)/(a+b)] /;
+FreeQ[{a,b,e,f,A,B},x] && PositiveQ[b] && PositiveQ[b^2-a^2] && EqQ[A-B]
+
+
+Int[(A_+B_.*sin[e_.+f_.*x_])/(Sqrt[a_+b_.*sin[e_.+f_.*x_]]*Sqrt[d_*sin[e_.+f_.*x_]]),x_Symbol] :=
+ Sqrt[Sin[e+f*x]]/Sqrt[d*Sin[e+f*x]]*Int[(A+B*Sin[e+f*x])/(Sqrt[Sin[e+f*x]]*Sqrt[a+b*Sin[e+f*x]]),x] /;
+FreeQ[{a,b,e,f,d,A,B},x] && PositiveQ[b] && PositiveQ[b^2-a^2] && EqQ[A-B]
+
+
+Int[(A_.+B_.*sin[e_.+f_.*x_])/(Sqrt[a_+b_.*sin[e_.+f_.*x_]]*Sqrt[c_.+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ B/d*Int[Sqrt[c+d*Sin[e+f*x]]/Sqrt[a+b*Sin[e+f*x]],x] -
+ (B*c-A*d)/d*Int[1/(Sqrt[a+b*Sin[e+f*x]]*Sqrt[c+d*Sin[e+f*x]]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_.*(A_.+B_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ Defer[Int][(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n*(A+B*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,m,n},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+(* Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_])^p_,x_Symbol] :=
+ a^m*c^m*Int[Cos[e+f*x]^(2*m)*(c+d*Sin[e+f*x])^(n-m)*(A+B*Sin[e+f*x])^p,x] /;
+FreeQ[{a,b,c,d,e,f,A,B,n,p},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && IntegerQ[m] &&
+ Not[IntegerQ[n] && (m<0 && n>0 || 00 || 00 && n<-1
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+C_.*sin[e_.+f_.*x_]^2),x_Symbol] :=
+ -(c^2*C+A*d^2)*Cos[e+f*x]*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^(n+1)/(d*f*(n+1)*(c^2-d^2)) +
+ 1/(d*(n+1)*(c^2-d^2))*Int[(a+b*Sin[e+f*x])^(m-1)*(c+d*Sin[e+f*x])^(n+1)*
+ Simp[A*d*(b*d*m+a*c*(n+1))+c*C*(b*c*m+a*d*(n+1)) -
+ (A*d*(a*d*(n+2)-b*c*(n+1))-C*(b*c*d*(n+1)-a*(c^2+d^2*(n+1))))*Sin[e+f*x] -
+ b*(A*d^2*(m+n+2)+C*(c^2*(m+1)+d^2*(n+1)))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,C},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m,n] && m>0 && n<-1
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])^m_.*(c_.+d_.*sin[e_.+f_.*x_])^n_.*(A_.+B_.*sin[e_.+f_.*x_]+C_.*sin[e_.+f_.*x_]^2),x_Symbol] :=
+ -C*Cos[e+f*x]*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^(n+1)/(d*f*(m+n+2)) +
+ 1/(d*(m+n+2))*Int[(a+b*Sin[e+f*x])^(m-1)*(c+d*Sin[e+f*x])^n*
+ Simp[a*A*d*(m+n+2)+C*(b*c*m+a*d*(n+1))+
+ (d*(A*b+a*B)*(m+n+2)-C*(a*c-b*d*(m+n+1)))*Sin[e+f*x]+
+ (C*(a*d*m-b*c*(m+1))+b*B*d*(m+n+2))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,n},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m] && m>0 &&
+ Not[IntegerQ[n] && n>0 && (Not[IntegerQ[m]] || EqQ[a] && NeQ[c])]
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])^m_.*(c_.+d_.*sin[e_.+f_.*x_])^n_.*(A_.+C_.*sin[e_.+f_.*x_]^2),x_Symbol] :=
+ -C*Cos[e+f*x]*(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^(n+1)/(d*f*(m+n+2)) +
+ 1/(d*(m+n+2))*Int[(a+b*Sin[e+f*x])^(m-1)*(c+d*Sin[e+f*x])^n*
+ Simp[a*A*d*(m+n+2)+C*(b*c*m+a*d*(n+1))+(A*b*d*(m+n+2)-C*(a*c-b*d*(m+n+1)))*Sin[e+f*x]+C*(a*d*m-b*c*(m+1))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,C,n},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m] && m>0 &&
+ Not[IntegerQ[n] && n>0 && (Not[IntegerQ[m]] || EqQ[a] && NeQ[c])]
+
+
+Int[(A_.+B_.*sin[e_.+f_.*x_]+C_.*sin[e_.+f_.*x_]^2)/((a_+b_.*sin[e_.+f_.*x_])^(3/2)*Sqrt[d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ C/(b*d)*Int[Sqrt[d*Sin[e+f*x]]/Sqrt[a+b*Sin[e+f*x]],x] +
+ 1/b*Int[(A*b+(b*B-a*C)*Sin[e+f*x])/((a+b*Sin[e+f*x])^(3/2)*Sqrt[d*Sin[e+f*x]]),x] /;
+FreeQ[{a,b,d,e,f,A,B,C},x] && NeQ[a^2-b^2]
+
+
+Int[(A_.+C_.*sin[e_.+f_.*x_]^2)/((a_+b_.*sin[e_.+f_.*x_])^(3/2)*Sqrt[d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ C/(b*d)*Int[Sqrt[d*Sin[e+f*x]]/Sqrt[a+b*Sin[e+f*x]],x] +
+ 1/b*Int[(A*b-a*C*Sin[e+f*x])/((a+b*Sin[e+f*x])^(3/2)*Sqrt[d*Sin[e+f*x]]),x] /;
+FreeQ[{a,b,d,e,f,A,C},x] && NeQ[a^2-b^2]
+
+
+Int[(A_.+B_.*sin[e_.+f_.*x_]+C_.*sin[e_.+f_.*x_]^2)/((a_.+b_.*sin[e_.+f_.*x_])^(3/2)*Sqrt[c_.+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ C/b^2*Int[Sqrt[a+b*Sin[e+f*x]]/Sqrt[c+d*Sin[e+f*x]],x] +
+ 1/b^2*Int[(A*b^2-a^2*C+b*(b*B-2*a*C)*Sin[e+f*x])/((a+b*Sin[e+f*x])^(3/2)*Sqrt[c+d*Sin[e+f*x]]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(A_.+C_.*sin[e_.+f_.*x_]^2)/((a_.+b_.*sin[e_.+f_.*x_])^(3/2)*Sqrt[c_.+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ C/b^2*Int[Sqrt[a+b*Sin[e+f*x]]/Sqrt[c+d*Sin[e+f*x]],x] +
+ 1/b^2*Int[(A*b^2-a^2*C-2*a*b*C*Sin[e+f*x])/((a+b*Sin[e+f*x])^(3/2)*Sqrt[c+d*Sin[e+f*x]]),x] /;
+FreeQ[{a,b,c,d,e,f,A,C},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_]+C_.*sin[e_.+f_.*x_]^2),x_Symbol] :=
+ -(A*b^2-a*b*B+a^2*C)*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^(n+1)/(f*(m+1)*(b*c-a*d)*(a^2-b^2)) +
+ 1/((m+1)*(b*c-a*d)*(a^2-b^2))*Int[(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^n*
+ Simp[(m+1)*(b*c-a*d)*(a*A-b*B+a*C)+d*(A*b^2-a*b*B+a^2*C)*(m+n+2) -
+ (c*(A*b^2-a*b*B+a^2*C)+(m+1)*(b*c-a*d)*(A*b-a*B+b*C))*Sin[e+f*x] -
+ d*(A*b^2-a*b*B+a^2*C)*(m+n+3)*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,n},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m] && m<-1 &&
+ (EqQ[a] && IntegerQ[m] && Not[IntegerQ[n]] || Not[IntegerQ[2*n] && n<-1 && (IntegerQ[n] && Not[IntegerQ[m]] || EqQ[a])])
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+C_.*sin[e_.+f_.*x_]^2),x_Symbol] :=
+ -(A*b^2+a^2*C)*Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^(n+1)/(f*(m+1)*(b*c-a*d)*(a^2-b^2)) +
+ 1/((m+1)*(b*c-a*d)*(a^2-b^2))*Int[(a+b*Sin[e+f*x])^(m+1)*(c+d*Sin[e+f*x])^n*
+ Simp[a*(m+1)*(b*c-a*d)*(A+C)+d*(A*b^2+a^2*C)*(m+n+2) -
+ (c*(A*b^2+a^2*C)+b*(m+1)*(b*c-a*d)*(A+C))*Sin[e+f*x] -
+ d*(A*b^2+a^2*C)*(m+n+3)*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,C,n},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && RationalQ[m] && m<-1 &&
+ (EqQ[a] && IntegerQ[m] && Not[IntegerQ[n]] || Not[IntegerQ[2*n] && n<-1 && (IntegerQ[n] && Not[IntegerQ[m]] || EqQ[a])])
+
+
+Int[(A_.+B_.*sin[e_.+f_.*x_]+C_.*sin[e_.+f_.*x_]^2)/((a_+b_.*sin[e_.+f_.*x_])*(c_.+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ C*x/(b*d) +
+ (A*b^2-a*b*B+a^2*C)/(b*(b*c-a*d))*Int[1/(a+b*Sin[e+f*x]),x] -
+ (c^2*C-B*c*d+A*d^2)/(d*(b*c-a*d))*Int[1/(c+d*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(A_.+C_.*sin[e_.+f_.*x_]^2)/((a_+b_.*sin[e_.+f_.*x_])*(c_.+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ C*x/(b*d) +
+ (A*b^2+a^2*C)/(b*(b*c-a*d))*Int[1/(a+b*Sin[e+f*x]),x] -
+ (c^2*C+A*d^2)/(d*(b*c-a*d))*Int[1/(c+d*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,C},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(A_.+B_.*sin[e_.+f_.*x_]+C_.*sin[e_.+f_.*x_]^2)/(Sqrt[a_.+b_.*sin[e_.+f_.*x_]]*(c_.+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ C/(b*d)*Int[Sqrt[a+b*Sin[e+f*x]],x] -
+ 1/(b*d)*Int[Simp[a*c*C-A*b*d+(b*c*C-b*B*d+a*C*d)*Sin[e+f*x],x]/(Sqrt[a+b*Sin[e+f*x]]*(c+d*Sin[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(A_.+C_.*sin[e_.+f_.*x_]^2)/(Sqrt[a_.+b_.*sin[e_.+f_.*x_]]*(c_.+d_.*sin[e_.+f_.*x_])),x_Symbol] :=
+ C/(b*d)*Int[Sqrt[a+b*Sin[e+f*x]],x] -
+ 1/(b*d)*Int[Simp[a*c*C-A*b*d+(b*c*C+a*C*d)*Sin[e+f*x],x]/(Sqrt[a+b*Sin[e+f*x]]*(c+d*Sin[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f,A,C},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(A_.+B_.*sin[e_.+f_.*x_]+C_.*sin[e_.+f_.*x_]^2)/(Sqrt[a_.+b_.*sin[e_.+f_.*x_]]*Sqrt[c_+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ -C*Cos[e+f*x]*Sqrt[c+d*Sin[e+f*x]]/(d*f*Sqrt[a+b*Sin[e+f*x]]) +
+ 1/(2*d)*Int[1/((a+b*Sin[e+f*x])^(3/2)*Sqrt[c+d*Sin[e+f*x]])*
+ Simp[2*a*A*d-C*(b*c-a*d)-2*(a*c*C-d*(A*b+a*B))*Sin[e+f*x]+(2*b*B*d-C*(b*c+a*d))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(A_.+C_.*sin[e_.+f_.*x_]^2)/(Sqrt[a_.+b_.*sin[e_.+f_.*x_]]*Sqrt[c_+d_.*sin[e_.+f_.*x_]]),x_Symbol] :=
+ -C*Cos[e+f*x]*Sqrt[c+d*Sin[e+f*x]]/(d*f*Sqrt[a+b*Sin[e+f*x]]) +
+ 1/(2*d)*Int[1/((a+b*Sin[e+f*x])^(3/2)*Sqrt[c+d*Sin[e+f*x]])*
+ Simp[2*a*A*d-C*(b*c-a*d)-2*(a*c*C-A*b*d)*Sin[e+f*x]-C*(b*c+a*d)*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,C},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*sin[e_.+f_.*x_]+C_.*sin[e_.+f_.*x_]^2),x_Symbol] :=
+ Defer[Int][(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n*(A+B*Sin[e+f*x]+C*Sin[e+f*x]^2),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,m,n},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_])^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_*(A_.+C_.*sin[e_.+f_.*x_]^2),x_Symbol] :=
+ Defer[Int][(a+b*Sin[e+f*x])^m*(c+d*Sin[e+f*x])^n*(A+C*Sin[e+f*x]^2),x] /;
+FreeQ[{a,b,c,d,e,f,A,C,m,n},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(b_.*sin[e_.+f_.*x_]^p_)^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_.*(A_.+B_.*sin[e_.+f_.*x_]+C_.*sin[e_.+f_.*x_]^2),x_Symbol] :=
+ (b*Sin[e+f*x]^p)^m/(b*Sin[e+f*x])^(m*p)*Int[(b*Sin[e+f*x])^(m*p)*(c+d*Sin[e+f*x])^n*(A+B*Sin[e+f*x]+C*Sin[e+f*x]^2),x] /;
+FreeQ[{b,c,d,e,f,A,B,C,m,n,p},x] && Not[IntegerQ[m]]
+
+
+Int[(b_.*cos[e_.+f_.*x_]^p_)^m_*(c_.+d_.*cos[e_.+f_.*x_])^n_.*(A_.+B_.*cos[e_.+f_.*x_]+C_.*cos[e_.+f_.*x_]^2),x_Symbol] :=
+ (b*Cos[e+f*x]^p)^m/(b*Cos[e+f*x])^(m*p)*Int[(b*Cos[e+f*x])^(m*p)*(c+d*Cos[e+f*x])^n*(A+B*Cos[e+f*x]+C*Cos[e+f*x]^2),x] /;
+FreeQ[{b,c,d,e,f,A,B,C,m,n,p},x] && Not[IntegerQ[m]]
+
+
+Int[(b_.*sin[e_.+f_.*x_]^p_)^m_*(c_.+d_.*sin[e_.+f_.*x_])^n_.*(A_.+C_.*sin[e_.+f_.*x_]^2),x_Symbol] :=
+ (b*Sin[e+f*x]^p)^m/(b*Sin[e+f*x])^(m*p)*Int[(b*Sin[e+f*x])^(m*p)*(c+d*Sin[e+f*x])^n*(A+C*Sin[e+f*x]^2),x] /;
+FreeQ[{b,c,d,e,f,A,C,m,n,p},x] && Not[IntegerQ[m]]
+
+
+Int[(b_.*cos[e_.+f_.*x_]^p_)^m_*(c_.+d_.*cos[e_.+f_.*x_])^n_.*(A_.+C_.*cos[e_.+f_.*x_]^2),x_Symbol] :=
+ (b*Cos[e+f*x]^p)^m/(b*Cos[e+f*x])^(m*p)*Int[(b*Cos[e+f*x])^(m*p)*(c+d*Cos[e+f*x])^n*(A+C*Cos[e+f*x]^2),x] /;
+FreeQ[{b,c,d,e,f,A,C,m,n,p},x] && Not[IntegerQ[m]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.1.5 trig^m (a cos+b sin)^n*)
+
+
+Int[(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ a*(a*Cos[c+d*x]+b*Sin[c+d*x])^n/(b*d*n) /;
+FreeQ[{a,b,c,d,n},x] && EqQ[a^2+b^2,0]
+
+
+Int[(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ -1/d*Subst[Int[(a^2+b^2-x^2)^((n-1)/2),x],x,b*Cos[c+d*x]-a*Sin[c+d*x]] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && PositiveIntegerQ[(n-1)/2]
+
+
+Int[(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ -(b*Cos[c+d*x]-a*Sin[c+d*x])*(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-1)/(d*n) +
+ (n-1)*(a^2+b^2)/n*Int[(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-2),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && Not[OddQ[n]] && GtQ[n,1]
+
+
+Int[1/(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_]),x_Symbol] :=
+ -1/d*Subst[Int[1/(a^2+b^2-x^2),x],x,b*Cos[c+d*x]-a*Sin[c+d*x]] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0]
+
+
+Int[1/(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^2,x_Symbol] :=
+ Sin[c+d*x]/(a*d*(a*Cos[c+d*x]+b*Sin[c+d*x])) /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0]
+
+
+Int[(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ (b*Cos[c+d*x]-a*Sin[c+d*x])*(a*Cos[c+d*x]+b*Sin[c+d*x])^(n+1)/(d*(n+1)*(a^2+b^2)) +
+ (n+2)/((n+1)*(a^2+b^2))*Int[(a*Cos[c+d*x]+b*Sin[c+d*x])^(n+2),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && LtQ[n,-1] && NeQ[n,-2]
+
+
+Int[(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ (a^2+b^2)^(n/2)*Int[(Cos[c+d*x-ArcTan[a,b]])^n,x] /;
+FreeQ[{a,b,c,d,n},x] && Not[GeQ[n,1] || LeQ[n,-1]] && PositiveQ[a^2+b^2]
+
+
+Int[(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ (a*Cos[c+d*x]+b*Sin[c+d*x])^n/((a*Cos[c+d*x]+b*Sin[c+d*x])/Sqrt[a^2+b^2])^n*Int[Cos[c+d*x-ArcTan[a,b]]^n,x] /;
+FreeQ[{a,b,c,d,n},x] && Not[GeQ[n,1] || LeQ[n,-1]] && Not[PositiveQ[a^2+b^2] || EqQ[a^2+b^2,0]]
+
+
+Int[sin[c_.+d_.*x_]^m_*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ -a*(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-1)/(d*(n-1)*Sin[c+d*x]^(n-1)) +
+ 2*b*Int[(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-1)/Sin[c+d*x]^(n-1),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[m+n,0] && EqQ[a^2+b^2,0] && GtQ[n,1]
+
+
+Int[cos[c_.+d_.*x_]^m_*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ b*(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-1)/(d*(n-1)*Cos[c+d*x]^(n-1)) +
+ 2*a*Int[(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-1)/Cos[c+d*x]^(n-1),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[m+n,0] && EqQ[a^2+b^2,0] && GtQ[n,1]
+
+
+Int[sin[c_.+d_.*x_]^m_.*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ a*(a*Cos[c+d*x]+b*Sin[c+d*x])^n/(2*b*d*n*Sin[c+d*x]^n) +
+ 1/(2*b)*Int[(a*Cos[c+d*x]+b*Sin[c+d*x])^(n+1)/Sin[c+d*x]^(n+1),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[m+n,0] && EqQ[a^2+b^2,0] && LtQ[n,0]
+
+
+Int[cos[c_.+d_.*x_]^m_.*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ -b*(a*Cos[c+d*x]+b*Sin[c+d*x])^n/(2*a*d*n*Cos[c+d*x]^n) +
+ 1/(2*a)*Int[(a*Cos[c+d*x]+b*Sin[c+d*x])^(n+1)/Cos[c+d*x]^(n+1),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[m+n,0] && EqQ[a^2+b^2,0] && LtQ[n,0]
+
+
+Int[sin[c_.+d_.*x_]^m_.*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ a*(a*Cos[c+d*x]+b*Sin[c+d*x])^n/(2*b*d*n*Sin[c+d*x]^n)*Hypergeometric2F1[1,n,n+1,(b+a*Cot[c+d*x])/(2*b)] /;
+FreeQ[{a,b,c,d,n},x] && EqQ[m+n,0] && EqQ[a^2+b^2,0] && Not[IntegerQ[n]]
+
+
+Int[cos[c_.+d_.*x_]^m_.*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ -b*(a*Cos[c+d*x]+b*Sin[c+d*x])^n/(2*a*d*n*Cos[c+d*x]^n)*Hypergeometric2F1[1,n,n+1,(a+b*Tan[c+d*x])/(2*a)] /;
+FreeQ[{a,b,c,d,n},x] && EqQ[m+n,0] && EqQ[a^2+b^2,0] && Not[IntegerQ[n]]
+
+
+Int[sin[c_.+d_.*x_]^m_*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_.,x_Symbol] :=
+ Int[(b+a*Cot[c+d*x])^n,x] /;
+FreeQ[{a,b,c,d},x] && EqQ[m+n,0] && IntegerQ[n] && NeQ[a^2+b^2,0]
+
+
+Int[cos[c_.+d_.*x_]^m_*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_.,x_Symbol] :=
+ Int[(a+b*Tan[c+d*x])^n,x] /;
+FreeQ[{a,b,c,d},x] && EqQ[m+n,0] && IntegerQ[n] && NeQ[a^2+b^2,0]
+
+
+Int[sin[c_.+d_.*x_]^m_.*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ 1/d*Subst[Int[x^m*(a+b*x)^n/(1+x^2)^((m+n+2)/2),x],x,Tan[c+d*x]] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[n] && IntegerQ[(m+n)/2] && n!=-1 && Not[n>0 && m>1]
+
+
+Int[cos[c_.+d_.*x_]^m_.*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ -1/d*Subst[Int[x^m*(b+a*x)^n/(1+x^2)^((m+n+2)/2),x],x,Cot[c+d*x]] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[n] && IntegerQ[(m+n)/2] && n!=-1 && Not[n>0 && m>1]
+
+
+Int[sin[c_.+d_.*x_]^m_.*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandTrig[sin[c+d*x]^m*(a*cos[c+d*x]+b*sin[c+d*x])^n,x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && PositiveIntegerQ[n]
+
+
+Int[cos[c_.+d_.*x_]^m_.*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandTrig[cos[c+d*x]^m*(a*cos[c+d*x]+b*sin[c+d*x])^n,x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && PositiveIntegerQ[n]
+
+
+Int[sin[c_.+d_.*x_]^m_.*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ a^n*b^n*Int[Sin[c+d*x]^m*(b*Cos[c+d*x]+a*Sin[c+d*x])^(-n),x] /;
+FreeQ[{a,b,c,d,m},x] && EqQ[a^2+b^2,0] && NegativeIntegerQ[n]
+
+
+Int[cos[c_.+d_.*x_]^m_.*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ a^n*b^n*Int[Cos[c+d*x]^m*(b*Cos[c+d*x]+a*Sin[c+d*x])^(-n),x] /;
+FreeQ[{a,b,c,d,m},x] && EqQ[a^2+b^2,0] && NegativeIntegerQ[n]
+
+
+Int[(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_/sin[c_.+d_.*x_],x_Symbol] :=
+ a*(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-1)/(d*(n-1)) +
+ b*Int[(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-1),x] +
+ a^2*Int[(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-2)/Sin[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && LtQ[n,-1]
+
+
+Int[(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_/cos[c_.+d_.*x_],x_Symbol] :=
+ -b*(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-1)/(d*(n-1)) +
+ a*Int[(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-1),x] +
+ b^2*Int[(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-2)/Cos[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && LtQ[n,-1]
+
+
+Int[sin[c_.+d_.*x_]^m_*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ -(a^2+b^2)*Int[Sin[c+d*x]^(m+2)*(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-2),x] +
+ 2*b*Int[Sin[c+d*x]^(m+1)*(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-1),x] +
+ a^2*Int[Sin[c+d*x]^m*(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-2),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && GtQ[n,1] && LtQ[m,-1]
+
+
+Int[cos[c_.+d_.*x_]^m_*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ -(a^2+b^2)*Int[Cos[c+d*x]^(m+2)*(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-2),x] +
+ 2*a*Int[Cos[c+d*x]^(m+1)*(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-1),x] +
+ b^2*Int[Cos[c+d*x]^m*(a*Cos[c+d*x]+b*Sin[c+d*x])^(n-2),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && GtQ[n,1] && LtQ[m,-1]
+
+
+Int[sin[c_.+d_.*x_]/(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_]),x_Symbol] :=
+ b*x/(a^2+b^2) -
+ a/(a^2+b^2)*Int[(b*Cos[c+d*x]-a*Sin[c+d*x])/(a*Cos[c+d*x]+b*Sin[c+d*x]),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0]
+
+
+Int[cos[c_.+d_.*x_]/(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_]),x_Symbol] :=
+ a*x/(a^2+b^2) +
+ b/(a^2+b^2)*Int[(b*Cos[c+d*x]-a*Sin[c+d*x])/(a*Cos[c+d*x]+b*Sin[c+d*x]),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0]
+
+
+Int[sin[c_.+d_.*x_]^m_/(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_]),x_Symbol] :=
+ -a*Sin[c+d*x]^(m-1)/(d*(a^2+b^2)*(m-1)) +
+ b/(a^2+b^2)*Int[Sin[c+d*x]^(m-1),x] +
+ a^2/(a^2+b^2)*Int[Sin[c+d*x]^(m-2)/(a*Cos[c+d*x]+b*Sin[c+d*x]),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && GtQ[m,1]
+
+
+Int[cos[c_.+d_.*x_]^m_/(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_]),x_Symbol] :=
+ b*Cos[c+d*x]^(m-1)/(d*(a^2+b^2)*(m-1)) +
+ a/(a^2+b^2)*Int[Cos[c+d*x]^(m-1),x] +
+ b^2/(a^2+b^2)*Int[Cos[c+d*x]^(m-2)/(a*Cos[c+d*x]+b*Sin[c+d*x]),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && GtQ[m,1]
+
+
+Int[1/(sin[c_.+d_.*x_]*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])),x_Symbol] :=
+ 1/a*Int[Cot[c+d*x],x] -
+ 1/a*Int[(b*Cos[c+d*x]-a*Sin[c+d*x])/(a*Cos[c+d*x]+b*Sin[c+d*x]),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0]
+
+
+Int[1/(cos[c_.+d_.*x_]*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])),x_Symbol] :=
+ 1/b*Int[Tan[c+d*x],x] +
+ 1/b*Int[(b*Cos[c+d*x]-a*Sin[c+d*x])/(a*Cos[c+d*x]+b*Sin[c+d*x]),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0]
+
+
+Int[sin[c_.+d_.*x_]^m_/(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_]),x_Symbol] :=
+ Sin[c+d*x]^(m+1)/(a*d*(m+1)) -
+ b/a^2*Int[Sin[c+d*x]^(m+1),x] +
+ (a^2+b^2)/a^2*Int[Sin[c+d*x]^(m+2)/(a*Cos[c+d*x]+b*Sin[c+d*x]),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && LtQ[m,-1]
+
+
+Int[cos[c_.+d_.*x_]^m_/(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_]),x_Symbol] :=
+ -Cos[c+d*x]^(m+1)/(b*d*(m+1)) -
+ a/b^2*Int[Cos[c+d*x]^(m+1),x] +
+ (a^2+b^2)/b^2*Int[Cos[c+d*x]^(m+2)/(a*Cos[c+d*x]+b*Sin[c+d*x]),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && LtQ[m,-1]
+
+
+Int[(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_/sin[c_.+d_.*x_],x_Symbol] :=
+ -(a*Cos[c+d*x]+b*Sin[c+d*x])^(n+1)/(a*d*(n+1)) -
+ b/a^2*Int[(a*Cos[c+d*x]+b*Sin[c+d*x])^(n+1),x] +
+ 1/a^2*Int[(a*Cos[c+d*x]+b*Sin[c+d*x])^(n+2)/Sin[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && LtQ[n,-1]
+
+
+Int[(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_/cos[c_.+d_.*x_],x_Symbol] :=
+ (a*Cos[c+d*x]+b*Sin[c+d*x])^(n+1)/(b*d*(n+1)) -
+ a/b^2*Int[(a*Cos[c+d*x]+b*Sin[c+d*x])^(n+1),x] +
+ 1/b^2*Int[(a*Cos[c+d*x]+b*Sin[c+d*x])^(n+2)/Cos[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && LtQ[n,-1]
+
+
+Int[sin[c_.+d_.*x_]^m_*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ (a^2+b^2)/a^2*Int[Sin[c+d*x]^(m+2)*(a*Cos[c+d*x]+b*Sin[c+d*x])^n,x] -
+ 2*b/a^2*Int[Sin[c+d*x]^(m+1)*(a*Cos[c+d*x]+b*Sin[c+d*x])^(n+1),x] +
+ 1/a^2*Int[Sin[c+d*x]^m*(a*Cos[c+d*x]+b*Sin[c+d*x])^(n+2),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && LtQ[n,-1] && LtQ[m,-1]
+
+
+Int[cos[c_.+d_.*x_]^m_*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] :=
+ (a^2+b^2)/b^2*Int[Cos[c+d*x]^(m+2)*(a*Cos[c+d*x]+b*Sin[c+d*x])^n,x] -
+ 2*a/b^2*Int[Cos[c+d*x]^(m+1)*(a*Cos[c+d*x]+b*Sin[c+d*x])^(n+1),x] +
+ 1/b^2*Int[Cos[c+d*x]^m*(a*Cos[c+d*x]+b*Sin[c+d*x])^(n+2),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && LtQ[n,-1] && LtQ[m,-1]
+
+
+Int[cos[c_.+d_.*x_]^m_.*sin[c_.+d_.*x_]^n_.*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^p_.,x_Symbol] :=
+ Int[ExpandTrig[cos[c+d*x]^m*sin[c+d*x]^n*(a*cos[c+d*x]+b*sin[c+d*x])^p,x],x] /;
+FreeQ[{a,b,c,d,m,n},x] && PositiveIntegerQ[p]
+
+
+Int[cos[c_.+d_.*x_]^m_.*sin[c_.+d_.*x_]^n_.*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ a^p*b^p*Int[Cos[c+d*x]^m*Sin[c+d*x]^n*(b*Cos[c+d*x]+a*Sin[c+d*x])^(-p),x] /;
+FreeQ[{a,b,c,d,m,n},x] && EqQ[a^2+b^2,0] && NegativeIntegerQ[p]
+
+
+Int[cos[c_.+d_.*x_]^m_.*sin[c_.+d_.*x_]^n_./(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_]),x_Symbol] :=
+ b/(a^2+b^2)*Int[Cos[c+d*x]^m*Sin[c+d*x]^(n-1),x] +
+ a/(a^2+b^2)*Int[Cos[c+d*x]^(m-1)*Sin[c+d*x]^n,x] -
+ a*b/(a^2+b^2)*Int[Cos[c+d*x]^(m-1)*Sin[c+d*x]^(n-1)/(a*Cos[c+d*x]+b*Sin[c+d*x]),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && IntegersQ[m,n] && m>0 && n>0
+
+
+Int[cos[c_.+d_.*x_]^m_.*sin[c_.+d_.*x_]^n_./(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_]),x_Symbol] :=
+ Int[ExpandTrig[cos[c+d*x]^m*sin[c+d*x]^n/(a*cos[c+d*x]+b*sin[c+d*x]),x],x] /;
+FreeQ[{a,b,c,d,m,n},x] && IntegersQ[m,n]
+
+
+Int[cos[c_.+d_.*x_]^m_.*sin[c_.+d_.*x_]^n_.*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ b/(a^2+b^2)*Int[Cos[c+d*x]^m*Sin[c+d*x]^(n-1)*(a*Cos[c+d*x]+b*Sin[c+d*x])^(p+1),x] +
+ a/(a^2+b^2)*Int[Cos[c+d*x]^(m-1)*Sin[c+d*x]^n*(a*Cos[c+d*x]+b*Sin[c+d*x])^(p+1),x] -
+ a*b/(a^2+b^2)*Int[Cos[c+d*x]^(m-1)*Sin[c+d*x]^(n-1)*(a*Cos[c+d*x]+b*Sin[c+d*x])^p,x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2,0] && IntegersQ[m,n,p] && m>0 && n>0 && p<0
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.1.6 (a+b cos+c sin)^n*)
+
+
+Int[Sqrt[a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]],x_Symbol] :=
+ -2*(c*Cos[d+e*x]-b*Sin[d+e*x])/(e*Sqrt[a+b*Cos[d+e*x]+c*Sin[d+e*x]]) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[a^2-b^2-c^2]
+
+
+Int[(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_,x_Symbol] :=
+ -(c*Cos[d+e*x]-b*Sin[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^(n-1)/(e*n) +
+ a*(2*n-1)/n*Int[(a+b*Cos[d+e*x]+c*Sin[d+e*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[a^2-b^2-c^2] && RationalQ[n] && n>0
+
+
+Int[1/(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] :=
+ -(c-a*Sin[d+e*x])/(c*e*(c*Cos[d+e*x]-b*Sin[d+e*x])) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[a^2-b^2-c^2]
+
+
+Int[1/Sqrt[a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]],x_Symbol] :=
+ Int[1/Sqrt[a+Sqrt[b^2+c^2]*Cos[d+e*x-ArcTan[b,c]]],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[a^2-b^2-c^2]
+
+
+Int[(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_,x_Symbol] :=
+ (c*Cos[d+e*x]-b*Sin[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^n/(a*e*(2*n+1)) +
+ (n+1)/(a*(2*n+1))*Int[(a+b*Cos[d+e*x]+c*Sin[d+e*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[a^2-b^2-c^2] && RationalQ[n] && n<-1
+
+
+Int[Sqrt[a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]],x_Symbol] :=
+ b/(c*e)*Subst[Int[Sqrt[a+x]/x,x],x,b*Cos[d+e*x]+c*Sin[d+e*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[b^2+c^2]
+
+
+Int[Sqrt[a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]],x_Symbol] :=
+ Int[Sqrt[a+Sqrt[b^2+c^2]*Cos[d+e*x-ArcTan[b,c]]],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2+c^2] && PositiveQ[a+Sqrt[b^2+c^2]]
+
+
+Int[Sqrt[a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]],x_Symbol] :=
+ Sqrt[a+b*Cos[d+e*x]+c*Sin[d+e*x]]/Sqrt[(a+b*Cos[d+e*x]+c*Sin[d+e*x])/(a+Sqrt[b^2+c^2])]*
+ Int[Sqrt[a/(a+Sqrt[b^2+c^2])+Sqrt[b^2+c^2]/(a+Sqrt[b^2+c^2])*Cos[d+e*x-ArcTan[b,c]]],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[a^2-b^2-c^2] && NeQ[b^2+c^2] && Not[PositiveQ[a+Sqrt[b^2+c^2]]]
+
+
+Int[(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_,x_Symbol] :=
+ -(c*Cos[d+e*x]-b*Sin[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^(n-1)/(e*n) +
+ 1/n*Int[Simp[n*a^2+(n-1)*(b^2+c^2)+a*b*(2*n-1)*Cos[d+e*x]+a*c*(2*n-1)*Sin[d+e*x],x]*
+ (a+b*Cos[d+e*x]+c*Sin[d+e*x])^(n-2),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[a^2-b^2-c^2] && RationalQ[n] && n>1
+
+
+(* Int[1/(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] :=
+ x/Sqrt[a^2-b^2-c^2] +
+ 2/(e*Sqrt[a^2-b^2-c^2])*ArcTan[(c*Cos[d+e*x]-b*Sin[d+e*x])/(a+Sqrt[a^2-b^2-c^2]+b*Cos[d+e*x]+c*Sin[d+e*x])] /;
+FreeQ[{a,b,c,d,e},x] && PositiveQ[a^2-b^2-c^2] *)
+
+
+(* Int[1/(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] :=
+ Log[RemoveContent[b^2+c^2+(a*b-c*Rt[-a^2+b^2+c^2,2])*Cos[d+e*x]+(a*c+b*Sqrt[-a^2+b^2+c^2])*Sin[d+e*x],x]]/
+ (2*e*Rt[-a^2+b^2+c^2,2]) -
+ Log[RemoveContent[b^2+c^2+(a*b+c*Rt[-a^2+b^2+c^2,2])*Cos[d+e*x]+(a*c-b*Sqrt[-a^2+b^2+c^2])*Sin[d+e*x],x]]/
+ (2*e*Rt[-a^2+b^2+c^2,2]) /;
+FreeQ[{a,b,c,d,e},x] && NegativeQ[a^2-b^2-c^2] *)
+
+
+Int[1/(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] :=
+ Module[{f=FreeFactors[Cot[(d+e*x)/2],x]},
+ -f/e*Subst[Int[1/(a+c*f*x),x],x,Cot[(d+e*x)/2]/f]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[a+b]
+
+
+Int[1/(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] :=
+ Module[{f=FreeFactors[Tan[(d+e*x)/2+Pi/4],x]},
+ f/e*Subst[Int[1/(a+b*f*x),x],x,Tan[(d+e*x)/2+Pi/4]/f]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[a+c]
+
+
+Int[1/(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] :=
+ Module[{f=FreeFactors[Cot[(d+e*x)/2+Pi/4],x]},
+ -f/e*Subst[Int[1/(a+b*f*x),x],x,Cot[(d+e*x)/2+Pi/4]/f]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[a-c] && NeQ[a-b]
+
+
+Int[1/(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] :=
+ Module[{f=FreeFactors[Tan[(d+e*x)/2],x]},
+ 2*f/e*Subst[Int[1/(a+b+2*c*f*x+(a-b)*f^2*x^2),x],x,Tan[(d+e*x)/2]/f]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[a^2-b^2-c^2]
+
+
+Int[1/Sqrt[a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]],x_Symbol] :=
+ b/(c*e)*Subst[Int[1/(x*Sqrt[a+x]),x],x,b*Cos[d+e*x]+c*Sin[d+e*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[b^2+c^2]
+
+
+Int[1/Sqrt[a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]],x_Symbol] :=
+ Int[1/Sqrt[a+Sqrt[b^2+c^2]*Cos[d+e*x-ArcTan[b,c]]],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b^2+c^2] && PositiveQ[a+Sqrt[b^2+c^2]]
+
+
+Int[1/Sqrt[a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]],x_Symbol] :=
+ Sqrt[(a+b*Cos[d+e*x]+c*Sin[d+e*x])/(a+Sqrt[b^2+c^2])]/Sqrt[a+b*Cos[d+e*x]+c*Sin[d+e*x]]*
+ Int[1/Sqrt[a/(a+Sqrt[b^2+c^2])+Sqrt[b^2+c^2]/(a+Sqrt[b^2+c^2])*Cos[d+e*x-ArcTan[b,c]]],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[a^2-b^2-c^2] && NeQ[b^2+c^2] && Not[PositiveQ[a+Sqrt[b^2+c^2]]]
+
+
+Int[1/(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^(3/2),x_Symbol] :=
+ 2*(c*Cos[d+e*x]-b*Sin[d+e*x])/(e*(a^2-b^2-c^2)*Sqrt[a+b*Cos[d+e*x]+c*Sin[d+e*x]]) +
+ 1/(a^2-b^2-c^2)*Int[Sqrt[a+b*Cos[d+e*x]+c*Sin[d+e*x]],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[a^2-b^2-c^2]
+
+
+Int[(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_,x_Symbol] :=
+ (-c*Cos[d+e*x]+b*Sin[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^(n+1)/(e*(n+1)*(a^2-b^2-c^2)) +
+ 1/((n+1)*(a^2-b^2-c^2))*
+ Int[(a*(n+1)-b*(n+2)*Cos[d+e*x]-c*(n+2)*Sin[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[a^2-b^2-c^2] && RationalQ[n] && n<-1 && n!=-3/2
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_]+C_.*sin[d_.+e_.*x_])/(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] :=
+ (2*a*A-b*B-c*C)*x/(2*a^2) - (b*B+c*C)*(b*Cos[d+e*x]-c*Sin[d+e*x])/(2*a*b*c*e) +
+ (a^2*(b*B-c*C)-2*a*A*b^2+b^2*(b*B+c*C))*Log[RemoveContent[a+b*Cos[d+e*x]+c*Sin[d+e*x],x]]/(2*a^2*b*c*e) /;
+FreeQ[{a,b,c,d,e,A,B,C},x] && EqQ[b^2+c^2]
+
+
+Int[(A_.+C_.*sin[d_.+e_.*x_])/(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] :=
+ (2*a*A-c*C)*x/(2*a^2) - C*Cos[d+e*x]/(2*a*e) + c*C*Sin[d+e*x]/(2*a*b*e) +
+ (-a^2*C+2*a*c*A+b^2*C)*Log[RemoveContent[a+b*Cos[d+e*x]+c*Sin[d+e*x],x]]/(2*a^2*b*e) /;
+FreeQ[{a,b,c,d,e,A,C},x] && EqQ[b^2+c^2]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_])/(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] :=
+ (2*a*A-b*B)*x/(2*a^2) - b*B*Cos[d+e*x]/(2*a*c*e) + B*Sin[d+e*x]/(2*a*e) +
+ (a^2*B-2*a*b*A+b^2*B)*Log[RemoveContent[a+b*Cos[d+e*x]+c*Sin[d+e*x],x]]/(2*a^2*c*e) /;
+FreeQ[{a,b,c,d,e,A,B},x] && EqQ[b^2+c^2]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_]+C_.*sin[d_.+e_.*x_])/(a_.+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] :=
+ (b*B+c*C)*x/(b^2+c^2) + (c*B-b*C)*Log[a+b*Cos[d+e*x]+c*Sin[d+e*x]]/(e*(b^2+c^2)) /;
+FreeQ[{a,b,c,d,e,A,B,C},x] && NeQ[b^2+c^2] && EqQ[A*(b^2+c^2)-a*(b*B+c*C)]
+
+
+Int[(A_.+C_.*sin[d_.+e_.*x_])/(a_.+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] :=
+ c*C*x/(b^2+c^2) - b*C*Log[a+b*Cos[d+e*x]+c*Sin[d+e*x]]/(e*(b^2+c^2)) /;
+FreeQ[{a,b,c,d,e,A,C},x] && NeQ[b^2+c^2] && EqQ[A*(b^2+c^2)-a*c*C]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_])/(a_.+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] :=
+ b*B*x/(b^2+c^2) + c*B*Log[a+b*Cos[d+e*x]+c*Sin[d+e*x]]/(e*(b^2+c^2)) /;
+FreeQ[{a,b,c,d,e,A,B},x] && NeQ[b^2+c^2] && EqQ[A*(b^2+c^2)-a*b*B]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_]+C_.*sin[d_.+e_.*x_])/(a_.+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] :=
+ (b*B+c*C)*x/(b^2+c^2) + (c*B-b*C)*Log[a+b*Cos[d+e*x]+c*Sin[d+e*x]]/(e*(b^2+c^2)) +
+ (A*(b^2+c^2)-a*(b*B+c*C))/(b^2+c^2)*Int[1/(a+b*Cos[d+e*x]+c*Sin[d+e*x]),x] /;
+FreeQ[{a,b,c,d,e,A,B,C},x] && NeQ[b^2+c^2] && NeQ[A*(b^2+c^2)-a*(b*B+c*C)]
+
+
+Int[(A_.+C_.*sin[d_.+e_.*x_])/(a_.+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] :=
+ c*C*(d+e*x)/(e*(b^2+c^2)) - b*C*Log[a+b*Cos[d+e*x]+c*Sin[d+e*x]]/(e*(b^2+c^2)) +
+ (A*(b^2+c^2)-a*c*C)/(b^2+c^2)*Int[1/(a+b*Cos[d+e*x]+c*Sin[d+e*x]),x] /;
+FreeQ[{a,b,c,d,e,A,C},x] && NeQ[b^2+c^2] && NeQ[A*(b^2+c^2)-a*c*C]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_])/(a_.+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] :=
+ b*B*(d+e*x)/(e*(b^2+c^2)) +
+ c*B*Log[a+b*Cos[d+e*x]+c*Sin[d+e*x]]/(e*(b^2+c^2)) +
+ (A*(b^2+c^2)-a*b*B)/(b^2+c^2)*Int[1/(a+b*Cos[d+e*x]+c*Sin[d+e*x]),x] /;
+FreeQ[{a,b,c,d,e,A,B},x] && NeQ[b^2+c^2] && NeQ[A*(b^2+c^2)-a*b*B]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_]+C_.*sin[d_.+e_.*x_])*(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_.,x_Symbol] :=
+ (B*c-b*C-a*C*Cos[d+e*x]+a*B*Sin[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^n/(a*e*(n+1)) /;
+FreeQ[{a,b,c,d,e,A,B,C,n},x] && NeQ[n+1] && EqQ[a^2-b^2-c^2] && EqQ[(b*B+c*C)*n+a*A*(n+1)]
+
+
+Int[(A_.+C_.*sin[d_.+e_.*x_])*(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_.,x_Symbol] :=
+ -(b*C+a*C*Cos[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^n/(a*e*(n+1)) /;
+FreeQ[{a,b,c,d,e,A,C,n},x] && NeQ[n+1] && EqQ[a^2-b^2-c^2] && EqQ[c*C*n+a*A*(n+1)]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_])*(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_.,x_Symbol] :=
+ (B*c+a*B*Sin[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^n/(a*e*(n+1)) /;
+FreeQ[{a,b,c,d,e,A,B,n},x] && NeQ[n+1] && EqQ[a^2-b^2-c^2] && EqQ[b*B*n+a*A*(n+1)]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_]+C_.*sin[d_.+e_.*x_])*(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_.,x_Symbol] :=
+ (B*c-b*C-a*C*Cos[d+e*x]+a*B*Sin[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^n/(a*e*(n+1)) +
+ ((b*B+c*C)*n+a*A*(n+1))/(a*(n+1))*Int[(a+b*Cos[d+e*x]+c*Sin[d+e*x])^n,x] /;
+FreeQ[{a,b,c,d,e,A,B,C,n},x] && NeQ[n+1] && EqQ[a^2-b^2-c^2] && NeQ[(b*B+c*C)*n+a*A*(n+1)]
+
+
+Int[(A_.+C_.*sin[d_.+e_.*x_])*(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_.,x_Symbol] :=
+ -(b*C+a*C*Cos[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^n/(a*e*(n+1)) +
+ (c*C*n+a*A*(n+1))/(a*(n+1))*Int[(a+b*Cos[d+e*x]+c*Sin[d+e*x])^n,x] /;
+FreeQ[{a,b,c,d,e,A,C,n},x] && NeQ[n+1] && EqQ[a^2-b^2-c^2] && NeQ[c*C*n+a*A*(n+1)]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_])*(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_.,x_Symbol] :=
+ (B*c+a*B*Sin[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^n/(a*e*(n+1)) +
+ (b*B*n+a*A*(n+1))/(a*(n+1))*Int[(a+b*Cos[d+e*x]+c*Sin[d+e*x])^n,x] /;
+FreeQ[{a,b,c,d,e,A,B,n},x] && NeQ[n+1] && EqQ[a^2-b^2-c^2] && NeQ[b*B*n+a*A*(n+1)]
+
+
+Int[(B_.*cos[d_.+e_.*x_]+C_.*sin[d_.+e_.*x_])*(b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_.,x_Symbol] :=
+ (c*B-b*C)*(b*Cos[d+e*x]+c*Sin[d+e*x])^(n+1)/(e*(n+1)*(b^2+c^2)) /;
+FreeQ[{b,c,d,e,B,C},x] && NeQ[n+1] && NeQ[b^2+c^2] && EqQ[b*B+c*C]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_]+C_.*sin[d_.+e_.*x_])*(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_.,x_Symbol] :=
+ (B*c-b*C-a*C*Cos[d+e*x]+a*B*Sin[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^n/(a*e*(n+1)) +
+ 1/(a*(n+1))*Int[(a+b*Cos[d+e*x]+c*Sin[d+e*x])^(n-1)*
+ Simp[a*(b*B+c*C)*n+a^2*A*(n+1)+
+ (n*(a^2*B-B*c^2+b*c*C)+a*b*A*(n+1))*Cos[d+e*x]+
+ (n*(b*B*c+a^2*C-b^2*C)+a*c*A*(n+1))*Sin[d+e*x],x],x] /;
+FreeQ[{a,b,c,d,e,A,B,C},x] && RationalQ[n] && n>0 && NeQ[a^2-b^2-c^2]
+
+
+Int[(A_.+C_.*sin[d_.+e_.*x_])*(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_.,x_Symbol] :=
+ -(b*C+a*C*Cos[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^n/(a*e*(n+1)) +
+ 1/(a*(n+1))*Int[(a+b*Cos[d+e*x]+c*Sin[d+e*x])^(n-1)*
+ Simp[a*c*C*n+a^2*A*(n+1)+(c*b*C*n+a*b*A*(n+1))*Cos[d+e*x]+(a^2*C*n-b^2*C*n+a*c*A*(n+1))*Sin[d+e*x],x],x] /;
+FreeQ[{a,b,c,d,e,A,C},x] && RationalQ[n] && n>0 && NeQ[a^2-b^2-c^2]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_])*(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_.,x_Symbol] :=
+ (B*c+a*B*Sin[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^n/(a*e*(n+1)) +
+ 1/(a*(n+1))*Int[(a+b*Cos[d+e*x]+c*Sin[d+e*x])^(n-1)*
+ Simp[a*b*B*n+a^2*A*(n+1)+(a^2*B*n-c^2*B*n+a*b*A*(n+1))*Cos[d+e*x]+(b*c*B*n+a*c*A*(n+1))*Sin[d+e*x],x],x] /;
+FreeQ[{a,b,c,d,e,A,B},x] && RationalQ[n] && n>0 && NeQ[a^2-b^2-c^2]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_]+C_.*sin[d_.+e_.*x_])/Sqrt[a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]],x_Symbol] :=
+ B/b*Int[Sqrt[a+b*Cos[d+e*x]+c*Sin[d+e*x]],x] +
+ (A*b-a*B)/b*Int[1/Sqrt[a+b*Cos[d+e*x]+c*Sin[d+e*x]],x] /;
+FreeQ[{a,b,c,d,e,A,B,C},x] && EqQ[B*c-b*C] && NeQ[A*b-a*B]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_]+C_.*sin[d_.+e_.*x_])/(a_.+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^2,x_Symbol] :=
+ (c*B-b*C-(a*C-c*A)*Cos[d+e*x]+(a*B-b*A)*Sin[d+e*x])/
+ (e*(a^2-b^2-c^2)*(a+b*Cos[d+e*x]+c*Sin[d+e*x])) /;
+FreeQ[{a,b,c,d,e,A,B,C},x] && NeQ[a^2-b^2-c^2] && EqQ[a*A-b*B-c*C]
+
+
+Int[(A_.+C_.*sin[d_.+e_.*x_])/(a_.+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^2,x_Symbol] :=
+ -(b*C+(a*C-c*A)*Cos[d+e*x]+b*A*Sin[d+e*x])/(e*(a^2-b^2-c^2)*(a+b*Cos[d+e*x]+c*Sin[d+e*x])) /;
+FreeQ[{a,b,c,d,e,A,C},x] && NeQ[a^2-b^2-c^2] && EqQ[a*A-c*C]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_])/(a_.+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^2,x_Symbol] :=
+ (c*B+c*A*Cos[d+e*x]+(a*B-b*A)*Sin[d+e*x])/(e*(a^2-b^2-c^2)*(a+b*Cos[d+e*x]+c*Sin[d+e*x])) /;
+FreeQ[{a,b,c,d,e,A,B},x] && NeQ[a^2-b^2-c^2] && EqQ[a*A-b*B]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_]+C_.*sin[d_.+e_.*x_])/(a_.+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^2,x_Symbol] :=
+ (c*B-b*C-(a*C-c*A)*Cos[d+e*x]+(a*B-b*A)*Sin[d+e*x])/
+ (e*(a^2-b^2-c^2)*(a+b*Cos[d+e*x]+c*Sin[d+e*x])) +
+ (a*A-b*B-c*C)/(a^2-b^2-c^2)*Int[1/(a+b*Cos[d+e*x]+c*Sin[d+e*x]),x] /;
+FreeQ[{a,b,c,d,e,A,B,C},x] && NeQ[a^2-b^2-c^2] && NeQ[a*A-b*B-c*C]
+
+
+Int[(A_.+C_.*sin[d_.+e_.*x_])/(a_.+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^2,x_Symbol] :=
+ -(b*C+(a*C-c*A)*Cos[d+e*x]+b*A*Sin[d+e*x])/(e*(a^2-b^2-c^2)*(a+b*Cos[d+e*x]+c*Sin[d+e*x])) +
+ (a*A-c*C)/(a^2-b^2-c^2)*Int[1/(a+b*Cos[d+e*x]+c*Sin[d+e*x]),x] /;
+FreeQ[{a,b,c,d,e,A,C},x] && NeQ[a^2-b^2-c^2] && NeQ[a*A-c*C]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_])/(a_.+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^2,x_Symbol] :=
+ (c*B+c*A*Cos[d+e*x]+(a*B-b*A)*Sin[d+e*x])/(e*(a^2-b^2-c^2)*(a+b*Cos[d+e*x]+c*Sin[d+e*x])) +
+ (a*A-b*B)/(a^2-b^2-c^2)*Int[1/(a+b*Cos[d+e*x]+c*Sin[d+e*x]),x] /;
+FreeQ[{a,b,c,d,e,A,B},x] && NeQ[a^2-b^2-c^2] && NeQ[a*A-b*B]
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_]+C_.*sin[d_.+e_.*x_])*(a_.+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_,x_Symbol] :=
+ -(c*B-b*C-(a*C-c*A)*Cos[d+e*x]+(a*B-b*A)*Sin[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^(n+1)/
+ (e*(n+1)*(a^2-b^2-c^2)) +
+ 1/((n+1)*(a^2-b^2-c^2))*Int[(a+b*Cos[d+e*x]+c*Sin[d+e*x])^(n+1)*
+ Simp[(n+1)*(a*A-b*B-c*C)+(n+2)*(a*B-b*A)*Cos[d+e*x]+(n+2)*(a*C-c*A)*Sin[d+e*x],x],x] /;
+FreeQ[{a,b,c,d,e,A,B,C},x] && RationalQ[n] && n<-1 && NeQ[a^2-b^2-c^2] && n!=-2
+
+
+Int[(A_.+C_.*sin[d_.+e_.*x_])*(a_.+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_,x_Symbol] :=
+ (b*C+(a*C-c*A)*Cos[d+e*x]+b*A*Sin[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^(n+1)/
+ (e*(n+1)*(a^2-b^2-c^2)) +
+ 1/((n+1)*(a^2-b^2-c^2))*Int[(a+b*Cos[d+e*x]+c*Sin[d+e*x])^(n+1)*
+ Simp[(n+1)*(a*A-c*C)-(n+2)*b*A*Cos[d+e*x]+(n+2)*(a*C-c*A)*Sin[d+e*x],x],x] /;
+FreeQ[{a,b,c,d,e,A,C},x] && RationalQ[n] && n<-1 && NeQ[a^2-b^2-c^2] && n!=-2
+
+
+Int[(A_.+B_.*cos[d_.+e_.*x_])*(a_.+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_])^n_,x_Symbol] :=
+ -(c*B+c*A*Cos[d+e*x]+(a*B-b*A)*Sin[d+e*x])*(a+b*Cos[d+e*x]+c*Sin[d+e*x])^(n+1)/
+ (e*(n+1)*(a^2-b^2-c^2)) +
+ 1/((n+1)*(a^2-b^2-c^2))*Int[(a+b*Cos[d+e*x]+c*Sin[d+e*x])^(n+1)*
+ Simp[(n+1)*(a*A-b*B)+(n+2)*(a*B-b*A)*Cos[d+e*x]-(n+2)*c*A*Sin[d+e*x],x],x] /;
+FreeQ[{a,b,c,d,e,A,B},x] && RationalQ[n] && n<-1 && NeQ[a^2-b^2-c^2] && n!=-2
+
+
+Int[1/(a_.+b_.*sec[d_.+e_.*x_]+c_.*tan[d_.+e_.*x_]),x_Symbol] :=
+ Int[Cos[d+e*x]/(b+a*Cos[d+e*x]+c*Sin[d+e*x]),x] /;
+FreeQ[{a,b,c,d,e},x]
+
+
+Int[1/(a_.+b_.*csc[d_.+e_.*x_]+c_.*cot[d_.+e_.*x_]),x_Symbol] :=
+ Int[Sin[d+e*x]/(b+a*Sin[d+e*x]+c*Cos[d+e*x]),x] /;
+FreeQ[{a,b,c,d,e},x]
+
+
+Int[cos[d_.+e_.*x_]^n_.*(a_.+b_.*sec[d_.+e_.*x_]+c_.*tan[d_.+e_.*x_])^n_.,x_Symbol] :=
+ Int[(b+a*Cos[d+e*x]+c*Sin[d+e*x])^n,x] /;
+FreeQ[{a,b,c,d,e},x] && IntegerQ[n]
+
+
+Int[sin[d_.+e_.*x_]^n_.*(a_.+b_.*csc[d_.+e_.*x_]+c_.*cot[d_.+e_.*x_])^n_.,x_Symbol] :=
+ Int[(b+a*Sin[d+e*x]+c*Cos[d+e*x])^n,x] /;
+FreeQ[{a,b,c,d,e},x] && IntegerQ[n]
+
+
+Int[cos[d_.+e_.*x_]^n_*(a_.+b_.*sec[d_.+e_.*x_]+c_.*tan[d_.+e_.*x_])^n_,x_Symbol] :=
+ Cos[d+e*x]^n*(a+b*Sec[d+e*x]+c*Tan[d+e*x])^n/(b+a*Cos[d+e*x]+c*Sin[d+e*x])^n*Int[(b+a*Cos[d+e*x]+c*Sin[d+e*x])^n,x] /;
+FreeQ[{a,b,c,d,e},x] && Not[IntegerQ[n]]
+
+
+Int[sin[d_.+e_.*x_]^n_*(a_.+b_.*csc[d_.+e_.*x_]+c_.*cot[d_.+e_.*x_])^n_,x_Symbol] :=
+ Sin[d+e*x]^n*(a+b*Csc[d+e*x]+c*Cot[d+e*x])^n/(b+a*Sin[d+e*x]+c*Cos[d+e*x])^n*Int[(b+a*Sin[d+e*x]+c*Cos[d+e*x])^n,x] /;
+FreeQ[{a,b,c,d,e},x] && Not[IntegerQ[n]]
+
+
+Int[sec[d_.+e_.*x_]^n_.*(a_.+b_.*sec[d_.+e_.*x_]+c_.*tan[d_.+e_.*x_])^m_,x_Symbol] :=
+ Int[1/(b+a*Cos[d+e*x]+c*Sin[d+e*x])^n,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[m+n] && IntegerQ[n]
+
+
+Int[csc[d_.+e_.*x_]^n_.*(a_.+b_.*csc[d_.+e_.*x_]+c_.*cot[d_.+e_.*x_])^m_,x_Symbol] :=
+ Int[1/(b+a*Sin[d+e*x]+c*Cos[d+e*x])^n,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[m+n] && IntegerQ[n]
+
+
+Int[sec[d_.+e_.*x_]^n_.*(a_.+b_.*sec[d_.+e_.*x_]+c_.*tan[d_.+e_.*x_])^m_,x_Symbol] :=
+ Sec[d+e*x]^n*(b+a*Cos[d+e*x]+c*Sin[d+e*x])^n/(a+b*Sec[d+e*x]+c*Tan[d+e*x])^n*Int[1/(b+a*Cos[d+e*x]+c*Sin[d+e*x])^n,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[m+n] && Not[IntegerQ[n]]
+
+
+Int[csc[d_.+e_.*x_]^n_.*(a_.+b_.*csc[d_.+e_.*x_]+c_.*cot[d_.+e_.*x_])^m_,x_Symbol] :=
+ Csc[d+e*x]^n*(b+a*Sin[d+e*x]+c*Cos[d+e*x])^n/(a+b*Csc[d+e*x]+c*Cot[d+e*x])^n*Int[1/(b+a*Sin[d+e*x]+c*Cos[d+e*x])^n,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[m+n] && Not[IntegerQ[n]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.1.7 (d trig)^m (a+b (c sin)^n)^p*)
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_]^2)*(A_.+B_.*sin[e_.+f_.*x_]^2),x_Symbol] :=
+ (4*A*(2*a+b)+B*(4*a+3*b))*x/8 -
+ (4*A*b+B*(4*a+3*b))*Cos[e+f*x]*Sin[e+f*x]/(8*f) -
+ b*B*Cos[e+f*x]*Sin[e+f*x]^3/(4*f) /;
+FreeQ[{a,b,e,f,A,B},x]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_]^2)^p_*(A_.+B_.*sin[e_.+f_.*x_]^2),x_Symbol] :=
+ -B*Cos[e+f*x]*Sin[e+f*x]*(a+b*Sin[e+f*x]^2)^p/(2*f*(p+1)) +
+ 1/(2*(p+1))*Int[(a+b*Sin[e+f*x]^2)^(p-1)*
+ Simp[a*B+2*a*A*(p+1)+(2*A*b*(p+1)+B*(b+2*a*p+2*b*p))*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,e,f,A,B},x] && GtQ[p,0]
+
+
+Int[(A_.+B_.*sin[e_.+f_.*x_]^2)/(a_+b_.*sin[e_.+f_.*x_]^2),x_Symbol] :=
+ B*x/b + (A*b-a*B)/b*Int[1/(a+b*Sin[e+f*x]^2),x] /;
+FreeQ[{a,b,e,f,A,B},x]
+
+
+Int[(A_.+B_.*sin[e_.+f_.*x_]^2)/Sqrt[a_+b_.*sin[e_.+f_.*x_]^2],x_Symbol] :=
+ B/b*Int[Sqrt[a+b*Sin[e+f*x]^2],x] + (A*b-a*B)/b*Int[1/Sqrt[a+b*Sin[e+f*x]^2],x] /;
+FreeQ[{a,b,e,f,A,B},x]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_]^2)^p_*(A_.+B_.*sin[e_.+f_.*x_]^2),x_Symbol] :=
+ -(A*b-a*B)*Cos[e+f*x]*Sin[e+f*x]*(a+b*Sin[e+f*x]^2)^(p+1)/(2*a*f*(a+b)*(p+1)) -
+ 1/(2*a*(a+b)*(p+1))*Int[(a+b*Sin[e+f*x]^2)^(p+1)*
+ Simp[a*B-A*(2*a*(p+1)+b*(2*p+3))+2*(A*b-a*B)*(p+2)*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,e,f,A,B},x] && LtQ[p,-1] && NeQ[a+b,0]
+
+
+Int[(a_.+b_.*sin[e_.+f_.*x_]^2)^p_*(A_.+B_.*sin[e_.+f_.*x_]^2),x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff*(a+b*Sin[e+f*x]^2)^p*(Sec[e+f*x]^2)^p/(f*(a+(a+b)*Tan[e+f*x]^2)^p)*
+ Subst[Int[(a+(a+b)*ff^2*x^2)^p*(A+(A+B)*ff^2*x^2)/(1+ff^2*x^2)^(p+2),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,A,B},x] && Not[IntegerQ[p]]
+
+
+Int[u_.*(a_+b_.*sin[e_.+f_.*x_]^2)^p_,x_Symbol] :=
+ a^p*Int[ActivateTrig[u*cos[e+f*x]^(2*p)],x] /;
+FreeQ[{a,b,e,f,p},x] && EqQ[a+b,0] && IntegerQ[p]
+
+
+Int[u_.*(a_+b_.*sin[e_.+f_.*x_]^2)^p_,x_Symbol] :=
+ Int[ActivateTrig[u*(a*cos[e+f*x]^2)^p],x] /;
+FreeQ[{a,b,e,f,p},x] && EqQ[a+b,0]
+
+
+Int[(b_.*sin[e_.+f_.*x_]^2)^p_,x_Symbol] :=
+ -Cot[e+f*x]*(b*Sin[e+f*x]^2)^p/(2*f*p) +
+ b*(2*p-1)/(2*p)*Int[(b*Sin[e+f*x]^2)^(p-1),x] /;
+FreeQ[{b,e,f},x] && Not[IntegerQ[p]] && GtQ[p,1]
+
+
+Int[(b_.*sin[e_.+f_.*x_]^2)^p_,x_Symbol] :=
+ Cot[e+f*x]*(b*Sin[e+f*x]^2)^(p+1)/(b*f*(2*p+1)) +
+ 2*(p+1)/(b*(2*p+1))*Int[(b*Sin[e+f*x]^2)^(p+1),x] /;
+FreeQ[{b,e,f},x] && Not[IntegerQ[p]] && LtQ[p,-1]
+
+
+Int[tan[e_.+f_.*x_]^m_.*(b_.*sin[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Sin[e+f*x]^2,x]},
+ ff^((m+1)/2)/(2*f)*Subst[Int[x^((m-1)/2)*(b*ff^(n/2)*x^(n/2))^p/(1-ff*x)^((m+1)/2),x],x,Sin[e+f*x]^2/ff]] /;
+FreeQ[{b,e,f,p},x] && IntegerQ[(m-1)/2] && IntegerQ[n/2]
+
+
+Int[tan[e_.+f_.*x_]^m_.*(b_.*(c_.*sin[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Sin[e+f*x],x]},
+ ff^(m+1)/f*Subst[Int[x^m*(b*(c*ff*x)^n)^p/(1-ff^2*x^2)^((m+1)/2),x],x,Sin[e+f*x]/ff]] /;
+FreeQ[{b,c,e,f,n,p},x] && ILtQ[(m-1)/2,0]
+
+
+Int[u_.*(b_.*sin[e_.+f_.*x_]^n_)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Sin[e+f*x],x]},
+ (b*ff^n)^IntPart[p]*(b*Sin[e+f*x]^n)^FracPart[p]/(Sin[e+f*x]/ff)^(n*FracPart[p])*
+ Int[ActivateTrig[u]*(Sin[e+f*x]/ff)^(n*p),x]] /;
+FreeQ[{b,e,f,n,p},x] && Not[IntegerQ[p]] && IntegerQ[n] &&
+ (EqQ[u,1] || MatchQ[u,(d_.*trig_[e+f*x])^m_. /; FreeQ[{d,m},x] && MemberQ[{sin,cos,tan,cot,sec,csc},trig]])
+
+
+Int[u_.*(b_.*(c_.*sin[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ b^IntPart[p]*(b*(c*Sin[e+f*x])^n)^FracPart[p]/(c*Sin[e+f*x])^(n*FracPart[p])*
+ Int[ActivateTrig[u]*(c*Sin[e+f*x])^(n*p),x] /;
+FreeQ[{b,c,e,f,n,p},x] && Not[IntegerQ[p]] && Not[IntegerQ[n]] &&
+ (EqQ[u,1] || MatchQ[u,(d_.*trig_[e+f*x])^m_. /; FreeQ[{d,m},x] && MemberQ[{sin,cos,tan,cot,sec,csc},trig]])
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]^2],x_Symbol] :=
+ Sqrt[a]/f*EllipticE[e+f*x,-b/a] /;
+FreeQ[{a,b,e,f},x] && GtQ[a,0]
+
+
+Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]^2],x_Symbol] :=
+ Sqrt[a+b*Sin[e+f*x]^2]/Sqrt[1+b*Sin[e+f*x]^2/a]*Int[Sqrt[1+(b*Sin[e+f*x]^2)/a],x] /;
+FreeQ[{a,b,e,f},x] && Not[GtQ[a,0]]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_]^2)^2,x_Symbol] :=
+ (8*a^2+8*a*b+3*b^2)*x/8 -
+ b*(8*a+3*b)*Cos[e+f*x]*Sin[e+f*x]/(8*f) -
+ b^2*Cos[e+f*x]*Sin[e+f*x]^3/(4*f) /;
+FreeQ[{a,b,e,f},x]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_]^2)^p_,x_Symbol] :=
+ -b*Cos[e+f*x]*Sin[e+f*x]*(a+b*Sin[e+f*x]^2)^(p-1)/(2*f*p) +
+ 1/(2*p)*Int[(a+b*Sin[e+f*x]^2)^(p-2)*Simp[a*(b+2*a*p)+b*(2*a+b)*(2*p-1)*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,e,f},x] && NeQ[a+b,0] && GtQ[p,1]
+
+
+Int[1/(a_+b_.*sin[e_.+f_.*x_]^2),x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff/f*Subst[Int[1/(a+(a+b)*ff^2*x^2),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f},x]
+
+
+Int[1/Sqrt[a_+b_.*sin[e_.+f_.*x_]^2],x_Symbol] :=
+ 1/(Sqrt[a]*f)*EllipticF[e+f*x,-b/a] /;
+FreeQ[{a,b,e,f},x] && GtQ[a,0]
+
+
+Int[1/Sqrt[a_+b_.*sin[e_.+f_.*x_]^2],x_Symbol] :=
+ Sqrt[1+b*Sin[e+f*x]^2/a]/Sqrt[a+b*Sin[e+f*x]^2]*Int[1/Sqrt[1+(b*Sin[e+f*x]^2)/a],x] /;
+FreeQ[{a,b,e,f},x] && Not[GtQ[a,0]]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_]^2)^p_,x_Symbol] :=
+ -b*Cos[e+f*x]*Sin[e+f*x]*(a+b*Sin[e+f*x]^2)^(p+1)/(2*a*f*(p+1)*(a+b)) +
+ 1/(2*a*(p+1)*(a+b))*Int[(a+b*Sin[e+f*x]^2)^(p+1)*Simp[2*a*(p+1)+b*(2*p+3)-2*b*(p+2)*Sin[e+f*x]^2,x],x] /;
+FreeQ[{a,b,e,f},x] && NeQ[a+b,0] && LtQ[p,-1]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_]^2)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff*(a+b*Sin[e+f*x]^2)^p*(Sec[e+f*x]^2)^p/(f*(a+(a+b)*Tan[e+f*x]^2)^p)*
+ Subst[Int[(a+(a+b)*ff^2*x^2)^p/(1+ff^2*x^2)^(p+1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,p},x] && Not[IntegerQ[p]]
+
+
+(* Int[(a_+b_.*sin[e_.+f_.*x_]^4)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ -ff/f*Subst[Int[(a+b+2*a*ff^2*x^2+a*ff^4*x^4)^p/(1+ff^2*x^2)^(2*p+1),x],x,Cot[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f},x] && IntegerQ[p] *)
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_]^4)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff/f*Subst[Int[(a+2*a*ff^2*x^2+(a+b)*ff^4*x^4)^p/(1+ff^2*x^2)^(2*p+1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f},x] && IntegerQ[p]
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_]^4)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff*(a+b*Sin[e+f*x]^4)^p*(Sec[e+f*x]^2)^(2*p)/(f*(a+2*a*Tan[e+f*x]^2+(a+b)*Tan[e+f*x]^4)^p)*
+ Subst[Int[(a+2*a*ff^2*x^2+(a+b)*ff^4*x^4)^p/(1+ff^2*x^2)^(2*p+1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,p},x] && IntegerQ[p-1/2]
+
+
+Int[1/(a_+b_.*sin[e_.+f_.*x_]^n_),x_Symbol] :=
+ Module[{k},
+ Dist[2/(a*n),Sum[Int[1/(1-Sin[e+f*x]^2/((-1)^(4*k/n)*Rt[-a/b,n/2])),x],{k,1,n/2}],x]] /;
+FreeQ[{a,b,e,f},x] && IntegerQ[n/2]
+
+
+(* Int[(a_+b_.*sin[e_.+f_.*x_]^n_)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ -ff/f*Subst[Int[(b+a*(1+ff^2*x^2)^(n/2))^p/(1+ff^2*x^2)^(n*p/2+1),x],x,Cot[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f},x] && IntegerQ[n/2] && IGtQ[p,0] *)
+
+
+Int[(a_+b_.*sin[e_.+f_.*x_]^n_)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff/f*Subst[Int[(b*ff^n*x^n+a*(1+ff^2*x^2)^(n/2))^p/(1+ff^2*x^2)^(n*p/2+1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f},x] && IntegerQ[n/2] && IGtQ[p,0]
+
+
+Int[(a_+b_.*(c_.*sin[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ Int[ExpandTrig[(a+b*(c*sin[e+f*x])^n)^p,x],x] /;
+FreeQ[{a,b,c,e,f,n},x] && (IGtQ[p,0] || EqQ[p,-1] && IntegerQ[n])
+
+
+Int[(a_+b_.*(c_.*sin[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ Defer[Int][(a+b*(c*Sin[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,e,f,n,p},x]
+
+
+Int[sin[e_.+f_.*x_]^m_.*(a_+b_.*sin[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Cos[e+f*x],x]},
+ -ff/f*Subst[Int[(1-ff^2*x^2)^((m-1)/2)*ExpandToSum[a+b*(1-ff^2*x^2)^(n/2),x]^p,x],x,Cos[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,p},x] && IntegerQ[(m-1)/2] && (EqQ[n,2] || EqQ[n,4])
+
+
+Int[sin[e_.+f_.*x_]^m_.*(a_+b_.*sin[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Cos[e+f*x],x]},
+ -ff/f*Subst[Int[(1-ff^2*x^2)^((m-1)/2)*(a+b*(1-ff^2*x^2)^(n/2))^p,x],x,Cos[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,p},x] && IntegerQ[(m-1)/2] && IntegerQ[n/2]
+
+
+Int[sin[e_.+f_.*x_]^m_*(a_+b_.*sin[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff^(m+1)/f*Subst[Int[x^m*ExpandToSum[a*(1+ff^2*x^2)^(n/2)+b*ff^n*x^n,x]^p/(1+ff^2*x^2)^(m/2+n*p/2+1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f},x] && IntegerQ[m/2] && (EqQ[n,2] || EqQ[n,4]) && IntegerQ[p]
+
+
+Int[sin[e_.+f_.*x_]^m_*(a_+b_.*sin[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff^(m+1)/f*Subst[Int[x^m*(a*(1+ff^2*x^2)^(n/2)+b*ff^n*x^n)^p/(1+ff^2*x^2)^(m/2+n*p/2+1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f},x] && IntegerQ[m/2] && IntegerQ[n/2] && IntegerQ[p]
+
+
+Int[sin[e_.+f_.*x_]^m_*(a_+b_.*sin[e_.+f_.*x_]^n_)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff^(m+1)*(a+b*Sin[e+f*x]^n)^p*(Sec[e+f*x]^2)^(n*p/2)/(f*Apart[a*(1+Tan[e+f*x]^2)^(n/2)+b*Tan[e+f*x]^n]^p)*
+ Subst[Int[x^m*ExpandToSum[a*(1+ff^2*x^2)^(n/2)+b*ff^n*x^n,x]^p/(1+ff^2*x^2)^(m/2+n*p/2+1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,p},x] && IntegerQ[m/2] && (EqQ[n,2] || EqQ[n,4] && IntegerQ[p-1/2])
+
+
+Int[sin[e_.+f_.*x_]^m_.*(a_+b_.*sin[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ Int[ExpandTrig[sin[e+f*x]^m*(a+b*sin[e+f*x]^n)^p,x],x] /;
+FreeQ[{a,b,e,f},x] && IntegersQ[m,p] && (EqQ[n,2] || EqQ[n,4] || p>0 || p==-1 && IntegerQ[n])
+
+
+Int[(d_.*sin[e_.+f_.*x_])^m_.*(a_+b_.*(c_.*sin[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ Int[ExpandTrig[(d*sin[e+f*x])^m*(a+b*(c*sin[e+f*x])^n)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && IGtQ[p,0]
+
+
+Int[(d_.*sin[e_.+f_.*x_])^m_.*(a_+b_.*(c_.*sin[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ Defer[Int][(d*Sin[e+f*x])^m*(a+b*(c*Sin[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x]
+
+
+Int[cos[e_.+f_.*x_]^m_.*(a_+b_.*(c_.*sin[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Sin[e+f*x],x]},
+ ff/f*Subst[Int[(1-ff^2*x^2)^((m-1)/2)*(a+b*(c*ff*x)^n)^p,x],x,Sin[e+f*x]/ff]] /;
+FreeQ[{a,b,c,e,f,n,p},x] && IntegerQ[(m-1)/2] && (EqQ[n,2] || EqQ[n,4] || m>0 || IGtQ[p,0] || IntegersQ[m,p])
+
+
+Int[cos[e_.+f_.*x_]^m_*(a_+b_.*sin[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff/f*Subst[Int[ExpandToSum[b*ff^n*x^n+a*(1+ff^2*x^2)^(n/2),x]^p/(1+ff^2*x^2)^(m/2+n*(p/2)+1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f},x] && IntegerQ[m/2] && (EqQ[n,2] || EqQ[n,4]) && IntegerQ[p]
+
+
+Int[cos[e_.+f_.*x_]^m_*(a_+b_.*sin[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff/f*Subst[Int[(b*ff^n*x^n+a*(1+ff^2*x^2)^(n/2))^p/(1+ff^2*x^2)^(m/2+n*(p/2)+1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f},x] && IntegerQ[m/2] && IntegerQ[n/2] && IntegerQ[p]
+
+
+Int[cos[e_.+f_.*x_]^m_*(a_+b_.*sin[e_.+f_.*x_]^2)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff*(a+b*Sin[e+f*x]^2)^p*(Sec[e+f*x]^2)^p/(f*(a+(a+b)*Tan[e+f*x]^2)^p)*
+ Subst[Int[(a+(a+b)*ff^2*x^2)^p/(1+ff^2*x^2)^(m/2+p+1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,p},x] && IntegerQ[m/2] && Not[IntegerQ[p]]
+
+
+Int[cos[e_.+f_.*x_]^m_/(a_+b_.*sin[e_.+f_.*x_]^n_),x_Symbol] :=
+ Int[Expand[(1-Sin[e+f*x]^2)^(m/2)/(a+b*Sin[e+f*x]^n),x],x] /;
+FreeQ[{a,b,e,f},x] && IGtQ[m/2,0] && IntegerQ[(n-1)/2]
+
+
+(* Int[cos[e_.+f_.*x_]^m_*(a_+b_.*sin[e_.+f_.*x_]^n_)^p_,x_Symbol] :=
+ Int[ExpandTrig[(1-sin[e+f*x]^2)^(m/2)*(a+b*sin[e+f*x]^n)^p,x],x] /;
+FreeQ[{a,b,e,f},x] && IntegerQ[m/2] && IntegerQ[(n-1)/2] && IntegerQ[p] && m<0 && p<-1 *)
+
+
+Int[(d_.*cos[e_.+f_.*x_])^m_.*(a_+b_.*(c_.*sin[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ Int[ExpandTrig[(d*cos[e+f*x])^m*(a+b*(c*sin[e+f*x])^n)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && IGtQ[p,0]
+
+
+Int[(d_.*cos[e_.+f_.*x_])^m_.*(a_+b_.*(c_.*sin[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ Defer[Int][(d*Cos[e+f*x])^m*(a+b*(c*Sin[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x]
+
+
+Int[tan[e_.+f_.*x_]^m_.*(a_+b_.*sin[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Sin[e+f*x]^2,x]},
+ ff^((m+1)/2)/(2*f)*Subst[Int[x^((m-1)/2)*(a+b*ff^(n/2)*x^(n/2))^p/(1-ff*x)^((m+1)/2),x],x,Sin[e+f*x]^2/ff]] /;
+FreeQ[{a,b,e,f,p},x] && IntegerQ[(m-1)/2] && IntegerQ[n/2]
+
+
+Int[tan[e_.+f_.*x_]^m_.*(a_+b_.*(c_.*sin[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Sin[e+f*x],x]},
+ ff^(m+1)/f*Subst[Int[x^m*(a+b*(c*ff*x)^n)^p/(1-ff^2*x^2)^((m+1)/2),x],x,Sin[e+f*x]/ff]] /;
+FreeQ[{a,b,c,e,f,n,p},x] && ILtQ[(m-1)/2,0]
+
+
+Int[(d_.*tan[e_.+f_.*x_])^m_*(a_+b_.*sin[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff/f*Subst[Int[(d*ff*x)^m*ExpandToSum[a*(1+ff^2*x^2)^(n/2)+b*ff^n*x^n,x]^p/(1+ff^2*x^2)^(n*p/2+1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,d,e,f,m},x] && (EqQ[n,2] || EqQ[n,4]) && IntegerQ[p]
+
+
+Int[(d_.*tan[e_.+f_.*x_])^m_*(a_+b_.*sin[e_.+f_.*x_]^n_)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff*(a+b*Sin[e+f*x]^n)^p*(Sec[e+f*x]^2)^(n*p/2)/(f*Apart[a*(1+Tan[e+f*x]^2)^(n/2)+b*Tan[e+f*x]^n]^p)*
+ Subst[Int[(d*ff*x)^m*ExpandToSum[a*(1+ff^2*x^2)^(n/2)+b*ff^n*x^n,x]^p/(1+ff^2*x^2)^(n*p/2+1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,d,e,f,m},x] && (EqQ[n,2] || EqQ[n,4] && IntegerQ[p-1/2]) && Not[IntegerQ[p]]
+
+
+Int[(d_.*tan[e_.+f_.*x_])^m_*(a_+b_.*sin[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff^(m+1)/f*Subst[Int[(d*x)^m*(b*ff^n*x^n+a*(1+ff^2*x^2)^(n/2))^p/(1+ff^2*x^2)^(n*p/2+1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,d,e,f,m},x] && IntegerQ[n/2] && IGtQ[p,0]
+
+
+Int[(d_.*tan[e_.+f_.*x_])^m_.*(a_+b_.*(c_.*sin[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ Int[ExpandTrig[(d*tan[e+f*x])^m*(a+b*(c*sin[e+f*x])^n)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && IGtQ[p,0]
+
+
+Int[(d_.*tan[e_.+f_.*x_])^m_.*(a_+b_.*(c_.*sin[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ Defer[Int][(d*Tan[e+f*x])^m*(a+b*(c*Sin[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x]
+
+
+Int[(d_.*cot[e_.+f_.*x_])^m_*(a_+b_.*(c_.*sin[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ (d*Cot[e+f*x])^FracPart[m]*(Tan[e+f*x]/d)^FracPart[m]*Int[(Tan[e+f*x]/d)^(-m)*(a+b*(c*Sin[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[IntegerQ[m]]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_*(a_+b_.*(c_.*sin[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ (d*Sec[e+f*x])^FracPart[m]*(Cos[e+f*x]/d)^FracPart[m]*Int[(Cos[e+f*x]/d)^(-m)*(a+b*(c*Sin[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[IntegerQ[m]]
+
+
+Int[(d_.*csc[e_.+f_.*x_])^m_*(a_+b_.*sin[e_.+f_.*x_]^n_.)^p_.,x_Symbol] :=
+ d^(n*p)*Int[(d*Csc[e+f*x])^(m-n*p)*(b+a*Csc[e+f*x]^n)^p,x] /;
+FreeQ[{a,b,d,e,f,m,n,p},x] && Not[IntegerQ[m]] && IntegersQ[n,p]
+
+
+Int[(d_.*csc[e_.+f_.*x_])^m_*(a_+b_.*(c_.*sin[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ (d*Csc[e+f*x])^FracPart[m]*(Sin[e+f*x]/d)^FracPart[m]*Int[(Sin[e+f*x]/d)^(-m)*(a+b*(c*Sin[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[IntegerQ[m]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.1.8 trig^m (a+b cos^p+c sin^q)^n*)
+
+
+Int[sin[d_.+e_.*x_]^m_*(a_+b_.*cos[d_.+e_.*x_]^p_+c_.*sin[d_.+e_.*x_]^q_)^n_,x_Symbol] :=
+ Module[{f=FreeFactors[Cot[d+e*x],x]},
+ -f/e*Subst[Int[ExpandToSum[c+b*(1+f^2*x^2)^(q/2-p/2)+a*(1+f^2*x^2)^(q/2),x]^n/(1+f^2*x^2)^(m/2+n*q/2+1),x],x,Cot[d+e*x]/f]] /;
+FreeQ[{a,b,c,d,e},x] && EvenQ[m] && EvenQ[p] && EvenQ[q] && IntegerQ[n] && 00
+
+
+Int[(c_.+d_.*x_)^m_*sin[e_.+f_.*x_],x_Symbol] :=
+ (c+d*x)^(m+1)*Sin[e+f*x]/(d*(m+1)) -
+ f/(d*(m+1))*Int[(c+d*x)^(m+1)*Cos[e+f*x],x] /;
+FreeQ[{c,d,e,f},x] && RationalQ[m] && m<-1
+
+
+Int[sin[e_.+f_.*Complex[0,fz_]*x_]/(c_.+d_.*x_),x_Symbol] :=
+ I*SinhIntegral[c*f*fz/d+f*fz*x]/d /;
+FreeQ[{c,d,e,f,fz},x] && EqQ[d*e-c*f*fz*I]
+
+
+Int[sin[e_.+f_.*x_]/(c_.+d_.*x_),x_Symbol] :=
+ SinIntegral[e+f*x]/d /;
+FreeQ[{c,d,e,f},x] && EqQ[d*e-c*f]
+
+
+Int[sin[e_.+f_.*Complex[0,fz_]*x_]/(c_.+d_.*x_),x_Symbol] :=
+ CoshIntegral[-c*f*fz/d-f*fz*x]/d /;
+FreeQ[{c,d,e,f,fz},x] && EqQ[d*(e-Pi/2)-c*f*fz*I] && NegQ[c*f*fz/d]
+
+
+Int[sin[e_.+f_.*Complex[0,fz_]*x_]/(c_.+d_.*x_),x_Symbol] :=
+ CoshIntegral[c*f*fz/d+f*fz*x]/d /;
+FreeQ[{c,d,e,f,fz},x] && EqQ[d*(e-Pi/2)-c*f*fz*I]
+
+
+Int[sin[e_.+f_.*x_]/(c_.+d_.*x_),x_Symbol] :=
+ CosIntegral[e-Pi/2+f*x]/d /;
+FreeQ[{c,d,e,f},x] && EqQ[d*(e-Pi/2)-c*f]
+
+
+Int[sin[e_.+f_.*x_]/(c_.+d_.*x_),x_Symbol] :=
+ Cos[(d*e-c*f)/d]*Int[Sin[c*f/d+f*x]/(c+d*x),x] +
+ Sin[(d*e-c*f)/d]*Int[Cos[c*f/d+f*x]/(c+d*x),x] /;
+FreeQ[{c,d,e,f},x] && NeQ[d*e-c*f]
+
+
+Int[sin[e_.+Pi/2+f_.*x_]/Sqrt[c_.+d_.*x_],x_Symbol] :=
+ 2/d*Subst[Int[Cos[f*x^2/d],x],x,Sqrt[c+d*x]] /;
+FreeQ[{c,d,e,f},x] && ComplexFreeQ[f] && EqQ[d*e-c*f]
+
+
+Int[sin[e_.+f_.*x_]/Sqrt[c_.+d_.*x_],x_Symbol] :=
+ 2/d*Subst[Int[Sin[f*x^2/d],x],x,Sqrt[c+d*x]] /;
+FreeQ[{c,d,e,f},x] && ComplexFreeQ[f] && EqQ[d*e-c*f]
+
+
+Int[sin[e_.+f_.*x_]/Sqrt[c_.+d_.*x_],x_Symbol] :=
+ Cos[(d*e-c*f)/d]*Int[Sin[c*f/d+f*x]/Sqrt[c+d*x],x] +
+ Sin[(d*e-c*f)/d]*Int[Cos[c*f/d+f*x]/Sqrt[c+d*x],x] /;
+FreeQ[{c,d,e,f},x] && ComplexFreeQ[f] && NeQ[d*e-c*f]
+
+
+Int[(c_.+d_.*x_)^m_.*sin[e_.+k_.*Pi+f_.*x_],x_Symbol] :=
+ I/2*Int[(c+d*x)^m*E^(-I*k*Pi)*E^(-I*(e+f*x)),x] - I/2*Int[(c+d*x)^m*E^(I*k*Pi)*E^(I*(e+f*x)),x] /;
+FreeQ[{c,d,e,f,m},x] && IntegerQ[2*k]
+
+
+Int[(c_.+d_.*x_)^m_.*sin[e_.+f_.*x_],x_Symbol] :=
+ I/2*Int[(c+d*x)^m*E^(-I*(e+f*x)),x] - I/2*Int[(c+d*x)^m*E^(I*(e+f*x)),x] /;
+FreeQ[{c,d,e,f,m},x]
+
+
+Int[(c_.+d_.*x_)*(b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ d*(b*Sin[e+f*x])^n/(f^2*n^2) -
+ b*(c+d*x)*Cos[e+f*x]*(b*Sin[e+f*x])^(n-1)/(f*n) +
+ b^2*(n-1)/n*Int[(c+d*x)*(b*Sin[e+f*x])^(n-2),x] /;
+FreeQ[{b,c,d,e,f},x] && RationalQ[n] && n>1
+
+
+Int[(c_.+d_.*x_)^m_*(b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ d*m*(c+d*x)^(m-1)*(b*Sin[e+f*x])^n/(f^2*n^2) -
+ b*(c+d*x)^m*Cos[e+f*x]*(b*Sin[e+f*x])^(n-1)/(f*n) +
+ b^2*(n-1)/n*Int[(c+d*x)^m*(b*Sin[e+f*x])^(n-2),x] -
+ d^2*m*(m-1)/(f^2*n^2)*Int[(c+d*x)^(m-2)*(b*Sin[e+f*x])^n,x] /;
+FreeQ[{b,c,d,e,f},x] && RationalQ[m,n] && n>1 && m>1
+
+
+Int[(c_.+d_.*x_)^m_*sin[e_.+f_.*x_]^n_,x_Symbol] :=
+ Int[ExpandTrigReduce[(c+d*x)^m,Sin[e+f*x]^n,x],x] /;
+FreeQ[{c,d,e,f,m},x] && IntegerQ[n] && n>1 && (Not[RationalQ[m]] || -1<=m<1)
+
+
+Int[(c_.+d_.*x_)^m_*sin[e_.+f_.*x_]^n_,x_Symbol] :=
+ (c+d*x)^(m+1)*Sin[e+f*x]^n/(d*(m+1)) -
+ f*n/(d*(m+1))*Int[ExpandTrigReduce[(c+d*x)^(m+1),Cos[e+f*x]*Sin[e+f*x]^(n-1),x],x] /;
+FreeQ[{c,d,e,f,m},x] && IntegerQ[n] && n>1 && RationalQ[m] && -2<=m<-1
+
+
+Int[(c_.+d_.*x_)^m_*(b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ (c+d*x)^(m+1)*(b*Sin[e+f*x])^n/(d*(m+1)) -
+ b*f*n*(c+d*x)^(m+2)*Cos[e+f*x]*(b*Sin[e+f*x])^(n-1)/(d^2*(m+1)*(m+2)) -
+ f^2*n^2/(d^2*(m+1)*(m+2))*Int[(c+d*x)^(m+2)*(b*Sin[e+f*x])^n,x] +
+ b^2*f^2*n*(n-1)/(d^2*(m+1)*(m+2))*Int[(c+d*x)^(m+2)*(b*Sin[e+f*x])^(n-2),x] /;
+FreeQ[{b,c,d,e,f},x] && RationalQ[m,n] && n>1 && m<-2
+
+
+Int[(c_.+d_.*x_)*(b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ (c+d*x)*Cos[e+f*x]*(b*Sin[e+f*x])^(n+1)/(b*f*(n+1)) -
+ d*(b*Sin[e+f*x])^(n+2)/(b^2*f^2*(n+1)*(n+2)) +
+ (n+2)/(b^2*(n+1))*Int[(c+d*x)*(b*Sin[e+f*x])^(n+2),x] /;
+FreeQ[{b,c,d,e,f},x] && RationalQ[n] && n<-1 && n!=-2
+
+
+Int[(c_.+d_.*x_)^m_.*(b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ (c+d*x)^m*Cos[e+f*x]*(b*Sin[e+f*x])^(n+1)/(b*f*(n+1)) -
+ d*m*(c+d*x)^(m-1)*(b*Sin[e+f*x])^(n+2)/(b^2*f^2*(n+1)*(n+2)) +
+ (n+2)/(b^2*(n+1))*Int[(c+d*x)^m*(b*Sin[e+f*x])^(n+2),x] +
+ d^2*m*(m-1)/(b^2*f^2*(n+1)*(n+2))*Int[(c+d*x)^(m-2)*(b*Sin[e+f*x])^(n+2),x] /;
+FreeQ[{b,c,d,e,f},x] && RationalQ[m,n] && n<-1 && n!=-2 && m>1
+
+
+Int[(c_.+d_.*x_)^m_.*(a_+b_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(c+d*x)^m,(a+b*Sin[e+f*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && PositiveIntegerQ[n] && (n==1 || PositiveIntegerQ[m] || NeQ[a^2-b^2])
+
+
+Int[(c_.+d_.*x_)^m_.*(a_+b_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ (2*a)^n*Int[(c+d*x)^m*Sin[1/2*(e+Pi*a/(2*b))+f*x/2]^(2*n),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[a^2-b^2] && IntegerQ[n] && (n>0 || PositiveIntegerQ[m])
+
+
+Int[(c_.+d_.*x_)^m_.*(a_+b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ (2*a)^IntPart[n]*(a+b*Sin[e+f*x])^FracPart[n]/Sin[e/2+a*Pi/(4*b)+f*x/2]^(2*FracPart[n])*
+ Int[(c+d*x)^m*Sin[e/2+a*Pi/(4*b)+f*x/2]^(2*n),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[a^2-b^2] && IntegerQ[n+1/2] && (n>0 || PositiveIntegerQ[m])
+
+
+(* Int[(c_.+d_.*x_)^m_.*(a_+b_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ (2*a)^n*Int[(c+d*x)^m*Cos[1/2*(e-Pi*a/(2*b))+f*x/2]^(2*n),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[a^2-b^2] && IntegerQ[n] && (n>0 || PositiveIntegerQ[m]) *)
+
+
+(* Int[(c_.+d_.*x_)^m_.*(a_+b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ (2*a)^IntPart[n]*(a+b*Sin[e+f*x])^FracPart[n]/Cos[1/2*(e-Pi*a/(2*b))+f*x/2]^(2*FracPart[n])*
+ Int[(c+d*x)^m*Cos[1/2*(e-Pi*a/(2*b))+f*x/2]^(2*n),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[a^2-b^2] && IntegerQ[n+1/2] && (n>0 || PositiveIntegerQ[m]) *)
+
+
+Int[(c_.+d_.*x_)^m_./(a_+b_.*sin[e_.+k_.*Pi+f_.*Complex[0,fz_]*x_]),x_Symbol] :=
+ 2*Int[(c+d*x)^m*E^(-I*Pi*(k-1/2))*E^(-I*e+f*fz*x)/(b+2*a*E^(-I*Pi*(k-1/2))*E^(-I*e+f*fz*x)-b*E^(-2*I*k*Pi)*E^(2*(-I*e+f*fz*x))),x] /;
+FreeQ[{a,b,c,d,e,f,fz},x] && IntegerQ[2*k] && NeQ[a^2-b^2] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_./(a_+b_.*sin[e_.+k_.*Pi+f_.*x_]),x_Symbol] :=
+ 2*Int[(c+d*x)^m*E^(I*Pi*(k-1/2))*E^(I*(e+f*x))/(b+2*a*E^(I*Pi*(k-1/2))*E^(I*(e+f*x))-b*E^(2*I*k*Pi)*E^(2*I*(e+f*x))),x] /;
+FreeQ[{a,b,c,d,e,f},x] && IntegerQ[2*k] && NeQ[a^2-b^2] && PositiveIntegerQ[m]
+
+
+(* Int[(c_.+d_.*x_)^m_./(a_+b_.*sin[e_.+f_.*Complex[0,fz_]*x_]),x_Symbol] :=
+ 2*I*Int[(c+d*x)^m*E^(-I*e+f*fz*x)/(b+2*I*a*E^(-I*e+f*fz*x)-b*E^(2*(-I*e+f*fz*x))),x] /;
+FreeQ[{a,b,c,d,e,f,fz},x] && NeQ[a^2-b^2] && PositiveIntegerQ[m] *)
+
+
+(* Int[(c_.+d_.*x_)^m_./(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ -2*I*Int[(c+d*x)^m*E^(I*(e+f*x))/(b-2*I*a*E^(I*(e+f*x))-b*E^(2*I*(e+f*x))),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[a^2-b^2] && PositiveIntegerQ[m] *)
+
+
+Int[(c_.+d_.*x_)^m_./(a_+b_.*sin[e_.+f_.*Complex[0,fz_]*x_]),x_Symbol] :=
+ 2*Int[(c+d*x)^m*E^(-I*e+f*fz*x)/(-I*b+2*a*E^(-I*e+f*fz*x)+I*b*E^(2*(-I*e+f*fz*x))),x] /;
+FreeQ[{a,b,c,d,e,f,fz},x] && NeQ[a^2-b^2] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_./(a_+b_.*sin[e_.+f_.*x_]),x_Symbol] :=
+ 2*Int[(c+d*x)^m*E^(I*(e+f*x))/(I*b+2*a*E^(I*(e+f*x))-I*b*E^(2*I*(e+f*x))),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[a^2-b^2] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_./(a_+b_.*sin[e_.+f_.*x_])^2,x_Symbol] :=
+ b*(c+d*x)^m*Cos[e+f*x]/(f*(a^2-b^2)*(a+b*Sin[e+f*x])) +
+ a/(a^2-b^2)*Int[(c+d*x)^m/(a+b*Sin[e+f*x]),x] -
+ b*d*m/(f*(a^2-b^2))*Int[(c+d*x)^(m-1)*Cos[e+f*x]/(a+b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[a^2-b^2] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_+b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ -b*(c+d*x)^m*Cos[e+f*x]*(a+b*Sin[e+f*x])^(n+1)/(f*(n+1)*(a^2-b^2)) +
+ a/(a^2-b^2)*Int[(c+d*x)^m*(a+b*Sin[e+f*x])^(n+1),x] +
+ b*d*m/(f*(n+1)*(a^2-b^2))*Int[(c+d*x)^(m-1)*Cos[e+f*x]*(a+b*Sin[e+f*x])^(n+1),x] -
+ b*(n+2)/((n+1)*(a^2-b^2))*Int[(c+d*x)^m*Sin[e+f*x]*(a+b*Sin[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[a^2-b^2] && NegativeIntegerQ[n+2] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_.+b_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(c+d*x)^m*(a+b*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x]
+
+
+Int[u_^m_.*(a_.+b_.*Sin[v_])^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*(a+b*Sin[ExpandToSum[v,x]])^n,x] /;
+FreeQ[{a,b,m,n},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+Int[u_^m_.*(a_.+b_.*Cos[v_])^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*(a+b*Cos[ExpandToSum[v,x]])^n,x] /;
+FreeQ[{a,b,m,n},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.1.11 (e x)^m (a+b x^n)^p sin*)
+
+
+Int[(a_+b_.*x_^n_)^p_.*Sin[c_.+d_.*x_],x_Symbol] :=
+ Int[ExpandIntegrand[Sin[c+d*x],(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,d,n},x] && PositiveIntegerQ[p]
+
+
+Int[(a_+b_.*x_^n_)^p_.*Cos[c_.+d_.*x_],x_Symbol] :=
+ Int[ExpandIntegrand[Cos[c+d*x],(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,d,n},x] && PositiveIntegerQ[p]
+
+
+Int[(a_+b_.*x_^n_)^p_*Sin[c_.+d_.*x_],x_Symbol] :=
+ x^(-n+1)*(a+b*x^n)^(p+1)*Sin[c+d*x]/(b*n*(p+1)) -
+ (-n+1)/(b*n*(p+1))*Int[x^(-n)*(a+b*x^n)^(p+1)*Sin[c+d*x],x] -
+ d/(b*n*(p+1))*Int[x^(-n+1)*(a+b*x^n)^(p+1)*Cos[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && PositiveIntegerQ[n] && p<-1 && n>2
+
+
+Int[(a_+b_.*x_^n_)^p_*Cos[c_.+d_.*x_],x_Symbol] :=
+ x^(-n+1)*(a+b*x^n)^(p+1)*Cos[c+d*x]/(b*n*(p+1)) -
+ (-n+1)/(b*n*(p+1))*Int[x^(-n)*(a+b*x^n)^(p+1)*Cos[c+d*x],x] +
+ d/(b*n*(p+1))*Int[x^(-n+1)*(a+b*x^n)^(p+1)*Sin[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && PositiveIntegerQ[n] && p<-1 && n>2
+
+
+Int[(a_+b_.*x_^n_)^p_*Sin[c_.+d_.*x_],x_Symbol] :=
+ Int[ExpandIntegrand[Sin[c+d*x],(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,d},x] && NegativeIntegerQ[p] && PositiveIntegerQ[n] && (n==2 || p==-1)
+
+
+Int[(a_+b_.*x_^n_)^p_*Cos[c_.+d_.*x_],x_Symbol] :=
+ Int[ExpandIntegrand[Cos[c+d*x],(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,d},x] && NegativeIntegerQ[p] && PositiveIntegerQ[n] && (n==2 || p==-1)
+
+
+Int[(a_+b_.*x_^n_)^p_*Sin[c_.+d_.*x_],x_Symbol] :=
+ Int[x^(n*p)*(b+a*x^(-n))^p*Sin[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && NegativeIntegerQ[p] && NegativeIntegerQ[n]
+
+
+Int[(a_+b_.*x_^n_)^p_*Cos[c_.+d_.*x_],x_Symbol] :=
+ Int[x^(n*p)*(b+a*x^(-n))^p*Cos[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && NegativeIntegerQ[p] && NegativeIntegerQ[n]
+
+
+Int[(a_+b_.*x_^n_)^p_*Sin[c_.+d_.*x_],x_Symbol] :=
+ Defer[Int][(a+b*x^n)^p*Sin[c+d*x],x] /;
+FreeQ[{a,b,c,d,n,p},x]
+
+
+Int[(a_+b_.*x_^n_)^p_*Cos[c_.+d_.*x_],x_Symbol] :=
+ Defer[Int][(a+b*x^n)^p*Cos[c+d*x],x] /;
+FreeQ[{a,b,c,d,n,p},x]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*Sin[c_.+d_.*x_],x_Symbol] :=
+ Int[ExpandIntegrand[Sin[c+d*x],(e*x)^m*(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && PositiveIntegerQ[p]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*Cos[c_.+d_.*x_],x_Symbol] :=
+ Int[ExpandIntegrand[Cos[c+d*x],(e*x)^m*(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && PositiveIntegerQ[p]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*Sin[c_.+d_.*x_],x_Symbol] :=
+ e^m*(a+b*x^n)^(p+1)*Sin[c+d*x]/(b*n*(p+1)) -
+ d*e^m/(b*n*(p+1))*Int[(a+b*x^n)^(p+1)*Cos[c+d*x],x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && IntegerQ[p] && EqQ[m-n+1] && RationalQ[p] && p<-1 && (IntegerQ[n] || PositiveQ[e])
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*Cos[c_.+d_.*x_],x_Symbol] :=
+ e^m*(a+b*x^n)^(p+1)*Cos[c+d*x]/(b*n*(p+1)) +
+ d*e^m/(b*n*(p+1))*Int[(a+b*x^n)^(p+1)*Sin[c+d*x],x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && IntegerQ[p] && EqQ[m-n+1] && RationalQ[p] && p<-1 && (IntegerQ[n] || PositiveQ[e])
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_*Sin[c_.+d_.*x_],x_Symbol] :=
+ x^(m-n+1)*(a+b*x^n)^(p+1)*Sin[c+d*x]/(b*n*(p+1)) -
+ (m-n+1)/(b*n*(p+1))*Int[x^(m-n)*(a+b*x^n)^(p+1)*Sin[c+d*x],x] -
+ d/(b*n*(p+1))*Int[x^(m-n+1)*(a+b*x^n)^(p+1)*Cos[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && PositiveIntegerQ[n] && RationalQ[m] && p<-1 && (m-n+1>0 || n>2)
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_*Cos[c_.+d_.*x_],x_Symbol] :=
+ x^(m-n+1)*(a+b*x^n)^(p+1)*Cos[c+d*x]/(b*n*(p+1)) -
+ (m-n+1)/(b*n*(p+1))*Int[x^(m-n)*(a+b*x^n)^(p+1)*Cos[c+d*x],x] +
+ d/(b*n*(p+1))*Int[x^(m-n+1)*(a+b*x^n)^(p+1)*Sin[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && PositiveIntegerQ[n] && RationalQ[m] && p<-1 && (m-n+1>0 || n>2)
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_*Sin[c_.+d_.*x_],x_Symbol] :=
+ Int[ExpandIntegrand[Sin[c+d*x],x^m*(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,d},x] && NegativeIntegerQ[p] && IntegerQ[m] && PositiveIntegerQ[n] && (n==2 || p==-1)
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_*Cos[c_.+d_.*x_],x_Symbol] :=
+ Int[ExpandIntegrand[Cos[c+d*x],x^m*(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,d},x] && NegativeIntegerQ[p] && IntegerQ[m] && PositiveIntegerQ[n] && (n==2 || p==-1)
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_*Sin[c_.+d_.*x_],x_Symbol] :=
+ Int[x^(m+n*p)*(b+a*x^(-n))^p*Sin[c+d*x],x] /;
+FreeQ[{a,b,c,d,m},x] && NegativeIntegerQ[p] && NegativeIntegerQ[n]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_*Cos[c_.+d_.*x_],x_Symbol] :=
+ Int[x^(m+n*p)*(b+a*x^(-n))^p*Cos[c+d*x],x] /;
+FreeQ[{a,b,c,d,m},x] && NegativeIntegerQ[p] && NegativeIntegerQ[n]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*Sin[c_.+d_.*x_],x_Symbol] :=
+ Defer[Int][(e*x)^m*(a+b*x^n)^p*Sin[c+d*x],x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*Cos[c_.+d_.*x_],x_Symbol] :=
+ Defer[Int][(e*x)^m*(a+b*x^n)^p*Cos[c+d*x],x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.1.12 (e x)^m (a+b sin(c+d x^n))^p*)
+
+
+Int[Sin[d_.*x_^2],x_Symbol] :=
+ Sqrt[Pi/2]/Rt[d,2]*FresnelS[Sqrt[2/Pi]*Rt[d,2]*x] /;
+FreeQ[d,x]
+
+
+Int[Cos[d_.*x_^2],x_Symbol] :=
+ Sqrt[Pi/2]/Rt[d,2]*FresnelC[Sqrt[2/Pi]*Rt[d,2]*x] /;
+FreeQ[d,x]
+
+
+Int[Sin[c_+d_.*x_^2],x_Symbol] :=
+ Sin[c]*Int[Cos[d*x^2],x] + Cos[c]*Int[Sin[d*x^2],x] /;
+FreeQ[{c,d},x]
+
+
+Int[Cos[c_+d_.*x_^2],x_Symbol] :=
+ Cos[c]*Int[Cos[d*x^2],x] - Sin[c]*Int[Sin[d*x^2],x] /;
+FreeQ[{c,d},x]
+
+
+Int[Sin[c_.+d_.*x_^n_],x_Symbol] :=
+ I/2*Int[E^(-c*I-d*I*x^n),x] - I/2*Int[E^(c*I+d*I*x^n),x] /;
+FreeQ[{c,d},x] && IntegerQ[n] && n>2
+
+
+Int[Cos[c_.+d_.*x_^n_],x_Symbol] :=
+ 1/2*Int[E^(-c*I-d*I*x^n),x] + 1/2*Int[E^(c*I+d*I*x^n),x] /;
+FreeQ[{c,d},x] && IntegerQ[n] && n>2
+
+
+Int[(a_.+b_.*Sin[c_.+d_.*x_^n_])^p_,x_Symbol] :=
+ Int[ExpandTrigReduce[(a+b*Sin[c+d*x^n])^p,x],x] /;
+FreeQ[{a,b,c,d},x] && IntegersQ[n,p] && n>1 && p>1
+
+
+Int[(a_.+b_.*Cos[c_.+d_.*x_^n_])^p_,x_Symbol] :=
+ Int[ExpandTrigReduce[(a+b*Cos[c+d*x^n])^p,x],x] /;
+FreeQ[{a,b,c,d},x] && IntegersQ[n,p] && n>1 && p>1
+
+
+Int[(a_.+b_.*Sin[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ -Subst[Int[(a+b*Sin[c+d*x^(-n)])^p/x^2,x],x,1/x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && NegativeIntegerQ[n]
+
+
+Int[(a_.+b_.*Cos[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ -Subst[Int[(a+b*Cos[c+d*x^(-n)])^p/x^2,x],x,1/x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && NegativeIntegerQ[n]
+
+
+Int[(a_.+b_.*Sin[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Module[{k=Denominator[n]},
+ k*Subst[Int[x^(k-1)*(a+b*Sin[c+d*x^(k*n)])^p,x],x,x^(1/k)]] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && FractionQ[n]
+
+
+Int[(a_.+b_.*Cos[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Module[{k=Denominator[n]},
+ k*Subst[Int[x^(k-1)*(a+b*Cos[c+d*x^(k*n)])^p,x],x,x^(1/k)]] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && FractionQ[n]
+
+
+Int[Sin[c_.+d_.*x_^n_],x_Symbol] :=
+ I/2*Int[E^(-c*I-d*I*x^n),x] - I/2*Int[E^(c*I+d*I*x^n),x] /;
+FreeQ[{c,d,n},x]
+
+
+Int[Cos[c_.+d_.*x_^n_],x_Symbol] :=
+ 1/2*Int[E^(-c*I-d*I*x^n),x] + 1/2*Int[E^(c*I+d*I*x^n),x] /;
+FreeQ[{c,d,n},x]
+
+
+Int[(a_.+b_.*Sin[c_.+d_.*x_^n_])^p_,x_Symbol] :=
+ Int[ExpandTrigReduce[(a+b*Sin[c+d*x^n])^p,x],x] /;
+FreeQ[{a,b,c,d,n},x] && PositiveIntegerQ[p]
+
+
+Int[(a_.+b_.*Cos[c_.+d_.*x_^n_])^p_,x_Symbol] :=
+ Int[ExpandTrigReduce[(a+b*Cos[c+d*x^n])^p,x],x] /;
+FreeQ[{a,b,c,d,n},x] && PositiveIntegerQ[p]
+
+
+Int[(a_.+b_.*Sin[c_.+d_.*u_^n_])^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*Sin[c+d*x^n])^p,x],x,u] /;
+FreeQ[{a,b,c,d,n},x] && IntegerQ[p] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+b_.*Cos[c_.+d_.*u_^n_])^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*Cos[c+d*x^n])^p,x],x,u] /;
+FreeQ[{a,b,c,d,n},x] && IntegerQ[p] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+b_.*Sin[c_.+d_.*u_^n_])^p_,x_Symbol] :=
+ Defer[Int][(a+b*Sin[c+d*u^n])^p,x] /;
+FreeQ[{a,b,c,d,n,p},x] && LinearQ[u,x]
+
+
+Int[(a_.+b_.*Cos[c_.+d_.*u_^n_])^p_,x_Symbol] :=
+ Defer[Int][(a+b*Cos[c+d*u^n])^p,x] /;
+FreeQ[{a,b,c,d,n,p},x] && LinearQ[u,x]
+
+
+Int[(a_.+b_.*Sin[u_])^p_.,x_Symbol] :=
+ Int[(a+b*Sin[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[(a_.+b_.*Cos[u_])^p_.,x_Symbol] :=
+ Int[(a+b*Cos[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[Sin[d_.*x_^n_]/x_,x_Symbol] :=
+ SinIntegral[d*x^n]/n /;
+FreeQ[{d,n},x]
+
+
+Int[Cos[d_.*x_^n_]/x_,x_Symbol] :=
+ CosIntegral[d*x^n]/n /;
+FreeQ[{d,n},x]
+
+
+Int[Sin[c_+d_.*x_^n_]/x_,x_Symbol] :=
+ Sin[c]*Int[Cos[d*x^n]/x,x] + Cos[c]*Int[Sin[d*x^n]/x,x] /;
+FreeQ[{c,d,n},x]
+
+
+Int[Cos[c_+d_.*x_^n_]/x_,x_Symbol] :=
+ Cos[c]*Int[Cos[d*x^n]/x,x] - Sin[c]*Int[Sin[d*x^n]/x,x] /;
+FreeQ[{c,d,n},x]
+
+
+Int[x_^m_.*(a_.+b_.*Sin[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(a+b*Sin[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,m,n,p},x] && IntegerQ[Simplify[(m+1)/n]] && (EqQ[p,1] || EqQ[m,n-1] || IntegerQ[p] && Simplify[(m+1)/n]>0)
+
+
+Int[x_^m_.*(a_.+b_.*Cos[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(a+b*Cos[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,m,n,p},x] && IntegerQ[Simplify[(m+1)/n]] && (EqQ[p,1] || EqQ[m,n-1] || IntegerQ[p] && Simplify[(m+1)/n]>0)
+
+
+Int[(e_*x_)^m_*(a_.+b_.*Sin[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ e^IntPart[m]*(e*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*Sin[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(e_*x_)^m_*(a_.+b_.*Cos[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ e^IntPart[m]*(e*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*Cos[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[x_^m_.*Sin[a_.+b_.*x_^n_],x_Symbol] :=
+ 2/n*Subst[Int[Sin[a+b*x^2],x],x,x^(n/2)] /;
+FreeQ[{a,b,m,n},x] && EqQ[m-(n/2-1)]
+
+
+Int[x_^m_.*Cos[a_.+b_.*x_^n_],x_Symbol] :=
+ 2/n*Subst[Int[Cos[a+b*x^2],x],x,x^(n/2)] /;
+FreeQ[{a,b,m,n},x] && EqQ[m-(n/2-1)]
+
+
+Int[(e_.*x_)^m_.*Sin[c_.+d_.*x_^n_],x_Symbol] :=
+ -e^(n-1)*(e*x)^(m-n+1)*Cos[c+d*x^n]/(d*n) +
+ e^n*(m-n+1)/(d*n)*Int[(e*x)^(m-n)*Cos[c+d*x^n],x] /;
+FreeQ[{c,d,e},x] && PositiveIntegerQ[n] && RationalQ[m] && 01 && NeQ[n-1]
+
+
+Int[x_^m_.*Cos[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ -Cos[a+b*x^n]^p/((n-1)*x^(n-1)) -
+ b*n*p/(n-1)*Int[Cos[a+b*x^n]^(p-1)*Sin[a+b*x^n],x] /;
+FreeQ[{a,b},x] && IntegersQ[n,p] && EqQ[m+n] && p>1 && NeQ[n-1]
+
+
+Int[x_^m_.*Sin[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ n*Sin[a+b*x^n]^p/(b^2*n^2*p^2) -
+ x^n*Cos[a+b*x^n]*Sin[a+b*x^n]^(p-1)/(b*n*p) +
+ (p-1)/p*Int[x^m*Sin[a+b*x^n]^(p-2),x] /;
+FreeQ[{a,b,m,n},x] && EqQ[m-2*n+1] && RationalQ[p] && p>1
+
+
+Int[x_^m_.*Cos[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ n*Cos[a+b*x^n]^p/(b^2*n^2*p^2) +
+ x^n*Sin[a+b*x^n]*Cos[a+b*x^n]^(p-1)/(b*n*p) +
+ (p-1)/p*Int[x^m*Cos[a+b*x^n]^(p-2),x] /;
+FreeQ[{a,b,m,n},x] && EqQ[m-2*n+1] && RationalQ[p] && p>1
+
+
+Int[x_^m_.*Sin[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ (m-n+1)*x^(m-2*n+1)*Sin[a+b*x^n]^p/(b^2*n^2*p^2) -
+ x^(m-n+1)*Cos[a+b*x^n]*Sin[a+b*x^n]^(p-1)/(b*n*p) +
+ (p-1)/p*Int[x^m*Sin[a+b*x^n]^(p-2),x] -
+ (m-n+1)*(m-2*n+1)/(b^2*n^2*p^2)*Int[x^(m-2*n)*Sin[a+b*x^n]^p,x] /;
+FreeQ[{a,b},x] && IntegersQ[m,n] && RationalQ[p] && p>1 && 0<2*n1 && 0<2*n1 && 0<2*n<1-m && NeQ[m+n+1]
+
+
+Int[x_^m_.*Cos[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ x^(m+1)*Cos[a+b*x^n]^p/(m+1) +
+ b*n*p*x^(m+n+1)*Sin[a+b*x^n]*Cos[a+b*x^n]^(p-1)/((m+1)*(m+n+1)) -
+ b^2*n^2*p^2/((m+1)*(m+n+1))*Int[x^(m+2*n)*Cos[a+b*x^n]^p,x] +
+ b^2*n^2*p*(p-1)/((m+1)*(m+n+1))*Int[x^(m+2*n)*Cos[a+b*x^n]^(p-2),x] /;
+FreeQ[{a,b},x] && IntegersQ[m,n] && RationalQ[p] && p>1 && 0<2*n<1-m && NeQ[m+n+1]
+
+
+Int[(e_.*x_)^m_*(a_.+b_.*Sin[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ With[{k=Denominator[m]},
+ k/e*Subst[Int[x^(k*(m+1)-1)*(a+b*Sin[c+d*x^(k*n)/e^n])^p,x],x,(e*x)^(1/k)]] /;
+FreeQ[{a,b,c,d,e},x] && IntegerQ[p] && PositiveIntegerQ[n] && FractionQ[m]
+
+
+Int[(e_.*x_)^m_*(a_.+b_.*Cos[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ With[{k=Denominator[m]},
+ k/e*Subst[Int[x^(k*(m+1)-1)*(a+b*Cos[c+d*x^(k*n)/e^n])^p,x],x,(e*x)^(1/k)]] /;
+FreeQ[{a,b,c,d,e},x] && IntegerQ[p] && PositiveIntegerQ[n] && FractionQ[m]
+
+
+Int[(e_.*x_)^m_.*(a_.+b_.*Sin[c_.+d_.*x_^n_])^p_,x_Symbol] :=
+ Int[ExpandTrigReduce[(e*x)^m,(a+b*Sin[c+d*x^n])^p,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && IntegerQ[p] && PositiveIntegerQ[n] && p>1
+
+
+Int[(e_.*x_)^m_.*(a_.+b_.*Cos[c_.+d_.*x_^n_])^p_,x_Symbol] :=
+ Int[ExpandTrigReduce[(e*x)^m,(a+b*Cos[c+d*x^n])^p,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && IntegerQ[p] && PositiveIntegerQ[n] && p>1
+
+
+Int[x_^m_.*Sin[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ x^n*Cos[a+b*x^n]*Sin[a+b*x^n]^(p+1)/(b*n*(p+1)) -
+ n*Sin[a+b*x^n]^(p+2)/(b^2*n^2*(p+1)*(p+2)) +
+ (p+2)/(p+1)*Int[x^m*Sin[a+b*x^n]^(p+2),x] /;
+FreeQ[{a,b,m,n},x] && EqQ[m-2*n+1] && RationalQ[p] && p<-1 && p!=-2
+
+
+Int[x_^m_.*Cos[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ -x^n*Sin[a+b*x^n]*Cos[a+b*x^n]^(p+1)/(b*n*(p+1)) -
+ n*Cos[a+b*x^n]^(p+2)/(b^2*n^2*(p+1)*(p+2)) +
+ (p+2)/(p+1)*Int[x^m*Cos[a+b*x^n]^(p+2),x] /;
+FreeQ[{a,b,m,n},x] && EqQ[m-2*n+1] && RationalQ[p] && p<-1 && p!=-2
+
+
+Int[x_^m_.*Sin[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ x^(m-n+1)*Cos[a+b*x^n]*Sin[a+b*x^n]^(p+1)/(b*n*(p+1)) -
+ (m-n+1)*x^(m-2*n+1)*Sin[a+b*x^n]^(p+2)/(b^2*n^2*(p+1)*(p+2)) +
+ (p+2)/(p+1)*Int[x^m*Sin[a+b*x^n]^(p+2),x] +
+ (m-n+1)*(m-2*n+1)/(b^2*n^2*(p+1)*(p+2))*Int[x^(m-2*n)*Sin[a+b*x^n]^(p+2),x] /;
+FreeQ[{a,b},x] && IntegersQ[m,n] && RationalQ[p] && p<-1 && p!=-2 && 0<2*n1
+
+
+Int[Cos[a_.+b_.*x_+c_.*x_^2]^n_,x_Symbol] :=
+ Int[ExpandTrigReduce[Cos[a+b*x+c*x^2]^n,x],x] /;
+FreeQ[{a,b,c},x] && IntegerQ[n] && n>1
+
+
+Int[Sin[a_.+b_.*x_+c_.*x_^2]^n_.,x_Symbol] :=
+ Defer[Int][Sin[a+b*x+c*x^2]^n,x] /;
+FreeQ[{a,b,c,n},x]
+
+
+Int[Cos[a_.+b_.*x_+c_.*x_^2]^n_.,x_Symbol] :=
+ Defer[Int][Cos[a+b*x+c*x^2]^n,x] /;
+FreeQ[{a,b,c,n},x]
+
+
+Int[Sin[v_]^n_.,x_Symbol] :=
+ Int[Sin[ExpandToSum[v,x]]^n,x] /;
+PositiveIntegerQ[n] && QuadraticQ[v,x] && Not[QuadraticMatchQ[v,x]]
+
+
+Int[Cos[v_]^n_.,x_Symbol] :=
+ Int[Cos[ExpandToSum[v,x]]^n,x] /;
+PositiveIntegerQ[n] && QuadraticQ[v,x] && Not[QuadraticMatchQ[v,x]]
+
+
+Int[(d_+e_.*x_)*Sin[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ -e*Cos[a+b*x+c*x^2]/(2*c) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[2*c*d-b*e,0]
+
+
+Int[(d_+e_.*x_)*Cos[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ e*Sin[a+b*x+c*x^2]/(2*c) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[2*c*d-b*e,0]
+
+
+Int[(d_.+e_.*x_)^m_*Sin[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ -e*(d+e*x)^(m-1)*Cos[a+b*x+c*x^2]/(2*c) +
+ e^2*(m-1)/(2*c)*Int[(d+e*x)^(m-2)*Cos[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[2*c*d-b*e,0] && GtQ[m,1]
+
+
+Int[(d_.+e_.*x_)^m_*Cos[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ e*(d+e*x)^(m-1)*Sin[a+b*x+c*x^2]/(2*c) -
+ e^2*(m-1)/(2*c)*Int[(d+e*x)^(m-2)*Sin[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[2*c*d-b*e,0] && GtQ[m,1]
+
+
+Int[(d_.+e_.*x_)^m_*Sin[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ (d+e*x)^(m+1)*Sin[a+b*x+c*x^2]/(e*(m+1)) -
+ 2*c/(e^2*(m+1))*Int[(d+e*x)^(m+2)*Cos[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[2*c*d-b*e,0] && LtQ[m,-1]
+
+
+Int[(d_.+e_.*x_)^m_*Cos[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ (d+e*x)^(m+1)*Cos[a+b*x+c*x^2]/(e*(m+1)) +
+ 2*c/(e^2*(m+1))*Int[(d+e*x)^(m+2)*Sin[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[2*c*d-b*e,0] && LtQ[m,-1]
+
+
+Int[(d_.+e_.*x_)*Sin[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ -e*Cos[a+b*x+c*x^2]/(2*c) +
+ (2*c*d-b*e)/(2*c)*Int[Sin[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[2*c*d-b*e,0]
+
+
+Int[(d_.+e_.*x_)*Cos[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ e*Sin[a+b*x+c*x^2]/(2*c) +
+ (2*c*d-b*e)/(2*c)*Int[Cos[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[2*c*d-b*e,0]
+
+
+Int[(d_.+e_.*x_)^m_*Sin[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ -e*(d+e*x)^(m-1)*Cos[a+b*x+c*x^2]/(2*c) -
+ (b*e-2*c*d)/(2*c)*Int[(d+e*x)^(m-1)*Sin[a+b*x+c*x^2],x] +
+ e^2*(m-1)/(2*c)*Int[(d+e*x)^(m-2)*Cos[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b*e-2*c*d,0] && GtQ[m,1]
+
+
+Int[(d_.+e_.*x_)^m_*Cos[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ e*(d+e*x)^(m-1)*Sin[a+b*x+c*x^2]/(2*c) -
+ (b*e-2*c*d)/(2*c)*Int[(d+e*x)^(m-1)*Cos[a+b*x+c*x^2],x] -
+ e^2*(m-1)/(2*c)*Int[(d+e*x)^(m-2)*Sin[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b*e-2*c*d,0] && GtQ[m,1]
+
+
+Int[(d_.+e_.*x_)^m_*Sin[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ (d+e*x)^(m+1)*Sin[a+b*x+c*x^2]/(e*(m+1)) -
+ (b*e-2*c*d)/(e^2*(m+1))*Int[(d+e*x)^(m+1)*Cos[a+b*x+c*x^2],x] -
+ 2*c/(e^2*(m+1))*Int[(d+e*x)^(m+2)*Cos[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b*e-2*c*d,0] && LtQ[m,-1]
+
+
+Int[(d_.+e_.*x_)^m_*Cos[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ (d+e*x)^(m+1)*Cos[a+b*x+c*x^2]/(e*(m+1)) +
+ (b*e-2*c*d)/(e^2*(m+1))*Int[(d+e*x)^(m+1)*Sin[a+b*x+c*x^2],x] +
+ 2*c/(e^2*(m+1))*Int[(d+e*x)^(m+2)*Sin[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b*e-2*c*d,0] && LtQ[m,-1]
+
+
+Int[(d_.+e_.*x_)^m_.*Sin[a_.+b_.*x_+c_.*x_^2]^n_,x_Symbol] :=
+ Int[ExpandTrigReduce[(d+e*x)^m,Sin[a+b*x+c*x^2]^n,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && IGtQ[n,1]
+
+
+Int[(d_.+e_.*x_)^m_.*Cos[a_.+b_.*x_+c_.*x_^2]^n_,x_Symbol] :=
+ Int[ExpandTrigReduce[(d+e*x)^m,Cos[a+b*x+c*x^2]^n,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && IGtQ[n,1]
+
+
+Int[(d_.+e_.*x_)^m_.*Sin[a_.+b_.*x_+c_.*x_^2]^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x)^m*Sin[a+b*x+c*x^2]^n,x] /;
+FreeQ[{a,b,c,d,e,m,n},x]
+
+
+Int[(d_.+e_.*x_)^m_.*Cos[a_.+b_.*x_+c_.*x_^2]^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x)^m*Cos[a+b*x+c*x^2]^n,x] /;
+FreeQ[{a,b,c,d,e,m,n},x]
+
+
+Int[u_^m_.*Sin[v_]^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*Sin[ExpandToSum[v,x]]^n,x] /;
+FreeQ[m,x] && PositiveIntegerQ[n] && LinearQ[u,x] && QuadraticQ[v,x] && Not[LinearMatchQ[u,x] && QuadraticMatchQ[v,x]]
+
+
+Int[u_^m_.*Cos[v_]^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*Cos[ExpandToSum[v,x]]^n,x] /;
+FreeQ[m,x] && PositiveIntegerQ[n] && LinearQ[u,x] && QuadraticQ[v,x] && Not[LinearMatchQ[u,x] && QuadraticMatchQ[v,x]]
+
+
+
+`)
+
+func resourcesRubi41SineMBytes() ([]byte, error) {
+ return _resourcesRubi41SineM, nil
+}
+
+func resourcesRubi41SineM() (*asset, error) {
+ bytes, err := resourcesRubi41SineMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/4.1 Sine.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi42TangentM = []byte(`(* ::Package:: *)
+
+(* ::Section:: *)
+(*Tangent Function Rules*)
+
+
+(* ::Subsection::Closed:: *)
+(*4.2.1.1 (a+b tan)^n*)
+
+
+Int[(b_.*tan[c_.+d_.*x_])^n_,x_Symbol] :=
+ b*(b*Tan[c+d*x])^(n-1)/(d*(n-1)) -
+ b^2*Int[(b*Tan[c+d*x])^(n-2),x] /;
+FreeQ[{b,c,d},x] && RationalQ[n] && n>1
+
+
+Int[(b_.*tan[c_.+d_.*x_])^n_,x_Symbol] :=
+ (b*Tan[c+d*x])^(n+1)/(b*d*(n+1)) -
+ 1/b^2*Int[(b*Tan[c+d*x])^(n+2),x] /;
+FreeQ[{b,c,d},x] && RationalQ[n] && n<-1
+
+
+Int[tan[c_.+d_.*x_],x_Symbol] :=
+ -Log[RemoveContent[Cos[c+d*x],x]]/d /;
+FreeQ[{c,d},x]
+
+
+(* Int[1/tan[c_.+d_.*x_],x_Symbol] :=
+ Log[RemoveContent[Sin[c+d*x],x]]/d /;
+FreeQ[{c,d},x] *)
+
+
+Int[(b_.*tan[c_.+d_.*x_])^n_,x_Symbol] :=
+ b/d*Subst[Int[x^n/(b^2+x^2),x],x,b*Tan[c+d*x]] /;
+FreeQ[{b,c,d,n},x] && Not[IntegerQ[n]]
+
+
+Int[(a_+b_.*tan[c_.+d_.*x_])^2,x_Symbol] :=
+ (a^2-b^2)*x + b^2*Tan[c+d*x]/d + 2*a*b*Int[Tan[c+d*x],x] /;
+FreeQ[{a,b,c,d},x]
+
+
+(* Int[(a_+b_.*tan[c_.+d_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*Tan[c+d*x])^n,x],x] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[n] *)
+
+
+Int[(a_+b_.*tan[c_.+d_.*x_])^n_,x_Symbol] :=
+ b*(a+b*Tan[c+d*x])^(n-1)/(d*(n-1)) +
+ 2*a*Int[(a+b*Tan[c+d*x])^(n-1),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[a^2+b^2] && RationalQ[n] && n>1
+
+
+Int[(a_+b_.*tan[c_.+d_.*x_])^n_,x_Symbol] :=
+ a*(a+b*Tan[c+d*x])^n/(2*b*d*n) +
+ 1/(2*a)*Int[(a+b*Tan[c+d*x])^(n+1),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[a^2+b^2] && RationalQ[n] && n<0
+
+
+Int[Sqrt[a_+b_.*tan[c_.+d_.*x_]],x_Symbol] :=
+ -2*b/d*Subst[Int[1/(2*a-x^2),x],x,Sqrt[a+b*Tan[c+d*x]]] /;
+FreeQ[{a,b,c,d},x] && EqQ[a^2+b^2]
+
+
+Int[(a_+b_.*tan[c_.+d_.*x_])^n_,x_Symbol] :=
+ -b/d*Subst[Int[(a+x)^(n-1)/(a-x),x],x,b*Tan[c+d*x]] /;
+FreeQ[{a,b,c,d,n},x] && EqQ[a^2+b^2]
+
+
+Int[(a_+b_.*tan[c_.+d_.*x_])^n_,x_Symbol] :=
+ b*(a+b*Tan[c+d*x])^(n-1)/(d*(n-1)) +
+ Int[(a^2-b^2+2*a*b*Tan[c+d*x])*(a+b*Tan[c+d*x])^(n-2),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2] && RationalQ[n] && n>1
+
+
+Int[(a_+b_.*tan[c_.+d_.*x_])^n_,x_Symbol] :=
+ b*(a+b*Tan[c+d*x])^(n+1)/(d*(n+1)*(a^2+b^2)) +
+ 1/(a^2+b^2)*Int[(a-b*Tan[c+d*x])*(a+b*Tan[c+d*x])^(n+1),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2] && RationalQ[n] && n<-1
+
+
+Int[1/(a_+b_.*tan[c_.+d_.*x_]),x_Symbol] :=
+ a*x/(a^2+b^2) + b/(a^2+b^2)*Int[(b-a*Tan[c+d*x])/(a+b*Tan[c+d*x]),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2+b^2]
+
+
+Int[(a_+b_.*tan[c_.+d_.*x_])^n_,x_Symbol] :=
+ b/d*Subst[Int[(a+x)^n/(b^2+x^2),x],x,b*Tan[c+d*x]] /;
+FreeQ[{a,b,c,d,n},x] && NeQ[a^2+b^2]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.2.1.2 (d sec)^m (a+b tan)^n*)
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ b*(d*Sec[e+f*x])^m/(f*m) + a*Int[(d*Sec[e+f*x])^m,x] /;
+FreeQ[{a,b,d,e,f,m},x] && (IntegerQ[2*m] || NeQ[a^2+b^2])
+
+
+Int[sec[e_.+f_.*x_]^m_*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ 1/(a^(m-2)*b*f)*Subst[Int[(a-x)^(m/2-1)*(a+x)^(n+m/2-1),x],x,b*Tan[e+f*x]] /;
+FreeQ[{a,b,e,f,n},x] && EqQ[a^2+b^2] && IntegerQ[m/2]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*(d*Sec[e+f*x])^m*(a+b*Tan[e+f*x])^n/(a*f*m) /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2+b^2] && EqQ[Simplify[m+n]]
+
+
+Int[sec[e_.+f_.*x_]/Sqrt[a_+b_.*tan[e_.+f_.*x_]],x_Symbol] :=
+ -2*a/(b*f)*Subst[Int[1/(2-a*x^2),x],x,Sec[e+f*x]/Sqrt[a+b*Tan[e+f*x]]] /;
+FreeQ[{a,b,e,f},x] && EqQ[a^2+b^2]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*(d*Sec[e+f*x])^m*(a+b*Tan[e+f*x])^n/(a*f*m) +
+ a/(2*d^2)*Int[(d*Sec[e+f*x])^(m+2)*(a+b*Tan[e+f*x])^(n-1),x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2+b^2] && EqQ[m/2+n] && RationalQ[m,n] && n>0
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ 2*d^2*(d*Sec[e+f*x])^(m-2)*(a+b*Tan[e+f*x])^(n+1)/(b*f*(m-2)) +
+ 2*d^2/a*Int[(d*Sec[e+f*x])^(m-2)*(a+b*Tan[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2+b^2] && EqQ[m/2+n] && RationalQ[m,n] && n<-1
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ (a/d)^(2*IntPart[n])*(a+b*Tan[e+f*x])^FracPart[n]*(a-b*Tan[e+f*x])^FracPart[n]/(d*Sec[e+f*x])^(2*FracPart[n])*
+ Int[1/(a-b*Tan[e+f*x])^n,x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2+b^2] && EqQ[Simplify[m/2+n]]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ 2*b*(d*Sec[e+f*x])^m*(a+b*Tan[e+f*x])^(n-1)/(f*m) /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2+b^2] && EqQ[Simplify[m/2+n-1]]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*(d*Sec[e+f*x])^m*(a+b*Tan[e+f*x])^(n-1)/(f*(m+n-1)) +
+ a*(m+2*n-2)/(m+n-1)*Int[(d*Sec[e+f*x])^m*(a+b*Tan[e+f*x])^(n-1),x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2+b^2] && PositiveIntegerQ[Simplify[m/2+n-1]] && Not[IntegerQ[n]]
+
+
+Int[Sqrt[d_.*sec[e_.+f_.*x_]]*Sqrt[a_+b_.*tan[e_.+f_.*x_]],x_Symbol] :=
+ -4*b*d^2/f*Subst[Int[x^2/(a^2+d^2*x^4),x],x,Sqrt[a+b*Tan[e+f*x]]/Sqrt[d*Sec[e+f*x]]] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2+b^2]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ 2*b*(d*Sec[e+f*x])^m*(a+b*Tan[e+f*x])^(n-1)/(f*m) -
+ b^2*(m+2*n-2)/(d^2*m)*Int[(d*Sec[e+f*x])^(m+2)*(a+b*Tan[e+f*x])^(n-2),x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2+b^2] && RationalQ[m,n] && n>1 &&
+ (PositiveIntegerQ[n/2] && NegativeIntegerQ[m-1/2] || n==2 && m<0 || m<=-1 && m+n>0 || NegativeIntegerQ[m] && m/2+n-1<0 && IntegerQ[n] || n==3/2 && m==-1/2) && IntegerQ[2*m]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*(d*Sec[e+f*x])^m*(a+b*Tan[e+f*x])^n/(a*f*m) +
+ a*(m+n)/(m*d^2)*Int[(d*Sec[e+f*x])^(m+2)*(a+b*Tan[e+f*x])^(n-1),x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2+b^2] && RationalQ[m,n] && n>0 && m<-1 && IntegersQ[2*m,2*n]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*(d*Sec[e+f*x])^m*(a+b*Tan[e+f*x])^(n-1)/(f*(m+n-1)) +
+ a*(m+2*n-2)/(m+n-1)*Int[(d*Sec[e+f*x])^m*(a+b*Tan[e+f*x])^(n-1),x] /;
+FreeQ[{a,b,d,e,f,m},x] && EqQ[a^2+b^2] && RationalQ[n] && n>0 && NeQ[m+n-1] && IntegersQ[2*m,2*n]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^(3/2)/Sqrt[a_+b_.*tan[e_.+f_.*x_]],x_Symbol] :=
+ d*Sec[e+f*x]/(Sqrt[a-b*Tan[e+f*x]]*Sqrt[a+b*Tan[e+f*x]])*Int[Sqrt[d*Sec[e+f*x]]*Sqrt[a-b*Tan[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2+b^2]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ 2*d^2*(d*Sec[e+f*x])^(m-2)*(a+b*Tan[e+f*x])^(n+1)/(b*f*(m+2*n)) -
+ d^2*(m-2)/(b^2*(m+2*n))*Int[(d*Sec[e+f*x])^(m-2)*(a+b*Tan[e+f*x])^(n+2),x] /;
+FreeQ[{a,b,d,e,f,m},x] && EqQ[a^2+b^2] && RationalQ[n] && n<-1 &&
+ (NegativeIntegerQ[n/2] && PositiveIntegerQ[m-1/2] || n==-2 || PositiveIntegerQ[m+n] || IntegersQ[n,m+1/2] && 2*m+n+1>0) && IntegerQ[2*m]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ d^2*(d*Sec[e+f*x])^(m-2)*(a+b*Tan[e+f*x])^(n+1)/(b*f*(m+n-1)) +
+ d^2*(m-2)/(a*(m+n-1))*Int[(d*Sec[e+f*x])^(m-2)*(a+b*Tan[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2+b^2] && RationalQ[m,n] && n<0 && m>1 && Not[NegativeIntegerQ[m+n]] && NeQ[m+n-1] && IntegersQ[2*m,2*n]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ a*(d*Sec[e+f*x])^m*(a+b*Tan[e+f*x])^n/(b*f*(m+2*n)) +
+ Simplify[m+n]/(a*(m+2*n))*Int[(d*Sec[e+f*x])^m*(a+b*Tan[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,d,e,f,m},x] && EqQ[a^2+b^2] && RationalQ[n] && n<0 && NeQ[m+2*n] && IntegersQ[2*m,2*n]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*(d*Sec[e+f*x])^m*(a+b*Tan[e+f*x])^(n-1)/(f*Simplify[m+n-1]) +
+ a*(m+2*n-2)/Simplify[m+n-1]*Int[(d*Sec[e+f*x])^m*(a+b*Tan[e+f*x])^(n-1),x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2+b^2] && PositiveIntegerQ[Simplify[m+n-1]] && RationalQ[n]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ a*(d*Sec[e+f*x])^m*(a+b*Tan[e+f*x])^n/(b*f*(m+2*n)) +
+ Simplify[m+n]/(a*(m+2*n))*Int[(d*Sec[e+f*x])^m*(a+b*Tan[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2+b^2] && NegativeIntegerQ[Simplify[m+n]] && NeQ[m+2*n]
+
+
+(* Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ a^n*(d*Sec[e+f*x])^m/(b*f*(Sec[e+f*x]^2)^(m/2))*Subst[Int[(1+x/a)^(n+m/2-1)*(1-x/a)^(m/2-1),x],x,b*Tan[e+f*x]] /;
+FreeQ[{a,b,d,e,f,m},x] && EqQ[a^2+b^2] && IntegerQ[n] *)
+
+
+(* Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ (d*Sec[e+f*x])^m/(b*f*(Sec[e+f*x]^2)^(m/2))*Subst[Int[(a+x)^n*(1+x^2/b^2)^(m/2-1),x],x,b*Tan[e+f*x]] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2+b^2] *)
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_.,x_Symbol] :=
+ (d*Sec[e+f*x])^m/((a+b*Tan[e+f*x])^(m/2)*(a-b*Tan[e+f*x])^(m/2))*Int[(a+b*Tan[e+f*x])^(m/2+n)*(a-b*Tan[e+f*x])^(m/2),x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2+b^2]
+
+
+Int[sec[e_.+f_.*x_]^m_*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ 1/(b*f)*Subst[Int[(a+x)^n*(1+x^2/b^2)^(m/2-1),x],x,b*Tan[e+f*x]] /;
+FreeQ[{a,b,e,f,n},x] && NeQ[a^2+b^2] && IntegerQ[m/2]
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^2/sec[e_.+f_.*x_],x_Symbol] :=
+ b^2*ArcTanh[Sin[e+f*x]]/f - 2*a*b*Cos[e+f*x]/f + (a^2-b^2)*Sin[e+f*x]/f /;
+FreeQ[{a,b,e,f},x] && NeQ[a^2+b^2]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^2,x_Symbol] :=
+ b*(d*Sec[e+f*x])^m*(a+b*Tan[e+f*x])/(f*(m+1)) +
+ 1/(m+1)*Int[(d*Sec[e+f*x])^m*(a^2*(m+1)-b^2+a*b*(m+2)*Tan[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,m},x] && NeQ[a^2+b^2] && NeQ[m+1]
+
+
+Int[sec[e_.+f_.*x_]/(a_+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ -1/f*Subst[Int[1/(a^2+b^2-x^2),x],x,(b-a*Tan[e+f*x])/Sec[e+f*x]] /;
+FreeQ[{a,b,e,f},x] && NeQ[a^2+b^2]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_/(a_+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ -d^2/b^2*Int[(d*Sec[e+f*x])^(m-2)*(a-b*Tan[e+f*x]),x] +
+ d^2*(a^2+b^2)/b^2*Int[(d*Sec[e+f*x])^(m-2)/(a+b*Tan[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2+b^2] && PositiveIntegerQ[m-1]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_/(a_+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ 1/(a^2+b^2)*Int[(d*Sec[e+f*x])^m*(a-b*Tan[e+f*x]),x] +
+ b^2/(d^2*(a^2+b^2))*Int[(d*Sec[e+f*x])^(m+2)/(a+b*Tan[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2+b^2] && NegativeIntegerQ[m]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ d^(2*IntPart[m/2])*(d*Sec[e+f*x])^(2*FracPart[m/2])/(b*f*(Sec[e+f*x]^2)^FracPart[m/2])*
+ Subst[Int[(a+x)^n*(1+x^2/b^2)^(m/2-1),x],x,b*Tan[e+f*x]] /;
+FreeQ[{a,b,d,e,f,m,n},x] && NeQ[a^2+b^2] && Not[IntegerQ[m/2]]
+
+
+Int[Sqrt[a_+b_.*tan[e_.+f_.*x_]]/Sqrt[d_. cos[e_.+f_.*x_]],x_Symbol] :=
+ -4*b/f*Subst[Int[x^2/(a^2*d^2+x^4),x],x,Sqrt[d*Cos[e+f*x]]*Sqrt[a+b*Tan[e+f*x]]] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2+b^2]
+
+
+Int[1/((d_. cos[e_.+f_.*x_])^(3/2)*Sqrt[a_+b_.*tan[e_.+f_.*x_]]),x_Symbol] :=
+ 1/(d*Cos[e+f*x]*Sqrt[a-b*Tan[e+f*x]]*Sqrt[a+b*Tan[e+f*x]])*Int[Sqrt[a-b*Tan[e+f*x]]/Sqrt[d*Cos[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2+b^2]
+
+
+Int[(d_.*cos[e_.+f_.*x_])^m_*(a_+b_.*tan[e_.+f_.*x_])^n_.,x_Symbol] :=
+ (d*Cos[e+f*x])^m*(d*Sec[e+f*x])^m*Int[(a+b*Tan[e+f*x])^n/(d*Sec[e+f*x])^m,x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && Not[IntegerQ[m]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.2.1.3 (d sin)^m (a+b tan)^n*)
+
+
+Int[sin[e_.+f_.*x_]^m_*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ b/f*Subst[Int[x^m*(a+x)^n/(b^2+x^2)^(m/2+1),x],x,b*Tan[e+f*x]] /;
+FreeQ[{a,b,e,f,n},x] && IntegerQ[m/2]
+
+
+Int[sin[e_.+f_.*x_]^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Int[Expand[Sin[e+f*x]^m*(a+b*Tan[e+f*x])^n,x],x] /;
+FreeQ[{a,b,e,f},x] && IntegerQ[(m-1)/2] && PositiveIntegerQ[n]
+
+
+Int[sin[e_.+f_.*x_]^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Int[Sin[e+f*x]^m*(a*Cos[e+f*x]+b*Sin[e+f*x])^n/Cos[e+f*x]^n,x] /;
+FreeQ[{a,b,e,f},x] && IntegerQ[(m-1)/2] && NegativeIntegerQ[n] && (m<5 && n>-4 || m==5 && n==-1)
+
+
+Int[(d_.*csc[e_.+f_.*x_])^m_*(a_.+b_.*tan[e_.+f_.*x_])^n_.,x_Symbol] :=
+ (d*Csc[e+f*x])^FracPart[m]*(Sin[e+f*x]/d)^FracPart[m]*Int[(a+b*Tan[e+f*x])^n/(Sin[e+f*x]/d)^m,x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && Not[IntegerQ[m]]
+
+
+Int[cos[e_.+f_.*x_]^m_.*sin[e_.+f_.*x_]^p_.*(a_+b_.*tan[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Int[Cos[e+f*x]^(m-n)*Sin[e+f*x]^p*(a*Cos[e+f*x]+b*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,e,f,m,p},x] && IntegerQ[n]
+
+
+Int[sin[e_.+f_.*x_]^m_.*cos[e_.+f_.*x_]^p_.*(a_+b_.*cot[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Int[Sin[e+f*x]^(m-n)*Cos[e+f*x]^p*(a*Sin[e+f*x]+b*Cos[e+f*x])^n,x] /;
+FreeQ[{a,b,e,f,m,p},x] && IntegerQ[n]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.2.2.1 (a+b tan)^m (c+d tan)^n*)
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_.*(c_+d_.*tan[e_.+f_.*x_])^n_.,x_Symbol] :=
+ a^m*c^m*Int[Sec[e+f*x]^(2*m)*(c+d*Tan[e+f*x])^(n-m),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && EqQ[b*c+a*d] && EqQ[a^2+b^2] && IntegerQ[m] && Not[IntegerQ[n] && n>0 && (m<0 || n0
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ (b*c-a*d)*(a+b*Tan[e+f*x])^(m+1)/(f*(m+1)*(a^2+b^2)) +
+ 1/(a^2+b^2)*Int[(a+b*Tan[e+f*x])^(m+1)*Simp[a*c+b*d-(b*c-a*d)*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && RationalQ[m] && m<-1
+
+
+Int[(c_+d_.*tan[e_.+f_.*x_])/(a_+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ c/(b*f)*Log[RemoveContent[a*Cos[e+f*x]+b*Sin[e+f*x],x]] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && EqQ[a*c+b*d]
+
+
+Int[(c_.+d_.*tan[e_.+f_.*x_])/(a_.+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ (a*c+b*d)*x/(a^2+b^2) + (b*c-a*d)/(a^2+b^2)*Int[(b-a*Tan[e+f*x])/(a+b*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[a*c+b*d]
+
+
+Int[(c_+d_.*tan[e_.+f_.*x_])/Sqrt[b_.*tan[e_.+f_.*x_]],x_Symbol] :=
+ -2*d^2/f*Subst[Int[1/(2*c*d+b*x^2),x],x,(c-d*Tan[e+f*x])/Sqrt[b*Tan[e+f*x]]] /;
+FreeQ[{b,c,d,e,f},x] && EqQ[c^2-d^2]
+
+
+(* Int[(c_+d_.*tan[e_.+f_.*x_])/Sqrt[b_.*tan[e_.+f_.*x_]],x_Symbol] :=
+ (c+d)/2*Int[(1+Tan[e+f*x])/Sqrt[b*Tan[e+f*x]],x] +
+ (c-d)/2*Int[(1-Tan[e+f*x])/Sqrt[b*Tan[e+f*x]],x] /;
+FreeQ[{b,c,d,e,f},x] && NeQ[c^2+d^2] && NeQ[c^2-d^2] *)
+
+
+Int[(c_+d_.*tan[e_.+f_.*x_])/Sqrt[b_.*tan[e_.+f_.*x_]],x_Symbol] :=
+ 2*c^2/f*Subst[Int[1/(b*c-d*x^2),x],x,Sqrt[b*Tan[e+f*x]]] /;
+FreeQ[{b,c,d,e,f},x] && EqQ[c^2+d^2]
+
+
+(* Int[(c_+d_.*tan[e_.+f_.*x_])/Sqrt[b_.*tan[e_.+f_.*x_]],x_Symbol] :=
+ (c+I*d)/2*Int[(1-I*Tan[e+f*x])/Sqrt[b*Tan[e+f*x]],x] + (c-I*d)/2*Int[(1+I*Tan[e+f*x])/Sqrt[b*Tan[e+f*x]],x] /;
+FreeQ[{b,c,d,e,f},x] && NeQ[c^2-d^2] && NeQ[c^2+d^2] *)
+
+
+Int[(c_+d_.*tan[e_.+f_.*x_])/Sqrt[b_.*tan[e_.+f_.*x_]],x_Symbol] :=
+ 2/f*Subst[Int[(b*c+d*x^2)/(b^2+x^4),x],x,Sqrt[b*Tan[e+f*x]]] /;
+FreeQ[{b,c,d,e,f},x] && NeQ[c^2-d^2] && NeQ[c^2+d^2]
+
+
+Int[(c_.+d_.*tan[e_.+f_.*x_])/Sqrt[a_+b_.*tan[e_.+f_.*x_]],x_Symbol] :=
+ -2*d^2/f*Subst[Int[1/(2*b*c*d-4*a*d^2+x^2),x],x,(b*c-2*a*d-b*d*Tan[e+f*x])/Sqrt[a+b*Tan[e+f*x]]] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && EqQ[2*a*c*d-b*(c^2-d^2)]
+
+
+Int[(c_.+d_.*tan[e_.+f_.*x_])/Sqrt[a_+b_.*tan[e_.+f_.*x_]],x_Symbol] :=
+ With[{q=Rt[a^2+b^2,2]},
+ 1/(2*q)*Int[(a*c+b*d+c*q+(b*c-a*d+d*q)*Tan[e+f*x])/Sqrt[a+b*Tan[e+f*x]],x] -
+ 1/(2*q)*Int[(a*c+b*d-c*q+(b*c-a*d-d*q)*Tan[e+f*x])/Sqrt[a+b*Tan[e+f*x]],x]] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && NeQ[2*a*c*d-b*(c^2-d^2)] &&
+ (PerfectSquareQ[a^2+b^2] || RationalQ[a,b,c,d])
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_+d_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ c*d/f*Subst[Int[(a+b/d*x)^m/(d^2+c*x),x],x,d*Tan[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && EqQ[c^2+d^2]
+
+
+Int[(b_.*tan[e_.+f_.*x_])^m_*(c_+d_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ c*Int[(b*Tan[e+f*x])^m,x] + d/b*Int[(b*Tan[e+f*x])^(m+1),x] /;
+FreeQ[{b,c,d,e,f,m},x] && NeQ[c^2+d^2] && Not[IntegerQ[2*m]]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ (c+I*d)/2*Int[(a+b*Tan[e+f*x])^m*(1-I*Tan[e+f*x]),x] +
+ (c-I*d)/2*Int[(a+b*Tan[e+f*x])^m*(1+I*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && Not[IntegerQ[m]]
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^2,x_Symbol] :=
+ -b*(a*c+b*d)^2*(a+b*Tan[e+f*x])^m/(2*a^3*f*m) +
+ 1/(2*a^2)*Int[(a+b*Tan[e+f*x])^(m+1)*Simp[a*c^2-2*b*c*d+a*d^2-2*b*d^2*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && RationalQ[m] && m<=-1 && EqQ[a^2+b^2]
+
+
+Int[(c_.+d_.*tan[e_.+f_.*x_])^2/(a_.+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ d*(2*b*c-a*d)*x/b^2 + d^2/b*Int[Tan[e+f*x],x] + (b*c-a*d)^2/b^2*Int[1/(a+b*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^2,x_Symbol] :=
+ (b*c-a*d)^2*(a+b*Tan[e+f*x])^(m+1)/(b*f*(m+1)*(a^2+b^2)) +
+ 1/(a^2+b^2)*Int[(a+b*Tan[e+f*x])^(m+1)*Simp[a*c^2+2*b*c*d-a*d^2-(b*c^2-2*a*c*d-b*d^2)*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && RationalQ[m] && m<-1 && NeQ[a^2+b^2]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^2,x_Symbol] :=
+ d^2*(a+b*Tan[e+f*x])^(m+1)/(b*f*(m+1)) +
+ Int[(a+b*Tan[e+f*x])^m*Simp[c^2-d^2+2*c*d*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b*c-a*d] && Not[RationalQ[m] && m<=-1] && Not[EqQ[m-2] && EqQ[a]]
+
+
+Int[Sqrt[a_+b_.*tan[e_.+f_.*x_]]/Sqrt[c_.+d_.*tan[e_.+f_.*x_]],x_Symbol] :=
+ -2*a*b/f*Subst[Int[1/(a*c-b*d-2*a^2*x^2),x],x,Sqrt[c+d*Tan[e+f*x]]/Sqrt[a+b*Tan[e+f*x]]] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2]
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ a*b*(a+b*Tan[e+f*x])^(m-1)*(c+d*Tan[e+f*x])^(n+1)/(f*(m-1)*(a*c-b*d)) +
+ 2*a^2/(a*c-b*d)*Int[(a+b*Tan[e+f*x])^(m-1)*(c+d*Tan[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[m,n] && m+n==0 && m>1/2
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ a*(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^n/(2*b*f*m) -
+ (a*c-b*d)/(2*b^2)*Int[(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[m,n] && m+n==0 && m<=-1/2
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ a*(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^(n+1)/(2*f*m*(b*c-a*d)) +
+ 1/(2*a)*Int[(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[m,n] && m+n+1==0 && m<-1
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ -d*(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^(n+1)/(f*m*(c^2+d^2)) +
+ a/(a*c-b*d)*Int[(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2] && EqQ[m+n+1] && Not[RationalQ[m] && m<-1]
+
+
+Int[(c_.+d_.*tan[e_.+f_.*x_])^n_/(a_+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ -(a*c+b*d)*(c+d*Tan[e+f*x])^n/(2*(b*c-a*d)*f*(a+b*Tan[e+f*x])) +
+ 1/(2*a*(b*c-a*d))*Int[(c+d*Tan[e+f*x])^(n-1)*Simp[a*c*d*(n-1)+b*c^2+b*d^2*n-d*(b*c-a*d)*(n-1)*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[n] && 01
+
+
+Int[1/((a_.+b_.*tan[e_.+f_.*x_])*(c_.+d_.*tan[e_.+f_.*x_])),x_Symbol] :=
+ b/(b*c-a*d)*Int[1/(a+b*Tan[e+f*x]),x] - d/(b*c-a*d)*Int[1/(c+d*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2]
+
+
+Int[(c_.+d_.*tan[e_.+f_.*x_])^n_/(a_+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ -a*(c+d*Tan[e+f*x])^(n+1)/(2*f*(b*c-a*d)*(a+b*Tan[e+f*x])) +
+ 1/(2*a*(b*c -a*d))*Int[(c+d*Tan[e+f*x])^n*Simp[b*c+a*d*(n-1)-b*d*n*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2] && Not[RationalQ[n] && n>0]
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ -a^2*(b*c-a*d)*(a+b*Tan[e+f*x])^(m-2)*(c+d*Tan[e+f*x])^(n+1)/(d*f*(b*c+a*d)*(n+1)) +
+ a/(d*(b*c+a*d)*(n+1))*Int[(a+b*Tan[e+f*x])^(m-2)*(c+d*Tan[e+f*x])^(n+1)*
+ Simp[b*(b*c*(m-2)-a*d*(m-2*n-4))+(a*b*c*(m-2)+b^2*d*(n+1)-a^2*d*(m+n-1))*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[m,n] && m>1 && n<-1 &&
+ (IntegerQ[m] || IntegersQ[2*m,2*n])
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^(3/2)/(c_.+d_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ 2*a^2/(a*c-b*d)*Int[Sqrt[a+b*Tan[e+f*x]],x] -
+ (2*b*c*d+a*(c^2-d^2))/(a*(c^2+d^2))*Int[(a-b*Tan[e+f*x])*Sqrt[a+b*Tan[e+f*x]]/(c+d*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2]
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^(3/2)/Sqrt[c_.+d_.*tan[e_.+f_.*x_]],x_Symbol] :=
+ 2*a*Int[Sqrt[a+b*Tan[e+f*x]]/Sqrt[c+d*Tan[e+f*x]],x] +
+ b/a*Int[(b+a*Tan[e+f*x])*Sqrt[a+b*Tan[e+f*x]]/Sqrt[c+d*Tan[e+f*x]],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2]
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ b^2*(a+b*Tan[e+f*x])^(m-2)*(c+d*Tan[e+f*x])^(n+1)/(d*f*(m+n-1)) +
+ a/(d*(m+n-1))*Int[(a+b*Tan[e+f*x])^(m-2)*(c+d*Tan[e+f*x])^n*
+ Simp[b*c*(m-2)+a*d*(m+2*n)+(a*c*(m-2)+b*d*(3*m+2*n-4))*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2] &&
+ IntegerQ[2*m] && m>1 && NeQ[m+n-1] && (IntegerQ[m] || IntegersQ[2*m,2*n])
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*Sqrt[c_.+d_.*tan[e_.+f_.*x_]],x_Symbol] :=
+ -b*(a+b*Tan[e+f*x])^m*Sqrt[c+d*Tan[e+f*x]]/(2*a*f*m) +
+ 1/(4*a^2*m)*Int[(a+b*Tan[e+f*x])^(m+1)*Simp[2*a*c*m+b*d+a*d*(2*m+1)*Tan[e+f*x],x]/Sqrt[c+d*Tan[e+f*x]],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[m] && m<0 && IntegersQ[2*m]
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ -(b*c-a*d)*(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^(n-1)/(2*a*f*m) +
+ 1/(2*a^2*m)*Int[(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^(n-2)*
+ Simp[c*(a*c*m+b*d*(n-1))-d*(b*c*m+a*d*(n-1))-d*(b*d*(m-n+1)-a*c*(m+n-1))*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2] &&
+ RationalQ[m,n] && m<0 && n>1 && (IntegerQ[m] || IntegersQ[2*m,2*n])
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ a*(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^(n+1)/(2*f*m*(b*c-a*d)) +
+ 1/(2*a*m*(b*c-a*d))*Int[(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^n*
+ Simp[b*c*m-a*d*(2*m+n+1)+b*d*(m+n+1)*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2] &&
+ RationalQ[m] && m<0 && (IntegerQ[m] || IntegersQ[2*m,2*n])
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ d*(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^(n-1)/(f*(m+n-1)) -
+ 1/(a*(m+n-1))*Int[(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^(n-2)*
+ Simp[d*(b*c*m+a*d*(-1+n))-a*c^2*(m+n-1)+d*(b*d*m-a*c*(m+2*n-2))*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2] &&
+ RationalQ[n] && n>1 && NeQ[m+n-1] && (IntegerQ[n] || IntegersQ[2*m,2*n])
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ d*(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^(n+1)/(f*(n+1)*(c^2+d^2)) -
+ 1/(a*(c^2+d^2)*(n+1))*Int[(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^(n+1)*
+ Simp[b*d*m-a*c*(n+1)+a*d*(m+n+1)*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2] &&
+ RationalQ[n] && n<-1 && (IntegerQ[n] || IntegersQ[2*m,2*n])
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_/(c_.+d_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ a/(a*c-b*d)*Int[(a+b*Tan[e+f*x])^m,x] -
+ d/(a*c-b*d)*Int[(a+b*Tan[e+f*x])^m*(b+a*Tan[e+f*x])/(c+d*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2]
+
+
+Int[Sqrt[a_+b_.*tan[e_.+f_.*x_]]*Sqrt[c_.+d_.*tan[e_.+f_.*x_]],x_Symbol] :=
+ (a*c-b*d)/a*Int[Sqrt[a+b*Tan[e+f*x]]/Sqrt[c+d*Tan[e+f*x]],x] +
+ d/a*Int[Sqrt[a+b*Tan[e+f*x]]*(b+a*Tan[e+f*x])/Sqrt[c+d*Tan[e+f*x]],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2]
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ a*b/f*Subst[Int[(a+x)^(m-1)*(c+d/b*x)^n/(b^2+a*x),x],x,b*Tan[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ (b*c-a*d)^2*(a+b*Tan[e+f*x])^(m-2)*(c+d*Tan[e+f*x])^(n+1)/(d*f*(n+1)*(c^2+d^2)) -
+ 1/(d*(n+1)*(c^2+d^2))*Int[(a+b*Tan[e+f*x])^(m-3)*(c+d*Tan[e+f*x])^(n+1)*
+ Simp[a^2*d*(b*d*(m-2)-a*c*(n+1))+b*(b*c-2*a*d)*(b*c*(m-2)+a*d*(n+1)) -
+ d*(n+1)*(3*a^2*b*c-b^3*c-a^3*d+3*a*b^2*d)*Tan[e+f*x] -
+ b*(a*d*(2*b*c-a*d)*(m+n-1)-b^2*(c^2*(m-2)-d^2*(n+1)))*Tan[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[m,n] && m>2 && n<-1 &&
+ IntegerQ[2*m]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ b^2*(a+b*Tan[e+f*x])^(m-2)*(c+d*Tan[e+f*x])^(n+1)/(d*f*(m+n-1)) +
+ 1/(d*(m+n-1))*Int[(a+b*Tan[e+f*x])^(m-3)*(c+d*Tan[e+f*x])^n*
+ Simp[a^3*d*(m+n-1)-b^2*(b*c*(m-2)+a*d*(1+n))+b*d*(m+n-1)*(3*a^2-b^2)*Tan[e+f*x]-
+ b^2*(b*c*(m-2)-a*d*(3*m+2*n-4))*Tan[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && IntegerQ[2*m] && m>2 &&
+ (RationalQ[n] && n>=-1 || IntegerQ[m]) && Not[IntegerQ[n] && n>2 && (Not[IntegerQ[m]] || EqQ[c] && NeQ[a])]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ (b*c-a*d)*(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^(n-1)/(f*(m+1)*(a^2+b^2)) +
+ 1/((m+1)*(a^2+b^2))*Int[(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^(n-2)*
+ Simp[a*c^2*(m+1)+a*d^2*(n-1)+b*c*d*(m-n+2)-(b*c^2-2*a*c*d-b*d^2)*(m+1)*Tan[e+f*x]-d*(b*c-a*d)*(m+n)*Tan[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[m,n] && m<-1 && 10 &&
+ IntegerQ[2*m]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ b^2*(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^(n+1)/(f*(m+1)*(a^2+b^2)*(b*c-a*d)) +
+ 1/((m+1)*(a^2+b^2)*(b*c-a*d))*Int[(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^n*
+ Simp[a*(b*c-a*d)*(m+1)-b^2*d*(m+n+2)-b*(b*c-a*d)*(m+1)*Tan[e+f*x]-b^2*d*(m+n+2)*Tan[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && IntegerQ[2*m] && m<-1 &&
+ (RationalQ[n] && n<0 || IntegerQ[m]) && Not[IntegerQ[n] && n<-1 && (Not[IntegerQ[m]] || EqQ[c] && NeQ[a])]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*(a+b*Tan[e+f*x])^(m-1)*(c+d*Tan[e+f*x])^n/(f*(m+n-1)) +
+ 1/(m+n-1)*Int[(a+b*Tan[e+f*x])^(m-2)*(c+d*Tan[e+f*x])^(n-1)*
+ Simp[a^2*c*(m+n-1)-b*(b*c*(m-1)+a*d*n)+(2*a*b*c+a^2*d-b^2*d)*(m+n-1)*Tan[e+f*x]+b*(b*c*n+a*d*(2*m+n-2))*Tan[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[m,n] && m>1 && n>0 && IntegerQ[2*n]
+
+
+Int[1/((a_+b_.*tan[e_.+f_.*x_])*(c_.+d_.*tan[e_.+f_.*x_])),x_Symbol] :=
+ (a*c-b*d)*x/((a^2+b^2)*(c^2+d^2)) +
+ b^2/((b*c-a*d)*(a^2+b^2))*Int[(b-a*Tan[e+f*x])/(a+b*Tan[e+f*x]),x] -
+ d^2/((b*c-a*d)*(c^2+d^2))*Int[(d-c*Tan[e+f*x])/(c+d*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2]
+
+
+Int[Sqrt[a_.+b_.*tan[e_.+f_.*x_]]/(c_.+d_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ 1/(c^2+d^2)*Int[Simp[a*c+b*d+(b*c-a*d)*Tan[e+f*x],x]/Sqrt[a+b*Tan[e+f*x]],x] -
+ d*(b*c-a*d)/(c^2+d^2)*Int[(1+Tan[e+f*x]^2)/(Sqrt[a+b*Tan[e+f*x]]*(c+d*Tan[e+f*x])),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^(3/2)/(c_.+d_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ 1/(c^2+d^2)*Int[Simp[a^2*c-b^2*c+2*a*b*d+(2*a*b*c-a^2*d+b^2*d)*Tan[e+f*x],x]/Sqrt[a+b*Tan[e+f*x]],x] +
+ (b*c-a*d)^2/(c^2+d^2)*Int[(1+Tan[e+f*x]^2)/(Sqrt[a+b*Tan[e+f*x]]*(c+d*Tan[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_/(c_.+d_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ 1/(c^2+d^2)*Int[(a+b*Tan[e+f*x])^m*(c-d*Tan[e+f*x]),x] +
+ d^2/(c^2+d^2)*Int[(a+b*Tan[e+f*x])^m*(1+Tan[e+f*x]^2)/(c+d*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && Not[IntegerQ[m]]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff/f*Subst[Int[(a+b*ff*x)^m*(c+d*ff*x)^n/(1+ff^2*x^2),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_.*(d_./tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ d^m*Int[(b+a*Cot[e+f*x])^m*(d*Cot[e+f*x])^(n-m),x] /;
+FreeQ[{a,b,d,e,f,n},x] && Not[IntegerQ[n]] && IntegerQ[m]
+
+
+Int[(a_.+b_.*cot[e_.+f_.*x_])^m_.*(d_./cot[e_.+f_.*x_])^n_,x_Symbol] :=
+ d^m*Int[(b+a*Tan[e+f*x])^m*(d*Tan[e+f*x])^(n-m),x] /;
+FreeQ[{a,b,d,e,f,n},x] && Not[IntegerQ[n]] && IntegerQ[m]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_.*(c_.*(d_.*tan[e_.+f_.*x_])^p_)^n_,x_Symbol] :=
+ c^IntPart[n]*(c*(d*Tan[e + f*x])^p)^FracPart[n]/(d*Tan[e + f*x])^(p*FracPart[n])*
+ Int[(a+b*Tan[e+f*x])^m*(d*Tan[e+f*x])^(n*p),x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[IntegerQ[n]] && Not[IntegerQ[m]]
+
+
+Int[(a_.+b_.*cot[e_.+f_.*x_])^m_.*(c_.*(d_.*cot[e_.+f_.*x_])^p_)^n_,x_Symbol] :=
+ c^IntPart[n]*(c*(d*Cot[e + f*x])^p)^FracPart[n]/(d*Cot[e + f*x])^(p*FracPart[n])*
+ Int[(a+b*Cot[e+f*x])^m*(d*Cot[e+f*x])^(n*p),x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[IntegerQ[n]] && Not[IntegerQ[m]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.2.2.3 (g tan)^p (a+b tan)^m (c+d tan)^n*)
+
+
+Int[(g_.*tan[e_.+f_.*x_])^p_.*(a_+b_.*tan[e_.+f_.*x_])^m_*(c_+d_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ Defer[Int][(g*Tan[e+f*x])^p*(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x]
+
+
+Int[(g_.*cot[e_.+f_.*x_])^p_*(a_.+b_.*tan[e_.+f_.*x_])^m_.*(c_+d_.*tan[e_.+f_.*x_])^n_.,x_Symbol] :=
+ g^(m+n)*Int[(g*Cot[e+f*x])^(p-m-n)*(b+a*Cot[e+f*x])^m*(d+c*Cot[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && Not[IntegerQ[p]] && IntegerQ[m] && IntegerQ[n]
+
+
+Int[(g_.*tan[e_.+f_.*x_])^p_*(a_.+b_.*cot[e_.+f_.*x_])^m_.*(c_+d_.*cot[e_.+f_.*x_])^n_.,x_Symbol] :=
+ g^(m+n)*Int[(g*Tan[e+f*x])^(p-m-n)*(b+a*Tan[e+f*x])^m*(d+c*Tan[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && Not[IntegerQ[p]] && IntegerQ[m] && IntegerQ[n]
+
+
+Int[(g_.*tan[e_.+f_.*x_]^q_)^p_*(a_.+b_.*tan[e_.+f_.*x_])^m_.*(c_+d_.*tan[e_.+f_.*x_])^n_.,x_Symbol] :=
+ (g*Tan[e+f*x]^q)^p/(g*Tan[e+f*x])^(p*q)*Int[(g*Tan[e+f*x])^(p*q)*(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p,q},x] && Not[IntegerQ[p]] && Not[IntegerQ[m] && IntegerQ[n]]
+
+
+Int[(g_.*tan[e_.+f_.*x_])^p_.*(a_+b_.*tan[e_.+f_.*x_])^m_.*(c_+d_.*cot[e_.+f_.*x_])^n_.,x_Symbol] :=
+ g^n*Int[(g*Tan[e+f*x])^(p-n)*(a+b*Tan[e+f*x])^m*(d+c*Tan[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,p},x] && IntegerQ[n]
+
+
+Int[tan[e_.+f_.*x_]^p_.*(a_+b_.*tan[e_.+f_.*x_])^m_.*(c_+d_.*cot[e_.+f_.*x_])^n_,x_Symbol] :=
+ Int[(b+a*Cot[e+f*x])^m*(c+d*Cot[e+f*x])^n/Cot[e+f*x]^(m+p),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && Not[IntegerQ[n]] && IntegerQ[m] && IntegerQ[p]
+
+
+Int[(g_.*tan[e_.+f_.*x_])^p_*(a_+b_.*tan[e_.+f_.*x_])^m_.*(c_+d_.*cot[e_.+f_.*x_])^n_,x_Symbol] :=
+ Cot[e+f*x]^p*(g*Tan[e+f*x])^p*Int[(b+a*Cot[e+f*x])^m*(c+d*Cot[e+f*x])^n/Cot[e+f*x]^(m+p),x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && Not[IntegerQ[n]] && IntegerQ[m] && Not[IntegerQ[p]]
+
+
+Int[(g_.*tan[e_.+f_.*x_])^p_.*(a_+b_.*tan[e_.+f_.*x_])^m_*(c_+d_.*cot[e_.+f_.*x_])^n_,x_Symbol] :=
+ (g*Tan[e+f*x])^n*(c+d*Cot[e+f*x])^n/(d+c*Tan[e+f*x])^n*Int[(g*Tan[e+f*x])^(p-n)*(a+b*Tan[e+f*x])^m*(d+c*Tan[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && Not[IntegerQ[n]] && Not[IntegerQ[m]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.2.3.1 (a+b tan)^m (c+d tan)^n (A+B tan)*)
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_.*(c_+d_.*tan[e_.+f_.*x_])^n_.*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ a*c/f*Subst[Int[(a+b*x)^(m-1)*(c+d*x)^(n-1)*(A+B*x),x],x,Tan[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,A,B,m,n},x] && EqQ[b*c+a*d] && EqQ[a^2+b^2]
+
+
+Int[(c_.+d_.*tan[e_.+f_.*x_])*(A_.+B_.*tan[e_.+f_.*x_])/(a_.+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ B*d/b*Int[Tan[e+f*x],x] + 1/b*Int[Simp[A*b*c+(A*b*d+B*(b*c-a*d))*Tan[e+f*x],x]/(a+b*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d]
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ -(A*b-a*B)*(a*c+b*d)*(a+b*Tan[e+f*x])^m/(2*a^2*f*m) +
+ 1/(2*a*b)*Int[(a+b*Tan[e+f*x])^(m+1)*Simp[A*b*c+a*B*c+a*A*d+b*B*d+2*a*B*d*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && RationalQ[m] && m<-1 && EqQ[a^2+b^2]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ (b*c-a*d)*(A*b-a*B)*(a+b*Tan[e+f*x])^(m+1)/(b*f*(m+1)*(a^2+b^2)) +
+ 1/(a^2+b^2)*Int[(a+b*Tan[e+f*x])^(m+1)*Simp[a*A*c+b*B*c+A*b*d-a*B*d-(A*b*c-a*B*c-a*A*d-b*B*d)*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && RationalQ[m] && m<-1 && NeQ[a^2+b^2]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_.*(c_.+d_.*tan[e_.+f_.*x_])*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ B*d*(a+b*Tan[e+f*x])^(m+1)/(b*f*(m+1)) +
+ Int[(a+b*Tan[e+f*x])^m*Simp[A*c-B*d+(B*c+A*d)*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,m},x] && NeQ[b*c-a*d] && Not[RationalQ[m] && m<=-1]
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ -a^2*(B*c-A*d)*(a+b*Tan[e+f*x])^(m-1)*(c+d*Tan[e+f*x])^(n+1)/(d*f*(b*c+a*d)*(n+1)) -
+ a/(d*(b*c+a*d)*(n+1))*Int[(a+b*Tan[e+f*x])^(m-1)*(c+d*Tan[e+f*x])^(n+1)*
+ Simp[A*b*d*(m-n-2)-B*(b*c*(m-1)+a*d*(n+1))+(a*A*d*(m+n)-B*(a*c*(m-1)+b*d*(n+1)))*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && RationalQ[m,n] && m>1 && n<-1
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ b*B*(a+b*Tan[e+f*x])^(m-1)*(c+d*Tan[e+f*x])^(n+1)/(d*f*(m+n)) +
+ 1/(d*(m+n))*Int[(a+b*Tan[e+f*x])^(m-1)*(c+d*Tan[e+f*x])^n*
+ Simp[a*A*d*(m+n)+B*(a*c*(m-1)-b*d*(n+1))-(B*(b*c-a*d)*(m-1)-d*(A*b+a*B)*(m+n))*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,n},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && RationalQ[m] && m>1 && Not[RationalQ[n] && n<-1]
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ -(A*b-a*B)*(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^n/(2*a*f*m) +
+ 1/(2*a^2*m)*Int[(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^(n-1)*
+ Simp[A*(a*c*m+b*d*n)-B*(b*c*m+a*d*n)-d*(b*B*(m-n)-a*A*(m+n))*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && RationalQ[m,n] && m<0 && n>0
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ (a*A+b*B)*(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^(n+1)/(2*f*m*(b*c-a*d)) +
+ 1/(2*a*m*(b*c-a*d))*Int[(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^n*
+ Simp[A*(b*c*m-a*d*(2*m+n+1))+B*(a*c*m-b*d*(n+1))+d*(A*b-a*B)*(m+n+1)*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,n},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && RationalQ[m] && m<0 && Not[RationalQ[n] && n>0]
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ B*(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^n/(f*(m+n)) +
+ 1/(a*(m+n))*Int[(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^(n-1)*
+ Simp[a*A*c*(m+n)-B*(b*c*m+a*d*n)+(a*A*d*(m+n)-B*(b*d*m-a*c*n))*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,m},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && RationalQ[n] && n>0
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ (A*d-B*c)*(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^(n+1)/(f*(n+1)*(c^2+d^2)) -
+ 1/(a*(n+1)*(c^2+d^2))*Int[(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^(n+1)*
+ Simp[A*(b*d*m-a*c*(n+1))-B*(b*c*m+a*d*(n+1))-a*(B*c-A*d)*(m+n+1)*Tan[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,m},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && RationalQ[n] && n<-1
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ b*B/f*Subst[Int[(a+b*x)^(m-1)*(c+d*x)^n,x],x,Tan[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,A,B,m,n},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && EqQ[A*b+a*B]
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(A_.+B_.*tan[e_.+f_.*x_])/(c_.+d_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ (A*b+a*B)/(b*c+a*d)*Int[(a+b*Tan[e+f*x])^m,x] -
+ (B*c-A*d)/(b*c+a*d)*Int[(a+b*Tan[e+f*x])^m*(a-b*Tan[e+f*x])/(c+d*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,m},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[A*b+a*B]
+
+
+(* Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ (A*b-a*B)/b*Int[(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^n,x] +
+ B/b*Int[(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,A,B,m},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[c^2+d^2] *)
+
+
+Int[(a_+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ (A*b+a*B)/b*Int[(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^n,x] -
+ B/b*Int[(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^n*(a-b*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,m,n},x] && NeQ[b*c-a*d] && EqQ[a^2+b^2] && NeQ[A*b+a*B]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ A^2/f*Subst[Int[(a+b*x)^m*(c+d*x)^n/(A-B*x),x],x,Tan[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,A,B,m,n},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && Not[IntegerQ[m]] && Not[IntegerQ[n]] &&
+ Not[IntegersQ[2*m,2*n]] && EqQ[A^2+B^2]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ (A+I*B)/2*Int[(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^n*(1-I*Tan[e+f*x]),x] +
+ (A-I*B)/2*Int[(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^n*(1+I*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,m,n},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && Not[IntegerQ[m]] && Not[IntegerQ[n]] &&
+ Not[IntegersQ[2*m,2*n]] && NeQ[A^2+B^2]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ (b*c-a*d)*(B*c-A*d)*(a+b*Tan[e+f*x])^(m-1)*(c+d*Tan[e+f*x])^(n+1)/(d*f*(n+1)*(c^2+d^2)) -
+ 1/(d*(n+1)*(c^2+d^2))*Int[(a+b*Tan[e+f*x])^(m-2)*(c+d*Tan[e+f*x])^(n+1)*
+ Simp[a*A*d*(b*d*(m-1)-a*c*(n+1))+(b*B*c-(A*b+a*B)*d)*(b*c*(m-1)+a*d*(n+1))-
+ d*((a*A-b*B)*(b*c-a*d)+(A*b+a*B)*(a*c+b*d))*(n+1)*Tan[e+f*x]-
+ b*(d*(A*b*c+a*B*c-a*A*d)*(m+n)-b*B*(c^2*(m-1)-d^2*(n+1)))*Tan[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[m,n] && m>1 && n<-1 &&
+ (IntegerQ[m] || IntegersQ[2*m,2*n])
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ b*B*(a+b*Tan[e+f*x])^(m-1)*(c+d*Tan[e+f*x])^(n+1)/(d*f*(m+n)) +
+ 1/(d*(m+n))*Int[(a+b*Tan[e+f*x])^(m-2)*(c+d*Tan[e+f*x])^n*
+ Simp[a^2*A*d*(m+n)-b*B*(b*c*(m-1)+a*d*(n+1))+
+ d*(m+n)*(2*a*A*b+B*(a^2-b^2))*Tan[e+f*x]-
+ (b*B*(b*c-a*d)*(m-1)-b*(A*b+a*B)*d*(m+n))*Tan[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,n},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[m] && m>1 &&
+ (IntegerQ[m] || IntegersQ[2*m,2*n]) && Not[IntegerQ[n] && n>1 && (Not[IntegerQ[m]] || EqQ[c] && NeQ[a])]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ (A*b-a*B)*(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^n/(f*(m+1)*(a^2+b^2)) +
+ 1/(b*(m+1)*(a^2+b^2))*Int[(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^(n-1)*
+ Simp[b*B*(b*c*(m+1)+a*d*n)+A*b*(a*c*(m+1)-b*d*n)-b*(A*(b*c-a*d)-B*(a*c+b*d))*(m+1)*Tan[e+f*x]-b*d*(A*b-a*B)*(m+n+1)*Tan[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[m,n] && m<-1 && 00 && n<-1
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+C_.*tan[e_.+f_.*x_]^2),x_Symbol] :=
+ (A*d^2+c^2*C)*(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^(n+1)/(d*f*(n+1)*(c^2+d^2)) -
+ 1/(d*(n+1)*(c^2+d^2))*Int[(a+b*Tan[e+f*x])^(m-1)*(c+d*Tan[e+f*x])^(n+1)*
+ Simp[A*d*(b*d*m-a*c*(n+1))+c*C*(b*c*m+a*d*(n+1)) -
+ d*(n+1)*((A-C)*(b*c-a*d))*Tan[e+f*x] +
+ b*(A*d^2*(m+n+1)+C*(c^2*m-d^2*(n+1)))*Tan[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,C},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[m,n] && m>0 && n<-1
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_.*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]+C_.*tan[e_.+f_.*x_]^2),x_Symbol] :=
+ C*(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^(n+1)/(d*f*(m+n+1)) +
+ 1/(d*(m+n+1))*Int[(a+b*Tan[e+f*x])^(m-1)*(c+d*Tan[e+f*x])^n*
+ Simp[a*A*d*(m+n+1)-C*(b*c*m+a*d*(n+1))+d*(A*b+a*B-b*C)*(m+n+1)*Tan[e+f*x]-(C*m*(b*c-a*d)-b*B*d*(m+n+1))*Tan[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,n},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[m] && m>0 &&
+ Not[IntegerQ[n] && n>0 && (Not[IntegerQ[m]] || EqQ[c] && NeQ[a])]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_.*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+C_.*tan[e_.+f_.*x_]^2),x_Symbol] :=
+ C*(a+b*Tan[e+f*x])^m*(c+d*Tan[e+f*x])^(n+1)/(d*f*(m+n+1)) +
+ 1/(d*(m+n+1))*Int[(a+b*Tan[e+f*x])^(m-1)*(c+d*Tan[e+f*x])^n*
+ Simp[a*A*d*(m+n+1)-C*(b*c*m+a*d*(n+1))+d*(A*b-b*C)*(m+n+1)*Tan[e+f*x]-C*m*(b*c-a*d)*Tan[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,C,n},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[m] && m>0 &&
+ Not[IntegerQ[n] && n>0 && (Not[IntegerQ[m]] || EqQ[c] && NeQ[a])]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]+C_.*tan[e_.+f_.*x_]^2),x_Symbol] :=
+ (A*b^2-a*(b*B-a*C))*(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^(n+1)/(f*(m+1)*(b*c-a*d)*(a^2+b^2)) +
+ 1/((m+1)*(b*c-a*d)*(a^2+b^2))*Int[(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^n*
+ Simp[A*(a*(b*c -a*d)*(m+1)-b^2*d*(m+n+2))+(b*B-a*C)*(b*c*(m+1)+a*d*(n+1)) -
+ (m+1)*(b*c-a*d)*(A*b-a*B-b*C)*Tan[e+f*x] -
+ d*(A*b^2-a*(b*B-a*C))*(m+n+2)*Tan[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,n},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[m] && m<-1 &&
+ Not[IntegerQ[n] && n<-1 && (Not[IntegerQ[m]] || EqQ[c] && NeQ[a])]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+C_.*tan[e_.+f_.*x_]^2),x_Symbol] :=
+ (A*b^2+a^2*C)*(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^(n+1)/(f*(m+1)*(b*c-a*d)*(a^2+b^2)) +
+ 1/((m+1)*(b*c-a*d)*(a^2+b^2))*Int[(a+b*Tan[e+f*x])^(m+1)*(c+d*Tan[e+f*x])^n*
+ Simp[A*(a*(b*c -a*d)*(m+1)-b^2*d*(m+n+2))-a*C*(b*c*(m+1)+a*d*(n+1)) -
+ (m+1)*(b*c-a*d)*(A*b-b*C)*Tan[e+f*x] -
+ d*(A*b^2+a^2*C)*(m+n+2)*Tan[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f,A,C,n},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] && RationalQ[m] && m<-1 &&
+ Not[IntegerQ[n] && n<-1 && (Not[IntegerQ[m]] || EqQ[c] && NeQ[a])]
+
+
+Int[(A_.+B_.*tan[e_.+f_.*x_]+C_.*tan[e_.+f_.*x_]^2)/((a_+b_.*tan[e_.+f_.*x_])*(c_.+d_.*tan[e_.+f_.*x_])),x_Symbol] :=
+ (a*(A*c-c*C+B*d)+b*(B*c-A*d+C*d))*x/((a^2+b^2)*(c^2+d^2)) +
+ (A*b^2-a*b*B+a^2*C)/((b*c-a*d)*(a^2+b^2))*Int[(b-a*Tan[e+f*x])/(a+b*Tan[e+f*x]),x] -
+ (c^2*C-B*c*d+A*d^2)/((b*c-a*d)*(c^2+d^2))*Int[(d-c*Tan[e+f*x])/(c+d*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2]
+
+
+Int[(A_.+C_.*tan[e_.+f_.*x_]^2)/((a_+b_.*tan[e_.+f_.*x_])*(c_.+d_.*tan[e_.+f_.*x_])),x_Symbol] :=
+ (a*(A*c-c*C)-b*(A*d-C*d))*x/((a^2+b^2)*(c^2+d^2)) +
+ (A*b^2+a^2*C)/((b*c-a*d)*(a^2+b^2))*Int[(b-a*Tan[e+f*x])/(a+b*Tan[e+f*x]),x] -
+ (c^2*C+A*d^2)/((b*c-a*d)*(c^2+d^2))*Int[(d-c*Tan[e+f*x])/(c+d*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,C},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2]
+
+
+Int[(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]+C_.*tan[e_.+f_.*x_]^2)/(a_.+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ 1/(a^2+b^2)*Int[(c+d*Tan[e+f*x])^n*Simp[b*B+a*(A-C)+(a*B-b*(A-C))*Tan[e+f*x],x],x] +
+ (A*b^2-a*b*B+a^2*C)/(a^2+b^2)*Int[(c+d*Tan[e+f*x])^n*(1+Tan[e+f*x]^2)/(a+b*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,n},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] &&
+ Not[RationalQ[n] && n>0] && Not[RationalQ[n] && n<=-1]
+
+
+Int[(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+C_.*tan[e_.+f_.*x_]^2)/(a_.+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ 1/(a^2+b^2)*Int[(c+d*Tan[e+f*x])^n*Simp[a*(A-C)-(A*b-b*C)*Tan[e+f*x],x],x] +
+ (A*b^2+a^2*C)/(a^2+b^2)*Int[(c+d*Tan[e+f*x])^n*(1+Tan[e+f*x]^2)/(a+b*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,C,n},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2] &&
+ Not[RationalQ[n] && n>0] && Not[RationalQ[n] && n<=-1]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+B_.*tan[e_.+f_.*x_]+C_.*tan[e_.+f_.*x_]^2),x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff/f*Subst[Int[(a+b*ff*x)^m*(c+d*ff*x)^n*(A+B*ff*x+C*ff^2*x^2)/(1+ff^2*x^2),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,m,n},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2]
+
+
+Int[(a_.+b_.*tan[e_.+f_.*x_])^m_*(c_.+d_.*tan[e_.+f_.*x_])^n_*(A_.+C_.*tan[e_.+f_.*x_]^2),x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff/f*Subst[Int[(a+b*ff*x)^m*(c+d*ff*x)^n*(A+C*ff^2*x^2)/(1+ff^2*x^2),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,c,d,e,f,A,C,m,n},x] && NeQ[b*c-a*d] && NeQ[a^2+b^2] && NeQ[c^2+d^2]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.2.7 (d trig)^m (a+b (c tan)^n)^p*)
+
+
+Int[u_.*(a_+b_.*tan[e_.+f_.*x_]^2)^p_,x_Symbol] :=
+ a^p*Int[ActivateTrig[u*sec[e+f*x]^(2*p)],x] /;
+FreeQ[{a,b,e,f,p},x] && EqQ[a-b,0] && IntegerQ[p]
+
+
+Int[u_.*(a_+b_.*tan[e_.+f_.*x_]^2)^p_,x_Symbol] :=
+ Int[ActivateTrig[u*(a*sec[e+f*x]^2)^p],x] /;
+FreeQ[{a,b,e,f,p},x] && EqQ[a-b,0]
+
+
+Int[u_.*(b_.*tan[e_.+f_.*x_]^n_)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ (b*ff^n)^IntPart[p]*(b*Tan[e+f*x]^n)^FracPart[p]/(Tan[e+f*x]/ff)^(n*FracPart[p])*
+ Int[ActivateTrig[u]*(Tan[e+f*x]/ff)^(n*p),x]] /;
+FreeQ[{b,e,f,n,p},x] && Not[IntegerQ[p]] && IntegerQ[n] &&
+ (EqQ[u,1] || MatchQ[u,(d_.*trig_[e+f*x])^m_. /; FreeQ[{d,m},x] && MemberQ[{sin,cos,tan,cot,sec,csc},trig]])
+
+
+Int[u_.*(b_.*(c_.*tan[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ b^IntPart[p]*(b*(c*Tan[e+f*x])^n)^FracPart[p]/(c*Tan[e+f*x])^(n*FracPart[p])*
+ Int[ActivateTrig[u]*(c*Tan[e+f*x])^(n*p),x] /;
+FreeQ[{b,c,e,f,n,p},x] && Not[IntegerQ[p]] && Not[IntegerQ[n]] &&
+ (EqQ[u,1] || MatchQ[u,(d_.*trig_[e+f*x])^m_. /; FreeQ[{d,m},x] && MemberQ[{sin,cos,tan,cot,sec,csc},trig]])
+
+
+Int[1/(a_+b_.*tan[e_.+f_.*x_]^2),x_Symbol] :=
+ 1/a*Int[Cos[e+f*x]^2,x] /;
+FreeQ[{a,b,e,f},x] && EqQ[a-b]
+
+
+Int[1/(a_+b_.*tan[e_.+f_.*x_]^2),x_Symbol] :=
+ x/(a-b) - b/(a-b)*Int[Sec[e+f*x]^2/(a+b*Tan[e+f*x]^2),x] /;
+FreeQ[{a,b,e,f},x] && NeQ[a-b]
+
+
+Int[(a_+b_.*(c_.*tan[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ c*ff/f*Subst[Int[(a+b*(ff*x)^n)^p/(c^2+ff^2*x^2),x],x,c*Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,c,e,f,n,p},x] && (IntegersQ[n,p] || IGtQ[p,0] || EqQ[n^2,4] || EqQ[n^2,16])
+
+
+Int[(a_+b_.*(c_.*tan[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ Defer[Int][(a+b*(c*Tan[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,e,f,n,p},x]
+
+
+Int[sin[e_.+f_.*x_]^m_*(a_+b_.*(c_.*tan[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ c*ff^(m+1)/f*Subst[Int[x^m*(a+b*(ff*x)^n)^p/(c^2+ff^2*x^2)^(m/2+1),x],x,c*Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,c,e,f,n,p},x] && IntegerQ[m/2]
+
+
+Int[sin[e_.+f_.*x_]^m_.*(a_+b_.*tan[e_.+f_.*x_]^2)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Sec[e+f*x],x]},
+ 1/(f*ff^m)*Subst[Int[(-1+ff^2*x^2)^((m-1)/2)*(a-b+b*ff^2*x^2)^p/x^(m+1),x],x,Sec[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,p},x] && IntegerQ[(m-1)/2]
+
+
+Int[sin[e_.+f_.*x_]^m_.*(a_+b_.*tan[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Sec[e+f*x],x]},
+ 1/(f*ff^m)*Subst[Int[(-1+ff^2*x^2)^((m-1)/2)*(a+b*(-1+ff^2*x^2)^(n/2))^p/x^(m+1),x],x,Sec[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,p},x] && IntegerQ[(m-1)/2] && IntegerQ[n/2]
+
+
+Int[(d_.*sin[e_.+f_.*x_])^m_.*(a_+b_.*(c_.*tan[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ Int[ExpandTrig[(d*sin[e+f*x])^m*(a+b*(c*tan[e+f*x])^n)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && IGtQ[p,0]
+
+
+Int[(d_.*sin[e_.+f_.*x_])^m_*(a_+b_.*tan[e_.+f_.*x_]^2)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff*(d*Sin[e+f*x])^m*(Sec[e+f*x]^2)^(m/2)/(f*Tan[e+f*x]^m)*
+ Subst[Int[(ff*x)^m*(a+b*ff^2*x^2)^p/(1+ff^2*x^2)^(m/2+1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,d,e,f,m,p},x] && Not[IntegerQ[m]]
+
+
+Int[(d_.*sin[e_.+f_.*x_])^m_.*(a_+b_.*(c_.*tan[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ Defer[Int][(d*Sin[e+f*x])^m*(a+b*(c*Tan[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x]
+
+
+Int[(d_.*cos[e_.+f_.*x_])^m_*(a_+b_.*(c_.*tan[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ (d*Cos[e+f*x])^FracPart[m]*(Sec[e+f*x]/d)^FracPart[m]*Int[(Sec[e+f*x]/d)^(-m)*(a+b*(c*Tan[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[IntegerQ[m]]
+
+
+Int[(d_.*tan[e_.+f_.*x_])^m_.*(a_+b_.*(c_.*tan[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ c*ff/f*Subst[Int[(d*ff*x/c)^m*(a+b*(ff*x)^n)^p/(c^2+ff^2*x^2),x],x,c*Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && (IGtQ[p,0] || EqQ[n,2] || EqQ[n,4] || IntegerQ[p] && RationalQ[n])
+
+
+Int[(d_.*tan[e_.+f_.*x_])^m_.*(a_+b_.*(c_.*tan[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ Int[ExpandTrig[(d*tan[e+f*x])^m*(a+b*(c*tan[e+f*x])^n)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && IGtQ[p,0]
+
+
+Int[(d_.*tan[e_.+f_.*x_])^m_.*(a_+b_.*(c_.*tan[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ Defer[Int][(d*Tan[e+f*x])^m*(a+b*(c*Tan[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x]
+
+
+Int[(d_.*cot[e_.+f_.*x_])^m_*(a_+b_.*tan[e_.+f_.*x_]^n_.)^p_.,x_Symbol] :=
+ d^(n*p)*Int[(d*Cot[e+f*x])^(m-n*p)*(b+a*Cot[e+f*x]^n)^p,x] /;
+FreeQ[{a,b,d,e,f,m,n,p},x] && Not[IntegerQ[m]] && IntegersQ[n,p]
+
+
+Int[(d_.*cot[e_.+f_.*x_])^m_*(a_+b_.*(c_.*tan[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ (d*Cot[e+f*x])^FracPart[m]*(Tan[e+f*x]/d)^FracPart[m]*Int[(Tan[e+f*x]/d)^(-m)*(a+b*(c*Tan[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[IntegerQ[m]]
+
+
+Int[sec[e_.+f_.*x_]^m_*(a_+b_.*(c_.*tan[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff/(c^(m-1)*f)*Subst[Int[(c^2+ff^2*x^2)^(m/2-1)*(a+b*(ff*x)^n)^p,x],x,c*Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,c,e,f,n,p},x] && IntegerQ[m/2] && (IntegersQ[n,p] || IGtQ[m,0] || IGtQ[p,0] || EqQ[n^2,4] || EqQ[n^2,16])
+
+
+Int[sec[e_.+f_.*x_]^m_.*(a_+b_.*tan[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Sin[e+f*x],x]},
+ ff/f*Subst[Int[ExpandToSum[b*(ff*x)^n+a*(1-ff^2*x^2)^(n/2),x]^p/(1-ff^2*x^2)^((m+n*p+1)/2),x],x,Sin[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f},x] && IntegerQ[(m-1)/2] && IntegerQ[n/2] && IntegerQ[p]
+
+
+Int[sec[e_.+f_.*x_]^m_.*(a_+b_.*tan[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Sin[e+f*x],x]},
+ ff/f*Subst[Int[1/(1-ff^2*x^2)^((m+1)/2)*((b*(ff*x)^n+a*(1-ff^2*x^2)^(n/2))/(1-ff^2*x^2)^(n/2))^p,x],x,Sin[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,p},x] && IntegerQ[(m-1)/2] && IntegerQ[n/2] && Not[IntegerQ[p]]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*(c_.*tan[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ Int[ExpandTrig[(d*sec[e+f*x])^m*(a+b*(c*tan[e+f*x])^n)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && IGtQ[p,0]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_*(a_+b_.*tan[e_.+f_.*x_]^2)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff*(d*Sec[e+f*x])^m/(f*(Sec[e+f*x]^2)^(m/2))*
+ Subst[Int[(1+ff^2*x^2)^(m/2-1)*(a+b*ff^2*x^2)^p,x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,d,e,f,m,p},x] && Not[IntegerQ[m]]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*(c_.*tan[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ Defer[Int][(d*Sec[e+f*x])^m*(a+b*(c*Tan[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x]
+
+
+Int[(d_.*csc[e_.+f_.*x_])^m_*(a_+b_.*(c_.*tan[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ (d*Csc[e+f*x])^FracPart[m]*(Sin[e+f*x]/d)^FracPart[m]*Int[(Sin[e+f*x]/d)^(-m)*(a+b*(c*Tan[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[IntegerQ[m]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.2.9 trig^m (a+b tan^n+c tan^(2 n))^p*)
+
+
+Int[(a_+b_.*tan[d_.+e_.*x_]^n_.+c_.*tan[d_.+e_.*x_]^n2_.)^p_.,x_Symbol] :=
+ 1/(4^p*c^p)*Int[(b+2*c*Tan[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && IntegerQ[p]
+
+
+Int[(a_+b_.*cot[d_.+e_.*x_]^n_.+c_.*cot[d_.+e_.*x_]^n2_.)^p_.,x_Symbol] :=
+ 1/(4^p*c^p)*Int[(b+2*c*Cot[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && IntegerQ[p]
+
+
+Int[(a_+b_.*tan[d_.+e_.*x_]^n_.+c_.*tan[d_.+e_.*x_]^n2_.)^p_,x_Symbol] :=
+ (a+b*Tan[d+e*x]^n+c*Tan[d+e*x]^(2*n))^p/(b+2*c*Tan[d+e*x]^n)^(2*p)*Int[(b+2*c*Tan[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]]
+
+
+Int[(a_+b_.*cot[d_.+e_.*x_]^n_.+c_.*cot[d_.+e_.*x_]^n2_.)^p_,x_Symbol] :=
+ (a+b*Cot[d+e*x]^n+c*Cot[d+e*x]^(2*n))^p/(b+2*c*Cot[d+e*x]^n)^(2*p)*Int[(b+2*c*Cot[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]]
+
+
+Int[1/(a_.+b_.*tan[d_.+e_.*x_]^n_.+c_.*tan[d_.+e_.*x_]^n2_.),x_Symbol] :=
+ Module[{q=Rt[b^2-4*a*c,2]},
+ 2*c/q*Int[1/(b-q+2*c*Tan[d+e*x]^n),x] -
+ 2*c/q*Int[1/(b+q+2*c*Tan[d+e*x]^n),x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c]
+
+
+Int[1/(a_.+b_.*cot[d_.+e_.*x_]^n_.+c_.*cot[d_.+e_.*x_]^n2_.),x_Symbol] :=
+ Module[{q=Rt[b^2-4*a*c,2]},
+ 2*c/q*Int[1/(b-q+2*c*Cot[d+e*x]^n),x] -
+ 2*c/q*Int[1/(b+q+2*c*Cot[d+e*x]^n),x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c]
+
+
+Int[sin[d_.+e_.*x_]^m_*(a_.+b_.*(f_.*tan[d_.+e_.*x_])^n_.+c_.*(f_.*tan[d_.+e_.*x_])^n2_.)^p_,x_Symbol] :=
+ f/e*Subst[Int[x^m*(a+b*x^n+c*x^(2*n))^p/(f^2+x^2)^(m/2+1),x],x,f*Tan[d+e*x]] /;
+FreeQ[{a,b,c,d,e,f,n,p},x] && EqQ[n2-2*n] && IntegerQ[m/2]
+
+
+Int[cos[d_.+e_.*x_]^m_*(a_.+b_.*(f_.*cot[d_.+e_.*x_])^n_.+c_.*(f_.*cot[d_.+e_.*x_])^n2_.)^p_,x_Symbol] :=
+ -f/e*Subst[Int[x^m*(a+b*x^n+c*x^(2*n))^p/(f^2+x^2)^(m/2+1),x],x,f*Cot[d+e*x]] /;
+FreeQ[{a,b,c,d,e,f,n,p},x] && EqQ[n2-2*n] && IntegerQ[m/2]
+
+
+Int[sin[d_.+e_.*x_]^m_.*(a_.+b_.*tan[d_.+e_.*x_]^n_.+c_.*tan[d_.+e_.*x_]^n2_.)^p_.,x_Symbol] :=
+ Module[{g=FreeFactors[Cos[d+e*x],x]},
+ -g/e*Subst[Int[(1-g^2*x^2)^((m-1)/2)*ExpandToSum[a*(g*x)^(2*n)+b*(g*x)^n*(1-g^2*x^2)^(n/2)+c*(1-g^2*x^2)^n,x]^p/(g*x)^(2*n*p),x],x,Cos[d+e*x]/g]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[n2-2*n] && OddQ[m] && EvenQ[n] && IntegerQ[p]
+
+
+Int[cos[d_.+e_.*x_]^m_.*(a_.+b_.*cot[d_.+e_.*x_]^n_.+c_.*tan[d_.+e_.*x_]^n2_.)^p_.,x_Symbol] :=
+ Module[{g=FreeFactors[Sin[d+e*x],x]},
+ g/e*Subst[Int[(1-g^2*x^2)^((m-1)/2)*ExpandToSum[a*(g*x)^(2*n)+b*(g*x)^n*(1-g^2*x^2)^(n/2)+c*(1-g^2*x^2)^n,x]^p/(g*x)^(2*n*p),x],x,Sin[d+e*x]/g]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[n2-2*n] && OddQ[m] && EvenQ[n] && IntegerQ[p]
+
+
+Int[cos[d_.+e_.*x_]^m_*(a_.+b_.*(f_.*tan[d_.+e_.*x_])^n_.+c_.*(f_.*tan[d_.+e_.*x_])^n2_.)^p_.,x_Symbol] :=
+ f^(m+1)/e*Subst[Int[(a+b*x^n+c*x^(2*n))^p/(f^2+x^2)^(m/2+1),x],x,f*Tan[d+e*x]] /;
+FreeQ[{a,b,c,d,e,f,n,p},x] && EqQ[n2-2*n] && EvenQ[m]
+
+
+Int[sin[d_.+e_.*x_]^m_*(a_.+b_.*(f_.*cot[d_.+e_.*x_])^n_.+c_.*(f_.*cot[d_.+e_.*x_])^n2_.)^p_.,x_Symbol] :=
+ -f^(m+1)/e*Subst[Int[(a+b*x^n+c*x^(2*n))^p/(f^2+x^2)^(m/2+1),x],x,f*Cot[d+e*x]] /;
+FreeQ[{a,b,c,d,e,f,n,p},x] && EqQ[n2-2*n] && EvenQ[m]
+
+
+Int[cos[d_.+e_.*x_]^m_*(a_.+b_.*tan[d_.+e_.*x_]^n_.+c_.*tan[d_.+e_.*x_]^n2_.)^p_.,x_Symbol] :=
+ Module[{g=FreeFactors[Sin[d+e*x],x]},
+ g/e*Subst[Int[(1-g^2*x^2)^((m-2*n*p-1)/2)*ExpandToSum[c*x^(2*n)+b*x^n*(1-x^2)^(n/2)+a*(1-x^2)^n,x]^p,x],x,Sin[d+e*x]/g]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[n2-2*n] && OddQ[m] && EvenQ[n] && IntegerQ[p]
+
+
+Int[sin[d_.+e_.*x_]^m_*(a_.+b_.*cot[d_.+e_.*x_]^n_.+c_.*cot[d_.+e_.*x_]^n2_.)^p_.,x_Symbol] :=
+ Module[{g=FreeFactors[Cos[d+e*x],x]},
+ -g/e*Subst[Int[(1-g^2*x^2)^((m-2*n*p-1)/2)*ExpandToSum[c*x^(2*n)+b*x^n*(1-x^2)^(n/2)+a*(1-x^2)^n,x]^p,x],x,Cos[d+e*x]/g]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[n2-2*n] && OddQ[m] && EvenQ[n] && IntegerQ[p]
+
+
+Int[tan[d_.+e_.*x_]^m_.*(a_.+b_.*tan[d_.+e_.*x_]^n_.+c_.*tan[d_.+e_.*x_]^n2_.)^p_,x_Symbol] :=
+ 1/(4^p*c^p)*Int[Tan[d+e*x]^m*(b+2*c*Tan[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && IntegerQ[p]
+
+
+Int[cot[d_.+e_.*x_]^m_.*(a_.+b_.*cot[d_.+e_.*x_]^n_.+c_.*cot[d_.+e_.*x_]^n2_.)^p_,x_Symbol] :=
+ 1/(4^p*c^p)*Int[Cot[d+e*x]^m*(b+2*c*Cot[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && IntegerQ[p]
+
+
+Int[tan[d_.+e_.*x_]^m_.*(a_.+b_.*tan[d_.+e_.*x_]^n_.+c_.*tan[d_.+e_.*x_]^n2_.)^p_,x_Symbol] :=
+ (a+b*Tan[d+e*x]^n+c*Tan[d+e*x]^(2*n))^p/(b+2*c*Tan[d+e*x]^n)^(2*p)*Int[Tan[d+e*x]^m*(b+2*c*Tan[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]]
+
+
+Int[cot[d_.+e_.*x_]^m_.*(a_.+b_.*cot[d_.+e_.*x_]^n_.+c_.*cot[d_.+e_.*x_]^n2_.)^p_,x_Symbol] :=
+ (a+b*Cot[d+e*x]^n+c*Cot[d+e*x]^(2*n))^p/(b+2*c*Cot[d+e*x]^n)^(2*p)*Int[Cot[d+e*x]^m*(b+2*c*Cot[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]]
+
+
+Int[tan[d_.+e_.*x_]^m_.*(a_.+b_.*(f_.*tan[d_.+e_.*x_])^n_.+c_.*(f_.*tan[d_.+e_.*x_])^n2_.)^p_,x_Symbol] :=
+ f/e*Subst[Int[(x/f)^m*(a+b*x^n+c*x^(2*n))^p/(f^2+x^2),x],x,f*Tan[d+e*x]] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c]
+
+
+Int[cot[d_.+e_.*x_]^m_.*(a_.+b_.*(f_.*cot[d_.+e_.*x_])^n_.+c_.*(f_.*cot[d_.+e_.*x_])^n2_.)^p_,x_Symbol] :=
+ -f/e*Subst[Int[(x/f)^m*(a+b*x^n+c*x^(2*n))^p/(f^2+x^2),x],x,f*Cot[d+e*x]] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c]
+
+
+Int[cot[d_.+e_.*x_]^m_.*(a_.+b_.*tan[d_.+e_.*x_]^n_.+c_.*tan[d_.+e_.*x_]^n2_.)^p_.,x_Symbol] :=
+ 1/(4^p*c^p)*Int[Cot[d+e*x]^m*(b+2*c*Tan[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && IntegerQ[p]
+
+
+Int[tan[d_.+e_.*x_]^m_.*(a_.+b_.*cot[d_.+e_.*x_]^n_.+c_.*cot[d_.+e_.*x_]^n2_.)^p_.,x_Symbol] :=
+ 1/(4^p*c^p)*Int[Tan[d+e*x]^m*(b+2*c*Cot[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && IntegerQ[p]
+
+
+Int[cot[d_.+e_.*x_]^m_.*(a_.+b_.*tan[d_.+e_.*x_]^n_.+c_.*tan[d_.+e_.*x_]^n2_.)^p_,x_Symbol] :=
+ (a+b*Tan[d+e*x]^n+c*Tan[d+e*x]^(2*n))^p/(b+2*c*Tan[d+e*x]^n)^(2*p)*Int[Cot[d+e*x]^m*(b+2*c*Tan[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]]
+
+
+Int[tan[d_.+e_.*x_]^m_.*(a_.+b_.*cot[d_.+e_.*x_]^n_.+c_.*cot[d_.+e_.*x_]^n2_.)^p_,x_Symbol] :=
+ (a+b*Cot[d+e*x]^n+c*Cot[d+e*x]^(2*n))^p/(b+2*c*Cot[d+e*x]^n)^(2*p)*Int[Tan[d+e*x]^m*(b+2*c*Cot[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]]
+
+
+Int[cot[d_.+e_.*x_]^m_.*(a_.+b_.*tan[d_.+e_.*x_]^n_+c_.*tan[d_.+e_.*x_]^n2_)^p_.,x_Symbol] :=
+ Module[{g=FreeFactors[Cot[d+e*x],x]},
+ g/e*Subst[Int[(g*x)^(m-2*n*p)*(c+b*(g*x)^n+a*(g*x)^(2*n))^p/(1+g^2*x^2),x],x,Cot[d+e*x]/g]] /;
+FreeQ[{a,b,c,d,e,m,p},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && EvenQ[n]
+
+
+Int[tan[d_.+e_.*x_]^m_.*(a_.+b_.*cot[d_.+e_.*x_]^n_+c_.*cot[d_.+e_.*x_]^n2_)^p_.,x_Symbol] :=
+ Module[{g=FreeFactors[Tan[d+e*x],x]},
+ -g/e*Subst[Int[(g*x)^(m-2*n*p)*(c+b*(g*x)^n+a*(g*x)^(2*n))^p/(1+g^2*x^2),x],x,Tan[d+e*x]/g]] /;
+FreeQ[{a,b,c,d,e,m,p},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c] && EvenQ[n]
+
+
+Int[(A_+B_.*tan[d_.+e_.*x_])*(a_+b_.*tan[d_.+e_.*x_]+c_.*tan[d_.+e_.*x_]^2)^n_,x_Symbol] :=
+ 1/(4^n*c^n)*Int[(A+B*Tan[d+e*x])*(b+2*c*Tan[d+e*x])^(2*n),x] /;
+FreeQ[{a,b,c,d,e,A,B},x] && EqQ[b^2-4*a*c] && IntegerQ[n]
+
+
+Int[(A_+B_.*cot[d_.+e_.*x_])*(a_+b_.*cot[d_.+e_.*x_]+c_.*cot[d_.+e_.*x_]^2)^n_,x_Symbol] :=
+ 1/(4^n*c^n)*Int[(A+B*Cot[d+e*x])*(b+2*c*Cot[d+e*x])^(2*n),x] /;
+FreeQ[{a,b,c,d,e,A,B},x] && EqQ[b^2-4*a*c] && IntegerQ[n]
+
+
+Int[(A_+B_.*tan[d_.+e_.*x_])*(a_+b_.*tan[d_.+e_.*x_]+c_.*tan[d_.+e_.*x_]^2)^n_,x_Symbol] :=
+ (a+b*Tan[d+e*x]+c*Tan[d+e*x]^2)^n/(b+2*c*Tan[d+e*x])^(2*n)*Int[(A+B*Tan[d+e*x])*(b+2*c*Tan[d+e*x])^(2*n),x] /;
+FreeQ[{a,b,c,d,e,A,B},x] && EqQ[b^2-4*a*c] && Not[IntegerQ[n]]
+
+
+Int[(A_+B_.*cot[d_.+e_.*x_])*(a_+b_.*cot[d_.+e_.*x_]+c_.*cot[d_.+e_.*x_]^2)^n_,x_Symbol] :=
+ (a+b*Cot[d+e*x]+c*Cot[d+e*x]^2)^n/(b+2*c*Cot[d+e*x])^(2*n)*Int[(A+B*Cot[d+e*x])*(b+2*c*Cot[d+e*x])^(2*n),x] /;
+FreeQ[{a,b,c,d,e,A,B},x] && EqQ[b^2-4*a*c] && Not[IntegerQ[n]]
+
+
+Int[(A_+B_.*tan[d_.+e_.*x_])/(a_.+b_.*tan[d_.+e_.*x_]+c_.*tan[d_.+e_.*x_]^2),x_Symbol] :=
+ Module[{q=Rt[b^2-4*a*c,2]},
+ (B+(b*B-2*A*c)/q)*Int[1/Simp[b+q+2*c*Tan[d+e*x],x],x] +
+ (B-(b*B-2*A*c)/q)*Int[1/Simp[b-q+2*c*Tan[d+e*x],x],x]] /;
+FreeQ[{a,b,c,d,e,A,B},x] && NeQ[b^2-4*a*c]
+
+
+Int[(A_+B_.*cot[d_.+e_.*x_])/(a_.+b_.*cot[d_.+e_.*x_]+c_.*cot[d_.+e_.*x_]^2),x_Symbol] :=
+ Module[{q=Rt[b^2-4*a*c,2]},
+ (B+(b*B-2*A*c)/q)*Int[1/Simp[b+q+2*c*Cot[d+e*x],x],x] +
+ (B-(b*B-2*A*c)/q)*Int[1/Simp[b-q+2*c*Cot[d+e*x],x],x]] /;
+FreeQ[{a,b,c,d,e,A,B},x] && NeQ[b^2-4*a*c]
+
+
+Int[(A_+B_.*tan[d_.+e_.*x_])*(a_.+b_.*tan[d_.+e_.*x_]+c_.*tan[d_.+e_.*x_]^2)^n_,x_Symbol] :=
+ Int[ExpandTrig[(A+B*tan[d+e*x])*(a+b*tan[d+e*x]+c*tan[d+e*x]^2)^n,x],x] /;
+FreeQ[{a,b,c,d,e,A,B},x] && NeQ[b^2-4*a*c] && IntegerQ[n]
+
+
+Int[(A_+B_.*cot[d_.+e_.*x_])*(a_.+b_.*cot[d_.+e_.*x_]+c_.*cot[d_.+e_.*x_]^2)^n_,x_Symbol] :=
+ Int[ExpandTrig[(A+B*cot[d+e*x])*(a+b*cot[d+e*x]+c*cot[d+e*x]^2)^n,x],x] /;
+FreeQ[{a,b,c,d,e,A,B},x] && NeQ[b^2-4*a*c] && IntegerQ[n]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.2.10 (c+d x)^m (a+b tan)^n*)
+
+
+Int[(c_.+d_.*x_)^m_.*tan[e_.+k_.*Pi+f_.*Complex[0,fz_]*x_],x_Symbol] :=
+ -I*(c+d*x)^(m+1)/(d*(m+1)) + 2*I*Int[(c+d*x)^m*E^(-2*I*k*Pi)*E^(2*(-I*e+f*fz*x))/(1+E^(-2*I*k*Pi)*E^(2*(-I*e+f*fz*x))),x] /;
+FreeQ[{c,d,e,f,fz},x] && IntegerQ[4*k] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_.*tan[e_.+k_.*Pi+f_.*x_],x_Symbol] :=
+ I*(c+d*x)^(m+1)/(d*(m+1)) - 2*I*Int[(c+d*x)^m*E^(2*I*k*Pi)*E^(2*I*(e+f*x))/(1+E^(2*I*k*Pi)*E^(2*I*(e+f*x))),x] /;
+FreeQ[{c,d,e,f},x] && IntegerQ[4*k] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_.*tan[e_.+f_.*Complex[0,fz_]*x_],x_Symbol] :=
+ -I*(c+d*x)^(m+1)/(d*(m+1)) + 2*I*Int[(c+d*x)^m*E^(2*(-I*e+f*fz*x))/(1+E^(2*(-I*e+f*fz*x))),x] /;
+FreeQ[{c,d,e,f,fz},x] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_.*tan[e_.+f_.*x_],x_Symbol] :=
+ I*(c+d*x)^(m+1)/(d*(m+1)) - 2*I*Int[(c+d*x)^m*E^(2*I*(e+f*x))/(1+E^(2*I*(e+f*x))),x] /;
+FreeQ[{c,d,e,f},x] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_.*(b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*(c+d*x)^m*(b*Tan[e+f*x])^(n-1)/(f*(n-1)) -
+ b*d*m/(f*(n-1))*Int[(c+d*x)^(m-1)*(b*Tan[e+f*x])^(n-1),x] -
+ b^2*Int[(c+d*x)^m*(b*Tan[e+f*x])^(n-2),x] /;
+FreeQ[{b,c,d,e,f},x] && RationalQ[m,n] && n>1 && m>0
+
+
+Int[(c_.+d_.*x_)^m_.*(b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ (c+d*x)^m*(b*Tan[e+f*x])^(n+1)/(b*f*(n+1)) -
+ d*m/(b*f*(n+1))*Int[(c+d*x)^(m-1)*(b*Tan[e+f*x])^(n+1),x] -
+ 1/b^2*Int[(c+d*x)^m*(b*Tan[e+f*x])^(n+2),x] /;
+FreeQ[{b,c,d,e,f},x] && RationalQ[m,n] && n<-1 && m>0
+
+
+Int[(c_.+d_.*x_)^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(c+d*x)^m,(a+b*Tan[e+f*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && PositiveIntegerQ[m,n]
+
+
+Int[(c_.+d_.*x_)^m_./(a_+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ (c+d*x)^(m+1)/(2*a*d*(m+1)) -
+ a*(c+d*x)^m/(2*b*f*(a+b*Tan[e+f*x])) +
+ a*d*m/(2*b*f)*Int[(c+d*x)^(m-1)/(a+b*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[a^2+b^2] && RationalQ[m] && m>0
+
+
+Int[1/((c_.+d_.*x_)^2*(a_+b_.*tan[e_.+f_.*x_])),x_Symbol] :=
+ -1/(d*(c+d*x)*(a+b*Tan[e+f*x])) +
+ f/(b*d)*Int[Cos[2*e+2*f*x]/(c+d*x),x] -
+ f/(a*d)*Int[Sin[2*e+2*f*x]/(c+d*x),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[a^2+b^2]
+
+
+Int[(c_.+d_.*x_)^m_/(a_+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ f*(c+d*x)^(m+2)/(b*d^2*(m+1)*(m+2)) +
+ (c+d*x)^(m+1)/(d*(m+1)*(a+b*Tan[e+f*x])) +
+ 2*b*f/(a*d*(m+1))*Int[(c+d*x)^(m+1)/(a+b*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[a^2+b^2] && RationalQ[m] && m<-1 && m!=-2
+
+
+(* Int[(c_.+d_.*x_)^m_/(a_+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ (c+d*x)^(m+1)/(d*(m+1)*(a+b*Tan[e+f*x])) +
+ f/(b*d*(m+1))*Int[(c+d*x)^(m+1),x] +
+ 2*b*f/(a*d*(m+1))*Int[(c+d*x)^(m+1)/(a+b*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[a^2+b^2] && RationalQ[m] && m<-1 *)
+
+
+Int[1/((c_.+d_.*x_)*(a_+b_.*tan[e_.+f_.*x_])),x_Symbol] :=
+ Log[c+d*x]/(2*a*d) +
+ 1/(2*a)*Int[Cos[2*e+2*f*x]/(c+d*x),x] +
+ 1/(2*b)*Int[Sin[2*e+2*f*x]/(c+d*x),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[a^2+b^2]
+
+
+Int[(c_.+d_.*x_)^m_/(a_+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ (c+d*x)^(m+1)/(2*a*d*(m+1)) +
+ 1/(2*a)*Int[(c+d*x)^m*E^(2*a/b*(e+f*x)),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[a^2+b^2] && Not[IntegerQ[m]]
+
+
+Int[(c_.+d_.*x_)^m_*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[(c+d*x)^m,(1/(2*a)+Cos[2*e+2*f*x]/(2*a)+Sin[2*e+2*f*x]/(2*b))^(-n),x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[a^2+b^2] && NegativeIntegerQ[m,n]
+
+
+Int[(c_.+d_.*x_)^m_*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[(c+d*x)^m,(1/(2*a)+E^(2*a/b*(e+f*x))/(2*a))^(-n),x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[a^2+b^2] && NegativeIntegerQ[n]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ With[{u=IntHide[(a+b*Tan[e+f*x])^n,x]},
+ Dist[(c+d*x)^m,u,x] - d*m*Int[Dist[(c+d*x)^(m-1),u,x],x]] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[a^2+b^2] && NegativeIntegerQ[n+1] && RationalQ[m] && m>0
+
+
+Int[(c_.+d_.*x_)^m_./(a_+b_.*tan[e_.+k_.*Pi+f_.*x_]),x_Symbol] :=
+ (c+d*x)^(m+1)/(d*(m+1)*(a-I*b)) - 2*I*b*Int[(c+d*x)^m/(a^2+b^2+(a-I*b)^2*E^(2*I*k*Pi)*E^(2*I*(e+f*x))),x] /;
+FreeQ[{a,b,c,d,e,f},x] && IntegerQ[4*k] && NeQ[a^2+b^2] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_./(a_+b_.*tan[e_.+f_.*x_]),x_Symbol] :=
+ (c+d*x)^(m+1)/(d*(m+1)*(a-I*b)) - 2*I*b*Int[(c+d*x)^m/(a^2+b^2+(a-I*b)^2*E^(2*I*(e+f*x))),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[a^2+b^2] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)/(a_+b_.*tan[e_.+f_.*x_])^2,x_Symbol] :=
+ -(c+d*x)^2/(2*d*(a^2+b^2)) -
+ b*(c+d*x)/(f*(a^2+b^2)*(a+b*Tan[e+f*x])) +
+ 1/(f*(a^2+b^2))*Int[(b*d+2*a*c*f+2*a*d*f*x)/(a+b*Tan[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[a^2+b^2]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[(c+d*x)^m,(1/(a-I*b)-2*I*b/(a^2+b^2+(a-I*b)^2*E^(2*I*(e+f*x))))^(-n),x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[a^2+b^2] && NegativeIntegerQ[n] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_.*tan[e_.+f_.*x_]^n_.,x_Symbol] :=
+ If[MatchQ[f,f1_.*Complex[0,j_]],
+ If[MatchQ[e,e1_.+Pi/2],
+ I^n*Defer[Int][(c+d*x)^m*Coth[-I*(e-Pi/2)-I*f*x]^n,x],
+ I^n*Defer[Int][(c+d*x)^m*Tanh[-I*e-I*f*x]^n,x]],
+ If[MatchQ[e,e1_.+Pi/2],
+ (-1)^n*Defer[Int][(c+d*x)^m*Cot[e-Pi/2+f*x]^n,x],
+ Defer[Int][(c+d*x)^m*Tan[e+f*x]^n,x]]] /;
+FreeQ[{c,d,e,f,m,n},x] && IntegerQ[n]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_.+b_.*tan[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(c+d*x)^m*(a+b*Tan[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x]
+
+
+Int[u_^m_.*(a_.+b_.*Tan[v_])^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*(a+b*Tan[ExpandToSum[v,x]])^n,x] /;
+FreeQ[{a,b,m,n},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+Int[u_^m_.*(a_.+b_.*Cot[v_])^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*(a+b*Cot[ExpandToSum[v,x]])^n,x] /;
+FreeQ[{a,b,m,n},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.2.11 (e x)^m (a+b tan(c+d x^n))^p*)
+
+
+Int[(a_.+b_.*Tan[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(1/n-1)*(a+b*Tan[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,p},x] && PositiveIntegerQ[1/n] && IntegerQ[p]
+
+
+Int[(a_.+b_.*Cot[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(1/n-1)*(a+b*Cot[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,p},x] && PositiveIntegerQ[1/n] && IntegerQ[p]
+
+
+Int[(a_.+b_.*Tan[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Defer[Int][(a+b*Tan[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,n,p},x]
+
+
+Int[(a_.+b_.*Cot[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Defer[Int][(a+b*Cot[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,n,p},x]
+
+
+Int[(a_.+b_.*Tan[c_.+d_.*u_^n_])^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*Tan[c+d*x^n])^p,x],x,u] /;
+FreeQ[{a,b,c,d,n,p},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+b_.*Cot[c_.+d_.*u_^n_])^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*Cot[c+d*x^n])^p,x],x,u] /;
+FreeQ[{a,b,c,d,n,p},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+b_.*Tan[u_])^p_.,x_Symbol] :=
+ Int[(a+b*Tan[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[(a_.+b_.*Cot[u_])^p_.,x_Symbol] :=
+ Int[(a+b*Cot[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[x_^m_.*(a_.+b_.*Tan[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(a+b*Tan[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,m,n,p},x] && PositiveIntegerQ[Simplify[(m+1)/n]] && IntegerQ[p]
+
+
+Int[x_^m_.*(a_.+b_.*Cot[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(a+b*Cot[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,m,n,p},x] && PositiveIntegerQ[Simplify[(m+1)/n]] && IntegerQ[p]
+
+
+Int[x_^m_.*Tan[c_.+d_.*x_^n_]^2,x_Symbol] :=
+ x^(m-n+1)*Tan[c+d*x^n]/(d*n) - Int[x^m,x] - (m-n+1)/(d*n)*Int[x^(m-n)*Tan[c+d*x^n],x] /;
+FreeQ[{c,d,m,n},x]
+
+
+Int[x_^m_.*Cot[c_.+d_.*x_^n_]^2,x_Symbol] :=
+ -x^(m-n+1)*Cot[c+d*x^n]/(d*n) - Int[x^m,x] + (m-n+1)/(d*n)*Int[x^(m-n)*Cot[c+d*x^n],x] /;
+FreeQ[{c,d,m,n},x]
+
+
+(* Int[x_^m_.*Tan[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ x^(m-n+1)*Tan[a+b*x^n]^(p-1)/(b*n*(p-1)) -
+ (m-n+1)/(b*n*(p-1))*Int[x^(m-n)*Tan[a+b*x^n]^(p-1),x] -
+ Int[x^m*Tan[a+b*x^n]^(p-2),x] /;
+FreeQ[{a,b},x] && RationalQ[m,n,p] && 01 *)
+
+
+(* Int[x_^m_.*Cot[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ -x^(m-n+1)*Cot[a+b*x^n]^(p-1)/(b*n*(p-1)) +
+ (m-n+1)/(b*n*(p-1))*Int[x^(m-n)*Cot[a+b*x^n]^(p-1),x] -
+ Int[x^m*Cot[a+b*x^n]^(p-2),x] /;
+FreeQ[{a,b},x] && RationalQ[m,n,p] && 01 *)
+
+
+(* Int[x_^m_.*Tan[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ x^(m-n+1)*Tan[a+b*x^n]^(p+1)/(b*n*(p+1)) -
+ (m-n+1)/(b*n*(p+1))*Int[x^(m-n)*Tan[a+b*x^n]^(p+1),x] -
+ Int[x^m*Tan[a+b*x^n]^(p+2),x] /;
+FreeQ[{a,b},x] && RationalQ[m,n,p] && 0=0 && q===1
+
+
+Int[x_^m_.*Csc[a_.+b_.*x_^n_.]^p_.*Cot[a_.+b_.*x_^n_.]^q_.,x_Symbol] :=
+ -x^(m-n+1)*Csc[a+b*x^n]^p/(b*n*p) +
+ (m-n+1)/(b*n*p)*Int[x^(m-n)*Csc[a+b*x^n]^p,x] /;
+FreeQ[{a,b,p},x] && RationalQ[m] && IntegerQ[n] && m-n>=0 && q===1
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.2.12 (d+e x)^m tan(a+b x+c x^2)^n*)
+
+
+Int[Tan[a_.+b_.*x_+c_.*x_^2]^n_.,x_Symbol] :=
+ Defer[Int][Tan[a+b*x+c*x^2]^n,x] /;
+FreeQ[{a,b,c,n},x]
+
+
+Int[Cot[a_.+b_.*x_+c_.*x_^2]^n_.,x_Symbol] :=
+ Defer[Int][Cot[a+b*x+c*x^2]^n,x] /;
+FreeQ[{a,b,c,n},x]
+
+
+Int[(d_+e_.*x_)*Tan[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ -e*Log[Cos[a+b*x+c*x^2]]/(2*c) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[2*c*d-b*e]
+
+
+Int[(d_+e_.*x_)*Cot[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ e*Log[Sin[a+b*x+c*x^2]]/(2*c) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[2*c*d-b*e]
+
+
+Int[(d_.+e_.*x_)*Tan[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ -e*Log[Cos[a+b*x+c*x^2]]/(2*c) +
+ (2*c*d-b*e)/(2*c)*Int[Tan[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[2*c*d-b*e]
+
+
+Int[(d_.+e_.*x_)*Cot[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ e*Log[Sin[a+b*x+c*x^2]]/(2*c) +
+ (2*c*d-b*e)/(2*c)*Int[Cot[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[2*c*d-b*e]
+
+
+(* Int[x_^m_*Tan[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ -x^(m-1)*Log[Cos[a+b*x+c*x^2]]/(2*c) -
+ b/(2*c)*Int[x^(m-1)*Tan[a+b*x+c*x^2],x] +
+ (m-1)/(2*c)*Int[x^(m-2)*Log[Cos[a+b*x+c*x^2]],x] /;
+FreeQ[{a,b,c},x] && RationalQ[m] && m>1 *)
+
+
+(* Int[x_^m_*Cot[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ x^(m-1)*Log[Sin[a+b*x+c*x^2]]/(2*c) -
+ b/(2*c)*Int[x^(m-1)*Cot[a+b*x+c*x^2],x] -
+ (m-1)/(2*c)*Int[x^(m-2)*Log[Sin[a+b*x+c*x^2]],x] /;
+FreeQ[{a,b,c},x] && RationalQ[m] && m>1*)
+
+
+Int[(d_.+e_.*x_)^m_.*Tan[a_.+b_.*x_+c_.*x_^2]^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x)^m*Tan[a+b*x+c*x^2]^n,x] /;
+FreeQ[{a,b,c,d,e,m,n},x]
+
+
+Int[(d_.+e_.*x_)^m_.*Cot[a_.+b_.*x_+c_.*x_^2]^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x)^m*Cot[a+b*x+c*x^2]^n,x] /;
+FreeQ[{a,b,c,d,e,m,n},x]
+
+
+
+`)
+
+func resourcesRubi42TangentMBytes() ([]byte, error) {
+ return _resourcesRubi42TangentM, nil
+}
+
+func resourcesRubi42TangentM() (*asset, error) {
+ bytes, err := resourcesRubi42TangentMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/4.2 Tangent.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi43SecantM = []byte(`(* ::Package:: *)
+
+(* ::Section:: *)
+(*Secant Function Rules*)
+
+
+(* ::Subsection::Closed:: *)
+(*4.3.1.1 (a+b sec)^n*)
+
+
+Int[csc[c_.+d_.*x_]^n_,x_Symbol] :=
+ -1/d*Subst[Int[ExpandIntegrand[(1+x^2)^(n/2-1),x],x],x,Cot[c+d*x]] /;
+FreeQ[{c,d},x] && PositiveIntegerQ[n/2]
+
+
+Int[(b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ -b*Cos[c+d*x]*(b*Csc[c+d*x])^(n-1)/(d*(n-1)) +
+ b^2*(n-2)/(n-1)*Int[(b*Csc[c+d*x])^(n-2),x] /;
+FreeQ[{b,c,d},x] && n>1 && IntegerQ[2*n]
+
+
+Int[(b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ Cos[c+d*x]*(b*Csc[c+d*x])^(n+1)/(b*d*n) +
+ (n+1)/(b^2*n)*Int[(b*Csc[c+d*x])^(n+2),x] /;
+FreeQ[{b,c,d},x] && n<-1 && IntegerQ[2*n]
+
+
+Int[csc[c_.+d_.*x_],x_Symbol] :=
+(* -ArcCoth[Cos[c+d*x]]/d /; *)
+ -ArcTanh[Cos[c+d*x]]/d /;
+FreeQ[{c,d},x]
+
+
+(* Int[1/csc[c_.+d_.*x_],x_Symbol] :=
+ -Cos[c+d*x]/d /;
+FreeQ[{c,d},x] *)
+
+
+Int[(b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ (b*Csc[c+d*x])^n*Sin[c+d*x]^n*Int[1/Sin[c+d*x]^n,x] /;
+FreeQ[{b,c,d},x] && EqQ[n^2-1/4]
+
+
+Int[(b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ (b*Csc[c+d*x])^(n-1)*((Sin[c+d*x]/b)^(n-1)*Int[1/(Sin[c+d*x]/b)^n,x]) /;
+FreeQ[{b,c,d,n},x] && Not[IntegerQ[n]]
+
+
+Int[(a_+b_.*csc[c_.+d_.*x_])^2,x_Symbol] :=
+ a^2*x + 2*a*b*Int[Csc[c+d*x],x] + b^2*Int[Csc[c+d*x]^2,x] /;
+FreeQ[{a,b,c,d},x]
+
+
+Int[Sqrt[a_+b_.*csc[c_.+d_.*x_]],x_Symbol] :=
+ -2*b/d*Subst[Int[1/(a+x^2),x],x,b*Cot[c+d*x]/Sqrt[a+b*Csc[c+d*x]]] /;
+FreeQ[{a,b,c,d},x] && EqQ[a^2-b^2]
+
+
+Int[(a_+b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ -b^2*Cot[c+d*x]*(a+b*Csc[c+d*x])^(n-2)/(d*(n-1)) +
+ a/(n-1)*Int[(a+b*Csc[c+d*x])^(n-2)*(a*(n-1)+b*(3*n-4)*Csc[c+d*x]),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[a^2-b^2] && RationalQ[n] && n>1 && IntegerQ[2*n]
+
+
+Int[1/Sqrt[a_+b_.*csc[c_.+d_.*x_]],x_Symbol] :=
+ 1/a*Int[Sqrt[a+b*Csc[c+d*x]],x] -
+ b/a*Int[Csc[c+d*x]/Sqrt[a+b*Csc[c+d*x]],x] /;
+FreeQ[{a,b,c,d},x] && EqQ[a^2-b^2]
+
+
+Int[(a_+b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ -Cot[c+d*x]*(a+b*Csc[c+d*x])^n/(d*(2*n+1)) +
+ 1/(a^2*(2*n+1))*Int[(a+b*Csc[c+d*x])^(n+1)*(a*(2*n+1)-b*(n+1)*Csc[c+d*x]),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[a^2-b^2] && RationalQ[n] && n<=-1 && IntegerQ[2*n]
+
+
+Int[(a_+b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ a^n*Cot[c+d*x]/(d*Sqrt[1+Csc[c+d*x]]*Sqrt[1-Csc[c+d*x]])*
+ Subst[Int[(1+b*x/a)^(n-1/2)/(x*Sqrt[1-b*x/a]),x],x,Csc[c+d*x]] /;
+FreeQ[{a,b,c,d,n},x] && EqQ[a^2-b^2] && Not[IntegerQ[2*n]] && PositiveQ[a]
+
+
+Int[(a_+b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ a^IntPart[n]*(a+b*Csc[c+d*x])^FracPart[n]/(1+b/a*Csc[c+d*x])^FracPart[n]*Int[(1+b/a*Csc[c+d*x])^n,x] /;
+FreeQ[{a,b,c,d,n},x] && EqQ[a^2-b^2] && Not[IntegerQ[2*n]] && Not[PositiveQ[a]]
+
+
+Int[Sqrt[a_+b_.*csc[c_.+d_.*x_]],x_Symbol] :=
+ 2*(a+b*Csc[c+d*x])/(d*Rt[a+b,2]*Cot[c+d*x])*Sqrt[b*(1+Csc[c+d*x])/(a+b*Csc[c+d*x])]*Sqrt[-b*(1-Csc[c+d*x])/(a+b*Csc[c+d*x])]*
+ EllipticPi[a/(a+b),ArcSin[Rt[a+b,2]/Sqrt[a+b*Csc[c+d*x]]],(a-b)/(a+b)] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2]
+
+
+Int[(a_+b_.*csc[c_.+d_.*x_])^(3/2),x_Symbol] :=
+ Int[(a^2+b*(2*a-b)*Csc[c+d*x])/Sqrt[a+b*Csc[c+d*x]],x] +
+ b^2*Int[Csc[c+d*x]*(1+Csc[c+d*x])/Sqrt[a+b*Csc[c+d*x]],x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2]
+
+
+Int[(a_+b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ -b^2*Cot[c+d*x]*(a+b*Csc[c+d*x])^(n-2)/(d*(n-1)) +
+ 1/(n-1)*Int[(a+b*Csc[c+d*x])^(n-3)*
+ Simp[a^3*(n-1)+(b*(b^2*(n-2)+3*a^2*(n-1)))*Csc[c+d*x]+(a*b^2*(3*n-4))*Csc[c+d*x]^2,x],x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2] && RationalQ[n] && n>2 && IntegerQ[2*n]
+
+
+Int[1/(a_+b_.*csc[c_.+d_.*x_]),x_Symbol] :=
+ x/a - 1/a*Int[1/(1+a/b*Sin[c+d*x]),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2]
+
+
+Int[1/Sqrt[a_+b_.*csc[c_.+d_.*x_]],x_Symbol] :=
+ 2*Rt[a+b,2]/(a*d*Cot[c+d*x])*Sqrt[b*(1-Csc[c+d*x])/(a+b)]*Sqrt[-b*(1+Csc[c+d*x])/(a-b)]*
+ EllipticPi[(a+b)/a,ArcSin[Sqrt[a+b*Csc[c+d*x]]/Rt[a+b,2]],(a+b)/(a-b)] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2]
+
+
+Int[(a_+b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ b^2*Cot[c+d*x]*(a+b*Csc[c+d*x])^(n+1)/(a*d*(n+1)*(a^2-b^2)) +
+ 1/(a*(n+1)*(a^2-b^2))*Int[(a+b*Csc[c+d*x])^(n+1)*Simp[(a^2-b^2)*(n+1)-a*b*(n+1)*Csc[c+d*x]+b^2*(n+2)*Csc[c+d*x]^2,x],x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2] && RationalQ[n] && n<-1 && IntegerQ[2*n]
+
+
+Int[(a_+b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ Defer[Int][(a+b*Csc[c+d*x])^n,x] /;
+FreeQ[{a,b,c,d,n},x] && NeQ[a^2-b^2] && Not[IntegerQ[2*n]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.3.1.2 (d sec)^n (a+b sec)^m*)
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])*(d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ a*Int[(d*Csc[e+f*x])^n,x] + b/d*Int[(d*Csc[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,d,e,f,n},x]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^2*(d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ 2*a*b/d*Int[(d*Csc[e+f*x])^(n+1),x] + Int[(d*Csc[e+f*x])^n*(a^2+b^2*Csc[e+f*x]^2),x] /;
+FreeQ[{a,b,d,e,f,n},x]
+
+
+Int[csc[e_.+f_.*x_]^2/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ 1/b*Int[Csc[e+f*x],x] - a/b*Int[Csc[e+f*x]/(a+b*Csc[e+f*x]),x] /;
+FreeQ[{a,b,e,f},x]
+
+
+Int[csc[e_.+f_.*x_]^3/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -Cot[e+f*x]/(b*f) - a/b*Int[Csc[e+f*x]^2/(a+b*Csc[e+f*x]),x] /;
+FreeQ[{a,b,e,f},x]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandTrig[(a+b*csc[e+f*x])^m*(d*csc[e+f*x])^n,x],x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2-b^2] && PositiveIntegerQ[m] && RationalQ[n]
+
+
+Int[csc[e_.+f_.*x_]*Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ -2*b*Cot[e+f*x]/(f*Sqrt[a+b*Csc[e+f*x]]) /;
+FreeQ[{a,b,e,f},x] && EqQ[a^2-b^2]
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ -b*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m-1)/(f*m) + a*(2*m-1)/m*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m-1),x] /;
+FreeQ[{a,b,e,f},x] && EqQ[a^2-b^2] && RationalQ[m] && m>1/2 && IntegerQ[2*m]
+
+
+Int[csc[e_.+f_.*x_]/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -Cot[e+f*x]/(f*(b+a*Csc[e+f*x])) /;
+FreeQ[{a,b,e,f},x] && EqQ[a^2-b^2]
+
+
+Int[csc[e_.+f_.*x_]/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ -2/f*Subst[Int[1/(2*a+x^2),x],x,b*Cot[e+f*x]/Sqrt[a+b*Csc[e+f*x]]] /;
+FreeQ[{a,b,e,f},x] && EqQ[a^2-b^2]
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ b*Cot[e+f*x]*(a+b*Csc[e+f*x])^m/(a*f*(2*m+1)) + (m+1)/(a*(2*m+1))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m+1),x] /;
+FreeQ[{a,b,e,f},x] && EqQ[a^2-b^2] && RationalQ[m] && m<-1/2 && IntegerQ[2*m]
+
+
+Int[csc[e_.+f_.*x_]^2*(a_+b_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ -Cot[e+f*x]*(a+b*Csc[e+f*x])^m/(f*(2*m+1)) +
+ m/(b*(2*m+1))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m+1),x] /;
+FreeQ[{a,b,e,f},x] && EqQ[a^2-b^2] && RationalQ[m] && m<-1/2
+
+
+Int[csc[e_.+f_.*x_]^2*(a_+b_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ -Cot[e+f*x]*(a+b*Csc[e+f*x])^m/(f*(m+1)) +
+ a*m/(b*(m+1))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^m,x] /;
+FreeQ[{a,b,e,f,m},x] && EqQ[a^2-b^2] && Not[RationalQ[m] && m<-1/2]
+
+
+Int[csc[e_.+f_.*x_]^3*(a_+b_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ b*Cot[e+f*x]*(a+b*Csc[e+f*x])^m/(a*f*(2*m+1)) -
+ 1/(a^2*(2*m+1))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(a*m-b*(2*m+1)*Csc[e+f*x]),x] /;
+FreeQ[{a,b,e,f},x] && EqQ[a^2-b^2] && RationalQ[m] && m<-1/2
+
+
+Int[csc[e_.+f_.*x_]^3*(a_+b_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ -Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)/(b*f*(m+2)) +
+ 1/(b*(m+2))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^m*(b*(m+1)-a*Csc[e+f*x]),x] /;
+FreeQ[{a,b,e,f,m},x] && EqQ[a^2-b^2] && Not[RationalQ[m] && m<-1/2]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*Sqrt[d_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ -2*a/(b*f)*Sqrt[a*d/b]*Subst[Int[1/Sqrt[1+x^2/a],x],x,b*Cot[e+f*x]/Sqrt[a+b*Csc[e+f*x]]] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2] && PositiveQ[a*d/b]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*Sqrt[d_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ -2*b*d/f*Subst[Int[1/(b-d*x^2),x],x,b*Cot[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*Sqrt[d*Csc[e+f*x]])] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2] && Not[PositiveQ[a*d/b]]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -2*b*d*Cot[e+f*x]*(d*Csc[e+f*x])^(n-1)/(f*(2*n-1)*Sqrt[a+b*Csc[e+f*x]]) +
+ 2*a*d*(n-1)/(b*(2*n-1))*Int[Sqrt[a+b*Csc[e+f*x]]*(d*Csc[e+f*x])^(n-1),x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2] && RationalQ[n] && n>1 && IntegerQ[2*n]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]/Sqrt[d_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ -2*a*Cot[e+f*x]/(f*Sqrt[a+b*Csc[e+f*x]]*Sqrt[d*Csc[e+f*x]]) /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ a*Cot[e+f*x]*(d*Csc[e+f*x])^n/(f*n*Sqrt[a+b*Csc[e+f*x]]) +
+ a*(2*n+1)/(2*b*d*n)*Int[Sqrt[a+b*Csc[e+f*x]]*(d*Csc[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2] && RationalQ[n] && n<-1/2 && IntegerQ[2*n]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ a^2*d*Cot[e+f*x]/(f*Sqrt[a+b*Csc[e+f*x]]*Sqrt[a-b*Csc[e+f*x]])*Subst[Int[(d*x)^(n-1)/Sqrt[a-b*x],x],x,Csc[e+f*x]] /;
+FreeQ[{a,b,d,e,f,n},x] && EqQ[a^2-b^2]
+
+
+Int[Sqrt[d_.*csc[e_.+f_.*x_]]/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ -Sqrt[2]*Sqrt[a]/(b*f)*Subst[Int[1/Sqrt[1+x^2],x],x,b*Cot[e+f*x]/(a+b*Csc[e+f*x])] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2] && EqQ[d-a/b] && PositiveQ[a]
+
+
+Int[Sqrt[d_.*csc[e_.+f_.*x_]]/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ -2*b*d/(a*f)*Subst[Int[1/(2*b-d*x^2),x],x,b*Cot[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*Sqrt[d*Csc[e+f*x]])] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -a*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m-1)*(d*Csc[e+f*x])^n/(f*m) +
+ b*(2*m-1)/(d*m)*Int[(a+b*Csc[e+f*x])^(m-1)*(d*Csc[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2-b^2] && EqQ[m+n] && RationalQ[m] && m>1/2 && IntegerQ[2*m]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*d*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n-1)/(a*f*(2*m+1)) +
+ d*(m+1)/(b*(2*m+1))*Int[(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^(n-1),x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2-b^2] && EqQ[m+n] && RationalQ[m] && m<-1/2 && IntegerQ[2*m]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^n/(f*(2*m+1)) +
+ m/(a*(2*m+1))*Int[(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n,x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2] && RationalQ[m,n] && m+n+1==0 && m<-1/2
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^n/(f*(m+1)) +
+ a*m/(b*d*(m+1))*Int[(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2-b^2] && EqQ[m+n+1] && Not[RationalQ[m] && m<-1/2]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ b^2*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m-2)*(d*Csc[e+f*x])^n/(f*n) -
+ a/(d*n)*Int[(a+b*Csc[e+f*x])^(m-2)*(d*Csc[e+f*x])^(n+1)*(b*(m-2*n-2)-a*(m+2*n-1)*Csc[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2] && RationalQ[m,n] && m>1 && (n<-1 || m==3/2 && n==-1/2) && IntegerQ[2*m]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -b^2*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m-2)*(d*Csc[e+f*x])^n/(f*(m+n-1)) +
+ b/(m+n-1)*Int[(a+b*Csc[e+f*x])^(m-2)*(d*Csc[e+f*x])^n*(b*(m+2*n-1)+a*(3*m+2*n-4)*Csc[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,n},x] && EqQ[a^2-b^2] && RationalQ[m] && m>1 && NeQ[m+n-1] && IntegerQ[2*m]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*d*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n-1)/(a*f*(2*m+1)) -
+ d/(a*b*(2*m+1))*Int[(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^(n-1)*(a*(n-1)-b*(m+n)*Csc[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2] && RationalQ[m,n] && m<-1 && 12 && (IntegersQ[2*m,2*n] || IntegerQ[m])
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^n/(f*(2*m+1)) +
+ 1/(a^2*(2*m+1))*Int[(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n*(a*(2*m+n+1)-b*(m+n+1)*Csc[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,n},x] && EqQ[a^2-b^2] && RationalQ[m] && m<-1 && (IntegersQ[2*m,2*n] || IntegerQ[m])
+
+
+Int[(d_.*csc[e_.+f_.*x_])^n_/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ d^2*Cot[e+f*x]*(d*Csc[e+f*x])^(n-2)/(f*(a+b*Csc[e+f*x])) -
+ d^2/(a*b)*Int[(d*Csc[e+f*x])^(n-2)*(b*(n-2)-a*(n-1)*Csc[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2] && RationalQ[n] && n>1
+
+
+Int[(d_.*csc[e_.+f_.*x_])^n_/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ Cot[e+f*x]*(d*Csc[e+f*x])^n/(f*(a+b*Csc[e+f*x])) -
+ 1/a^2*Int[(d*Csc[e+f*x])^n*(a*(n-1)-b*n*Csc[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2] && RationalQ[n] && n<0
+
+
+Int[(d_.*csc[e_.+f_.*x_])^n_/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -b*d*Cot[e+f*x]*(d*Csc[e+f*x])^(n-1)/(a*f*(a+b*Csc[e+f*x])) +
+ d*(n-1)/(a*b)*Int[(d*Csc[e+f*x])^(n-1)*(a-b*Csc[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,n},x] && EqQ[a^2-b^2]
+
+
+Int[(d_.*csc[e_.+f_.*x_])^(3/2)/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ d/b*Int[Sqrt[a+b*Csc[e+f*x]]*Sqrt[d*Csc[e+f*x]],x] -
+ a*d/b*Int[Sqrt[d*Csc[e+f*x]]/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2]
+
+
+Int[(d_.*csc[e_.+f_.*x_])^n_/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ -2*d^2*Cot[e+f*x]*(d*Csc[e+f*x])^(n-2)/(f*(2*n-3)*Sqrt[a+b*Csc[e+f*x]]) +
+ d^2/(b*(2*n-3))*Int[(d*Csc[e+f*x])^(n-2)*(2*b*(n-2)-a*Csc[e+f*x])/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2] && RationalQ[n] && n>2 && IntegerQ[2*n]
+
+
+Int[(d_.*csc[e_.+f_.*x_])^n_/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ Cot[e+f*x]*(d*Csc[e+f*x])^n/(f*n*Sqrt[a+b*Csc[e+f*x]]) +
+ 1/(2*b*d*n)*Int[(d*Csc[e+f*x])^(n+1)*(a+b*(2*n+1)*Csc[e+f*x])/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f},x] && EqQ[a^2-b^2] && RationalQ[n] && n<0 && IntegerQ[2*n]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -d^2*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n-2)/(f*(m+n-1)) +
+ d^2/(b*(m+n-1))*Int[(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n-2)*(b*(n-2)+a*m*Csc[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,m},x] && EqQ[a^2-b^2] && RationalQ[n] && n>2 && NeQ[m+n-1] && IntegerQ[n]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -(a*d/b)^n*Cot[e+f*x]/(a^(n-2)*f*Sqrt[a+b*Csc[e+f*x]]*Sqrt[a-b*Csc[e+f*x]])*
+ Subst[Int[(a-x)^(n-1)*(2*a-x)^(m-1/2)/Sqrt[x],x],x,a-b*Csc[e+f*x]] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2-b^2] && Not[IntegerQ[m]] && PositiveQ[a] && Not[IntegerQ[n]] && PositiveQ[a*d/b]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -(-a*d/b)^n*Cot[e+f*x]/(a^(n-1)*f*Sqrt[a+b*Csc[e+f*x]]*Sqrt[a-b*Csc[e+f*x]])*
+ Subst[Int[x^(m-1/2)*(a-x)^(n-1)/Sqrt[2*a-x],x],x,a+b*Csc[e+f*x]] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2-b^2] && Not[IntegerQ[m]] && PositiveQ[a] && Not[IntegerQ[n]] && NegativeQ[a*d/b]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ a^2*d*Cot[e+f*x]/(f*Sqrt[a+b*Csc[e+f*x]]*Sqrt[a-b*Csc[e+f*x]])*
+ Subst[Int[(d*x)^(n-1)*(a+b*x)^(m-1/2)/Sqrt[a-b*x],x],x,Csc[e+f*x]] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2-b^2] && Not[IntegerQ[m]] && PositiveQ[a]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ a^IntPart[m]*(a+b*Csc[e+f*x])^FracPart[m]/(1+b/a*Csc[e+f*x])^FracPart[m]*Int[(1+b/a*Csc[e+f*x])^m*(d*Csc[e+f*x])^n,x] /;
+FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2-b^2] && Not[IntegerQ[m]] && Not[PositiveQ[a]]
+
+
+Int[csc[e_.+f_.*x_]*Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ (a-b)*Int[Csc[e+f*x]/Sqrt[a+b*Csc[e+f*x]],x] + b*Int[Csc[e+f*x]*(1+Csc[e+f*x])/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,e,f},x] && NeQ[a^2-b^2]
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ -b*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m-1)/(f*m) +
+ 1/m*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m-2)*(b^2*(m-1)+a^2*m+a*b*(2*m-1)*Csc[e+f*x]),x] /;
+FreeQ[{a,b,e,f},x] && NeQ[a^2-b^2] && RationalQ[m] && m>1 && IntegerQ[2*m]
+
+
+(* Int[csc[e_.+f_.*x_]/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -2/f*Subst[Int[1/(a+b-(a-b)*x^2),x],x,Cot[e+f*x]/(1+Csc[e+f*x])] /;
+FreeQ[{a,b,e,f},x] && NeQ[a^2-b^2] *)
+
+
+Int[csc[e_.+f_.*x_]/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ 1/b*Int[1/(1+a/b*Sin[e+f*x]),x] /;
+FreeQ[{a,b,e,f},x] && NeQ[a^2-b^2]
+
+
+Int[csc[e_.+f_.*x_]/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ -2*Rt[a+b,2]/(b*f*Cot[e+f*x])*Sqrt[(b*(1-Csc[e+f*x]))/(a+b)]*Sqrt[-b*(1+Csc[e+f*x])/(a-b)]*
+ EllipticF[ArcSin[Sqrt[a+b*Csc[e+f*x]]/Rt[a+b,2]],(a+b)/(a-b)] /;
+FreeQ[{a,b,e,f},x] && NeQ[a^2-b^2]
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ -b*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)/(f*(m+1)*(a^2-b^2)) +
+ 1/((m+1)*(a^2-b^2))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(a*(m+1)-b*(m+2)*Csc[e+f*x]),x] /;
+FreeQ[{a,b,e,f},x] && NeQ[a^2-b^2] && RationalQ[m] && m<-1 && IntegerQ[2*m]
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ Cot[e+f*x]/(f*Sqrt[1+Csc[e+f*x]]*Sqrt[1-Csc[e+f*x]])*Subst[Int[(a+b*x)^m/(Sqrt[1+x]*Sqrt[1-x]),x],x,Csc[e+f*x]] /;
+FreeQ[{a,b,e,f,m},x] && NeQ[a^2-b^2] && Not[IntegerQ[2*m]]
+
+
+Int[csc[e_.+f_.*x_]^2*(a_+b_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ -Cot[e+f*x]*(a+b*Csc[e+f*x])^m/(f*(m+1)) +
+ m/(m+1)*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m-1)*(b+a*Csc[e+f*x]),x] /;
+FreeQ[{a,b,e,f},x] && NeQ[a^2-b^2] && RationalQ[m] && m>0
+
+
+Int[csc[e_.+f_.*x_]^2*(a_+b_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ a*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)/(f*(m+1)*(a^2-b^2)) -
+ 1/((m+1)*(a^2-b^2))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(b*(m+1)-a*(m+2)*Csc[e+f*x]),x] /;
+FreeQ[{a,b,e,f},x] && NeQ[a^2-b^2] && RationalQ[m] && m<-1
+
+
+Int[csc[e_.+f_.*x_]^2/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ -Int[Csc[e+f*x]/Sqrt[a+b*Csc[e+f*x]],x] +
+ Int[Csc[e+f*x]*(1+Csc[e+f*x])/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,e,f},x] && NeQ[a^2-b^2]
+
+
+Int[csc[e_.+f_.*x_]^2*(a_+b_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ -a/b*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^m,x] + 1/b*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m+1),x] /;
+FreeQ[{a,b,e,f,m},x] && NeQ[a^2-b^2]
+
+
+Int[csc[e_.+f_.*x_]^3*(a_+b_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ -a^2*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)/(b*f*(m+1)*(a^2-b^2)) +
+ 1/(b*(m+1)*(a^2-b^2))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*Simp[a*b*(m+1)-(a^2+b^2*(m+1))*Csc[e+f*x],x],x] /;
+FreeQ[{a,b,e,f},x] && NeQ[a^2-b^2] && RationalQ[m] && m<-1
+
+
+Int[csc[e_.+f_.*x_]^3*(a_+b_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ -Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)/(b*f*(m+2)) +
+ 1/(b*(m+2))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^m*(b*(m+1)-a*Csc[e+f*x]),x] /;
+FreeQ[{a,b,e,f,m},x] && NeQ[a^2-b^2] && Not[RationalQ[m] && m<-1]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ a^2*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m-2)*(d*Csc[e+f*x])^n/(f*n) -
+ 1/(d*n)*Int[(a+b*Csc[e+f*x])^(m-3)*(d*Csc[e+f*x])^(n+1)*
+ Simp[a^2*b*(m-2*n-2)-a*(3*b^2*n+a^2*(n+1))*Csc[e+f*x]-b*(b^2*n+a^2*(m+n-1))*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2] && RationalQ[m,n] && m>2 && (IntegerQ[m] && n<-1 || IntegersQ[m+1/2,2*n] && n<=-1)
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -b^2*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m-2)*(d*Csc[e+f*x])^n/(f*(m+n-1)) +
+ 1/(d*(m+n-1))*Int[(a+b*Csc[e+f*x])^(m-3)*(d*Csc[e+f*x])^n*
+ Simp[a^3*d*(m+n-1)+a*b^2*d*n+b*(b^2*d*(m+n-2)+3*a^2*d*(m+n-1))*Csc[e+f*x]+a*b^2*d*(3*m+2*n-4)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,n},x] && NeQ[a^2-b^2] && RationalQ[m] && m>2 &&
+ (IntegerQ[m] || IntegersQ[2*m,2*n]) && Not[IntegerQ[n] && n>2 && Not[IntegerQ[m]]]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -b*d*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^(n-1)/(f*(m+1)*(a^2-b^2)) +
+ 1/((m+1)*(a^2-b^2))*Int[(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^(n-1)*
+ Simp[b*d*(n-1)+a*d*(m+1)*Csc[e+f*x]-b*d*(m+n+1)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2] && RationalQ[m,n] && m<-1 && 03 || IntegersQ[n+1/2,2*m] && n>2)
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n/(a*f*n) -
+ 1/(a*d*n)*Int[(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n+1)*
+ Simp[b*(m+n+1)-a*(n+1)*Csc[e+f*x]-b*(m+n+2)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2] && NegativeIntegerQ[m+1/2,n]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ b^2*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n/(a*f*(m+1)*(a^2-b^2)) +
+ 1/(a*(m+1)*(a^2-b^2))*Int[(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n*
+ (a^2*(m+1)-b^2*(m+n+1)-a*b*(m+1)*Csc[e+f*x]+b^2*(m+n+2)*Csc[e+f*x]^2),x] /;
+FreeQ[{a,b,d,e,f,n},x] && NeQ[a^2-b^2] && RationalQ[m] && m<-1 && IntegersQ[2*m,2*n]
+
+
+Int[Sqrt[d_.*csc[e_.+f_.*x_]]/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ Sqrt[d*Sin[e+f*x]]*Sqrt[d*Csc[e+f*x]]/d*Int[Sqrt[d*Sin[e+f*x]]/(b+a*Sin[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2]
+
+
+Int[(d_.*csc[e_.+f_.*x_])^(3/2)/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ d*Sqrt[d*Sin[e+f*x]]*Sqrt[d*Csc[e+f*x]]*Int[1/(Sqrt[d*Sin[e+f*x]]*(b+a*Sin[e+f*x])),x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2]
+
+
+Int[(d_.*csc[e_.+f_.*x_])^(5/2)/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ d/b*Int[(d*Csc[e+f*x])^(3/2),x] - a*d/b*Int[(d*Csc[e+f*x])^(3/2)/(a+b*Csc[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2]
+
+
+Int[(d_.*csc[e_.+f_.*x_])^n_/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -d^3*Cot[e+f*x]*(d*Csc[e+f*x])^(n-3)/(b*f*(n-2)) +
+ d^3/(b*(n-2))*Int[(d*Csc[e+f*x])^(n-3)*Simp[a*(n-3)+b*(n-3)*Csc[e+f*x]-a*(n-2)*Csc[e+f*x]^2,x]/(a+b*Csc[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2] && RationalQ[n] && n>3
+
+
+Int[1/(Sqrt[d_.*csc[e_.+f_.*x_]]*(a_+b_.*csc[e_.+f_.*x_])),x_Symbol] :=
+ b^2/(a^2*d^2)*Int[(d*Csc[e+f*x])^(3/2)/(a+b*Csc[e+f*x]),x] +
+ 1/a^2*Int[(a-b*Csc[e+f*x])/Sqrt[d*Csc[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2]
+
+
+Int[(d_.*csc[e_.+f_.*x_])^n_/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ Cot[e+f*x]*(d*Csc[e+f*x])^n/(a*f*n) -
+ 1/(a*d*n)*Int[(d*Csc[e+f*x])^(n+1)/(a+b*Csc[e+f*x])*
+ Simp[b*n-a*(n+1)*Csc[e+f*x]-b*(n+1)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2] && RationalQ[n] && n<=-1 && IntegerQ[2*n]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*Sqrt[d_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ a*Int[Sqrt[d*Csc[e+f*x]]/Sqrt[a+b*Csc[e+f*x]],x] +
+ b/d*Int[(d*Csc[e+f*x])^(3/2)/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -2*d*Cos[e+f*x]*Sqrt[a+b*Csc[e+f*x]]*(d*Csc[e+f*x])^(n-1)/(f*(2*n-1)) +
+ d^2/(2*n-1)*Int[(d*Csc[e+f*x])^(n-2)*Simp[2*a*(n-2)+b*(2*n-3)*Csc[e+f*x]+a*Csc[e+f*x]^2,x]/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2] && RationalQ[n] && n>1 && IntegerQ[2*n]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]/Sqrt[d_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ Sqrt[a+b*Csc[e+f*x]]/(Sqrt[d*Csc[e+f*x]]*Sqrt[b+a*Sin[e+f*x]])*Int[Sqrt[b+a*Sin[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ Cot[e+f*x]*Sqrt[a+b*Csc[e+f*x]]*(d*Csc[e+f*x])^n/(f*n) -
+ 1/(2*d*n)*Int[(d*Csc[e+f*x])^(n+1)*Simp[b-2*a*(n+1)*Csc[e+f*x]-b*(2*n+3)*Csc[e+f*x]^2,x]/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2] && RationalQ[n] && n<=-1 && IntegerQ[2*n]
+
+
+Int[Sqrt[d_.*csc[e_.+f_.*x_]]/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ Sqrt[d*Csc[e+f*x]]*Sqrt[b+a*Sin[e+f*x]]/Sqrt[a+b*Csc[e+f*x]]*Int[1/Sqrt[b+a*Sin[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2]
+
+
+Int[(d_.*csc[e_.+f_.*x_])^(3/2)/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ d*Sqrt[d*Csc[e+f*x]]*Sqrt[b+a*Sin[e+f*x]]/Sqrt[a+b*Csc[e+f*x]]*Int[1/(Sin[e+f*x]*Sqrt[b+a*Sin[e+f*x]]),x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2]
+
+
+Int[(d_.*csc[e_.+f_.*x_])^n_/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ -2*d^2*Cos[e+f*x]*(d*Csc[e+f*x])^(n-2)*Sqrt[a+b*Csc[e+f*x]]/(b*f*(2*n-3)) +
+ d^3/(b*(2*n-3))*Int[(d*Csc[e+f*x])^(n-3)/Sqrt[a+b*Csc[e+f*x]]*
+ Simp[2*a*(n-3)+b*(2*n-5)*Csc[e+f*x]-2*a*(n-2)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2] && RationalQ[n] && n>2 && IntegerQ[2*n]
+
+
+Int[1/(csc[e_.+f_.*x_]*Sqrt[a_+b_.*csc[e_.+f_.*x_]]),x_Symbol] :=
+ -Cos[e+f*x]*Sqrt[a+b*Csc[e+f*x]]/(a*f) - b/(2*a)*Int[(1+Csc[e+f*x]^2)/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,e,f},x] && NeQ[a^2-b^2]
+
+
+Int[1/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*Sqrt[d_.*csc[e_.+f_.*x_]]),x_Symbol] :=
+ 1/a*Int[Sqrt[a+b*Csc[e+f*x]]/Sqrt[d*Csc[e+f*x]],x] -
+ b/(a*d)*Int[Sqrt[d*Csc[e+f*x]]/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2]
+
+
+Int[(d_.*csc[e_.+f_.*x_])^n_/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ Cos[e+f*x]*(d*Csc[e+f*x])^(n+1)*Sqrt[a+b*Csc[e+f*x]]/(a*d*f*n) +
+ 1/(2*a*d*n)*Int[(d*Csc[e+f*x])^(n+1)/Sqrt[a+b*Csc[e+f*x]]*
+ Simp[-b*(2*n+1)+2*a*(n+1)*Csc[e+f*x]+b*(2*n+3)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2] && RationalQ[n] && n<-1 && IntegerQ[2*n]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^(3/2)*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ a*Cot[e+f*x]*Sqrt[a+b*Csc[e+f*x]]*(d*Csc[e+f*x])^n/(f*n) +
+ 1/(2*d*n)*Int[(d*Csc[e+f*x])^(n+1)/Sqrt[a+b*Csc[e+f*x]]*
+ Simp[a*b*(2*n-1)+2*(b^2*n+a^2*(n+1))*Csc[e+f*x]+a*b*(2*n+3)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2] && RationalQ[n] && n<=-1 && IntegersQ[2*n]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -d^3*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^(n-3)/(b*f*(m+n-1)) +
+ d^3/(b*(m+n-1))*Int[(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n-3)*
+ Simp[a*(n-3)+b*(m+n-2)*Csc[e+f*x]-a*(n-2)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,m},x] && NeQ[a^2-b^2] && RationalQ[n] && n>3 &&
+ (IntegerQ[n] || IntegersQ[2*m,2*n]) && Not[IntegerQ[m] && m>2]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -b*d*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m-1)*(d*Csc[e+f*x])^(n-1)/(f*(m+n-1)) +
+ d/(m+n-1)*Int[(a+b*Csc[e+f*x])^(m-2)*(d*Csc[e+f*x])^(n-1)*
+ Simp[a*b*(n-1)+(b^2*(m+n-2)+a^2*(m+n-1))*Csc[e+f*x]+a*b*(2*m+n-2)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2] && RationalQ[m,n] && 01
+
+
+Int[(e_.*cot[c_.+d_.*x_])^m_*(a_+b_.*csc[c_.+d_.*x_]),x_Symbol] :=
+ -(e*Cot[c+d*x])^(m+1)*(a+b*Csc[c+d*x])/(d*e*(m+1)) -
+ 1/(e^2*(m+1))*Int[(e*Cot[c+d*x])^(m+2)*(a*(m+1)+b*(m+2)*Csc[c+d*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m] && m<-1
+
+
+Int[(a_+b_.*csc[c_.+d_.*x_])/cot[c_.+d_.*x_],x_Symbol] :=
+ Int[(b+a*Sin[c+d*x])/Cos[c+d*x],x] /;
+FreeQ[{a,b,c,d},x]
+
+
+Int[(e_.*cot[c_.+d_.*x_])^m_.*(a_+b_.*csc[c_.+d_.*x_]),x_Symbol] :=
+ a*Int[(e*Cot[c+d*x])^m,x] + b*Int[(e*Cot[c+d*x])^m*Csc[c+d*x],x] /;
+FreeQ[{a,b,c,d,e,m},x]
+
+
+Int[cot[c_.+d_.*x_]^m_.*(a_+b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ -(-1)^((m-1)/2)/(d*b^(m-1))*Subst[Int[(b^2-x^2)^((m-1)/2)*(a+x)^n/x,x],x,b*Csc[c+d*x]] /;
+FreeQ[{a,b,c,d,n},x] && IntegerQ[(m-1)/2] && NeQ[a^2-b^2]
+
+
+Int[(e_.*cot[c_.+d_.*x_])^m_*(a_+b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[(e*Cot[c+d*x])^m,(a+b*Csc[c+d*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && PositiveIntegerQ[n]
+
+
+Int[cot[c_.+d_.*x_]^m_.*(a_+b_.*csc[c_.+d_.*x_])^n_.,x_Symbol] :=
+ -2*a^(m/2+n+1/2)/d*Subst[Int[x^m*(2+a*x^2)^(m/2+n-1/2)/(1+a*x^2),x],x,Cot[c+d*x]/Sqrt[a+b*Csc[c+d*x]]] /;
+FreeQ[{a,b,c,d},x] && EqQ[a^2-b^2] && IntegerQ[m/2] && IntegerQ[n-1/2]
+
+
+Int[(e_.*cot[c_.+d_.*x_])^m_*(a_+b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ a^(2*n)*e^(-2*n)*Int[(e*Cot[c+d*x])^(m+2*n)/(-a+b*Csc[c+d*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[a^2-b^2] && NegativeIntegerQ[n]
+
+
+Int[(e_.*cot[c_.+d_.*x_])^m_*(a_+b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ -2^(m+n+1)*(e*Cot[c+d*x])^(m+1)*(a+b*Csc[c+d*x])^n/(d*e*(m+1))*(a/(a+b*Csc[c+d*x]))^(m+n+1)*
+ AppellF1[(m+1)/2,m+n,1,(m+3)/2,-(a-b*Csc[c+d*x])/(a+b*Csc[c+d*x]),(a-b*Csc[c+d*x])/(a+b*Csc[c+d*x])] /;
+FreeQ[{a,b,c,d,e,m,n},x] && EqQ[a^2-b^2] && Not[IntegerQ[n]]
+
+
+Int[Sqrt[e_.*cot[c_.+d_.*x_]]/(a_+b_.*csc[c_.+d_.*x_]),x_Symbol] :=
+ 1/a*Int[Sqrt[e*Cot[c+d*x]],x] - b/a*Int[Sqrt[e*Cot[c+d*x]]/(b+a*Sin[c+d*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[a^2-b^2]
+
+
+Int[(e_.*cot[c_.+d_.*x_])^m_/(a_+b_.*csc[c_.+d_.*x_]),x_Symbol] :=
+ -e^2/b^2*Int[(e*Cot[c+d*x])^(m-2)*(a-b*Csc[c+d*x]),x] +
+ e^2*(a^2-b^2)/b^2*Int[(e*Cot[c+d*x])^(m-2)/(a+b*Csc[c+d*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[a^2-b^2] && PositiveIntegerQ[m-1/2]
+
+
+Int[1/(Sqrt[e_.*cot[c_.+d_.*x_]]*(a_+b_.*csc[c_.+d_.*x_])),x_Symbol] :=
+ 1/a*Int[1/Sqrt[e*Cot[c+d*x]],x] - b/a*Int[1/(Sqrt[e*Cot[c+d*x]]*(b+a*Sin[c+d*x])),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[a^2-b^2]
+
+
+Int[(e_.*cot[c_.+d_.*x_])^m_/(a_+b_.*csc[c_.+d_.*x_]),x_Symbol] :=
+ 1/(a^2-b^2)*Int[(e*Cot[c+d*x])^m*(a-b*Csc[c+d*x]),x] +
+ b^2/(e^2*(a^2-b^2))*Int[(e*Cot[c+d*x])^(m+2)/(a+b*Csc[c+d*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[a^2-b^2] && NegativeIntegerQ[m+1/2]
+
+
+Int[cot[c_.+d_.*x_]^2*(a_+b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ Int[(-1+Csc[c+d*x]^2)*(a+b*Csc[c+d*x])^n,x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2]
+
+
+Int[(e_.*cot[c_.+d_.*x_])^m_*(a_+b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[(e*Cot[c+d*x])^m,(a+b*Csc[c+d*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[a^2-b^2] && PositiveIntegerQ[n]
+
+
+Int[cot[c_.+d_.*x_]^m_.*(a_+b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ Int[Cos[c+d*x]^m*(b+a*Sin[c+d*x])^n/Sin[c+d*x]^(m+n),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a^2-b^2] && IntegerQ[n] && IntegerQ[m] && (IntegerQ[m/2] || m<=1)
+
+
+(* Int[cot[c_.+d_.*x_]^m_*(a_+b_.*csc[c_.+d_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*Csc[c+d*x])^n,(-1+Csc[c+d*x]^2)^(m/2),x],x] /;
+FreeQ[{a,b,c,d,n},x] && NeQ[a^2-b^2] && PositiveIntegerQ[m/2] *)
+
+
+Int[(e_.*cot[c_.+d_.*x_])^m_.*(a_.+b_.*csc[c_.+d_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(e*Cot[c+d*x])^m*(a+b*Csc[c+d*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m,n},x]
+
+
+Int[(e_.*cot[c_.+d_.*x_])^m_*(a_+b_.*sec[c_.+d_.*x_])^n_.,x_Symbol] :=
+ (e*Cot[c+d*x])^m*Tan[c+d*x]^m*Int[(a+b*Sec[c+d*x])^n/Tan[c+d*x]^m,x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && Not[IntegerQ[m]]
+
+
+Int[(e_.*tan[c_.+d_.*x_]^p_)^m_*(a_+b_.*sec[c_.+d_.*x_])^n_.,x_Symbol] :=
+ (e*Tan[c+d*x]^p)^m/(e*Tan[c+d*x])^(m*p)*Int[(e*Tan[c+d*x])^(m*p)*(a+b*Sec[c+d*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && Not[IntegerQ[m]]
+
+
+Int[(e_.*cot[c_.+d_.*x_]^p_)^m_*(a_+b_.*csc[c_.+d_.*x_])^n_.,x_Symbol] :=
+ (e*Cot[c+d*x]^p)^m/(e*Cot[c+d*x])^(m*p)*Int[(e*Cot[c+d*x])^(m*p)*(a+b*Csc[c+d*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && Not[IntegerQ[m]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.3.2.1 (a+b sec)^m (c+d sec)^n*)
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_.*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ c^n*Int[ExpandTrig[(1+d/c*csc[e+f*x])^n,(a+b*csc[e+f*x])^m,x],x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && PositiveIntegerQ[m] && NegativeIntegerQ[n] && m+n<2
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_.*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ (-a*c)^m*Int[Cot[e+f*x]^(2*m)*(c+d*Csc[e+f*x])^(n-m),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && IntegerQ[m] && RationalQ[n] && Not[IntegerQ[n] && m-n>0]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ (-a*c)^(m+1/2)*Cot[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]])*Int[Cot[e+f*x]^(2*m),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && IntegerQ[m+1/2]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ 2*a*c*Cot[e+f*x]*(c+d*Csc[e+f*x])^(n-1)/(f*(2*n-1)*Sqrt[a+b*Csc[e+f*x]]) +
+ c*Int[Sqrt[a+b*Csc[e+f*x]]*(c+d*Csc[e+f*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && RationalQ[n] && n>1/2
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -2*a*Cot[e+f*x]*(c+d*Csc[e+f*x])^n/(f*(2*n+1)*Sqrt[a+b*Csc[e+f*x]]) +
+ 1/c*Int[Sqrt[a+b*Csc[e+f*x]]*(c+d*Csc[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && RationalQ[n] && n<-1/2
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^(3/2)*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ -4*a^2*Cot[e+f*x]*(c+d*Csc[e+f*x])^n/(f*(2*n+1)*Sqrt[a+b*Csc[e+f*x]]) +
+ a/c*Int[Sqrt[a+b*Csc[e+f*x]]*(c+d*Csc[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && RationalQ[n] && n<-1/2
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^(3/2)*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ -2*a^2*Cot[e+f*x]*(c+d*Csc[e+f*x])^n/(f*(2*n+1)*Sqrt[a+b*Csc[e+f*x]]) +
+ a*Int[Sqrt[a+b*Csc[e+f*x]]*(c+d*Csc[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && Not[RationalQ[n] && n<=-1/2]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^(5/2)*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ -8*a^3*Cot[e+f*x]*(c+d*Csc[e+f*x])^n/(f*(2*n+1)*Sqrt[a+b*Csc[e+f*x]]) +
+ a^2/c^2*Int[Sqrt[a+b*Csc[e+f*x]]*(c+d*Csc[e+f*x])^(n+2),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && RationalQ[n] && n<-1/2
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -a*c*Cot[e+f*x]/(f*Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]])*
+ Subst[Int[(b+a*x)^(m-1/2)*(d+c*x)^(n-1/2)/x^(m+n),x],x,Sin[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && IntegerQ[m-1/2] && EqQ[m+n]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_.*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ a*c*Cot[e+f*x]/(f*Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]])*Subst[Int[(a+b*x)^(m-1/2)*(c+d*x)^(n-1/2)/x,x],x,Csc[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])*(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ a*c*x + b*d*Int[Csc[e+f*x]^2,x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[b*c+a*d]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])*(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ a*c*x + (b*c+a*d)*Int[Csc[e+f*x],x] + b*d*Int[Csc[e+f*x]^2,x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[b*c+a*d]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ c*Int[Sqrt[a+b*Csc[e+f*x]],x] + d*Int[Sqrt[a+b*Csc[e+f*x]]*Csc[e+f*x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ a*c*Int[1/Sqrt[a+b*Csc[e+f*x]],x] +
+ Int[Csc[e+f*x]*(b*c+a*d+b*d*Csc[e+f*x])/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -b*d*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m-1)/(f*m) +
+ 1/m*Int[(a+b*Csc[e+f*x])^(m-1)*Simp[a*c*m+(b*c*m+a*d*(2*m-1))*Csc[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && RationalQ[m] && m>1 && EqQ[a^2-b^2] && IntegerQ[2*m]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -b*d*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m-1)/(f*m) +
+ 1/m*Int[(a+b*Csc[e+f*x])^(m-2)*
+ Simp[a^2*c*m+(b^2*d*(m-1)+2*a*b*c*m+a^2*d*m)*Csc[e+f*x]+b*(b*c*m+a*d*(2*m-1))*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && RationalQ[m] && m>1 && NeQ[a^2-b^2] && IntegerQ[2*m]
+
+
+Int[(c_+d_.*csc[e_.+f_.*x_])/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ c*x/a - (b*c-a*d)/a*Int[Csc[e+f*x]/(a+b*Csc[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d]
+
+
+Int[(c_+d_.*csc[e_.+f_.*x_])/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ c/a*Int[Sqrt[a+b*Csc[e+f*x]],x] - (b*c-a*d)/a*Int[Csc[e+f*x]/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2]
+
+
+Int[(c_+d_.*csc[e_.+f_.*x_])/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ c*Int[1/Sqrt[a+b*Csc[e+f*x]],x] + d*Int[Csc[e+f*x]/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -(b*c-a*d)*Cot[e+f*x]*(a+b*Csc[e+f*x])^m/(b*f*(2*m+1)) +
+ 1/(a^2*(2*m+1))*Int[(a+b*Csc[e+f*x])^(m+1)*Simp[a*c*(2*m+1)-(b*c-a*d)*(m+1)*Csc[e+f*x],x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && RationalQ[m] && m<-1 && EqQ[a^2-b^2] && IntegerQ[2*m]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ b*(b*c-a*d)*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)/(a*f*(m+1)*(a^2-b^2)) +
+ 1/(a*(m+1)*(a^2-b^2))*Int[(a+b*Csc[e+f*x])^(m+1)*
+ Simp[c*(a^2-b^2)*(m+1)-(a*(b*c-a*d)*(m+1))*Csc[e+f*x]+b*(b*c-a*d)*(m+2)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && RationalQ[m] && m<-1 && NeQ[a^2-b^2] && IntegerQ[2*m]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ c*Int[(a+b*Csc[e+f*x])^m,x] + d*Int[(a+b*Csc[e+f*x])^m*Csc[e+f*x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[b*c-a*d] && Not[IntegerQ[2*m]]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]/(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ 1/c*Int[Sqrt[a+b*Csc[e+f*x]],x] - d/c*Int[Csc[e+f*x]*Sqrt[a+b*Csc[e+f*x]]/(c+d*Csc[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && (EqQ[a^2-b^2] || EqQ[c^2-d^2])
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]/(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ a/c*Int[1/Sqrt[a+b*Csc[e+f*x]],x] + (b*c-a*d)/c*Int[Csc[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*(c+d*Csc[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^(3/2)/(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ a/c*Int[Sqrt[a+b*Csc[e+f*x]],x] + (b*c-a*d)/c*Int[Csc[e+f*x]*Sqrt[a+b*Csc[e+f*x]]/(c+d*Csc[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && (EqQ[a^2-b^2] || EqQ[c^2-d^2])
+
+
+(* Int[(a_+b_.*csc[e_.+f_.*x_])^(3/2)/(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ b/d*Int[Sqrt[a+b*Csc[e+f*x]],x] - (b*c-a*d)/d*Int[Sqrt[a+b*Csc[e+f*x]]/(c+d*Csc[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] *)
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^(3/2)/(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ 1/(c*d)*Int[(a^2*d+b^2*c*Csc[e+f*x])/Sqrt[a+b*Csc[e+f*x]],x] -
+ (b*c-a*d)^2/(c*d)*Int[Csc[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*(c+d*Csc[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[1/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(c_+d_.*csc[e_.+f_.*x_])),x_Symbol] :=
+ 1/(c*(b*c-a*d))*Int[(b*c-a*d-b*d*Csc[e+f*x])/Sqrt[a+b*Csc[e+f*x]],x] +
+ d^2/(c*(b*c-a*d))*Int[Csc[e+f*x]*Sqrt[a+b*Csc[e+f*x]]/(c+d*Csc[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && (EqQ[a^2-b^2] || EqQ[c^2-d^2])
+
+
+Int[1/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(c_+d_.*csc[e_.+f_.*x_])),x_Symbol] :=
+ 1/c*Int[1/Sqrt[a+b*Csc[e+f*x]],x] - d/c*Int[Csc[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*(c+d*Csc[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*Sqrt[c_+d_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]]/Cot[e+f*x]*Int[Cot[e+f*x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && EqQ[c^2-d^2]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*Sqrt[c_+d_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ c*Int[Sqrt[a+b*Csc[e+f*x]]/Sqrt[c+d*Csc[e+f*x]],x] +
+ d*Int[Csc[e+f*x]*Sqrt[a+b*Csc[e+f*x]]/Sqrt[c+d*Csc[e+f*x]],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]/Sqrt[c_+d_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ 1/c*Int[Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]],x] -
+ d/c*Int[Csc[e+f*x]*Sqrt[a+b*Csc[e+f*x]]/Sqrt[c+d*Csc[e+f*x]],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && EqQ[c^2-d^2]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]/Sqrt[c_+d_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ -2*a/f*Subst[Int[1/(1+a*c*x^2),x],x,Cot[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]])] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]/Sqrt[c_+d_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ a/c*Int[Sqrt[c+d*Csc[e+f*x]]/Sqrt[a+b*Csc[e+f*x]],x] +
+ (b*c-a*d)/c*Int[Csc[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && EqQ[c^2-d^2]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]/Sqrt[c_+d_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ 2*(a+b*Csc[e+f*x])/(c*f*Rt[(a+b)/(c+d),2]*Cot[e+f*x])*
+ Sqrt[(b*c-a*d)*(1+Csc[e+f*x])/((c-d)*(a+b*Csc[e+f*x]))]*
+ Sqrt[-(b*c-a*d)*(1-Csc[e+f*x])/((c+d)*(a+b*Csc[e+f*x]))]*
+ EllipticPi[a*(c+d)/(c*(a+b)),ArcSin[Rt[(a+b)/(c+d),2]*Sqrt[c+d*Csc[e+f*x]]/Sqrt[a+b*Csc[e+f*x]]],(a-b)*(c+d)/((a+b)*(c-d))] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[1/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*Sqrt[c_+d_.*csc[e_.+f_.*x_]]),x_Symbol] :=
+ Cot[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]])*Int[1/Cot[e+f*x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && EqQ[c^2-d^2]
+
+
+Int[1/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*Sqrt[c_+d_.*csc[e_.+f_.*x_]]),x_Symbol] :=
+ 1/a*Int[Sqrt[a+b*Csc[e+f*x]]/Sqrt[c+d*Csc[e+f*x]],x] -
+ b/a*Int[Csc[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]/(c_+d_.*csc[e_.+f_.*x_])^(3/2),x_Symbol] :=
+ 1/c*Int[Sqrt[a+b*Csc[e+f*x]]/Sqrt[c+d*Csc[e+f*x]],x] -
+ d/c*Int[Csc[e+f*x]*Sqrt[a+b*Csc[e+f*x]]/(c+d*Csc[e+f*x])^(3/2),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[c^2-d^2]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_.*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ a^2*(Cot[e+f*x]/(f*Sqrt[a+b*Csc[e+f*x]]*Sqrt[a-b*Csc[e+f*x]]))*
+ Subst[Int[(a+b*x)^(m-1/2)*(c+d*x)^n/(x*Sqrt[a-b*x]),x],x,Csc[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && IntegerQ[m-1/2]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ Int[(b+a*Sin[e+f*x])^m*(d+c*Sin[e+f*x])^n/Sin[e+f*x]^(m+n),x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && NeQ[b*c-a*d] && IntegerQ[m] && IntegerQ[n] && MemberQ[{0,-1,-2},m+n]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ Sqrt[d+c*Sin[e+f*x]]*Sqrt[a+b*Csc[e+f*x]]/(Sqrt[b+a*Sin[e+f*x]]*Sqrt[c+d*Csc[e+f*x]])*
+ Int[(b+a*Sin[e+f*x])^m*(d+c*Sin[e+f*x])^n/Sin[e+f*x]^(m+n),x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && NeQ[b*c-a*d] && IntegerQ[m+1/2] && IntegerQ[n+1/2] && MemberQ[{0,-1,-2},m+n]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ Sin[e+f*x]^(m+n)*(a+b*Csc[e+f*x])^m*(c+d*Csc[e+f*x])^n/((b+a*Sin[e+f*x])^m*(d+c*Sin[e+f*x])^n)*
+ Int[(b+a*Sin[e+f*x])^m*(d+c*Sin[e+f*x])^n/Sin[e+f*x]^Simplify[m+n],x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && NeQ[b*c-a*d] && EqQ[m+n] && Not[IntegerQ[2*m]]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ Int[ExpandTrig[(a+b*csc[e+f*x])^m,(c+d*csc[e+f*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && PositiveIntegerQ[n]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_.*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(a+b*Csc[e+f*x])^m*(c+d*Csc[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x]
+
+
+Int[(a_.+b_.*sec[e_.+f_.*x_])^m_.*(d_./sec[e_.+f_.*x_])^n_,x_Symbol] :=
+ d^m*Int[(b+a*Cos[e+f*x])^m*(d*Cos[e+f*x])^(n-m),x] /;
+FreeQ[{a,b,d,e,f,n},x] && Not[IntegerQ[n]] && IntegerQ[m]
+
+
+Int[(a_.+b_.*csc[e_.+f_.*x_])^m_.*(d_./csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ d^m*Int[(b+a*Sin[e+f*x])^m*(d*Sin[e+f*x])^(n-m),x] /;
+FreeQ[{a,b,d,e,f,n},x] && Not[IntegerQ[n]] && IntegerQ[m]
+
+
+Int[(a_.+b_.*sec[e_.+f_.*x_])^m_.*(c_.*(d_.*sec[e_.+f_.*x_])^p_)^n_,x_Symbol] :=
+ c^IntPart[n]*(c*(d*Sec[e + f*x])^p)^FracPart[n]/(d*Sec[e + f*x])^(p*FracPart[n])*
+ Int[(a+b*Sec[e+f*x])^m*(d*Sec[e+f*x])^(n*p),x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[IntegerQ[n]]
+
+
+Int[(a_.+b_.*csc[e_.+f_.*x_])^m_.*(c_.*(d_.*csc[e_.+f_.*x_])^p_)^n_,x_Symbol] :=
+ c^IntPart[n]*(c*(d*Csc[e + f*x])^p)^FracPart[n]/(d*Csc[e + f*x])^(p*FracPart[n])*
+ Int[(a+b*Cos[e+f*x])^m*(d*Cos[e+f*x])^(n*p),x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[IntegerQ[n]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.3.2.2 (g sec)^p (a+b sec)^m (c+d sec)^n*)
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ b*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(c+d*Csc[e+f*x])^n/(a*f*(2*m+1)) /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && EqQ[m+n+1] && NeQ[2*m+1]
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ b*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(c+d*Csc[e+f*x])^n/(a*f*(2*m+1)) +
+ (m+n+1)/(a*(2*m+1))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(c+d*Csc[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && NegativeIntegerQ[m+n+1] && NeQ[2*m+1] &&
+ Not[RationalQ[n] && n<0] && Not[PositiveIntegerQ[n+1/2] && n+1/2<-(m+n)]
+
+
+Int[csc[e_.+f_.*x_]*Sqrt[c_+d_.*csc[e_.+f_.*x_]]/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ a*c*Log[1+b/a*Csc[e+f*x]]*Cot[e+f*x]/(b*f*Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]]) /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2]
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_.*Sqrt[c_+d_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ 2*a*c*Cot[e+f*x]*(a+b*Csc[e+f*x])^m/(b*f*(2*m+1)*Sqrt[c+d*Csc[e+f*x]]) /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && NeQ[m+1/2]
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ 2*a*c*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(c+d*Csc[e+f*x])^(n-1)/(b*f*(2*m+1)) -
+ d*(2*n-1)/(b*(2*m+1))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(c+d*Csc[e+f*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && PositiveIntegerQ[n-1/2] && RationalQ[m] && m<-1/2
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_.*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -d*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(c+d*Csc[e+f*x])^(n-1)/(f*(m+n)) +
+ c*(2*n-1)/(m+n)*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^m*(c+d*Csc[e+f*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && PositiveIntegerQ[n-1/2] && Not[RationalQ[m] && m<-1/2] &&
+ Not[PositiveIntegerQ[m-1/2] && m=0 && m*n>0
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ (-a*c)^(m+1/2)*Cot[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]])*Int[Csc[e+f*x]*Cot[e+f*x]^(2*m),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && IntegerQ[m+1/2]
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ b*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(c+d*Csc[e+f*x])^n/(a*f*(2*m+1)) +
+ (m+n+1)/(a*(2*m+1))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(c+d*Csc[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && (NegativeIntegerQ[m,n-1/2] || NegativeIntegerQ[m-1/2,n-1/2] && m=0 && m*n>0
+
+
+Int[(g_.*csc[e_.+f_.*x_])^p_.*(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^m_,x_Symbol] :=
+ (-a*c)^(m+1/2)*Cot[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]])*Int[(g*Csc[e+f*x])^p*Cot[e+f*x]^(2*m),x] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && IntegerQ[m+1/2]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^p_.*(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ a*c*g*Cot[e+f*x]/(f*Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]])*
+ Subst[Int[(g*x)^(p-1)*(a+b*x)^(m-1/2)*(c+d*x)^(n-1/2),x],x,Csc[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2]
+
+
+Int[Sqrt[g_.*csc[e_.+f_.*x_]]*Sqrt[a_+b_.*csc[e_.+f_.*x_]]/(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -2*b*g/f*Subst[Int[1/(b*c+a*d-c*g*x^2),x],x,b*Cot[e+f*x]/(Sqrt[g*Csc[e+f*x]]*Sqrt[a+b*Csc[e+f*x]])] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2]
+
+
+Int[Sqrt[g_.*csc[e_.+f_.*x_]]*Sqrt[a_+b_.*csc[e_.+f_.*x_]]/(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ a/c*Int[Sqrt[g*Csc[e+f*x]]/Sqrt[a+b*Csc[e+f*x]],x] +
+ (b*c-a*d)/(c*g)*Int[(g*Csc[e+f*x])^(3/2)/(Sqrt[a+b*Csc[e+f*x]]*(c+d*Csc[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2]
+
+
+Int[csc[e_.+f_.*x_]*Sqrt[a_+b_.*csc[e_.+f_.*x_]]/(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -2*b/f*Subst[Int[1/(b*c+a*d+d*x^2),x],x,b*Cot[e+f*x]/Sqrt[a+b*Csc[e+f*x]]] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2]
+
+
+Int[csc[e_.+f_.*x_]*Sqrt[a_+b_.*csc[e_.+f_.*x_]]/(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -Sqrt[a+b*Csc[e+f*x]]*Sqrt[c/(c+d*Csc[e+f*x])]/(d*f*Sqrt[c*d*(a+b*Csc[e+f*x])/((b*c+a*d)*(c+d*Csc[e+f*x]))])*
+ EllipticE[ArcSin[c*Cot[e+f*x]/(c+d*Csc[e+f*x])],-(b*c-a*d)/(b*c+a*d)] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && EqQ[c^2-d^2]
+
+
+Int[csc[e_.+f_.*x_]*Sqrt[a_+b_.*csc[e_.+f_.*x_]]/(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ b/d*Int[Csc[e+f*x]/Sqrt[a+b*Csc[e+f*x]],x] -
+ (b*c-a*d)/d*Int[Csc[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*(c+d*Csc[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^(3/2)*Sqrt[a_+b_.*csc[e_.+f_.*x_]]/(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ g/d*Int[Sqrt[g*Csc[e+f*x]]*Sqrt[a+b*Csc[e+f*x]],x] -
+ c*g/d*Int[Sqrt[g*Csc[e+f*x]]*Sqrt[a+b*Csc[e+f*x]]/(c+d*Csc[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^(3/2)*Sqrt[a_+b_.*csc[e_.+f_.*x_]]/(c_+d_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ b/d*Int[(g*Csc[e+f*x])^(3/2)/Sqrt[a+b*Csc[e+f*x]],x] -
+ (b*c-a*d)/d*Int[(g*Csc[e+f*x])^(3/2)/(Sqrt[a+b*Csc[e+f*x]]*(c+d*Csc[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2]
+
+
+Int[csc[e_.+f_.*x_]/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(c_+d_.*csc[e_.+f_.*x_])),x_Symbol] :=
+ b/(b*c-a*d)*Int[Csc[e+f*x]/Sqrt[a+b*Csc[e+f*x]],x] -
+ d/(b*c-a*d)*Int[Csc[e+f*x]*Sqrt[a+b*Csc[e+f*x]]/(c+d*Csc[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && (EqQ[a^2-b^2] || EqQ[c^2-d^2])
+
+
+Int[csc[e_.+f_.*x_]/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(c_+d_.*csc[e_.+f_.*x_])),x_Symbol] :=
+ -2*Cot[e+f*x]/(f*(c+d)*Sqrt[a+b*Csc[e+f*x]]*Sqrt[-Cot[e+f*x]^2])*Sqrt[(a+b*Csc[e+f*x])/(a+b)]*
+ EllipticPi[2*d/(c+d),ArcSin[Sqrt[1-Csc[e+f*x]]/Sqrt[2]],2*b/(a+b)] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^(3/2)/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(c_+d_.*csc[e_.+f_.*x_])),x_Symbol] :=
+ -a*g/(b*c-a*d)*Int[Sqrt[g*Csc[e+f*x]]/Sqrt[a+b*Csc[e+f*x]],x] +
+ c*g/(b*c-a*d)*Int[Sqrt[g*Csc[e+f*x]]*Sqrt[a+b*Csc[e+f*x]]/(c+d*Csc[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^(3/2)/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(c_+d_.*csc[e_.+f_.*x_])),x_Symbol] :=
+ g*Sqrt[g*Csc[e+f*x]]*Sqrt[b+a*Sin[e+f*x]]/Sqrt[a+b*Csc[e+f*x]]*Int[1/(Sqrt[b+a*Sin[e+f*x]]*(d+c*Sin[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2]
+
+
+Int[csc[e_.+f_.*x_]^2/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(c_+d_.*csc[e_.+f_.*x_])),x_Symbol] :=
+ -a/(b*c-a*d)*Int[Csc[e+f*x]/Sqrt[a+b*Csc[e+f*x]],x] +
+ c/(b*c-a*d)*Int[Csc[e+f*x]*Sqrt[a+b*Csc[e+f*x]]/(c+d*Csc[e+f*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && (EqQ[a^2-b^2] || EqQ[c^2-d^2])
+
+
+Int[csc[e_.+f_.*x_]^2/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(c_+d_.*csc[e_.+f_.*x_])),x_Symbol] :=
+ 1/d*Int[Csc[e+f*x]/Sqrt[a+b*Csc[e+f*x]],x] -
+ c/d*Int[Csc[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*(c+d*Csc[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^(5/2)/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(c_+d_.*csc[e_.+f_.*x_])),x_Symbol] :=
+ -c^2*g^2/(d*(b*c-a*d))*Int[Sqrt[g*Csc[e+f*x]]*Sqrt[a+b*Csc[e+f*x]]/(c+d*Csc[e+f*x]),x] +
+ g^2/(d*(b*c-a*d))*Int[Sqrt[g*Csc[e+f*x]]*(a*c+(b*c-a*d)*Csc[e+f*x])/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^(5/2)/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(c_+d_.*csc[e_.+f_.*x_])),x_Symbol] :=
+ g/d*Int[(g*Csc[e+f*x])^(3/2)/Sqrt[a+b*Csc[e+f*x]],x] -
+ c*g/d*Int[(g*Csc[e+f*x])^(3/2)/(Sqrt[a+b*Csc[e+f*x]]*(c+d*Csc[e+f*x])),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2]
+
+
+Int[csc[e_.+f_.*x_]*Sqrt[a_+b_.*csc[e_.+f_.*x_]]/Sqrt[c_+d_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ -2*b/f*Subst[Int[1/(1-b*d*x^2),x],x,Cot[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]])] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[csc[e_.+f_.*x_]*Sqrt[a_+b_.*csc[e_.+f_.*x_]]/Sqrt[c_+d_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ -(b*c-a*d)/d*Int[Csc[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]]),x] +
+ b/d*Int[Csc[e+f*x]*Sqrt[c+d*Csc[e+f*x]]/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && EqQ[c^2-d^2]
+
+
+Int[csc[e_.+f_.*x_]*Sqrt[a_+b_.*csc[e_.+f_.*x_]]/Sqrt[c_+d_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ -2*(a+b*Csc[e+f*x])/(d*f*Sqrt[(a+b)/(c+d)]*Cot[e+f*x])*
+ Sqrt[-(b*c-a*d)*(1-Csc[e+f*x])/((c+d)*(a+b*Csc[e+f*x]))]*Sqrt[(b*c-a*d)*(1+Csc[e+f*x])/((c-d)*(a+b*Csc[e+f*x]))]*
+ EllipticPi[b*(c+d)/(d*(a+b)),ArcSin[Sqrt[(a+b)/(c+d)]*Sqrt[c+d*Csc[e+f*x]]/Sqrt[a+b*Csc[e+f*x]]],(a-b)*(c+d)/((a+b)*(c-d))] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[csc[e_.+f_.*x_]/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*Sqrt[c_+d_.*csc[e_.+f_.*x_]]),x_Symbol] :=
+ -2*a/(b*f)*Subst[Int[1/(2+(a*c-b*d)*x^2),x],x,Cot[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]])] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[csc[e_.+f_.*x_]/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*Sqrt[c_+d_.*csc[e_.+f_.*x_]]),x_Symbol] :=
+ -2*(c+d*Csc[e+f*x])/(f*(b*c-a*d)*Rt[(c+d)/(a+b),2]*Cot[e+f*x])*
+ Sqrt[(b*c-a*d)*(1-Csc[e+f*x])/((a+b)*(c+d*Csc[e+f*x]))]*Sqrt[-(b*c-a*d)*(1+Csc[e+f*x])/((a-b)*(c+d*Csc[e+f*x]))]*
+ EllipticF[ArcSin[Rt[(c+d)/(a+b),2]*(Sqrt[a+b*Csc[e+f*x]]/Sqrt[c+d*Csc[e+f*x]])],(a+b)*(c-d)/((a-b)*(c+d))] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[csc[e_.+f_.*x_]^2/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*Sqrt[c_+d_.*csc[e_.+f_.*x_]]),x_Symbol] :=
+ -a/b*Int[Csc[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]]),x] +
+ 1/b*Int[Csc[e+f*x]*Sqrt[a+b*Csc[e+f*x]]/Sqrt[c+d*Csc[e+f*x]],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d]
+
+
+Int[csc[e_.+f_.*x_]*Sqrt[a_+b_.*csc[e_.+f_.*x_]]/(c_+d_.*csc[e_.+f_.*x_])^(3/2),x_Symbol] :=
+ (a-b)/(c-d)*Int[Csc[e+f*x]/(Sqrt[a+b*Csc[e+f*x]]*Sqrt[c+d*Csc[e+f*x]]),x] +
+ (b*c-a*d)/(c-d)*Int[Csc[e+f*x]*(1+Csc[e+f*x])/(Sqrt[a+b*Csc[e+f*x]]*(c+d*Csc[e+f*x])^(3/2)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^p_.*(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ a^2*g*Cot[e+f*x]/(f*Sqrt[a+b*Csc[e+f*x]]*Sqrt[a-b*Csc[e+f*x]])*
+ Subst[Int[(g*x)^(p-1)*(a+b*x)^(m-1/2)*(c+d*x)^n/Sqrt[a-b*x],x],x,Csc[e+f*x]] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && NeQ[b*c-a*d] && EqQ[a^2-b^2] && NeQ[c^2-d^2] && (EqQ[p-1] || IntegerQ[m-1/2])
+
+
+Int[(g_.*csc[e_.+f_.*x_])^p_.*(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ 1/g^(m+n)*Int[(g*Csc[e+f*x])^(m+n+p)*(b+a*Sin[e+f*x])^m*(d+c*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && NeQ[b*c-a*d] && IntegerQ[m] && IntegerQ[n]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^p_.*(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ (g*Csc[e+f*x])^(m+p)*(c+d*Csc[e+f*x])^n/(g^m*(d+c*Sin[e+f*x])^n)*Int[(b+a*Sin[e+f*x])^m*(d+c*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && NeQ[b*c-a*d] && EqQ[m+n+p] && IntegerQ[m]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^p_.*(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ (g*Csc[e+f*x])^p*(a+b*Csc[e+f*x])^m*(c+d*Csc[e+f*x])^n/((b+a*Sin[e+f*x])^m*(d+c*Sin[e+f*x])^n)*
+ Int[(b+a*Sin[e+f*x])^m*(d+c*Sin[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && NeQ[b*c-a*d] && EqQ[m+n+p] && Not[IntegerQ[m]]
+
+
+Int[csc[e_.+f_.*x_]^p_.*(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ Sqrt[d+c*Sin[e+f*x]]*Sqrt[a+b*Csc[e+f*x]]/(Sqrt[b+a*Sin[e+f*x]]*Sqrt[c+d*Csc[e+f*x]])*
+ Int[(b+a*Sin[e+f*x])^m*(d+c*Sin[e+f*x])^n/Sin[e+f*x]^(m+n+p),x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && NeQ[b*c-a*d] && IntegerQ[m-1/2] && IntegerQ[n-1/2] && IntegerQ[p] && MemberQ[{-1,-2},m+n+p]
+
+
+Int[(g_.*csc[e_.+f_.*x_])^p_.*(a_+b_.*csc[e_.+f_.*x_])^m_*(c_+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ Int[ExpandTrig[(g*csc[e+f*x])^p*(a+b*csc[e+f*x])^m*(c+d*csc[e+f*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && NeQ[b*c-a*d] && (IntegersQ[m,n] || IntegersQ[m,p] || IntegersQ[n,p])
+
+
+Int[(g_.*csc[e_.+f_.*x_])^p_.*(a_.+b_.*csc[e_.+f_.*x_])^m_*(c_.+d_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ Defer[Int][(g*Csc[e+f*x])^p*(a+b*Csc[e+f*x])^m*(c+d*Csc[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x]
+
+
+Int[sec[e_.+f_.*x_]*(A_+B_.*sec[e_.+f_.*x_])/(Sqrt[a_+b_.*sec[e_.+f_.*x_]]*(c_+d_.*sec[e_.+f_.*x_])^(3/2)),x_Symbol] :=
+ 2*A*(1+Sec[e+f*x])*Sqrt[(b*c-a*d)*(1-Sec[e+f*x])/((a+b)*(c+d*Sec[e+f*x]))]/
+ (f*(b*c-a*d)*Rt[(c+d)/(a+b),2]*Tan[e+f*x]*Sqrt[-(b*c-a*d)*(1+Sec[e+f*x])/((a-b)*(c+d*Sec[e+f*x]))])*
+ EllipticE[ArcSin[Rt[(c+d)/(a+b),2]*Sqrt[a+b*Sec[e+f*x]]/Sqrt[c+d*Sec[e+f*x]]],(a+b)*(c-d)/((a-b)*(c+d))] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && EqQ[A-B]
+
+
+Int[csc[e_.+f_.*x_]*(A_+B_.*csc[e_.+f_.*x_])/(Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(c_+d_.*csc[e_.+f_.*x_])^(3/2)),x_Symbol] :=
+ -2*A*(1+Csc[e+f*x])*Sqrt[(b*c-a*d)*(1-Csc[e+f*x])/((a+b)*(c+d*Csc[e+f*x]))]/
+ (f*(b*c-a*d)*Rt[(c+d)/(a+b),2]*Cot[e+f*x]*Sqrt[-(b*c-a*d)*(1+Csc[e+f*x])/((a-b)*(c+d*Csc[e+f*x]))])*
+ EllipticE[ArcSin[Rt[(c+d)/(a+b),2]*Sqrt[a+b*Csc[e+f*x]]/Sqrt[c+d*Csc[e+f*x]]],(a+b)*(c-d)/((a-b)*(c+d))] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && NeQ[b*c-a*d] && NeQ[a^2-b^2] && NeQ[c^2-d^2] && EqQ[A-B]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.3.3.1 (a+b sec)^m (d sec)^n (A+B sec)*)
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ A*a*Cot[e+f*x]*(d*Csc[e+f*x])^n/(f*n) +
+ 1/(d*n)*Int[(d*Csc[e+f*x])^(n+1)*Simp[n*(B*a+A*b)+(B*b*n+A*a*(n+1))*Csc[e+f*x],x],x] /;
+FreeQ[{a,b,d,e,f,A,B},x] && NeQ[A*b-a*B] && RationalQ[n] && n<=-1
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])*(d_.*csc[e_.+f_.*x_])^n_.*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -b*B*Cot[e+f*x]*(d*Csc[e+f*x])^n/(f*(n+1)) +
+ 1/(n+1)*Int[(d*Csc[e+f*x])^n*Simp[A*a*(n+1)+B*b*n+(A*b+B*a)*(n+1)*Csc[e+f*x],x],x] /;
+FreeQ[{a,b,d,e,f,A,B},x] && NeQ[A*b-a*B] && Not[RationalQ[n] && n<=-1]
+
+
+Int[csc[e_.+f_.*x_]*(A_+B_.*csc[e_.+f_.*x_])/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ B/b*Int[Csc[e+f*x],x] + (A*b-a*B)/b*Int[Csc[e+f*x]/(a+b*Csc[e+f*x]),x] /;
+FreeQ[{a,b,e,f,A,B},x] && NeQ[A*b-a*B]
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -B*Cot[e+f*x]*(a+b*Csc[e+f*x])^m/(f*(m+1)) /;
+FreeQ[{a,b,A,B,e,f,m},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2] && EqQ[a*B*m+A*b*(m+1)]
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ (A*b-a*B)*Cot[e+f*x]*(a+b*Csc[e+f*x])^m/(a*f*(2*m+1)) +
+ (a*B*m+A*b*(m+1))/(a*b*(2*m+1))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m+1),x] /;
+FreeQ[{a,b,A,B,e,f},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2] && NeQ[a*B*m+A*b*(m+1)] && RationalQ[m] && m<-1/2
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -B*Cot[e+f*x]*(a+b*Csc[e+f*x])^m/(f*(m+1)) +
+ (a*B*m+A*b*(m+1))/(b*(m+1))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^m,x] /;
+FreeQ[{a,b,A,B,e,f,m},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2] && NeQ[a*B*m+A*b*(m+1)] && Not[RationalQ[m] && m<-1/2]
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -B*Cot[e+f*x]*(a+b*Csc[e+f*x])^m/(f*(m+1)) +
+ 1/(m+1)*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m-1)*Simp[b*B*m+a*A*(m+1)+(a*B*m+A*b*(m+1))*Csc[e+f*x],x],x] /;
+FreeQ[{a,b,A,B,e,f},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2] && RationalQ[m] && m>0
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -(A*b-a*B)*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)/(f*(m+1)*(a^2-b^2)) +
+ 1/((m+1)*(a^2-b^2))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*Simp[(a*A-b*B)*(m+1)-(A*b-a*B)*(m+2)*Csc[e+f*x],x],x] /;
+FreeQ[{a,b,A,B,e,f},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2] && RationalQ[m] && m<-1
+
+
+Int[csc[e_.+f_.*x_]*(A_+B_.*csc[e_.+f_.*x_])/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ -2*(A*b-a*B)*Rt[a+b*B/A,2]*Sqrt[b*(1-Csc[e+f*x])/(a+b)]*Sqrt[-b*(1+Csc[e+f*x])/(a-b)]/(b^2*f*Cot[e+f*x])*
+ EllipticE[ArcSin[Sqrt[a+b*Csc[e+f*x]]/Rt[a+b*B/A,2]],(a*A+b*B)/(a*A-b*B)] /;
+FreeQ[{a,b,e,f,A,B},x] && NeQ[a^2-b^2] && EqQ[A^2-B^2]
+
+
+Int[csc[e_.+f_.*x_]*(A_+B_.*csc[e_.+f_.*x_])/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ (A-B)*Int[Csc[e+f*x]/Sqrt[a+b*Csc[e+f*x]],x] +
+ B*Int[Csc[e+f*x]*(1+Csc[e+f*x])/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,e,f,A,B},x] && NeQ[a^2-b^2] && NeQ[A^2-B^2]
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ 2*Sqrt[2]*A*(a+b*Csc[e+f*x])^m*(A-B*Csc[e+f*x])*Sqrt[(A+B*Csc[e+f*x])/A]/(B*f*Cot[e+f*x]*(A*(a+b*Csc[e+f*x])/(a*A+b*B))^m)*
+ AppellF1[1/2,-(1/2),-m,3/2,(A-B*Csc[e+f*x])/(2*A),(b*(A-B*Csc[e+f*x]))/(A*b+a*B)] /;
+FreeQ[{a,b,A,B,e,f},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2] && EqQ[A^2-B^2] && Not[IntegerQ[2*m]]
+
+
+Int[csc[e_.+f_.*x_]*(a_+b_.*csc[e_.+f_.*x_])^m_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ (A*b-a*B)/b*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^m,x] + B/b*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m+1),x] /;
+FreeQ[{a,b,A,B,e,f,m},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2]
+
+
+Int[csc[e_.+f_.*x_]^2*(a_+b_.*csc[e_.+f_.*x_])^m_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -(A*b-a*B)*Cot[e+f*x]*(a+b*Csc[e+f*x])^m/(b*f*(2*m+1)) +
+ 1/(b^2*(2*m+1))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*Simp[A*b*m-a*B*m+b*B*(2*m+1)*Csc[e+f*x],x],x] /;
+FreeQ[{a,b,e,f,A,B},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2] && RationalQ[m] && m<-1/2
+
+
+Int[csc[e_.+f_.*x_]^2*(a_+b_.*csc[e_.+f_.*x_])^m_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ a*(A*b-a*B)*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)/(b*f*(m+1)*(a^2-b^2)) -
+ 1/(b*(m+1)*(a^2-b^2))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*
+ Simp[b*(A*b-a*B)*(m+1)-(a*A*b*(m+2)-B*(a^2+b^2*(m+1)))*Csc[e+f*x],x],x] /;
+FreeQ[{a,b,e,f,A,B},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2] && RationalQ[m] && m<-1
+
+
+Int[csc[e_.+f_.*x_]^2*(a_+b_.*csc[e_.+f_.*x_])^m_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -B*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)/(b*f*(m+2)) +
+ 1/(b*(m+2))*Int[Csc[e+f*x]*(a+b*Csc[e+f*x])^m*Simp[b*B*(m+1)+(A*b*(m+2)-a*B)*Csc[e+f*x],x],x] /;
+FreeQ[{a,b,e,f,A,B,m},x] && NeQ[A*b-a*B] && Not[RationalQ[m] && m<-1]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ A*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^n/(f*n) /;
+FreeQ[{a,b,d,e,f,A,B,m,n},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2] && EqQ[m+n+1] && EqQ[a*A*m-b*B*n]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -(A*b-a*B)*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^n/(b*f*(2*m+1)) +
+ (a*A*m+b*B*(m+1))/(a^2*(2*m+1))*Int[(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n,x] /;
+FreeQ[{a,b,d,e,f,A,B,n},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2] && EqQ[m+n+1] && RationalQ[m] && m<=-1
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ A*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^n/(f*n) -
+ (a*A*m-b*B*n)/(b*d*n)*Int[(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,d,e,f,A,B,m,n},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2] && EqQ[m+n+1] && Not[RationalQ[m] && m<=-1]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -2*b*B*Cot[e+f*x]*(d*Csc[e+f*x])^n/(f*(2*n+1)*Sqrt[a+b*Csc[e+f*x]]) /;
+FreeQ[{a,b,d,e,f,A,B,n},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2] && EqQ[A*b*(2*n+1)+2*a*B*n]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ A*b^2*Cot[e+f*x]*(d*Csc[e+f*x])^n/(a*f*n*Sqrt[a+b*Csc[e+f*x]]) +
+ (A*b*(2*n+1)+2*a*B*n)/(2*a*d*n)*Int[Sqrt[a+b*Csc[e+f*x]]*(d*Csc[e+f*x])^(n+1),x] /;
+FreeQ[{a,b,d,e,f,A,B},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2] && NeQ[A*b*(2*n+1)+2*a*B*n] && RationalQ[n] && n<0
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -2*b*B*Cot[e+f*x]*(d*Csc[e+f*x])^n/(f*(2*n+1)*Sqrt[a+b*Csc[e+f*x]]) +
+ (A*b*(2*n+1)+2*a*B*n)/(b*(2*n+1))*Int[Sqrt[a+b*Csc[e+f*x]]*(d*Csc[e+f*x])^n,x] /;
+FreeQ[{a,b,d,e,f,A,B,n},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2] && NeQ[A*b*(2*n+1)+2*a*B*n] && Not[RationalQ[n] && n<0]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ a*A*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m-1)*(d*Csc[e+f*x])^n/(f*n) -
+ b/(a*d*n)*Int[(a+b*Csc[e+f*x])^(m-1)*(d*Csc[e+f*x])^(n+1)*Simp[a*A*(m-n-1)-b*B*n-(a*B*n+A*b*(m+n))*Csc[e+f*x],x],x] /;
+FreeQ[{a,b,d,e,f,A,B},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2] && RationalQ[m,n] && m>1/2 && n<-1
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -b*B*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m-1)*(d*Csc[e+f*x])^n/(f*(m+n)) +
+ 1/(d*(m+n))*Int[(a+b*Csc[e+f*x])^(m-1)*(d*Csc[e+f*x])^n*Simp[a*A*d*(m+n)+B*(b*d*n)+(A*b*d*(m+n)+a*B*d*(2*m+n-1))*Csc[e+f*x],x],x] /;
+FreeQ[{a,b,d,e,f,A,B,n},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2] && RationalQ[m] && m>1/2 && Not[RationalQ[n] && n<-1]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ d*(A*b-a*B)*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n-1)/(a*f*(2*m+1)) -
+ 1/(a*b*(2*m+1))*Int[(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^(n-1)*
+ Simp[A*(a*d*(n-1))-B*(b*d*(n-1))-d*(a*B*(m-n+1)+A*b*(m+n))*Csc[e+f*x],x],x] /;
+FreeQ[{a,b,d,e,f,A,B},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2] && RationalQ[m,n] && m<-1/2 && n>0
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -(A*b-a*B)*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^n/(b*f*(2*m+1)) -
+ 1/(a^2*(2*m+1))*Int[(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n*
+ Simp[b*B*n-a*A*(2*m+n+1)+(A*b-a*B)*(m+n+1)*Csc[e+f*x],x],x] /;
+FreeQ[{a,b,d,e,f,A,B,n},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2] && RationalQ[m] && m<-1/2 && Not[RationalQ[n] && n>0]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -B*d*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n-1)/(f*(m+n)) +
+ d/(b*(m+n))*Int[(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n-1)*Simp[b*B*(n-1)+(A*b*(m+n)+a*B*m)*Csc[e+f*x],x],x] /;
+FreeQ[{a,b,d,e,f,A,B,m},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2] && RationalQ[n] && n>1
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ A*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^n/(f*n) -
+ 1/(b*d*n)*Int[(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n+1)*Simp[a*A*m-b*B*n-A*b*(m+n+1)*Csc[e+f*x],x],x] /;
+FreeQ[{a,b,d,e,f,A,B,m},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2] && RationalQ[n] && n<0
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ (A*b-a*B)/b*Int[(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^n,x] +
+ B/b*Int[(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n,x] /;
+FreeQ[{a,b,d,e,f,A,B,m},x] && NeQ[A*b-a*B] && EqQ[a^2-b^2]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ a*A*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m-1)*(d*Csc[e+f*x])^n/(f*n) +
+ 1/(d*n)*Int[(a+b*Csc[e+f*x])^(m-2)*(d*Csc[e+f*x])^(n+1)*
+ Simp[a*(a*B*n-A*b*(m-n-1))+(2*a*b*B*n+A*(b^2*n+a^2*(1+n)))*Csc[e+f*x]+b*(b*B*n+a*A*(m+n))*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,B},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2] && RationalQ[m,n] && m>1 && n<=-1
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -b*B*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m-1)*(d*Csc[e+f*x])^n/(f*(m+n)) +
+ 1/(m+n)*Int[(a+b*Csc[e+f*x])^(m-2)*(d*Csc[e+f*x])^n*
+ Simp[a^2*A*(m+n)+a*b*B*n+(a*(2*A*b+a*B)*(m+n)+b^2*B*(m+n-1))*Csc[e+f*x]+b*(A*b*(m+n)+a*B*(2*m+n-1))*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,B,n},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2] && RationalQ[m] && m>1 &&
+ Not[IntegerQ[n] && n>1 && Not[IntegerQ[m]]]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -d*(A*b-a*B)*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^(n-1)/(f*(m+1)*(a^2-b^2)) +
+ 1/((m+1)*(a^2-b^2))*Int[(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^(n-1)*
+ Simp[d*(n-1)*(A*b-a*B)+d*(a*A-b*B)*(m+1)*Csc[e+f*x]-d*(A*b-a*B)*(m+n+1)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,B},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2] && RationalQ[m,n] && m<-1 && 01
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ b*(A*b-a*B)*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n/(a*f*(m+1)*(a^2-b^2)) +
+ 1/(a*(m+1)*(a^2-b^2))*Int[(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n*
+ Simp[A*(a^2*(m+1)-b^2*(m+n+1))+a*b*B*n-a*(A*b-a*B)*(m+1)*Csc[e+f*x]+b*(A*b-a*B)*(m+n+2)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,B,n},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2] && RationalQ[m] && m<-1 && Not[NegativeIntegerQ[m+1/2,n]]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ -B*d*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n-1)/(f*(m+n)) +
+ d/(m+n)*Int[(a+b*Csc[e+f*x])^(m-1)*(d*Csc[e+f*x])^(n-1)*
+ Simp[a*B*(n-1)+(b*B*(m+n-1)+a*A*(m+n))*Csc[e+f*x]+(a*B*m+A*b*(m+n))*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,B},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2] && RationalQ[m,n] && 00
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ A*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^n/(f*n) -
+ 1/(d*n)*Int[(a+b*Csc[e+f*x])^(m-1)*(d*Csc[e+f*x])^(n+1)*
+ Simp[A*b*m-a*B*n-(b*B*n+a*A*(n+1))*Csc[e+f*x]-A*b*(m+n+1)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,B},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2] && RationalQ[m,n] && 01 && NeQ[m+n] &&
+ Not[IntegerQ[m] && m>1]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ A*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n/(a*f*n) +
+ 1/(a*d*n)*Int[(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n+1)*
+ Simp[a*B*n-A*b*(m+n+1)+A*a*(n+1)*Csc[e+f*x]+A*b*(m+n+2)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,B,m},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2] && RationalQ[n] && n<=-1
+
+
+Int[(A_+B_.*csc[e_.+f_.*x_])/(Sqrt[d_.*csc[e_.+f_.*x_]]*Sqrt[a_+b_.*csc[e_.+f_.*x_]]),x_Symbol] :=
+ A/a*Int[Sqrt[a+b*Csc[e+f*x]]/Sqrt[d*Csc[e+f*x]],x] -
+ (A*b-a*B)/(a*d)*Int[Sqrt[d*Csc[e+f*x]]/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f,A,B},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2]
+
+
+Int[Sqrt[d_.*csc[e_.+f_.*x_]]*(A_+B_.*csc[e_.+f_.*x_])/Sqrt[a_+b_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ A*Int[Sqrt[d*Csc[e+f*x]]/Sqrt[a+b*Csc[e+f*x]],x] +
+ B/d*Int[(d*Csc[e+f*x])^(3/2)/Sqrt[a+b*Csc[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f,A,B},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2]
+
+
+Int[Sqrt[a_+b_.*csc[e_.+f_.*x_]]*(A_+B_.*csc[e_.+f_.*x_])/Sqrt[d_.*csc[e_.+f_.*x_]],x_Symbol] :=
+ B/d*Int[Sqrt[a+b*Csc[e+f*x]]*Sqrt[d*Csc[e+f*x]],x] +
+ A*Int[Sqrt[a+b*Csc[e+f*x]]/Sqrt[d*Csc[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f,A,B},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2]
+
+
+Int[(d_.*csc[e_.+f_.*x_])^n_*(A_+B_.*csc[e_.+f_.*x_])/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ A/a*Int[(d*Csc[e+f*x])^n,x] - (A*b-a*B)/(a*d)*Int[(d*Csc[e+f*x])^(n+1)/(a+b*Csc[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,A,B,n},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_.*(A_+B_.*csc[e_.+f_.*x_]),x_Symbol] :=
+ Defer[Int][(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^n*(A+B*Csc[e+f*x]),x] /;
+FreeQ[{a,b,d,e,f,A,B,m,n},x] && NeQ[A*b-a*B] && NeQ[a^2-b^2]
+
+
+(* Int[(a_+b_.*csc[e_.+f_.*x_])^m_.*(c_+d_.*csc[e_.+f_.*x_])^n_.*(A_.+B_.*csc[e_.+f_.*x_])^p_.,x_Symbol] :=
+ (-a*c)^m*Int[Cot[e+f*x]^(2*m)*(c+d*Csc[e+f*x])^(n-m)*(A+B*Csc[e+f*x])^p,x] /;
+FreeQ[{a,b,c,d,e,f,A,B,n,p},x] && EqQ[b*c+a*d] && EqQ[a^2-b^2] && IntegerQ[m] &&
+ Not[IntegerQ[n] && (m<0 && n>0 || 00 && n<=-1
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_.+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ A*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^n/(f*n) -
+ 1/(d*n)*Int[(a+b*Csc[e+f*x])^(m-1)*(d*Csc[e+f*x])^(n+1)*
+ Simp[A*b*m-a*(C*n+A*(n+1))*Csc[e+f*x]-b*(C*n+A*(m+n+1))*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,C},x] && NeQ[a^2-b^2] && RationalQ[m,n] && m>0 && n<=-1
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_.+B_.*csc[e_.+f_.*x_]+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ -C*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^n/(f*(m+n+1)) +
+ 1/(m+n+1)*Int[(a+b*Csc[e+f*x])^(m-1)*(d*Csc[e+f*x])^n*
+ Simp[a*A*(m+n+1)+a*C*n+((A*b+a*B)*(m+n+1)+b*C*(m+n))*Csc[e+f*x]+(b*B*(m+n+1)+a*C*m)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,B,C,n},x] && NeQ[a^2-b^2] && RationalQ[m] && m>0 && Not[RationalQ[n] && n<=-1]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_.+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ -C*Cot[e+f*x]*(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^n/(f*(m+n+1)) +
+ 1/(m+n+1)*Int[(a+b*Csc[e+f*x])^(m-1)*(d*Csc[e+f*x])^n*
+ Simp[a*A*(m+n+1)+a*C*n+b*(A*(m+n+1)+C*(m+n))*Csc[e+f*x]+a*C*m*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,C,n},x] && NeQ[a^2-b^2] && RationalQ[m] && m>0 && Not[RationalQ[n] && n<=-1]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_.+B_.*csc[e_.+f_.*x_]+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ -d*(A*b^2-a*b*B+a^2*C)*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^(n-1)/(b*f*(a^2-b^2)*(m+1)) +
+ d/(b*(a^2-b^2)*(m+1))*Int[(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^(n-1)*
+ Simp[A*b^2*(n-1)-a*(b*B-a*C)*(n-1)+
+ b*(a*A-b*B+a*C)*(m+1)*Csc[e+f*x]-
+ (b*(A*b-a*B)*(m+n+1)+C*(a^2*n+b^2*(m+1)))*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,B,C},x] && NeQ[a^2-b^2] && RationalQ[m,n] && m<-1 && n>0
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_.+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ -d*(A*b^2+a^2*C)*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^(n-1)/(b*f*(a^2-b^2)*(m+1)) +
+ d/(b*(a^2-b^2)*(m+1))*Int[(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^(n-1)*
+ Simp[A*b^2*(n-1)+a^2*C*(n-1)+a*b*(A+C)*(m+1)*Csc[e+f*x]-(A*b^2*(m+n+1)+C*(a^2*n+b^2*(m+1)))*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,C},x] && NeQ[a^2-b^2] && RationalQ[m,n] && m<-1 && n>0
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_.+B_.*csc[e_.+f_.*x_]+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ (A*b^2-a*b*B+a^2*C)*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n/(a*f*(m+1)*(a^2-b^2)) +
+ 1/(a*(m+1)*(a^2-b^2))*Int[(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n*
+ Simp[a*(a*A-b*B+a*C)*(m+1)-(A*b^2-a*b*B+a^2*C)*(m+n+1)-
+ a*(A*b-a*B+b*C)*(m+1)*Csc[e+f*x]+
+ (A*b^2-a*b*B+a^2*C)*(m+n+2)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,B,C,n},x] && NeQ[a^2-b^2] && RationalQ[m] && m<-1 && Not[NegativeIntegerQ[m+1/2,n]]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_.+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ (A*b^2+a^2*C)*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n/(a*f*(m+1)*(a^2-b^2)) +
+ 1/(a*(m+1)*(a^2-b^2))*Int[(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n*
+ Simp[a^2*(A+C)*(m+1)-(A*b^2+a^2*C)*(m+n+1)-a*b*(A+C)*(m+1)*Csc[e+f*x]+(A*b^2+a^2*C)*(m+n+2)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,C,n},x] && NeQ[a^2-b^2] && RationalQ[m] && m<-1 && Not[NegativeIntegerQ[m+1/2,n]]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_.+B_.*csc[e_.+f_.*x_]+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ -C*d*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^(n-1)/(b*f*(m+n+1)) +
+ d/(b*(m+n+1))*Int[(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n-1)*
+ Simp[a*C*(n-1)+(A*b*(m+n+1)+b*C*(m+n))*Csc[e+f*x]+(b*B*(m+n+1)-a*C*n)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,B,C,m},x] && NeQ[a^2-b^2] && RationalQ[n] && n>0 (* && Not[IntegerQ[m] && m>0 && Not[IntegerQ[n]]] *)
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_.+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ -C*d*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^(n-1)/(b*f*(m+n+1)) +
+ d/(b*(m+n+1))*Int[(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n-1)*
+ Simp[a*C*(n-1)+(A*b*(m+n+1)+b*C*(m+n))*Csc[e+f*x]-a*C*n*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,C,m},x] && NeQ[a^2-b^2] && RationalQ[n] && n>0 (* && Not[IntegerQ[m] && m>0 && Not[IntegerQ[n]]] *)
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_.+B_.*csc[e_.+f_.*x_]+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ A*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n/(a*f*n) +
+ 1/(a*d*n)*Int[(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n+1)*
+ Simp[a*B*n-A*b*(m+n+1)+a*(A+A*n+C*n)*Csc[e+f*x]+A*b*(m+n+2)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,B,C,m},x] && NeQ[a^2-b^2] && RationalQ[n] && n<=-1
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_*(d_.*csc[e_.+f_.*x_])^n_*(A_.+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ A*Cot[e+f*x]*(a+b*Csc[e+f*x])^(m+1)*(d*Csc[e+f*x])^n/(a*f*n) +
+ 1/(a*d*n)*Int[(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n+1)*
+ Simp[-A*b*(m+n+1)+a*(A+A*n+C*n)*Csc[e+f*x]+A*b*(m+n+2)*Csc[e+f*x]^2,x],x] /;
+FreeQ[{a,b,d,e,f,A,C,m},x] && NeQ[a^2-b^2] && RationalQ[n] && n<=-1
+
+
+Int[(A_.+B_.*csc[e_.+f_.*x_]+C_.*csc[e_.+f_.*x_]^2)/(Sqrt[d_.*csc[e_.+f_.*x_]]*(a_+b_.*csc[e_.+f_.*x_])),x_Symbol] :=
+ (A*b^2-a*b*B+a^2*C)/(a^2*d^2)*Int[(d*Csc[e+f*x])^(3/2)/(a+b*Csc[e+f*x]),x] +
+ 1/a^2*Int[(a*A-(A*b-a*B)*Csc[e+f*x])/Sqrt[d*Csc[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f,A,B,C},x] && NeQ[a^2-b^2]
+
+
+Int[(A_.+C_.*csc[e_.+f_.*x_]^2)/(Sqrt[d_.*csc[e_.+f_.*x_]]*(a_+b_.*csc[e_.+f_.*x_])),x_Symbol] :=
+ (A*b^2+a^2*C)/(a^2*d^2)*Int[(d*Csc[e+f*x])^(3/2)/(a+b*Csc[e+f*x]),x] +
+ 1/a^2*Int[(a*A-A*b*Csc[e+f*x])/Sqrt[d*Csc[e+f*x]],x] /;
+FreeQ[{a,b,d,e,f,A,C},x] && NeQ[a^2-b^2]
+
+
+Int[(A_.+B_.*csc[e_.+f_.*x_]+C_.*csc[e_.+f_.*x_]^2)/(Sqrt[d_.*csc[e_.+f_.*x_]]*Sqrt[a_+b_.*csc[e_.+f_.*x_]]),x_Symbol] :=
+ C/d^2*Int[(d*Csc[e+f*x])^(3/2)/Sqrt[a+b*Csc[e+f*x]],x] +
+ Int[(A+B*Csc[e+f*x])/(Sqrt[d*Csc[e+f*x]]*Sqrt[a+b*Csc[e+f*x]]),x] /;
+FreeQ[{a,b,d,e,f,A,B,C},x] && NeQ[a^2-b^2]
+
+
+Int[(A_.+C_.*csc[e_.+f_.*x_]^2)/(Sqrt[d_.*csc[e_.+f_.*x_]]*Sqrt[a_+b_.*csc[e_.+f_.*x_]]),x_Symbol] :=
+ C/d^2*Int[(d*Csc[e+f*x])^(3/2)/Sqrt[a+b*Csc[e+f*x]],x] +
+ A*Int[1/(Sqrt[d*Csc[e+f*x]]*Sqrt[a+b*Csc[e+f*x]]),x] /;
+FreeQ[{a,b,d,e,f,A,C},x] && NeQ[a^2-b^2]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_.*(d_.*csc[e_.+f_.*x_])^n_.*(A_.+B_.*csc[e_.+f_.*x_]+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ Defer[Int][(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^n*(A+B*Csc[e+f*x]+C*Csc[e+f*x]^2),x] /;
+FreeQ[{a,b,d,e,f,A,B,C,m,n},x]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_.*(d_.*csc[e_.+f_.*x_])^n_.*(A_.+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ Defer[Int][(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^n*(A+C*Csc[e+f*x]^2),x] /;
+FreeQ[{a,b,d,e,f,A,C,m,n},x]
+
+
+Int[(a_+b_.*sec[e_.+f_.*x_])^m_.*(d_.*cos[e_.+f_.*x_])^n_*(A_.+B_.*sec[e_.+f_.*x_]+C_.*sec[e_.+f_.*x_]^2),x_Symbol] :=
+ d^(m+2)*Int[(b+a*Cos[e+f*x])^m*(d*Cos[e+f*x])^(n-m-2)*(C+B*Cos[e+f*x]+A*Cos[e+f*x]^2),x] /;
+FreeQ[{a,b,d,e,f,A,B,C,n},x] && Not[IntegerQ[n]] && IntegerQ[m]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_.*(d_.*sin[e_.+f_.*x_])^n_*(A_.+B_.*csc[e_.+f_.*x_]+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ d^(m+2)*Int[(b+a*Sin[e+f*x])^m*(d*Sin[e+f*x])^(n-m-2)*(C+B*Sin[e+f*x]+A*Sin[e+f*x]^2),x] /;
+FreeQ[{a,b,d,e,f,A,B,C,n},x] && Not[IntegerQ[n]] && IntegerQ[m]
+
+
+Int[(a_+b_.*sec[e_.+f_.*x_])^m_.*(d_.*cos[e_.+f_.*x_])^n_*(A_.+C_.*sec[e_.+f_.*x_]^2),x_Symbol] :=
+ d^(m+2)*Int[(b+a*Cos[e+f*x])^m*(d*Cos[e+f*x])^(n-m-2)*(C+A*Cos[e+f*x]^2),x] /;
+FreeQ[{a,b,d,e,f,A,C,n},x] && Not[IntegerQ[n]] && IntegerQ[m]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_.*(d_.*sin[e_.+f_.*x_])^n_*(A_.+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ d^(m+2)*Int[(b+a*Sin[e+f*x])^m*(d*Sin[e+f*x])^(n-m-2)*(C+A*Sin[e+f*x]^2),x] /;
+FreeQ[{a,b,d,e,f,A,C,n},x] && Not[IntegerQ[n]] && IntegerQ[m]
+
+
+Int[(a_+b_.*sec[e_.+f_.*x_])^m_.*(c_.*(d_.*sec[e_.+f_.*x_])^p_)^n_*(A_.+B_.*sec[e_.+f_.*x_]+C_.*sec[e_.+f_.*x_]^2),x_Symbol] :=
+ c^IntPart[n]*(c*(d*Sec[e+f*x])^p)^FracPart[n]/(d*Sec[e+f*x])^(p*FracPart[n])*
+ Int[(a+b*Sec[e+f*x])^m*(d*Sec[e+f*x])^(n*p)*(A+B*Sec[e+f*x]+C*Sec[e+f*x]^2),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,m,n,p},x] && Not[IntegerQ[n]]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_.*(c_.*(d_.*csc[e_.+f_.*x_])^p_)^n_*(A_.+B_.*csc[e_.+f_.*x_]+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ c^IntPart[n]*(c*(d*Csc[e+f*x])^p)^FracPart[n]/(d*Csc[e+f*x])^(p*FracPart[n])*
+ Int[(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n*p)*(A+B*Csc[e+f*x]+C*Csc[e+f*x]^2),x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,m,n,p},x] && Not[IntegerQ[n]]
+
+
+Int[(a_+b_.*sec[e_.+f_.*x_])^m_.*(c_.*(d_.*sec[e_.+f_.*x_])^p_)^n_*(A_.+C_.*sec[e_.+f_.*x_]^2),x_Symbol] :=
+ c^IntPart[n]*(c*(d*Sec[e+f*x])^p)^FracPart[n]/(d*Sec[e+f*x])^(p*FracPart[n])*
+ Int[(a+b*Sec[e+f*x])^m*(d*Sec[e+f*x])^(n*p)*(A+C*Sec[e+f*x]^2),x] /;
+FreeQ[{a,b,c,d,e,f,A,C,m,n,p},x] && Not[IntegerQ[n]]
+
+
+Int[(a_+b_.*csc[e_.+f_.*x_])^m_.*(c_.*(d_.*csc[e_.+f_.*x_])^p_)^n_*(A_.+C_.*csc[e_.+f_.*x_]^2),x_Symbol] :=
+ c^IntPart[n]*(c*(d*Csc[e+f*x])^p)^FracPart[n]/(d*Csc[e+f*x])^(p*FracPart[n])*
+ Int[(a+b*Csc[e+f*x])^m*(d*Csc[e+f*x])^(n*p)*(A+C*Csc[e+f*x]^2),x] /;
+FreeQ[{a,b,c,d,e,f,A,C,m,n,p},x] && Not[IntegerQ[n]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.3.7 (d trig)^m (a+b (c sec)^n)^p*)
+
+
+Int[u_.*(a_+b_.*sec[e_.+f_.*x_]^2)^p_,x_Symbol] :=
+ b^p*Int[ActivateTrig[u*tan[e+f*x]^(2*p)],x] /;
+FreeQ[{a,b,e,f,p},x] && EqQ[a+b,0] && IntegerQ[p]
+
+
+Int[u_.*(a_+b_.*sec[e_.+f_.*x_]^2)^p_,x_Symbol] :=
+ Int[ActivateTrig[u*(b*tan[e+f*x]^2)^p],x] /;
+FreeQ[{a,b,e,f,p},x] && EqQ[a+b,0]
+
+
+Int[(b_.*sec[e_.+f_.*x_]^2)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ b*ff/f*Subst[Int[(b+b*ff^2*x^2)^(p-1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{b,e,f,p},x] && Not[IntegerQ[p]]
+
+
+Int[(b_.*(c_.*sec[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ b^IntPart[p]*(b*(c*Sec[e+f*x])^n)^FracPart[p]/(c*Sec[e+f*x])^(n*FracPart[p])*Int[(c*Sec[e+f*x])^(n*p),x] /;
+FreeQ[{b,c,e,f,n,p},x] && Not[IntegerQ[p]]
+
+
+Int[tan[e_.+f_.*x_]^m_.*(b_.*sec[e_.+f_.*x_]^2)^p_.,x_Symbol] :=
+ b/(2*f)*Subst[Int[(-1+x)^((m-1)/2)*(b*x)^(p-1),x],x,Sec[e+f*x]^2] /;
+FreeQ[{b,e,f,p},x] && Not[IntegerQ[p]] && IntegerQ[(m-1)/2]
+
+
+Int[u_.*(b_.*sec[e_.+f_.*x_]^n_)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Sec[e+f*x],x]},
+ (b*ff^n)^IntPart[p]*(b*Sec[e+f*x]^n)^FracPart[p]/(Sec[e+f*x]/ff)^(n*FracPart[p])*
+ Int[ActivateTrig[u]*(Sec[e+f*x]/ff)^(n*p),x]] /;
+FreeQ[{b,e,f,n,p},x] && Not[IntegerQ[p]] && IntegerQ[n] &&
+ (EqQ[u,1] || MatchQ[u,(d_.*trig_[e+f*x])^m_. /; FreeQ[{d,m},x] && MemberQ[{sin,cos,tan,cot,sec,csc},trig]])
+
+
+Int[u_.*(b_.*(c_.*sec[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ b^IntPart[p]*(b*(c*Sec[e+f*x])^n)^FracPart[p]/(c*Sec[e+f*x])^(n*FracPart[p])*
+ Int[ActivateTrig[u]*(c*Sec[e+f*x])^(n*p),x] /;
+FreeQ[{b,c,e,f,n,p},x] && Not[IntegerQ[p]] && Not[IntegerQ[n]] &&
+ (EqQ[u,1] || MatchQ[u,(d_.*trig_[e+f*x])^m_. /; FreeQ[{d,m},x] && MemberQ[{sin,cos,tan,cot,sec,csc},trig]])
+
+
+Int[1/(a_+b_.*sec[e_.+f_.*x_]^2),x_Symbol] :=
+ x/a - b/a*Int[1/(b+a*Cos[e+f*x]^2),x] /;
+FreeQ[{a,b,e,f},x] && NeQ[a+b,0]
+
+
+Int[(a_+b_.*sec[e_.+f_.*x_]^2)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff/f*Subst[Int[(a+b+b*ff^2*x^2)^p/(1+ff^2*x^2),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,p},x] && NeQ[a+b,0] && NeQ[p,-1]
+
+
+Int[(a_+b_.*sec[e_.+f_.*x_]^4)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff/f*Subst[Int[(a+b+2*b*ff^2*x^2+b*ff^4*x^4)^p/(1+ff^2*x^2),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,p},x] && IntegerQ[2*p]
+
+
+Int[(a_+b_.*sec[e_.+f_.*x_]^n_)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff/f*Subst[Int[(a+b*(1+ff^2*x^2)^(n/2))^p/(1+ff^2*x^2),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,p},x] && IntegerQ[n/2] && IGtQ[p,-2]
+
+
+Int[(a_+b_.*(c_.*sec[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ Defer[Int][(a+b*(c*Sec[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,e,f,n,p},x]
+
+
+Int[sin[e_.+f_.*x_]^m_*(a_+b_.*sec[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff^(m+1)/f*Subst[Int[x^m*ExpandToSum[a+b*(1+ff^2*x^2)^(n/2),x]^p/(1+ff^2*x^2)^(m/2+1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,p},x] && IntegerQ[m/2] && IntegerQ[n/2]
+
+
+Int[sin[e_.+f_.*x_]^m_.*(a_+b_.*sec[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Cos[e+f*x],x]},
+ -ff/f*Subst[Int[(1-ff^2*x^2)^((m-1)/2)*(b+a*(ff*x)^n)^p/(ff*x)^(n*p),x],x,Cos[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f},x] && IntegerQ[(m-1)/2] && IntegerQ[n] && IntegerQ[p]
+
+
+Int[sin[e_.+f_.*x_]^m_.*(a_+b_.*(c_.*sec[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Cos[e+f*x],x]},
+ 1/(f*ff^m)*Subst[Int[(-1+ff^2*x^2)^((m-1)/2)*(a+b*(c*ff*x)^n)^p/x^(m+1),x],x,Sec[e+f*x]/ff]] /;
+FreeQ[{a,b,c,e,f,n,p},x] && IntegerQ[(m-1)/2] && (m>0 || EqQ[n,2] || EqQ[n,4])
+
+
+Int[(d_.*sin[e_.+f_.*x_])^m_.*(a_+b_.*(c_.*sec[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ Defer[Int][(d*Sin[e+f*x])^m*(a+b*(c*Sec[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x]
+
+
+Int[(d_.*cos[e_.+f_.*x_])^m_*(a_+b_.*sec[e_.+f_.*x_]^n_.)^p_.,x_Symbol] :=
+ d^(n*p)*Int[(d*Cos[e+f*x])^(m-n*p)*(b+a*Cos[e+f*x]^n)^p,x] /;
+FreeQ[{a,b,d,e,f,m,n,p},x] && Not[IntegerQ[m]] && IntegersQ[n,p]
+
+
+Int[(d_.*cos[e_.+f_.*x_])^m_*(a_+b_.*(c_.*sec[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ (d*Cos[e+f*x])^FracPart[m]*(Sec[e+f*x]/d)^FracPart[m]*Int[(Sec[e+f*x]/d)^(-m)*(a+b*(c*Sec[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[IntegerQ[m]]
+
+
+Int[tan[e_.+f_.*x_]^m_.*(a_+b_.*sec[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ Module[{ff=FreeFactors[Cos[e+f*x],x]},
+ -1/(f*ff^(m+n*p-1))*Subst[Int[(1-ff^2*x^2)^((m-1)/2)*(b+a*(ff*x)^n)^p/x^(m+n*p),x],x,Cos[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,n},x] && IntegerQ[(m-1)/2] && IntegerQ[n] && IntegerQ[p]
+
+
+Int[tan[e_.+f_.*x_]^m_.*(a_+b_.*(c_.*sec[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Sec[e+f*x],x]},
+ 1/f*Subst[Int[(-1+ff^2*x^2)^((m-1)/2)*(a+b*(c*ff*x)^n)^p/x,x],x,Sec[e+f*x]/ff]] /;
+FreeQ[{a,b,c,e,f,n,p},x] && IntegerQ[(m-1)/2] && (m>0 || EqQ[n,2] || EqQ[n,4] || IGtQ[p,0] || IntegersQ[2*n,p])
+
+
+Int[(d_.*tan[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_]^2)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ b*ff/f*Subst[Int[(d*ff*x)^m*(b+b*ff^2*x^2)^(p-1),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{b,e,f,m,p},x]
+
+
+Int[(d_.*tan[e_.+f_.*x_])^m_*(a_+b_.*sec[e_.+f_.*x_]^n_)^p_.,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff/f*Subst[Int[(d*ff*x)^m*(a+b*(1+ff^2*x^2)^(n/2))^p/(1+ff^2*x^2),x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,m,p},x] && IntegerQ[n/2] && (IntegerQ[m/2] || EqQ[n,2])
+
+
+Int[(d_.*tan[e_.+f_.*x_])^m_*(b_.*(c_.*sec[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ d*(d*Tan[e+f*x])^(m-1)*(b*(c*Sec[e+f*x])^n)^p/(f*(p*n+m-1)) -
+ d^2*(m-1)/(p*n+m-1)*Int[(d*Tan[e+f*x])^(m-2)*(b*(c*Sec[e+f*x])^n)^p,x] /;
+FreeQ[{b,d,c,e,f,p,n},x] && GtQ[m,1] && NeQ[p*n+m-1,0] && IntegersQ[2*p*n,2*m]
+
+
+Int[(d_.*tan[e_.+f_.*x_])^m_*(b_.*(c_.*sec[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ (d*Tan[e+f*x])^(m+1)*(b*(c*Sec[e+f*x])^n)^p/(d*f*(m+1)) -
+ (p*n+m+1)/(d^2*(m+1))*Int[(d*Tan[e+f*x])^(m+2)*(b*(c*Sec[e+f*x])^n)^p,x] /;
+FreeQ[{b,d,c,e,f,p,n},x] && LtQ[m,-1] && NeQ[p*n+m+1,0] && IntegersQ[2*p*n,2*m]
+
+
+Int[(d_.*tan[e_.+f_.*x_])^m_.*(a_+b_.*(c_.*sec[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ Defer[Int][(d*Tan[e+f*x])^m*(a+b*(c*Sec[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x]
+
+
+Int[(d_.*cot[e_.+f_.*x_])^m_*(a_+b_.*(c_.*sec[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ (d*Cot[e+f*x])^FracPart[m]*(Tan[e+f*x]/d)^FracPart[m]*Int[(Tan[e+f*x]/d)^(-m)*(a+b*(c*Sec[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[IntegerQ[m]]
+
+
+Int[sec[e_.+f_.*x_]^m_*(a_+b_.*sec[e_.+f_.*x_]^n_)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Tan[e+f*x],x]},
+ ff/f*Subst[Int[(1+ff^2*x^2)^(m/2-1)*ExpandToSum[a+b*(1+ff^2*x^2)^(n/2),x]^p,x],x,Tan[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,p},x] && IntegerQ[m/2] && IntegerQ[n/2]
+
+
+Int[sec[e_.+f_.*x_]^m_.*(a_+b_.*sec[e_.+f_.*x_]^n_)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Sin[e+f*x],x]},
+ ff/f*Subst[Int[ExpandToSum[b+a*(1-ff^2*x^2)^(n/2),x]^p/(1-ff^2*x^2)^((m+n*p+1)/2),x],x,Sin[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f},x] && IntegerQ[(m-1)/2] && IntegerQ[n/2] && IntegerQ[p]
+
+
+Int[sec[e_.+f_.*x_]^m_.*(a_+b_.*sec[e_.+f_.*x_]^n_)^p_,x_Symbol] :=
+ With[{ff=FreeFactors[Sin[e+f*x],x]},
+ ff/f*Subst[Int[(a+b/(1-ff^2*x^2)^(n/2))^p/(1-ff^2*x^2)^((m+1)/2),x],x,Sin[e+f*x]/ff]] /;
+FreeQ[{a,b,e,f,p},x] && IntegerQ[(m-1)/2] && IntegerQ[n/2] && Not[IntegerQ[p]]
+
+
+Int[sec[e_.+f_.*x_]^m_.*(a_+b_.*sec[e_.+f_.*x_]^n_)^p_,x_Symbol] :=
+ Int[ExpandTrig[sec[e+f*x]^m*(a+b*sec[e+f*x]^n)^p,x],x] /;
+FreeQ[{a,b,e,f},x] && IntegersQ[m,n,p]
+
+
+Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*(c_.*sec[e_.+f_.*x_])^n_)^p_.,x_Symbol] :=
+ Defer[Int][(d*Sec[e+f*x])^m*(a+b*(c*Sec[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x]
+
+
+Int[(d_.*csc[e_.+f_.*x_])^m_*(a_+b_.*(c_.*sec[e_.+f_.*x_])^n_)^p_,x_Symbol] :=
+ (d*Csc[e+f*x])^FracPart[m]*(Sin[e+f*x]/d)^FracPart[m]*Int[(Sin[e+f*x]/d)^(-m)*(a+b*(c*Sec[e+f*x])^n)^p,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[IntegerQ[m]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.3.9 trig^m (a+b sec^n+c sec^(2 n))^p*)
+
+
+Int[(a_.+b_.*sec[d_.+e_.*x_]^n_.+c_.*sec[d_.+e_.*x_]^n2_.)^p_.,x_Symbol] :=
+ 1/(4^p*c^p)*Int[(b+2*c*Sec[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && IntegerQ[p]
+
+
+Int[(a_.+b_.*csc[d_.+e_.*x_]^n_.+c_.*csc[d_.+e_.*x_]^n2_.)^p_.,x_Symbol] :=
+ 1/(4^p*c^p)*Int[(b+2*c*Csc[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && IntegerQ[p]
+
+
+Int[(a_.+b_.*sec[d_.+e_.*x_]^n_.+c_.*sec[d_.+e_.*x_]^n2_.)^p_,x_Symbol] :=
+ (a+b*Sec[d+e*x]^n+c*Sec[d+e*x]^(2*n))^p/(b+2*c*Sec[d+e*x]^n)^(2*p)*Int[u*(b+2*c*Sec[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,n,p},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]]
+
+
+Int[(a_.+b_.*csc[d_.+e_.*x_]^n_.+c_.*csc[d_.+e_.*x_]^n2_.)^p_,x_Symbol] :=
+ (a+b*Csc[d+e*x]^n+c*Csc[d+e*x]^(2*n))^p/(b+2*c*Csc[d+e*x]^n)^(2*p)*Int[u*(b+2*c*Csc[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,n,p},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]]
+
+
+Int[1/(a_.+b_.*sec[d_.+e_.*x_]^n_.+c_.*sec[d_.+e_.*x_]^n2_.),x_Symbol] :=
+ Module[{q=Rt[b^2-4*a*c,2]},
+ 2*c/q*Int[1/(b-q+2*c*Sec[d+e*x]^n),x] -
+ 2*c/q*Int[1/(b+q+2*c*Sec[d+e*x]^n),x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c]
+
+
+Int[1/(a_.+b_.*csc[d_.+e_.*x_]^n_.+c_.*csc[d_.+e_.*x_]^n2_.),x_Symbol] :=
+ Module[{q=Rt[b^2-4*a*c,2]},
+ 2*c/q*Int[1/(b-q+2*c*Csc[d+e*x]^n),x] -
+ 2*c/q*Int[1/(b+q+2*c*Csc[d+e*x]^n),x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && NeQ[b^2-4*a*c]
+
+
+Int[sin[d_.+e_.*x_]^m_.*(a_.+b_.*sec[d_.+e_.*x_]^n_.+c_.*sec[d_.+e_.*x_]^n2_)^p_.,x_Symbol] :=
+ Module[{f=FreeFactors[Cos[d+e*x],x]},
+ -f/e*Subst[Int[(1-f^2*x^2)^((m-1)/2)*(b+a*(f*x)^n)^p/(f*x)^(n*p),x],x,Cos[d+e*x]/f]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[n2-2*n] && OddQ[m] && IntegersQ[n,p]
+
+
+Int[cos[d_.+e_.*x_]^m_.*(a_.+b_.*csc[d_.+e_.*x_]^n_.+c_.*csc[d_.+e_.*x_]^n2_)^p_.,x_Symbol] :=
+ Module[{f=FreeFactors[Sin[d+e*x],x]},
+ f/e*Subst[Int[(1-f^2*x^2)^((m-1)/2)*(b+a*(f*x)^n)^p/(f*x)^(n*p),x],x,Sin[d+e*x]/f]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[n2-2*n] && OddQ[m] && IntegersQ[n,p]
+
+
+Int[sin[d_.+e_.*x_]^m_*(a_.+b_.*sec[d_.+e_.*x_]^n_+c_.*sec[d_.+e_.*x_]^n2_)^p_.,x_Symbol] :=
+ Module[{f=FreeFactors[Tan[d+e*x],x]},
+ f^(m+1)/e*Subst[Int[x^m*ExpandToSum[a+b*(1+f^2*x^2)^(n/2)+c*(1+f^2*x^2)^n,x]^p/(1+f^2*x^2)^(m/2+1),x],x,Tan[d+e*x]/f]] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[n2-2*n] && EvenQ[m] && EvenQ[n]
+
+
+Int[cos[d_.+e_.*x_]^m_*(a_.+b_.*csc[d_.+e_.*x_]^n_+c_.*csc[d_.+e_.*x_]^n2_)^p_.,x_Symbol] :=
+ Module[{f=FreeFactors[Cot[d+e*x],x]},
+ -f^(m+1)/e*Subst[Int[x^m*ExpandToSum[a+b*(1+f^2*x^2)^(n/2)+c*(1+f^2*x^2)^n,x]^p/(1+f^2*x^2)^(m/2+1),x],x,Cot[d+e*x]/f]] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[n2-2*n] && EvenQ[m] && EvenQ[n]
+
+
+Int[sec[d_.+e_.*x_]^m_.*(a_.+b_.*sec[d_.+e_.*x_]^n_.+c_.*sec[d_.+e_.*x_]^n2_.)^p_,x_Symbol] :=
+ 1/(4^p*c^p)*Int[Sec[d+e*x]^m*(b+2*c*Sec[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && IntegerQ[p]
+
+
+Int[csc[d_.+e_.*x_]^m_.*(a_.+b_.*csc[d_.+e_.*x_]^n_.+c_.*csc[d_.+e_.*x_]^n2_.)^p_,x_Symbol] :=
+ 1/(4^p*c^p)*Int[Csc[d+e*x]^m*(b+2*c*Csc[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && IntegerQ[p]
+
+
+Int[sec[d_.+e_.*x_]^m_.*(a_.+b_.*sec[d_.+e_.*x_]^n_.+c_.*sec[d_.+e_.*x_]^n2_.)^p_,x_Symbol] :=
+ (a+b*Sec[d+e*x]^n+c*Sec[d+e*x]^(2*n))^p/(b+2*c*Sec[d+e*x]^n)^(2*p)*Int[Sec[d+e*x]^m*(b+2*c*Sec[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]]
+
+
+Int[csc[d_.+e_.*x_]^m_.*(a_.+b_.*csc[d_.+e_.*x_]^n_.+c_.*csc[d_.+e_.*x_]^n2_.)^p_,x_Symbol] :=
+ (a+b*Csc[d+e*x]^n+c*Csc[d+e*x]^(2*n))^p/(b+2*c*Csc[d+e*x]^n)^(2*p)*Int[Csc[d+e*x]^m*(b+2*c*Csc[d+e*x]^n)^(2*p),x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]]
+
+
+Int[sec[d_.+e_.*x_]^m_.*(a_.+b_.*sec[d_.+e_.*x_]^n_.+c_.*sec[d_.+e_.*x_]^n2_.)^p_,x_Symbol] :=
+ Int[ExpandTrig[sec[d+e*x]^m*(a+b*sec[d+e*x]^n+c*sec[d+e*x]^(2*n))^p,x],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[n2-2*n] && IntegersQ[m,n,p]
+
+
+Int[csc[d_.+e_.*x_]^m_.*(a_.+b_.*csc[d_.+e_.*x_]^n_.+c_.*csc[d_.+e_.*x_]^n2_.)^p_,x_Symbol] :=
+ Int[ExpandTrig[csc[d+e*x]^m*(a+b*csc[d+e*x]^n+c*csc[d+e*x]^(2*n))^p,x],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[n2-2*n] && IntegersQ[m,n,p]
+
+
+Int[tan[d_.+e_.*x_]^m_.*(a_+b_.*sec[d_.+e_.*x_]^n_.+c_.*sec[d_.+e_.*x_]^n2_.)^p_.,x_Symbol] :=
+ Module[{f=FreeFactors[Cos[d+e*x],x]},
+ -1/(e*f^(m+n*p-1))*Subst[Int[(1-f^2*x^2)^((m-1)/2)*(c+b*(f*x)^n+c*(f*x)^(2*n))^p/x^(m+2*n*p),x],x,Cos[d+e*x]/f]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && OddQ[m] && IntegerQ[n] && IntegerQ[p]
+
+
+Int[cot[d_.+e_.*x_]^m_.*(a_+b_.*csc[d_.+e_.*x_]^n_.+c_.*sec[d_.+e_.*x_]^n2_.)^p_.,x_Symbol] :=
+ Module[{f=FreeFactors[Sin[d+e*x],x]},
+ 1/(e*f^(m+n*p-1))*Subst[Int[(1-f^2*x^2)^((m-1)/2)*(c+b*(f*x)^n+c*(f*x)^(2*n))^p/x^(m+2*n*p),x],x,Sin[d+e*x]/f]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[n2-2*n] && OddQ[m] && IntegerQ[n] && IntegerQ[p]
+
+
+Int[tan[d_.+e_.*x_]^m_.*(a_+b_.*sec[d_.+e_.*x_]^n_+c_.*sec[d_.+e_.*x_]^n2_.)^p_.,x_Symbol] :=
+ Module[{f=FreeFactors[Tan[d+e*x],x]},
+ f^(m+1)/e*Subst[Int[x^m*ExpandToSum[a+b*(1+f^2*x^2)^(n/2)+c*(1+f^2*x^2)^n,x]^p/(1+f^2*x^2),x],x,Tan[d+e*x]/f]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[n2-2*n] && EvenQ[m] && EvenQ[n]
+
+
+Int[cot[d_.+e_.*x_]^m_.*(a_+b_.*csc[d_.+e_.*x_]^n_+c_.*sec[d_.+e_.*x_]^n2_.)^p_.,x_Symbol] :=
+ Module[{f=FreeFactors[Cot[d+e*x],x]},
+ -f^(m+1)/e*Subst[Int[x^m*ExpandToSum[a+b*(1+f^2*x^2)^(n/2)+c*(1+f^2*x^2)^n,x]^p/(1+f^2*x^2),x],x,Cot[d+e*x]/f]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[n2-2*n] && EvenQ[m] && EvenQ[n]
+
+
+Int[(A_+B_.*sec[d_.+e_.*x_])*(a_+b_.*sec[d_.+e_.*x_]+c_.*sec[d_.+e_.*x_]^2)^n_,x_Symbol] :=
+ 1/(4^n*c^n)*Int[(A+B*Sec[d+e*x])*(b+2*c*Sec[d+e*x])^(2*n),x] /;
+FreeQ[{a,b,c,d,e,A,B},x] && EqQ[b^2-4*a*c] && IntegerQ[n]
+
+
+Int[(A_+B_.*csc[d_.+e_.*x_])*(a_+b_.*csc[d_.+e_.*x_]+c_.*csc[d_.+e_.*x_]^2)^n_,x_Symbol] :=
+ 1/(4^n*c^n)*Int[(A+B*Csc[d+e*x])*(b+2*c*Csc[d+e*x])^(2*n),x] /;
+FreeQ[{a,b,c,d,e,A,B},x] && EqQ[b^2-4*a*c] && IntegerQ[n]
+
+
+Int[(A_+B_.*sec[d_.+e_.*x_])*(a_+b_.*sec[d_.+e_.*x_]+c_.*sec[d_.+e_.*x_]^2)^n_,x_Symbol] :=
+ (a+b*Sec[d+e*x]+c*Sec[d+e*x]^2)^n/(b+2*c*Sec[d+e*x])^(2*n)*Int[(A+B*Sec[d+e*x])*(b+2*c*Sec[d+e*x])^(2*n),x] /;
+FreeQ[{a,b,c,d,e,A,B},x] && EqQ[b^2-4*a*c] && Not[IntegerQ[n]]
+
+
+Int[(A_+B_.*csc[d_.+e_.*x_])*(a_+b_.*csc[d_.+e_.*x_]+c_.*csc[d_.+e_.*x_]^2)^n_,x_Symbol] :=
+ (a+b*Csc[d+e*x]+c*Csc[d+e*x]^2)^n/(b+2*c*Csc[d+e*x])^(2*n)*Int[(A+B*Csc[d+e*x])*(b+2*c*Csc[d+e*x])^(2*n),x] /;
+FreeQ[{a,b,c,d,e,A,B},x] && EqQ[b^2-4*a*c] && Not[IntegerQ[n]]
+
+
+Int[(A_+B_.*sec[d_.+e_.*x_])/(a_.+b_.*sec[d_.+e_.*x_]+c_.*sec[d_.+e_.*x_]^2),x_Symbol] :=
+ Module[{q=Rt[b^2-4*a*c,2]},
+ (B+(b*B-2*A*c)/q)*Int[1/(b+q+2*c*Sec[d+e*x]),x] +
+ (B-(b*B-2*A*c)/q)*Int[1/(b-q+2*c*Sec[d+e*x]),x]] /;
+FreeQ[{a,b,c,d,e,A,B},x] && NeQ[b^2-4*a*c]
+
+
+Int[(A_+B_.*csc[d_.+e_.*x_])/(a_.+b_.*csc[d_.+e_.*x_]+c_.*csc[d_.+e_.*x_]^2),x_Symbol] :=
+ Module[{q=Rt[b^2-4*a*c,2]},
+ (B+(b*B-2*A*c)/q)*Int[1/(b+q+2*c*Csc[d+e*x]),x] +
+ (B-(b*B-2*A*c)/q)*Int[1/(b-q+2*c*Csc[d+e*x]),x]] /;
+FreeQ[{a,b,c,d,e,A,B},x] && NeQ[b^2-4*a*c]
+
+
+Int[(A_+B_.*sec[d_.+e_.*x_])*(a_.+b_.*sec[d_.+e_.*x_]+c_.*sec[d_.+e_.*x_]^2)^n_,x_Symbol] :=
+ Int[ExpandTrig[(A+B*sec[d+e*x])*(a+b*sec[d+e*x]+c*sec[d+e*x]^2)^n,x],x] /;
+FreeQ[{a,b,c,d,e,A,B},x] && NeQ[b^2-4*a*c] && IntegerQ[n]
+
+
+Int[(A_+B_.*csc[d_.+e_.*x_])*(a_.+b_.*csc[d_.+e_.*x_]+c_.*csc[d_.+e_.*x_]^2)^n_,x_Symbol] :=
+ Int[ExpandTrig[(A+B*csc[d+e*x])*(a+b*csc[d+e*x]+c*csc[d+e*x]^2)^n,x],x] /;
+FreeQ[{a,b,c,d,e,A,B},x] && NeQ[b^2-4*a*c] && IntegerQ[n]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.3.10 (c+d x)^m (a+b sec)^n*)
+
+
+Int[(c_.+d_.*x_)^m_.*csc[e_.+k_.*Pi+f_.*Complex[0,fz_]*x_],x_Symbol] :=
+ -2*(c+d*x)^m*ArcTanh[E^(-I*k*Pi)*E^(-I*e+f*fz*x)]/(f*fz*I) -
+ d*m/(f*fz*I)*Int[(c+d*x)^(m-1)*Log[1-E^(-I*k*Pi)*E^(-I*e+f*fz*x)],x] +
+ d*m/(f*fz*I)*Int[(c+d*x)^(m-1)*Log[1+E^(-I*k*Pi)*E^(-I*e+f*fz*x)],x] /;
+FreeQ[{c,d,e,f,fz},x] && IntegerQ[2*k] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_.*csc[e_.+k_.*Pi+f_.*x_],x_Symbol] :=
+ -2*(c+d*x)^m*ArcTanh[E^(I*k*Pi)*E^(I*(e+f*x))]/f -
+ d*m/f*Int[(c+d*x)^(m-1)*Log[1-E^(I*k*Pi)*E^(I*(e+f*x))],x] +
+ d*m/f*Int[(c+d*x)^(m-1)*Log[1+E^(I*k*Pi)*E^(I*(e+f*x))],x] /;
+FreeQ[{c,d,e,f},x] && IntegerQ[2*k] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_.*csc[e_.+f_.*Complex[0,fz_]*x_],x_Symbol] :=
+ -2*(c+d*x)^m*ArcTanh[E^(-I*e+f*fz*x)]/(f*fz*I) -
+ d*m/(f*fz*I)*Int[(c+d*x)^(m-1)*Log[1-E^(-I*e+f*fz*x)],x] +
+ d*m/(f*fz*I)*Int[(c+d*x)^(m-1)*Log[1+E^(-I*e+f*fz*x)],x] /;
+FreeQ[{c,d,e,f,fz},x] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_.*csc[e_.+f_.*x_],x_Symbol] :=
+ -2*(c+d*x)^m*ArcTanh[E^(I*(e+f*x))]/f -
+ d*m/f*Int[(c+d*x)^(m-1)*Log[1-E^(I*(e+f*x))],x] +
+ d*m/f*Int[(c+d*x)^(m-1)*Log[1+E^(I*(e+f*x))],x] /;
+FreeQ[{c,d,e,f},x] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_.*csc[e_.+f_.*x_]^2,x_Symbol] :=
+ -(c+d*x)^m*Cot[e+f*x]/f +
+ d*m/f*Int[(c+d*x)^(m-1)*Cot[e+f*x],x] /;
+FreeQ[{c,d,e,f},x] && RationalQ[m] && m>0
+
+
+Int[(c_.+d_.*x_)*(b_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -b^2*(c+d*x)*Cot[e+f*x]*(b*Csc[e+f*x])^(n-2)/(f*(n-1)) -
+ b^2*d*(b*Csc[e+f*x])^(n-2)/(f^2*(n-1)*(n-2)) +
+ b^2*(n-2)/(n-1)*Int[(c+d*x)*(b*Csc[e+f*x])^(n-2),x] /;
+FreeQ[{b,c,d,e,f},x] && RationalQ[n] && n>1 && n!=2
+
+
+Int[(c_.+d_.*x_)^m_*(b_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ -b^2*(c+d*x)^m*Cot[e+f*x]*(b*Csc[e+f*x])^(n-2)/(f*(n-1)) -
+ b^2*d*m*(c+d*x)^(m-1)*(b*Csc[e+f*x])^(n-2)/(f^2*(n-1)*(n-2)) +
+ b^2*(n-2)/(n-1)*Int[(c+d*x)^m*(b*Csc[e+f*x])^(n-2),x] +
+ b^2*d^2*m*(m-1)/(f^2*(n-1)*(n-2))*Int[(c+d*x)^(m-2)*(b*Csc[e+f*x])^(n-2),x] /;
+FreeQ[{b,c,d,e,f},x] && RationalQ[m,n] && n>1 && n!=2 && m>1
+
+
+Int[(c_.+d_.*x_)*(b_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ d*(b*Csc[e+f*x])^n/(f^2*n^2) +
+ (c+d*x)*Cos[e+f*x]*(b*Csc[e+f*x])^(n+1)/(b*f*n) +
+ (n+1)/(b^2*n)*Int[(c+d*x)*(b*Csc[e+f*x])^(n+2),x] /;
+FreeQ[{b,c,d,e,f},x] && RationalQ[n] && n<-1
+
+
+Int[(c_.+d_.*x_)^m_*(b_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ d*m*(c+d*x)^(m-1)*(b*Csc[e+f*x])^n/(f^2*n^2) +
+ (c+d*x)^m*Cos[e+f*x]*(b*Csc[e+f*x])^(n+1)/(b*f*n) +
+ (n+1)/(b^2*n)*Int[(c+d*x)^m*(b*Csc[e+f*x])^(n+2),x] -
+ d^2*m*(m-1)/(f^2*n^2)*Int[(c+d*x)^(m-2)*(b*Csc[e+f*x])^n,x] /;
+FreeQ[{b,c,d,e,f},x] && RationalQ[m,n] && n<-1 && m>1
+
+
+Int[(c_.+d_.*x_)^m_.*(b_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
+ (b*Sin[e+f*x])^n*(b*Csc[e+f*x])^n*Int[(c+d*x)^m/(b*Sin[e+f*x])^n,x] /;
+FreeQ[{b,c,d,e,f,m,n},x] && Not[IntegerQ[n]]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_+b_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(c+d*x)^m,(a+b*Csc[e+f*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && PositiveIntegerQ[m,n]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_+b_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(c+d*x)^m,Sin[e+f*x]^(-n)/(b+a*Sin[e+f*x])^(-n),x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NegativeIntegerQ[n] && PositiveIntegerQ[m]
+
+
+Int[(c_.+d_.*x_)^m_.*csc[e_.+f_.*x_]^n_.,x_Symbol] :=
+ If[MatchQ[f,f1_.*Complex[0,j_]],
+ If[MatchQ[e,e1_.+Pi/2],
+ Defer[Int][(c+d*x)^m*Sech[I*(e-Pi/2)+I*f*x]^n,x],
+ (-I)^n*Defer[Int][(c+d*x)^m*Csch[-I*e-I*f*x]^n,x]],
+ If[MatchQ[e,e1_.+Pi/2],
+ Defer[Int][(c+d*x)^m*Sec[e-Pi/2+f*x]^n,x],
+ Defer[Int][(c+d*x)^m*Csc[e+f*x]^n,x]]] /;
+FreeQ[{c,d,e,f,m,n},x] && IntegerQ[n]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_.+b_.*csc[e_.+f_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(c+d*x)^m*(a+b*Csc[e+f*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x]
+
+
+Int[u_^m_.*(a_.+b_.*Sec[v_])^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*(a+b*Sec[ExpandToSum[v,x]])^n,x] /;
+FreeQ[{a,b,m,n},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+Int[u_^m_.*(a_.+b_.*Csc[v_])^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*(a+b*Csc[ExpandToSum[v,x]])^n,x] /;
+FreeQ[{a,b,m,n},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.3.11 (e x)^m (a+b sec(c+d x^n))^p*)
+
+
+Int[(a_.+b_.*Sec[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(1/n-1)*(a+b*Sec[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,p},x] && PositiveIntegerQ[1/n] && IntegerQ[p]
+
+
+Int[(a_.+b_.*Csc[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(1/n-1)*(a+b*Csc[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,p},x] && PositiveIntegerQ[1/n] && IntegerQ[p]
+
+
+Int[(a_.+b_.*Sec[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Defer[Int][(a+b*Sec[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,n,p},x]
+
+
+Int[(a_.+b_.*Csc[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Defer[Int][(a+b*Csc[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,n,p},x]
+
+
+Int[(a_.+b_.*Sec[c_.+d_.*u_^n_])^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*Sec[c+d*x^n])^p,x],x,u] /;
+FreeQ[{a,b,c,d,n,p},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+b_.*Csc[c_.+d_.*u_^n_])^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*Csc[c+d*x^n])^p,x],x,u] /;
+FreeQ[{a,b,c,d,n,p},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+b_.*Sec[u_])^p_.,x_Symbol] :=
+ Int[(a+b*Sec[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[(a_.+b_.*Csc[u_])^p_.,x_Symbol] :=
+ Int[(a+b*Csc[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[x_^m_.*(a_.+b_.*Sec[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(a+b*Sec[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,m,n,p},x] && PositiveIntegerQ[Simplify[(m+1)/n]] && IntegerQ[p]
+
+
+Int[x_^m_.*(a_.+b_.*Csc[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(a+b*Csc[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,m,n,p},x] && PositiveIntegerQ[Simplify[(m+1)/n]] && IntegerQ[p]
+
+
+Int[x_^m_.*(a_.+b_.*Sec[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Defer[Int][x^m*(a+b*Sec[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,m,n,p},x]
+
+
+Int[x_^m_.*(a_.+b_.*Csc[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Defer[Int][x^m*(a+b*Csc[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,m,n,p},x]
+
+
+Int[(e_*x_)^m_.*(a_.+b_.*Sec[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ e^IntPart[m]*(e*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*Sec[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[(e_*x_)^m_.*(a_.+b_.*Csc[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ e^IntPart[m]*(e*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*Csc[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[(e_*x_)^m_.*(a_.+b_.*Sec[u_])^p_.,x_Symbol] :=
+ Int[(e*x)^m*(a+b*Sec[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,e,m,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[(e_*x_)^m_.*(a_.+b_.*Csc[u_])^p_.,x_Symbol] :=
+ Int[(e*x)^m*(a+b*Csc[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,e,m,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[x_^m_.*Sec[a_.+b_.*x_^n_.]^p_*Sin[a_.+b_.*x_^n_.],x_Symbol] :=
+ x^(m-n+1)*Sec[a+b*x^n]^(p-1)/(b*n*(p-1)) -
+ (m-n+1)/(b*n*(p-1))*Int[x^(m-n)*Sec[a+b*x^n]^(p-1),x] /;
+FreeQ[{a,b,p},x] && RationalQ[m] && IntegerQ[n] && m-n>=0 && NeQ[p-1]
+
+
+Int[x_^m_.*Csc[a_.+b_.*x_^n_.]^p_*Cos[a_.+b_.*x_^n_.],x_Symbol] :=
+ -x^(m-n+1)*Csc[a+b*x^n]^(p-1)/(b*n*(p-1)) +
+ (m-n+1)/(b*n*(p-1))*Int[x^(m-n)*Csc[a+b*x^n]^(p-1),x] /;
+FreeQ[{a,b,p},x] && RationalQ[m] && IntegerQ[n] && m-n>=0 && NeQ[p-1]
+
+
+
+`)
+
+func resourcesRubi43SecantMBytes() ([]byte, error) {
+ return _resourcesRubi43SecantM, nil
+}
+
+func resourcesRubi43SecantM() (*asset, error) {
+ bytes, err := resourcesRubi43SecantMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/4.3 Secant.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi44MiscellaneousTrigFunctionsM = []byte(`(* ::Package:: *)
+
+(* ::Section:: *)
+(*Miscellaneous Trig Function Rules*)
+
+
+(* ::Subsection::Closed:: *)
+(*4.1 Sine normalization rules*)
+
+
+Int[u_*(c_.*tan[a_.+b_.*x_])^m_.*(d_.*sin[a_.+b_.*x_])^n_.,x_Symbol] :=
+ (c*Tan[a+b*x])^m*(d*Cos[a+b*x])^m/(d*Sin[a+b*x])^m*Int[ActivateTrig[u]*(d*Sin[a+b*x])^(m+n)/(d*Cos[a+b*x])^m,x] /;
+FreeQ[{a,b,c,d,m,n},x] && KnownSineIntegrandQ[u,x] && Not[IntegerQ[m]]
+
+
+Int[u_*(c_.*tan[a_.+b_.*x_])^m_.*(d_.*cos[a_.+b_.*x_])^n_.,x_Symbol] :=
+ (c*Tan[a+b*x])^m*(d*Cos[a+b*x])^m/(d*Sin[a+b*x])^m*Int[ActivateTrig[u]*(d*Sin[a+b*x])^m/(d*Cos[a+b*x])^(m-n),x] /;
+FreeQ[{a,b,c,d,m,n},x] && KnownSineIntegrandQ[u,x] && Not[IntegerQ[m]]
+
+
+Int[u_*(c_.*cot[a_.+b_.*x_])^m_.*(d_.*sin[a_.+b_.*x_])^n_.,x_Symbol] :=
+ (c*Cot[a+b*x])^m*(d*Sin[a+b*x])^m/(d*Cos[a+b*x])^m*Int[ActivateTrig[u]*(d*Cos[a+b*x])^m/(d*Sin[a+b*x])^(m-n),x] /;
+FreeQ[{a,b,c,d,m,n},x] && KnownSineIntegrandQ[u,x] && Not[IntegerQ[m]]
+
+
+Int[u_*(c_.*cot[a_.+b_.*x_])^m_.*(d_.*cos[a_.+b_.*x_])^n_.,x_Symbol] :=
+ (c*Cot[a+b*x])^m*(d*Sin[a+b*x])^m/(d*Cos[a+b*x])^m*Int[ActivateTrig[u]*(d*Cos[a+b*x])^(m+n)/(d*Sin[a+b*x])^m,x] /;
+FreeQ[{a,b,c,d,m,n},x] && KnownSineIntegrandQ[u,x] && Not[IntegerQ[m]]
+
+
+Int[u_*(c_.*sec[a_.+b_.*x_])^m_.*(d_.*cos[a_.+b_.*x_])^n_.,x_Symbol] :=
+ (c*Sec[a+b*x])^m*(d*Cos[a+b*x])^m*Int[ActivateTrig[u]*(d*Cos[a+b*x])^(n-m),x] /;
+FreeQ[{a,b,c,d,m,n},x] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_*(c_.*sec[a_.+b_.*x_])^m_.*(d_.*cos[a_.+b_.*x_])^n_.,x_Symbol] :=
+ (c*Csc[a+b*x])^m*(d*Sin[a+b*x])^m*Int[ActivateTrig[u]*(d*Sin[a+b*x])^(n-m),x] /;
+FreeQ[{a,b,c,d,m,n},x] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_*(c_.*tan[a_.+b_.*x_])^m_.,x_Symbol] :=
+ (c*Tan[a+b*x])^m*(c*Cos[a+b*x])^m/(c*Sin[a+b*x])^m*Int[ActivateTrig[u]*(c*Sin[a+b*x])^m/(c*Cos[a+b*x])^m,x] /;
+FreeQ[{a,b,c,m},x] && Not[IntegerQ[m]] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_*(c_.*cot[a_.+b_.*x_])^m_.,x_Symbol] :=
+ (c*Cot[a+b*x])^m*(c*Sin[a+b*x])^m/(c*Cos[a+b*x])^m*Int[ActivateTrig[u]*(c*Cos[a+b*x])^m/(c*Sin[a+b*x])^m,x] /;
+FreeQ[{a,b,c,m},x] && Not[IntegerQ[m]] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_*(c_.*sec[a_.+b_.*x_])^m_.,x_Symbol] :=
+ (c*Sec[a+b*x])^m*(c*Cos[a+b*x])^m*Int[ActivateTrig[u]/(c*Cos[a+b*x])^m,x] /;
+FreeQ[{a,b,c,m},x] && Not[IntegerQ[m]] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_*(c_.*csc[a_.+b_.*x_])^m_.,x_Symbol] :=
+ (c*Csc[a+b*x])^m*(c*Sin[a+b*x])^m*Int[ActivateTrig[u]/(c*Sin[a+b*x])^m,x] /;
+FreeQ[{a,b,c,m},x] && Not[IntegerQ[m]] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_*(c_.*sin[a_.+b_.*x_])^n_.*(A_+B_.*csc[a_.+b_.*x_]),x_Symbol] :=
+ c*Int[ActivateTrig[u]*(c*Sin[a+b*x])^(n-1)*(B+A*Sin[a+b*x]),x] /;
+FreeQ[{a,b,c,A,B,n},x] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_*(c_.*cos[a_.+b_.*x_])^n_.*(A_+B_.*sec[a_.+b_.*x_]),x_Symbol] :=
+ c*Int[ActivateTrig[u]*(c*Cos[a+b*x])^(n-1)*(B+A*Cos[a+b*x]),x] /;
+FreeQ[{a,b,c,A,B,n},x] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_*(A_+B_.*csc[a_.+b_.*x_]),x_Symbol] :=
+ Int[ActivateTrig[u]*(B+A*Sin[a+b*x])/Sin[a+b*x],x] /;
+FreeQ[{a,b,A,B},x] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_*(A_+B_.*sec[a_.+b_.*x_]),x_Symbol] :=
+ Int[ActivateTrig[u]*(B+A*Cos[a+b*x])/Cos[a+b*x],x] /;
+FreeQ[{a,b,A,B},x] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_.*(c_.*sin[a_.+b_.*x_])^n_.*(A_.+B_.*csc[a_.+b_.*x_]+C_.*csc[a_.+b_.*x_]^2),x_Symbol] :=
+ c^2*Int[ActivateTrig[u]*(c*Sin[a+b*x])^(n-2)*(C+B*Sin[a+b*x]+A*Sin[a+b*x]^2),x] /;
+FreeQ[{a,b,c,A,B,C,n},x] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_.*(c_.*cos[a_.+b_.*x_])^n_.*(A_.+B_.*sec[a_.+b_.*x_]+C_.*sec[a_.+b_.*x_]^2),x_Symbol] :=
+ c^2*Int[ActivateTrig[u]*(c*Cos[a+b*x])^(n-2)*(C+B*Cos[a+b*x]+A*Cos[a+b*x]^2),x] /;
+FreeQ[{a,b,c,A,B,C,n},x] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_.*(c_.*sin[a_.+b_.*x_])^n_.*(A_+C_.*csc[a_.+b_.*x_]^2),x_Symbol] :=
+ c^2*Int[ActivateTrig[u]*(c*Sin[a+b*x])^(n-2)*(C+A*Sin[a+b*x]^2),x] /;
+FreeQ[{a,b,c,A,C,n},x] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_.*(c_.*cos[a_.+b_.*x_])^n_.*(A_+C_.*sec[a_.+b_.*x_]^2),x_Symbol] :=
+ c^2*Int[ActivateTrig[u]*(c*Cos[a+b*x])^(n-2)*(C+A*Cos[a+b*x]^2),x] /;
+FreeQ[{a,b,c,A,C,n},x] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_*(A_.+B_.*csc[a_.+b_.*x_]+C_.*csc[a_.+b_.*x_]^2),x_Symbol] :=
+ Int[ActivateTrig[u]*(C+B*Sin[a+b*x]+A*Sin[a+b*x]^2)/Sin[a+b*x]^2,x] /;
+FreeQ[{a,b,A,B,C},x] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_*(A_.+B_.*sec[a_.+b_.*x_]+C_.*sec[a_.+b_.*x_]^2),x_Symbol] :=
+ Int[ActivateTrig[u]*(C+B*Cos[a+b*x]+A*Cos[a+b*x]^2)/Cos[a+b*x]^2,x] /;
+FreeQ[{a,b,A,B,C},x] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_*(A_+C_.*csc[a_.+b_.*x_]^2),x_Symbol] :=
+ Int[ActivateTrig[u]*(C+A*Sin[a+b*x]^2)/Sin[a+b*x]^2,x] /;
+FreeQ[{a,b,A,C},x] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_*(A_+C_.*sec[a_.+b_.*x_]^2),x_Symbol] :=
+ Int[ActivateTrig[u]*(C+A*Cos[a+b*x]^2)/Cos[a+b*x]^2,x] /;
+FreeQ[{a,b,A,C},x] && KnownSineIntegrandQ[u,x]
+
+
+Int[u_*(A_.+B_.*sin[a_.+b_.*x_]+C_.*csc[a_.+b_.*x_]),x_Symbol] :=
+ Int[ActivateTrig[u]*(C+A*Sin[a+b*x]+B*Sin[a+b*x]^2)/Sin[a+b*x],x] /;
+FreeQ[{a,b,A,B,C},x]
+
+
+Int[u_*(A_.+B_.*cos[a_.+b_.*x_]+C_.*sec[a_.+b_.*x_]),x_Symbol] :=
+ Int[ActivateTrig[u]*(C+A*Cos[a+b*x]+B*Cos[a+b*x]^2)/Cos[a+b*x],x] /;
+FreeQ[{a,b,A,B,C},x]
+
+
+Int[u_*(A_.*sin[a_.+b_.*x_]^n_.+B_.*sin[a_.+b_.*x_]^n1_+C_.*sin[a_.+b_.*x_]^n2_),x_Symbol] :=
+ Int[ActivateTrig[u]*Sin[a+b*x]^n*(A+B*Sin[a+b*x]+C*Sin[a+b*x]^2),x] /;
+FreeQ[{a,b,A,B,C,n},x] && EqQ[n1-n-1] && EqQ[n2-n-2]
+
+
+Int[u_*(A_.*cos[a_.+b_.*x_]^n_.+B_.*cos[a_.+b_.*x_]^n1_+C_.*cos[a_.+b_.*x_]^n2_),x_Symbol] :=
+ Int[ActivateTrig[u]*Cos[a+b*x]^n*(A+B*Cos[a+b*x]+C*Cos[a+b*x]^2),x] /;
+FreeQ[{a,b,A,B,C,n},x] && EqQ[n1-n-1] && EqQ[n2-n-2]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.2 Tangent normalization rules*)
+
+
+Int[u_*(c_.*cot[a_.+b_.*x_])^m_.*(d_.*tan[a_.+b_.*x_])^n_.,x_Symbol] :=
+ (c*Cot[a+b*x])^m*(d*Tan[a+b*x])^m*Int[ActivateTrig[u]*(d*Tan[a+b*x])^(n-m),x] /;
+FreeQ[{a,b,c,d,m,n},x] && KnownTangentIntegrandQ[u,x]
+
+
+Int[u_*(c_.*tan[a_.+b_.*x_])^m_.*(d_.*cos[a_.+b_.*x_])^n_.,x_Symbol] :=
+ (c*Tan[a+b*x])^m*(d*Cos[a+b*x])^m/(d*Sin[a+b*x])^m*Int[ActivateTrig[u]*(d*Sin[a+b*x])^m/(d*Cos[a+b*x])^(m-n),x] /;
+FreeQ[{a,b,c,d,m,n},x] && KnownCotangentIntegrandQ[u,x]
+
+
+Int[u_*(c_.*cot[a_.+b_.*x_])^m_.,x_Symbol] :=
+ (c*Cot[a+b*x])^m*(c*Tan[a+b*x])^m*Int[ActivateTrig[u]/(c*Tan[a+b*x])^m,x] /;
+FreeQ[{a,b,c,m},x] && Not[IntegerQ[m]] && KnownTangentIntegrandQ[u,x]
+
+
+Int[u_*(c_.*tan[a_.+b_.*x_])^m_.,x_Symbol] :=
+ (c*Cot[a+b*x])^m*(c*Tan[a+b*x])^m*Int[ActivateTrig[u]/(c*Cot[a+b*x])^m,x] /;
+FreeQ[{a,b,c,m},x] && Not[IntegerQ[m]] && KnownCotangentIntegrandQ[u,x]
+
+
+Int[u_*(c_.*tan[a_.+b_.*x_])^n_.*(A_+B_.*cot[a_.+b_.*x_]),x_Symbol] :=
+ c*Int[ActivateTrig[u]*(c*Tan[a+b*x])^(n-1)*(B+A*Tan[a+b*x]),x] /;
+FreeQ[{a,b,c,A,B,n},x] && KnownTangentIntegrandQ[u,x]
+
+
+Int[u_*(c_.*cot[a_.+b_.*x_])^n_.*(A_+B_.*tan[a_.+b_.*x_]),x_Symbol] :=
+ c*Int[ActivateTrig[u]*(c*Cot[a+b*x])^(n-1)*(B+A*Cot[a+b*x]),x] /;
+FreeQ[{a,b,c,A,B,n},x] && KnownCotangentIntegrandQ[u,x]
+
+
+Int[u_*(A_+B_.*cot[a_.+b_.*x_]),x_Symbol] :=
+ Int[ActivateTrig[u]*(B+A*Tan[a+b*x])/Tan[a+b*x],x] /;
+FreeQ[{a,b,A,B},x] && KnownTangentIntegrandQ[u,x]
+
+
+Int[u_*(A_+B_.*tan[a_.+b_.*x_]),x_Symbol] :=
+ Int[ActivateTrig[u]*(B+A*Cot[a+b*x])/Cot[a+b*x],x] /;
+FreeQ[{a,b,A,B},x] && KnownCotangentIntegrandQ[u,x]
+
+
+Int[u_.*(c_.*tan[a_.+b_.*x_])^n_.*(A_.+B_.*cot[a_.+b_.*x_]+C_.*cot[a_.+b_.*x_]^2),x_Symbol] :=
+ c^2*Int[ActivateTrig[u]*(c*Tan[a+b*x])^(n-2)*(C+B*Tan[a+b*x]+A*Tan[a+b*x]^2),x] /;
+FreeQ[{a,b,c,A,B,C,n},x] && KnownTangentIntegrandQ[u,x]
+
+
+Int[u_.*(c_.*cot[a_.+b_.*x_])^n_.*(A_.+B_.*tan[a_.+b_.*x_]+C_.*tan[a_.+b_.*x_]^2),x_Symbol] :=
+ c^2*Int[ActivateTrig[u]*(c*Cot[a+b*x])^(n-2)*(C+B*Cot[a+b*x]+A*Cot[a+b*x]^2),x] /;
+FreeQ[{a,b,c,A,B,C,n},x] && KnownCotangentIntegrandQ[u,x]
+
+
+Int[u_.*(c_.*tan[a_.+b_.*x_])^n_.*(A_+C_.*cot[a_.+b_.*x_]^2),x_Symbol] :=
+ c^2*Int[ActivateTrig[u]*(c*Tan[a+b*x])^(n-2)*(C+A*Tan[a+b*x]^2),x] /;
+FreeQ[{a,b,c,A,C,n},x] && KnownTangentIntegrandQ[u,x]
+
+
+Int[u_.*(c_.*cot[a_.+b_.*x_])^n_.*(A_+C_.*tan[a_.+b_.*x_]^2),x_Symbol] :=
+ c^2*Int[ActivateTrig[u]*(c*Cot[a+b*x])^(n-2)*(C+A*Cot[a+b*x]^2),x] /;
+FreeQ[{a,b,c,A,C,n},x] && KnownCotangentIntegrandQ[u,x]
+
+
+Int[u_*(A_.+B_.*cot[a_.+b_.*x_]+C_.*cot[a_.+b_.*x_]^2),x_Symbol] :=
+ Int[ActivateTrig[u]*(C+B*Tan[a+b*x]+A*Tan[a+b*x]^2)/Tan[a+b*x]^2,x] /;
+FreeQ[{a,b,A,B,C},x] && KnownTangentIntegrandQ[u,x]
+
+
+Int[u_*(A_.+B_.*tan[a_.+b_.*x_]+C_.*tan[a_.+b_.*x_]^2),x_Symbol] :=
+ Int[ActivateTrig[u]*(C+B*Cot[a+b*x]+A*Cot[a+b*x]^2)/Cot[a+b*x]^2,x] /;
+FreeQ[{a,b,A,B,C},x] && KnownCotangentIntegrandQ[u,x]
+
+
+Int[u_*(A_+C_.*cot[a_.+b_.*x_]^2),x_Symbol] :=
+ Int[ActivateTrig[u]*(C+A*Tan[a+b*x]^2)/Tan[a+b*x]^2,x] /;
+FreeQ[{a,b,A,C},x] && KnownTangentIntegrandQ[u,x]
+
+
+Int[u_*(A_+C_.*tan[a_.+b_.*x_]^2),x_Symbol] :=
+ Int[ActivateTrig[u]*(C+A*Cot[a+b*x]^2)/Cot[a+b*x]^2,x] /;
+FreeQ[{a,b,A,C},x] && KnownCotangentIntegrandQ[u,x]
+
+
+Int[u_*(A_.+B_.*tan[a_.+b_.*x_]+C_.*cot[a_.+b_.*x_]),x_Symbol] :=
+ Int[ActivateTrig[u]*(C+A*Tan[a+b*x]+B*Tan[a+b*x]^2)/Tan[a+b*x],x] /;
+FreeQ[{a,b,A,B,C},x]
+
+
+Int[u_*(A_.*tan[a_.+b_.*x_]^n_.+B_.*tan[a_.+b_.*x_]^n1_+C_.*tan[a_.+b_.*x_]^n2_),x_Symbol] :=
+ Int[ActivateTrig[u]*Tan[a+b*x]^n*(A+B*Tan[a+b*x]+C*Tan[a+b*x]^2),x] /;
+FreeQ[{a,b,A,B,C,n},x] && EqQ[n1-n-1] && EqQ[n2-n-2]
+
+
+Int[u_*(A_.*cot[a_.+b_.*x_]^n_.+B_.*cot[a_.+b_.*x_]^n1_+C_.*cot[a_.+b_.*x_]^n2_),x_Symbol] :=
+ Int[ActivateTrig[u]*Cot[a+b*x]^n*(A+B*Cot[a+b*x]+C*Cot[a+b*x]^2),x] /;
+FreeQ[{a,b,A,B,C,n},x] && EqQ[n1-n-1] && EqQ[n2-n-2]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.3 Secant normalization rules*)
+(**)
+
+
+Int[u_*(c_.*sin[a_.+b_.*x_])^m_.*(d_.*csc[a_.+b_.*x_])^n_.,x_Symbol] :=
+ (c*Sin[a+b*x])^m*(d*Csc[a+b*x])^m*Int[ActivateTrig[u]*(d*Csc[a+b*x])^(n-m),x] /;
+FreeQ[{a,b,c,d,m,n},x] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_*(c_.*cos[a_.+b_.*x_])^m_.*(d_.*sec[a_.+b_.*x_])^n_.,x_Symbol] :=
+ (c*Cos[a+b*x])^m*(d*Sec[a+b*x])^m*Int[ActivateTrig[u]*(d*Sec[a+b*x])^(n-m),x] /;
+FreeQ[{a,b,c,d,m,n},x] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_*(c_.*tan[a_.+b_.*x_])^m_.*(d_.*sec[a_.+b_.*x_])^n_.,x_Symbol] :=
+ (c*Tan[a+b*x])^m*(d*Csc[a+b*x])^m/(d*Sec[a+b*x])^m*Int[ActivateTrig[u]*(d*Sec[a+b*x])^(m+n)/(d*Csc[a+b*x])^m,x] /;
+FreeQ[{a,b,c,d,m,n},x] && KnownSecantIntegrandQ[u,x] && Not[IntegerQ[m]]
+
+
+Int[u_*(c_.*tan[a_.+b_.*x_])^m_.*(d_.*csc[a_.+b_.*x_])^n_.,x_Symbol] :=
+ (c*Tan[a+b*x])^m*(d*Csc[a+b*x])^m/(d*Sec[a+b*x])^m*Int[ActivateTrig[u]*(d*Sec[a+b*x])^m/(d*Csc[a+b*x])^(m-n),x] /;
+FreeQ[{a,b,c,d,m,n},x] && KnownSecantIntegrandQ[u,x] && Not[IntegerQ[m]]
+
+
+Int[u_*(c_.*cot[a_.+b_.*x_])^m_.*(d_.*sec[a_.+b_.*x_])^n_.,x_Symbol] :=
+ (c*Cot[a+b*x])^m*(d*Sec[a+b*x])^m/(d*Csc[a+b*x])^m*Int[ActivateTrig[u]*(d*Csc[a+b*x])^m/(d*Sec[a+b*x])^(m-n),x] /;
+FreeQ[{a,b,c,d,m,n},x] && KnownSecantIntegrandQ[u,x] && Not[IntegerQ[m]]
+
+
+Int[u_*(c_.*cot[a_.+b_.*x_])^m_.*(d_.*csc[a_.+b_.*x_])^n_.,x_Symbol] :=
+ (c*Cot[a+b*x])^m*(d*Sec[a+b*x])^m/(d*Csc[a+b*x])^m*Int[ActivateTrig[u]*(d*Csc[a+b*x])^(m+n)/(d*Sec[a+b*x])^m,x] /;
+FreeQ[{a,b,c,d,m,n},x] && KnownSecantIntegrandQ[u,x] && Not[IntegerQ[m]]
+
+
+Int[u_*(c_.*sin[a_.+b_.*x_])^m_.,x_Symbol] :=
+ (c*Csc[a+b*x])^m*(c*Sin[a+b*x])^m*Int[ActivateTrig[u]/(c*Csc[a+b*x])^m,x] /;
+FreeQ[{a,b,c,m},x] && Not[IntegerQ[m]] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_*(c_.*cos[a_.+b_.*x_])^m_.,x_Symbol] :=
+ (c*Cos[a+b*x])^m*(c*Sec[a+b*x])^m*Int[ActivateTrig[u]/(c*Sec[a+b*x])^m,x] /;
+FreeQ[{a,b,c,m},x] && Not[IntegerQ[m]] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_*(c_.*tan[a_.+b_.*x_])^m_.,x_Symbol] :=
+ (c*Tan[a+b*x])^m*(c*Csc[a+b*x])^m/(c*Sec[a+b*x])^m*Int[ActivateTrig[u]*(c*Sec[a+b*x])^m/(c*Csc[a+b*x])^m,x] /;
+FreeQ[{a,b,c,m},x] && Not[IntegerQ[m]] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_*(c_.*cot[a_.+b_.*x_])^m_.,x_Symbol] :=
+ (c*Cot[a+b*x])^m*(c*Sec[a+b*x])^m/(c*Csc[a+b*x])^m*Int[ActivateTrig[u]*(c*Csc[a+b*x])^m/(c*Sec[a+b*x])^m,x] /;
+FreeQ[{a,b,c,m},x] && Not[IntegerQ[m]] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_*(c_.*sec[a_.+b_.*x_])^n_.*(A_+B_.*cos[a_.+b_.*x_]),x_Symbol] :=
+ c*Int[ActivateTrig[u]*(c*Sec[a+b*x])^(n-1)*(B+A*Sec[a+b*x]),x] /;
+FreeQ[{a,b,c,A,B,n},x] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_*(c_.*csc[a_.+b_.*x_])^n_.*(A_+B_.*sin[a_.+b_.*x_]),x_Symbol] :=
+ c*Int[ActivateTrig[u]*(c*Csc[a+b*x])^(n-1)*(B+A*Csc[a+b*x]),x] /;
+FreeQ[{a,b,c,A,B,n},x] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_*(A_+B_.*cos[a_.+b_.*x_]),x_Symbol] :=
+ Int[ActivateTrig[u]*(B+A*Sec[a+b*x])/Sec[a+b*x],x] /;
+FreeQ[{a,b,A,B},x] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_*(A_+B_.*sin[a_.+b_.*x_]),x_Symbol] :=
+ Int[ActivateTrig[u]*(B+A*Csc[a+b*x])/Csc[a+b*x],x] /;
+FreeQ[{a,b,A,B},x] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_.*(c_.*sec[a_.+b_.*x_])^n_.*(A_.+B_.*cos[a_.+b_.*x_]+C_.*cos[a_.+b_.*x_]^2),x_Symbol] :=
+ c^2*Int[ActivateTrig[u]*(c*Sec[a+b*x])^(n-2)*(C+B*Sec[a+b*x]+A*Sec[a+b*x]^2),x] /;
+FreeQ[{a,b,c,A,B,C,n},x] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_.*(c_.*csc[a_.+b_.*x_])^n_.*(A_.+B_.*sin[a_.+b_.*x_]+C_.*sin[a_.+b_.*x_]^2),x_Symbol] :=
+ c^2*Int[ActivateTrig[u]*(c*Csc[a+b*x])^(n-2)*(C+B*Csc[a+b*x]+A*Csc[a+b*x]^2),x] /;
+FreeQ[{a,b,c,A,B,C,n},x] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_.*(c_.*sec[a_.+b_.*x_])^n_.*(A_+C_.*cos[a_.+b_.*x_]^2),x_Symbol] :=
+ c^2*Int[ActivateTrig[u]*(c*Sec[a+b*x])^(n-2)*(C+A*Sec[a+b*x]^2),x] /;
+FreeQ[{a,b,c,A,C,n},x] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_.*(c_.*csc[a_.+b_.*x_])^n_.*(A_+C_.*sin[a_.+b_.*x_]^2),x_Symbol] :=
+ c^2*Int[ActivateTrig[u]*(c*Csc[a+b*x])^(n-2)*(C+A*Csc[a+b*x]^2),x] /;
+FreeQ[{a,b,c,A,C,n},x] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_*(A_.+B_.*cos[a_.+b_.*x_]+C_.*cos[a_.+b_.*x_]^2),x_Symbol] :=
+ Int[ActivateTrig[u]*(C+B*Sec[a+b*x]+A*Sec[a+b*x]^2)/Sec[a+b*x]^2,x] /;
+FreeQ[{a,b,A,B,C},x] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_*(A_.+B_.*sin[a_.+b_.*x_]+C_.*sin[a_.+b_.*x_]^2),x_Symbol] :=
+ Int[ActivateTrig[u]*(C+B*Csc[a+b*x]+A*Csc[a+b*x]^2)/Csc[a+b*x]^2,x] /;
+FreeQ[{a,b,A,B,C},x] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_*(A_+C_.*cos[a_.+b_.*x_]^2),x_Symbol] :=
+ Int[ActivateTrig[u]*(C+A*Sec[a+b*x]^2)/Sec[a+b*x]^2,x] /;
+FreeQ[{a,b,A,C},x] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_*(A_+C_.*sin[a_.+b_.*x_]^2),x_Symbol] :=
+ Int[ActivateTrig[u]*(C+A*Csc[a+b*x]^2)/Csc[a+b*x]^2,x] /;
+FreeQ[{a,b,A,C},x] && KnownSecantIntegrandQ[u,x]
+
+
+Int[u_*(A_.*sec[a_.+b_.*x_]^n_.+B_.*sec[a_.+b_.*x_]^n1_+C_.*sec[a_.+b_.*x_]^n2_),x_Symbol] :=
+ Int[ActivateTrig[u]*Sec[a+b*x]^n*(A+B*Sec[a+b*x]+C*Sec[a+b*x]^2),x] /;
+FreeQ[{a,b,A,B,C,n},x] && EqQ[n1-n-1] && EqQ[n2-n-2]
+
+
+Int[u_*(A_.*csc[a_.+b_.*x_]^n_.+B_.*csc[a_.+b_.*x_]^n1_+C_.*csc[a_.+b_.*x_]^n2_),x_Symbol] :=
+ Int[ActivateTrig[u]*Csc[a+b*x]^n*(A+B*Csc[a+b*x]+C*Csc[a+b*x]^2),x] /;
+FreeQ[{a,b,A,B,C,n},x] && EqQ[n1-n-1] && EqQ[n2-n-2]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.4.1 (c trig)^m (d trig)^n*)
+
+
+Int[sin[a_.+b_.*x_]*sin[c_.+d_.*x_],x_Symbol] :=
+ Sin[a-c+(b-d)*x]/(2*(b-d)) - Sin[a+c+(b+d)*x]/(2*(b+d)) /;
+FreeQ[{a,b,c,d},x] && NeQ[b^2-d^2]
+
+
+Int[cos[a_.+b_.*x_]*cos[c_.+d_.*x_],x_Symbol] :=
+ Sin[a-c+(b-d)*x]/(2*(b-d)) + Sin[a+c+(b+d)*x]/(2*(b+d)) /;
+FreeQ[{a,b,c,d},x] && NeQ[b^2-d^2]
+
+
+Int[sin[a_.+b_.*x_]*cos[c_.+d_.*x_],x_Symbol] :=
+ -Cos[a-c+(b-d)*x]/(2*(b-d)) - Cos[a+c+(b+d)*x]/(2*(b+d)) /;
+FreeQ[{a,b,c,d},x] && NeQ[b^2-d^2]
+
+
+Int[cos[a_.+b_.*x_]^2*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ 1/2*Int[(g*Sin[c+d*x])^p,x] +
+ 1/2*Int[Cos[c+d*x]*(g*Sin[c+d*x])^p,x] /;
+FreeQ[{a,b,c,d,g},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && PositiveIntegerQ[p/2]
+
+
+Int[sin[a_.+b_.*x_]^2*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ 1/2*Int[(g*Sin[c+d*x])^p,x] -
+ 1/2*Int[Cos[c+d*x]*(g*Sin[c+d*x])^p,x] /;
+FreeQ[{a,b,c,d,g},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && PositiveIntegerQ[p/2]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_.*sin[c_.+d_.*x_]^p_.,x_Symbol] :=
+ 2^p/e^p*Int[(e*Cos[a+b*x])^(m+p)*Sin[a+b*x]^p,x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && IntegerQ[p]
+
+
+Int[(f_.*sin[a_.+b_.*x_])^n_.*sin[c_.+d_.*x_]^p_.,x_Symbol] :=
+ 2^p/f^p*Int[Cos[a+b*x]^p*(f*Sin[a+b*x])^(n+p),x] /;
+FreeQ[{a,b,c,d,f,n},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && IntegerQ[p]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ e^2*(e*Cos[a+b*x])^(m-2)*(g*Sin[c+d*x])^(p+1)/(2*b*g*(p+1)) /;
+FreeQ[{a,b,c,d,e,g,m,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && EqQ[m+p-1]
+
+
+Int[(e_.*sin[a_.+b_.*x_])^m_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -e^2*(e*Sin[a+b*x])^(m-2)*(g*Sin[c+d*x])^(p+1)/(2*b*g*(p+1)) /;
+FreeQ[{a,b,c,d,e,g,m,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && EqQ[m+p-1]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -(e*Cos[a+b*x])^m*(g*Sin[c+d*x])^(p+1)/(b*g*m) /;
+FreeQ[{a,b,c,d,e,g,m,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && EqQ[m+2*p+2]
+
+
+Int[(e_.*sin[a_.+b_.*x_])^m_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ (e*Sin[a+b*x])^m*(g*Sin[c+d*x])^(p+1)/(b*g*m) /;
+FreeQ[{a,b,c,d,e,g,m,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && EqQ[m+2*p+2]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ e^2*(e*Cos[a+b*x])^(m-2)*(g*Sin[c+d*x])^(p+1)/(2*b*g*(p+1)) +
+ e^4*(m+p-1)/(4*g^2*(p+1))*Int[(e*Cos[a+b*x])^(m-4)*(g*Sin[c+d*x])^(p+2),x] /;
+FreeQ[{a,b,c,d,e,g},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m,p] && m>2 && p<-1 &&
+ (m>3 || p==-3/2) && IntegersQ[2*m,2*p]
+
+
+Int[(e_.*sin[a_.+b_.*x_])^m_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -e^2*(e*Sin[a+b*x])^(m-2)*(g*Sin[c+d*x])^(p+1)/(2*b*g*(p+1)) +
+ e^4*(m+p-1)/(4*g^2*(p+1))*Int[(e*Sin[a+b*x])^(m-4)*(g*Sin[c+d*x])^(p+2),x] /;
+FreeQ[{a,b,c,d,e,g},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m,p] && m>2 && p<-1 &&
+ (m>3 || p==-3/2) && IntegersQ[2*m,2*p]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ (e*Cos[a+b*x])^m*(g*Sin[c+d*x])^(p+1)/(2*b*g*(p+1)) +
+ e^2*(m+2*p+2)/(4*g^2*(p+1))*Int[(e*Cos[a+b*x])^(m-2)*(g*Sin[c+d*x])^(p+2),x] /;
+FreeQ[{a,b,c,d,e,g},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m,p] && m>1 && p<-1 &&
+ NeQ[m+2*p+2] && (p<-2 || m==2) && IntegersQ[2*m,2*p]
+
+
+Int[(e_.*sin[a_.+b_.*x_])^m_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -(e*Sin[a+b*x])^m*(g*Sin[c+d*x])^(p+1)/(2*b*g*(p+1)) +
+ e^2*(m+2*p+2)/(4*g^2*(p+1))*Int[(e*Sin[a+b*x])^(m-2)*(g*Sin[c+d*x])^(p+2),x] /;
+FreeQ[{a,b,c,d,e,g},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m,p] && m>1 && p<-1 &&
+ NeQ[m+2*p+2] && (p<-2 || m==2) && IntegersQ[2*m,2*p]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ e^2*(e*Cos[a+b*x])^(m-2)*(g*Sin[c+d*x])^(p+1)/(2*b*g*(m+2*p)) +
+ e^2*(m+p-1)/(m+2*p)*Int[(e*Cos[a+b*x])^(m-2)*(g*Sin[c+d*x])^p,x] /;
+FreeQ[{a,b,c,d,e,g,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m] && m>1 && NeQ[m+2*p] &&
+ IntegersQ[2*m,2*p]
+
+
+Int[(e_.*sin[a_.+b_.*x_])^m_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -e^2*(e*Sin[a+b*x])^(m-2)*(g*Sin[c+d*x])^(p+1)/(2*b*g*(m+2*p)) +
+ e^2*(m+p-1)/(m+2*p)*Int[(e*Sin[a+b*x])^(m-2)*(g*Sin[c+d*x])^p,x] /;
+FreeQ[{a,b,c,d,e,g,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m] && m>1 && NeQ[m+2*p] &&
+ IntegersQ[2*m,2*p]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -(e*Cos[a+b*x])^m*(g*Sin[c+d*x])^(p+1)/(2*b*g*(m+p+1)) +
+ (m+2*p+2)/(e^2*(m+p+1))*Int[(e*Cos[a+b*x])^(m+2)*(g*Sin[c+d*x])^p,x] /;
+FreeQ[{a,b,c,d,e,g,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m] && m<-1 &&
+ NeQ[m+2*p+2] && NeQ[m+p+1] && IntegersQ[2*m,2*p]
+
+
+Int[(e_.*sin[a_.+b_.*x_])^m_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ (e*Sin[a+b*x])^m*(g*Sin[c+d*x])^(p+1)/(2*b*g*(m+p+1)) +
+ (m+2*p+2)/(e^2*(m+p+1))*Int[(e*Sin[a+b*x])^(m+2)*(g*Sin[c+d*x])^p,x] /;
+FreeQ[{a,b,c,d,e,g,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m] && m<-1 &&
+ NeQ[m+2*p+2] && NeQ[m+p+1] && IntegersQ[2*m,2*p]
+
+
+Int[cos[a_.+b_.*x_]*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ 2*Sin[a+b*x]*(g*Sin[c+d*x])^p/(d*(2*p+1)) + 2*p*g/(2*p+1)*Int[Sin[a+b*x]*(g*Sin[c+d*x])^(p-1),x] /;
+FreeQ[{a,b,c,d,g},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[p] && p>0 && IntegerQ[2*p]
+
+
+Int[sin[a_.+b_.*x_]*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -2*Cos[a+b*x]*(g*Sin[c+d*x])^p/(d*(2*p+1)) + 2*p*g/(2*p+1)*Int[Cos[a+b*x]*(g*Sin[c+d*x])^(p-1),x] /;
+FreeQ[{a,b,c,d,g},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[p] && p>0 && IntegerQ[2*p]
+
+
+Int[cos[a_.+b_.*x_]*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ Cos[a+b*x]*(g*Sin[c+d*x])^(p+1)/(2*b*g*(p+1)) +
+ (2*p+3)/(2*g*(p+1))*Int[Sin[a+b*x]*(g*Sin[c+d*x])^(p+1),x] /;
+FreeQ[{a,b,c,d,g},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[p] && p<-1 && IntegerQ[2*p]
+
+
+Int[sin[a_.+b_.*x_]*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -Sin[a+b*x]*(g*Sin[c+d*x])^(p+1)/(2*b*g*(p+1)) +
+ (2*p+3)/(2*g*(p+1))*Int[Cos[a+b*x]*(g*Sin[c+d*x])^(p+1),x] /;
+FreeQ[{a,b,c,d,g},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[p] && p<-1 && IntegerQ[2*p]
+
+
+Int[cos[a_.+b_.*x_]/Sqrt[sin[c_.+d_.*x_]],x_Symbol] :=
+ -ArcSin[Cos[a+b*x]-Sin[a+b*x]]/d + Log[Cos[a+b*x]+Sin[a+b*x]+Sqrt[Sin[c+d*x]]]/d /;
+FreeQ[{a,b,c,d},x] && EqQ[b*c-a*d] && EqQ[d/b-2]
+
+
+Int[sin[a_.+b_.*x_]/Sqrt[sin[c_.+d_.*x_]],x_Symbol] :=
+ -ArcSin[Cos[a+b*x]-Sin[a+b*x]]/d - Log[Cos[a+b*x]+Sin[a+b*x]+Sqrt[Sin[c+d*x]]]/d /;
+FreeQ[{a,b,c,d},x] && EqQ[b*c-a*d] && EqQ[d/b-2]
+
+
+Int[(g_.*sin[c_.+d_.*x_])^p_/cos[a_.+b_.*x_],x_Symbol] :=
+ 2*g*Int[Sin[a+b*x]*(g*Sin[c+d*x])^(p-1),x] /;
+FreeQ[{a,b,c,d,g,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && IntegerQ[2*p]
+
+
+Int[(g_.*sin[c_.+d_.*x_])^p_/sin[a_.+b_.*x_],x_Symbol] :=
+ 2*g*Int[Cos[a+b*x]*(g*Sin[c+d*x])^(p-1),x] /;
+FreeQ[{a,b,c,d,g,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && IntegerQ[2*p]
+
+
+(* Int[(e_.*cos[a_.+b_.*x_])^m_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -(e*Cos[a+b*x])^(m+1)*Sin[a+b*x]*(g*Sin[c+d*x])^p/(b*e*(m+p+1)*(Sin[a+b*x]^2)^((p+1)/2))*
+ Hypergeometric2F1[-(p-1)/2,(m+p+1)/2,(m+p+3)/2,Cos[a+b*x]^2] /;
+FreeQ[{a,b,c,d,e,g,m,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && Not[IntegerQ[m+p]] *)
+
+
+(* Int[(f_.*sin[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -Cos[a+b*x]*(f*Sin[a+b*x])^(n+1)*(g*Sin[c+d*x])^p/(b*f*(p+1)*(Sin[a+b*x]^2)^((n+p+1)/2))*
+ Hypergeometric2F1[-(n+p-1)/2,(p+1)/2,(p+3)/2,Cos[a+b*x]^2] /;
+FreeQ[{a,b,c,d,f,g,n,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && Not[IntegerQ[n+p]] *)
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ (g*Sin[c+d*x])^p/((e*Cos[a+b*x])^p*Sin[a+b*x]^p)*Int[(e*Cos[a+b*x])^(m+p)*Sin[a+b*x]^p,x] /;
+FreeQ[{a,b,c,d,e,g,m,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]]
+
+
+Int[(f_.*sin[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ (g*Sin[c+d*x])^p/(Cos[a+b*x]^p*(f*Sin[a+b*x])^p)*Int[Cos[a+b*x]^p*(f*Sin[a+b*x])^(n+p),x] /;
+FreeQ[{a,b,c,d,f,g,n,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]]
+
+
+Int[cos[a_.+b_.*x_]^2*sin[a_.+b_.*x_]^2*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ 1/4*Int[(g*Sin[c+d*x])^p,x] -
+ 1/4*Int[Cos[c+d*x]^2*(g*Sin[c+d*x])^p,x] /;
+FreeQ[{a,b,c,d,g},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && PositiveIntegerQ[p/2]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_.*(f_.*sin[a_.+b_.*x_])^n_.*sin[c_.+d_.*x_]^p_.,x_Symbol] :=
+ 2^p/(e^p*f^p)*Int[(e*Cos[a+b*x])^(m+p)*(f*Sin[a+b*x])^(n+p),x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && IntegerQ[p]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_.*(f_.*sin[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ e*(e*Cos[a+b*x])^(m-1)*(f*Sin[a+b*x])^(n+1)*(g*Sin[c+d*x])^p/(b*f*(n+p+1)) /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && EqQ[m+p+1]
+
+
+Int[(e_.*sin[a_.+b_.*x_])^m_*(f_.*cos[a_.+b_.*x_])^n_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -e*(e*Sin[a+b*x])^(m-1)*(f*Cos[a+b*x])^(n+1)*(g*Sin[c+d*x])^p/(b*f*(n+p+1)) /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && EqQ[m+p+1]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_.*(f_.*sin[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -(e*Cos[a+b*x])^(m+1)*(f*Sin[a+b*x])^(n+1)*(g*Sin[c+d*x])^p/(b*e*f*(m+p+1)) /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && EqQ[m+n+2*p+2] && NeQ[m+p+1]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_*(f_.*sin[a_.+b_.*x_])^n_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ e^2*(e*Cos[a+b*x])^(m-2)*(f*Sin[a+b*x])^n*(g*Sin[c+d*x])^(p+1)/(2*b*g*(n+p+1)) +
+ e^4*(m+p-1)/(4*g^2*(n+p+1))*Int[(e*Cos[a+b*x])^(m-4)*(f*Sin[a+b*x])^n*(g*Sin[c+d*x])^(p+2),x] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m,p] && m>3 && p<-1 &&
+ NeQ[n+p+1] && IntegersQ[2*m,2*n,2*p]
+
+
+Int[(e_.*sin[a_.+b_.*x_])^m_*(f_.*cos[a_.+b_.*x_])^n_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -e^2*(e*Sin[a+b*x])^(m-2)*(f*Cos[a+b*x])^n*(g*Sin[c+d*x])^(p+1)/(2*b*g*(n+p+1)) +
+ e^4*(m+p-1)/(4*g^2*(n+p+1))*Int[(e*Sin[a+b*x])^(m-4)*(f*Cos[a+b*x])^n*(g*Sin[c+d*x])^(p+2),x] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m,p] && m>3 && p<-1 &&
+ NeQ[n+p+1] && IntegersQ[2*m,2*n,2*p]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_*(f_.*sin[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ (e*Cos[a+b*x])^m*(f*Sin[a+b*x])^n*(g*Sin[c+d*x])^(p+1)/(2*b*g*(n+p+1)) +
+ e^2*(m+n+2*p+2)/(4*g^2*(n+p+1))*Int[(e*Cos[a+b*x])^(m-2)*(f*Sin[a+b*x])^n*(g*Sin[c+d*x])^(p+2),x] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m,p] && m>1 && p<-1 &&
+ NeQ[m+n+2*p+2] && NeQ[n+p+1] && IntegersQ[2*m,2*n,2*p] && (p<-2 || m==2 || m==3)
+
+
+Int[(e_.*sin[a_.+b_.*x_])^m_*(f_.*cos[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -(e*Sin[a+b*x])^m*(f*Cos[a+b*x])^n*(g*Sin[c+d*x])^(p+1)/(2*b*g*(n+p+1)) +
+ e^2*(m+n+2*p+2)/(4*g^2*(n+p+1))*Int[(e*Sin[a+b*x])^(m-2)*(f*Cos[a+b*x])^n*(g*Sin[c+d*x])^(p+2),x] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m,p] && m>1 && p<-1 &&
+ NeQ[m+n+2*p+2] && NeQ[n+p+1] && IntegersQ[2*m,2*n,2*p] && (p<-2 || m==2 || m==3)
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_*(f_.*sin[a_.+b_.*x_])^n_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ e*(e*Cos[a+b*x])^(m-1)*(f*Sin[a+b*x])^(n+1)*(g*Sin[c+d*x])^p/(b*f*(n+p+1)) +
+ e^2*(m+p-1)/(f^2*(n+p+1))*Int[(e*Cos[a+b*x])^(m-2)*(f*Sin[a+b*x])^(n+2)*(g*Sin[c+d*x])^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m,n] && m>1 && n<-1 &&
+ NeQ[n+p+1] && IntegersQ[2*m,2*n,2*p]
+
+
+Int[(e_.*sin[a_.+b_.*x_])^m_*(f_.*cos[a_.+b_.*x_])^n_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -e*(e*Sin[a+b*x])^(m-1)*(f*Cos[a+b*x])^(n+1)*(g*Sin[c+d*x])^p/(b*f*(n+p+1)) +
+ e^2*(m+p-1)/(f^2*(n+p+1))*Int[(e*Sin[a+b*x])^(m-2)*(f*Cos[a+b*x])^(n+2)*(g*Sin[c+d*x])^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m,n] && m>1 && n<-1 &&
+ NeQ[n+p+1] && IntegersQ[2*m,2*n,2*p]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_*(f_.*sin[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ e*(e*Cos[a+b*x])^(m-1)*(f*Sin[a+b*x])^(n+1)*(g*Sin[c+d*x])^p/(b*f*(m+n+2*p)) +
+ e^2*(m+p-1)/(m+n+2*p)*Int[(e*Cos[a+b*x])^(m-2)*(f*Sin[a+b*x])^n*(g*Sin[c+d*x])^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m] && m>1 && NeQ[m+n+2*p] &&
+ IntegersQ[2*m,2*n,2*p]
+
+
+Int[(e_.*sin[a_.+b_.*x_])^m_*(f_.*cos[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -e*(e*Sin[a+b*x])^(m-1)*(f*Cos[a+b*x])^(n+1)*(g*Sin[c+d*x])^p/(b*f*(m+n+2*p)) +
+ e^2*(m+p-1)/(m+n+2*p)*Int[(e*Sin[a+b*x])^(m-2)*(f*Cos[a+b*x])^n*(g*Sin[c+d*x])^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m] && m>1 && NeQ[m+n+2*p] &&
+ IntegersQ[2*m,2*n,2*p]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_*(f_.*sin[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -f*(e*Cos[a+b*x])^(m+1)*(f*Sin[a+b*x])^(n-1)*(g*Sin[c+d*x])^p/(b*e*(m+n+2*p)) +
+ 2*f*g*(n+p-1)/(e*(m+n+2*p))*Int[(e*Cos[a+b*x])^(m+1)*(f*Sin[a+b*x])^(n-1)*(g*Sin[c+d*x])^(p-1),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m,n,p] && m<-1 && n>0 && p>0 &&
+ NeQ[m+n+2*p] && IntegersQ[2*m,2*n,2*p]
+
+
+Int[(e_.*sin[a_.+b_.*x_])^m_*(f_.*cos[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ f*(e*Sin[a+b*x])^(m+1)*(f*Cos[a+b*x])^(n-1)*(g*Sin[c+d*x])^p/(b*e*(m+n+2*p)) +
+ 2*f*g*(n+p-1)/(e*(m+n+2*p))*Int[(e*Sin[a+b*x])^(m+1)*(f*Cos[a+b*x])^(n-1)*(g*Sin[c+d*x])^(p-1),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m,n,p] && m<-1 && n>0 && p>0 &&
+ NeQ[m+n+2*p] && IntegersQ[2*m,2*n,2*p]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_*(f_.*sin[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -(e*Cos[a+b*x])^(m+1)*(f*Sin[a+b*x])^(n+1)*(g*Sin[c+d*x])^p/(b*e*f*(m+p+1)) +
+ f*(m+n+2*p+2)/(2*e*g*(m+p+1))*Int[(e*Cos[a+b*x])^(m+1)*(f*Sin[a+b*x])^(n-1)*(g*Sin[c+d*x])^(p+1),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m,n,p] && m<-1 && n>0 && p<-1 &&
+ NeQ[m+n+2*p+2] && NeQ[m+p+1] && IntegersQ[2*m,2*n,2*p]
+
+
+Int[(e_.*sin[a_.+b_.*x_])^m_*(f_.*cos[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ (e*Sin[a+b*x])^(m+1)*(f*Cos[a+b*x])^(n+1)*(g*Sin[c+d*x])^p/(b*e*f*(m+p+1)) +
+ f*(m+n+2*p+2)/(2*e*g*(m+p+1))*Int[(e*Sin[a+b*x])^(m+1)*(f*Cos[a+b*x])^(n-1)*(g*Sin[c+d*x])^(p+1),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m,n,p] && m<-1 && n>0 && p<-1 &&
+ NeQ[m+n+2*p+2] && NeQ[m+p+1] && IntegersQ[2*m,2*n,2*p]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_*(f_.*sin[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -(e*Cos[a+b*x])^(m+1)*(f*Sin[a+b*x])^(n+1)*(g*Sin[c+d*x])^p/(b*e*f*(m+p+1)) +
+ (m+n+2*p+2)/(e^2*(m+p+1))*Int[(e*Cos[a+b*x])^(m+2)*(f*Sin[a+b*x])^n*(g*Sin[c+d*x])^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m] && m<-1 &&
+ NeQ[m+n+2*p+2] && NeQ[m+p+1] && IntegersQ[2*m,2*n,2*p]
+
+
+Int[(e_.*sin[a_.+b_.*x_])^m_*(f_.*cos[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ (e*Sin[a+b*x])^(m+1)*(f*Cos[a+b*x])^(n+1)*(g*Sin[c+d*x])^p/(b*e*f*(m+p+1)) +
+ (m+n+2*p+2)/(e^2*(m+p+1))*Int[(e*Sin[a+b*x])^(m+2)*(f*Cos[a+b*x])^n*(g*Sin[c+d*x])^p,x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && RationalQ[m] && m<-1 &&
+ NeQ[m+n+2*p+2] && NeQ[m+p+1] && IntegersQ[2*m,2*n,2*p]
+
+
+(* Int[(e_.*cos[a_.+b_.*x_])^m_*(f_.*sin[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ -(e*Cos[a+b*x])^(m+1)*(f*Sin[a+b*x])^(n+1)*(g*Sin[c+d*x])^p/(b*e*f*(m+p+1)*(Sin[a+b*x]^2)^((n+p+1)/2))*
+ Hypergeometric2F1[-(n+p-1)/2,(m+p+1)/2,(m+p+3)/2,Cos[a+b*x]^2] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]] && Not[IntegerQ[m+p]] && Not[IntegerQ[n+p]] *)
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_.*(f_.*sin[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] :=
+ (g*Sin[c+d*x])^p/((e*Cos[a+b*x])^p*(f*Sin[a+b*x])^p)*Int[(e*Cos[a+b*x])^(m+p)*(f*Sin[a+b*x])^(n+p),x] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && EqQ[b*c-a*d] && EqQ[d/b-2] && Not[IntegerQ[p]]
+
+
+Int[(e_.*cos[a_.+b_.*x_])^m_.*sin[c_.+d_.*x_],x_Symbol] :=
+ -(m+2)*(e*Cos[a+b*x])^(m+1)*Cos[(m+1)*(a+b*x)]/(d*e*(m+1)) /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[b*c-a*d] && EqQ[d/b-Abs[m+2]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.4.3 Inert trig functions*)
+
+
+Int[(a_.*F_[c_.+d_.*x_]^p_)^n_,x_Symbol] :=
+ With[{v=ActivateTrig[F[c+d*x]]},
+ a^IntPart[n]*(v/NonfreeFactors[v,x])^(p*IntPart[n])*(a*v^p)^FracPart[n]/NonfreeFactors[v,x]^(p*FracPart[n])*
+ Int[NonfreeFactors[v,x]^(n*p),x]] /;
+FreeQ[{a,c,d,n,p},x] && InertTrigQ[F] && Not[IntegerQ[n]] && IntegerQ[p]
+
+
+Int[(a_.*(b_.*F_[c_.+d_.*x_])^p_)^n_.,x_Symbol] :=
+ With[{v=ActivateTrig[F[c+d*x]]},
+ a^IntPart[n]*(a*(b*v)^p)^FracPart[n]/(b*v)^(p*FracPart[n])*Int[(b*v)^(n*p),x]] /;
+FreeQ[{a,b,c,d,n,p},x] && InertTrigQ[F] && Not[IntegerQ[n]] && Not[IntegerQ[p]]
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)],x_Symbol] :=
+ With[{d=FreeFactors[Sin[c*(a+b*x)],x]},
+ d/(b*c)*Subst[Int[SubstFor[1,Sin[c*(a+b*x)]/d,u,x],x],x,Sin[c*(a+b*x)]/d] /;
+ FunctionOfQ[Sin[c*(a+b*x)]/d,u,x,True]] /;
+FreeQ[{a,b,c},x] && (F===Cos || F===cos)
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)],x_Symbol] :=
+ With[{d=FreeFactors[Cos[c*(a+b*x)],x]},
+ -d/(b*c)*Subst[Int[SubstFor[1,Cos[c*(a+b*x)]/d,u,x],x],x,Cos[c*(a+b*x)]/d] /;
+ FunctionOfQ[Cos[c*(a+b*x)]/d,u,x,True]] /;
+FreeQ[{a,b,c},x] && (F===Sin || F===sin)
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)],x_Symbol] :=
+ With[{d=FreeFactors[Sin[c*(a+b*x)],x]},
+ 1/(b*c)*Subst[Int[SubstFor[1/x,Sin[c*(a+b*x)]/d,u,x],x],x,Sin[c*(a+b*x)]/d] /;
+ FunctionOfQ[Sin[c*(a+b*x)]/d,u,x,True]] /;
+FreeQ[{a,b,c},x] && (F===Cot || F===cot)
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)],x_Symbol] :=
+ With[{d=FreeFactors[Cos[c*(a+b*x)],x]},
+ -1/(b*c)*Subst[Int[SubstFor[1/x,Cos[c*(a+b*x)]/d,u,x],x],x,Cos[c*(a+b*x)]/d] /;
+ FunctionOfQ[Cos[c*(a+b*x)]/d,u,x,True]] /;
+FreeQ[{a,b,c},x] && (F===Tan || F===tan)
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)]^2,x_Symbol] :=
+ With[{d=FreeFactors[Tan[c*(a+b*x)],x]},
+ d/(b*c)*Subst[Int[SubstFor[1,Tan[c*(a+b*x)]/d,u,x],x],x,Tan[c*(a+b*x)]/d] /;
+ FunctionOfQ[Tan[c*(a+b*x)]/d,u,x,True]] /;
+FreeQ[{a,b,c},x] && NonsumQ[u] && (F===Sec || F===sec)
+
+
+Int[u_/cos[c_.*(a_.+b_.*x_)]^2,x_Symbol] :=
+ With[{d=FreeFactors[Tan[c*(a+b*x)],x]},
+ d/(b*c)*Subst[Int[SubstFor[1,Tan[c*(a+b*x)]/d,u,x],x],x,Tan[c*(a+b*x)]/d] /;
+ FunctionOfQ[Tan[c*(a+b*x)]/d,u,x,True]] /;
+FreeQ[{a,b,c},x] && NonsumQ[u]
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)]^2,x_Symbol] :=
+ With[{d=FreeFactors[Cot[c*(a+b*x)],x]},
+ -d/(b*c)*Subst[Int[SubstFor[1,Cot[c*(a+b*x)]/d,u,x],x],x,Cot[c*(a+b*x)]/d] /;
+ FunctionOfQ[Cot[c*(a+b*x)]/d,u,x,True]] /;
+FreeQ[{a,b,c},x] && NonsumQ[u] && (F===Csc || F===csc)
+
+
+Int[u_/sin[c_.*(a_.+b_.*x_)]^2,x_Symbol] :=
+ With[{d=FreeFactors[Cot[c*(a+b*x)],x]},
+ -d/(b*c)*Subst[Int[SubstFor[1,Cot[c*(a+b*x)]/d,u,x],x],x,Cot[c*(a+b*x)]/d] /;
+ FunctionOfQ[Cot[c*(a+b*x)]/d,u,x,True]] /;
+FreeQ[{a,b,c},x] && NonsumQ[u]
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)]^n_.,x_Symbol] :=
+ With[{d=FreeFactors[Tan[c*(a+b*x)],x]},
+ 1/(b*c*d^(n-1))*Subst[Int[SubstFor[1/(x^n*(1+d^2*x^2)),Tan[c*(a+b*x)]/d,u,x],x],x,Tan[c*(a+b*x)]/d] /;
+ FunctionOfQ[Tan[c*(a+b*x)]/d,u,x,True] && TryPureTanSubst[ActivateTrig[u]*Cot[c*(a+b*x)]^n,x]] /;
+FreeQ[{a,b,c},x] && IntegerQ[n] && (F===Cot || F===cot)
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)]^n_.,x_Symbol] :=
+ With[{d=FreeFactors[Cot[c*(a+b*x)],x]},
+ -1/(b*c*d^(n-1))*Subst[Int[SubstFor[1/(x^n*(1+d^2*x^2)),Cot[c*(a+b*x)]/d,u,x],x],x,Cot[c*(a+b*x)]/d] /;
+ FunctionOfQ[Cot[c*(a+b*x)]/d,u,x,True] && TryPureTanSubst[ActivateTrig[u]*Tan[c*(a+b*x)]^n,x]] /;
+FreeQ[{a,b,c},x] && IntegerQ[n] && (F===Tan || F===tan)
+
+
+If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ With[{v=FunctionOfTrig[u,x]},
+ ShowStep["","Int[F[Cot[a+b*x]],x]","-1/b*Subst[Int[F[x]/(1+x^2),x],x,Cot[a+b*x]]",Hold[
+ With[{d=FreeFactors[Cot[v],x]},
+ Dist[-d/Coefficient[v,x,1],Subst[Int[SubstFor[1/(1+d^2*x^2),Cot[v]/d,u,x],x],x,Cot[v]/d],x]]]] /;
+ Not[FalseQ[v]] && FunctionOfQ[NonfreeFactors[Cot[v],x],u,x,True] && TryPureTanSubst[ActivateTrig[u],x]] /;
+SimplifyFlag,
+
+Int[u_,x_Symbol] :=
+ With[{v=FunctionOfTrig[u,x]},
+ With[{d=FreeFactors[Cot[v],x]},
+ Dist[-d/Coefficient[v,x,1],Subst[Int[SubstFor[1/(1+d^2*x^2),Cot[v]/d,u,x],x],x,Cot[v]/d],x]] /;
+ Not[FalseQ[v]] && FunctionOfQ[NonfreeFactors[Cot[v],x],u,x,True] && TryPureTanSubst[ActivateTrig[u],x]]]
+
+
+If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ With[{v=FunctionOfTrig[u,x]},
+ ShowStep["","Int[F[Tan[a+b*x]],x]","1/b*Subst[Int[F[x]/(1+x^2),x],x,Tan[a+b*x]]",Hold[
+ With[{d=FreeFactors[Tan[v],x]},
+ Dist[d/Coefficient[v,x,1],Subst[Int[SubstFor[1/(1+d^2*x^2),Tan[v]/d,u,x],x],x,Tan[v]/d],x]]]] /;
+ Not[FalseQ[v]] && FunctionOfQ[NonfreeFactors[Tan[v],x],u,x,True] && TryPureTanSubst[ActivateTrig[u],x]] /;
+SimplifyFlag,
+
+Int[u_,x_Symbol] :=
+ With[{v=FunctionOfTrig[u,x]},
+ With[{d=FreeFactors[Tan[v],x]},
+ Dist[d/Coefficient[v,x,1],Subst[Int[SubstFor[1/(1+d^2*x^2),Tan[v]/d,u,x],x],x,Tan[v]/d],x]] /;
+ Not[FalseQ[v]] && FunctionOfQ[NonfreeFactors[Tan[v],x],u,x,True] && TryPureTanSubst[ActivateTrig[u],x]]]
+
+
+Int[F_[a_.+b_.*x_]^p_.*G_[c_.+d_.*x_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[ActivateTrig[F[a+b*x]^p*G[c+d*x]^q],x],x] /;
+FreeQ[{a,b,c,d},x] && (F===sin || F===cos) && (G===sin || G===cos) && PositiveIntegerQ[p,q]
+
+
+Int[F_[a_.+b_.*x_]^p_.*G_[c_.+d_.*x_]^q_.*H_[e_.+f_.*x_]^r_.,x_Symbol] :=
+ Int[ExpandTrigReduce[ActivateTrig[F[a+b*x]^p*G[c+d*x]^q*H[e+f*x]^r],x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && (F===sin || F===cos) && (G===sin || G===cos) && (H===sin || H===cos) && PositiveIntegerQ[p,q,r]
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)],x_Symbol] :=
+ With[{d=FreeFactors[Sin[c*(a+b*x)],x]},
+ d/(b*c)*Subst[Int[SubstFor[1,Sin[c*(a+b*x)]/d,u,x],x],x,Sin[c*(a+b*x)]/d] /;
+ FunctionOfQ[Sin[c*(a+b*x)]/d,u,x]] /;
+FreeQ[{a,b,c},x] && (F===Cos || F===cos)
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)],x_Symbol] :=
+ With[{d=FreeFactors[Cos[c*(a+b*x)],x]},
+ -d/(b*c)*Subst[Int[SubstFor[1,Cos[c*(a+b*x)]/d,u,x],x],x,Cos[c*(a+b*x)]/d] /;
+ FunctionOfQ[Cos[c*(a+b*x)]/d,u,x]] /;
+FreeQ[{a,b,c},x] && (F===Sin || F===sin)
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)],x_Symbol] :=
+ With[{d=FreeFactors[Sin[c*(a+b*x)],x]},
+ 1/(b*c)*Subst[Int[SubstFor[1/x,Sin[c*(a+b*x)]/d,u,x],x],x,Sin[c*(a+b*x)]/d] /;
+ FunctionOfQ[Sin[c*(a+b*x)]/d,u,x]] /;
+FreeQ[{a,b,c},x] && (F===Cot || F===cot)
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)],x_Symbol] :=
+ With[{d=FreeFactors[Cos[c*(a+b*x)],x]},
+ -1/(b*c)*Subst[Int[SubstFor[1/x,Cos[c*(a+b*x)]/d,u,x],x],x,Cos[c*(a+b*x)]/d] /;
+ FunctionOfQ[Cos[c*(a+b*x)]/d,u,x]] /;
+FreeQ[{a,b,c},x] && (F===Tan || F===tan)
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)]^n_,x_Symbol] :=
+ With[{d=FreeFactors[Sin[c*(a+b*x)],x]},
+ d/(b*c)*Subst[Int[SubstFor[(1-d^2*x^2)^((n-1)/2),Sin[c*(a+b*x)]/d,u,x],x],x,Sin[c*(a+b*x)]/d] /;
+ FunctionOfQ[Sin[c*(a+b*x)]/d,u,x]] /;
+FreeQ[{a,b,c},x] && OddQ[n] && NonsumQ[u] && (F===Cos || F===cos)
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)]^n_,x_Symbol] :=
+ With[{d=FreeFactors[Sin[c*(a+b*x)],x]},
+ d/(b*c)*Subst[Int[SubstFor[(1-d^2*x^2)^((-n-1)/2),Sin[c*(a+b*x)]/d,u,x],x],x,Sin[c*(a+b*x)]/d] /;
+ FunctionOfQ[Sin[c*(a+b*x)]/d,u,x]] /;
+FreeQ[{a,b,c},x] && OddQ[n] && NonsumQ[u] && (F===Sec || F===sec)
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)]^n_,x_Symbol] :=
+ With[{d=FreeFactors[Cos[c*(a+b*x)],x]},
+ -d/(b*c)*Subst[Int[SubstFor[(1-d^2*x^2)^((n-1)/2),Cos[c*(a+b*x)]/d,u,x],x],x,Cos[c*(a+b*x)]/d] /;
+ FunctionOfQ[Cos[c*(a+b*x)]/d,u,x]] /;
+FreeQ[{a,b,c},x] && OddQ[n] && NonsumQ[u] && (F===Sin || F===sin)
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)]^n_,x_Symbol] :=
+ With[{d=FreeFactors[Cos[c*(a+b*x)],x]},
+ -d/(b*c)*Subst[Int[SubstFor[(1-d^2*x^2)^((-n-1)/2),Cos[c*(a+b*x)]/d,u,x],x],x,Cos[c*(a+b*x)]/d] /;
+ FunctionOfQ[Cos[c*(a+b*x)]/d,u,x]] /;
+FreeQ[{a,b,c},x] && OddQ[n] && NonsumQ[u] && (F===Csc || F===csc)
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)]^n_,x_Symbol] :=
+ With[{d=FreeFactors[Sin[c*(a+b*x)],x]},
+ 1/(b*c*d^(n-1))*Subst[Int[SubstFor[(1-d^2*x^2)^((n-1)/2)/x^n,Sin[c*(a+b*x)]/d,u,x],x],x,Sin[c*(a+b*x)]/d] /;
+ FunctionOfQ[Sin[c*(a+b*x)]/d,u,x]] /;
+FreeQ[{a,b,c},x] && OddQ[n] && NonsumQ[u] && (F===Cot || F===cot)
+
+
+Int[u_*F_[c_.*(a_.+b_.*x_)]^n_,x_Symbol] :=
+ With[{d=FreeFactors[Cos[c*(a+b*x)],x]},
+ -1/(b*c*d^(n-1))*Subst[Int[SubstFor[(1-d^2*x^2)^((n-1)/2)/x^n,Cos[c*(a+b*x)]/d,u,x],x],x,Cos[c*(a+b*x)]/d] /;
+ FunctionOfQ[Cos[c*(a+b*x)]/d,u,x]] /;
+FreeQ[{a,b,c},x] && OddQ[n] && NonsumQ[u] && (F===Tan || F===tan)
+
+
+Int[u_*(v_+d_.*F_[c_.*(a_.+b_.*x_)]^n_.),x_Symbol] :=
+ With[{e=FreeFactors[Sin[c*(a+b*x)],x]},
+ Int[ActivateTrig[u*v],x] + d*Int[ActivateTrig[u]*Cos[c*(a+b*x)]^n,x] /;
+ FunctionOfQ[Sin[c*(a+b*x)]/e,u,x]] /;
+FreeQ[{a,b,c,d},x] && Not[FreeQ[v,x]] && OddQ[n] && NonsumQ[u] && (F===Cos || F===cos)
+
+
+Int[u_*(v_+d_.*F_[c_.*(a_.+b_.*x_)]^n_.),x_Symbol] :=
+ With[{e=FreeFactors[Cos[c*(a+b*x)],x]},
+ Int[ActivateTrig[u*v],x] + d*Int[ActivateTrig[u]*Sin[c*(a+b*x)]^n,x] /;
+ FunctionOfQ[Cos[c*(a+b*x)]/e,u,x]] /;
+FreeQ[{a,b,c,d},x] && Not[FreeQ[v,x]] && OddQ[n] && NonsumQ[u] && (F===Sin || F===sin)
+
+
+If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ With[{v=FunctionOfTrig[u,x]},
+ ShowStep["","Int[F[Sin[a+b*x]]*Cos[a+b*x],x]","Subst[Int[F[x],x],x,Sin[a+b*x]]/b",Hold[
+ With[{d=FreeFactors[Sin[v],x]},
+ Dist[d/Coefficient[v,x,1],Subst[Int[SubstFor[1,Sin[v]/d,u/Cos[v],x],x],x,Sin[v]/d],x]]]] /;
+ Not[FalseQ[v]] && FunctionOfQ[NonfreeFactors[Sin[v],x],u/Cos[v],x]] /;
+SimplifyFlag,
+
+Int[u_,x_Symbol] :=
+ With[{v=FunctionOfTrig[u,x]},
+ With[{d=FreeFactors[Sin[v],x]},
+ Dist[d/Coefficient[v,x,1],Subst[Int[SubstFor[1,Sin[v]/d,u/Cos[v],x],x],x,Sin[v]/d],x]] /;
+ Not[FalseQ[v]] && FunctionOfQ[NonfreeFactors[Sin[v],x],u/Cos[v],x]]]
+
+
+If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ With[{v=FunctionOfTrig[u,x]},
+ ShowStep["","Int[F[Cos[a+b*x]]*Sin[a+b*x],x]","-Subst[Int[F[x],x],x,Cos[a+b*x]]/b",Hold[
+ With[{d=FreeFactors[Cos[v],x]},
+ Dist[-d/Coefficient[v,x,1],Subst[Int[SubstFor[1,Cos[v]/d,u/Sin[v],x],x],x,Cos[v]/d],x]]]] /;
+ Not[FalseQ[v]] && FunctionOfQ[NonfreeFactors[Cos[v],x],u/Sin[v],x]] /;
+SimplifyFlag,
+
+Int[u_,x_Symbol] :=
+ With[{v=FunctionOfTrig[u,x]},
+ With[{d=FreeFactors[Cos[v],x]},
+ Dist[-d/Coefficient[v,x,1],Subst[Int[SubstFor[1,Cos[v]/d,u/Sin[v],x],x],x,Cos[v]/d],x]] /;
+ Not[FalseQ[v]] && FunctionOfQ[NonfreeFactors[Cos[v],x],u/Sin[v],x]]]
+
+
+Int[u_.*(a_.+b_.*cos[d_.+e_.*x_]^2+c_.*sin[d_.+e_.*x_]^2)^p_.,x_Symbol] :=
+ (a+c)^p*Int[ActivateTrig[u],x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[b-c]
+
+
+Int[u_.*(a_.+b_.*tan[d_.+e_.*x_]^2+c_.*sec[d_.+e_.*x_]^2)^p_.,x_Symbol] :=
+ (a+c)^p*Int[ActivateTrig[u],x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[b+c]
+
+
+Int[u_.*(a_.+b_.*cot[d_.+e_.*x_]^2+c_.*csc[d_.+e_.*x_]^2)^p_.,x_Symbol] :=
+ (a+c)^p*Int[ActivateTrig[u],x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[b+c]
+
+
+Int[u_/y_,x_Symbol] :=
+ With[{q=DerivativeDivides[ActivateTrig[y],ActivateTrig[u],x]},
+ q*Log[RemoveContent[ActivateTrig[y],x]] /;
+ Not[FalseQ[q]]] /;
+Not[InertTrigFreeQ[u]]
+
+
+Int[u_/(y_*w_),x_Symbol] :=
+ With[{q=DerivativeDivides[ActivateTrig[y*w],ActivateTrig[u],x]},
+ q*Log[RemoveContent[ActivateTrig[y*w],x]] /;
+ Not[FalseQ[q]]] /;
+Not[InertTrigFreeQ[u]]
+
+
+Int[u_*y_^m_.,x_Symbol] :=
+ With[{q=DerivativeDivides[ActivateTrig[y],ActivateTrig[u],x]},
+ q*ActivateTrig[y^(m+1)]/(m+1) /;
+ Not[FalseQ[q]]] /;
+FreeQ[m,x] && NeQ[m+1] && Not[InertTrigFreeQ[u]]
+
+
+Int[u_*y_^m_.*z_^n_.,x_Symbol] :=
+ With[{q=DerivativeDivides[ActivateTrig[y*z],ActivateTrig[u*z^(n-m)],x]},
+ q*ActivateTrig[y^(m+1)*z^(m+1)]/(m+1) /;
+ Not[FalseQ[q]]] /;
+FreeQ[{m,n},x] && NeQ[m+1] && Not[InertTrigFreeQ[u]]
+
+
+Int[u_.*(a_.*F_[c_.+d_.*x_]^p_)^n_,x_Symbol] :=
+ With[{v=ActivateTrig[F[c+d*x]]},
+ a^IntPart[n]*(v/NonfreeFactors[v,x])^(p*IntPart[n])*(a*v^p)^FracPart[n]/NonfreeFactors[v,x]^(p*FracPart[n])*
+ Int[ActivateTrig[u]*NonfreeFactors[v,x]^(n*p),x]] /;
+FreeQ[{a,c,d,n,p},x] && InertTrigQ[F] && Not[IntegerQ[n]] && IntegerQ[p]
+
+
+Int[u_.*(a_.*(b_.*F_[c_.+d_.*x_])^p_)^n_.,x_Symbol] :=
+ With[{v=ActivateTrig[F[c+d*x]]},
+ a^IntPart[n]*(a*(b*v)^p)^FracPart[n]/(b*v)^(p*FracPart[n])*Int[ActivateTrig[u]*(b*v)^(n*p),x]] /;
+FreeQ[{a,b,c,d,n,p},x] && InertTrigQ[F] && Not[IntegerQ[n]] && Not[IntegerQ[p]]
+
+
+If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ With[{v=FunctionOfTrig[u,x]},
+ ShowStep["","Int[F[Tan[a+b*x]],x]","1/b*Subst[Int[F[x]/(1+x^2),x],x,Tan[a+b*x]]",Hold[
+ With[{d=FreeFactors[Tan[v],x]},
+ Dist[d/Coefficient[v,x,1],Subst[Int[SubstFor[1/(1+d^2*x^2),Tan[v]/d,u,x],x],x,Tan[v]/d],x]]]] /;
+ Not[FalseQ[v]] && FunctionOfQ[NonfreeFactors[Tan[v],x],u,x]] /;
+SimplifyFlag && InverseFunctionFreeQ[u,x],
+
+Int[u_,x_Symbol] :=
+ With[{v=FunctionOfTrig[u,x]},
+ With[{d=FreeFactors[Tan[v],x]},
+ Dist[d/Coefficient[v,x,1],Subst[Int[SubstFor[1/(1+d^2*x^2),Tan[v]/d,u,x],x],x,Tan[v]/d],x]] /;
+ Not[FalseQ[v]] && FunctionOfQ[NonfreeFactors[Tan[v],x],u,x]] /;
+InverseFunctionFreeQ[u,x]]
+
+
+Int[u_.*(a_.*tan[c_.+d_.*x_]^n_.+b_.*sec[c_.+d_.*x_]^n_.)^p_,x_Symbol] :=
+ Int[ActivateTrig[u]*Sec[c+d*x]^(n*p)*(b+a*Sin[c+d*x]^n)^p,x] /;
+FreeQ[{a,b,c,d},x] && IntegersQ[n,p]
+
+
+Int[u_.*(a_.*cot[c_.+d_.*x_]^n_.+b_.*csc[c_.+d_.*x_]^n_.)^p_,x_Symbol] :=
+ Int[ActivateTrig[u]*Csc[c+d*x]^(n*p)*(b+a*Cos[c+d*x]^n)^p,x] /;
+FreeQ[{a,b,c,d},x] && IntegersQ[n,p]
+
+
+Int[u_*(a_*F_[c_.+d_.*x_]^p_.+b_.*F_[c_.+d_.*x_]^q_.)^n_.,x_Symbol] :=
+ Int[ActivateTrig[u*F[c+d*x]^(n*p)*(a+b*F[c+d*x]^(q-p))^n],x] /;
+FreeQ[{a,b,c,d,p,q},x] && InertTrigQ[F] && IntegerQ[n] && PosQ[q-p]
+
+
+Int[u_*(a_*F_[d_.+e_.*x_]^p_.+b_.*F_[d_.+e_.*x_]^q_.+c_.*F_[d_.+e_.*x_]^r_.)^n_.,x_Symbol] :=
+ Int[ActivateTrig[u*F[d+e*x]^(n*p)*(a+b*F[d+e*x]^(q-p)+c*F[d+e*x]^(r-p))^n],x] /;
+FreeQ[{a,b,c,d,e,p,q,r},x] && InertTrigQ[F] && IntegerQ[n] && PosQ[q-p] && PosQ[r-p]
+
+
+Int[u_*(a_+b_.*F_[d_.+e_.*x_]^p_.+c_.*F_[d_.+e_.*x_]^q_.)^n_.,x_Symbol] :=
+ Int[ActivateTrig[u*F[d+e*x]^(n*p)*(b+a*F[d+e*x]^(-p)+c*F[d+e*x]^(q-p))^n],x] /;
+FreeQ[{a,b,c,d,e,p,q},x] && InertTrigQ[F] && IntegerQ[n] && NegQ[p]
+
+
+Int[u_.*(a_.*cos[c_.+d_.*x_]+b_.*sin[c_.+d_.*x_])^n_.,x_Symbol] :=
+ Int[ActivateTrig[u]*(a*E^(-a/b*(c+d*x)))^n,x] /;
+FreeQ[{a,b,c,d,n},x] && EqQ[a^2+b^2]
+
+
+Int[u_,x_Symbol] :=
+ Int[TrigSimplify[u],x] /;
+TrigSimplifyQ[u]
+
+
+Int[u_.*(a_*v_)^p_,x_Symbol] :=
+ With[{uu=ActivateTrig[u],vv=ActivateTrig[v]},
+ a^IntPart[p]*(a*vv)^FracPart[p]/(vv^FracPart[p])*Int[uu*vv^p,x]] /;
+FreeQ[{a,p},x] && Not[IntegerQ[p]] && Not[InertTrigFreeQ[v]]
+
+
+Int[u_.*(v_^m_)^p_,x_Symbol] :=
+ With[{uu=ActivateTrig[u],vv=ActivateTrig[v]},
+ (vv^m)^FracPart[p]/(vv^(m*FracPart[p]))*Int[uu*vv^(m*p),x]] /;
+FreeQ[{m,p},x] && Not[IntegerQ[p]] && Not[InertTrigFreeQ[v]]
+
+
+Int[u_.*(v_^m_.*w_^n_.)^p_,x_Symbol] :=
+ With[{uu=ActivateTrig[u],vv=ActivateTrig[v],ww=ActivateTrig[w]},
+ (vv^m*ww^n)^FracPart[p]/(vv^(m*FracPart[p])*ww^(n*FracPart[p]))*Int[uu*vv^(m*p)*ww^(n*p),x]] /;
+FreeQ[{m,n,p},x] && Not[IntegerQ[p]] && (Not[InertTrigFreeQ[v]] || Not[InertTrigFreeQ[w]])
+
+
+Int[u_,x_Symbol] :=
+ With[{v=ExpandTrig[u,x]},
+ Int[v,x] /;
+ SumQ[v]] /;
+Not[InertTrigFreeQ[u]]
+
+
+If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ With[{w=Block[{ShowSteps=False,$StepCounter=Null},
+ Int[SubstFor[1/(1+FreeFactors[Tan[FunctionOfTrig[u,x]/2],x]^2*x^2),Tan[FunctionOfTrig[u,x]/2]/FreeFactors[Tan[FunctionOfTrig[u,x]/2],x],u,x],x]]},
+ ShowStep["","Int[F[Sin[a+b*x],Cos[a+b*x]],x]","2/b*Subst[Int[1/(1+x^2)*F[2*x/(1+x^2),(1-x^2)/(1+x^2)],x],x,Tan[(a+b*x)/2]]",Hold[
+ Module[{v=FunctionOfTrig[u,x],d},
+ d=FreeFactors[Tan[v/2],x];
+ Dist[2*d/Coefficient[v,x,1],Subst[Int[SubstFor[1/(1+d^2*x^2),Tan[v/2]/d,u,x],x],x,Tan[v/2]/d],x]]]] /;
+ FreeQ[w,Int]] /;
+SimplifyFlag && InverseFunctionFreeQ[u,x] && Not[FalseQ[FunctionOfTrig[u,x]]],
+
+Int[u_,x_Symbol] :=
+ With[{w=Block[{ShowSteps=False,$StepCounter=Null},
+ Int[SubstFor[1/(1+FreeFactors[Tan[FunctionOfTrig[u,x]/2],x]^2*x^2),Tan[FunctionOfTrig[u,x]/2]/FreeFactors[Tan[FunctionOfTrig[u,x]/2],x],u,x],x]]},
+ Module[{v=FunctionOfTrig[u,x],d},
+ d=FreeFactors[Tan[v/2],x];
+ Dist[2*d/Coefficient[v,x,1],Subst[Int[SubstFor[1/(1+d^2*x^2),Tan[v/2]/d,u,x],x],x,Tan[v/2]/d],x]] /;
+ FreeQ[w,Int]] /;
+InverseFunctionFreeQ[u,x] && Not[FalseQ[FunctionOfTrig[u,x]]]]
+
+
+(* If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ With[{v=FunctionOfTrig[u,x]},
+ ShowStep["","Int[F[Sin[a+b*x],Cos[a+b*x]],x]","2/b*Subst[Int[1/(1+x^2)*F[2*x/(1+x^2),(1-x^2)/(1+x^2)],x],x,Tan[(a+b*x)/2]]",Hold[
+ With[{d=FreeFactors[Tan[v/2],x]},
+ Dist[2*d/Coefficient[v,x,1],Subst[Int[SubstFor[1/(1+d^2*x^2),Tan[v/2]/d,u,x],x],x,Tan[v/2]/d],x]]]] /;
+ Not[FalseQ[v]]] /;
+SimplifyFlag && InverseFunctionFreeQ[u,x],
+
+Int[u_,x_Symbol] :=
+ With[{v=FunctionOfTrig[u,x]},
+ With[{d=FreeFactors[Tan[v/2],x]},
+ Dist[2*d/Coefficient[v,x,1],Subst[Int[SubstFor[1/(1+d^2*x^2),Tan[v/2]/d,u,x],x],x,Tan[v/2]/d],x]] /;
+ Not[FalseQ[v]]] /;
+InverseFunctionFreeQ[u,x]] *)
+
+
+Int[u_,x_Symbol] :=
+ With[{v=ActivateTrig[u]},
+ Defer[Int][v,x]] /;
+Not[InertTrigFreeQ[u]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.4.5 (c+d x)^m trig(a+b x)^n trig(a+b x)^p*)
+
+
+Int[(c_.+d_.*x_)^m_.*Sin[a_.+b_.*x_]^n_.*Cos[a_.+b_.*x_],x_Symbol] :=
+ (c+d*x)^m*Sin[a+b*x]^(n+1)/(b*(n+1)) -
+ d*m/(b*(n+1))*Int[(c+d*x)^(m-1)*Sin[a+b*x]^(n+1),x] /;
+FreeQ[{a,b,c,d,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(c_.+d_.*x_)^m_.*Sin[a_.+b_.*x_]*Cos[a_.+b_.*x_]^n_.,x_Symbol] :=
+ -(c+d*x)^m*Cos[a+b*x]^(n+1)/(b*(n+1)) +
+ d*m/(b*(n+1))*Int[(c+d*x)^(m-1)*Cos[a+b*x]^(n+1),x] /;
+FreeQ[{a,b,c,d,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(c_.+d_.*x_)^m_.*Sin[a_.+b_.*x_]^n_.*Cos[a_.+b_.*x_]^p_.,x_Symbol] :=
+ Int[ExpandTrigReduce[(c+d*x)^m,Sin[a+b*x]^n*Cos[a+b*x]^p,x],x] /;
+FreeQ[{a,b,c,d,m},x] && PositiveIntegerQ[n,p]
+
+
+Int[(c_.+d_.*x_)^m_.*Sin[a_.+b_.*x_]^n_.*Tan[a_.+b_.*x_]^p_.,x_Symbol] :=
+ -Int[(c+d*x)^m*Sin[a+b*x]^n*Tan[a+b*x]^(p-2),x] + Int[(c+d*x)^m*Sin[a+b*x]^(n-2)*Tan[a+b*x]^p,x] /;
+FreeQ[{a,b,c,d,m},x] && PositiveIntegerQ[n,p]
+
+
+Int[(c_.+d_.*x_)^m_.*Cos[a_.+b_.*x_]^n_.*Cot[a_.+b_.*x_]^p_.,x_Symbol] :=
+ -Int[(c+d*x)^m*Cos[a+b*x]^n*Cot[a+b*x]^(p-2),x] + Int[(c+d*x)^m*Cos[a+b*x]^(n-2)*Cot[a+b*x]^p,x] /;
+FreeQ[{a,b,c,d,m},x] && PositiveIntegerQ[n,p]
+
+
+Int[(c_.+d_.*x_)^m_.*Sec[a_.+b_.*x_]^n_.*Tan[a_.+b_.*x_]^p_.,x_Symbol] :=
+ (c+d*x)^m*Sec[a+b*x]^n/(b*n) -
+ d*m/(b*n)*Int[(c+d*x)^(m-1)*Sec[a+b*x]^n,x] /;
+FreeQ[{a,b,c,d,n},x] && p===1 && RationalQ[m] && m>0
+
+
+Int[(c_.+d_.*x_)^m_.*Csc[a_.+b_.*x_]^n_.*Cot[a_.+b_.*x_]^p_.,x_Symbol] :=
+ -(c+d*x)^m*Csc[a+b*x]^n/(b*n) +
+ d*m/(b*n)*Int[(c+d*x)^(m-1)*Csc[a+b*x]^n,x] /;
+FreeQ[{a,b,c,d,n},x] && p===1 && RationalQ[m] && m>0
+
+
+Int[(c_.+d_.*x_)^m_.*Sec[a_.+b_.*x_]^2*Tan[a_.+b_.*x_]^n_.,x_Symbol] :=
+ (c+d*x)^m*Tan[a+b*x]^(n+1)/(b*(n+1)) -
+ d*m/(b*(n +1))*Int[(c+d*x)^(m-1)*Tan[a+b*x]^(n+1),x] /;
+FreeQ[{a,b,c,d,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(c_.+d_.*x_)^m_.*Csc[a_.+b_.*x_]^2*Cot[a_.+b_.*x_]^n_.,x_Symbol] :=
+ -(c+d*x)^m*Cot[a+b*x]^(n+1)/(b*(n+1)) +
+ d*m/(b*(n +1))*Int[(c+d*x)^(m-1)*Cot[a+b*x]^(n+1),x] /;
+FreeQ[{a,b,c,d,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(c_.+d_.*x_)^m_.*Sec[a_.+b_.*x_]*Tan[a_.+b_.*x_]^p_,x_Symbol] :=
+ -Int[(c+d*x)^m*Sec[a+b*x]*Tan[a+b*x]^(p-2),x] + Int[(c+d*x)^m*Sec[a+b*x]^3*Tan[a+b*x]^(p-2),x] /;
+FreeQ[{a,b,c,d,m},x] && PositiveIntegerQ[p/2]
+
+
+Int[(c_.+d_.*x_)^m_.*Sec[a_.+b_.*x_]^n_.*Tan[a_.+b_.*x_]^p_,x_Symbol] :=
+ -Int[(c+d*x)^m*Sec[a+b*x]^n*Tan[a+b*x]^(p-2),x] + Int[(c+d*x)^m*Sec[a+b*x]^(n+2)*Tan[a+b*x]^(p-2),x] /;
+FreeQ[{a,b,c,d,m,n},x] && PositiveIntegerQ[p/2]
+
+
+Int[(c_.+d_.*x_)^m_.*Csc[a_.+b_.*x_]*Cot[a_.+b_.*x_]^p_,x_Symbol] :=
+ -Int[(c+d*x)^m*Csc[a+b*x]*Cot[a+b*x]^(p-2),x] + Int[(c+d*x)^m*Csc[a+b*x]^3*Cot[a+b*x]^(p-2),x] /;
+FreeQ[{a,b,c,d,m},x] && PositiveIntegerQ[p/2]
+
+
+Int[(c_.+d_.*x_)^m_.*Csc[a_.+b_.*x_]^n_.*Cot[a_.+b_.*x_]^p_,x_Symbol] :=
+ -Int[(c+d*x)^m*Csc[a+b*x]^n*Cot[a+b*x]^(p-2),x] + Int[(c+d*x)^m*Csc[a+b*x]^(n+2)*Cot[a+b*x]^(p-2),x] /;
+FreeQ[{a,b,c,d,m,n},x] && PositiveIntegerQ[p/2]
+
+
+Int[(c_.+d_.*x_)^m_.*Sec[a_.+b_.*x_]^n_.*Tan[a_.+b_.*x_]^p_.,x_Symbol] :=
+ Module[{u=IntHide[Sec[a+b*x]^n*Tan[a+b*x]^p,x]},
+ Dist[(c+d*x)^m,u,x] - d*m*Int[(c+d*x)^(m-1)*u,x]] /;
+FreeQ[{a,b,c,d,n,p},x] && PositiveIntegerQ[m] && (EvenQ[n] || OddQ[p])
+
+
+Int[(c_.+d_.*x_)^m_.*Csc[a_.+b_.*x_]^n_.*Cot[a_.+b_.*x_]^p_.,x_Symbol] :=
+ Module[{u=IntHide[Csc[a+b*x]^n*Cot[a+b*x]^p,x]},
+ Dist[(c+d*x)^m,u,x] - d*m*Int[(c+d*x)^(m-1)*u,x]] /;
+FreeQ[{a,b,c,d,n,p},x] && PositiveIntegerQ[m] && (EvenQ[n] || OddQ[p])
+
+
+Int[(c_.+d_.*x_)^m_.*Csc[a_.+b_.*x_]^n_.*Sec[a_.+b_.*x_]^n_., x_Symbol] :=
+ 2^n*Int[(c+d*x)^m*Csc[2*a+2*b*x]^n,x] /;
+FreeQ[{a,b,c,d},x] && RationalQ[m] && IntegerQ[n]
+
+
+Int[(c_.+d_.*x_)^m_.*Csc[a_.+b_.*x_]^n_.*Sec[a_.+b_.*x_]^p_., x_Symbol] :=
+ Module[{u=IntHide[Csc[a+b*x]^n*Sec[a+b*x]^p,x]},
+ Dist[(c+d*x)^m,u,x] - d*m*Int[(c+d*x)^(m-1)*u,x]] /;
+FreeQ[{a,b,c,d},x] && IntegersQ[n,p] && RationalQ[m] && m>0 && n!=p
+
+
+Int[u_^m_.*F_[v_]^n_.*G_[w_]^p_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*F[ExpandToSum[v,x]]^n*G[ExpandToSum[v,x]]^p,x] /;
+FreeQ[{m,n,p},x] && TrigQ[F] && TrigQ[G] && EqQ[v-w] && LinearQ[{u,v,w},x] && Not[LinearMatchQ[{u,v,w},x]]
+
+
+Int[(e_.+f_.*x_)^m_.*Cos[c_.+d_.*x_]*(a_+b_.*Sin[c_.+d_.*x_])^n_.,x_Symbol] :=
+ (e+f*x)^m*(a+b*Sin[c+d*x])^(n+1)/(b*d*(n+1)) -
+ f*m/(b*d*(n+1))*Int[(e+f*x)^(m-1)*(a+b*Sin[c+d*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(e_.+f_.*x_)^m_.*Sin[c_.+d_.*x_]*(a_+b_.*Cos[c_.+d_.*x_])^n_.,x_Symbol] :=
+ -(e+f*x)^m*(a+b*Cos[c+d*x])^(n+1)/(b*d*(n+1)) +
+ f*m/(b*d*(n+1))*Int[(e+f*x)^(m-1)*(a+b*Cos[c+d*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(e_.+f_.*x_)^m_.*Sec[c_.+d_.*x_]^2*(a_+b_.*Tan[c_.+d_.*x_])^n_.,x_Symbol] :=
+ (e+f*x)^m*(a+b*Tan[c+d*x])^(n+1)/(b*d*(n+1)) -
+ f*m/(b*d*(n+1))*Int[(e+f*x)^(m-1)*(a+b*Tan[c+d*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(e_.+f_.*x_)^m_.*Csc[c_.+d_.*x_]^2*(a_+b_.*Cot[c_.+d_.*x_])^n_.,x_Symbol] :=
+ -(e+f*x)^m*(a+b*Cot[c+d*x])^(n+1)/(b*d*(n+1)) +
+ f*m/(b*d*(n+1))*Int[(e+f*x)^(m-1)*(a+b*Cot[c+d*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(e_.+f_.*x_)^m_.*Sec[c_.+d_.*x_]*Tan[c_.+d_.*x_]*(a_+b_.*Sec[c_.+d_.*x_])^n_.,x_Symbol] :=
+ (e+f*x)^m*(a+b*Sec[c+d*x])^(n+1)/(b*d*(n+1)) -
+ f*m/(b*d*(n+1))*Int[(e+f*x)^(m-1)*(a+b*Sec[c+d*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(e_.+f_.*x_)^m_.*Csc[c_.+d_.*x_]*Cot[c_.+d_.*x_]*(a_+b_.*Csc[c_.+d_.*x_])^n_.,x_Symbol] :=
+ -(e+f*x)^m*(a+b*Csc[c+d*x])^(n+1)/(b*d*(n+1)) +
+ f*m/(b*d*(n+1))*Int[(e+f*x)^(m-1)*(a+b*Csc[c+d*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(e_.+f_.*x_)^m_.*Sin[a_.+b_.*x_]^p_.*Sin[c_.+d_.*x_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[(e+f*x)^m,Sin[a+b*x]^p*Sin[c+d*x]^q,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[p,q] && IntegerQ[m]
+
+
+Int[(e_.+f_.*x_)^m_.*Cos[a_.+b_.*x_]^p_.*Cos[c_.+d_.*x_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[(e+f*x)^m,Cos[a+b*x]^p*Cos[c+d*x]^q,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[p,q] && IntegerQ[m]
+
+
+Int[(e_.+f_.*x_)^m_.*Sin[a_.+b_.*x_]^p_.*Cos[c_.+d_.*x_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[(e+f*x)^m,Sin[a+b*x]^p*Cos[c+d*x]^q,x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && PositiveIntegerQ[p,q]
+
+
+Int[(e_.+f_.*x_)^m_.*F_[a_.+b_.*x_]^p_.*G_[c_.+d_.*x_]^q_.,x_Symbol] :=
+ Int[ExpandTrigExpand[(e+f*x)^m*G[c+d*x]^q,F,c+d*x,p,b/d,x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && MemberQ[{Sin,Cos},F] && MemberQ[{Sec,Csc},G] &&
+ PositiveIntegerQ[p,q] && EqQ[b*c-a*d] && PositiveIntegerQ[b/d-1]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.4.6 F^(c (a+b x)) trig(d+e x)^n*)
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_],x_Symbol] :=
+ b*c*Log[F]*F^(c*(a+b*x))*Sin[d+e*x]/(e^2+b^2*c^2*Log[F]^2) -
+ e*F^(c*(a+b*x))*Cos[d+e*x]/(e^2+b^2*c^2*Log[F]^2) /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2+b^2*c^2*Log[F]^2]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Cos[d_.+e_.*x_],x_Symbol] :=
+ b*c*Log[F]*F^(c*(a+b*x))*Cos[d+e*x]/(e^2+b^2*c^2*Log[F]^2) +
+ e*F^(c*(a+b*x))*Sin[d+e*x]/(e^2+b^2*c^2*Log[F]^2) /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2+b^2*c^2*Log[F]^2]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^n_,x_Symbol] :=
+ b*c*Log[F]*F^(c*(a+b*x))*Sin[d+e*x]^n/(e^2*n^2+b^2*c^2*Log[F]^2) -
+ e*n*F^(c*(a+b*x))*Cos[d+e*x]*Sin[d+e*x]^(n-1)/(e^2*n^2+b^2*c^2*Log[F]^2) +
+ (n*(n-1)*e^2)/(e^2*n^2+b^2*c^2*Log[F]^2)*Int[F^(c*(a+b*x))*Sin[d+e*x]^(n-2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*n^2+b^2*c^2*Log[F]^2] && RationalQ[n] && n>1
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Cos[d_.+e_.*x_]^m_,x_Symbol] :=
+ b*c*Log[F]*F^(c*(a+b*x))*Cos[d+e*x]^m/(e^2*m^2+b^2*c^2*Log[F]^2) +
+ e*m*F^(c*(a+b*x))*Sin[d+e*x]*Cos[d+e*x]^(m-1)/(e^2*m^2+b^2*c^2*Log[F]^2) +
+ (m*(m-1)*e^2)/(e^2*m^2+b^2*c^2*Log[F]^2)*Int[F^(c*(a+b*x))*Cos[d+e*x]^(m-2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*m^2+b^2*c^2*Log[F]^2] && RationalQ[m] && m>1
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^n_,x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*Sin[d+e*x]^(n+2)/(e^2*(n+1)*(n+2)) +
+ F^(c*(a+b*x))*Cos[d+e*x]*Sin[d+e*x]^(n+1)/(e*(n+1)) /;
+FreeQ[{F,a,b,c,d,e,n},x] && EqQ[e^2*(n+2)^2+b^2*c^2*Log[F]^2] && NeQ[n+1] && NeQ[n+2]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Cos[d_.+e_.*x_]^n_,x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*Cos[d+e*x]^(n+2)/(e^2*(n+1)*(n+2)) -
+ F^(c*(a+b*x))*Sin[d+e*x]*Cos[d+e*x]^(n+1)/(e*(n+1)) /;
+FreeQ[{F,a,b,c,d,e,n},x] && EqQ[e^2*(n+2)^2+b^2*c^2*Log[F]^2] && NeQ[n+1] && NeQ[n+2]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^n_,x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*Sin[d+e*x]^(n+2)/(e^2*(n+1)*(n+2)) +
+ F^(c*(a+b*x))*Cos[d+e*x]*Sin[d+e*x]^(n+1)/(e*(n+1)) +
+ (e^2*(n+2)^2+b^2*c^2*Log[F]^2)/(e^2*(n+1)*(n+2))*Int[F^(c*(a+b*x))*Sin[d+e*x]^(n+2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*(n+2)^2+b^2*c^2*Log[F]^2] && RationalQ[n] && n<-1 && n!=-2
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Cos[d_.+e_.*x_]^n_,x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*Cos[d+e*x]^(n+2)/(e^2*(n+1)*(n+2)) -
+ F^(c*(a+b*x))*Sin[d+e*x]*Cos[d+e*x]^(n+1)/(e*(n+1)) +
+ (e^2*(n+2)^2+b^2*c^2*Log[F]^2)/(e^2*(n+1)*(n+2))*Int[F^(c*(a+b*x))*Cos[d+e*x]^(n+2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*(n+2)^2+b^2*c^2*Log[F]^2] && RationalQ[n] && n<-1 && n!=-2
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^n_,x_Symbol] :=
+ E^(I*n*(d+e*x))*Sin[d+e*x]^n/(-1+E^(2*I*(d+e*x)))^n*Int[F^(c*(a+b*x))*(-1+E^(2*I*(d+e*x)))^n/E^(I*n*(d+e*x)),x] /;
+FreeQ[{F,a,b,c,d,e,n},x] && Not[IntegerQ[n]]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Cos[d_.+e_.*x_]^n_,x_Symbol] :=
+ E^(I*n*(d+e*x))*Cos[d+e*x]^n/(1+E^(2*I*(d+e*x)))^n*Int[F^(c*(a+b*x))*(1+E^(2*I*(d+e*x)))^n/E^(I*n*(d+e*x)),x] /;
+FreeQ[{F,a,b,c,d,e,n},x] && Not[IntegerQ[n]]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Tan[d_.+e_.*x_]^n_.,x_Symbol] :=
+ I^n*Int[ExpandIntegrand[F^(c*(a+b*x))*(1-E^(2*I*(d+e*x)))^n/(1+E^(2*I*(d+e*x)))^n,x],x] /;
+FreeQ[{F,a,b,c,d,e},x] && IntegerQ[n]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Cot[d_.+e_.*x_]^n_.,x_Symbol] :=
+ (-I)^n*Int[ExpandIntegrand[F^(c*(a+b*x))*(1+E^(2*I*(d+e*x)))^n/(1-E^(2*I*(d+e*x)))^n,x],x] /;
+FreeQ[{F,a,b,c,d,e},x] && IntegerQ[n]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sec[d_.+e_.*x_]^n_,x_Symbol] :=
+ b*c*Log[F]*F^(c*(a+b*x))*(Sec[d+e x]^n/(e^2*n^2+b^2*c^2*Log[F]^2)) -
+ e*n*F^(c*(a+b*x))*Sec[d+e x]^(n+1)*(Sin[d+e x]/(e^2*n^2+b^2*c^2*Log[F]^2)) +
+ e^2*n*((n+1)/(e^2*n^2+b^2*c^2*Log[F]^2))*Int[F^(c*(a+b*x))*Sec[d+e x]^(n+2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*n^2+b^2*c^2*Log[F]^2] && RationalQ[n] && n<-1
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Csc[d_.+e_.*x_]^n_,x_Symbol] :=
+ b*c*Log[F]*F^(c*(a+b*x))*(Csc[d+e x]^n/(e^2*n^2+b^2*c^2*Log[F]^2)) +
+ e*n*F^(c*(a+b*x))*Csc[d+e x]^(n+1)*(Cos[d+e x]/(e^2*n^2+b^2*c^2*Log[F]^2)) +
+ e^2*n*((n+1)/(e^2*n^2+b^2*c^2*Log[F]^2))*Int[F^(c*(a+b*x))*Csc[d+e x]^(n+2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*n^2+b^2*c^2*Log[F]^2] && RationalQ[n] && n<-1
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sec[d_.+e_.*x_]^n_,x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*Sec[d+e x]^(n-2)/(e^2*(n-1)*(n-2)) +
+ F^(c*(a+b*x))*Sec[d+e x]^(n-1)*Sin[d+e x]/(e*(n-1)) /;
+FreeQ[{F,a,b,c,d,e,n},x] && EqQ[b^2*c^2*Log[F]^2+e^2*(n-2)^2] && NeQ[n-1] && NeQ[n-2]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Csc[d_.+e_.*x_]^n_,x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*Csc[d+e x]^(n-2)/(e^2*(n-1)*(n-2)) +
+ F^(c*(a+b*x))*Csc[d+e x]^(n-1)*Cos[d+e x]/(e*(n-1)) /;
+FreeQ[{F,a,b,c,d,e,n},x] && EqQ[b^2*c^2*Log[F]^2+e^2*(n-2)^2] && NeQ[n-1] && NeQ[n-2]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sec[d_.+e_.*x_]^n_,x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*Sec[d+e x]^(n-2)/(e^2*(n-1)*(n-2)) +
+ F^(c*(a+b*x))*Sec[d+e x]^(n-1)*Sin[d+e x]/(e*(n-1)) +
+ (e^2*(n-2)^2+b^2*c^2*Log[F]^2)/(e^2*(n-1)*(n-2))*Int[F^(c*(a+b*x))*Sec[d+e x]^(n-2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[b^2*c^2*Log[F]^2+e^2*(n-2)^2] && RationalQ[n] && n>1 && n!=2
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Csc[d_.+e_.*x_]^n_,x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*Csc[d+e x]^(n-2)/(e^2*(n-1)*(n-2)) -
+ F^(c*(a+b*x))*Csc[d+e x]^(n-1)*Cos[d+e x]/(e*(n-1)) +
+ (e^2*(n-2)^2+b^2*c^2*Log[F]^2)/(e^2*(n-1)*(n-2))*Int[F^(c*(a+b*x))*Csc[d+e x]^(n-2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[b^2*c^2*Log[F]^2+e^2*(n-2)^2] && RationalQ[n] && n>1 && n!=2
+
+
+(* Int[F_^(c_.*(a_.+b_.*x_))*Sec[d_.+e_.*x_]^n_.,x_Symbol] :=
+ 2^n*Int[SimplifyIntegrand[F^(c*(a+b*x))*E^(I*n*(d+e*x))/(1+E^(2*I*(d+e*x)))^n,x],x] /;
+FreeQ[{F,a,b,c,d,e},x] && IntegerQ[n] *)
+
+
+(* Int[F_^(c_.*(a_.+b_.*x_))*Csc[d_.+e_.*x_]^n_.,x_Symbol] :=
+ (2*I)^n*Int[SimplifyIntegrand[F^(c*(a+b*x))*E^(-I*n*(d+e*x))/(1-E^(-2*I*(d+e*x)))^n,x],x] /;
+FreeQ[{F,a,b,c,d,e},x] && IntegerQ[n] *)
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sec[d_.+k_.*Pi+e_.*x_]^n_.,x_Symbol] :=
+ 2^n*E^(I*k*n*Pi)*E^(I*n*(d+e*x))*F^(c*(a+b*x))/(I*e*n+b*c*Log[F])*
+ Hypergeometric2F1[n,n/2-I*b*c*Log[F]/(2*e),1+n/2-I*b*c*Log[F]/(2*e),-E^(2*I*k*Pi)*E^(2*I*(d+e*x))] /;
+FreeQ[{F,a,b,c,d,e},x] && IntegerQ[4*k] && IntegerQ[n]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sec[d_.+e_.*x_]^n_.,x_Symbol] :=
+ 2^n*E^(I*n*(d+e*x))*F^(c*(a+b*x))/(I*e*n+b*c*Log[F])*
+ Hypergeometric2F1[n,n/2-I*b*c*Log[F]/(2*e),1+n/2-I*b*c*Log[F]/(2*e),-E^(2*I*(d+e*x))] /;
+FreeQ[{F,a,b,c,d,e},x] && IntegerQ[n]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Csc[d_.+k_.*Pi+e_.*x_]^n_.,x_Symbol] :=
+ (-2*I)^n*E^(I*k*n*Pi)*E^(I*n*(d+e*x))*(F^(c*(a+b*x))/(I*e*n+b*c*Log[F]))*
+ Hypergeometric2F1[n,n/2-I*b*c*Log[F]/(2*e),1+n/2-I*b*c*Log[F]/(2*e),E^(2*I*k*Pi)*E^(2*I*(d+e*x))] /;
+FreeQ[{F,a,b,c,d,e},x] && IntegerQ[4*k] && IntegerQ[n]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Csc[d_.+e_.*x_]^n_.,x_Symbol] :=
+ (-2*I)^n*E^(I*n*(d+e*x))*(F^(c*(a+b*x))/(I*e*n+b*c*Log[F]))*
+ Hypergeometric2F1[n,n/2-I*b*c*Log[F]/(2*e),1+n/2-I*b*c*Log[F]/(2*e),E^(2*I*(d+e*x))] /;
+FreeQ[{F,a,b,c,d,e},x] && IntegerQ[n]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sec[d_.+e_.*x_]^n_.,x_Symbol] :=
+ (1+E^(2*I*(d+e*x)))^n*Sec[d+e*x]^n/E^(I*n*(d+e*x))*Int[SimplifyIntegrand[F^(c*(a+b*x))*E^(I*n*(d+e*x))/(1+E^(2*I*(d+e*x)))^n,x],x] /;
+FreeQ[{F,a,b,c,d,e},x] && Not[IntegerQ[n]]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Csc[d_.+e_.*x_]^n_.,x_Symbol] :=
+ (1-E^(-2*I*(d+e*x)))^n*Csc[d+e*x]^n/E^(-I*n*(d+e*x))*Int[SimplifyIntegrand[F^(c*(a+b*x))*E^(-I*n*(d+e*x))/(1-E^(-2*I*(d+e*x)))^n,x],x] /;
+FreeQ[{F,a,b,c,d,e},x] && Not[IntegerQ[n]]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*(f_+g_.*Sin[d_.+e_.*x_])^n_.,x_Symbol] :=
+ 2^n*f^n*Int[F^(c*(a+b*x))*Cos[d/2+e*x/2-f*Pi/(4*g)]^(2*n),x] /;
+FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f^2-g^2] && NegativeIntegerQ[n]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*(f_+g_.*Cos[d_.+e_.*x_])^n_.,x_Symbol] :=
+ 2^n*f^n*Int[F^(c*(a+b*x))*Cos[d/2+e*x/2]^(2*n),x] /;
+FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f-g] && NegativeIntegerQ[n]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*(f_+g_.*Cos[d_.+e_.*x_])^n_.,x_Symbol] :=
+ 2^n*f^n*Int[F^(c*(a+b*x))*Sin[d/2+e*x/2]^(2*n),x] /;
+FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f+g] && NegativeIntegerQ[n]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Cos[d_.+e_.*x_]^m_.*(f_+g_.*Sin[d_.+e_.*x_])^n_.,x_Symbol] :=
+ g^n*Int[F^(c*(a+b*x))*Tan[f*Pi/(4*g)-d/2-e*x/2]^m,x] /;
+FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f^2-g^2] && IntegersQ[m,n] && m+n==0
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^m_.*(f_+g_.*Cos[d_.+e_.*x_])^n_.,x_Symbol] :=
+ f^n*Int[F^(c*(a+b*x))*Tan[d/2+e*x/2]^m,x] /;
+FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f-g] && IntegersQ[m,n] && m+n==0
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^m_.*(f_+g_.*Cos[d_.+e_.*x_])^n_.,x_Symbol] :=
+ f^n*Int[F^(c*(a+b*x))*Cot[d/2+e*x/2]^m,x] /;
+FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f+g] && IntegersQ[m,n] && m+n==0
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*(h_+i_.*Cos[d_.+e_.*x_])/(f_+g_.*Sin[d_.+e_.*x_]),x_Symbol] :=
+ 2*i*Int[F^(c*(a+b*x))*(Cos[d+e*x]/(f+g*Sin[d+e*x])),x] +
+ Int[F^(c*(a+b*x))*((h-i*Cos[d+e*x])/(f+g*Sin[d+e*x])),x] /;
+FreeQ[{F,a,b,c,d,e,f,g,h,i},x] && EqQ[f^2-g^2] && EqQ[h^2-i^2] && EqQ[g*h-f*i]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*(h_+i_.*Sin[d_.+e_.*x_])/(f_+g_.*Cos[d_.+e_.*x_]),x_Symbol] :=
+ 2*i*Int[F^(c*(a+b*x))*(Sin[d+e*x]/(f+g*Cos[d+e*x])),x] +
+ Int[F^(c*(a+b*x))*((h-i*Sin[d+e*x])/(f+g*Cos[d+e*x])),x] /;
+FreeQ[{F,a,b,c,d,e,f,g,h,i},x] && EqQ[f^2-g^2] && EqQ[h^2-i^2] && EqQ[g*h+f*i]
+
+
+Int[F_^(c_.*u_)*G_[v_]^n_.,x_Symbol] :=
+ Int[F^(c*ExpandToSum[u,x])*G[ExpandToSum[v,x]]^n,x] /;
+FreeQ[{F,c,n},x] && TrigQ[G] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+Int[(f_.*x_)^m_.*F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^n_.,x_Symbol] :=
+ Module[{u=IntHide[F^(c*(a+b*x))*Sin[d+e*x]^n,x]},
+ Dist[(f*x)^m,u,x] - f*m*Int[(f*x)^(m-1)*u,x]] /;
+FreeQ[{F,a,b,c,d,e,f},x] && IGtQ[n,0] && GtQ[m,0]
+
+
+Int[(f_.*x_)^m_.*F_^(c_.*(a_.+b_.*x_))*Cos[d_.+e_.*x_]^n_.,x_Symbol] :=
+ Module[{u=IntHide[F^(c*(a+b*x))*Cos[d+e*x]^n,x]},
+ Dist[(f*x)^m,u,x] - f*m*Int[(f*x)^(m-1)*u,x]] /;
+FreeQ[{F,a,b,c,d,e,f},x] && IGtQ[n,0] && GtQ[m,0]
+
+
+Int[(f_.*x_)^m_*F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_],x_Symbol] :=
+ (f*x)^(m+1)/(f*(m+1))*F^(c*(a+b*x))*Sin[d+e*x] -
+ e/(f*(m+1))*Int[(f*x)^(m+1)*F^(c*(a+b*x))*Cos[d+e*x],x] -
+ b*c*Log[F]/(f*(m+1))*Int[(f*x)^(m+1)*F^(c*(a+b*x))*Sin[d+e*x],x] /;
+FreeQ[{F,a,b,c,d,e,f,m},x] && (LtQ[m,-1] || SumSimplerQ[m,1])
+
+
+Int[(f_.*x_)^m_*F_^(c_.*(a_.+b_.*x_))*Cos[d_.+e_.*x_],x_Symbol] :=
+ (f*x)^(m+1)/(f*(m+1))*F^(c*(a+b*x))*Cos[d+e*x] +
+ e/(f*(m+1))*Int[(f*x)^(m+1)*F^(c*(a+b*x))*Sin[d+e*x],x] -
+ b*c*Log[F]/(f*(m+1))*Int[(f*x)^(m+1)*F^(c*(a+b*x))*Cos[d+e*x],x] /;
+FreeQ[{F,a,b,c,d,e,f,m},x] && (LtQ[m,-1] || SumSimplerQ[m,1])
+
+
+(* Int[(f_.*x_)^m_.*F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^n_.,x_Symbol] :=
+ I^n/2^n*Int[ExpandIntegrand[(f*x)^m*F^(c*(a+b*x)),(E^(-I*(d+e*x))-E^(I*(d+e*x)))^n,x],x] /;
+FreeQ[{F,a,b,c,d,e,f},x] && IGtQ[n,0] *)
+
+
+(* Int[(f_.*x_)^m_.*F_^(c_.*(a_.+b_.*x_))*Cos[d_.+e_.*x_]^n_.,x_Symbol] :=
+ 1/2^n*Int[ExpandIntegrand[(f*x)^m*F^(c*(a+b*x)),(E^(-I*(d+e*x))+E^(I*(d+e*x)))^n,x],x] /;
+FreeQ[{F,a,b,c,d,e,f},x] && IGtQ[n,0] *)
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^m_.*Cos[f_.+g_.*x_]^n_.,x_Symbol] :=
+ Int[ExpandTrigReduce[F^(c*(a+b*x)),Sin[d+e*x]^m*Cos[f+g*x]^n,x],x] /;
+FreeQ[{F,a,b,c,d,e,f,g},x] && PositiveIntegerQ[m,n]
+
+
+Int[x_^p_.*F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^m_.*Cos[f_.+g_.*x_]^n_.,x_Symbol] :=
+ Int[ExpandTrigReduce[x^p*F^(c*(a+b*x)),Sin[d+e*x]^m*Cos[f+g*x]^n,x],x] /;
+FreeQ[{F,a,b,c,d,e,f,g},x] && PositiveIntegerQ[m,n,p]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*G_[d_.+e_.*x_]^m_.*H_[d_.+e_.*x_]^n_.,x_Symbol] :=
+ Int[ExpandTrigToExp[F^(c*(a+b*x)),G[d+e*x]^m*H[d+e*x]^n,x],x] /;
+FreeQ[{F,a,b,c,d,e},x] && PositiveIntegerQ[m,n] && TrigQ[G] && TrigQ[H]
+
+
+Int[F_^u_*Sin[v_]^n_.,x_Symbol] :=
+ Int[ExpandTrigToExp[F^u,Sin[v]^n,x],x] /;
+FreeQ[F,x] && (LinearQ[u,x] || PolyQ[u,x,2]) && (LinearQ[v,x] || PolyQ[v,x,2]) && PositiveIntegerQ[n]
+
+
+Int[F_^u_*Cos[v_]^n_.,x_Symbol] :=
+ Int[ExpandTrigToExp[F^u,Cos[v]^n,x],x] /;
+FreeQ[F,x] && (LinearQ[u,x] || PolyQ[u,x,2]) && (LinearQ[v,x] || PolyQ[v,x,2]) && PositiveIntegerQ[n]
+
+
+Int[F_^u_*Sin[v_]^m_.*Cos[v_]^n_.,x_Symbol] :=
+ Int[ExpandTrigToExp[F^u,Sin[v]^m*Cos[v]^n,x],x] /;
+FreeQ[F,x] && (LinearQ[u,x] || PolyQ[u,x,2]) && (LinearQ[v,x] || PolyQ[v,x,2]) && PositiveIntegerQ[m,n]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.4.7 x^m trig(a+b log(c x^n))^p*)
+
+
+Int[Sin[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x*(p+2)*Sin[a+b*Log[c*x^n]]^(p+2)/(p+1) +
+ x*Cot[a+b*Log[c*x^n]]*Sin[a+b*Log[c*x^n]]^(p+2)/(b*n*(p+1)) /;
+FreeQ[{a,b,c,n,p},x] && EqQ[b^2*n^2*(p+2)^2+1] && NeQ[p+1]
+
+
+Int[Cos[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x*(p+2)*Cos[a+b*Log[c*x^n]]^(p+2)/(p+1) -
+ x*Tan[a+b*Log[c*x^n]]*Cos[a+b*Log[c*x^n]]^(p+2)/(b*n*(p+1)) /;
+FreeQ[{a,b,c,n,p},x] && EqQ[b^2*n^2*(p+2)^2+1] && NeQ[p+1]
+
+
+Int[Sin[a_.+b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(E^(a*b*n*p)/(2*b*n*p)*(c*x^n)^(-1/(n*p))-E^(-a*b*n*p)/(2*b*n*p)*(c*x^n)^(1/(n*p)))^p,x],x] /;
+FreeQ[{a,b,c,n},x] && PositiveIntegerQ[p] && EqQ[b^2*n^2*p^2+1]
+
+
+Int[Cos[a_.+b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(E^(a*b*n*p)/2*(c*x^n)^(-1/(n*p))-E^(-a*b*n*p)/2*(c*x^n)^(1/(n*p)))^p,x],x] /;
+FreeQ[{a,b,c,n},x] && PositiveIntegerQ[p] && EqQ[b^2*n^2*p^2+1]
+
+
+Int[Sin[a_.+b_.*Log[c_.*x_^n_.]],x_Symbol] :=
+ x*Sin[a+b*Log[c*x^n]]/(b^2*n^2+1) -
+ b*n*x*Cos[a+b*Log[c*x^n]]/(b^2*n^2+1) /;
+FreeQ[{a,b,c,n},x] && NeQ[b^2*n^2+1]
+
+
+Int[Cos[a_.+b_.*Log[c_.*x_^n_.]],x_Symbol] :=
+ x*Cos[a+b*Log[c*x^n]]/(1+b^2*n^2) +
+ b*n*x*Sin[a+b*Log[c*x^n]]/(b^2*n^2+1) /;
+FreeQ[{a,b,c,n},x] && NeQ[b^2*n^2+1]
+
+
+Int[Sin[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x*Sin[a+b*Log[c*x^n]]^p/(b^2*n^2*p^2+1) -
+ b*n*p*x*Cos[a+b*Log[c*x^n]]*Sin[a+b*Log[c*x^n]]^(p-1)/(b^2*n^2*p^2+1) +
+ b^2*n^2*p*(p-1)/(b^2*n^2*p^2+1)*Int[Sin[a+b*Log[c*x^n]]^(p-2),x] /;
+FreeQ[{a,b,c,n},x] && RationalQ[p] && p>1 && NeQ[b^2*n^2*p^2+1]
+
+
+Int[Cos[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x*Cos[a+b*Log[c*x^n]]^p/(b^2*n^2*p^2+1) +
+ b*n*p*x*Cos[a+b*Log[c*x^n]]^(p-1)*Sin[a+b*Log[c*x^n]]/(b^2*n^2*p^2+1) +
+ b^2*n^2*p*(p-1)/(b^2*n^2*p^2+1)*Int[Cos[a+b*Log[c*x^n]]^(p-2),x] /;
+FreeQ[{a,b,c,n},x] && RationalQ[p] && p>1 && NeQ[b^2*n^2*p^2+1]
+
+
+Int[Sin[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x*Cot[a+b*Log[c*x^n]]*Sin[a+b*Log[c*x^n]]^(p+2)/(b*n*(p+1)) -
+ x*Sin[a+b*Log[c*x^n]]^(p+2)/(b^2*n^2*(p+1)*(p+2)) +
+ (b^2*n^2*(p+2)^2+1)/(b^2*n^2*(p+1)*(p+2))*Int[Sin[a+b*Log[c*x^n]]^(p+2),x] /;
+FreeQ[{a,b,c,n},x] && RationalQ[p] && p<-1 && p!=-2 && NeQ[b^2*n^2*(p+2)^2+1]
+
+
+Int[Cos[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -x*Tan[a+b*Log[c*x^n]]*Cos[a+b*Log[c*x^n]]^(p+2)/(b*n*(p+1)) -
+ x*Cos[a+b*Log[c*x^n]]^(p+2)/(b^2*n^2*(p+1)*(p+2)) +
+ (b^2*n^2*(p+2)^2+1)/(b^2*n^2*(p+1)*(p+2))*Int[Cos[a+b*Log[c*x^n]]^(p+2),x] /;
+FreeQ[{a,b,c,n},x] && RationalQ[p] && p<-1 && p!=-2 && NeQ[b^2*n^2*(p+2)^2+1]
+
+
+Int[Sin[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x*(I/(E^(I*a)*(c*x^n)^(I*b))-I*E^(I*a)*(c*x^n)^(I*b))^p/((1-I*b*n*p)*(2-2*E^(2*I*a)*(c*x^n)^(2*I*b))^p)*
+ Hypergeometric2F1[-p,(1-I*b*n*p)/(2*I*b*n),1+(1-I*b*n*p)/(2*I*b*n),E^(2*I*a)*(c*x^n)^(2*I*b)] /;
+FreeQ[{a,b,c,n,p},x] && NeQ[b^2*n^2*p^2+1]
+
+
+Int[Cos[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x*(1/(E^(I*a)*(c*x^n)^(I*b))+E^(I*a)*(c*x^n)^(I*b))^p/((1-I*b*n*p)*(2+2*E^(2*I*a)*(c*x^n)^(2*I*b))^p)*
+ Hypergeometric2F1[-p,(1-I*b*n*p)/(2*I*b*n),1+(1-I*b*n*p)/(2*I*b*n),-E^(2*I*a)*(c*x^n)^(2*I*b)] /;
+FreeQ[{a,b,c,n,p},x] && NeQ[b^2*n^2*p^2+1]
+
+
+Int[x_^m_.*Sin[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ (p+2)*x^(m+1)*Sin[a+b*Log[c*x^n]]^(p+2)/((m+1)*(p+1)) +
+ x^(m+1)*Cot[a+b*Log[c*x^n]]*Sin[a+b*Log[c*x^n]]^(p+2)/(b*n*(p+1)) /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[b^2*n^2*(p+2)^2+(m+1)^2] && NeQ[p+1] && NeQ[m+1]
+
+
+Int[x_^m_.*Cos[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ (p+2)*x^(m+1)*Cos[a+b*Log[c*x^n]]^(p+2)/((m+1)*(p+1)) -
+ x^(m+1)*Tan[a+b*Log[c*x^n]]*Cos[a+b*Log[c*x^n]]^(p+2)/(b*n*(p+1)) /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[b^2*n^2*(p+2)^2+(m+1)^2] && NeQ[p+1] && NeQ[m+1]
+
+
+Int[x_^m_.*Sin[a_.+b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ 1/2^p*Int[ExpandIntegrand[x^m*((m+1)/(b*n*p)*E^(a*b*n*p/(m+1))*(c*x^n)^(-(m+1)/(n*p)) -
+ (m+1)/(b*n*p)*E^(-a*b*n*p/(m+1))*(c*x^n)^((m+1)/(n*p)))^p,x],x] /;
+FreeQ[{a,b,c,m,n},x] && PositiveIntegerQ[p] && EqQ[b^2*n^2*p^2+(m+1)^2]
+
+
+Int[x_^m_.*Cos[a_.+b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ 1/2^p*Int[ExpandIntegrand[x^m*(E^(a*b*n*p/(m+1))*(c*x^n)^(-(m+1)/(n*p)) -
+ E^(-a*b*n*p/(m+1))*(c*x^n)^((m+1)/(n*p)))^p,x],x] /;
+FreeQ[{a,b,c,m,n},x] && PositiveIntegerQ[p] && EqQ[b^2*n^2*p^2+(m+1)^2]
+
+
+Int[x_^m_.*Sin[a_.+b_.*Log[c_.*x_^n_.]],x_Symbol] :=
+ (m+1)*x^(m+1)*Sin[a+b*Log[c*x^n]]/(b^2*n^2+(m+1)^2) -
+ b*n*x^(m+1)*Cos[a+b*Log[c*x^n]]/(b^2*n^2+(m+1)^2) /;
+FreeQ[{a,b,c,m,n},x] && NeQ[b^2*n^2+(m+1)^2]
+
+
+Int[x_^m_.*Cos[a_.+b_.*Log[c_.*x_^n_.]],x_Symbol] :=
+ (m+1)*x^(m+1)*Cos[a+b*Log[c*x^n]]/(b^2*n^2+(m+1)^2) +
+ b*n*x^(m+1)*Sin[a+b*Log[c*x^n]]/(b^2*n^2+(m+1)^2) /;
+FreeQ[{a,b,c,m,n},x] && NeQ[b^2*n^2+(m+1)^2]
+
+
+Int[x_^m_.*Sin[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ (m+1)*x^(m+1)*Sin[a+b*Log[c*x^n]]^p/(b^2*n^2*p^2+(m+1)^2) -
+ b*n*p*x^(m+1)*Cos[a+b*Log[c*x^n]]*Sin[a+b*Log[c*x^n]]^(p-1)/(b^2*n^2*p^2+(m+1)^2) +
+ b^2*n^2*p*(p-1)/(b^2*n^2*p^2+(m+1)^2)*Int[x^m*Sin[a+b*Log[c*x^n]]^(p-2),x] /;
+FreeQ[{a,b,c,m,n},x] && RationalQ[p] && p>1 && NeQ[b^2*n^2*p^2+(m+1)^2]
+
+
+Int[x_^m_.*Cos[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ (m+1)*x^(m+1)*Cos[a+b*Log[c*x^n]]^p/(b^2*n^2*p^2+(m+1)^2) +
+ b*n*p*x^(m+1)*Sin[a+b*Log[c*x^n]]*Cos[a+b*Log[c*x^n]]^(p-1)/(b^2*n^2*p^2+(m+1)^2) +
+ b^2*n^2*p*(p-1)/(b^2*n^2*p^2+(m+1)^2)*Int[x^m*Cos[a+b*Log[c*x^n]]^(p-2),x] /;
+FreeQ[{a,b,c,m,n},x] && RationalQ[p] && p>1 && NeQ[b^2*n^2*p^2+(m+1)^2]
+
+
+Int[x_^m_.*Sin[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x^(m+1)*Cot[a+b*Log[c*x^n]]*Sin[a+b*Log[c*x^n]]^(p+2)/(b*n*(p+1)) -
+ (m+1)*x^(m+1)*Sin[a+b*Log[c*x^n]]^(p+2)/(b^2*n^2*(p+1)*(p+2)) +
+ (b^2*n^2*(p+2)^2+(m+1)^2)/(b^2*n^2*(p+1)*(p+2))*Int[x^m*Sin[a+b*Log[c*x^n]]^(p+2),x] /;
+FreeQ[{a,b,c,m,n},x] && RationalQ[p] && p<-1 && p!=-2 && NeQ[b^2*n^2*(p+2)^2+(m+1)^2]
+
+
+Int[x_^m_.*Cos[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -x^(m+1)*Tan[a+b*Log[c*x^n]]*Cos[a+b*Log[c*x^n]]^(p+2)/(b*n*(p+1)) -
+ (m+1)*x^(m+1)*Cos[a+b*Log[c*x^n]]^(p+2)/(b^2*n^2*(p+1)*(p+2)) +
+ (b^2*n^2*(p+2)^2+(m+1)^2)/(b^2*n^2*(p+1)*(p+2))*Int[x^m*Cos[a+b*Log[c*x^n]]^(p+2),x] /;
+FreeQ[{a,b,c,m,n},x] && RationalQ[p] && p<-1 && p!=-2 && NeQ[b^2*n^2*(p+2)^2+(m+1)^2]
+
+
+Int[x_^m_.*Sin[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x^(m+1)*(I*E^(-I*a)*(c*x^n)^(-I*b)-I*E^(I*a)*(c*x^n)^(I*b))^p/((m+1-I*b*n*p)*(2-2*E^(2*I*a)*(c*x^n)^(2*I*b))^p)*
+ Hypergeometric2F1[-p,(m+1-I*b*n*p)/(2*I*b*n),1+(m+1-I*b*n*p)/(2*I*b*n),E^(2*I*a)*(c*x^n)^(2*I*b)] /;
+FreeQ[{a,b,c,m,n,p},x] && NeQ[b^2*n^2*p^2+(m+1)^2]
+
+
+Int[x_^m_.*Cos[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x^(m+1)*(E^(-I*a)*(c*x^n)^(-I*b)+E^(I*a)*(c*x^n)^(I*b))^p/((m+1-I*b*n*p)*(2+2*E^(2*I*a)*(c*x^n)^(2*I*b))^p)*
+ Hypergeometric2F1[-p,(m+1-I*b*n*p)/(2*I*b*n),1+(m+1-I*b*n*p)/(2*I*b*n),-E^(2*I*a)*(c*x^n)^(2*I*b)] /;
+FreeQ[{a,b,c,m,n,p},x] && NeQ[b^2*n^2*p^2+(m+1)^2]
+
+
+Int[Sec[a_.+b_.*Log[c_.*x_^n_.]],x_Symbol] :=
+ 2*E^(a*b*n)*Int[(c*x^n)^(1/n)/(E^(2*a*b*n)+(c*x^n)^(2/n)),x] /;
+FreeQ[{a,b,c,n},x] && EqQ[b^2*n^2+1]
+
+
+Int[Csc[a_.+b_.*Log[c_.*x_^n_.]],x_Symbol] :=
+ 2*b*n*E^(a*b*n)*Int[(c*x^n)^(1/n)/(E^(2*a*b*n)-(c*x^n)^(2/n)),x] /;
+FreeQ[{a,b,c,n},x] && EqQ[b^2*n^2+1]
+
+
+Int[Sec[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ (p-2)*x*Sec[a+b*Log[c*x^n]]^(p-2)/(p-1) +
+ x*Tan[a+b*Log[c*x^n]]*Sec[a+b*Log[c*x^n]]^(p-2)/(b*n*(p-1)) /;
+FreeQ[{a,b,c,n,p},x] && EqQ[b^2*n^2*(p-2)^2+1] && NeQ[p-1]
+
+
+Int[Csc[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ (p-2)*x*Csc[a+b*Log[c*x^n]]^(p-2)/(p-1) -
+ x*Cot[a+b*Log[c*x^n]]*Csc[a+b*Log[c*x^n]]^(p-2)/(b*n*(p-1)) /;
+FreeQ[{a,b,c,n,p},x] && EqQ[b^2*n^2*(p-2)^2+1] && NeQ[p-1]
+
+
+Int[Sec[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x*Tan[a+b*Log[c*x^n]]*Sec[a+b*Log[c*x^n]]^(p-2)/(b*n*(p-1)) -
+ x*Sec[a+b*Log[c*x^n]]^(p-2)/(b^2*n^2*(p-1)*(p-2)) +
+ (b^2*n^2*(p-2)^2+1)/(b^2*n^2*(p-1)*(p-2))*Int[Sec[a+b*Log[c*x^n]]^(p-2),x] /;
+FreeQ[{a,b,c,n},x] && RationalQ[p] && p>1 && p!=2 && NeQ[b^2*n^2*(p-2)^2+1]
+
+
+Int[Csc[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -x*Cot[a+b*Log[c*x^n]]*Csc[a+b*Log[c*x^n]]^(p-2)/(b*n*(p-1)) -
+ x*Csc[a+b*Log[c*x^n]]^(p-2)/(b^2*n^2*(p-1)*(p-2)) +
+ (b^2*n^2*(p-2)^2+1)/(b^2*n^2*(p-1)*(p-2))*Int[Csc[a+b*Log[c*x^n]]^(p-2),x] /;
+FreeQ[{a,b,c,n},x] && RationalQ[p] && p>1 && p!=2 && NeQ[b^2*n^2*(p-2)^2+1]
+
+
+Int[Sec[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -b*n*p*x*Sin[a+b*Log[c*x^n]]*Sec[a+b*Log[c*x^n]]^(p+1)/(b^2*n^2*p^2+1) +
+ x*Sec[a+b*Log[c*x^n]]^p/(b^2*n^2*p^2+1) +
+ b^2*n^2*p*(p+1)/(b^2*n^2*p^2+1)*Int[Sec[a+b*Log[c*x^n]]^(p+2),x] /;
+FreeQ[{a,b,c,n},x] && RationalQ[p] && p<-1 && NeQ[b^2*n^2*p^2+1]
+
+
+Int[Csc[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ b*n*p*x*Cos[a+b*Log[c*x^n]]*Csc[a+b*Log[c*x^n]]^(p+1)/(b^2*n^2*p^2+1) +
+ x*Csc[a+b*Log[c*x^n]]^p/(b^2*n^2*p^2+1) +
+ b^2*n^2*p*(p+1)/(b^2*n^2*p^2+1)*Int[Csc[a+b*Log[c*x^n]]^(p+2),x] /;
+FreeQ[{a,b,c,n},x] && RationalQ[p] && p<-1 && NeQ[b^2*n^2*p^2+1]
+
+
+Int[Sec[a_.+b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ x*(2+2*E^(2*I*a)*(c*x^n)^(2*I*b))^p/(1+I*b*n*p)*
+ (E^(I*a)*(c*x^n)^(I*b)/(1+E^(2*I*a)*(c*x^n)^(2*I*b)))^p*
+ Hypergeometric2F1[p,(1+I*b*n*p)/(2*I*b*n),1+(1+I*b*n*p)/(2*I*b*n),-E^(2*I*a)*(c*x^n)^(2*I*b)] /;
+FreeQ[{a,b,c,n,p},x] && NeQ[b^2*n^2*p^2+1]
+
+
+Int[Csc[a_.+b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ x*(2-2*E^(2*I*a)*(c*x^n)^(2*I*b))^p/(1+I*b*n*p)*
+ (-I*E^(I*a)*(c*x^n)^(I*b)/(1-E^(2*I*a)*(c*x^n)^(2*I*b)))^p*
+ Hypergeometric2F1[p,(1+I*b*n*p)/(2*I*b*n),1+(1+I*b*n*p)/(2*I*b*n),E^(2*I*a)*(c*x^n)^(2*I*b)] /;
+FreeQ[{a,b,c,n,p},x] && NeQ[b^2*n^2*p^2+1]
+
+
+Int[x_^m_.*Sec[a_.+b_.*Log[c_.*x_^n_.]],x_Symbol] :=
+ 2*E^(a*b*n/(m+1))*Int[x^m*(c*x^n)^((m+1)/n)/(E^(2*a*b*n/(m+1))+(c*x^n)^(2*(m+1)/n)),x] /;
+FreeQ[{a,b,c,m,n},x] && EqQ[b^2*n^2+(m+1)^2]
+
+
+Int[x_^m_.*Csc[a_.+b_.*Log[c_.*x_^n_.]],x_Symbol] :=
+ 2*b*n/(m+1)*E^(a*b*n/(m+1))*Int[x^m*(c*x^n)^((m+1)/n)/(E^(2*a*b*n/(m+1))-(c*x^n)^(2*(m+1)/n)),x] /;
+FreeQ[{a,b,c,m,n},x] && EqQ[b^2*n^2+(m+1)^2]
+
+
+Int[x_^m_.*Sec[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ (p-2)*x^(m+1)*Sec[a+b*Log[c*x^n]]^(p-2)/((m+1)*(p-1)) +
+ x^(m+1)*Tan[a+b*Log[c*x^n]]*Sec[a+b*Log[c*x^n]]^(p-2)/(b*n*(p-1)) /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[b^2*n^2*(p-2)^2+(m+1)^2] && NeQ[m+1] && NeQ[p-1]
+
+
+Int[x_^m_.*Csc[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ (p-2)*x^(m+1)*Csc[a+b*Log[c*x^n]]^(p-2)/((m+1)*(p-1)) -
+ x^(m+1)*Cot[a+b*Log[c*x^n]]*Csc[a+b*Log[c*x^n]]^(p-2)/(b*n*(p-1)) /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[b^2*n^2*(p-2)^2+(m+1)^2] && NeQ[m+1] && NeQ[p-1]
+
+
+Int[x_^m_.*Sec[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x^(m+1)*Tan[a+b*Log[c*x^n]]*Sec[a+b*Log[c*x^n]]^(p-2)/(b*n*(p-1)) -
+ (m+1)*x^(m+1)*Sec[a+b*Log[c*x^n]]^(p-2)/(b^2*n^2*(p-1)*(p-2)) +
+ (b^2*n^2*(p-2)^2+(m+1)^2)/(b^2*n^2*(p-1)*(p-2))*Int[x^m*Sec[a+b*Log[c*x^n]]^(p-2),x] /;
+FreeQ[{a,b,c,m,n},x] && RationalQ[p] && p>1 && p!=2 && NeQ[b^2*n^2*(p-2)^2+(m+1)^2]
+
+
+Int[x_^m_.*Csc[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -x^(m+1)*Cot[a+b*Log[c*x^n]]*Csc[a+b*Log[c*x^n]]^(p-2)/(b*n*(p-1)) -
+ (m+1)*x^(m+1)*Csc[a+b*Log[c*x^n]]^(p-2)/(b^2*n^2*(p-1)*(p-2)) +
+ (b^2*n^2*(p-2)^2+(m+1)^2)/(b^2*n^2*(p-1)*(p-2))*Int[x^m*Csc[a+b*Log[c*x^n]]^(p-2),x] /;
+FreeQ[{a,b,c,m,n},x] && RationalQ[p] && p>1 && p!=2 && NeQ[b^2*n^2*(p-2)^2+(m+1)^2]
+
+
+Int[x_^m_.*Sec[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -b*n*p*x^(m+1)*Sin[a+b*Log[c*x^n]]*Sec[a+b*Log[c*x^n]]^(p+1)/(b^2*n^2*p^2+(m+1)^2) +
+ (m+1)*x^(m+1)*Sec[a+b*Log[c*x^n]]^p/(b^2*n^2*p^2+(m+1)^2) +
+ b^2*n^2*p*(p+1)/(b^2*n^2*p^2+(m+1)^2)*Int[x^m*Sec[a+b*Log[c*x^n]]^(p+2),x] /;
+FreeQ[{a,b,c,m,n},x] && RationalQ[p] && p<-1 && NeQ[b^2*n^2*p^2+(m+1)^2]
+
+
+Int[x_^m_.*Csc[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ b*n*p*x^(m+1)*Cos[a+b*Log[c*x^n]]*Csc[a+b*Log[c*x^n]]^(p+1)/(b^2*n^2*p^2+(m+1)^2) +
+ (m+1)*x^(m+1)*Csc[a+b*Log[c*x^n]]^p/(b^2*n^2*p^2+(m+1)^2) +
+ b^2*n^2*p*(p+1)/(b^2*n^2*p^2+(m+1)^2)*Int[x^m*Csc[a+b*Log[c*x^n]]^(p+2),x] /;
+FreeQ[{a,b,c,m,n},x] && RationalQ[p] && p<-1 && NeQ[b^2*n^2*p^2+(m+1)^2]
+
+
+Int[x_^m_.*Sec[a_.+b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ x^(m+1)*(2+2*E^(2*I*a)*(c*x^n)^(2*I*b))^p/(m+1+I*b*n*p)*
+ (E^(I*a)*(c*x^n)^(I*b)/(1+E^(2*I*a)*(c*x^n)^(2*I*b)))^p*
+ Hypergeometric2F1[p,(m+1+I*b*n*p)/(2*I*b*n),1+(m+1+I*b*n*p)/(2*I*b*n),-E^(2*I*a)*(c*x^n)^(2*I*b)] /;
+FreeQ[{a,b,c,m,n,p},x] && NeQ[b^2*n^2*p^2+(m+1)^2]
+
+
+Int[x_^m_.*Csc[a_.+b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ x^(m+1)*(2-2*E^(2*I*a)*(c*x^n)^(2*I*b))^p/(m+1+I*b*n*p)*
+ (-I*E^(I*a)*(c*x^n)^(I*b)/(1-E^(2*I*a)*(c*x^n)^(2*I*b)))^p*
+ Hypergeometric2F1[p,(m+1+I*b*n*p)/(2*I*b*n),1+(m+1+I*b*n*p)/(2*I*b*n),E^(2*I*a)*(c*x^n)^(2*I*b)] /;
+FreeQ[{a,b,c,m,n,p},x] && NeQ[b^2*n^2*p^2+(m+1)^2]
+
+
+Int[Sin[a_.*x_*Log[b_.*x_]^p_.]*Log[b_.*x_]^p_.,x_Symbol] :=
+ -Cos[a*x*Log[b*x]^p]/a -
+ p*Int[Sin[a*x*Log[b*x]^p]*Log[b*x]^(p-1),x] /;
+FreeQ[{a,b},x] && RationalQ[p] && p>0
+
+
+Int[Cos[a_.*x_*Log[b_.*x_]^p_.]*Log[b_.*x_]^p_.,x_Symbol] :=
+ Sin[a*x*Log[b*x]^p]/a -
+ p*Int[Cos[a*x*Log[b*x]^p]*Log[b*x]^(p-1),x] /;
+FreeQ[{a,b},x] && RationalQ[p] && p>0
+
+
+Int[Sin[a_.*x_^n_*Log[b_.*x_]^p_.]*Log[b_.*x_]^p_.,x_Symbol] :=
+ -Cos[a*x^n*Log[b*x]^p]/(a*n*x^(n-1)) -
+ p/n*Int[Sin[a*x^n*Log[b*x]^p]*Log[b*x]^(p-1),x] -
+ (n-1)/(a*n)*Int[Cos[a*x^n*Log[b*x]^p]/x^n,x] /;
+FreeQ[{a,b},x] && RationalQ[n,p] && p>0
+
+
+Int[Cos[a_.*x_^n_*Log[b_.*x_]^p_.]*Log[b_.*x_]^p_.,x_Symbol] :=
+ Sin[a*x^n*Log[b*x]^p]/(a*n*x^(n-1)) -
+ p/n*Int[Cos[a*x^n*Log[b*x]^p]*Log[b*x]^(p-1),x] +
+ (n-1)/(a*n)*Int[Sin[a*x^n*Log[b*x]^p]/x^n,x] /;
+FreeQ[{a,b},x] && RationalQ[n,p] && p>0
+
+
+Int[x_^m_.*Sin[a_.*x_^n_.*Log[b_.*x_]^p_.]*Log[b_.*x_]^p_.,x_Symbol] :=
+ -Cos[a*x^n*Log[b*x]^p]/(a*n) -
+ p/n*Int[x^m*Sin[a*x^n*Log[b*x]^p]*Log[b*x]^(p-1),x] /;
+FreeQ[{a,b,m,n},x] && EqQ[m-n+1] && RationalQ[p] && p>0
+
+
+Int[x_^m_.*Cos[a_.*x_^n_.*Log[b_.*x_]^p_.]*Log[b_.*x_]^p_.,x_Symbol] :=
+ Sin[a*x^n*Log[b*x]^p]/(a*n) -
+ p/n*Int[x^m*Cos[a*x^n*Log[b*x]^p]*Log[b*x]^(p-1),x] /;
+FreeQ[{a,b,m,n},x] && EqQ[m-n+1] && RationalQ[p] && p>0
+
+
+Int[x_^m_.*Sin[a_.*x_^n_.*Log[b_.*x_]^p_.]*Log[b_.*x_]^p_.,x_Symbol] :=
+ -x^(m-n+1)*Cos[a*x^n*Log[b*x]^p]/(a*n) -
+ p/n*Int[x^m*Sin[a*x^n*Log[b*x]^p]*Log[b*x]^(p-1),x] +
+ (m-n+1)/(a*n)*Int[x^(m-n)*Cos[a*x^n*Log[b*x]^p],x] /;
+FreeQ[{a,b,m,n},x] && RationalQ[p] && p>0 && NeQ[m-n+1]
+
+
+Int[x_^m_*Cos[a_.*x_^n_.*Log[b_.*x_]^p_.]*Log[b_.*x_]^p_.,x_Symbol] :=
+ x^(m-n+1)*Sin[a*x^n*Log[b*x]^p]/(a*n) -
+ p/n*Int[x^m*Cos[a*x^n*Log[b*x]^p]*Log[b*x]^(p-1),x] -
+ (m-n+1)/(a*n)*Int[x^(m-n)*Sin[a*x^n*Log[b*x]^p],x] /;
+FreeQ[{a,b,m,n},x] && RationalQ[p] && p>0 && NeQ[m-n+1]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*4.4.8 Active trig functions*)
+
+
+Int[Sin[a_./(c_.+d_.*x_)]^n_.,x_Symbol] :=
+ -1/d*Subst[Int[Sin[a*x]^n/x^2,x],x,1/(c+d*x)] /;
+FreeQ[{a,c,d},x] && PositiveIntegerQ[n]
+
+
+Int[Cos[a_./(c_.+d_.*x_)]^n_.,x_Symbol] :=
+ -1/d*Subst[Int[Cos[a*x]^n/x^2,x],x,1/(c+d*x)] /;
+FreeQ[{a,c,d},x] && PositiveIntegerQ[n]
+
+
+Int[Sin[e_.*(a_.+b_.*x_)/(c_.+d_.*x_)]^n_.,x_Symbol] :=
+ -1/d*Subst[Int[Sin[b*e/d-e*(b*c-a*d)*x/d]^n/x^2,x],x,1/(c+d*x)] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[n] && NeQ[b*c-a*d]
+
+
+Int[Cos[e_.*(a_.+b_.*x_)/(c_.+d_.*x_)]^n_.,x_Symbol] :=
+ -1/d*Subst[Int[Cos[b*e/d-e*(b*c-a*d)*x/d]^n/x^2,x],x,1/(c+d*x)] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[n] && NeQ[b*c-a*d]
+
+
+Int[Sin[u_]^n_.,x_Symbol] :=
+ Module[{lst=QuotientOfLinearsParts[u,x]},
+ Int[Sin[(lst[[1]]+lst[[2]]*x)/(lst[[3]]+lst[[4]]*x)]^n,x]] /;
+PositiveIntegerQ[n] && QuotientOfLinearsQ[u,x]
+
+
+Int[Cos[u_]^n_.,x_Symbol] :=
+ Module[{lst=QuotientOfLinearsParts[u,x]},
+ Int[Cos[(lst[[1]]+lst[[2]]*x)/(lst[[3]]+lst[[4]]*x)]^n,x]] /;
+PositiveIntegerQ[n] && QuotientOfLinearsQ[u,x]
+
+
+Int[u_.*Sin[v_]^p_.*Sin[w_]^q_.,x_Symbol] :=
+ Int[u*Sin[v]^(p+q),x] /;
+EqQ[v-w]
+
+
+Int[u_.*Cos[v_]^p_.*Cos[w_]^q_.,x_Symbol] :=
+ Int[u*Cos[v]^(p+q),x] /;
+EqQ[v-w]
+
+
+Int[Sin[v_]^p_.*Sin[w_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[Sin[v]^p*Sin[w]^q,x],x] /;
+(PolynomialQ[v,x] && PolynomialQ[w,x] || BinomialQ[{v,w},x] && IndependentQ[Cancel[v/w],x]) && PositiveIntegerQ[p,q]
+
+
+Int[Cos[v_]^p_.*Cos[w_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[Cos[v]^p*Cos[w]^q,x],x] /;
+(PolynomialQ[v,x] && PolynomialQ[w,x] || BinomialQ[{v,w},x] && IndependentQ[Cancel[v/w],x]) && PositiveIntegerQ[p,q]
+
+
+Int[x_^m_.*Sin[v_]^p_.*Sin[w_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[x^m,Sin[v]^p*Sin[w]^q,x],x] /;
+PositiveIntegerQ[m,p,q] && (PolynomialQ[v,x] && PolynomialQ[w,x] || BinomialQ[{v,w},x] && IndependentQ[Cancel[v/w],x])
+
+
+Int[x_^m_.*Cos[v_]^p_.*Cos[w_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[x^m,Cos[v]^p*Cos[w]^q,x],x] /;
+PositiveIntegerQ[m,p,q] && (PolynomialQ[v,x] && PolynomialQ[w,x] || BinomialQ[{v,w},x] && IndependentQ[Cancel[v/w],x])
+
+
+Int[u_.*Sin[v_]^p_.*Cos[w_]^p_.,x_Symbol] :=
+ 1/2^p*Int[u*Sin[2*v]^p,x] /;
+EqQ[v-w] && IntegerQ[p]
+
+
+Int[Sin[v_]^p_.*Cos[w_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[Sin[v]^p*Cos[w]^q,x],x] /;
+PositiveIntegerQ[p,q] && (PolynomialQ[v,x] && PolynomialQ[w,x] || BinomialQ[{v,w},x] && IndependentQ[Cancel[v/w],x])
+
+
+Int[x_^m_.*Sin[v_]^p_.*Cos[w_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[x^m,Sin[v]^p*Cos[w]^q,x],x] /;
+PositiveIntegerQ[m,p,q] && (PolynomialQ[v,x] && PolynomialQ[w,x] || BinomialQ[{v,w},x] && IndependentQ[Cancel[v/w],x])
+
+
+Int[Sin[v_]*Tan[w_]^n_.,x_Symbol] :=
+ -Int[Cos[v]*Tan[w]^(n-1),x] + Cos[v-w]*Int[Sec[w]*Tan[w]^(n-1),x] /;
+RationalQ[n] && n>0 && FreeQ[v-w,x] && NeQ[v-w]
+
+
+Int[Cos[v_]*Cot[w_]^n_.,x_Symbol] :=
+ -Int[Sin[v]*Cot[w]^(n-1),x] + Cos[v-w]*Int[Csc[w]*Cot[w]^(n-1),x] /;
+RationalQ[n] && n>0 && FreeQ[v-w,x] && NeQ[v-w]
+
+
+Int[Sin[v_]*Cot[w_]^n_.,x_Symbol] :=
+ Int[Cos[v]*Cot[w]^(n-1),x] + Sin[v-w]*Int[Csc[w]*Cot[w]^(n-1),x] /;
+RationalQ[n] && n>0 && FreeQ[v-w,x] && NeQ[v-w]
+
+
+Int[Cos[v_]*Tan[w_]^n_.,x_Symbol] :=
+ Int[Sin[v]*Tan[w]^(n-1),x] - Sin[v-w]*Int[Sec[w]*Tan[w]^(n-1),x] /;
+RationalQ[n] && n>0 && FreeQ[v-w,x] && NeQ[v-w]
+
+
+Int[Sin[v_]*Sec[w_]^n_.,x_Symbol] :=
+ Cos[v-w]*Int[Tan[w]*Sec[w]^(n-1),x] + Sin[v-w]*Int[Sec[w]^(n-1),x] /;
+RationalQ[n] && n>0 && FreeQ[v-w,x] && NeQ[v-w]
+
+
+Int[Cos[v_]*Csc[w_]^n_.,x_Symbol] :=
+ Cos[v-w]*Int[Cot[w]*Csc[w]^(n-1),x] - Sin[v-w]*Int[Csc[w]^(n-1),x] /;
+RationalQ[n] && n>0 && FreeQ[v-w,x] && NeQ[v-w]
+
+
+Int[Sin[v_]*Csc[w_]^n_.,x_Symbol] :=
+ Sin[v-w]*Int[Cot[w]*Csc[w]^(n-1),x] + Cos[v-w]*Int[Csc[w]^(n-1),x] /;
+RationalQ[n] && n>0 && FreeQ[v-w,x] && NeQ[v-w]
+
+
+Int[Cos[v_]*Sec[w_]^n_.,x_Symbol] :=
+ -Sin[v-w]*Int[Tan[w]*Sec[w]^(n-1),x] + Cos[v-w]*Int[Sec[w]^(n-1),x] /;
+RationalQ[n] && n>0 && FreeQ[v-w,x] && NeQ[v-w]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_+b_.*Sin[c_.+d_.*x_]*Cos[c_.+d_.*x_])^n_.,x_Symbol] :=
+ Int[(e+f*x)^m*(a+b*Sin[2*c+2*d*x]/2)^n,x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x]
+
+
+Int[x_^m_.*(a_+b_.*Sin[c_.+d_.*x_]^2)^n_,x_Symbol] :=
+ 1/2^n*Int[x^m*(2*a+b-b*Cos[2*c+2*d*x])^n,x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a+b] && IntegersQ[m,n] && m>0 && n<0 && (n==-1 || m==1 && n==-2)
+
+
+Int[x_^m_.*(a_+b_.*Cos[c_.+d_.*x_]^2)^n_,x_Symbol] :=
+ 1/2^n*Int[x^m*(2*a+b+b*Cos[2*c+2*d*x])^n,x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a+b] && IntegersQ[m,n] && m>0 && n<0 && (n==-1 || m==1 && n==-2)
+
+
+Int[(e_.+f_.*x_)^m_.*Sin[a_.+b_.*(c_+d_.*x_)^n_]^p_.,x_Symbol] :=
+ 1/d^(m+1)*Subst[Int[(d*e-c*f+f*x)^m*Sin[a+b*x^n]^p,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[m] && RationalQ[p]
+
+
+Int[(e_.+f_.*x_)^m_.*Cos[a_.+b_.*(c_+d_.*x_)^n_]^p_.,x_Symbol] :=
+ 1/d^(m+1)*Subst[Int[(d*e-c*f+f*x)^m*Cos[a+b*x^n]^p,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[m] && RationalQ[p]
+
+
+Int[(f_.+g_.*x_)^m_./(a_.+b_.*Cos[d_.+e_.*x_]^2+c_.*Sin[d_.+e_.*x_]^2),x_Symbol] :=
+ 2*Int[(f+g*x)^m/(2*a+b+c+(b-c)*Cos[2*d+2*e*x]),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && PositiveIntegerQ[m] && NeQ[a+b] && NeQ[a+c]
+
+
+Int[(f_.+g_.*x_)^m_.*Sec[d_.+e_.*x_]^2/(b_+c_.*Tan[d_.+e_.*x_]^2),x_Symbol] :=
+ 2*Int[(f+g*x)^m/(b+c+(b-c)*Cos[2*d+2*e*x]),x] /;
+FreeQ[{b,c,d,e,f,g},x] && PositiveIntegerQ[m]
+
+
+Int[(f_.+g_.*x_)^m_.*Sec[d_.+e_.*x_]^2/(b_.+a_.*Sec[d_.+e_.*x_]^2+c_.*Tan[d_.+e_.*x_]^2),x_Symbol] :=
+ 2*Int[(f+g*x)^m/(2*a+b+c+(b-c)*Cos[2*d+2*e*x]),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && PositiveIntegerQ[m] && NeQ[a+b] && NeQ[a+c]
+
+
+Int[(f_.+g_.*x_)^m_.*Csc[d_.+e_.*x_]^2/(c_+b_.*Cot[d_.+e_.*x_]^2),x_Symbol] :=
+ 2*Int[(f+g*x)^m/(b+c+(b-c)*Cos[2*d+2*e*x]),x] /;
+FreeQ[{b,c,d,e,f,g},x] && PositiveIntegerQ[m]
+
+
+Int[(f_.+g_.*x_)^m_.*Csc[d_.+e_.*x_]^2/(c_.+b_.*Cot[d_.+e_.*x_]^2+a_.*Csc[d_.+e_.*x_]^2),x_Symbol] :=
+ 2*Int[(f+g*x)^m/(2*a+b+c+(b-c)*Cos[2*d+2*e*x]),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && PositiveIntegerQ[m] && NeQ[a+b] && NeQ[a+c]
+
+
+Int[(e_.+f_.*x_)^m_.*Cos[c_.+d_.*x_]/(a_+b_.*Sin[c_.+d_.*x_]),x_Symbol] :=
+ -I*(e+f*x)^(m+1)/(b*f*(m+1)) +
+ Int[(e+f*x)^m*E^(I*(c+d*x))/(a-Rt[a^2-b^2,2]-I*b*E^(I*(c+d*x))),x] +
+ Int[(e+f*x)^m*E^(I*(c+d*x))/(a+Rt[a^2-b^2,2]-I*b*E^(I*(c+d*x))),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && PosQ[a^2-b^2]
+
+
+Int[(e_.+f_.*x_)^m_.*Sin[c_.+d_.*x_]/(a_+b_.*Cos[c_.+d_.*x_]),x_Symbol] :=
+ I*(e+f*x)^(m+1)/(b*f*(m+1)) -
+ I*Int[(e+f*x)^m*E^(I*(c+d*x))/(a-Rt[a^2-b^2,2]+b*E^(I*(c+d*x))),x] -
+ I*Int[(e+f*x)^m*E^(I*(c+d*x))/(a+Rt[a^2-b^2,2]+b*E^(I*(c+d*x))),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && PosQ[a^2-b^2]
+
+
+Int[(e_.+f_.*x_)^m_.*Cos[c_.+d_.*x_]/(a_+b_.*Sin[c_.+d_.*x_]),x_Symbol] :=
+ -I*(e+f*x)^(m+1)/(b*f*(m+1)) +
+ I*Int[(e+f*x)^m*E^(I*(c+d*x))/(I*a-Rt[-a^2+b^2,2]+b*E^(I*(c+d*x))),x] +
+ I*Int[(e+f*x)^m*E^(I*(c+d*x))/(I*a+Rt[-a^2+b^2,2]+b*E^(I*(c+d*x))),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NegQ[a^2-b^2]
+
+
+Int[(e_.+f_.*x_)^m_.*Sin[c_.+d_.*x_]/(a_+b_.*Cos[c_.+d_.*x_]),x_Symbol] :=
+ I*(e+f*x)^(m+1)/(b*f*(m+1)) +
+ Int[(e+f*x)^m*E^(I*(c+d*x))/(I*a-Rt[-a^2+b^2,2]+I*b*E^(I*(c+d*x))),x] +
+ Int[(e+f*x)^m*E^(I*(c+d*x))/(I*a+Rt[-a^2+b^2,2]+I*b*E^(I*(c+d*x))),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NegQ[a^2-b^2]
+
+
+Int[(e_.+f_.*x_)^m_.*Cos[c_.+d_.*x_]^n_/(a_+b_.*Sin[c_.+d_.*x_]),x_Symbol] :=
+ 1/a*Int[(e+f*x)^m*Cos[c+d*x]^(n-2),x] -
+ 1/b*Int[(e+f*x)^m*Cos[c+d*x]^(n-2)*Sin[c+d*x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && IntegerQ[n] && n>1 && EqQ[a^2-b^2]
+
+
+Int[(e_.+f_.*x_)^m_.*Sin[c_.+d_.*x_]^n_/(a_+b_.*Cos[c_.+d_.*x_]),x_Symbol] :=
+ 1/a*Int[(e+f*x)^m*Sin[c+d*x]^(n-2),x] -
+ 1/b*Int[(e+f*x)^m*Sin[c+d*x]^(n-2)*Cos[c+d*x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && IntegerQ[n] && n>1 && EqQ[a^2-b^2]
+
+
+Int[(e_.+f_.*x_)^m_.*Cos[c_.+d_.*x_]^n_/(a_+b_.*Sin[c_.+d_.*x_]),x_Symbol] :=
+ a/b^2*Int[(e+f*x)^m*Cos[c+d*x]^(n-2),x] -
+ 1/b*Int[(e+f*x)^m*Cos[c+d*x]^(n-2)*Sin[c+d*x],x] -
+ (a^2-b^2)/b^2*Int[(e+f*x)^m*Cos[c+d*x]^(n-2)/(a+b*Sin[c+d*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && IntegerQ[n] && n>1 && NeQ[a^2-b^2]
+
+
+Int[(e_.+f_.*x_)^m_.*Sin[c_.+d_.*x_]^n_/(a_+b_.*Cos[c_.+d_.*x_]),x_Symbol] :=
+ a/b^2*Int[(e+f*x)^m*Sin[c+d*x]^(n-2),x] -
+ 1/b*Int[(e+f*x)^m*Sin[c+d*x]^(n-2)*Cos[c+d*x],x] -
+ (a^2-b^2)/b^2*Int[(e+f*x)^m*Sin[c+d*x]^(n-2)/(a+b*Cos[c+d*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && IntegerQ[n] && n>1 && NeQ[a^2-b^2]
+
+
+Int[(e_.+f_.*x_)*(A_+B_.*Sin[c_.+d_.*x_])/(a_+b_.*Sin[c_.+d_.*x_])^2,x_Symbol] :=
+ -B*(e+f*x)*Cos[c+d*x]/(a*d*(a+b*Sin[c+d*x])) +
+ B*f/(a*d)*Int[Cos[c+d*x]/(a+b*Sin[c+d*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && EqQ[a*A-b*B]
+
+
+Int[(e_.+f_.*x_)*(A_+B_.*Cos[c_.+d_.*x_])/(a_+b_.*Cos[c_.+d_.*x_])^2,x_Symbol] :=
+ B*(e+f*x)*Sin[c+d*x]/(a*d*(a+b*Cos[c+d*x])) -
+ B*f/(a*d)*Int[Sin[c+d*x]/(a+b*Cos[c+d*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && EqQ[a*A-b*B]
+
+
+Int[(g_.+h_.*x_)^p_.*(a_+b_.*Sin[e_.+f_.*x_])^m_.*(c_+d_.*Sin[e_.+f_.*x_])^n_.,x_Symbol] :=
+ a^m*c^m*Int[(g+h*x)^p*Cos[e+f*x]^(2*m)*(c+d*Sin[e+f*x])^(n-m),x] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && EqQ[b*c+a*d,0] && EqQ[a^2-b^2,0] && IntegerQ[p] && IntegerQ[m] && IGeQ[n-m,0]
+
+
+Int[(g_.+h_.*x_)^p_.*(a_+b_.*Cos[e_.+f_.*x_])^m_.*(c_+d_.*Cos[e_.+f_.*x_])^n_.,x_Symbol] :=
+ a^m*c^m*Int[(g+h*x)^p*Sin[e+f*x]^(2*m)*(c+d*Cos[e+f*x])^(n-m),x] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && EqQ[b*c+a*d,0] && EqQ[a^2-b^2,0] && IntegerQ[p] && IntegerQ[m] && IGeQ[n-m,0]
+
+
+Int[(g_.+h_.*x_)^p_.*(a_+b_.*Sin[e_.+f_.*x_])^m_*(c_+d_.*Sin[e_.+f_.*x_])^n_,x_Symbol] :=
+ a^IntPart[m]*c^IntPart[m]*(a+b*Sin[e+f*x])^FracPart[m]*(c+d*Sin[e+f*x])^FracPart[m]/Cos[e+f*x]^(2*FracPart[m])*
+ Int[(g+h*x)^p*Cos[e+f*x]^(2*m)*(c+d*Sin[e+f*x])^(n-m),x] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && EqQ[b*c+a*d,0] && EqQ[a^2-b^2,0] && IntegerQ[p] && IntegerQ[2*m] && IGeQ[n-m,0]
+
+
+Int[(g_.+h_.*x_)^p_.*(a_+b_.*Cos[e_.+f_.*x_])^m_*(c_+d_.*Cos[e_.+f_.*x_])^n_,x_Symbol] :=
+ a^IntPart[m]*c^IntPart[m]*(a+b*Cos[e+f*x])^FracPart[m]*(c+d*Cos[e+f*x])^FracPart[m]/Sin[e+f*x]^(2*FracPart[m])*
+ Int[(g+h*x)^p*Sin[e+f*x]^(2*m)*(c+d*Cos[e+f*x])^(n-m),x] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && EqQ[b*c+a*d,0] && EqQ[a^2-b^2,0] && IntegerQ[p] && IntegerQ[2*m] && IGeQ[n-m,0]
+
+
+Int[Sec[v_]^m_.*(a_+b_.*Tan[v_])^n_., x_Symbol] :=
+ Int[(a*Cos[v]+b*Sin[v])^n,x] /;
+FreeQ[{a,b},x] && IntegersQ[m,n] && m+n==0 && OddQ[m]
+
+
+Int[Csc[v_]^m_.*(a_+b_.*Cot[v_])^n_., x_Symbol] :=
+ Int[(b*Cos[v]+a*Sin[v])^n,x] /;
+FreeQ[{a,b},x] && IntegersQ[m,n] && m+n==0 && OddQ[m]
+
+
+Int[u_.*Sin[a_.+b_.*x_]^m_.*Sin[c_.+d_.*x_]^n_.,x_Symbol] :=
+ Int[ExpandTrigReduce[u,Sin[a+b*x]^m*Sin[c+d*x]^n,x],x] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[m,n]
+
+
+Int[u_.*Cos[a_.+b_.*x_]^m_.*Cos[c_.+d_.*x_]^n_.,x_Symbol] :=
+ Int[ExpandTrigReduce[u,Cos[a+b*x]^m*Cos[c+d*x]^n,x],x] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[m,n]
+
+
+Int[Sec[a_.+b_.*x_]*Sec[c_+d_.*x_],x_Symbol] :=
+ -Csc[(b*c-a*d)/d]*Int[Tan[a+b*x],x] + Csc[(b*c-a*d)/b]*Int[Tan[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && EqQ[b^2-d^2] && NeQ[b*c-a*d]
+
+
+Int[Csc[a_.+b_.*x_]*Csc[c_+d_.*x_],x_Symbol] :=
+ Csc[(b*c-a*d)/b]*Int[Cot[a+b*x],x] - Csc[(b*c-a*d)/d]*Int[Cot[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && EqQ[b^2-d^2] && NeQ[b*c-a*d]
+
+
+Int[Tan[a_.+b_.*x_]*Tan[c_+d_.*x_],x_Symbol] :=
+ -b*x/d + b/d*Cos[(b*c-a*d)/d]*Int[Sec[a+b*x]*Sec[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && EqQ[b^2-d^2] && NeQ[b*c-a*d]
+
+
+Int[Cot[a_.+b_.*x_]*Cot[c_+d_.*x_],x_Symbol] :=
+ -b*x/d + Cos[(b*c-a*d)/d]*Int[Csc[a+b*x]*Csc[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && EqQ[b^2-d^2] && NeQ[b*c-a*d]
+
+
+Int[u_.*(a_.*Cos[v_]+b_.*Sin[v_])^n_.,x_Symbol] :=
+ Int[u*(a*E^(-a/b*v))^n,x] /;
+FreeQ[{a,b,n},x] && EqQ[a^2+b^2]
+
+
+
+`)
+
+func resourcesRubi44MiscellaneousTrigFunctionsMBytes() ([]byte, error) {
+ return _resourcesRubi44MiscellaneousTrigFunctionsM, nil
+}
+
+func resourcesRubi44MiscellaneousTrigFunctionsM() (*asset, error) {
+ bytes, err := resourcesRubi44MiscellaneousTrigFunctionsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/4.4 Miscellaneous trig functions.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi5InverseTrigFunctionsM = []byte(`(* ::Package:: *)
+
+(* ::Section:: *)
+(*Inverse Trig Function Rules*)
+
+
+(* ::Subsection::Closed:: *)
+(*5.1.1 (a+b arcsin(c x))^n*)
+
+
+Int[(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ x*(a+b*ArcSin[c*x])^n -
+ b*c*n*Int[x*(a+b*ArcSin[c*x])^(n-1)/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c},x] && RationalQ[n] && n>0
+
+
+Int[(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ x*(a+b*ArcCos[c*x])^n +
+ b*c*n*Int[x*(a+b*ArcCos[c*x])^(n-1)/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c},x] && RationalQ[n] && n>0
+
+
+Int[(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ Sqrt[1-c^2*x^2]*(a+b*ArcSin[c*x])^(n+1)/(b*c*(n+1)) +
+ c/(b*(n+1))*Int[x*(a+b*ArcSin[c*x])^(n+1)/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c},x] && RationalQ[n] && n<-1
+
+
+Int[(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ -Sqrt[1-c^2*x^2]*(a+b*ArcCos[c*x])^(n+1)/(b*c*(n+1)) -
+ c/(b*(n+1))*Int[x*(a+b*ArcCos[c*x])^(n+1)/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c},x] && RationalQ[n] && n<-1
+
+
+Int[(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ 1/(b*c)*Subst[Int[x^n*Cos[a/b-x/b],x],x,a+b*ArcSin[c*x]] /;
+FreeQ[{a,b,c,n},x]
+
+
+Int[(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ 1/(b*c)*Subst[Int[x^n*Sin[a/b-x/b],x],x,a+b*ArcCos[c*x]] /;
+FreeQ[{a,b,c,n},x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*5.1.2 (d x)^m (a+b arcsin(c x))^n*)
+
+
+Int[(a_.+b_.*ArcSin[c_.*x_])^n_./x_,x_Symbol] :=
+ Subst[Int[(a+b*x)^n/Tan[x],x],x,ArcSin[c*x]] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*ArcCos[c_.*x_])^n_./x_,x_Symbol] :=
+ -Subst[Int[(a+b*x)^n/Cot[x],x],x,ArcCos[c*x]] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[n]
+
+
+Int[(d_.*x_)^m_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (d*x)^(m+1)*(a+b*ArcSin[c*x])^n/(d*(m+1)) -
+ b*c*n/(d*(m+1))*Int[(d*x)^(m+1)*(a+b*ArcSin[c*x])^(n-1)/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c,d,m},x] && PositiveIntegerQ[n] && NeQ[m+1]
+
+
+Int[(d_.*x_)^m_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ (d*x)^(m+1)*(a+b*ArcCos[c*x])^n/(d*(m+1)) +
+ b*c*n/(d*(m+1))*Int[(d*x)^(m+1)*(a+b*ArcCos[c*x])^(n-1)/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c,d,m},x] && PositiveIntegerQ[n] && NeQ[m+1]
+
+
+Int[x_^m_.*(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ x^(m+1)*(a+b*ArcSin[c*x])^n/(m+1) -
+ b*c*n/(m+1)*Int[x^(m+1)*(a+b*ArcSin[c*x])^(n-1)/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[m] && RationalQ[n] && n>0
+
+
+Int[x_^m_.*(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ x^(m+1)*(a+b*ArcCos[c*x])^n/(m+1) +
+ b*c*n/(m+1)*Int[x^(m+1)*(a+b*ArcCos[c*x])^(n-1)/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[m] && RationalQ[n] && n>0
+
+
+Int[x_^m_.*(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ x^m*Sqrt[1-c^2*x^2]*(a+b*ArcSin[c*x])^(n+1)/(b*c*(n+1)) -
+ 1/(b*c^(m+1)*(n+1))*Subst[Int[ExpandTrigReduce[(a+b*x)^(n+1),Sin[x]^(m-1)*(m-(m+1)*Sin[x]^2),x],x],x,ArcSin[c*x]] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[m] && RationalQ[n] && -2<=n<-1
+
+
+Int[x_^m_.*(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ -x^m*Sqrt[1-c^2*x^2]*(a+b*ArcCos[c*x])^(n+1)/(b*c*(n+1)) -
+ 1/(b*c^(m+1)*(n+1))*Subst[Int[ExpandTrigReduce[(a+b*x)^(n+1),Cos[x]^(m-1)*(m-(m+1)*Cos[x]^2),x],x],x,ArcCos[c*x]] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[m] && RationalQ[n] && -2<=n<-1
+
+
+Int[x_^m_.*(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ x^m*Sqrt[1-c^2*x^2]*(a+b*ArcSin[c*x])^(n+1)/(b*c*(n+1)) -
+ m/(b*c*(n+1))*Int[x^(m-1)*(a+b*ArcSin[c*x])^(n+1)/Sqrt[1-c^2*x^2],x] +
+ c*(m+1)/(b*(n+1))*Int[x^(m+1)*(a+b*ArcSin[c*x])^(n+1)/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[m] && RationalQ[n] && n<-2
+
+
+Int[x_^m_.*(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ -x^m*Sqrt[1-c^2*x^2]*(a+b*ArcCos[c*x])^(n+1)/(b*c*(n+1)) +
+ m/(b*c*(n+1))*Int[x^(m-1)*(a+b*ArcCos[c*x])^(n+1)/Sqrt[1-c^2*x^2],x] -
+ c*(m+1)/(b*(n+1))*Int[x^(m+1)*(a+b*ArcCos[c*x])^(n+1)/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[m] && RationalQ[n] && n<-2
+
+
+Int[x_^m_.*(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ 1/c^(m+1)*Subst[Int[(a+b*x)^n*Sin[x]^m*Cos[x],x],x,ArcSin[c*x]] /;
+FreeQ[{a,b,c,n},x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ -1/c^(m+1)*Subst[Int[(a+b*x)^n*Cos[x]^m*Sin[x],x],x,ArcCos[c*x]] /;
+FreeQ[{a,b,c,n},x] && PositiveIntegerQ[m]
+
+
+Int[(d_.*x_)^m_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d*x)^m*(a+b*ArcSin[c*x])^n,x] /;
+FreeQ[{a,b,c,d,m,n},x]
+
+
+Int[(d_.*x_)^m_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d*x)^m*(a+b*ArcCos[c*x])^n,x] /;
+FreeQ[{a,b,c,d,m,n},x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*5.1.3 (d+e x^2)^p (a+b arcsin(c x))^n*)
+
+
+(* Int[(a_.+b_.*ArcSin[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ 1/(c*Sqrt[d])*Subst[Int[(a+b*x)^n,x],x,ArcSin[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && PositiveQ[d] *)
+
+
+(* Int[(a_.+b_.*ArcCos[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ -1/(c*Sqrt[d])*Subst[Int[(a+b*x)^n,x],x,ArcCos[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && PositiveQ[d] *)
+
+
+Int[1/(Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcSin[c_.*x_])),x_Symbol] :=
+ Log[a+b*ArcSin[c*x]]/(b*c*Sqrt[d]) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveQ[d]
+
+
+Int[1/(Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcCos[c_.*x_])),x_Symbol] :=
+ -Log[a+b*ArcCos[c*x]]/(b*c*Sqrt[d]) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcSin[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ (a+b*ArcSin[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && PositiveQ[d] && NeQ[n+1]
+
+
+Int[(a_.+b_.*ArcCos[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ -(a+b*ArcCos[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && PositiveQ[d] && NeQ[n+1]
+
+
+Int[(a_.+b_.*ArcSin[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ Sqrt[1-c^2*x^2]/Sqrt[d+e*x^2]*Int[(a+b*ArcSin[c*x])^n/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && Not[PositiveQ[d]]
+
+
+Int[(a_.+b_.*ArcCos[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ Sqrt[1-c^2*x^2]/Sqrt[d+e*x^2]*Int[(a+b*ArcCos[c*x])^n/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && Not[PositiveQ[d]]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[a+b*ArcSin[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[p]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[a+b*ArcCos[c*x],u,x] + b*c*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[p]
+
+
+(* Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ x*(d+e*x^2)^p*(a+b*ArcSin[c*x])^n/(2*p+1) +
+ 2*d*p/(2*p+1)*Int[(d+e*x^2)^(p-1)*(a+b*ArcSin[c*x])^n,x] -
+ b*c*n*d^p/(2*p+1)*Int[x*(1-c^2*x^2)^(p-1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p>0 && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+(* Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ x*(d+e*x^2)^p*(a+b*ArcCos[c*x])^n/(2*p+1) +
+ 2*d*p/(2*p+1)*Int[(d+e*x^2)^(p-1)*(a+b*ArcCos[c*x])^n,x] +
+ b*c*n*d^p/(2*p+1)*Int[x*(1-c^2*x^2)^(p-1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p>0 && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ x*Sqrt[d+e*x^2]*(a+b*ArcSin[c*x])^n/2 -
+ b*c*n*Sqrt[d+e*x^2]/(2*Sqrt[1-c^2*x^2])*Int[x*(a+b*ArcSin[c*x])^(n-1),x] +
+ Sqrt[d+e*x^2]/(2*Sqrt[1-c^2*x^2])*Int[(a+b*ArcSin[c*x])^n/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0
+
+
+Int[Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ x*Sqrt[d+e*x^2]*(a+b*ArcCos[c*x])^n/2 +
+ b*c*n*Sqrt[d+e*x^2]/(2*Sqrt[1-c^2*x^2])*Int[x*(a+b*ArcCos[c*x])^(n-1),x] +
+ Sqrt[d+e*x^2]/(2*Sqrt[1-c^2*x^2])*Int[(a+b*ArcCos[c*x])^n/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ x*(d+e*x^2)^p*(a+b*ArcSin[c*x])^n/(2*p+1) +
+ 2*d*p/(2*p+1)*Int[(d+e*x^2)^(p-1)*(a+b*ArcSin[c*x])^n,x] -
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/((2*p+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[x*(1-c^2*x^2)^(p-1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p>0
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ x*(d+e*x^2)^p*(a+b*ArcCos[c*x])^n/(2*p+1) +
+ 2*d*p/(2*p+1)*Int[(d+e*x^2)^(p-1)*(a+b*ArcCos[c*x])^n,x] +
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/((2*p+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[x*(1-c^2*x^2)^(p-1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p>0
+
+
+Int[(a_.+b_.*ArcSin[c_.*x_])^n_./(d_+e_.*x_^2)^(3/2),x_Symbol] :=
+ x*(a+b*ArcSin[c*x])^n/(d*Sqrt[d+e*x^2]) -
+ b*c*n/Sqrt[d]*Int[x*(a+b*ArcSin[c*x])^(n-1)/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcCos[c_.*x_])^n_./(d_+e_.*x_^2)^(3/2),x_Symbol] :=
+ x*(a+b*ArcCos[c*x])^n/(d*Sqrt[d+e*x^2]) +
+ b*c*n/Sqrt[d]*Int[x*(a+b*ArcCos[c*x])^(n-1)/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcSin[c_.*x_])^n_./(d_+e_.*x_^2)^(3/2),x_Symbol] :=
+ x*(a+b*ArcSin[c*x])^n/(d*Sqrt[d+e*x^2]) -
+ b*c*n*Sqrt[1-c^2*x^2]/(d*Sqrt[d+e*x^2])*Int[x*(a+b*ArcSin[c*x])^(n-1)/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0
+
+
+Int[(a_.+b_.*ArcCos[c_.*x_])^n_./(d_+e_.*x_^2)^(3/2),x_Symbol] :=
+ x*(a+b*ArcCos[c*x])^n/(d*Sqrt[d+e*x^2]) +
+ b*c*n*Sqrt[1-c^2*x^2]/(d*Sqrt[d+e*x^2])*Int[x*(a+b*ArcCos[c*x])^(n-1)/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0
+
+
+(* Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ -x*(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n/(2*d*(p+1)) +
+ (2*p+3)/(2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n,x] +
+ b*c*n*d^p/(2*(p+1))*Int[x*(1-c^2*x^2)^(p+1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p<-1 && p!=-3/2 && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+(* Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ -x*(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n/(2*d*(p+1)) +
+ (2*p+3)/(2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n,x] -
+ b*c*n*d^p/(2*(p+1))*Int[x*(1-c^2*x^2)^(p+1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p<-1 && p!=-3/2 && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ -x*(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n/(2*d*(p+1)) +
+ (2*p+3)/(2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n,x] +
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(2*(p+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[x*(1-c^2*x^2)^(p+1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p<-1 && p!=-3/2
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ -x*(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n/(2*d*(p+1)) +
+ (2*p+3)/(2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n,x] -
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(2*(p+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[x*(1-c^2*x^2)^(p+1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p<-1 && p!=-3/2
+
+
+Int[(a_.+b_.*ArcSin[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/(c*d)*Subst[Int[(a+b*x)^n*Sec[x],x],x,ArcSin[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*ArcCos[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ -1/(c*d)*Subst[Int[(a+b*x)^n*Csc[x],x],x,ArcCos[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n]
+
+
+(* Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ d^p*(1-c^2*x^2)^(p+1/2)*(a+b*ArcSin[c*x])^(n+1)/(b*c*(n+1)) +
+ c*d^p*(2*p+1)/(b*(n+1))*Int[x*(1-c^2*x^2)^(p-1/2)*(a+b*ArcSin[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+(* Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ -d^p*(1-c^2*x^2)^(p+1/2)*(a+b*ArcCos[c*x])^(n+1)/(b*c*(n+1)) -
+ c*d^p*(2*p+1)/(b*(n+1))*Int[x*(1-c^2*x^2)^(p-1/2)*(a+b*ArcCos[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ Sqrt[1-c^2*x^2]*(d+e*x^2)^p*(a+b*ArcSin[c*x])^(n+1)/(b*c*(n+1)) +
+ c*(2*p+1)*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(b*(n+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[x*(1-c^2*x^2)^(p-1/2)*(a+b*ArcSin[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ -Sqrt[1-c^2*x^2]*(d+e*x^2)^p*(a+b*ArcCos[c*x])^(n+1)/(b*c*(n+1)) -
+ c*(2*p+1)*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(b*(n+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[x*(1-c^2*x^2)^(p-1/2)*(a+b*ArcCos[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ d^p/c*Subst[Int[(a+b*x)^n*Cos[x]^(2*p+1),x],x,ArcSin[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && PositiveIntegerQ[2*p] && (IntegerQ[p] || PositiveQ[d])
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ -d^p/c*Subst[Int[(a+b*x)^n*Sin[x]^(2*p+1),x],x,ArcCos[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && PositiveIntegerQ[2*p] && (IntegerQ[p] || PositiveQ[d])
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ d^(p-1/2)*Sqrt[d+e*x^2]/Sqrt[1-c^2*x^2]*Int[(1-c^2*x^2)^p*(a+b*ArcSin[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && PositiveIntegerQ[2*p] && Not[IntegerQ[p] || PositiveQ[d]]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ d^(p-1/2)*Sqrt[d+e*x^2]/Sqrt[1-c^2*x^2]*Int[(1-c^2*x^2)^p*(a+b*ArcCos[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && PositiveIntegerQ[2*p] && Not[IntegerQ[p] || PositiveQ[d]]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[a+b*ArcSin[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[c^2*d+e] && (PositiveIntegerQ[p] || NegativeIntegerQ[p+1/2])
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[a+b*ArcCos[c*x],u,x] + b*c*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[c^2*d+e] && (PositiveIntegerQ[p] || NegativeIntegerQ[p+1/2])
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcSin[c*x])^n,(d+e*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,n},x] && NeQ[c^2*d+e] && IntegerQ[p] && (p>0 || PositiveIntegerQ[n])
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcCos[c*x])^n,(d+e*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,n},x] && NeQ[c^2*d+e] && IntegerQ[p] && (p>0 || PositiveIntegerQ[n])
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x^2)^p*(a+b*ArcSin[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x^2)^p*(a+b*ArcCos[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x]
+
+
+Int[(d_+e_.*x_)^p_*(f_+g_.*x_)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x)^FracPart[p]*(f+g*x)^FracPart[p]/(d*f+e*g*x^2)^FracPart[p]*
+ Int[(d*f+e*g*x^2)^p*(a+b*ArcSin[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && EqQ[e*f+d*g] && EqQ[c^2*f^2-g^2] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_)^p_*(f_+g_.*x_)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x)^FracPart[p]*(f+g*x)^FracPart[p]/(d*f+e*g*x^2)^FracPart[p]*
+ Int[(d*f+e*g*x^2)^p*(a+b*ArcCos[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && EqQ[e*f+d*g] && EqQ[c^2*f^2-g^2] && Not[IntegerQ[p]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*5.1.4 (f x)^m (d+e x^2)^p (a+b arcsin(c x))^n*)
+
+
+Int[x_*(a_.+b_.*ArcSin[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ -1/e*Subst[Int[(a+b*x)^n*Tan[x],x],x,ArcSin[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n]
+
+
+Int[x_*(a_.+b_.*ArcCos[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/e*Subst[Int[(a+b*x)^n*Cot[x],x],x,ArcCos[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n]
+
+
+(* Int[x_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n/(2*e*(p+1)) +
+ b*n*d^p/(2*c*(p+1))*Int[(1-c^2*x^2)^(p+1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && NeQ[p+1] && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+(* Int[x_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n/(2*e*(p+1)) -
+ b*n*d^p/(2*c*(p+1))*Int[(1-c^2*x^2)^(p+1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && NeQ[p+1] && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[x_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n/(2*e*(p+1)) +
+ b*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(2*c*(p+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(1-c^2*x^2)^(p+1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && NeQ[p+1]
+
+
+Int[x_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n/(2*e*(p+1)) -
+ b*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(2*c*(p+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(1-c^2*x^2)^(p+1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && NeQ[p+1]
+
+
+Int[(a_.+b_.*ArcSin[c_.*x_])^n_./(x_*(d_+e_.*x_^2)),x_Symbol] :=
+ 1/d*Subst[Int[(a+b*x)^n/(Cos[x]*Sin[x]),x],x,ArcSin[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*ArcCos[c_.*x_])^n_./(x_*(d_+e_.*x_^2)),x_Symbol] :=
+ -1/d*Subst[Int[(a+b*x)^n/(Cos[x]*Sin[x]),x],x,ArcCos[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n]
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n/(d*f*(m+1)) -
+ b*c*n*d^p/(f*(m+1))*Int[(f*x)^(m+1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[m+2*p+3] && NeQ[m+1] &&
+ (IntegerQ[p] || PositiveQ[d]) *)
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n/(d*f*(m+1)) +
+ b*c*n*d^p/(f*(m+1))*Int[(f*x)^(m+1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[m+2*p+3] && NeQ[m+1] &&
+ (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n/(d*f*(m+1)) -
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(f*(m+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[m+2*p+3] && NeQ[m+1]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n/(d*f*(m+1)) +
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(f*(m+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[m+2*p+3] && NeQ[m+1]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])/x_,x_Symbol] :=
+ (d+e*x^2)^p*(a+b*ArcSin[c*x])/(2*p) -
+ b*c*d^p/(2*p)*Int[(1-c^2*x^2)^(p-1/2),x] +
+ d*Int[(d+e*x^2)^(p-1)*(a+b*ArcSin[c*x])/x,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[p]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])/x_,x_Symbol] :=
+ (d+e*x^2)^p*(a+b*ArcCos[c*x])/(2*p) +
+ b*c*d^p/(2*p)*Int[(1-c^2*x^2)^(p-1/2),x] +
+ d*Int[(d+e*x^2)^(p-1)*(a+b*ArcCos[c*x])/x,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[p]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_]),x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcSin[c*x])/(f*(m+1)) -
+ b*c*d^p/(f*(m+1))*Int[(f*x)^(m+1)*(1-c^2*x^2)^(p-1/2),x] -
+ 2*e*p/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^(p-1)*(a+b*ArcSin[c*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && PositiveIntegerQ[p] && NegativeIntegerQ[(m+1)/2]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_]),x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcCos[c*x])/(f*(m+1)) +
+ b*c*d^p/(f*(m+1))*Int[(f*x)^(m+1)*(1-c^2*x^2)^(p-1/2),x] -
+ 2*e*p/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^(p-1)*(a+b*ArcCos[c*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && PositiveIntegerQ[p] && NegativeIntegerQ[(m+1)/2]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(f*x)^m*(d+e*x^2)^p,x]},
+ Dist[a+b*ArcSin[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && PositiveIntegerQ[p]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(f*x)^m*(d+e*x^2)^p,x]},
+ Dist[a+b*ArcCos[c*x],u,x] + b*c*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && PositiveIntegerQ[p]
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[x^m*(1-c^2*x^2)^p,x]},
+ Dist[d^p*(a+b*ArcSin[c*x]),u,x] - b*c*d^p*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && IntegerQ[p-1/2] && (PositiveIntegerQ[(m+1)/2] || NegativeIntegerQ[(m+2*p+3)/2]) &&
+ p!=-1/2 && PositiveQ[d]
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[x^m*(1-c^2*x^2)^p,x]},
+ Dist[d^p*(a+b*ArcCos[c*x]),u,x] + b*c*d^p*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && IntegerQ[p-1/2] && (PositiveIntegerQ[(m+1)/2] || NegativeIntegerQ[(m+2*p+3)/2]) &&
+ p!=-1/2 && PositiveQ[d]
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[x^m*(1-c^2*x^2)^p,x]},
+ (a+b*ArcSin[c*x])*Int[x^m*(d+e*x^2)^p,x] -
+ b*c*d^(p-1/2)*Sqrt[d+e*x^2]/Sqrt[1-c^2*x^2]*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[p+1/2] && (PositiveIntegerQ[(m+1)/2] || NegativeIntegerQ[(m+2*p+3)/2])
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[x^m*(1-c^2*x^2)^p,x]},
+ (a+b*ArcCos[c*x])*Int[x^m*(d+e*x^2)^p,x] +
+ b*c*d^(p-1/2)*Sqrt[d+e*x^2]/Sqrt[1-c^2*x^2]*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[p+1/2] && (PositiveIntegerQ[(m+1)/2] || NegativeIntegerQ[(m+2*p+3)/2])
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcSin[c*x])^n/(f*(m+1)) -
+ 2*e*p/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^(p-1)*(a+b*ArcSin[c*x])^n,x] -
+ b*c*n*d^p/(f*(m+1))*Int[(f*x)^(m+1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[m,n,p] && n>0 && p>0 && m<-1 && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcCos[c*x])^n/(f*(m+1)) -
+ 2*e*p/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^(p-1)*(a+b*ArcCos[c*x])^n,x] +
+ b*c*n*d^p/(f*(m+1))*Int[(f*x)^(m+1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[m,n,p] && n>0 && p>0 && m<-1 && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(f_.*x_)^m_*Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*Sqrt[d+e*x^2]*(a+b*ArcSin[c*x])^n/(f*(m+1)) -
+ b*c*n*Sqrt[d+e*x^2]/(f*(m+1)*Sqrt[1-c^2*x^2])*Int[(f*x)^(m+1)*(a+b*ArcSin[c*x])^(n-1),x] +
+ c^2*Sqrt[d+e*x^2]/(f^2*(m+1)*Sqrt[1-c^2*x^2])*Int[(f*x)^(m+2)*(a+b*ArcSin[c*x])^n/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m<-1
+
+
+Int[(f_.*x_)^m_*Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*Sqrt[d+e*x^2]*(a+b*ArcCos[c*x])^n/(f*(m+1)) +
+ b*c*n*Sqrt[d+e*x^2]/(f*(m+1)*Sqrt[1-c^2*x^2])*Int[(f*x)^(m+1)*(a+b*ArcCos[c*x])^(n-1),x] +
+ c^2*Sqrt[d+e*x^2]/(f^2*(m+1)*Sqrt[1-c^2*x^2])*Int[(f*x)^(m+2)*(a+b*ArcCos[c*x])^n/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m<-1
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcSin[c*x])^n/(f*(m+1)) -
+ 2*e*p/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^(p-1)*(a+b*ArcSin[c*x])^n,x] -
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(f*(m+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[m,n,p] && n>0 && p>0 && m<-1
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcCos[c*x])^n/(f*(m+1)) -
+ 2*e*p/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^(p-1)*(a+b*ArcCos[c*x])^n,x] +
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(f*(m+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[m,n,p] && n>0 && p>0 && m<-1
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcSin[c*x])^n/(f*(m+2*p+1)) +
+ 2*d*p/(m+2*p+1)*Int[(f*x)^m*(d+e*x^2)^(p-1)*(a+b*ArcSin[c*x])^n,x] -
+ b*c*n*d^p/(f*(m+2*p+1))*Int[(f*x)^(m+1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p>0 && Not[RationalQ[m] && m<-1] &&
+ (IntegerQ[p] || PositiveQ[d]) && (RationalQ[m] || EqQ[n-1]) *)
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcCos[c*x])^n/(f*(m+2*p+1)) +
+ 2*d*p/(m+2*p+1)*Int[(f*x)^m*(d+e*x^2)^(p-1)*(a+b*ArcCos[c*x])^n,x] +
+ b*c*n*d^p/(f*(m+2*p+1))*Int[(f*x)^(m+1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p>0 && Not[RationalQ[m] && m<-1] &&
+ (IntegerQ[p] || PositiveQ[d]) && (RationalQ[m] || EqQ[n-1]) *)
+
+
+Int[(f_.*x_)^m_*Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*Sqrt[d+e*x^2]*(a+b*ArcSin[c*x])^n/(f*(m+2)) -
+ b*c*n*Sqrt[d+e*x^2]/(f*(m+2)*Sqrt[1-c^2*x^2])*Int[(f*x)^(m+1)*(a+b*ArcSin[c*x])^(n-1),x] +
+ Sqrt[d+e*x^2]/((m+2)*Sqrt[1-c^2*x^2])*Int[(f*x)^m*(a+b*ArcSin[c*x])^n/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && Not[RationalQ[m] && m<-1] && (RationalQ[m] || EqQ[n-1])
+
+
+Int[(f_.*x_)^m_*Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*Sqrt[d+e*x^2]*(a+b*ArcCos[c*x])^n/(f*(m+2)) +
+ b*c*n*Sqrt[d+e*x^2]/(f*(m+2)*Sqrt[1-c^2*x^2])*Int[(f*x)^(m+1)*(a+b*ArcCos[c*x])^(n-1),x] +
+ Sqrt[d+e*x^2]/((m+2)*Sqrt[1-c^2*x^2])*Int[(f*x)^m*(a+b*ArcCos[c*x])^n/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && Not[RationalQ[m] && m<-1] && (RationalQ[m] || EqQ[n-1])
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcSin[c*x])^n/(f*(m+2*p+1)) +
+ 2*d*p/(m+2*p+1)*Int[(f*x)^m*(d+e*x^2)^(p-1)*(a+b*ArcSin[c*x])^n,x] -
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(f*(m+2*p+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p>0 && Not[RationalQ[m] && m<-1] &&
+ (RationalQ[m] || EqQ[n-1])
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcCos[c*x])^n/(f*(m+2*p+1)) +
+ 2*d*p/(m+2*p+1)*Int[(f*x)^m*(d+e*x^2)^(p-1)*(a+b*ArcCos[c*x])^n,x] +
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(f*(m+2*p+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p>0 && Not[RationalQ[m] && m<-1] &&
+ (RationalQ[m] || EqQ[n-1])
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n/(d*f*(m+1)) +
+ c^2*(m+2*p+3)/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^p*(a+b*ArcSin[c*x])^n,x] -
+ b*c*n*d^p/(f*(m+1))*Int[(f*x)^(m+1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m<-1 && IntegerQ[m] && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n/(d*f*(m+1)) +
+ c^2*(m+2*p+3)/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^p*(a+b*ArcCos[c*x])^n,x] +
+ b*c*n*d^p/(f*(m+1))*Int[(f*x)^(m+1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m<-1 && IntegerQ[m] && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n/(d*f*(m+1)) +
+ c^2*(m+2*p+3)/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^p*(a+b*ArcSin[c*x])^n,x] -
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(f*(m+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m<-1 && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n/(d*f*(m+1)) +
+ c^2*(m+2*p+3)/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^p*(a+b*ArcCos[c*x])^n,x] +
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(f*(m+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m<-1 && IntegerQ[m]
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n/(2*e*(p+1)) -
+ f^2*(m-1)/(2*e*(p+1))*Int[(f*x)^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n,x] +
+ b*f*n*d^p/(2*c*(p+1))*Int[(f*x)^(m-1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[m,n,p] && n>0 && p<-1 && m>1 && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n/(2*e*(p+1)) -
+ f^2*(m-1)/(2*e*(p+1))*Int[(f*x)^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n,x] -
+ b*f*n*d^p/(2*c*(p+1))*Int[(f*x)^(m-1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[m,n,p] && n>0 && p<-1 && m>1 && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n/(2*e*(p+1)) -
+ f^2*(m-1)/(2*e*(p+1))*Int[(f*x)^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n,x] +
+ b*f*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(2*c*(p+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m-1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[m,n,p] && n>0 && p<-1 && m>1
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n/(2*e*(p+1)) -
+ f^2*(m-1)/(2*e*(p+1))*Int[(f*x)^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n,x] -
+ b*f*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(2*c*(p+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m-1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[m,n,p] && n>0 && p<-1 && m>1
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ -(f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n/(2*d*f*(p+1)) +
+ (m+2*p+3)/(2*d*(p+1))*Int[(f*x)^m*(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n,x] +
+ b*c*n*d^p/(2*f*(p+1))*Int[(f*x)^(m+1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p<-1 && Not[RationalQ[m] && m>1] &&
+ (IntegerQ[p] || PositiveQ[d]) && (IntegerQ[m] || IntegerQ[p] || n==1) *)
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ -(f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n/(2*d*f*(p+1)) +
+ (m+2*p+3)/(2*d*(p+1))*Int[(f*x)^m*(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n,x] -
+ b*c*n*d^p/(2*f*(p+1))*Int[(f*x)^(m+1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p<-1 && Not[RationalQ[m] && m>1] &&
+ (IntegerQ[p] || PositiveQ[d]) && (IntegerQ[m] || IntegerQ[p] || n==1) *)
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ -(f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n/(2*d*f*(p+1)) +
+ (m+2*p+3)/(2*d*(p+1))*Int[(f*x)^m*(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n,x] +
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(2*f*(p+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p<-1 && Not[RationalQ[m] && m>1] &&
+ (IntegerQ[m] || IntegerQ[p] || n==1)
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ -(f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n/(2*d*f*(p+1)) +
+ (m+2*p+3)/(2*d*(p+1))*Int[(f*x)^m*(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n,x] -
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(2*f*(p+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p<-1 && Not[RationalQ[m] && m>1] &&
+ (IntegerQ[m] || IntegerQ[p] || n==1)
+
+
+(* Int[(f_.*x_)^m_*(a_.+b_.*ArcSin[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ f*(f*x)^(m-1)*Sqrt[d+e*x^2]*(a+b*ArcSin[c*x])^n/(e*m) +
+ b*f*n/(c*m*Sqrt[d])*Int[(f*x)^(m-1)*(a+b*ArcSin[c*x])^(n-1),x] +
+ f^2*(m-1)/(c^2*m)*Int[((f*x)^(m-2)*(a+b*ArcSin[c*x])^n)/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m>1 && PositiveQ[d] && IntegerQ[m] *)
+
+
+(* Int[(f_.*x_)^m_*(a_.+b_.*ArcCos[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ f*(f*x)^(m-1)*Sqrt[d+e*x^2]*(a+b*ArcCos[c*x])^n/(e*m) -
+ b*f*n*Sqrt[1-c^2*x^2]/(c*m*Sqrt[d+e*x^2])*Int[(f*x)^(m-1)*(a+b*ArcCos[c*x])^(n-1),x] +
+ f^2*(m-1)/(c^2*m)*Int[((f*x)^(m-2)*(a+b*ArcCos[c*x])^n)/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m>1 && PositiveQ[d] && IntegerQ[m] *)
+
+
+Int[(f_.*x_)^m_*(a_.+b_.*ArcSin[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ f*(f*x)^(m-1)*Sqrt[d+e*x^2]*(a+b*ArcSin[c*x])^n/(e*m) +
+ b*f*n*Sqrt[1-c^2*x^2]/(c*m*Sqrt[d+e*x^2])*Int[(f*x)^(m-1)*(a+b*ArcSin[c*x])^(n-1),x] +
+ f^2*(m-1)/(c^2*m)*Int[((f*x)^(m-2)*(a+b*ArcSin[c*x])^n)/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m>1 && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_*(a_.+b_.*ArcCos[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ f*(f*x)^(m-1)*Sqrt[d+e*x^2]*(a+b*ArcCos[c*x])^n/(e*m) -
+ b*f*n*Sqrt[1-c^2*x^2]/(c*m*Sqrt[d+e*x^2])*Int[(f*x)^(m-1)*(a+b*ArcCos[c*x])^(n-1),x] +
+ f^2*(m-1)/(c^2*m)*Int[((f*x)^(m-2)*(a+b*ArcCos[c*x])^n)/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m>1 && IntegerQ[m]
+
+
+Int[x_^m_*(a_.+b_.*ArcSin[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ 1/(c^(m+1)*Sqrt[d])*Subst[Int[(a+b*x)^n*Sin[x]^m,x],x,ArcSin[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveQ[d] && PositiveIntegerQ[n] && IntegerQ[m]
+
+
+Int[x_^m_*(a_.+b_.*ArcCos[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ -1/(c^(m+1)*Sqrt[d])*Subst[Int[(a+b*x)^n*Cos[x]^m,x],x,ArcCos[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveQ[d] && PositiveIntegerQ[n] && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_*(a_.+b_.*ArcSin[c_.*x_])/Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ (f*x)^(m+1)*(a+b*ArcSin[c*x])*Hypergeometric2F1[1/2,(1+m)/2,(3+m)/2,c^2*x^2]/(Sqrt[d]*f*(m+1)) -
+ b*c*(f*x)^(m+2)*HypergeometricPFQ[{1,1+m/2,1+m/2},{3/2+m/2,2+m/2},c^2*x^2]/(Sqrt[d]*f^2*(m+1)*(m+2)) /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && PositiveQ[d] && Not[IntegerQ[m]]
+
+
+Int[(f_.*x_)^m_*(a_.+b_.*ArcCos[c_.*x_])/Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ (f*x)^(m+1)*(a+b*ArcCos[c*x])*Hypergeometric2F1[1/2,(1+m)/2,(3+m)/2,c^2*x^2]/(Sqrt[d]*f*(m+1)) +
+ b*c*(f*x)^(m+2)*HypergeometricPFQ[{1,1+m/2,1+m/2},{3/2+m/2,2+m/2},c^2*x^2]/(Sqrt[d]*f^2*(m+1)*(m+2)) /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && PositiveQ[d] && Not[IntegerQ[m]]
+
+
+Int[(f_.*x_)^m_*(a_.+b_.*ArcSin[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ Sqrt[1-c^2*x^2]/Sqrt[d+e*x^2]*Int[(f*x)^m*(a+b*ArcSin[c*x])^n/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && Not[PositiveQ[d]] && (IntegerQ[m] || n==1)
+
+
+Int[(f_.*x_)^m_*(a_.+b_.*ArcCos[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ Sqrt[1-c^2*x^2]/Sqrt[d+e*x^2]*Int[(f*x)^m*(a+b*ArcCos[c*x])^n/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && Not[PositiveQ[d]] && (IntegerQ[m] || n==1)
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n/(e*(m+2*p+1)) +
+ f^2*(m-1)/(c^2*(m+2*p+1))*Int[(f*x)^(m-2)*(d+e*x^2)^p*(a+b*ArcSin[c*x])^n,x] +
+ b*f*n*d^p/(c*(m+2*p+1))*Int[(f*x)^(m-1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m>1 && NeQ[m+2*p+1] &&
+ (IntegerQ[p] || PositiveQ[d]) && IntegerQ[m] *)
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n/(e*(m+2*p+1)) +
+ f^2*(m-1)/(c^2*(m+2*p+1))*Int[(f*x)^(m-2)*(d+e*x^2)^p*(a+b*ArcCos[c*x])^n,x] -
+ b*f*n*d^p/(c*(m+2*p+1))*Int[(f*x)^(m-1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m>1 && NeQ[m+2*p+1] &&
+ (IntegerQ[p] || PositiveQ[d]) && IntegerQ[m] *)
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcSin[c*x])^n/(e*(m+2*p+1)) +
+ f^2*(m-1)/(c^2*(m+2*p+1))*Int[(f*x)^(m-2)*(d+e*x^2)^p*(a+b*ArcSin[c*x])^n,x] +
+ b*f*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(c*(m+2*p+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m-1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcSin[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m>1 && NeQ[m+2*p+1] && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcCos[c*x])^n/(e*(m+2*p+1)) +
+ f^2*(m-1)/(c^2*(m+2*p+1))*Int[(f*x)^(m-2)*(d+e*x^2)^p*(a+b*ArcCos[c*x])^n,x] -
+ b*f*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(c*(m+2*p+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m-1)*(1-c^2*x^2)^(p+1/2)*(a+b*ArcCos[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m>1 && NeQ[m+2*p+1] && IntegerQ[m]
+
+
+(* Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ (f*x)^m*Sqrt[1-c^2*x^2]*(d+e*x^2)^p*(a+b*ArcSin[c*x])^(n+1)/(b*c*(n+1)) -
+ f*m*d^p/(b*c*(n+1))*Int[(f*x)^(m-1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcSin[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && EqQ[m+2*p+1] && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+(* Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ -(f*x)^m*Sqrt[1-c^2*x^2]*(d+e*x^2)^p*(a+b*ArcCos[c*x])^(n+1)/(b*c*(n+1)) +
+ f*m*d^p/(b*c*(n+1))*Int[(f*x)^(m-1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcCos[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && EqQ[m+2*p+1] && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ (f*x)^m*Sqrt[1-c^2*x^2]*(d+e*x^2)^p*(a+b*ArcSin[c*x])^(n+1)/(b*c*(n+1)) -
+ f*m*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(b*c*(n+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m-1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcSin[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && EqQ[m+2*p+1]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ -(f*x)^m*Sqrt[1-c^2*x^2]*(d+e*x^2)^p*(a+b*ArcCos[c*x])^(n+1)/(b*c*(n+1)) +
+ f*m*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(b*c*(n+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m-1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcCos[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && EqQ[m+2*p+1]
+
+
+Int[(f_.*x_)^m_.*(a_.+b_.*ArcSin[c_.*x_])^n_/Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ (f*x)^m*(a+b*ArcSin[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) -
+ f*m/(b*c*Sqrt[d]*(n+1))*Int[(f*x)^(m-1)*(a+b*ArcSin[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && PositiveQ[d]
+
+
+Int[(f_.*x_)^m_.*(a_.+b_.*ArcCos[c_.*x_])^n_/Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ -(f*x)^m*(a+b*ArcCos[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) +
+ f*m/(b*c*Sqrt[d]*(n+1))*Int[(f*x)^(m-1)*(a+b*ArcCos[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && PositiveQ[d]
+
+
+(* Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ (f*x)^m*Sqrt[1-c^2*x^2]*(d+e*x^2)^p*(a+b*ArcSin[c*x])^(n+1)/(b*c*(n+1)) -
+ f*m*d^p/(b*c*(n+1))*Int[(f*x)^(m-1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcSin[c*x])^(n+1),x] +
+ c*(m+2*p+1)*d^p/(b*f*(n+1))*Int[(f*x)^(m+1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcSin[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && IntegerQ[m] && m>-3 && PositiveIntegerQ[2*p] &&
+ (IntegerQ[p] || PositiveQ[d]) *)
+
+
+(* Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ -(f*x)^m*Sqrt[1-c^2*x^2]*(d+e*x^2)^p*(a+b*ArcCos[c*x])^(n+1)/(b*c*(n+1)) +
+ f*m*d^p/(b*c*(n+1))*Int[(f*x)^(m-1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcCos[c*x])^(n+1),x] -
+ c*(m+2*p+1)*d^p/(b*f*(n+1))*Int[(f*x)^(m+1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcCos[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && IntegerQ[m] && m>-3 && PositiveIntegerQ[2*p] &&
+ (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ (f*x)^m*Sqrt[1-c^2*x^2]*(d+e*x^2)^p*(a+b*ArcSin[c*x])^(n+1)/(b*c*(n+1)) -
+ f*m*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(b*c*(n+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m-1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcSin[c*x])^(n+1),x] +
+ c*(m+2*p+1)*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(b*f*(n+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcSin[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && IntegerQ[m] && m>-3 && PositiveIntegerQ[2*p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ -(f*x)^m*Sqrt[1-c^2*x^2]*(d+e*x^2)^p*(a+b*ArcCos[c*x])^(n+1)/(b*c*(n+1)) +
+ f*m*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(b*c*(n+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m-1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcCos[c*x])^(n+1),x] -
+ c*(m+2*p+1)*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(b*f*(n+1)*(1-c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1-c^2*x^2)^(p-1/2)*(a+b*ArcCos[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && IntegerQ[m] && m>-3 && PositiveIntegerQ[2*p]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ d^p/c^(m+1)*Subst[Int[(a+b*x)^n*Sin[x]^m*Cos[x]^(2*p+1),x],x,ArcSin[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && IntegerQ[2*p] && p>-1 && PositiveIntegerQ[m] && (IntegerQ[p] || PositiveQ[d])
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ -d^p/c^(m+1)*Subst[Int[(a+b*x)^n*Cos[x]^m*Sin[x]^(2*p+1),x],x,ArcCos[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && IntegerQ[2*p] && p>-1 && PositiveIntegerQ[m] && (IntegerQ[p] || PositiveQ[d])
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ d^IntPart[p]*(d+e*x^2)^FracPart[p]/(1-c^2*x^2)^FracPart[p]*Int[x^m*(1-c^2*x^2)^p*(a+b*ArcSin[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && IntegerQ[2*p] && p>-1 && PositiveIntegerQ[m] && Not[(IntegerQ[p] || PositiveQ[d])]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ d^IntPart[p]*(d+e*x^2)^FracPart[p]/(1-c^2*x^2)^FracPart[p]*Int[x^m*(1-c^2*x^2)^p*(a+b*ArcCos[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && IntegerQ[2*p] && p>-1 && PositiveIntegerQ[m] && Not[(IntegerQ[p] || PositiveQ[d])]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcSin[c*x])^n/Sqrt[d+e*x^2],(f*x)^m*(d+e*x^2)^(p+1/2),x],x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && EqQ[c^2*d+e] && PositiveQ[d] && PositiveIntegerQ[p+1/2] && Not[PositiveIntegerQ[(m+1)/2]] &&
+ IntegerQ[m] && -30 || PositiveIntegerQ[(m-1)/2] && m+p<=0)
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(f*x)^m*(d+e*x^2)^p,x]},
+ Dist[a+b*ArcCos[c*x],u,x] + b*c*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[c^2*d+e] && IntegerQ[p] && (p>0 || PositiveIntegerQ[(m-1)/2] && m+p<=0)
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcSin[c*x])^n,(f*x)^m*(d+e*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[c^2*d+e] && PositiveIntegerQ[n] && IntegerQ[p] && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcCos[c*x])^n,(f*x)^m*(d+e*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[c^2*d+e] && PositiveIntegerQ[n] && IntegerQ[p] && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(f*x)^m*(d+e*x^2)^p*(a+b*ArcSin[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(f*x)^m*(d+e*x^2)^p*(a+b*ArcCos[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x]
+
+
+Int[(h_.*x_)^m_.*(d_+e_.*x_)^p_*(f_+g_.*x_)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x)^FracPart[p]*(f+g*x)^FracPart[p]/(d*f+e*g*x^2)^FracPart[p]*
+ Int[(h*x)^m*(d*f+e*g*x^2)^p*(a+b*ArcSin[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n,p},x] && EqQ[e*f+d*g] && EqQ[c^2*f^2-g^2] && Not[IntegerQ[p]]
+
+
+Int[(h_.*x_)^m_.*(d_+e_.*x_)^p_*(f_+g_.*x_)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x)^FracPart[p]*(f+g*x)^FracPart[p]/(d*f+e*g*x^2)^FracPart[p]*
+ Int[(h*x)^m*(d*f+e*g*x^2)^p*(a+b*ArcCos[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n,p},x] && EqQ[e*f+d*g] && EqQ[c^2*f^2-g^2] && Not[IntegerQ[p]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*5.1.5 u (a+b arcsin(c x))^n*)
+
+
+Int[(a_.+b_.*ArcSin[c_.*x_])^n_./(d_+e_.*x_),x_Symbol] :=
+ Subst[Int[(a+b*x)^n*Cos[x]/(c*d+e*Sin[x]),x],x,ArcSin[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*ArcCos[c_.*x_])^n_./(d_+e_.*x_),x_Symbol] :=
+ -Subst[Int[(a+b*x)^n*Sin[x]/(c*d+e*Cos[x]),x],x,ArcCos[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && PositiveIntegerQ[n]
+
+
+Int[(d_+e_.*x_)^m_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x)^(m+1)*(a+b*ArcSin[c*x])^n/(e*(m+1)) -
+ b*c*n/(e*(m+1))*Int[(d+e*x)^(m+1)*(a+b*ArcSin[c*x])^(n-1)/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e,m},x] && PositiveIntegerQ[n] && NeQ[m+1]
+
+
+Int[(d_+e_.*x_)^m_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x)^(m+1)*(a+b*ArcCos[c*x])^n/(e*(m+1)) +
+ b*c*n/(e*(m+1))*Int[(d+e*x)^(m+1)*(a+b*ArcCos[c*x])^(n-1)/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e,m},x] && PositiveIntegerQ[n] && NeQ[m+1]
+
+
+Int[(d_+e_.*x_)^m_.*(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(a+b*ArcSin[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && PositiveIntegerQ[m] && RationalQ[n] && n<-1
+
+
+Int[(d_+e_.*x_)^m_.*(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(a+b*ArcCos[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && PositiveIntegerQ[m] && RationalQ[n] && n<-1
+
+
+Int[(d_.+e_.*x_)^m_.*(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ 1/c^(m+1)*Subst[Int[(a+b*x)^n*Cos[x]*(c*d+e*Sin[x])^m,x],x,ArcSin[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && PositiveIntegerQ[m]
+
+
+Int[(d_.+e_.*x_)^m_.*(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ -1/c^(m+1)*Subst[Int[(a+b*x)^n*Sin[x]*(c*d+e*Cos[x])^m,x],x,ArcCos[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && PositiveIntegerQ[m]
+
+
+Int[Px_*(a_.+b_.*ArcSin[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[ExpandExpression[Px,x],x]},
+ Dist[a+b*ArcSin[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c},x] && PolynomialQ[Px,x]
+
+
+Int[Px_*(a_.+b_.*ArcCos[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[ExpandExpression[Px,x],x]},
+ Dist[a+b*ArcCos[c*x],u,x] + b*c*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c},x] && PolynomialQ[Px,x]
+
+
+(* Int[Px_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ With[{u=IntHide[Px,x]},
+ Dist[(a+b*ArcSin[c*x])^n,u,x] - b*c*n*Int[SimplifyIntegrand[u*(a+b*ArcSin[c*x])^(n-1)/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c},x] && PolynomialQ[Px,x] && PositiveIntegerQ[n] *)
+
+
+(* Int[Px_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ With[{u=IntHide[Px,x]},
+ Dist[(a+b*ArcCos[c*x])^n,u,x] + b*c*n*Int[SimplifyIntegrand[u*(a+b*ArcCos[c*x])^(n-1)/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c},x] && PolynomialQ[Px,x] && PositiveIntegerQ[n] *)
+
+
+Int[Px_*(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[Px*(a+b*ArcSin[c*x])^n,x],x] /;
+FreeQ[{a,b,c,n},x] && PolynomialQ[Px,x]
+
+
+Int[Px_*(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[Px*(a+b*ArcCos[c*x])^n,x],x] /;
+FreeQ[{a,b,c,n},x] && PolynomialQ[Px,x]
+
+
+Int[Px_*(d_.+e_.*x_)^m_.*(a_.+b_.*ArcSin[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[Px*(d+e*x)^m,x]},
+ Dist[a+b*ArcSin[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e,m},x] && PolynomialQ[Px,x]
+
+
+Int[Px_*(d_.+e_.*x_)^m_.*(a_.+b_.*ArcCos[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[Px*(d+e*x)^m,x]},
+ Dist[a+b*ArcCos[c*x],u,x] + b*c*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e,m},x] && PolynomialQ[Px,x]
+
+
+Int[(f_.+g_.*x_)^p_.*(d_+e_.*x_)^m_*(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ With[{u=IntHide[(f+g*x)^p*(d+e*x)^m,x]},
+ Dist[(a+b*ArcSin[c*x])^n,u,x] - b*c*n*Int[SimplifyIntegrand[u*(a+b*ArcSin[c*x])^(n-1)/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && PositiveIntegerQ[n,p] && NegativeIntegerQ[m] && m+p+1<0
+
+
+Int[(f_.+g_.*x_)^p_.*(d_+e_.*x_)^m_*(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ With[{u=IntHide[(f+g*x)^p*(d+e*x)^m,x]},
+ Dist[(a+b*ArcCos[c*x])^n,u,x] + b*c*n*Int[SimplifyIntegrand[u*(a+b*ArcCos[c*x])^(n-1)/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && PositiveIntegerQ[n,p] && NegativeIntegerQ[m] && m+p+1<0
+
+
+Int[(f_.+g_.*x_+h_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_.*x_])^n_/(d_+e_.*x_)^2,x_Symbol] :=
+ With[{u=IntHide[(f+g*x+h*x^2)^p/(d+e*x)^2,x]},
+ Dist[(a+b*ArcSin[c*x])^n,u,x] - b*c*n*Int[SimplifyIntegrand[u*(a+b*ArcSin[c*x])^(n-1)/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && PositiveIntegerQ[n,p] && EqQ[e*g-2*d*h]
+
+
+Int[(f_.+g_.*x_+h_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_.*x_])^n_/(d_+e_.*x_)^2,x_Symbol] :=
+ With[{u=IntHide[(f+g*x+h*x^2)^p/(d+e*x)^2,x]},
+ Dist[(a+b*ArcCos[c*x])^n,u,x] + b*c*n*Int[SimplifyIntegrand[u*(a+b*ArcCos[c*x])^(n-1)/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && PositiveIntegerQ[n,p] && EqQ[e*g-2*d*h]
+
+
+Int[Px_*(d_+e_.*x_)^m_.*(a_.+b_.*ArcSin[c_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[Px*(d+e*x)^m*(a+b*ArcSin[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && PolynomialQ[Px,x] && PositiveIntegerQ[n] && IntegerQ[m]
+
+
+Int[Px_*(d_+e_.*x_)^m_.*(a_.+b_.*ArcCos[c_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[Px*(d+e*x)^m*(a+b*ArcCos[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && PolynomialQ[Px,x] && PositiveIntegerQ[n] && IntegerQ[m]
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(f+g*x)^m*(d+e*x^2)^p,x]},
+ Dist[a+b*ArcSin[c*x],u,x] - b*c*Int[Dist[1/Sqrt[1-c^2*x^2],u,x],x]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[c^2*d+e] && IntegerQ[m] && NegativeIntegerQ[p+1/2] && PositiveQ[d] && m>0 &&
+ (m<-2*p-1 || m>3)
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(f+g*x)^m*(d+e*x^2)^p,x]},
+ Dist[a+b*ArcCos[c*x],u,x] + b*c*Int[Dist[1/Sqrt[1-c^2*x^2],u,x],x]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[c^2*d+e] && IntegerQ[m] && NegativeIntegerQ[p+1/2] && PositiveQ[d] && m>0 &&
+ (m<-2*p-1 || m>3)
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)^p*(a+b*ArcSin[c*x])^n,(f+g*x)^m,x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[c^2*d+e] && IntegerQ[m] && IntegerQ[p+1/2] && PositiveQ[d] && PositiveIntegerQ[n] && m>0 &&
+ (n==1 && p>-1 || p>0 || m==1 || m==2 && p<-2)
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)^p*(a+b*ArcCos[c*x])^n,(f+g*x)^m,x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[c^2*d+e] && IntegerQ[m] && IntegerQ[p+1/2] && PositiveQ[d] && PositiveIntegerQ[n] && m>0 &&
+ (n==1 && p>-1 || p>0 || m==1 || m==2 && p<-2)
+
+
+Int[(f_+g_.*x_)^m_*Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (f+g*x)^m*(d+e*x^2)*(a+b*ArcSin[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) -
+ 1/(b*c*Sqrt[d]*(n+1))*Int[(d*g*m+2*e*f*x+e*g*(m+2)*x^2)*(f+g*x)^(m-1)*(a+b*ArcSin[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[c^2*d+e] && IntegerQ[m] && PositiveQ[d] && PositiveIntegerQ[n] && m<0
+
+
+Int[(f_+g_.*x_)^m_*Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ -(f+g*x)^m*(d+e*x^2)*(a+b*ArcCos[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) +
+ 1/(b*c*Sqrt[d]*(n+1))*Int[(d*g*m+2*e*f*x+e*g*(m+2)*x^2)*(f+g*x)^(m-1)*(a+b*ArcCos[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[c^2*d+e] && IntegerQ[m] && PositiveQ[d] && PositiveIntegerQ[n] && m<0
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[Sqrt[d+e*x^2]*(a+b*ArcSin[c*x])^n,(f+g*x)^m*(d+e*x^2)^(p-1/2),x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[c^2*d+e] && IntegerQ[m] && PositiveIntegerQ[p+1/2] && PositiveQ[d] && PositiveIntegerQ[n]
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[Sqrt[d+e*x^2]*(a+b*ArcCos[c*x])^n,(f+g*x)^m*(d+e*x^2)^(p-1/2),x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[c^2*d+e] && IntegerQ[m] && PositiveIntegerQ[p+1/2] && PositiveQ[d] && PositiveIntegerQ[n]
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ (f+g*x)^m*(d+e*x^2)^(p+1/2)*(a+b*ArcSin[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) -
+ 1/(b*c*Sqrt[d]*(n+1))*
+ Int[ExpandIntegrand[(f+g*x)^(m-1)*(a+b*ArcSin[c*x])^(n+1),(d*g*m+e*f*(2*p+1)*x+e*g*(m+2*p+1)*x^2)*(d+e*x^2)^(p-1/2),x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[c^2*d+e] && IntegerQ[m] && PositiveIntegerQ[p-1/2] && PositiveQ[d] && PositiveIntegerQ[n] && m<0
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ -(f+g*x)^m*(d+e*x^2)^(p+1/2)*(a+b*ArcCos[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) +
+ 1/(b*c*Sqrt[d]*(n+1))*
+ Int[ExpandIntegrand[(f+g*x)^(m-1)*(a+b*ArcCos[c*x])^(n+1),(d*g*m+e*f*(2*p+1)*x+e*g*(m+2*p+1)*x^2)*(d+e*x^2)^(p-1/2),x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[c^2*d+e] && IntegerQ[m] && PositiveIntegerQ[p-1/2] && PositiveQ[d] && PositiveIntegerQ[n] && m<0
+
+
+Int[(f_+g_.*x_)^m_.*(a_.+b_.*ArcSin[c_.*x_])^n_/Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ (f+g*x)^m*(a+b*ArcSin[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) -
+ g*m/(b*c*Sqrt[d]*(n+1))*Int[(f+g*x)^(m-1)*(a+b*ArcSin[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[c^2*d+e] && IntegerQ[m] && PositiveQ[d] && m>0 && RationalQ[n] && n<-1
+
+
+Int[(f_+g_.*x_)^m_.*(a_.+b_.*ArcCos[c_.*x_])^n_/Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ -(f+g*x)^m*(a+b*ArcCos[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) +
+ g*m/(b*c*Sqrt[d]*(n+1))*Int[(f+g*x)^(m-1)*(a+b*ArcCos[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[c^2*d+e] && IntegerQ[m] && PositiveQ[d] && m>0 && RationalQ[n] && n<-1
+
+
+Int[(f_+g_.*x_)^m_.*(a_.+b_.*ArcSin[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ 1/(c^(m+1)*Sqrt[d])*Subst[Int[(a+b*x)^n*(c*f+g*Sin[x])^m,x],x,ArcSin[c*x]] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && EqQ[c^2*d+e] && IntegerQ[m] && PositiveQ[d] && (m>0 || PositiveIntegerQ[n])
+
+
+Int[(f_+g_.*x_)^m_.*(a_.+b_.*ArcCos[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ -1/(c^(m+1)*Sqrt[d])*Subst[Int[(a+b*x)^n*(c*f+g*Cos[x])^m,x],x,ArcCos[c*x]] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && EqQ[c^2*d+e] && IntegerQ[m] && PositiveQ[d] && (m>0 || PositiveIntegerQ[n])
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcSin[c*x])^n/Sqrt[d+e*x^2],(f+g*x)^m*(d+e*x^2)^(p+1/2),x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[c^2*d+e] && IntegerQ[m] && NegativeIntegerQ[p+1/2] && PositiveQ[d] && PositiveIntegerQ[n]
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcCos[c*x])^n/Sqrt[d+e*x^2],(f+g*x)^m*(d+e*x^2)^(p+1/2),x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[c^2*d+e] && IntegerQ[m] && NegativeIntegerQ[p+1/2] && PositiveQ[d] && PositiveIntegerQ[n]
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ d^IntPart[p]*(d+e*x^2)^FracPart[p]/(1-c^2*x^2)^FracPart[p]*Int[(f+g*x)^m*(1-c^2*x^2)^p*(a+b*ArcSin[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && EqQ[c^2*d+e] && IntegerQ[m] && IntegerQ[p-1/2] && Not[PositiveQ[d]]
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ d^IntPart[p]*(d+e*x^2)^FracPart[p]/(1-c^2*x^2)^FracPart[p]*Int[(f+g*x)^m*(1-c^2*x^2)^p*(a+b*ArcCos[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && EqQ[c^2*d+e] && IntegerQ[m] && IntegerQ[p-1/2] && Not[PositiveQ[d]]
+
+
+Int[Log[h_.*(f_.+g_.*x_)^m_.]*(a_.+b_.*ArcSin[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ Log[h*(f+g*x)^m]*(a+b*ArcSin[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) -
+ g*m/(b*c*Sqrt[d]*(n+1))*Int[(a+b*ArcSin[c*x])^(n+1)/(f+g*x),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m},x] && EqQ[c^2*d+e] && PositiveQ[d] && PositiveIntegerQ[n]
+
+
+Int[Log[h_.*(f_.+g_.*x_)^m_.]*(a_.+b_.*ArcCos[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ -Log[h*(f+g*x)^m]*(a+b*ArcCos[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) +
+ g*m/(b*c*Sqrt[d]*(n+1))*Int[(a+b*ArcCos[c*x])^(n+1)/(f+g*x),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m},x] && EqQ[c^2*d+e] && PositiveQ[d] && PositiveIntegerQ[n]
+
+
+Int[Log[h_.*(f_.+g_.*x_)^m_.]*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ d^IntPart[p]*(d+e*x^2)^FracPart[p]/(1-c^2*x^2)^FracPart[p]*Int[Log[h*(f+g*x)^m]*(1-c^2*x^2)^p*(a+b*ArcSin[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n},x] && EqQ[c^2*d+e] && IntegerQ[p-1/2] && Not[PositiveQ[d]]
+
+
+Int[Log[h_.*(f_.+g_.*x_)^m_.]*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ d^IntPart[p]*(d+e*x^2)^FracPart[p]/(1-c^2*x^2)^FracPart[p]*Int[Log[h*(f+g*x)^m]*(1-c^2*x^2)^p*(a+b*ArcCos[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n},x] && EqQ[c^2*d+e] && IntegerQ[p-1/2] && Not[PositiveQ[d]]
+
+
+Int[(d_+e_.*x_)^m_*(f_+g_.*x_)^m_*(a_.+b_.*ArcSin[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x)^m*(f+g*x)^m,x]},
+ Dist[a+b*ArcSin[c*x],u,x] - b*c*Int[Dist[1/Sqrt[1-c^2*x^2],u,x],x]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NegativeIntegerQ[m+1/2]
+
+
+Int[(d_+e_.*x_)^m_*(f_+g_.*x_)^m_*(a_.+b_.*ArcCos[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x)^m*(f+g*x)^m,x]},
+ Dist[a+b*ArcCos[c*x],u,x] + b*c*Int[Dist[1/Sqrt[1-c^2*x^2],u,x],x]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NegativeIntegerQ[m+1/2]
+
+
+Int[(d_+e_.*x_)^m_.*(f_+g_.*x_)^m_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(f+g*x)^m*(a+b*ArcSin[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && IntegerQ[m]
+
+
+Int[(d_+e_.*x_)^m_.*(f_+g_.*x_)^m_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(f+g*x)^m*(a+b*ArcCos[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && IntegerQ[m]
+
+
+Int[u_*(a_.+b_.*ArcSin[c_.*x_]),x_Symbol] :=
+ With[{v=IntHide[u,x]},
+ Dist[a+b*ArcSin[c*x],v,x] - b*c*Int[SimplifyIntegrand[v/Sqrt[1-c^2*x^2],x],x] /;
+ InverseFunctionFreeQ[v,x]] /;
+FreeQ[{a,b,c},x]
+
+
+Int[u_*(a_.+b_.*ArcCos[c_.*x_]),x_Symbol] :=
+ With[{v=IntHide[u,x]},
+ Dist[a+b*ArcCos[c*x],v,x] + b*c*Int[SimplifyIntegrand[v/Sqrt[1-c^2*x^2],x],x] /;
+ InverseFunctionFreeQ[v,x]] /;
+FreeQ[{a,b,c},x]
+
+
+Int[Px_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[Px*(d+e*x^2)^p*(a+b*ArcSin[c*x])^n,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{a,b,c,d,e,n},x] && PolynomialQ[Px,x] && EqQ[c^2*d+e] && IntegerQ[p-1/2]
+
+
+Int[Px_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[Px*(d+e*x^2)^p*(a+b*ArcCos[c*x])^n,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{a,b,c,d,e,n},x] && PolynomialQ[Px,x] && EqQ[c^2*d+e] && IntegerQ[p-1/2]
+
+
+Int[Px_.*(f_+g_.*(d_+e_.*x_^2)^p_)^m_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[Px*(f+g*(d+e*x^2)^p)^m*(a+b*ArcSin[c*x])^n,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && PolynomialQ[Px,x] && EqQ[c^2*d+e] && PositiveIntegerQ[p+1/2] && IntegersQ[m,n]
+
+
+Int[Px_.*(f_+g_.*(d_+e_.*x_^2)^p_)^m_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[Px*(f+g*(d+e*x^2)^p)^m*(a+b*ArcCos[c*x])^n,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && PolynomialQ[Px,x] && EqQ[c^2*d+e] && PositiveIntegerQ[p+1/2] && IntegersQ[m,n]
+
+
+Int[RFx_*ArcSin[c_.*x_]^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[ArcSin[c*x]^n,RFx,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[c,x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n]
+
+
+Int[RFx_*ArcCos[c_.*x_]^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[ArcCos[c*x]^n,RFx,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[c,x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n]
+
+
+Int[RFx_*(a_+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[RFx*(a+b*ArcSin[c*x])^n,x],x] /;
+FreeQ[{a,b,c},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n]
+
+
+Int[RFx_*(a_+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[RFx*(a+b*ArcCos[c*x])^n,x],x] /;
+FreeQ[{a,b,c},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n]
+
+
+Int[RFx_*(d_+e_.*x_^2)^p_*ArcSin[c_.*x_]^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[(d+e*x^2)^p*ArcSin[c*x]^n,RFx,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{c,d,e},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n] && EqQ[c^2*d+e] && IntegerQ[p-1/2]
+
+
+Int[RFx_*(d_+e_.*x_^2)^p_*ArcCos[c_.*x_]^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[(d+e*x^2)^p*ArcCos[c*x]^n,RFx,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{c,d,e},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n] && EqQ[c^2*d+e] && IntegerQ[p-1/2]
+
+
+Int[RFx_*(d_+e_.*x_^2)^p_*(a_+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)^p,RFx*(a+b*ArcSin[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n] && EqQ[c^2*d+e] && IntegerQ[p-1/2]
+
+
+Int[RFx_*(d_+e_.*x_^2)^p_*(a_+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)^p,RFx*(a+b*ArcCos[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n] && EqQ[c^2*d+e] && IntegerQ[p-1/2]
+
+
+Int[u_.*(a_.+b_.*ArcSin[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][u*(a+b*ArcSin[c*x])^n,x] /;
+FreeQ[{a,b,c,n},x]
+
+
+Int[u_.*(a_.+b_.*ArcCos[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][u*(a+b*ArcCos[c*x])^n,x] /;
+FreeQ[{a,b,c,n},x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*5.1.6 Miscellaneous inverse sine*)
+(**)
+
+
+Int[(a_.+b_.*ArcSin[c_+d_.*x_])^n_.,x_Symbol] :=
+ 1/d*Subst[Int[(a+b*ArcSin[x])^n,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,n},x]
+
+
+Int[(a_.+b_.*ArcCos[c_+d_.*x_])^n_.,x_Symbol] :=
+ 1/d*Subst[Int[(a+b*ArcCos[x])^n,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,n},x]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*ArcSin[c_+d_.*x_])^n_.,x_Symbol] :=
+ 1/d*Subst[Int[((d*e-c*f)/d+f*x/d)^m*(a+b*ArcSin[x])^n,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*ArcCos[c_+d_.*x_])^n_.,x_Symbol] :=
+ 1/d*Subst[Int[((d*e-c*f)/d+f*x/d)^m*(a+b*ArcCos[x])^n,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_+d_.*x_])^n_.,x_Symbol] :=
+ 1/d*Subst[Int[(-C/d^2+C/d^2*x^2)^p*(a+b*ArcSin[x])^n,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,A,B,C,n,p},x] && EqQ[B*(1-c^2)+2*A*c*d] && EqQ[2*c*C-B*d]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_+d_.*x_])^n_.,x_Symbol] :=
+ 1/d*Subst[Int[(-C/d^2+C/d^2*x^2)^p*(a+b*ArcCos[x])^n,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,A,B,C,n,p},x] && EqQ[B*(1-c^2)+2*A*c*d] && EqQ[2*c*C-B*d]
+
+
+Int[(e_.+f_.*x_)^m_.*(A_.+B_.*x_+C_.*x_^2)^p_.*(a_.+b_.*ArcSin[c_+d_.*x_])^n_.,x_Symbol] :=
+ 1/d*Subst[Int[((d*e-c*f)/d+f*x/d)^m*(-C/d^2+C/d^2*x^2)^p*(a+b*ArcSin[x])^n,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,m,n,p},x] && EqQ[B*(1-c^2)+2*A*c*d] && EqQ[2*c*C-B*d]
+
+
+Int[(e_.+f_.*x_)^m_.*(A_.+B_.*x_+C_.*x_^2)^p_.*(a_.+b_.*ArcCos[c_+d_.*x_])^n_.,x_Symbol] :=
+ 1/d*Subst[Int[((d*e-c*f)/d+f*x/d)^m*(-C/d^2+C/d^2*x^2)^p*(a+b*ArcCos[x])^n,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,m,n,p},x] && EqQ[B*(1-c^2)+2*A*c*d] && EqQ[2*c*C-B*d]
+
+
+Int[Sqrt[a_.+b_.*ArcSin[c_+d_.*x_^2]],x_Symbol] :=
+ x*Sqrt[a+b*ArcSin[c+d*x^2]] -
+ Sqrt[Pi]*x*(Cos[a/(2*b)]+c*Sin[a/(2*b)])*FresnelC[Sqrt[c/(Pi*b)]*Sqrt[a+b*ArcSin[c+d*x^2]]]/
+ (Sqrt[c/b]*(Cos[ArcSin[c+d*x^2]/2]-c*Sin[ArcSin[c+d*x^2]/2])) +
+ Sqrt[Pi]*x*(Cos[a/(2*b)]-c*Sin[a/(2*b)])*FresnelS[Sqrt[c/(Pi*b)]*Sqrt[a+b*ArcSin[c+d*x^2]]]/
+ (Sqrt[c/b]*(Cos[ArcSin[c+d*x^2]/2]-c*Sin[ArcSin[c+d*x^2]/2])) /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2-1]
+
+
+Int[Sqrt[a_.+b_.*ArcCos[1+d_.*x_^2]],x_Symbol] :=
+ -2*Sqrt[a+b*ArcCos[1+d*x^2]]*Sin[ArcCos[1+d*x^2]/2]^2/(d*x) -
+ 2*Sqrt[Pi]*Sin[a/(2*b)]*Sin[ArcCos[1+d*x^2]/2]*FresnelC[Sqrt[1/(Pi*b)]*Sqrt[a+b*ArcCos[1+d*x^2]]]/(Sqrt[1/b]*d*x) +
+ 2*Sqrt[Pi]*Cos[a/(2*b)]*Sin[ArcCos[1+d*x^2]/2]*FresnelS[Sqrt[1/(Pi*b)]*Sqrt[a+b*ArcCos[1+d*x^2]]]/(Sqrt[1/b]*d*x) /;
+FreeQ[{a,b,d},x]
+
+
+Int[Sqrt[a_.+b_.*ArcCos[-1+d_.*x_^2]],x_Symbol] :=
+ 2*Sqrt[a+b*ArcCos[-1+d*x^2]]*Cos[(1/2)*ArcCos[-1+d*x^2]]^2/(d*x) -
+ 2*Sqrt[Pi]*Cos[a/(2*b)]*Cos[ArcCos[-1+d*x^2]/2]*FresnelC[Sqrt[1/(Pi*b)]*Sqrt[a+b*ArcCos[-1+d*x^2]]]/(Sqrt[1/b]*d*x) -
+ 2*Sqrt[Pi]*Sin[a/(2*b)]*Cos[ArcCos[-1+d*x^2]/2]*FresnelS[Sqrt[1/(Pi*b)]*Sqrt[a+b*ArcCos[-1+d*x^2]]]/(Sqrt[1/b]*d*x) /;
+FreeQ[{a,b,d},x]
+
+
+Int[(a_.+b_.*ArcSin[c_+d_.*x_^2])^n_,x_Symbol] :=
+ x*(a+b*ArcSin[c+d*x^2])^n +
+ 2*b*n*Sqrt[-2*c*d*x^2-d^2*x^4]*(a+b*ArcSin[c+d*x^2])^(n-1)/(d*x) -
+ 4*b^2*n*(n-1)*Int[(a+b*ArcSin[c+d*x^2])^(n-2),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2-1] && RationalQ[n] && n>1
+
+
+Int[(a_.+b_.*ArcCos[c_+d_.*x_^2])^n_,x_Symbol] :=
+ x*(a+b*ArcCos[c+d*x^2])^n -
+ 2*b*n*Sqrt[-2*c*d*x^2-d^2*x^4]*(a+b*ArcCos[c+d*x^2])^(n-1)/(d*x) -
+ 4*b^2*n*(n-1)*Int[(a+b*ArcCos[c+d*x^2])^(n-2),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2-1] && RationalQ[n] && n>1
+
+
+Int[1/(a_.+b_.*ArcSin[c_+d_.*x_^2]),x_Symbol] :=
+ -x*(c*Cos[a/(2*b)]-Sin[a/(2*b)])*CosIntegral[(c/(2*b))*(a+b*ArcSin[c+d*x^2])]/
+ (2*b*(Cos[ArcSin[c+d*x^2]/2]-c*Sin[ArcSin[c+d*x^2]/2])) -
+ x*(c*Cos[a/(2*b)]+Sin[a/(2*b)])*SinIntegral[(c/(2*b))*(a+b*ArcSin[c+d*x^2])]/
+ (2*b*(Cos[ArcSin[c+d*x^2]/2]-c*Sin[ArcSin[c+d*x^2]/2])) /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2-1]
+
+
+Int[1/(a_.+b_.*ArcCos[1+d_.*x_^2]),x_Symbol] :=
+ x*Cos[a/(2*b)]*CosIntegral[(a+b*ArcCos[1+d*x^2])/(2*b)]/(Sqrt[2]*b*Sqrt[-d*x^2]) +
+ x*Sin[a/(2*b)]*SinIntegral[(a+b*ArcCos[1+d*x^2])/(2*b)]/(Sqrt[2]*b*Sqrt[-d*x^2]) /;
+FreeQ[{a,b,d},x]
+
+
+Int[1/(a_.+b_.*ArcCos[-1+d_.*x_^2]),x_Symbol] :=
+ x*Sin[a/(2*b)]*CosIntegral[(a+b*ArcCos[-1+d*x^2])/(2*b)]/(Sqrt[2]*b*Sqrt[d*x^2]) -
+ x*Cos[a/(2*b)]*SinIntegral[(a+b*ArcCos[-1+d*x^2])/(2*b)]/(Sqrt[2]*b*Sqrt[d*x^2]) /;
+FreeQ[{a,b,d},x]
+
+
+Int[1/Sqrt[a_.+b_.*ArcSin[c_+d_.*x_^2]],x_Symbol] :=
+ -Sqrt[Pi]*x*(Cos[a/(2*b)]-c*Sin[a/(2*b)])*FresnelC[1/(Sqrt[b*c]*Sqrt[Pi])*Sqrt[a+b*ArcSin[c+d*x^2]]]/
+ (Sqrt[b*c]*(Cos[ArcSin[c+d*x^2]/2]-c*Sin[ArcSin[c+d*x^2]/2])) -
+ Sqrt[Pi]*x*(Cos[a/(2*b)]+c*Sin[a/(2*b)])*FresnelS[(1/(Sqrt[b*c]*Sqrt[Pi]))*Sqrt[a+b*ArcSin[c+d*x^2]]]/
+ (Sqrt[b*c]*(Cos[ArcSin[c+d*x^2]/2]-c*Sin[ArcSin[c+d*x^2]/2])) /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2-1]
+
+
+Int[1/Sqrt[a_.+b_.*ArcCos[1+d_.*x_^2]],x_Symbol] :=
+ -2*Sqrt[Pi/b]*Cos[a/(2*b)]*Sin[ArcCos[1+d*x^2]/2]*FresnelC[Sqrt[1/(Pi*b)]*Sqrt[a+b*ArcCos[1+d*x^2]]]/(d*x) -
+ 2*Sqrt[Pi/b]*Sin[a/(2*b)]*Sin[ArcCos[1+d*x^2]/2]*FresnelS[Sqrt[1/(Pi*b)]*Sqrt[a+b*ArcCos[1+d*x^2]]]/(d*x) /;
+FreeQ[{a,b,d},x]
+
+
+Int[1/Sqrt[a_.+b_.*ArcCos[-1+d_.*x_^2]],x_Symbol] :=
+ 2*Sqrt[Pi/b]*Sin[a/(2*b)]*Cos[ArcCos[-1+d*x^2]/2]*FresnelC[Sqrt[1/(Pi*b)]*Sqrt[a+b*ArcCos[-1+d*x^2]]]/(d*x) -
+ 2*Sqrt[Pi/b]*Cos[a/(2*b)]*Cos[ArcCos[-1+d*x^2]/2]*FresnelS[Sqrt[1/(Pi*b)]*Sqrt[a+b*ArcCos[-1+d*x^2]]]/(d*x) /;
+FreeQ[{a,b,d},x]
+
+
+Int[1/(a_.+b_.*ArcSin[c_+d_.*x_^2])^(3/2),x_Symbol] :=
+ -Sqrt[-2*c*d*x^2-d^2*x^4]/(b*d*x*Sqrt[a+b*ArcSin[c+d*x^2]]) -
+ (c/b)^(3/2)*Sqrt[Pi]*x*(Cos[a/(2*b)]+c*Sin[a/(2*b)])*FresnelC[Sqrt[c/(Pi*b)]*Sqrt[a+b*ArcSin[c+d*x^2]]]/
+ (Cos[(1/2)*ArcSin[c+d*x^2]]-c*Sin[ArcSin[c+d*x^2]/2]) +
+ (c/b)^(3/2)*Sqrt[Pi]*x*(Cos[a/(2*b)]-c*Sin[a/(2*b)])*FresnelS[Sqrt[c/(Pi*b)]*Sqrt[a+b*ArcSin[c+d*x^2]]]/
+ (Cos[(1/2)*ArcSin[c+d*x^2]]-c*Sin[ArcSin[c+d*x^2]/2]) /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2-1]
+
+
+Int[1/(a_.+b_.*ArcCos[1+d_.*x_^2])^(3/2),x_Symbol] :=
+ Sqrt[-2*d*x^2-d^2*x^4]/(b*d*x*Sqrt[a+b*ArcCos[1+d*x^2]]) -
+ 2*(1/b)^(3/2)*Sqrt[Pi]*Sin[a/(2*b)]*Sin[ArcCos[1+d*x^2]/2]*FresnelC[Sqrt[1/(Pi*b)]*Sqrt[a+b*ArcCos[1+d*x^2]]]/(d*x) +
+ 2*(1/b)^(3/2)*Sqrt[Pi]*Cos[a/(2*b)]*Sin[ArcCos[1+d*x^2]/2]*FresnelS[Sqrt[1/(Pi*b)]*Sqrt[a+b*ArcCos[1+d*x^2]]]/(d*x) /;
+FreeQ[{a,b,d},x]
+
+
+Int[1/(a_.+b_.*ArcCos[-1+d_.*x_^2])^(3/2),x_Symbol] :=
+ Sqrt[2*d*x^2-d^2*x^4]/(b*d*x*Sqrt[a+b*ArcCos[-1+d*x^2]]) -
+ 2*(1/b)^(3/2)*Sqrt[Pi]*Cos[a/(2*b)]*Cos[ArcCos[-1+d*x^2]/2]*FresnelC[Sqrt[1/(Pi*b)]*Sqrt[a+b*ArcCos[-1+d*x^2]]]/(d*x) -
+ 2*(1/b)^(3/2)*Sqrt[Pi]*Sin[a/(2*b)]*Cos[ArcCos[-1+d*x^2]/2]*FresnelS[Sqrt[1/(Pi*b)]*Sqrt[a+b*ArcCos[-1+d*x^2]]]/(d*x) /;
+FreeQ[{a,b,d},x]
+
+
+Int[1/(a_.+b_.*ArcSin[c_+d_.*x_^2])^2,x_Symbol] :=
+ -Sqrt[-2*c*d*x^2-d^2*x^4]/(2*b*d*x*(a+b*ArcSin[c+d*x^2])) -
+ x*(Cos[a/(2*b)]+c*Sin[a/(2*b)])*CosIntegral[(c/(2*b))*(a+b*ArcSin[c+d*x^2])]/
+ (4*b^2*(Cos[ArcSin[c+d*x^2]/2]-c*Sin[ArcSin[c+d*x^2]/2])) +
+ x*(Cos[a/(2*b)]-c*Sin[a/(2*b)])*SinIntegral[(c/(2*b))*(a+b*ArcSin[c+d*x^2])]/
+ (4*b^2*(Cos[ArcSin[c+d*x^2]/2]-c*Sin[ArcSin[c+d*x^2]/2])) /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2-1]
+
+
+Int[1/(a_.+b_.*ArcCos[1+d_.*x_^2])^2,x_Symbol] :=
+ Sqrt[-2*d*x^2-d^2*x^4]/(2*b*d*x*(a+b*ArcCos[1+d*x^2])) +
+ x*Sin[a/(2*b)]*CosIntegral[(a+b*ArcCos[1+d*x^2])/(2*b)]/(2*Sqrt[2]*b^2*Sqrt[(-d)*x^2]) -
+ x*Cos[a/(2*b)]*SinIntegral[(a+b*ArcCos[1+d*x^2])/(2*b)]/(2*Sqrt[2]*b^2*Sqrt[(-d)*x^2]) /;
+FreeQ[{a,b,d},x]
+
+
+Int[1/(a_.+b_.*ArcCos[-1+d_.*x_^2])^2,x_Symbol] :=
+ Sqrt[2*d*x^2-d^2*x^4]/(2*b*d*x*(a+b*ArcCos[-1+d*x^2])) -
+ x*Cos[a/(2*b)]*CosIntegral[(a+b*ArcCos[-1+d*x^2])/(2*b)]/(2*Sqrt[2]*b^2*Sqrt[d*x^2]) -
+ x*Sin[a/(2*b)]*SinIntegral[(a+b*ArcCos[-1+d*x^2])/(2*b)]/(2*Sqrt[2]*b^2*Sqrt[d*x^2]) /;
+FreeQ[{a,b,d},x]
+
+
+Int[(a_.+b_.*ArcSin[c_+d_.*x_^2])^n_,x_Symbol] :=
+ x*(a+b*ArcSin[c+d*x^2])^(n+2)/(4*b^2*(n+1)*(n+2)) +
+ Sqrt[-2*c*d*x^2-d^2*x^4]*(a+b*ArcSin[c+d*x^2])^(n+1)/(2*b*d*(n+1)*x) -
+ 1/(4*b^2*(n+1)*(n+2))*Int[(a+b*ArcSin[c+d*x^2])^(n+2),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2-1] && RationalQ[n] && n<-1 && n!=-2
+
+
+Int[(a_.+b_.*ArcCos[c_+d_.*x_^2])^n_,x_Symbol] :=
+ x*(a+b*ArcCos[c+d*x^2])^(n+2)/(4*b^2*(n+1)*(n+2)) -
+ Sqrt[-2*c*d*x^2-d^2*x^4]*(a+b*ArcCos[c+d*x^2])^(n+1)/(2*b*d*(n+1)*x) -
+ 1/(4*b^2*(n+1)*(n+2))*Int[(a+b*ArcCos[c+d*x^2])^(n+2),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2-1] && RationalQ[n] && n<-1 && n!=-2
+
+
+Int[ArcSin[a_.*x_^p_]^n_./x_,x_Symbol] :=
+ 1/p*Subst[Int[x^n*Cot[x],x],x,ArcSin[a*x^p]] /;
+FreeQ[{a,p},x] && PositiveIntegerQ[n]
+
+
+Int[ArcCos[a_.*x_^p_]^n_./x_,x_Symbol] :=
+ -1/p*Subst[Int[x^n*Tan[x],x],x,ArcCos[a*x^p]] /;
+FreeQ[{a,p},x] && PositiveIntegerQ[n]
+
+
+Int[u_.*ArcSin[c_./(a_.+b_.*x_^n_.)]^m_.,x_Symbol] :=
+ Int[u*ArcCsc[a/c+b*x^n/c]^m,x] /;
+FreeQ[{a,b,c,n,m},x]
+
+
+Int[u_.*ArcCos[c_./(a_.+b_.*x_^n_.)]^m_.,x_Symbol] :=
+ Int[u*ArcSec[a/c+b*x^n/c]^m,x] /;
+FreeQ[{a,b,c,n,m},x]
+
+
+Int[ArcSin[Sqrt[1+b_.*x_^2]]^n_./Sqrt[1+b_.*x_^2],x_Symbol] :=
+ Sqrt[-b*x^2]/(b*x)*Subst[Int[ArcSin[x]^n/Sqrt[1-x^2],x],x,Sqrt[1+b*x^2]] /;
+FreeQ[{b,n},x]
+
+
+Int[ArcCos[Sqrt[1+b_.*x_^2]]^n_./Sqrt[1+b_.*x_^2],x_Symbol] :=
+ Sqrt[-b*x^2]/(b*x)*Subst[Int[ArcCos[x]^n/Sqrt[1-x^2],x],x,Sqrt[1+b*x^2]] /;
+FreeQ[{b,n},x]
+
+
+Int[u_.*f_^(c_.*ArcSin[a_.+b_.*x_]^n_.),x_Symbol] :=
+ 1/b*Subst[Int[ReplaceAll[u,x->-a/b+Sin[x]/b]*f^(c*x^n)*Cos[x],x],x,ArcSin[a+b*x]] /;
+FreeQ[{a,b,c,f},x] && PositiveIntegerQ[n]
+
+
+Int[u_.*f_^(c_.*ArcCos[a_.+b_.*x_]^n_.),x_Symbol] :=
+ -1/b*Subst[Int[ReplaceAll[u,x->-a/b+Cos[x]/b]*f^(c*x^n)*Sin[x],x],x,ArcCos[a+b*x]] /;
+FreeQ[{a,b,c,f},x] && PositiveIntegerQ[n]
+
+
+Int[ArcSin[a_.*x_^2+b_.*Sqrt[c_+d_.*x_^2]],x_Symbol] :=
+ x*ArcSin[a*x^2+b*Sqrt[c+d*x^2]] -
+ x*Sqrt[b^2*d+a^2*x^2+2*a*b*Sqrt[c+d*x^2]]/Sqrt[(-x^2)*(b^2*d+a^2*x^2+2*a*b*Sqrt[c+d*x^2])]*
+ Int[x*(b*d+2*a*Sqrt[c+d*x^2])/(Sqrt[c+d*x^2]*Sqrt[b^2*d +a^2*x^2+2*a*b*Sqrt[c+d*x^2]]),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[b^2*c,1]
+
+
+Int[ArcCos[a_.*x_^2+b_.*Sqrt[c_+d_.*x_^2]],x_Symbol] :=
+ x*ArcCos[a*x^2+b*Sqrt[c+d*x^2]] +
+ x*Sqrt[b^2*d+a^2*x^2+2*a*b*Sqrt[c+d*x^2]]/Sqrt[(-x^2)*(b^2*d+a^2*x^2+2*a*b*Sqrt[c+d*x^2])]*
+ Int[x*(b*d+2*a*Sqrt[c+d*x^2])/(Sqrt[c+d*x^2]*Sqrt[b^2*d+a^2*x^2+2*a*b*Sqrt[c+d*x^2]]),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[b^2*c,1]
+
+
+Int[ArcSin[u_],x_Symbol] :=
+ x*ArcSin[u] -
+ Int[SimplifyIntegrand[x*D[u,x]/Sqrt[1-u^2],x],x] /;
+InverseFunctionFreeQ[u,x] && Not[FunctionOfExponentialQ[u,x]]
+
+
+Int[ArcCos[u_],x_Symbol] :=
+ x*ArcCos[u] +
+ Int[SimplifyIntegrand[x*D[u,x]/Sqrt[1-u^2],x],x] /;
+InverseFunctionFreeQ[u,x] && Not[FunctionOfExponentialQ[u,x]]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_.+b_.*ArcSin[u_]),x_Symbol] :=
+ (c+d*x)^(m+1)*(a+b*ArcSin[u])/(d*(m+1)) -
+ b/(d*(m+1))*Int[SimplifyIntegrand[(c+d*x)^(m+1)*D[u,x]/Sqrt[1-u^2],x],x] /;
+FreeQ[{a,b,c,d,m},x] && NeQ[m+1] && InverseFunctionFreeQ[u,x] && Not[FunctionOfQ[(c+d*x)^(m+1),u,x]] && Not[FunctionOfExponentialQ[u,x]]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_.+b_.*ArcCos[u_]),x_Symbol] :=
+ (c+d*x)^(m+1)*(a+b*ArcCos[u])/(d*(m+1)) +
+ b/(d*(m+1))*Int[SimplifyIntegrand[(c+d*x)^(m+1)*D[u,x]/Sqrt[1-u^2],x],x] /;
+FreeQ[{a,b,c,d,m},x] && NeQ[m+1] && InverseFunctionFreeQ[u,x] && Not[FunctionOfQ[(c+d*x)^(m+1),u,x]] && Not[FunctionOfExponentialQ[u,x]]
+
+
+Int[v_*(a_.+b_.*ArcSin[u_]),x_Symbol] :=
+ With[{w=IntHide[v,x]},
+ Dist[(a+b*ArcSin[u]),w,x] -
+ b*Int[SimplifyIntegrand[w*D[u,x]/Sqrt[1-u^2],x],x] /;
+ InverseFunctionFreeQ[w,x]] /;
+FreeQ[{a,b},x] && InverseFunctionFreeQ[u,x] && Not[MatchQ[v, (c_.+d_.*x)^m_. /; FreeQ[{c,d,m},x]]]
+
+
+Int[v_*(a_.+b_.*ArcCos[u_]),x_Symbol] :=
+ With[{w=IntHide[v,x]},
+ Dist[(a+b*ArcCos[u]),w,x] +
+ b*Int[SimplifyIntegrand[w*D[u,x]/Sqrt[1-u^2],x],x] /;
+ InverseFunctionFreeQ[w,x]] /;
+FreeQ[{a,b},x] && InverseFunctionFreeQ[u,x] && Not[MatchQ[v, (c_.+d_.*x)^m_. /; FreeQ[{c,d,m},x]]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*5.2.1 u (a+b arctan(c x))^n*)
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ x*(a+b*ArcTan[c*x])^n -
+ b*c*n*Int[x*(a+b*ArcTan[c*x])^(n-1)/(1+c^2*x^2),x] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ x*(a+b*ArcCot[c*x])^n +
+ b*c*n*Int[x*(a+b*ArcCot[c*x])^(n-1)/(1+c^2*x^2),x] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_,x_Symbol] :=
+ Defer[Int][(a+b*ArcTan[c*x])^n,x] /;
+FreeQ[{a,b,c,n},x] && Not[PositiveIntegerQ[n]]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_,x_Symbol] :=
+ Defer[Int][(a+b*ArcCot[c*x])^n,x] /;
+FreeQ[{a,b,c,n},x] && Not[PositiveIntegerQ[n]]
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_./(d_+e_.*x_),x_Symbol] :=
+ -(a+b*ArcTan[c*x])^n*Log[2*d/(d+e*x)]/e +
+ b*c*n/e*Int[(a+b*ArcTan[c*x])^(n-1)*Log[2*d/(d+e*x)]/(1+c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d^2+e^2] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_./(d_+e_.*x_),x_Symbol] :=
+ -(a+b*ArcCot[c*x])^n*Log[2*d/(d+e*x)]/e -
+ b*c*n/e*Int[(a+b*ArcCot[c*x])^(n-1)*Log[2*d/(d+e*x)]/(1+c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d^2+e^2] && PositiveIntegerQ[n]
+
+
+Int[ArcTan[c_.*x_]/(d_+e_.*x_),x_Symbol] :=
+ -ArcTan[c*d/e]*Log[d+e*x]/e + I*PolyLog[2,Simp[I*c*(d+e*x)/(I*c*d-e),x]]/(2*e) - I*PolyLog[2,Simp[I*c*(d+e*x)/(I*c*d+e),x]]/(2*e) /;
+FreeQ[{c,d,e},x] && PositiveQ[I*c*d/e+1] && NegativeQ[I*c*d/e-1]
+
+
+(* Int[ArcCot[c_.*x_]/(d_+e_.*x_),x_Symbol] :=
+ ? /;
+FreeQ[{c,d,e},x] && PositiveQ[I*c*d/e+1] && NegativeQ[I*c*d/e-1] *)
+
+
+Int[ArcTan[c_.*x_]/(d_.+e_.*x_),x_Symbol] :=
+ I/2*Int[Log[1-I*c*x]/(d+e*x),x] - I/2*Int[Log[1+I*c*x]/(d+e*x),x] /;
+FreeQ[{c,d,e},x]
+
+
+Int[ArcCot[c_.*x_]/(d_.+e_.*x_),x_Symbol] :=
+ I/2*Int[Log[1-I/(c*x)]/(d+e*x),x] - I/2*Int[Log[1+I/(c*x)]/(d+e*x),x] /;
+FreeQ[{c,d,e},x]
+
+
+Int[(a_+b_.*ArcTan[c_.*x_])/(d_.+e_.*x_),x_Symbol] :=
+ a/e*Log[RemoveContent[d+e*x,x]] + b*Int[ArcTan[c*x]/(d+e*x),x] /;
+FreeQ[{a,b,c,d,e},x]
+
+
+Int[(a_+b_.*ArcCot[c_.*x_])/(d_.+e_.*x_),x_Symbol] :=
+ a/e*Log[RemoveContent[d+e*x,x]] + b*Int[ArcCot[c*x]/(d+e*x),x] /;
+FreeQ[{a,b,c,d,e},x]
+
+
+Int[(d_.+e_.*x_)^p_.*(a_.+b_.*ArcTan[c_.*x_]),x_Symbol] :=
+ (d+e*x)^(p+1)*(a+b*ArcTan[c*x])/(e*(p+1)) -
+ b*c/(e*(p+1))*Int[(d+e*x)^(p+1)/(1+c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[p+1]
+
+
+Int[(d_.+e_.*x_)^p_.*(a_.+b_.*ArcCot[c_.*x_]),x_Symbol] :=
+ (d+e*x)^(p+1)*(a+b*ArcCot[c*x])/(e*(p+1)) +
+ b*c/(e*(p+1))*Int[(d+e*x)^(p+1)/(1+c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[p+1]
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_/x_,x_Symbol] :=
+ 2*(a+b*ArcTan[c*x])^n*ArcTanh[1-2*I/(I-c*x)] -
+ 2*b*c*n*Int[(a+b*ArcTan[c*x])^(n-1)*ArcTanh[1-2*I/(I-c*x)]/(1+c^2*x^2),x] /;
+FreeQ[{a,b,c},x] && IntegerQ[n] && n>1
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_/x_,x_Symbol] :=
+ 2*(a+b*ArcCot[c*x])^n*ArcCoth[1-2*I/(I-c*x)] +
+ 2*b*c*n*Int[(a+b*ArcCot[c*x])^(n-1)*ArcCoth[1-2*I/(I-c*x)]/(1+c^2*x^2),x] /;
+FreeQ[{a,b,c},x] && IntegerQ[n] && n>1
+
+
+Int[x_^m_.*(a_.+b_.*ArcTan[c_.*x_])^n_,x_Symbol] :=
+ x^(m+1)*(a+b*ArcTan[c*x])^n/(m+1) -
+ b*c*n/(m+1)*Int[x^(m+1)*(a+b*ArcTan[c*x])^(n-1)/(1+c^2*x^2),x] /;
+FreeQ[{a,b,c,m},x] && IntegerQ[n] && n>1 && NeQ[m+1]
+
+
+Int[x_^m_.*(a_.+b_.*ArcCot[c_.*x_])^n_,x_Symbol] :=
+ x^(m+1)*(a+b*ArcCot[c*x])^n/(m+1) +
+ b*c*n/(m+1)*Int[x^(m+1)*(a+b*ArcCot[c*x])^(n-1)/(1+c^2*x^2),x] /;
+FreeQ[{a,b,c,m},x] && IntegerQ[n] && n>1 && NeQ[m+1]
+
+
+Int[(d_+e_.*x_)^p_.*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^p*(a+b*ArcTan[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && PositiveIntegerQ[n,p]
+
+
+Int[(d_+e_.*x_)^p_.*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^p*(a+b*ArcCot[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && PositiveIntegerQ[n,p]
+
+
+Int[(d_.+e_.*x_)^p_.*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x)^p*(a+b*ArcTan[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x]
+
+
+Int[(d_.+e_.*x_)^p_.*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x)^p*(a+b*ArcCot[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x]
+
+
+Int[x_^m_.*(a_.+b_.*ArcTan[c_.*x_])^n_./(d_+e_.*x_),x_Symbol] :=
+ 1/e*Int[x^(m-1)*(a+b*ArcTan[c*x])^n,x] -
+ d/e*Int[x^(m-1)*(a+b*ArcTan[c*x])^n/(d+e*x),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d^2+e^2] && PositiveIntegerQ[n] && RationalQ[m] && m>0
+
+
+Int[x_^m_.*(a_.+b_.*ArcCot[c_.*x_])^n_./(d_+e_.*x_),x_Symbol] :=
+ 1/e*Int[x^(m-1)*(a+b*ArcCot[c*x])^n,x] -
+ d/e*Int[x^(m-1)*(a+b*ArcCot[c*x])^n/(d+e*x),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d^2+e^2] && PositiveIntegerQ[n] && RationalQ[m] && m>0
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_./(x_*(d_+e_.*x_)),x_Symbol] :=
+ (a+b*ArcTan[c*x])^n*Log[2*e*x/(d+e*x)]/d -
+ b*c*n/d*Int[(a+b*ArcTan[c*x])^(n-1)*Log[2*e*x/(d+e*x)]/(1+c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d^2+e^2] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_./(x_*(d_+e_.*x_)),x_Symbol] :=
+ (a+b*ArcCot[c*x])^n*Log[2*e*x/(d+e*x)]/d +
+ b*c*n/d*Int[(a+b*ArcCot[c*x])^(n-1)*Log[2*e*x/(d+e*x)]/(1+c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d^2+e^2] && PositiveIntegerQ[n]
+
+
+Int[x_^m_*(a_.+b_.*ArcTan[c_.*x_])^n_./(d_+e_.*x_),x_Symbol] :=
+ 1/d*Int[x^m*(a+b*ArcTan[c*x])^n,x] -
+ e/d*Int[x^(m+1)*(a+b*ArcTan[c*x])^n/(d+e*x),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d^2+e^2] && PositiveIntegerQ[n] && RationalQ[m] && m<-1
+
+
+Int[x_^m_*(a_.+b_.*ArcCot[c_.*x_])^n_./(d_+e_.*x_),x_Symbol] :=
+ 1/d*Int[x^m*(a+b*ArcCot[c*x])^n,x] -
+ e/d*Int[x^(m+1)*(a+b*ArcCot[c*x])^n/(d+e*x),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d^2+e^2] && PositiveIntegerQ[n] && RationalQ[m] && m<-1
+
+
+Int[x_^m_.*(d_+e_.*x_)^p_.*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[x^m*(d+e*x)^p*(a+b*ArcTan[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && IntegerQ[p] && PositiveIntegerQ[n] && (p>0 || NeQ[a] || IntegerQ[m])
+
+
+Int[x_^m_.*(d_+e_.*x_)^p_.*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[x^m*(d+e*x)^p*(a+b*ArcCot[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && IntegerQ[p] && PositiveIntegerQ[n] && (p>0 || NeQ[a] || IntegerQ[m])
+
+
+Int[x_^m_.*(d_.+e_.*x_)^p_.*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][x^m*(d+e*x)^p*(a+b*ArcTan[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[x_^m_.*(d_.+e_.*x_)^p_.*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][x^m*(d+e*x)^p*(a+b*ArcCot[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcTan[c_.*x_]),x_Symbol] :=
+ -b*(d+e*x^2)^p/(2*c*p*(2*p+1)) +
+ x*(d+e*x^2)^p*(a+b*ArcTan[c*x])/(2*p+1) +
+ 2*d*p/(2*p+1)*Int[(d+e*x^2)^(p-1)*(a+b*ArcTan[c*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[p] && p>0
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCot[c_.*x_]),x_Symbol] :=
+ b*(d+e*x^2)^p/(2*c*p*(2*p+1)) +
+ x*(d+e*x^2)^p*(a+b*ArcCot[c*x])/(2*p+1) +
+ 2*d*p/(2*p+1)*Int[(d+e*x^2)^(p-1)*(a+b*ArcCot[c*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[p] && p>0
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcTan[c_.*x_])^n_,x_Symbol] :=
+ -b*n*(d+e*x^2)^p*(a+b*ArcTan[c*x])^(n-1)/(2*c*p*(2*p+1)) +
+ x*(d+e*x^2)^p*(a+b*ArcTan[c*x])^n/(2*p+1) +
+ 2*d*p/(2*p+1)*Int[(d+e*x^2)^(p-1)*(a+b*ArcTan[c*x])^n,x] +
+ b^2*d*n*(n-1)/(2*p*(2*p+1))*Int[(d+e*x^2)^(p-1)*(a+b*ArcTan[c*x])^(n-2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n,p] && p>0 && n>1
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCot[c_.*x_])^n_,x_Symbol] :=
+ b*n*(d+e*x^2)^p*(a+b*ArcCot[c*x])^(n-1)/(2*c*p*(2*p+1)) +
+ x*(d+e*x^2)^p*(a+b*ArcCot[c*x])^n/(2*p+1) +
+ 2*d*p/(2*p+1)*Int[(d+e*x^2)^(p-1)*(a+b*ArcCot[c*x])^n,x] +
+ b^2*d*n*(n-1)/(2*p*(2*p+1))*Int[(d+e*x^2)^(p-1)*(a+b*ArcCot[c*x])^(n-2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n,p] && p>0 && n>1
+
+
+Int[1/((d_+e_.*x_^2)*(a_.+b_.*ArcTan[c_.*x_])),x_Symbol] :=
+ Log[RemoveContent[a+b*ArcTan[c*x],x]]/(b*c*d) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d]
+
+
+Int[1/((d_+e_.*x_^2)*(a_.+b_.*ArcCot[c_.*x_])),x_Symbol] :=
+ -Log[RemoveContent[a+b*ArcCot[c*x],x]]/(b*c*d) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d]
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ (a+b*ArcTan[c*x])^(n+1)/(b*c*d*(n+1)) /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && NeQ[n+1]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ -(a+b*ArcCot[c*x])^(n+1)/(b*c*d*(n+1)) /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && NeQ[n+1]
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])/Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ -2*I*(a+b*ArcTan[c*x])*ArcTan[Sqrt[1+I*c*x]/Sqrt[1-I*c*x]]/(c*Sqrt[d]) +
+ I*b*PolyLog[2,-I*Sqrt[1+I*c*x]/Sqrt[1-I*c*x]]/(c*Sqrt[d]) -
+ I*b*PolyLog[2,I*Sqrt[1+I*c*x]/Sqrt[1-I*c*x]]/(c*Sqrt[d]) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])/Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ -2*I*(a+b*ArcCot[c*x])*ArcTan[Sqrt[1+I*c*x]/Sqrt[1-I*c*x]]/(c*Sqrt[d]) -
+ I*b*PolyLog[2,-I*Sqrt[1+I*c*x]/Sqrt[1-I*c*x]]/(c*Sqrt[d]) +
+ I*b*PolyLog[2,I*Sqrt[1+I*c*x]/Sqrt[1-I*c*x]]/(c*Sqrt[d]) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ 1/(c*Sqrt[d])*Subst[Int[(a+b*x)^n*Sec[x],x],x,ArcTan[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveIntegerQ[n] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ -x*Sqrt[1+1/(c^2*x^2)]/Sqrt[d+e*x^2]*Subst[Int[(a+b*x)^n*Csc[x],x],x,ArcCot[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveIntegerQ[n] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ Sqrt[1+c^2*x^2]/Sqrt[d+e*x^2]*Int[(a+b*ArcTan[c*x])^n/Sqrt[1+c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveIntegerQ[n] && Not[PositiveQ[d]]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ Sqrt[1+c^2*x^2]/Sqrt[d+e*x^2]*Int[(a+b*ArcCot[c*x])^n/Sqrt[1+c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveIntegerQ[n] && Not[PositiveQ[d]]
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_./(d_+e_.*x_^2)^2,x_Symbol] :=
+ x*(a+b*ArcTan[c*x])^n/(2*d*(d+e*x^2)) +
+ (a+b*ArcTan[c*x])^(n+1)/(2*b*c*d^2*(n+1)) -
+ b*c*n/2*Int[x*(a+b*ArcTan[c*x])^(n-1)/(d+e*x^2)^2,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_./(d_+e_.*x_^2)^2,x_Symbol] :=
+ x*(a+b*ArcCot[c*x])^n/(2*d*(d+e*x^2)) -
+ (a+b*ArcCot[c*x])^(n+1)/(2*b*c*d^2*(n+1)) +
+ b*c*n/2*Int[x*(a+b*ArcCot[c*x])^(n-1)/(d+e*x^2)^2,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])/(d_+e_.*x_^2)^(3/2),x_Symbol] :=
+ b/(c*d*Sqrt[d+e*x^2]) +
+ x*(a+b*ArcTan[c*x])/(d*Sqrt[d+e*x^2]) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])/(d_+e_.*x_^2)^(3/2),x_Symbol] :=
+ -b/(c*d*Sqrt[d+e*x^2]) +
+ x*(a+b*ArcCot[c*x])/(d*Sqrt[d+e*x^2]) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d]
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTan[c_.*x_]),x_Symbol] :=
+ b*(d+e*x^2)^(p+1)/(4*c*d*(p+1)^2) -
+ x*(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])/(2*d*(p+1)) +
+ (2*p+3)/(2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[p] && p<-1 && p!=-3/2
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCot[c_.*x_]),x_Symbol] :=
+ -b*(d+e*x^2)^(p+1)/(4*c*d*(p+1)^2) -
+ x*(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])/(2*d*(p+1)) +
+ (2*p+3)/(2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[p] && p<-1 && p!=-3/2
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_/(d_+e_.*x_^2)^(3/2),x_Symbol] :=
+ b*n*(a+b*ArcTan[c*x])^(n-1)/(c*d*Sqrt[d+e*x^2]) +
+ x*(a+b*ArcTan[c*x])^n/(d*Sqrt[d+e*x^2]) -
+ b^2*n*(n-1)*Int[(a+b*ArcTan[c*x])^(n-2)/(d+e*x^2)^(3/2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>1
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_/(d_+e_.*x_^2)^(3/2),x_Symbol] :=
+ -b*n*(a+b*ArcCot[c*x])^(n-1)/(c*d*Sqrt[d+e*x^2]) +
+ x*(a+b*ArcCot[c*x])^n/(d*Sqrt[d+e*x^2]) -
+ b^2*n*(n-1)*Int[(a+b*ArcCot[c*x])^(n-2)/(d+e*x^2)^(3/2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>1
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTan[c_.*x_])^n_,x_Symbol] :=
+ b*n*(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])^(n-1)/(4*c*d*(p+1)^2) -
+ x*(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])^n/(2*d*(p+1)) +
+ (2*p+3)/(2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])^n,x] -
+ b^2*n*(n-1)/(4*(p+1)^2)*Int[(d+e*x^2)^p*(a+b*ArcTan[c*x])^(n-2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n,p] && p<-1 && n>1 && p!=-3/2
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCot[c_.*x_])^n_,x_Symbol] :=
+ -b*n*(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])^(n-1)/(4*c*d*(p+1)^2) -
+ x*(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])^n/(2*d*(p+1)) +
+ (2*p+3)/(2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])^n,x] -
+ b^2*n*(n-1)/(4*(p+1)^2)*Int[(d+e*x^2)^p*(a+b*ArcCot[c*x])^(n-2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n,p] && p<-1 && n>1 && p!=-3/2
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTan[c_.*x_])^n_,x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])^(n+1)/(b*c*d*(n+1)) -
+ 2*c*(p+1)/(b*(n+1))*Int[x*(d+e*x^2)^p*(a+b*ArcTan[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n,p] && p<-1 && n<-1
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCot[c_.*x_])^n_,x_Symbol] :=
+ -(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])^(n+1)/(b*c*d*(n+1)) +
+ 2*c*(p+1)/(b*(n+1))*Int[x*(d+e*x^2)^p*(a+b*ArcCot[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n,p] && p<-1 && n<-1
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ d^p/c*Subst[Int[(a+b*x)^n/Cos[x]^(2*(p+1)),x],x,ArcTan[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && NegativeIntegerQ[2*(p+1)] && (IntegerQ[p] || PositiveQ[d])
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ d^(p+1/2)*Sqrt[1+c^2*x^2]/Sqrt[d+e*x^2]*Int[(1+c^2*x^2)^p*(a+b*ArcTan[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && NegativeIntegerQ[2*(p+1)] && Not[IntegerQ[p] || PositiveQ[d]]
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ -d^p/c*Subst[Int[(a+b*x)^n/Sin[x]^(2*(p+1)),x],x,ArcCot[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && NegativeIntegerQ[2*(p+1)] && IntegerQ[p]
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ -d^(p+1/2)*x*Sqrt[(1+c^2*x^2)/(c^2*x^2)]/Sqrt[d+e*x^2]*Subst[Int[(a+b*x)^n/Sin[x]^(2*(p+1)),x],x,ArcCot[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && NegativeIntegerQ[2*(p+1)] && Not[IntegerQ[p]]
+
+
+Int[ArcTan[c_.*x_]/(d_.+e_.*x_^2),x_Symbol] :=
+ I/2*Int[Log[1-I*c*x]/(d+e*x^2),x] - I/2*Int[Log[1+I*c*x]/(d+e*x^2),x] /;
+FreeQ[{c,d,e},x]
+
+
+Int[ArcCot[c_.*x_]/(d_.+e_.*x_^2),x_Symbol] :=
+ I/2*Int[Log[1-I/(c*x)]/(d+e*x^2),x] - I/2*Int[Log[1+I/(c*x)]/(d+e*x^2),x] /;
+FreeQ[{c,d,e},x]
+
+
+Int[(a_+b_.*ArcTan[c_.*x_])/(d_.+e_.*x_^2),x_Symbol] :=
+ a*Int[1/(d+e*x^2),x] + b*Int[ArcTan[c*x]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x]
+
+
+Int[(a_+b_.*ArcCot[c_.*x_])/(d_.+e_.*x_^2),x_Symbol] :=
+ a*Int[1/(d+e*x^2),x] + b*Int[ArcCot[c*x]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x]
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcTan[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[a+b*ArcTan[c*x],u,x] - b*c*Int[ExpandIntegrand[u/(1+c^2*x^2),x],x]] /;
+FreeQ[{a,b,c,d,e},x] && (IntegerQ[p] || NegativeIntegerQ[p+1/2])
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCot[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[a+b*ArcCot[c*x],u,x] + b*c*Int[ExpandIntegrand[u/(1+c^2*x^2),x],x]] /;
+FreeQ[{a,b,c,d,e},x] && (IntegerQ[p] || NegativeIntegerQ[p+1/2])
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)^p*(a+b*ArcTan[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && IntegerQ[p] && PositiveIntegerQ[n]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)^p*(a+b*ArcCot[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && IntegerQ[p] && PositiveIntegerQ[n]
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x^2)^p*(a+b*ArcTan[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x]
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x^2)^p*(a+b*ArcCot[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x]
+
+
+Int[x_^m_*(a_.+b_.*ArcTan[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/e*Int[x^(m-2)*(a+b*ArcTan[c*x])^n,x] -
+ d/e*Int[x^(m-2)*(a+b*ArcTan[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m,n] && n>0 && m>1
+
+
+Int[x_^m_*(a_.+b_.*ArcCot[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/e*Int[x^(m-2)*(a+b*ArcCot[c*x])^n,x] -
+ d/e*Int[x^(m-2)*(a+b*ArcCot[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m,n] && n>0 && m>1
+
+
+Int[x_^m_*(a_.+b_.*ArcTan[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/d*Int[x^m*(a+b*ArcTan[c*x])^n,x] -
+ e/d*Int[x^(m+2)*(a+b*ArcTan[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m,n] && n>0 && m<-1
+
+
+Int[x_^m_*(a_.+b_.*ArcCot[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/d*Int[x^m*(a+b*ArcCot[c*x])^n,x] -
+ e/d*Int[x^(m+2)*(a+b*ArcCot[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m,n] && n>0 && m<-1
+
+
+Int[x_*(a_.+b_.*ArcTan[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ -I*(a+b*ArcTan[c*x])^(n+1)/(b*e*(n+1)) -
+ 1/(c*d)*Int[(a+b*ArcTan[c*x])^n/(I-c*x),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveIntegerQ[n]
+
+
+Int[x_*(a_.+b_.*ArcCot[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ I*(a+b*ArcCot[c*x])^(n+1)/(b*e*(n+1)) -
+ 1/(c*d)*Int[(a+b*ArcCot[c*x])^n/(I-c*x),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveIntegerQ[n]
+
+
+Int[x_*(a_.+b_.*ArcTan[c_.*x_])^n_/(d_+e_.*x_^2),x_Symbol] :=
+ x*(a+b*ArcTan[c*x])^(n+1)/(b*c*d*(n+1)) -
+ 1/(b*c*d*(n+1))*Int[(a+b*ArcTan[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && Not[PositiveIntegerQ[n]] && NeQ[n+1]
+
+
+Int[x_*(a_.+b_.*ArcCot[c_.*x_])^n_/(d_+e_.*x_^2),x_Symbol] :=
+ -x*(a+b*ArcCot[c*x])^(n+1)/(b*c*d*(n+1)) +
+ 1/(b*c*d*(n+1))*Int[(a+b*ArcCot[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && Not[PositiveIntegerQ[n]] && NeQ[n+1]
+
+
+Int[x_^m_*(a_.+b_.*ArcTan[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/e*Int[x^(m-2)*(a+b*ArcTan[c*x])^n,x] -
+ d/e*Int[x^(m-2)*(a+b*ArcTan[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[m,n] && n>0 && m>1
+
+
+Int[x_^m_*(a_.+b_.*ArcCot[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/e*Int[x^(m-2)*(a+b*ArcCot[c*x])^n,x] -
+ d/e*Int[x^(m-2)*(a+b*ArcCot[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[m,n] && n>0 && m>1
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_./(x_*(d_+e_.*x_^2)),x_Symbol] :=
+ -I*(a+b*ArcTan[c*x])^(n+1)/(b*d*(n+1)) +
+ I/d*Int[(a+b*ArcTan[c*x])^n/(x*(I+c*x)),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_./(x_*(d_+e_.*x_^2)),x_Symbol] :=
+ I*(a+b*ArcCot[c*x])^(n+1)/(b*d*(n+1)) +
+ I/d*Int[(a+b*ArcCot[c*x])^n/(x*(I+c*x)),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0
+
+
+Int[x_^m_*(a_.+b_.*ArcTan[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/d*Int[x^m*(a+b*ArcTan[c*x])^n,x] -
+ e/d*Int[x^(m+2)*(a+b*ArcTan[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[m,n] && n>0 && m<-1
+
+
+Int[x_^m_*(a_.+b_.*ArcCot[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/d*Int[x^m*(a+b*ArcCot[c*x])^n,x] -
+ e/d*Int[x^(m+2)*(a+b*ArcCot[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[m,n] && n>0 && m<-1
+
+
+Int[x_^m_*(a_.+b_.*ArcTan[c_.*x_])^n_/(d_+e_.*x_^2),x_Symbol] :=
+ x^m*(a+b*ArcTan[c*x])^(n+1)/(b*c*d*(n+1)) -
+ m/(b*c*d*(n+1))*Int[x^(m-1)*(a+b*ArcTan[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[e-c^2*d] && RationalQ[n] && n<-1
+
+
+Int[x_^m_*(a_.+b_.*ArcCot[c_.*x_])^n_/(d_+e_.*x_^2),x_Symbol] :=
+ -x^m*(a+b*ArcCot[c*x])^(n+1)/(b*c*d*(n+1)) +
+ m/(b*c*d*(n+1))*Int[x^(m-1)*(a+b*ArcCot[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[e-c^2*d] && RationalQ[n] && n<-1
+
+
+Int[x_^m_.*(a_.+b_.*ArcTan[c_.*x_])/(d_+e_.*x_^2),x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcTan[c*x]),x^m/(d+e*x^2),x],x] /;
+FreeQ[{a,b,c,d,e},x] && IntegerQ[m] && Not[m==1 && NeQ[a]]
+
+
+Int[x_^m_.*(a_.+b_.*ArcCot[c_.*x_])/(d_+e_.*x_^2),x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcCot[c*x]),x^m/(d+e*x^2),x],x] /;
+FreeQ[{a,b,c,d,e},x] && IntegerQ[m] && Not[m==1 && NeQ[a]]
+
+
+Int[x_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])^n/(2*e*(p+1)) -
+ b*n/(2*c*(p+1))*Int[(d+e*x^2)^p*(a+b*ArcTan[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && NeQ[p+1]
+
+
+Int[x_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])^n/(2*e*(p+1)) +
+ b*n/(2*c*(p+1))*Int[(d+e*x^2)^p*(a+b*ArcCot[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && NeQ[p+1]
+
+
+Int[x_*(a_.+b_.*ArcTan[c_.*x_])^n_/(d_+e_.*x_^2)^2,x_Symbol] :=
+ x*(a+b*ArcTan[c*x])^(n+1)/(b*c*d*(n+1)*(d+e*x^2)) -
+ (1-c^2*x^2)*(a+b*ArcTan[c*x])^(n+2)/(b^2*e*(n+1)*(n+2)*(d+e*x^2)) -
+ 4/(b^2*(n+1)*(n+2))*Int[x*(a+b*ArcTan[c*x])^(n+2)/(d+e*x^2)^2,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n<-1 && n!=-2
+
+
+Int[x_*(a_.+b_.*ArcCot[c_.*x_])^n_/(d_+e_.*x_^2)^2,x_Symbol] :=
+ -x*(a+b*ArcCot[c*x])^(n+1)/(b*c*d*(n+1)*(d+e*x^2)) -
+ (1-c^2*x^2)*(a+b*ArcCot[c*x])^(n+2)/(b^2*e*(n+1)*(n+2)*(d+e*x^2)) -
+ 4/(b^2*(n+1)*(n+2))*Int[x*(a+b*ArcCot[c*x])^(n+2)/(d+e*x^2)^2,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n<-1 && n!=-2
+
+
+Int[x_^2*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTan[c_.*x_]),x_Symbol] :=
+ -b*(d+e*x^2)^(p+1)/(4*c^3*d*(p+1)^2) +
+ x*(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])/(2*c^2*d*(p+1)) -
+ 1/(2*c^2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[p] && p<-1 && p!=-5/2
+
+
+Int[x_^2*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCot[c_.*x_]),x_Symbol] :=
+ b*(d+e*x^2)^(p+1)/(4*c^3*d*(p+1)^2) +
+ x*(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])/(2*c^2*d*(p+1)) -
+ 1/(2*c^2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[p] && p<-1 && p!=-5/2
+
+
+Int[x_^2*(a_.+b_.*ArcTan[c_.*x_])^n_./(d_+e_.*x_^2)^2,x_Symbol] :=
+ (a+b*ArcTan[c*x])^(n+1)/(2*b*c^3*d^2*(n+1)) -
+ x*(a+b*ArcTan[c*x])^n/(2*c^2*d*(d+e*x^2)) +
+ b*n/(2*c)*Int[x*(a+b*ArcTan[c*x])^(n-1)/(d+e*x^2)^2,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0
+
+
+Int[x_^2*(a_.+b_.*ArcCot[c_.*x_])^n_./(d_+e_.*x_^2)^2,x_Symbol] :=
+ -(a+b*ArcCot[c*x])^(n+1)/(2*b*c^3*d^2*(n+1)) -
+ x*(a+b*ArcCot[c*x])^n/(2*c^2*d*(d+e*x^2)) -
+ b*n/(2*c)*Int[x*(a+b*ArcCot[c*x])^(n-1)/(d+e*x^2)^2,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTan[c_.*x_]),x_Symbol] :=
+ b*x^m*(d+e*x^2)^(p+1)/(c*d*m^2) -
+ x^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])/(c^2*d*m) +
+ (m-1)/(c^2*d*m)*Int[x^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && EqQ[m+2*p+2] && RationalQ[p] && p<-1
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCot[c_.*x_]),x_Symbol] :=
+ -b*x^m*(d+e*x^2)^(p+1)/(c*d*m^2) -
+ x^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])/(c^2*d*m) +
+ (m-1)/(c^2*d*m)*Int[x^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && EqQ[m+2*p+2] && RationalQ[p] && p<-1
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTan[c_.*x_])^n_,x_Symbol] :=
+ b*n*x^m*(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])^(n-1)/(c*d*m^2) -
+ x^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])^n/(c^2*d*m) -
+ b^2*n*(n-1)/m^2*Int[x^m*(d+e*x^2)^p*(a+b*ArcTan[c*x])^(n-2),x] +
+ (m-1)/(c^2*d*m)*Int[x^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[e-c^2*d] && EqQ[m+2*p+2] && RationalQ[n,p] && p<-1 && n>1
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCot[c_.*x_])^n_,x_Symbol] :=
+ -b*n*x^m*(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])^(n-1)/(c*d*m^2) -
+ x^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])^n/(c^2*d*m) -
+ b^2*n*(n-1)/m^2*Int[x^m*(d+e*x^2)^p*(a+b*ArcCot[c*x])^(n-2),x] +
+ (m-1)/(c^2*d*m)*Int[x^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[e-c^2*d] && EqQ[m+2*p+2] && RationalQ[n,p] && p<-1 && n>1
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcTan[c_.*x_])^n_,x_Symbol] :=
+ x^m*(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])^(n+1)/(b*c*d*(n+1)) -
+ m/(b*c*(n+1))*Int[x^(m-1)*(d+e*x^2)^p*(a+b*ArcTan[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && EqQ[e-c^2*d] && EqQ[m+2*p+2] && RationalQ[n] && n<-1
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCot[c_.*x_])^n_,x_Symbol] :=
+ -x^m*(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])^(n+1)/(b*c*d*(n+1)) +
+ m/(b*c*(n+1))*Int[x^(m-1)*(d+e*x^2)^p*(a+b*ArcCot[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && EqQ[e-c^2*d] && EqQ[m+2*p+2] && RationalQ[n] && n<-1
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ x^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])^n/(d*(m+1)) -
+ b*c*n/(m+1)*Int[x^(m+1)*(d+e*x^2)^p*(a+b*ArcTan[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && EqQ[e-c^2*d] && EqQ[m+2*p+3] && RationalQ[n] && n>0 && NeQ[m+1]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ x^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])^n/(d*(m+1)) +
+ b*c*n/(m+1)*Int[x^(m+1)*(d+e*x^2)^p*(a+b*ArcCot[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && EqQ[e-c^2*d] && EqQ[m+2*p+3] && RationalQ[n] && n>0 && NeQ[m+1]
+
+
+Int[x_^m_*Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcTan[c_.*x_]),x_Symbol] :=
+ x^(m+1)*Sqrt[d+e*x^2]*(a+b*ArcTan[c*x])/(m+2) -
+ b*c*d/(m+2)*Int[x^(m+1)/Sqrt[d+e*x^2],x] +
+ d/(m+2)*Int[x^m*(a+b*ArcTan[c*x])/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[e-c^2*d] && NeQ[m+2]
+
+
+Int[x_^m_*Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcCot[c_.*x_]),x_Symbol] :=
+ x^(m+1)*Sqrt[d+e*x^2]*(a+b*ArcCot[c*x])/(m+2) +
+ b*c*d/(m+2)*Int[x^(m+1)/Sqrt[d+e*x^2],x] +
+ d/(m+2)*Int[x^m*(a+b*ArcCot[c*x])/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[e-c^2*d] && NeQ[m+2]
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[x^m*(d+e*x^2)^p*(a+b*ArcTan[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[e-c^2*d] && PositiveIntegerQ[n] && IntegerQ[p] && p>1
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[x^m*(d+e*x^2)^p*(a+b*ArcCot[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[e-c^2*d] && PositiveIntegerQ[n] && IntegerQ[p] && p>1
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ d*Int[x^m*(d+e*x^2)^(p-1)*(a+b*ArcTan[c*x])^n,x] +
+ c^2*d*Int[x^(m+2)*(d+e*x^2)^(p-1)*(a+b*ArcTan[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[e-c^2*d] && RationalQ[p] && p>0 && PositiveIntegerQ[n] && (RationalQ[m] || EqQ[n,1] && IntegerQ[p])
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ d*Int[x^m*(d+e*x^2)^(p-1)*(a+b*ArcCot[c*x])^n,x] +
+ c^2*d*Int[x^(m+2)*(d+e*x^2)^(p-1)*(a+b*ArcCot[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[e-c^2*d] && RationalQ[p] && p>0 && PositiveIntegerQ[n] && (RationalQ[m] || EqQ[n,1] && IntegerQ[p])
+
+
+Int[x_^m_*(a_.+b_.*ArcTan[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ x^(m-1)*Sqrt[d+e*x^2]*(a+b*ArcTan[c*x])^n/(c^2*d*m) -
+ b*n/(c*m)*Int[x^(m-1)*(a+b*ArcTan[c*x])^(n-1)/Sqrt[d+e*x^2],x] -
+ (m-1)/(c^2*m)*Int[x^(m-2)*(a+b*ArcTan[c*x])^n/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[m,n] && n>0 && m>1
+
+
+Int[x_^m_*(a_.+b_.*ArcCot[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ x^(m-1)*Sqrt[d+e*x^2]*(a+b*ArcCot[c*x])^n/(c^2*d*m) +
+ b*n/(c*m)*Int[x^(m-1)*(a+b*ArcCot[c*x])^(n-1)/Sqrt[d+e*x^2],x] -
+ (m-1)/(c^2*m)*Int[x^(m-2)*(a+b*ArcCot[c*x])^n/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[m,n] && n>0 && m>1
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])/(x_*Sqrt[d_+e_.*x_^2]),x_Symbol] :=
+ -2/Sqrt[d]*(a+b*ArcTan[c*x])*ArcTanh[Sqrt[1+I*c*x]/Sqrt[1-I*c*x]] +
+ I*b/Sqrt[d]*PolyLog[2,-Sqrt[1+I*c*x]/Sqrt[1-I*c*x]] -
+ I*b/Sqrt[d]*PolyLog[2,Sqrt[1+I*c*x]/Sqrt[1-I*c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])/(x_*Sqrt[d_+e_.*x_^2]),x_Symbol] :=
+ -2/Sqrt[d]*(a+b*ArcCot[c*x])*ArcTanh[Sqrt[1+I*c*x]/Sqrt[1-I*c*x]] -
+ I*b/Sqrt[d]*PolyLog[2,-Sqrt[1+I*c*x]/Sqrt[1-I*c*x]] +
+ I*b/Sqrt[d]*PolyLog[2,Sqrt[1+I*c*x]/Sqrt[1-I*c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_/(x_*Sqrt[d_+e_.*x_^2]),x_Symbol] :=
+ 1/Sqrt[d]*Subst[Int[(a+b*x)^n*Csc[x],x],x,ArcTan[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveIntegerQ[n] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_/(x_*Sqrt[d_+e_.*x_^2]),x_Symbol] :=
+ -c*x*Sqrt[1+1/(c^2*x^2)]/Sqrt[d+e*x^2]*Subst[Int[(a+b*x)^n*Sec[x],x],x,ArcCot[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveIntegerQ[n] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_./(x_*Sqrt[d_+e_.*x_^2]),x_Symbol] :=
+ Sqrt[1+c^2*x^2]/Sqrt[d+e*x^2]*Int[(a+b*ArcTan[c*x])^n/(x*Sqrt[1+c^2*x^2]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveIntegerQ[n] && Not[PositiveQ[d]]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_./(x_*Sqrt[d_+e_.*x_^2]),x_Symbol] :=
+ Sqrt[1+c^2*x^2]/Sqrt[d+e*x^2]*Int[(a+b*ArcCot[c*x])^n/(x*Sqrt[1+c^2*x^2]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveIntegerQ[n] && Not[PositiveQ[d]]
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_./(x_^2*Sqrt[d_+e_.*x_^2]),x_Symbol] :=
+ -Sqrt[d+e*x^2]*(a+b*ArcTan[c*x])^n/(d*x) +
+ b*c*n*Int[(a+b*ArcTan[c*x])^(n-1)/(x*Sqrt[d+e*x^2]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_./(x_^2*Sqrt[d_+e_.*x_^2]),x_Symbol] :=
+ -Sqrt[d+e*x^2]*(a+b*ArcCot[c*x])^n/(d*x) -
+ b*c*n*Int[(a+b*ArcCot[c*x])^(n-1)/(x*Sqrt[d+e*x^2]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0
+
+
+Int[x_^m_*(a_.+b_.*ArcTan[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ x^(m+1)*Sqrt[d+e*x^2]*(a+b*ArcTan[c*x])^n/(d*(m+1)) -
+ b*c*n/(m+1)*Int[x^(m+1)*(a+b*ArcTan[c*x])^(n-1)/Sqrt[d+e*x^2],x] -
+ c^2*(m+2)/(m+1)*Int[x^(m+2)*(a+b*ArcTan[c*x])^n/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[m,n] && n>0 && m<-1 && m!=-2
+
+
+Int[x_^m_*(a_.+b_.*ArcCot[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ x^(m+1)*Sqrt[d+e*x^2]*(a+b*ArcCot[c*x])^n/(d*(m+1)) +
+ b*c*n/(m+1)*Int[x^(m+1)*(a+b*ArcCot[c*x])^(n-1)/Sqrt[d+e*x^2],x] -
+ c^2*(m+2)/(m+1)*Int[x^(m+2)*(a+b*ArcCot[c*x])^n/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[m,n] && n>0 && m<-1 && m!=-2
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ 1/e*Int[x^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])^n,x] -
+ d/e*Int[x^(m-2)*(d+e*x^2)^p*(a+b*ArcTan[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && IntegersQ[m,n,2*p] && p<-1 && m>1 && n!=-1
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ 1/e*Int[x^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])^n,x] -
+ d/e*Int[x^(m-2)*(d+e*x^2)^p*(a+b*ArcCot[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && IntegersQ[m,n,2*p] && p<-1 && m>1 && n!=-1
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ 1/d*Int[x^m*(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])^n,x] -
+ e/d*Int[x^(m+2)*(d+e*x^2)^p*(a+b*ArcTan[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && IntegersQ[m,n,2*p] && p<-1 && m<0 && n!=-1
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ 1/d*Int[x^m*(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])^n,x] -
+ e/d*Int[x^(m+2)*(d+e*x^2)^p*(a+b*ArcCot[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && IntegersQ[m,n,2*p] && p<-1 && m<0 && n!=-1
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ x^m*(d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])^(n+1)/(b*c*d*(n+1)) -
+ m/(b*c*(n+1))*Int[x^(m-1)*(d+e*x^2)^p*(a+b*ArcTan[c*x])^(n+1),x] -
+ c*(m+2*p+2)/(b*(n+1))*Int[x^(m+1)*(d+e*x^2)^p*(a+b*ArcTan[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[m,n,p] && p<-1 && n<-1 && NeQ[m+2*p+2]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ -x^m*(d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])^(n+1)/(b*c*d*(n+1)) +
+ m/(b*c*(n+1))*Int[x^(m-1)*(d+e*x^2)^p*(a+b*ArcCot[c*x])^(n+1),x] +
+ c*(m+2*p+2)/(b*(n+1))*Int[x^(m+1)*(d+e*x^2)^p*(a+b*ArcCot[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[m,n,p] && p<-1 && n<-1 && NeQ[m+2*p+2]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ d^p/c^(m+1)*Subst[Int[(a+b*x)^n*Sin[x]^m/Cos[x]^(m+2*(p+1)),x],x,ArcTan[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && PositiveIntegerQ[m] && NegativeIntegerQ[m+2*p+1] && (IntegerQ[p] || PositiveQ[d])
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ d^(p+1/2)*Sqrt[1+c^2*x^2]/Sqrt[d+e*x^2]*Int[x^m*(1+c^2*x^2)^p*(a+b*ArcTan[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && PositiveIntegerQ[m] && NegativeIntegerQ[m+2*p+1] && Not[IntegerQ[p] || PositiveQ[d]]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ -d^p/c^(m+1)*Subst[Int[(a+b*x)^n*Cos[x]^m/Sin[x]^(m+2*(p+1)),x],x,ArcCot[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && PositiveIntegerQ[m] && NegativeIntegerQ[m+2*p+1] && IntegerQ[p]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ -d^(p+1/2)*x*Sqrt[(1+c^2*x^2)/(c^2*x^2)]/(c^m*Sqrt[d+e*x^2])*Subst[Int[(a+b*x)^n*Cos[x]^m/Sin[x]^(m+2*(p+1)),x],x,ArcCot[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && PositiveIntegerQ[m] && NegativeIntegerQ[m+2*p+1] && Not[IntegerQ[p]]
+
+
+Int[x_*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcTan[c_.*x_]),x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcTan[c*x])/(2*e*(p+1)) -
+ b*c/(2*e*(p+1))*Int[(d+e*x^2)^(p+1)/(1+c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[p+1]
+
+
+Int[x_*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCot[c_.*x_]),x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcCot[c*x])/(2*e*(p+1)) +
+ b*c/(2*e*(p+1))*Int[(d+e*x^2)^(p+1)/(1+c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[p+1]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcTan[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[x^m*(d+e*x^2)^p,x]},
+ Dist[a+b*ArcTan[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/(1+c^2*x^2),x],x]] /;
+FreeQ[{a,b,c,d,e,m,p},x] && (
+ PositiveIntegerQ[p] && Not[NegativeIntegerQ[(m-1)/2] && m+2*p+3>0] ||
+ PositiveIntegerQ[(m+1)/2] && Not[NegativeIntegerQ[p] && m+2*p+3>0] ||
+ NegativeIntegerQ[(m+2*p+1)/2] && Not[NegativeIntegerQ[(m-1)/2]] )
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCot[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[x^m*(d+e*x^2)^p,x]},
+ Dist[a+b*ArcCot[c*x],u,x] + b*c*Int[SimplifyIntegrand[u/(1+c^2*x^2),x],x]] /;
+FreeQ[{a,b,c,d,e,m,p},x] && (
+ PositiveIntegerQ[p] && Not[NegativeIntegerQ[(m-1)/2] && m+2*p+3>0] ||
+ PositiveIntegerQ[(m+1)/2] && Not[NegativeIntegerQ[p] && m+2*p+3>0] ||
+ NegativeIntegerQ[(m+2*p+1)/2] && Not[NegativeIntegerQ[(m-1)/2]] )
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcTan[c*x])^n,x^m*(d+e*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && IntegerQ[p] && PositiveIntegerQ[n] && (p>0 || p<-1 && IntegerQ[m] && m!=1)
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcCot[c*x])^n,x^m*(d+e*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && IntegerQ[p] && PositiveIntegerQ[n] && (p>0 || p<-1 && IntegerQ[m] && m!=1)
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_+b_.*ArcTan[c_.*x_]),x_Symbol] :=
+ a*Int[x^m*(d+e*x^2)^p,x] + b*Int[x^m*(d+e*x^2)^p*ArcTan[c*x],x] /;
+FreeQ[{a,b,c,d,e,m,p},x]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_+b_.*ArcCot[c_.*x_]),x_Symbol] :=
+ a*Int[x^m*(d+e*x^2)^p,x] + b*Int[x^m*(d+e*x^2)^p*ArcCot[c*x],x] /;
+FreeQ[{a,b,c,d,e,m,p},x]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcTan[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][x^m*(d+e*x^2)^p*(a+b*ArcTan[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCot[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][x^m*(d+e*x^2)^p*(a+b*ArcCot[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[ArcTanh[u_]*(a_.+b_.*ArcTan[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/2*Int[Log[1+u]*(a+b*ArcTan[c*x])^n/(d+e*x^2),x] -
+ 1/2*Int[Log[1-u]*(a+b*ArcTan[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && EqQ[u^2-(1-2*I/(I+c*x))^2]
+
+
+Int[ArcCoth[u_]*(a_.+b_.*ArcCot[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/2*Int[Log[SimplifyIntegrand[1+1/u,x]]*(a+b*ArcCot[c*x])^n/(d+e*x^2),x] -
+ 1/2*Int[Log[SimplifyIntegrand[1-1/u,x]]*(a+b*ArcCot[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && EqQ[u^2-(1-2*I/(I+c*x))^2]
+
+
+Int[ArcTanh[u_]*(a_.+b_.*ArcTan[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/2*Int[Log[1+u]*(a+b*ArcTan[c*x])^n/(d+e*x^2),x] -
+ 1/2*Int[Log[1-u]*(a+b*ArcTan[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && EqQ[u^2-(1-2*I/(I-c*x))^2]
+
+
+Int[ArcCoth[u_]*(a_.+b_.*ArcCot[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/2*Int[Log[SimplifyIntegrand[1+1/u,x]]*(a+b*ArcCot[c*x])^n/(d+e*x^2),x] -
+ 1/2*Int[Log[SimplifyIntegrand[1-1/u,x]]*(a+b*ArcCot[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && EqQ[u^2-(1-2*I/(I-c*x))^2]
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_.*Log[u_]/(d_+e_.*x_^2),x_Symbol] :=
+ I*(a+b*ArcTan[c*x])^n*PolyLog[2,Together[1-u]]/(2*c*d) -
+ b*n*I/2*Int[(a+b*ArcTan[c*x])^(n-1)*PolyLog[2,Together[1-u]]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && EqQ[(1-u)^2-(1-2*I/(I+c*x))^2]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_.*Log[u_]/(d_+e_.*x_^2),x_Symbol] :=
+ I*(a+b*ArcCot[c*x])^n*PolyLog[2,Together[1-u]]/(2*c*d) +
+ b*n*I/2*Int[(a+b*ArcCot[c*x])^(n-1)*PolyLog[2,Together[1-u]]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && EqQ[(1-u)^2-(1-2*I/(I+c*x))^2]
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_.*Log[u_]/(d_+e_.*x_^2),x_Symbol] :=
+ -I*(a+b*ArcTan[c*x])^n*PolyLog[2,Together[1-u]]/(2*c*d) +
+ b*n*I/2*Int[(a+b*ArcTan[c*x])^(n-1)*PolyLog[2,Together[1-u]]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && EqQ[(1-u)^2-(1-2*I/(I-c*x))^2]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_.*Log[u_]/(d_+e_.*x_^2),x_Symbol] :=
+ -I*(a+b*ArcCot[c*x])^n*PolyLog[2,Together[1-u]]/(2*c*d) -
+ b*n*I/2*Int[(a+b*ArcCot[c*x])^(n-1)*PolyLog[2,Together[1-u]]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && EqQ[(1-u)^2-(1-2*I/(I-c*x))^2]
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_.*PolyLog[p_,u_]/(d_+e_.*x_^2),x_Symbol] :=
+ -I*(a+b*ArcTan[c*x])^n*PolyLog[p+1,u]/(2*c*d) +
+ b*n*I/2*Int[(a+b*ArcTan[c*x])^(n-1)*PolyLog[p+1,u]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && EqQ[u^2-(1-2*I/(I+c*x))^2]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_.*PolyLog[p_,u_]/(d_+e_.*x_^2),x_Symbol] :=
+ -I*(a+b*ArcCot[c*x])^n*PolyLog[p+1,u]/(2*c*d) -
+ b*n*I/2*Int[(a+b*ArcCot[c*x])^(n-1)*PolyLog[p+1,u]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && EqQ[u^2-(1-2*I/(I+c*x))^2]
+
+
+Int[(a_.+b_.*ArcTan[c_.*x_])^n_.*PolyLog[p_,u_]/(d_+e_.*x_^2),x_Symbol] :=
+ I*(a+b*ArcTan[c*x])^n*PolyLog[p+1,u]/(2*c*d) -
+ b*n*I/2*Int[(a+b*ArcTan[c*x])^(n-1)*PolyLog[p+1,u]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && EqQ[u^2-(1-2*I/(I-c*x))^2]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^n_.*PolyLog[p_,u_]/(d_+e_.*x_^2),x_Symbol] :=
+ I*(a+b*ArcCot[c*x])^n*PolyLog[p+1,u]/(2*c*d) +
+ b*n*I/2*Int[(a+b*ArcCot[c*x])^(n-1)*PolyLog[p+1,u]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && EqQ[u^2-(1-2*I/(I-c*x))^2]
+
+
+Int[1/((d_+e_.*x_^2)*(a_.+b_.*ArcCot[c_.*x_])*(a_.+b_.*ArcTan[c_.*x_])),x_Symbol] :=
+ (-Log[a+b*ArcCot[c*x]]+Log[a+b*ArcTan[c*x]])/(b*c*d*(2*a+b*ArcCot[c*x]+b*ArcTan[c*x])) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d]
+
+
+Int[(a_.+b_.*ArcCot[c_.*x_])^m_.*(a_.+b_.*ArcTan[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ -(a+b*ArcCot[c*x])^(m+1)*(a+b*ArcTan[c*x])^n/(b*c*d*(m+1)) +
+ n/(m+1)*Int[(a+b*ArcCot[c*x])^(m+1)*(a+b*ArcTan[c*x])^(n-1)/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && IntegersQ[m,n] && 00
+
+
+Int[x_^m_.*ArcCot[a_.+b_.*f_^(c_.+d_.*x_)],x_Symbol] :=
+ I/2*Int[x^m*Log[1-I/(a+b*f^(c+d*x))],x] -
+ I/2*Int[x^m*Log[1+I/(a+b*f^(c+d*x))],x] /;
+FreeQ[{a,b,c,d,f},x] && IntegerQ[m] && m>0
+
+
+Int[u_.*ArcTan[c_./(a_.+b_.*x_^n_.)]^m_.,x_Symbol] :=
+ Int[u*ArcCot[a/c+b*x^n/c]^m,x] /;
+FreeQ[{a,b,c,n,m},x]
+
+
+Int[u_.*ArcCot[c_./(a_.+b_.*x_^n_.)]^m_.,x_Symbol] :=
+ Int[u*ArcTan[a/c+b*x^n/c]^m,x] /;
+FreeQ[{a,b,c,n,m},x]
+
+
+Int[1/(Sqrt[a_.+b_.*x_^2]*ArcTan[c_.*x_/Sqrt[a_.+b_.*x_^2]]),x_Symbol] :=
+ 1/c*Log[ArcTan[c*x/Sqrt[a+b*x^2]]] /;
+FreeQ[{a,b,c},x] && EqQ[b+c^2]
+
+
+Int[1/(Sqrt[a_.+b_.*x_^2]*ArcCot[c_.*x_/Sqrt[a_.+b_.*x_^2]]),x_Symbol] :=
+ -1/c*Log[ArcCot[c*x/Sqrt[a+b*x^2]]] /;
+FreeQ[{a,b,c},x] && EqQ[b+c^2]
+
+
+Int[ArcTan[c_.*x_/Sqrt[a_.+b_.*x_^2]]^m_./Sqrt[a_.+b_.*x_^2],x_Symbol] :=
+ ArcTan[c*x/Sqrt[a+b*x^2]]^(m+1)/(c*(m+1)) /;
+FreeQ[{a,b,c,m},x] && EqQ[b+c^2] && NeQ[m+1]
+
+
+Int[ArcCot[c_.*x_/Sqrt[a_.+b_.*x_^2]]^m_./Sqrt[a_.+b_.*x_^2],x_Symbol] :=
+ -ArcCot[c*x/Sqrt[a+b*x^2]]^(m+1)/(c*(m+1)) /;
+FreeQ[{a,b,c,m},x] && EqQ[b+c^2] && NeQ[m+1]
+
+
+Int[ArcTan[c_.*x_/Sqrt[a_.+b_.*x_^2]]^m_./Sqrt[d_.+e_.*x_^2],x_Symbol] :=
+ Sqrt[a+b*x^2]/Sqrt[d+e*x^2]*Int[ArcTan[c*x/Sqrt[a+b*x^2]]^m/Sqrt[a+b*x^2],x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[b+c^2] && EqQ[b*d-a*e]
+
+
+Int[ArcCot[c_.*x_/Sqrt[a_.+b_.*x_^2]]^m_./Sqrt[d_.+e_.*x_^2],x_Symbol] :=
+ Sqrt[a+b*x^2]/Sqrt[d+e*x^2]*Int[ArcCot[c*x/Sqrt[a+b*x^2]]^m/Sqrt[a+b*x^2],x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[b+c^2] && EqQ[b*d-a*e]
+
+
+Int[u_.*ArcTan[v_+s_.*Sqrt[w_]],x_Symbol] :=
+ Pi*s/4*Int[u,x] + 1/2*Int[u*ArcTan[v],x] /;
+EqQ[s^2-1] && EqQ[w-(v^2+1)]
+
+
+Int[u_.*ArcCot[v_+s_.*Sqrt[w_]],x_Symbol] :=
+ Pi*s/4*Int[u,x] - 1/2*Int[u*ArcTan[v],x] /;
+EqQ[s^2-1] && EqQ[w-(v^2+1)]
+
+
+If[ShowSteps,
+
+Int[u_*v_^n_.,x_Symbol] :=
+ With[{tmp=InverseFunctionOfLinear[u,x]},
+ ShowStep["","Int[f[x,ArcTan[a+b*x]]/(1+(a+b*x)^2),x]",
+ "Subst[Int[f[-a/b+Tan[x]/b,x],x],x,ArcTan[a+b*x]]/b",Hold[
+ (-Discriminant[v,x]/(4*Coefficient[v,x,2]))^n/Coefficient[tmp[[1]],x,1]*
+ Subst[Int[SimplifyIntegrand[SubstForInverseFunction[u,tmp,x]*Sec[x]^(2*(n+1)),x],x], x, tmp]]] /;
+ Not[FalseQ[tmp]] && Head[tmp]===ArcTan && EqQ[Discriminant[v,x]*tmp[[1]]^2+D[v,x]^2]] /;
+SimplifyFlag && QuadraticQ[v,x] && IntegerQ[n] && n<0 && NegQ[Discriminant[v,x]] && MatchQ[u,r_.*f_^w_ /; FreeQ[f,x]],
+
+Int[u_*v_^n_.,x_Symbol] :=
+ With[{tmp=InverseFunctionOfLinear[u,x]},
+ (-Discriminant[v,x]/(4*Coefficient[v,x,2]))^n/Coefficient[tmp[[1]],x,1]*
+ Subst[Int[SimplifyIntegrand[SubstForInverseFunction[u,tmp,x]*Sec[x]^(2*(n+1)),x],x], x, tmp] /;
+ Not[FalseQ[tmp]] && Head[tmp]===ArcTan && EqQ[Discriminant[v,x]*tmp[[1]]^2+D[v,x]^2]] /;
+QuadraticQ[v,x] && IntegerQ[n] && n<0 && NegQ[Discriminant[v,x]] && MatchQ[u,r_.*f_^w_ /; FreeQ[f,x]]]
+
+
+If[ShowSteps,
+
+Int[u_*v_^n_.,x_Symbol] :=
+ With[{tmp=InverseFunctionOfLinear[u,x]},
+ ShowStep["","Int[f[x,ArcCot[a+b*x]]/(1+(a+b*x)^2),x]",
+ "-Subst[Int[f[-a/b+Cot[x]/b,x],x],x,ArcCot[a+b*x]]/b",Hold[
+ -(-Discriminant[v,x]/(4*Coefficient[v,x,2]))^n/Coefficient[tmp[[1]],x,1]*
+ Subst[Int[SimplifyIntegrand[SubstForInverseFunction[u,tmp,x]*Csc[x]^(2*(n+1)),x],x], x, tmp]]] /;
+ Not[FalseQ[tmp]] && Head[tmp]===ArcCot && EqQ[Discriminant[v,x]*tmp[[1]]^2+D[v,x]^2]] /;
+SimplifyFlag && QuadraticQ[v,x] && IntegerQ[n] && n<0 && NegQ[Discriminant[v,x]] && MatchQ[u,r_.*f_^w_ /; FreeQ[f,x]],
+
+Int[u_*v_^n_.,x_Symbol] :=
+ With[{tmp=InverseFunctionOfLinear[u,x]},
+ -(-Discriminant[v,x]/(4*Coefficient[v,x,2]))^n/Coefficient[tmp[[1]],x,1]*
+ Subst[Int[SimplifyIntegrand[SubstForInverseFunction[u,tmp,x]*Csc[x]^(2*(n+1)),x],x], x, tmp] /;
+ Not[FalseQ[tmp]] && Head[tmp]===ArcCot && EqQ[Discriminant[v,x]*tmp[[1]]^2+D[v,x]^2]] /;
+QuadraticQ[v,x] && IntegerQ[n] && n<0 && NegQ[Discriminant[v,x]] && MatchQ[u,r_.*f_^w_ /; FreeQ[f,x]]]
+
+
+Int[ArcTan[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTan[c+d*Tan[a+b*x]] -
+ I*b*Int[x/(c+I*d+c*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[(c+I*d)^2+1]
+
+
+Int[ArcCot[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCot[c+d*Tan[a+b*x]] +
+ I*b*Int[x/(c+I*d+c*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[(c+I*d)^2+1]
+
+
+Int[ArcTan[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTan[c+d*Cot[a+b*x]] -
+ I*b*Int[x/(c-I*d-c*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[(c-I*d)^2+1]
+
+
+Int[ArcCot[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCot[c+d*Cot[a+b*x]] +
+ I*b*Int[x/(c-I*d-c*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[(c-I*d)^2+1]
+
+
+Int[ArcTan[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTan[c+d*Tan[a+b*x]] -
+ b*(1+I*c+d)*Int[x*E^(2*I*a+2*I*b*x)/(1+I*c-d+(1+I*c+d)*E^(2*I*a+2*I*b*x)),x] +
+ b*(1-I*c-d)*Int[x*E^(2*I*a+2*I*b*x)/(1-I*c+d+(1-I*c-d)*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[(c+I*d)^2+1]
+
+
+Int[ArcCot[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCot[c+d*Tan[a+b*x]] +
+ b*(1+I*c+d)*Int[x*E^(2*I*a+2*I*b*x)/(1+I*c-d+(1+I*c+d)*E^(2*I*a+2*I*b*x)),x] -
+ b*(1-I*c-d)*Int[x*E^(2*I*a+2*I*b*x)/(1-I*c+d+(1-I*c-d)*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[(c+I*d)^2+1]
+
+
+Int[ArcTan[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTan[c+d*Cot[a+b*x]] +
+ b*(1+I*c-d)*Int[x*E^(2*I*a+2*I*b*x)/(1+I*c+d-(1+I*c-d)*E^(2*I*a+2*I*b*x)),x] -
+ b*(1-I*c+d)*Int[x*E^(2*I*a+2*I*b*x)/(1-I*c-d-(1-I*c+d)*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[(c+I*d)^2+1]
+
+
+Int[ArcCot[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCot[c+d*Cot[a+b*x]] -
+ b*(1+I*c-d)*Int[x*E^(2*I*a+2*I*b*x)/(1+I*c+d-(1+I*c-d)*E^(2*I*a+2*I*b*x)),x] +
+ b*(1-I*c+d)*Int[x*E^(2*I*a+2*I*b*x)/(1-I*c-d-(1-I*c+d)*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[(c-I*d)^2+1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTan[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTan[c+d*Tan[a+b*x]]/(f*(m+1)) -
+ I*b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c+I*d+c*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && EqQ[(c+I*d)^2+1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCot[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCot[c+d*Tan[a+b*x]]/(f*(m+1)) +
+ I*b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c+I*d+c*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && EqQ[(c+I*d)^2+1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTan[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTan[c+d*Cot[a+b*x]]/(f*(m+1)) -
+ I*b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-I*d-c*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && EqQ[(c-I*d)^2+1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCot[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCot[c+d*Cot[a+b*x]]/(f*(m+1)) +
+ I*b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-I*d-c*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && EqQ[(c-I*d)^2+1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTan[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTan[c+d*Tan[a+b*x]]/(f*(m+1)) -
+ b*(1+I*c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1+I*c-d+(1+I*c+d)*E^(2*I*a+2*I*b*x)),x] +
+ b*(1-I*c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1-I*c+d+(1-I*c-d)*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NeQ[(c+I*d)^2+1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCot[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCot[c+d*Tan[a+b*x]]/(f*(m+1)) +
+ b*(1+I*c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1+I*c-d+(1+I*c+d)*E^(2*I*a+2*I*b*x)),x] -
+ b*(1-I*c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1-I*c+d+(1-I*c-d)*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NeQ[(c+I*d)^2+1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTan[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTan[c+d*Cot[a+b*x]]/(f*(m+1)) +
+ b*(1+I*c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1+I*c+d-(1+I*c-d)*E^(2*I*a+2*I*b*x)),x] -
+ b*(1-I*c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1-I*c-d-(1-I*c+d)*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NeQ[(c-I*d)^2+1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCot[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCot[c+d*Cot[a+b*x]]/(f*(m+1)) -
+ b*(1+I*c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1+I*c+d-(1+I*c-d)*E^(2*I*a+2*I*b*x)),x] +
+ b*(1-I*c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1-I*c-d-(1-I*c+d)*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NeQ[(c-I*d)^2+1]
+
+
+Int[ArcTan[Tanh[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTan[Tanh[a+b*x]] - b*Int[x*Sech[2*a+2*b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[ArcCot[Tanh[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCot[Tanh[a+b*x]] + b*Int[x*Sech[2*a+2*b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[ArcTan[Coth[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTan[Coth[a+b*x]] + b*Int[x*Sech[2*a+2*b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[ArcCot[Coth[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCot[Coth[a+b*x]] - b*Int[x*Sech[2*a+2*b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTan[Tanh[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTan[Tanh[a+b*x]]/(f*(m+1)) - b/(f*(m+1))*Int[(e+f*x)^(m+1)*Sech[2*a+2*b*x],x] /;
+FreeQ[{a,b,e,f},x] && PositiveIntegerQ[m]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCot[Tanh[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCot[Tanh[a+b*x]]/(f*(m+1)) + b/(f*(m+1))*Int[(e+f*x)^(m+1)*Sech[2*a+2*b*x],x] /;
+FreeQ[{a,b,e,f},x] && PositiveIntegerQ[m]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTan[Coth[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTan[Coth[a+b*x]]/(f*(m+1)) + b/(f*(m+1))*Int[(e+f*x)^(m+1)*Sech[2*a+2*b*x],x] /;
+FreeQ[{a,b,e,f},x] && PositiveIntegerQ[m]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCot[Coth[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCot[Coth[a+b*x]]/(f*(m+1)) - b/(f*(m+1))*Int[(e+f*x)^(m+1)*Sech[2*a+2*b*x],x] /;
+FreeQ[{a,b,e,f},x] && PositiveIntegerQ[m]
+
+
+Int[ArcTan[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTan[c+d*Tanh[a+b*x]] -
+ b*Int[x/(c-d+c*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[(c-d)^2+1]
+
+
+Int[ArcCot[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCot[c+d*Tanh[a+b*x]] +
+ b*Int[x/(c-d+c*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[(c-d)^2+1]
+
+
+Int[ArcTan[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTan[c+d*Coth[a+b*x]] -
+ b*Int[x/(c-d-c*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[(c-d)^2+1]
+
+
+Int[ArcCot[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCot[c+d*Coth[a+b*x]] +
+ b*Int[x/(c-d-c*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[(c-d)^2+1]
+
+
+Int[ArcTan[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTan[c+d*Tanh[a+b*x]] +
+ I*b*(I-c-d)*Int[x*E^(2*a+2*b*x)/(I-c+d+(I-c-d)*E^(2*a+2*b*x)),x] -
+ I*b*(I+c+d)*Int[x*E^(2*a+2*b*x)/(I+c-d+(I+c+d)*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[(c-d)^2+1]
+
+
+Int[ArcCot[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCot[c+d*Tanh[a+b*x]] -
+ I*b*(I-c-d)*Int[x*E^(2*a+2*b*x)/(I-c+d+(I-c-d)*E^(2*a+2*b*x)),x] +
+ I*b*(I+c+d)*Int[x*E^(2*a+2*b*x)/(I+c-d+(I+c+d)*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[(c-d)^2+1]
+
+
+Int[ArcTan[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTan[c+d*Coth[a+b*x]] -
+ I*b*(I-c-d)*Int[x*E^(2*a+2*b*x)/(I-c+d-(I-c-d)*E^(2*a+2*b*x)),x] +
+ I*b*(I+c+d)*Int[x*E^(2*a+2*b*x)/(I+c-d-(I+c+d)*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[(c-d)^2+1]
+
+
+Int[ArcCot[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCot[c+d*Coth[a+b*x]] +
+ I*b*(I-c-d)*Int[x*E^(2*a+2*b*x)/(I-c+d-(I-c-d)*E^(2*a+2*b*x)),x] -
+ I*b*(I+c+d)*Int[x*E^(2*a+2*b*x)/(I+c-d-(I+c+d)*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[(c-d)^2+1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTan[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTan[c+d*Tanh[a+b*x]]/(f*(m+1)) -
+ b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-d+c*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && EqQ[(c-d)^2+1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCot[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCot[c+d*Tanh[a+b*x]]/(f*(m+1)) +
+ b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-d+c*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && EqQ[(c-d)^2+1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTan[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTan[c+d*Coth[a+b*x]]/(f*(m+1)) -
+ b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-d-c*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && EqQ[(c-d)^2+1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCot[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCot[c+d*Coth[a+b*x]]/(f*(m+1)) +
+ b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-d-c*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && EqQ[(c-d)^2+1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTan[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTan[c+d*Tanh[a+b*x]]/(f*(m+1)) +
+ I*b*(I-c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(I-c+d+(I-c-d)*E^(2*a+2*b*x)),x] -
+ I*b*(I+c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(I+c-d+(I+c+d)*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NeQ[(c-d)^2+1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCot[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCot[c+d*Tanh[a+b*x]]/(f*(m+1)) -
+ I*b*(I-c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(I-c+d+(I-c-d)*E^(2*a+2*b*x)),x] +
+ I*b*(I+c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(I+c-d+(I+c+d)*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NeQ[(c-d)^2+1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTan[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTan[c+d*Coth[a+b*x]]/(f*(m+1)) -
+ I*b*(I-c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(I-c+d-(I-c-d)*E^(2*a+2*b*x)),x] +
+ I*b*(I+c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(I+c-d-(I+c+d)*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NeQ[(c-d)^2+1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCot[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCot[c+d*Coth[a+b*x]]/(f*(m+1)) +
+ I*b*(I-c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(I-c+d-(I-c-d)*E^(2*a+2*b*x)),x] -
+ I*b*(I+c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(I+c-d-(I+c+d)*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NeQ[(c-d)^2+1]
+
+
+Int[ArcTan[u_],x_Symbol] :=
+ x*ArcTan[u] -
+ Int[SimplifyIntegrand[x*D[u,x]/(1+u^2),x],x] /;
+InverseFunctionFreeQ[u,x]
+
+
+Int[ArcCot[u_],x_Symbol] :=
+ x*ArcCot[u] +
+ Int[SimplifyIntegrand[x*D[u,x]/(1+u^2),x],x] /;
+InverseFunctionFreeQ[u,x]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_.+b_.*ArcTan[u_]),x_Symbol] :=
+ (c+d*x)^(m+1)*(a+b*ArcTan[u])/(d*(m+1)) -
+ b/(d*(m+1))*Int[SimplifyIntegrand[(c+d*x)^(m+1)*D[u,x]/(1+u^2),x],x] /;
+FreeQ[{a,b,c,d,m},x] && NeQ[m+1] && InverseFunctionFreeQ[u,x] && Not[FunctionOfQ[(c+d*x)^(m+1),u,x]] && FalseQ[PowerVariableExpn[u,m+1,x]]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_.+b_.*ArcCot[u_]),x_Symbol] :=
+ (c+d*x)^(m+1)*(a+b*ArcCot[u])/(d*(m+1)) +
+ b/(d*(m+1))*Int[SimplifyIntegrand[(c+d*x)^(m+1)*D[u,x]/(1+u^2),x],x] /;
+FreeQ[{a,b,c,d,m},x] && NeQ[m+1] && InverseFunctionFreeQ[u,x] && Not[FunctionOfQ[(c+d*x)^(m+1),u,x]] && FalseQ[PowerVariableExpn[u,m+1,x]]
+
+
+Int[v_*(a_.+b_.*ArcTan[u_]),x_Symbol] :=
+ With[{w=IntHide[v,x]},
+ Dist[(a+b*ArcTan[u]),w,x] - b*Int[SimplifyIntegrand[w*D[u,x]/(1+u^2),x],x] /;
+ InverseFunctionFreeQ[w,x]] /;
+FreeQ[{a,b},x] && InverseFunctionFreeQ[u,x] && Not[MatchQ[v, (c_.+d_.*x)^m_. /; FreeQ[{c,d,m},x]]] && FalseQ[FunctionOfLinear[v*(a+b*ArcTan[u]),x]]
+
+
+Int[v_*(a_.+b_.*ArcCot[u_]),x_Symbol] :=
+ With[{w=IntHide[v,x]},
+ Dist[(a+b*ArcCot[u]),w,x] + b*Int[SimplifyIntegrand[w*D[u,x]/(1+u^2),x],x] /;
+ InverseFunctionFreeQ[w,x]] /;
+FreeQ[{a,b},x] && InverseFunctionFreeQ[u,x] && Not[MatchQ[v, (c_.+d_.*x)^m_. /; FreeQ[{c,d,m},x]]] && FalseQ[FunctionOfLinear[v*(a+b*ArcCot[u]),x]]
+
+
+Int[ArcTan[v_]*Log[w_]/(a_.+b_.*x_),x_Symbol] :=
+ I/2*Int[Log[1-I*v]*Log[w]/(a+b*x),x] - I/2*Int[Log[1+I*v]*Log[w]/(a+b*x),x] /;
+FreeQ[{a,b},x] && LinearQ[v,x] && LinearQ[w,x] && EqQ[Simplify[D[v/(a+b*x),x]]] && EqQ[Simplify[D[w/(a+b*x),x]]]
+
+
+Int[ArcTan[v_]*Log[w_],x_Symbol] :=
+ x*ArcTan[v]*Log[w] -
+ Int[SimplifyIntegrand[x*Log[w]*D[v,x]/(1+v^2),x],x] -
+ Int[SimplifyIntegrand[x*ArcTan[v]*D[w,x]/w,x],x] /;
+InverseFunctionFreeQ[v,x] && InverseFunctionFreeQ[w,x]
+
+
+Int[ArcCot[v_]*Log[w_],x_Symbol] :=
+ x*ArcCot[v]*Log[w] +
+ Int[SimplifyIntegrand[x*Log[w]*D[v,x]/(1+v^2),x],x] -
+ Int[SimplifyIntegrand[x*ArcCot[v]*D[w,x]/w,x],x] /;
+InverseFunctionFreeQ[v,x] && InverseFunctionFreeQ[w,x]
+
+
+Int[u_*ArcTan[v_]*Log[w_],x_Symbol] :=
+ With[{z=IntHide[u,x]},
+ Dist[ArcTan[v]*Log[w],z,x] -
+ Int[SimplifyIntegrand[z*Log[w]*D[v,x]/(1+v^2),x],x] -
+ Int[SimplifyIntegrand[z*ArcTan[v]*D[w,x]/w,x],x] /;
+ InverseFunctionFreeQ[z,x]] /;
+InverseFunctionFreeQ[v,x] && InverseFunctionFreeQ[w,x]
+
+
+Int[u_*ArcCot[v_]*Log[w_],x_Symbol] :=
+ With[{z=IntHide[u,x]},
+ Dist[ArcCot[v]*Log[w],z,x] +
+ Int[SimplifyIntegrand[z*Log[w]*D[v,x]/(1+v^2),x],x] -
+ Int[SimplifyIntegrand[z*ArcCot[v]*D[w,x]/w,x],x] /;
+ InverseFunctionFreeQ[z,x]] /;
+InverseFunctionFreeQ[v,x] && InverseFunctionFreeQ[w,x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*5.3/1 Miscellaneous inverse secant*)
+
+
+Int[ArcSec[c_.*x_],x_Symbol] :=
+ x*ArcSec[c*x] - 1/c*Int[1/(x*Sqrt[1-1/(c^2*x^2)]),x] /;
+FreeQ[c,x]
+
+
+Int[ArcCsc[c_.*x_],x_Symbol] :=
+ x*ArcCsc[c*x] + 1/c*Int[1/(x*Sqrt[1-1/(c^2*x^2)]),x] /;
+FreeQ[c,x]
+
+
+Int[(a_.+b_.*ArcSec[c_.*x_])^n_,x_Symbol] :=
+ 1/c*Subst[Int[(a+b*x)^n*Sec[x]*Tan[x],x],x,ArcSec[c*x]] /;
+FreeQ[{a,b,c,n},x]
+
+
+Int[(a_.+b_.*ArcCsc[c_.*x_])^n_,x_Symbol] :=
+ -1/c*Subst[Int[(a+b*x)^n*Csc[x]*Cot[x],x],x,ArcCsc[c*x]] /;
+FreeQ[{a,b,c,n},x]
+
+
+Int[(a_.+b_.*ArcSec[c_.*x_])/x_,x_Symbol] :=
+ -Subst[Int[(a+b*ArcCos[x/c])/x,x],x,1/x] /;
+FreeQ[{a,b,c},x]
+
+
+Int[(a_.+b_.*ArcCsc[c_.*x_])/x_,x_Symbol] :=
+ -Subst[Int[(a+b*ArcSin[x/c])/x,x],x,1/x] /;
+FreeQ[{a,b,c},x]
+
+
+Int[x_^m_.*(a_.+b_.*ArcSec[c_.*x_]),x_Symbol] :=
+ x^(m+1)*(a+b*ArcSec[c*x])/(m+1) -
+ b/(c*(m+1))*Int[x^(m-1)/Sqrt[1-1/(c^2*x^2)],x] /;
+FreeQ[{a,b,c,m},x] && NeQ[m+1]
+
+
+Int[x_^m_.*(a_.+b_.*ArcCsc[c_.*x_]),x_Symbol] :=
+ x^(m+1)*(a+b*ArcCsc[c*x])/(m+1) +
+ b/(c*(m+1))*Int[x^(m-1)/Sqrt[1-1/(c^2*x^2)],x] /;
+FreeQ[{a,b,c,m},x] && NeQ[m+1]
+
+
+Int[x_^m_.*(a_.+b_.*ArcSec[c_.*x_])^n_,x_Symbol] :=
+ 1/c^(m+1)*Subst[Int[(a+b*x)^n*Sec[x]^(m+1)*Tan[x],x],x,ArcSec[c*x]] /;
+FreeQ[{a,b,c,n},x] && IntegerQ[m]
+
+
+Int[x_^m_.*(a_.+b_.*ArcCsc[c_.*x_])^n_,x_Symbol] :=
+ -1/c^(m+1)*Subst[Int[(a+b*x)^n*Csc[x]^(m+1)*Cot[x],x],x,ArcCsc[c*x]] /;
+FreeQ[{a,b,c,n},x] && IntegerQ[m]
+
+
+Int[x_^m_.*(a_.+b_.*ArcSec[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][x^m*(a+b*ArcSec[c*x])^n,x] /;
+FreeQ[{a,b,c,m,n},x]
+
+
+Int[x_^m_.*(a_.+b_.*ArcCsc[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][x^m*(a+b*ArcCsc[c*x])^n,x] /;
+FreeQ[{a,b,c,m,n},x]
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcSec[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[(a+b*ArcSec[c*x]),u,x] - b*c*x/Sqrt[c^2*x^2]*Int[SimplifyIntegrand[u/(x*Sqrt[c^2*x^2-1]),x],x]] /;
+FreeQ[{a,b,c,d,e},x] && (PositiveIntegerQ[p] || NegativeIntegerQ[p+1/2])
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCsc[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[(a+b*ArcCsc[c*x]),u,x] + b*c*x/Sqrt[c^2*x^2]*Int[SimplifyIntegrand[u/(x*Sqrt[c^2*x^2-1]),x],x]] /;
+FreeQ[{a,b,c,d,e},x] && (PositiveIntegerQ[p] || NegativeIntegerQ[p+1/2])
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcSec[c_.*x_])^n_.,x_Symbol] :=
+ -Subst[Int[(e+d*x^2)^p*(a+b*ArcCos[x/c])^n/x^(2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && IntegerQ[p]
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCsc[c_.*x_])^n_.,x_Symbol] :=
+ -Subst[Int[(e+d*x^2)^p*(a+b*ArcSin[x/c])^n/x^(2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && IntegerQ[p]
+
+
+Int[(d_.+e_.*x_^2)^p_*(a_.+b_.*ArcSec[c_.*x_])^n_.,x_Symbol] :=
+ -Sqrt[x^2]/x*Subst[Int[(e+d*x^2)^p*(a+b*ArcCos[x/c])^n/x^(2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && IntegerQ[p+1/2] && PositiveQ[e] && Negative[d]
+
+
+Int[(d_.+e_.*x_^2)^p_*(a_.+b_.*ArcCsc[c_.*x_])^n_.,x_Symbol] :=
+ -Sqrt[x^2]/x*Subst[Int[(e+d*x^2)^p*(a+b*ArcSin[x/c])^n/x^(2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && IntegerQ[p+1/2] && PositiveQ[e] && Negative[d]
+
+
+Int[(d_.+e_.*x_^2)^p_*(a_.+b_.*ArcSec[c_.*x_])^n_.,x_Symbol] :=
+ -Sqrt[d+e*x^2]/(x*Sqrt[e+d/x^2])*Subst[Int[(e+d*x^2)^p*(a+b*ArcCos[x/c])^n/x^(2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && IntegerQ[p+1/2] && Not[PositiveQ[e] && Negative[d]]
+
+
+Int[(d_.+e_.*x_^2)^p_*(a_.+b_.*ArcCsc[c_.*x_])^n_.,x_Symbol] :=
+ -Sqrt[d+e*x^2]/(x*Sqrt[e+d/x^2])*Subst[Int[(e+d*x^2)^p*(a+b*ArcSin[x/c])^n/x^(2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && IntegerQ[p+1/2] && Not[PositiveQ[e] && Negative[d]]
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcSec[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x^2)^p*(a+b*ArcSec[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x]
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCsc[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x^2)^p*(a+b*ArcCsc[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x]
+
+
+Int[x_*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcSec[c_.*x_]),x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcSec[c*x])/(2*e*(p+1)) -
+ b*c*x/(2*e*(p+1)*Sqrt[c^2*x^2])*Int[(d+e*x^2)^(p+1)/(x*Sqrt[c^2*x^2-1]),x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[p+1]
+
+
+Int[x_*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCsc[c_.*x_]),x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcCsc[c*x])/(2*e*(p+1)) +
+ b*c*x/(2*e*(p+1)*Sqrt[c^2*x^2])*Int[(d+e*x^2)^(p+1)/(x*Sqrt[c^2*x^2-1]),x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[p+1]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcSec[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[x^m*(d+e*x^2)^p,x]},
+ Dist[(a+b*ArcSec[c*x]),u,x] - b*c*x/Sqrt[c^2*x^2]*Int[SimplifyIntegrand[u/(x*Sqrt[c^2*x^2-1]),x],x]] /;
+FreeQ[{a,b,c,d,e,m,p},x] && (
+ PositiveIntegerQ[p] && Not[NegativeIntegerQ[(m-1)/2] && m+2*p+3>0] ||
+ PositiveIntegerQ[(m+1)/2] && Not[NegativeIntegerQ[p] && m+2*p+3>0] ||
+ NegativeIntegerQ[(m+2*p+1)/2] && Not[NegativeIntegerQ[(m-1)/2]] )
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCsc[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[x^m*(d+e*x^2)^p,x]},
+ Dist[(a+b*ArcCsc[c*x]),u,x] + b*c*x/Sqrt[c^2*x^2]*Int[SimplifyIntegrand[u/(x*Sqrt[c^2*x^2-1]),x],x]] /;
+FreeQ[{a,b,c,d,e,m,p},x] && (
+ PositiveIntegerQ[p] && Not[NegativeIntegerQ[(m-1)/2] && m+2*p+3>0] ||
+ PositiveIntegerQ[(m+1)/2] && Not[NegativeIntegerQ[p] && m+2*p+3>0] ||
+ NegativeIntegerQ[(m+2*p+1)/2] && Not[NegativeIntegerQ[(m-1)/2]] )
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcSec[c_.*x_])^n_.,x_Symbol] :=
+ -Subst[Int[(e+d*x^2)^p*(a+b*ArcCos[x/c])^n/x^(m+2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && IntegersQ[m,p]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCsc[c_.*x_])^n_.,x_Symbol] :=
+ -Subst[Int[(e+d*x^2)^p*(a+b*ArcSin[x/c])^n/x^(m+2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && IntegersQ[m,p]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_*(a_.+b_.*ArcSec[c_.*x_])^n_.,x_Symbol] :=
+ -Sqrt[x^2]/x*Subst[Int[(e+d*x^2)^p*(a+b*ArcCos[x/c])^n/x^(m+2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && IntegerQ[m] && IntegerQ[p+1/2] && PositiveQ[e] && Negative[d]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_*(a_.+b_.*ArcCsc[c_.*x_])^n_.,x_Symbol] :=
+ -Sqrt[x^2]/x*Subst[Int[(e+d*x^2)^p*(a+b*ArcSin[x/c])^n/x^(m+2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && IntegerQ[m] && IntegerQ[p+1/2] && PositiveQ[e] && Negative[d]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_*(a_.+b_.*ArcSec[c_.*x_])^n_.,x_Symbol] :=
+ -Sqrt[d+e*x^2]/(x*Sqrt[e+d/x^2])*Subst[Int[(e+d*x^2)^p*(a+b*ArcCos[x/c])^n/x^(m+2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && IntegerQ[m] && IntegerQ[p+1/2] && Not[PositiveQ[e] && Negative[d]]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_*(a_.+b_.*ArcCsc[c_.*x_])^n_.,x_Symbol] :=
+ -Sqrt[d+e*x^2]/(x*Sqrt[e+d/x^2])*Subst[Int[(e+d*x^2)^p*(a+b*ArcSin[x/c])^n/x^(m+2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && IntegerQ[m] && IntegerQ[p+1/2] && Not[PositiveQ[e] && Negative[d]]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcSec[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][x^m*(d+e*x^2)^p*(a+b*ArcSec[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCsc[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][x^m*(d+e*x^2)^p*(a+b*ArcCsc[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[ArcSec[a_+b_.*x_],x_Symbol] :=
+ (a+b*x)*ArcSec[a+b*x]/b -
+ Int[1/((a+b*x)*Sqrt[1-1/(a+b*x)^2]),x] /;
+FreeQ[{a,b},x]
+
+
+Int[ArcCsc[a_+b_.*x_],x_Symbol] :=
+ (a+b*x)*ArcCsc[a+b*x]/b +
+ Int[1/((a+b*x)*Sqrt[1-1/(a+b*x)^2]),x] /;
+FreeQ[{a,b},x]
+
+
+Int[ArcSec[a_+b_.*x_]^n_,x_Symbol] :=
+ 1/b*Subst[Int[x^n*Sec[x]*Tan[x],x],x,ArcSec[a+b*x]] /;
+FreeQ[{a,b,n},x]
+
+
+Int[ArcCsc[a_+b_.*x_]^n_,x_Symbol] :=
+ -1/b*Subst[Int[x^n*Csc[x]*Cot[x],x],x,ArcCsc[a+b*x]] /;
+FreeQ[{a,b,n},x]
+
+
+Int[ArcSec[a_+b_.*x_]/x_,x_Symbol] :=
+ ArcSec[a+b*x]*Log[1-(1-Sqrt[1-a^2])*E^(I*ArcSec[a+b*x])/a] +
+ ArcSec[a+b*x]*Log[1-(1+Sqrt[1-a^2])*E^(I*ArcSec[a+b*x])/a] -
+ ArcSec[a+b*x]*Log[1+E^(2*I*ArcSec[a+b*x])] -
+ I*PolyLog[2,(1-Sqrt[1-a^2])*E^(I*ArcSec[a+b*x])/a] -
+ I*PolyLog[2,(1+Sqrt[1-a^2])*E^(I*ArcSec[a+b*x])/a] +
+ 1/2*I*PolyLog[2,-E^(2*I*ArcSec[a+b*x])] /;
+FreeQ[{a,b},x]
+
+
+Int[ArcCsc[a_+b_.*x_]/x_,x_Symbol] :=
+ I*ArcCsc[a+b*x]^2 +
+ ArcCsc[a+b*x]*Log[1-I*(1-Sqrt[1-a^2])/(E^(I*ArcCsc[a+b*x])*a)] +
+ ArcCsc[a+b*x]*Log[1-I*(1+Sqrt[1-a^2])/(E^(I*ArcCsc[a+b*x])*a)] -
+ ArcCsc[a+b*x]*Log[1-E^(2*I*ArcCsc[a+b*x])] +
+ I*PolyLog[2,I*(1-Sqrt[1-a^2])/(E^(I*ArcCsc[a+b*x])*a)] +
+ I*PolyLog[2,I*(1+Sqrt[1-a^2])/(E^(I*ArcCsc[a+b*x])*a)] +
+ 1/2*I*PolyLog[2,E^(2*I*ArcCsc[a+b*x])] /;
+FreeQ[{a,b},x]
+
+
+Int[x_^m_.*ArcSec[a_+b_.*x_],x_Symbol] :=
+ -((-a)^(m+1)-b^(m+1)*x^(m+1))*ArcSec[a+b*x]/(b^(m+1)*(m+1)) -
+ 1/(b^(m+1)*(m+1))*Subst[Int[(((-a)*x)^(m+1)-(1-a*x)^(m+1))/(x^(m+1)*Sqrt[1-x^2]),x],x,1/(a+b*x)] /;
+FreeQ[{a,b,m},x] && IntegerQ[m] && NeQ[m+1]
+
+
+Int[x_^m_.*ArcCsc[a_+b_.*x_],x_Symbol] :=
+ -((-a)^(m+1)-b^(m+1)*x^(m+1))*ArcCsc[a+b*x]/(b^(m+1)*(m+1)) +
+ 1/(b^(m+1)*(m+1))*Subst[Int[(((-a)*x)^(m+1)-(1-a*x)^(m+1))/(x^(m+1)*Sqrt[1-x^2]),x],x,1/(a+b*x)] /;
+FreeQ[{a,b,m},x] && IntegerQ[m] && NeQ[m+1]
+
+
+Int[x_^m_.*ArcSec[a_+b_.*x_]^n_,x_Symbol] :=
+ 1/b^(m+1)*Subst[Int[x^n*(-a+Sec[x])^m*Sec[x]*Tan[x],x],x,ArcSec[a+b*x]] /;
+FreeQ[{a,b,n},x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*ArcCsc[a_+b_.*x_]^n_,x_Symbol] :=
+ -1/b^(m+1)*Subst[Int[x^n*(-a+Csc[x])^m*Csc[x]*Cot[x],x],x,ArcCsc[a+b*x]] /;
+FreeQ[{a,b,n},x] && PositiveIntegerQ[m]
+
+
+Int[u_.*ArcSec[c_./(a_.+b_.*x_^n_.)]^m_.,x_Symbol] :=
+ Int[u*ArcCos[a/c+b*x^n/c]^m,x] /;
+FreeQ[{a,b,c,n,m},x]
+
+
+Int[u_.*ArcCsc[c_./(a_.+b_.*x_^n_.)]^m_.,x_Symbol] :=
+ Int[u*ArcSin[a/c+b*x^n/c]^m,x] /;
+FreeQ[{a,b,c,n,m},x]
+
+
+Int[u_.*f_^(c_.*ArcSec[a_.+b_.*x_]^n_.),x_Symbol] :=
+ 1/b*Subst[Int[ReplaceAll[u,x->-a/b+Sec[x]/b]*f^(c*x^n)*Sec[x]*Tan[x],x],x,ArcSec[a+b*x]] /;
+FreeQ[{a,b,c,f},x] && PositiveIntegerQ[n]
+
+
+Int[u_.*f_^(c_.*ArcCsc[a_.+b_.*x_]^n_.),x_Symbol] :=
+ -1/b*Subst[Int[ReplaceAll[u,x->-a/b+Csc[x]/b]*f^(c*x^n)*Csc[x]*Cot[x],x],x,ArcCsc[a+b*x]] /;
+FreeQ[{a,b,c,f},x] && PositiveIntegerQ[n]
+
+
+Int[ArcSec[u_],x_Symbol] :=
+ x*ArcSec[u] -
+ u/Sqrt[u^2]*Int[SimplifyIntegrand[x*D[u,x]/(u*Sqrt[u^2-1]),x],x] /;
+InverseFunctionFreeQ[u,x] && Not[FunctionOfExponentialQ[u,x]]
+
+
+Int[ArcCsc[u_],x_Symbol] :=
+ x*ArcCsc[u] +
+ u/Sqrt[u^2]*Int[SimplifyIntegrand[x*D[u,x]/(u*Sqrt[u^2-1]),x],x] /;
+InverseFunctionFreeQ[u,x] && Not[FunctionOfExponentialQ[u,x]]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_.+b_.*ArcSec[u_]),x_Symbol] :=
+ (c+d*x)^(m+1)*(a+b*ArcSec[u])/(d*(m+1)) -
+ b*u/(d*(m+1)*Sqrt[u^2])*Int[SimplifyIntegrand[(c+d*x)^(m+1)*D[u,x]/(u*Sqrt[u^2-1]),x],x] /;
+FreeQ[{a,b,c,d,m},x] && NeQ[m+1] && InverseFunctionFreeQ[u,x] && Not[FunctionOfQ[(c+d*x)^(m+1),u,x]] && Not[FunctionOfExponentialQ[u,x]]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_.+b_.*ArcCsc[u_]),x_Symbol] :=
+ (c+d*x)^(m+1)*(a+b*ArcCsc[u])/(d*(m+1)) +
+ b*u/(d*(m+1)*Sqrt[u^2])*Int[SimplifyIntegrand[(c+d*x)^(m+1)*D[u,x]/(u*Sqrt[u^2-1]),x],x] /;
+FreeQ[{a,b,c,d,m},x] && NeQ[m+1] && InverseFunctionFreeQ[u,x] && Not[FunctionOfQ[(c+d*x)^(m+1),u,x]] && Not[FunctionOfExponentialQ[u,x]]
+
+
+Int[v_*(a_.+b_.*ArcSec[u_]),x_Symbol] :=
+ With[{w=IntHide[v,x]},
+ Dist[(a+b*ArcSec[u]),w,x] - b*u/Sqrt[u^2]*Int[SimplifyIntegrand[w*D[u,x]/(u*Sqrt[u^2-1]),x],x] /;
+ InverseFunctionFreeQ[w,x]] /;
+FreeQ[{a,b},x] && InverseFunctionFreeQ[u,x] && Not[MatchQ[v, (c_.+d_.*x)^m_. /; FreeQ[{c,d,m},x]]]
+
+
+Int[v_*(a_.+b_.*ArcCsc[u_]),x_Symbol] :=
+ With[{w=IntHide[v,x]},
+ Dist[(a+b*ArcCsc[u]),w,x] + b*u/Sqrt[u^2]*Int[SimplifyIntegrand[w*D[u,x]/(u*Sqrt[u^2-1]),x],x] /;
+ InverseFunctionFreeQ[w,x]] /;
+FreeQ[{a,b},x] && InverseFunctionFreeQ[u,x] && Not[MatchQ[v, (c_.+d_.*x)^m_. /; FreeQ[{c,d,m},x]]]
+
+
+
+`)
+
+func resourcesRubi5InverseTrigFunctionsMBytes() ([]byte, error) {
+ return _resourcesRubi5InverseTrigFunctionsM, nil
+}
+
+func resourcesRubi5InverseTrigFunctionsM() (*asset, error) {
+ bytes, err := resourcesRubi5InverseTrigFunctionsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/5 Inverse trig functions.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi6HyperbolicFunctionsM = []byte(`(* ::Package:: *)
+
+(* ::Section:: *)
+(*Hyperbolic Function Rules*)
+
+
+(* ::Subsection::Closed:: *)
+(*6.1.10 (c+d x)^m (a+b sinh)^n*)
+
+
+Int[u_^m_.*(a_.+b_.*Sinh[v_])^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*(a+b*Sinh[ExpandToSum[v,x]])^n,x] /;
+FreeQ[{a,b,m,n},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+Int[u_^m_.*(a_.+b_.*Cosh[v_])^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*(a+b*Cosh[ExpandToSum[v,x]])^n,x] /;
+FreeQ[{a,b,m,n},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*6.1.11 (e x)^m (a+b x^n)^p sinh*)
+
+
+Int[(a_+b_.*x_^n_)^p_.*Sinh[c_.+d_.*x_],x_Symbol] :=
+ Int[ExpandIntegrand[Sinh[c+d*x],(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,d,n},x] && PositiveIntegerQ[p]
+
+
+Int[(a_+b_.*x_^n_)^p_.*Cosh[c_.+d_.*x_],x_Symbol] :=
+ Int[ExpandIntegrand[Cosh[c+d*x],(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,d,n},x] && PositiveIntegerQ[p]
+
+
+Int[(a_+b_.*x_^n_)^p_*Sinh[c_.+d_.*x_],x_Symbol] :=
+ x^(-n+1)*(a+b*x^n)^(p+1)*Sinh[c+d*x]/(b*n*(p+1)) -
+ (-n+1)/(b*n*(p+1))*Int[x^(-n)*(a+b*x^n)^(p+1)*Sinh[c+d*x],x] -
+ d/(b*n*(p+1))*Int[x^(-n+1)*(a+b*x^n)^(p+1)*Cosh[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && PositiveIntegerQ[n] && p<-1 && n>2
+
+
+Int[(a_+b_.*x_^n_)^p_*Cosh[c_.+d_.*x_],x_Symbol] :=
+ x^(-n+1)*(a+b*x^n)^(p+1)*Cosh[c+d*x]/(b*n*(p+1)) -
+ (-n+1)/(b*n*(p+1))*Int[x^(-n)*(a+b*x^n)^(p+1)*Cosh[c+d*x],x] -
+ d/(b*n*(p+1))*Int[x^(-n+1)*(a+b*x^n)^(p+1)*Sinh[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && PositiveIntegerQ[n] && p<-1 && n>2
+
+
+Int[(a_+b_.*x_^n_)^p_*Sinh[c_.+d_.*x_],x_Symbol] :=
+ Int[ExpandIntegrand[Sinh[c+d*x],(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,d},x] && NegativeIntegerQ[p] && PositiveIntegerQ[n] && (n==2 || p==-1)
+
+
+Int[(a_+b_.*x_^n_)^p_*Cosh[c_.+d_.*x_],x_Symbol] :=
+ Int[ExpandIntegrand[Cosh[c+d*x],(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,d},x] && NegativeIntegerQ[p] && PositiveIntegerQ[n] && (n==2 || p==-1)
+
+
+Int[(a_+b_.*x_^n_)^p_*Sinh[c_.+d_.*x_],x_Symbol] :=
+ Int[x^(n*p)*(b+a*x^(-n))^p*Sinh[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && NegativeIntegerQ[p] && NegativeIntegerQ[n]
+
+
+Int[(a_+b_.*x_^n_)^p_*Cosh[c_.+d_.*x_],x_Symbol] :=
+ Int[x^(n*p)*(b+a*x^(-n))^p*Cosh[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && NegativeIntegerQ[p] && NegativeIntegerQ[n]
+
+
+Int[(a_+b_.*x_^n_)^p_*Sinh[c_.+d_.*x_],x_Symbol] :=
+ Defer[Int][(a+b*x^n)^p*Sinh[c+d*x],x] /;
+FreeQ[{a,b,c,d,n,p},x]
+
+
+Int[(a_+b_.*x_^n_)^p_*Cosh[c_.+d_.*x_],x_Symbol] :=
+ Defer[Int][(a+b*x^n)^p*Cosh[c+d*x],x] /;
+FreeQ[{a,b,c,d,n,p},x]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*Sinh[c_.+d_.*x_],x_Symbol] :=
+ Int[ExpandIntegrand[Sinh[c+d*x],(e*x)^m*(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && PositiveIntegerQ[p]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*Cosh[c_.+d_.*x_],x_Symbol] :=
+ Int[ExpandIntegrand[Cosh[c+d*x],(e*x)^m*(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && PositiveIntegerQ[p]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*Sinh[c_.+d_.*x_],x_Symbol] :=
+ e^m*(a+b*x^n)^(p+1)*Sinh[c+d*x]/(b*n*(p+1)) -
+ d*e^m/(b*n*(p+1))*Int[(a+b*x^n)^(p+1)*Cosh[c+d*x],x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && IntegerQ[p] && EqQ[m-n+1] && RationalQ[p] && p<-1 && (IntegerQ[n] || PositiveQ[e])
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_*Cosh[c_.+d_.*x_],x_Symbol] :=
+ e^m*(a+b*x^n)^(p+1)*Cosh[c+d*x]/(b*n*(p+1)) -
+ d*e^m/(b*n*(p+1))*Int[(a+b*x^n)^(p+1)*Sinh[c+d*x],x] /;
+FreeQ[{a,b,c,d,e,m,n},x] && IntegerQ[p] && EqQ[m-n+1] && RationalQ[p] && p<-1 && (IntegerQ[n] || PositiveQ[e])
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_*Sinh[c_.+d_.*x_],x_Symbol] :=
+ x^(m-n+1)*(a+b*x^n)^(p+1)*Sinh[c+d*x]/(b*n*(p+1)) -
+ (m-n+1)/(b*n*(p+1))*Int[x^(m-n)*(a+b*x^n)^(p+1)*Sinh[c+d*x],x] -
+ d/(b*n*(p+1))*Int[x^(m-n+1)*(a+b*x^n)^(p+1)*Cosh[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && PositiveIntegerQ[n] && RationalQ[m] && p<-1 && (m-n+1>0 || n>2)
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_*Cosh[c_.+d_.*x_],x_Symbol] :=
+ x^(m-n+1)*(a+b*x^n)^(p+1)*Cosh[c+d*x]/(b*n*(p+1)) -
+ (m-n+1)/(b*n*(p+1))*Int[x^(m-n)*(a+b*x^n)^(p+1)*Cosh[c+d*x],x] -
+ d/(b*n*(p+1))*Int[x^(m-n+1)*(a+b*x^n)^(p+1)*Sinh[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && PositiveIntegerQ[n] && RationalQ[m] && p<-1 && (m-n+1>0 || n>2)
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_*Sinh[c_.+d_.*x_],x_Symbol] :=
+ Int[ExpandIntegrand[Sinh[c+d*x],x^m*(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,d},x] && NegativeIntegerQ[p] && IntegerQ[m] && PositiveIntegerQ[n] && (n==2 || p==-1)
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_*Cosh[c_.+d_.*x_],x_Symbol] :=
+ Int[ExpandIntegrand[Cosh[c+d*x],x^m*(a+b*x^n)^p,x],x] /;
+FreeQ[{a,b,c,d},x] && NegativeIntegerQ[p] && IntegerQ[m] && PositiveIntegerQ[n] && (n==2 || p==-1)
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_*Sinh[c_.+d_.*x_],x_Symbol] :=
+ Int[x^(m+n*p)*(b+a*x^(-n))^p*Sinh[c+d*x],x] /;
+FreeQ[{a,b,c,d,m},x] && NegativeIntegerQ[p] && NegativeIntegerQ[n]
+
+
+Int[x_^m_.*(a_+b_.*x_^n_)^p_*Cosh[c_.+d_.*x_],x_Symbol] :=
+ Int[x^(m+n*p)*(b+a*x^(-n))^p*Cosh[c+d*x],x] /;
+FreeQ[{a,b,c,d,m},x] && NegativeIntegerQ[p] && NegativeIntegerQ[n]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*Sinh[c_.+d_.*x_],x_Symbol] :=
+ Defer[Int][(e*x)^m*(a+b*x^n)^p*Sinh[c+d*x],x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[(e_.*x_)^m_.*(a_+b_.*x_^n_)^p_.*Cosh[c_.+d_.*x_],x_Symbol] :=
+ Defer[Int][(e*x)^m*(a+b*x^n)^p*Cosh[c+d*x],x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*6.1.12 (e x)^m (a+b sinh(c+d x^n))^p*)
+
+
+Int[Sinh[c_.+d_.*x_^n_],x_Symbol] :=
+ 1/2*Int[E^(c+d*x^n),x] - 1/2*Int[E^(-c-d*x^n),x] /;
+FreeQ[{c,d},x] && IntegerQ[n] && n>1
+
+
+Int[Cosh[c_.+d_.*x_^n_],x_Symbol] :=
+ 1/2*Int[E^(c+d*x^n),x] + 1/2*Int[E^(-c-d*x^n),x] /;
+FreeQ[{c,d},x] && IntegerQ[n] && n>1
+
+
+Int[(a_.+b_.*Sinh[c_.+d_.*x_^n_])^p_,x_Symbol] :=
+ Int[ExpandTrigReduce[(a+b*Sinh[c+d*x^n])^p,x],x] /;
+FreeQ[{a,b,c,d},x] && IntegersQ[n,p] && n>1 && p>1
+
+
+Int[(a_.+b_.*Cosh[c_.+d_.*x_^n_])^p_,x_Symbol] :=
+ Int[ExpandTrigReduce[(a+b*Cosh[c+d*x^n])^p,x],x] /;
+FreeQ[{a,b,c,d},x] && IntegersQ[n,p] && n>1 && p>1
+
+
+Int[(a_.+b_.*Sinh[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ -Subst[Int[(a+b*Sinh[c+d*x^(-n)])^p/x^2,x],x,1/x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && NegativeIntegerQ[n]
+
+
+Int[(a_.+b_.*Cosh[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ -Subst[Int[(a+b*Cosh[c+d*x^(-n)])^p/x^2,x],x,1/x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && NegativeIntegerQ[n]
+
+
+Int[(a_.+b_.*Sinh[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Module[{k=Denominator[n]},
+ k*Subst[Int[x^(k-1)*(a+b*Sinh[c+d*x^(k*n)])^p,x],x,x^(1/k)]] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && FractionQ[n]
+
+
+Int[(a_.+b_.*Cosh[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Module[{k=Denominator[n]},
+ k*Subst[Int[x^(k-1)*(a+b*Cosh[c+d*x^(k*n)])^p,x],x,x^(1/k)]] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[p] && FractionQ[n]
+
+
+Int[Sinh[c_.+d_.*x_^n_],x_Symbol] :=
+ 1/2*Int[E^(c+d*x^n),x] - 1/2*Int[E^(-c-d*x^n),x] /;
+FreeQ[{c,d,n},x]
+
+
+Int[Cosh[c_.+d_.*x_^n_],x_Symbol] :=
+ 1/2*Int[E^(c+d*x^n),x] + 1/2*Int[E^(-c-d*x^n),x] /;
+FreeQ[{c,d,n},x]
+
+
+Int[(a_.+b_.*Sinh[c_.+d_.*x_^n_])^p_,x_Symbol] :=
+ Int[ExpandTrigReduce[(a+b*Sinh[c+d*x^n])^p,x],x] /;
+FreeQ[{a,b,c,d,n},x] && PositiveIntegerQ[p]
+
+
+Int[(a_.+b_.*Cosh[c_.+d_.*x_^n_])^p_,x_Symbol] :=
+ Int[ExpandTrigReduce[(a+b*Cosh[c+d*x^n])^p,x],x] /;
+FreeQ[{a,b,c,d,n},x] && PositiveIntegerQ[p]
+
+
+Int[(a_.+b_.*Sinh[c_.+d_.*u_^n_])^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*Sinh[c+d*x^n])^p,x],x,u] /;
+FreeQ[{a,b,c,d,n},x] && IntegerQ[p] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+b_.*Cosh[c_.+d_.*u_^n_])^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*Cosh[c+d*x^n])^p,x],x,u] /;
+FreeQ[{a,b,c,d,n},x] && IntegerQ[p] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+b_.*Sinh[c_.+d_.*u_^n_])^p_,x_Symbol] :=
+ Defer[Int][(a+b*Sinh[c+d*u^n])^p,x] /;
+FreeQ[{a,b,c,d,n,p},x] && LinearQ[u,x]
+
+
+Int[(a_.+b_.*Cosh[c_.+d_.*u_^n_])^p_,x_Symbol] :=
+ Defer[Int][(a+b*Cosh[c+d*u^n])^p,x] /;
+FreeQ[{a,b,c,d,n,p},x] && LinearQ[u,x]
+
+
+Int[(a_.+b_.*Sinh[u_])^p_.,x_Symbol] :=
+ Int[(a+b*Sinh[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[(a_.+b_.*Cosh[u_])^p_.,x_Symbol] :=
+ Int[(a+b*Cosh[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[Sinh[d_.*x_^n_]/x_,x_Symbol] :=
+ SinhIntegral[d*x^n]/n /;
+FreeQ[{d,n},x]
+
+
+Int[Cosh[d_.*x_^n_]/x_,x_Symbol] :=
+ CoshIntegral[d*x^n]/n /;
+FreeQ[{d,n},x]
+
+
+Int[Sinh[c_+d_.*x_^n_]/x_,x_Symbol] :=
+ Sinh[c]*Int[Cosh[d*x^n]/x,x] + Cosh[c]*Int[Sinh[d*x^n]/x,x] /;
+FreeQ[{c,d,n},x]
+
+
+Int[Cosh[c_+d_.*x_^n_]/x_,x_Symbol] :=
+ Cosh[c]*Int[Cosh[d*x^n]/x,x] + Sinh[c]*Int[Sinh[d*x^n]/x,x] /;
+FreeQ[{c,d,n},x]
+
+
+Int[x_^m_.*(a_.+b_.*Sinh[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(a+b*Sinh[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,m,n,p},x] && IntegerQ[Simplify[(m+1)/n]] && (EqQ[p,1] || EqQ[m,n-1] || IntegerQ[p] && Simplify[(m+1)/n]>0)
+
+
+Int[x_^m_.*(a_.+b_.*Cosh[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(a+b*Cosh[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,m,n,p},x] && IntegerQ[Simplify[(m+1)/n]] && (EqQ[p,1] || EqQ[m,n-1] || IntegerQ[p] && Simplify[(m+1)/n]>0)
+
+
+Int[(e_*x_)^m_*(a_.+b_.*Sinh[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ e^IntPart[m]*(e*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*Sinh[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(e_*x_)^m_*(a_.+b_.*Cosh[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ e^IntPart[m]*(e*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*Cosh[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && IntegerQ[Simplify[(m+1)/n]]
+
+
+Int[(e_.*x_)^m_.*Sinh[c_.+d_.*x_^n_],x_Symbol] :=
+ e^(n-1)*(e*x)^(m-n+1)*Cosh[c+d*x^n]/(d*n) -
+ e^n*(m-n+1)/(d*n)*Int[(e*x)^(m-n)*Cosh[c+d*x^n],x] /;
+FreeQ[{c,d,e},x] && PositiveIntegerQ[n] && RationalQ[m] && 01 && NeQ[n-1]
+
+
+Int[x_^m_.*Cosh[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ -Cosh[a+b*x^n]^p/((n-1)*x^(n-1)) +
+ b*n*p/(n-1)*Int[Cosh[a+b*x^n]^(p-1)*Sinh[a+b*x^n],x] /;
+FreeQ[{a,b},x] && IntegersQ[n,p] && EqQ[m+n] && p>1 && NeQ[n-1]
+
+
+Int[x_^m_.*Sinh[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ -n*Sinh[a+b*x^n]^p/(b^2*n^2*p^2) +
+ x^n*Cosh[a+b*x^n]*Sinh[a+b*x^n]^(p-1)/(b*n*p) -
+ (p-1)/p*Int[x^m*Sinh[a+b*x^n]^(p-2),x] /;
+FreeQ[{a,b,m,n},x] && EqQ[m-2*n+1] && RationalQ[p] && p>1
+
+
+Int[x_^m_.*Cosh[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ -n*Cosh[a+b*x^n]^p/(b^2*n^2*p^2) +
+ x^n*Sinh[a+b*x^n]*Cosh[a+b*x^n]^(p-1)/(b*n*p) +
+ (p-1)/p*Int[x^m*Cosh[a+b*x^n]^(p-2),x] /;
+FreeQ[{a,b,m,n},x] && EqQ[m-2*n+1] && RationalQ[p] && p>1
+
+
+Int[x_^m_.*Sinh[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ -(m-n+1)*x^(m-2*n+1)*Sinh[a+b*x^n]^p/(b^2*n^2*p^2) +
+ x^(m-n+1)*Cosh[a+b*x^n]*Sinh[a+b*x^n]^(p-1)/(b*n*p) -
+ (p-1)/p*Int[x^m*Sinh[a+b*x^n]^(p-2),x] +
+ (m-n+1)*(m-2*n+1)/(b^2*n^2*p^2)*Int[x^(m-2*n)*Sinh[a+b*x^n]^p,x] /;
+FreeQ[{a,b},x] && IntegersQ[m,n] && RationalQ[p] && p>1 && 0<2*n1 && 0<2*n1 && 0<2*n<1-m && NeQ[m+n+1]
+
+
+Int[x_^m_.*Cosh[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ x^(m+1)*Cosh[a+b*x^n]^p/(m+1) -
+ b*n*p*x^(m+n+1)*Sinh[a+b*x^n]*Cosh[a+b*x^n]^(p-1)/((m+1)*(m+n+1)) +
+ b^2*n^2*p^2/((m+1)*(m+n+1))*Int[x^(m+2*n)*Cosh[a+b*x^n]^p,x] -
+ b^2*n^2*p*(p-1)/((m+1)*(m+n+1))*Int[x^(m+2*n)*Cosh[a+b*x^n]^(p-2),x] /;
+FreeQ[{a,b},x] && IntegersQ[m,n] && RationalQ[p] && p>1 && 0<2*n<1-m && NeQ[m+n+1]
+
+
+Int[(e_.*x_)^m_*(a_.+b_.*Sinh[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ With[{k=Denominator[m]},
+ k/e*Subst[Int[x^(k*(m+1)-1)*(a+b*Sinh[c+d*x^(k*n)/e^n])^p,x],x,(e*x)^(1/k)]] /;
+FreeQ[{a,b,c,d,e},x] && IntegerQ[p] && PositiveIntegerQ[n] && FractionQ[m]
+
+
+Int[(e_.*x_)^m_*(a_.+b_.*Cosh[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ With[{k=Denominator[m]},
+ k/e*Subst[Int[x^(k*(m+1)-1)*(a+b*Cosh[c+d*x^(k*n)/e^n])^p,x],x,(e*x)^(1/k)]] /;
+FreeQ[{a,b,c,d,e},x] && IntegerQ[p] && PositiveIntegerQ[n] && FractionQ[m]
+
+
+Int[(e_.*x_)^m_.*(a_.+b_.*Sinh[c_.+d_.*x_^n_])^p_,x_Symbol] :=
+ Int[ExpandTrigReduce[(e*x)^m,(a+b*Sinh[c+d*x^n])^p,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && IntegerQ[p] && PositiveIntegerQ[n] && p>1
+
+
+Int[(e_.*x_)^m_.*(a_.+b_.*Cosh[c_.+d_.*x_^n_])^p_,x_Symbol] :=
+ Int[ExpandTrigReduce[(e*x)^m,(a+b*Cosh[c+d*x^n])^p,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && IntegerQ[p] && PositiveIntegerQ[n] && p>1
+
+
+Int[x_^m_.*Sinh[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ x^n*Cosh[a+b*x^n]*Sinh[a+b*x^n]^(p+1)/(b*n*(p+1)) -
+ n*Sinh[a+b*x^n]^(p+2)/(b^2*n^2*(p+1)*(p+2)) -
+ (p+2)/(p+1)*Int[x^m*Sinh[a+b*x^n]^(p+2),x] /;
+FreeQ[{a,b,m,n},x] && EqQ[m-2*n+1] && RationalQ[p] && p<-1 && p!=-2
+
+
+Int[x_^m_.*Cosh[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ -x^n*Sinh[a+b*x^n]*Cosh[a+b*x^n]^(p+1)/(b*n*(p+1)) +
+ n*Cosh[a+b*x^n]^(p+2)/(b^2*n^2*(p+1)*(p+2)) +
+ (p+2)/(p+1)*Int[x^m*Cosh[a+b*x^n]^(p+2),x] /;
+FreeQ[{a,b,m,n},x] && EqQ[m-2*n+1] && RationalQ[p] && p<-1 && p!=-2
+
+
+Int[x_^m_.*Sinh[a_.+b_.*x_^n_]^p_,x_Symbol] :=
+ x^(m-n+1)*Cosh[a+b*x^n]*Sinh[a+b*x^n]^(p+1)/(b*n*(p+1)) -
+ (m-n+1)*x^(m-2*n+1)*Sinh[a+b*x^n]^(p+2)/(b^2*n^2*(p+1)*(p+2)) -
+ (p+2)/(p+1)*Int[x^m*Sinh[a+b*x^n]^(p+2),x] +
+ (m-n+1)*(m-2*n+1)/(b^2*n^2*(p+1)*(p+2))*Int[x^(m-2*n)*Sinh[a+b*x^n]^(p+2),x] /;
+FreeQ[{a,b},x] && IntegersQ[m,n] && RationalQ[p] && p<-1 && p!=-2 && 0<2*n1
+
+
+Int[Cosh[a_.+b_.*x_+c_.*x_^2]^n_,x_Symbol] :=
+ Int[ExpandTrigReduce[Cosh[a+b*x+c*x^2]^n,x],x] /;
+FreeQ[{a,b,c},x] && IntegerQ[n] && n>1
+
+
+Int[Sinh[v_]^n_.,x_Symbol] :=
+ Int[Sinh[ExpandToSum[v,x]]^n,x] /;
+PositiveIntegerQ[n] && QuadraticQ[v,x] && Not[QuadraticMatchQ[v,x]]
+
+
+Int[Cosh[v_]^n_.,x_Symbol] :=
+ Int[Cosh[ExpandToSum[v,x]]^n,x] /;
+PositiveIntegerQ[n] && QuadraticQ[v,x] && Not[QuadraticMatchQ[v,x]]
+
+
+Int[(d_.+e_.*x_)*Sinh[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ e*Cosh[a+b*x+c*x^2]/(2*c) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[b*e-2*c*d]
+
+
+Int[(d_.+e_.*x_)*Cosh[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ e*Sinh[a+b*x+c*x^2]/(2*c) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[b*e-2*c*d]
+
+
+Int[(d_.+e_.*x_)*Sinh[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ e*Cosh[a+b*x+c*x^2]/(2*c) -
+ (b*e-2*c*d)/(2*c)*Int[Sinh[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b*e-2*c*d]
+
+
+Int[(d_.+e_.*x_)*Cosh[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ e*Sinh[a+b*x+c*x^2]/(2*c) -
+ (b*e-2*c*d)/(2*c)*Int[Cosh[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[b*e-2*c*d]
+
+
+Int[(d_.+e_.*x_)^m_*Sinh[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ e*(d+e*x)^(m-1)*Cosh[a+b*x+c*x^2]/(2*c) -
+ e^2*(m-1)/(2*c)*Int[(d+e*x)^(m-2)*Cosh[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m] && m>1 && EqQ[b*e-2*c*d]
+
+
+Int[(d_.+e_.*x_)^m_*Cosh[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ e*(d+e*x)^(m-1)*Sinh[a+b*x+c*x^2]/(2*c) -
+ e^2*(m-1)/(2*c)*Int[(d+e*x)^(m-2)*Sinh[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m] && m>1 && EqQ[b*e-2*c*d]
+
+
+Int[(d_.+e_.*x_)^m_*Sinh[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ e*(d+e*x)^(m-1)*Cosh[a+b*x+c*x^2]/(2*c) -
+ (b*e-2*c*d)/(2*c)*Int[(d+e*x)^(m-1)*Sinh[a+b*x+c*x^2],x] -
+ e^2*(m-1)/(2*c)*Int[(d+e*x)^(m-2)*Cosh[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m] && m>1 && NeQ[b*e-2*c*d]
+
+
+Int[(d_.+e_.*x_)^m_*Cosh[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ e*(d+e*x)^(m-1)*Sinh[a+b*x+c*x^2]/(2*c) -
+ (b*e-2*c*d)/(2*c)*Int[(d+e*x)^(m-1)*Cosh[a+b*x+c*x^2],x] -
+ e^2*(m-1)/(2*c)*Int[(d+e*x)^(m-2)*Sinh[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m] && m>1 && NeQ[b*e-2*c*d]
+
+
+Int[(d_.+e_.*x_)^m_*Sinh[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ (d+e*x)^(m+1)*Sinh[a+b*x+c*x^2]/(e*(m+1)) -
+ 2*c/(e^2*(m+1))*Int[(d+e*x)^(m+2)*Cosh[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m] && m<-1 && EqQ[b*e-2*c*d]
+
+
+Int[(d_.+e_.*x_)^m_*Cosh[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ (d+e*x)^(m+1)*Cosh[a+b*x+c*x^2]/(e*(m+1)) -
+ 2*c/(e^2*(m+1))*Int[(d+e*x)^(m+2)*Sinh[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m] && m<-1 && EqQ[b*e-2*c*d]
+
+
+Int[(d_.+e_.*x_)^m_*Sinh[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ (d+e*x)^(m+1)*Sinh[a+b*x+c*x^2]/(e*(m+1)) -
+ (b*e-2*c*d)/(e^2*(m+1))*Int[(d+e*x)^(m+1)*Cosh[a+b*x+c*x^2],x] -
+ 2*c/(e^2*(m+1))*Int[(d+e*x)^(m+2)*Cosh[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m] && m<-1 && NeQ[b*e-2*c*d]
+
+
+Int[(d_.+e_.*x_)^m_*Cosh[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ (d+e*x)^(m+1)*Cosh[a+b*x+c*x^2]/(e*(m+1)) -
+ (b*e-2*c*d)/(e^2*(m+1))*Int[(d+e*x)^(m+1)*Sinh[a+b*x+c*x^2],x] -
+ 2*c/(e^2*(m+1))*Int[(d+e*x)^(m+2)*Sinh[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m] && m<-1 && NeQ[b*e-2*c*d]
+
+
+Int[(d_.+e_.*x_)^m_.*Sinh[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ Defer[Int][(d+e*x)^m*Sinh[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e,m},x]
+
+
+Int[(d_.+e_.*x_)^m_.*Cosh[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ Defer[Int][(d+e*x)^m*Cosh[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e,m},x]
+
+
+Int[(d_.+e_.*x_)^m_.*Sinh[a_.+b_.*x_+c_.*x_^2]^n_,x_Symbol] :=
+ Int[ExpandTrigReduce[(d+e*x)^m,Sinh[a+b*x+c*x^2]^n,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && IntegerQ[n] && n>1
+
+
+Int[(d_.+e_.*x_)^m_.*Cosh[a_.+b_.*x_+c_.*x_^2]^n_,x_Symbol] :=
+ Int[ExpandTrigReduce[(d+e*x)^m,Cosh[a+b*x+c*x^2]^n,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && IntegerQ[n] && n>1
+
+
+Int[u_^m_.*Sinh[v_]^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*Sinh[ExpandToSum[v,x]]^n,x] /;
+FreeQ[m,x] && PositiveIntegerQ[n] && LinearQ[u,x] && QuadraticQ[v,x] && Not[LinearMatchQ[u,x] && QuadraticMatchQ[v,x]]
+
+
+Int[u_^m_.*Cosh[v_]^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*Cosh[ExpandToSum[v,x]]^n,x] /;
+FreeQ[m,x] && PositiveIntegerQ[n] && LinearQ[u,x] && QuadraticQ[v,x] && Not[LinearMatchQ[u,x] && QuadraticMatchQ[v,x]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*6.2.10 (c+d x)^m (a+b tanh)^n*)
+
+
+Int[u_^m_.*(a_.+b_.*Tanh[v_])^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*(a+b*Tanh[ExpandToSum[v,x]])^n,x] /;
+FreeQ[{a,b,m,n},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+Int[u_^m_.*(a_.+b_.*Coth[v_])^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*(a+b*Coth[ExpandToSum[v,x]])^n,x] /;
+FreeQ[{a,b,m,n},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*6.2.11 (e x)^m (a+b tanh(c+d x^n))^p*)
+
+
+Int[(a_.+b_.*Tanh[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(1/n-1)*(a+b*Tanh[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,p},x] && PositiveIntegerQ[1/n] && IntegerQ[p]
+
+
+Int[(a_.+b_.*Coth[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(1/n-1)*(a+b*Coth[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,p},x] && PositiveIntegerQ[1/n] && IntegerQ[p]
+
+
+Int[(a_.+b_.*Tanh[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Defer[Int][(a+b*Tanh[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,n,p},x]
+
+
+Int[(a_.+b_.*Coth[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Defer[Int][(a+b*Coth[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,n,p},x]
+
+
+Int[(a_.+b_.*Tanh[c_.+d_.*u_^n_])^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*Tanh[c+d*x^n])^p,x],x,u] /;
+FreeQ[{a,b,c,d,n,p},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+b_.*Coth[c_.+d_.*u_^n_])^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*Coth[c+d*x^n])^p,x],x,u] /;
+FreeQ[{a,b,c,d,n,p},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+b_.*Tanh[u_])^p_.,x_Symbol] :=
+ Int[(a+b*Tanh[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[(a_.+b_.*Coth[u_])^p_.,x_Symbol] :=
+ Int[(a+b*Coth[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[x_^m_.*(a_.+b_.*Tanh[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(a+b*Tanh[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,m,n,p},x] && PositiveIntegerQ[Simplify[(m+1)/n]] && IntegerQ[p]
+
+
+Int[x_^m_.*(a_.+b_.*Coth[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(a+b*Coth[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,m,n,p},x] && PositiveIntegerQ[Simplify[(m+1)/n]] && IntegerQ[p]
+
+
+Int[x_^m_.*Tanh[c_.+d_.*x_^n_]^2,x_Symbol] :=
+ -x^(m-n+1)*Tanh[c+d*x^n]/(d*n) + Int[x^m,x] + (m-n+1)/(d*n)*Int[x^(m-n)*Tanh[c+d*x^n],x] /;
+FreeQ[{c,d,m,n},x]
+
+
+Int[x_^m_.*Coth[c_.+d_.*x_^n_]^2,x_Symbol] :=
+ -x^(m-n+1)*Coth[c+d*x^n]/(d*n) + Int[x^m,x] + (m-n+1)/(d*n)*Int[x^(m-n)*Coth[c+d*x^n],x] /;
+FreeQ[{c,d,m,n},x]
+
+
+Int[x_^m_.*(a_.+b_.*Tanh[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Defer[Int][x^m*(a+b*Tanh[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,m,n,p},x]
+
+
+Int[x_^m_.*(a_.+b_.*Coth[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Defer[Int][x^m*(a+b*Coth[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,m,n,p},x]
+
+
+Int[(e_*x_)^m_.*(a_.+b_.*Tanh[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ e^IntPart[m]*(e*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*Tanh[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[(e_*x_)^m_.*(a_.+b_.*Coth[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ e^IntPart[m]*(e*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*Coth[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[(e_*x_)^m_.*(a_.+b_.*Tanh[u_])^p_.,x_Symbol] :=
+ Int[(e*x)^m*(a+b*Tanh[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,e,m,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[(e_*x_)^m_.*(a_.+b_.*Coth[u_])^p_.,x_Symbol] :=
+ Int[(e*x)^m*(a+b*Coth[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,e,m,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[x_^m_.*Sech[a_.+b_.*x_^n_.]^p_.*Tanh[a_.+b_.*x_^n_.]^q_.,x_Symbol] :=
+ -x^(m-n+1)*Sech[a+b*x^n]^p/(b*n*p) +
+ (m-n+1)/(b*n*p)*Int[x^(m-n)*Sech[a+b*x^n]^p,x] /;
+FreeQ[{a,b,p},x] && RationalQ[m] && IntegerQ[n] && m-n>=0 && q===1
+
+
+Int[x_^m_.*Csch[a_.+b_.*x_^n_.]^p_.*Coth[a_.+b_.*x_^n_.]^q_.,x_Symbol] :=
+ -x^(m-n+1)*Csch[a+b*x^n]^p/(b*n*p) +
+ (m-n+1)/(b*n*p)*Int[x^(m-n)*Csch[a+b*x^n]^p,x] /;
+FreeQ[{a,b,p},x] && RationalQ[m] && IntegerQ[n] && m-n>=0 && q===1
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*6.2.12 (d+e x)^m tanh(a+b x+c x^2)^n*)
+(**)
+
+
+Int[Tanh[a_.+b_.*x_+c_.*x_^2]^n_.,x_Symbol] :=
+ Defer[Int][Tanh[a+b*x+c*x^2]^n,x] /;
+FreeQ[{a,b,c,n},x]
+
+
+Int[Coth[a_.+b_.*x_+c_.*x_^2]^n_.,x_Symbol] :=
+ Defer[Int][Coth[a+b*x+c*x^2]^n,x] /;
+FreeQ[{a,b,c,n},x]
+
+
+Int[(d_.+e_.*x_)*Tanh[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ e*Log[Cosh[a+b*x+c*x^2]]/(2*c) +
+ (2*c*d-b*e)/(2*c)*Int[Tanh[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x]
+
+
+Int[(d_.+e_.*x_)*Coth[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ e*Log[Sinh[a+b*x+c*x^2]]/(2*c) +
+ (2*c*d-b*e)/(2*c)*Int[Coth[a+b*x+c*x^2],x] /;
+FreeQ[{a,b,c,d,e},x]
+
+
+(* Int[x_^m_*Tanh[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ x^(m-1)*Log[Cosh[a+b*x+c*x^2]]/(2*c) -
+ b/(2*c)*Int[x^(m-1)*Tanh[a+b*x+c*x^2],x] -
+ (m-1)/(2*c)*Int[x^(m-2)*Log[Cosh[a+b*x+c*x^2]],x] /;
+FreeQ[{a,b,c},x] && RationalQ[m] && m>1 *)
+
+
+(* Int[x_^m_*Coth[a_.+b_.*x_+c_.*x_^2],x_Symbol] :=
+ x^(m-1)*Log[Sinh[a+b*x+c*x^2]]/(2*c) -
+ b/(2*c)*Int[x^(m-1)*Coth[a+b*x+c*x^2],x] -
+ (m-1)/(2*c)*Int[x^(m-2)*Log[Sinh[a+b*x+c*x^2]],x] /;
+FreeQ[{a,b,c},x] && RationalQ[m] && m>1 *)
+
+
+Int[(d_.+e_.*x_)^m_.*Tanh[a_.+b_.*x_+c_.*x_^2]^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x)^m*Tanh[a+b*x+c*x^2]^n,x] /;
+FreeQ[{a,b,c,d,e,m,n},x]
+
+
+Int[(d_.+e_.*x_)^m_.*Coth[a_.+b_.*x_+c_.*x_^2]^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x)^m*Coth[a+b*x+c*x^2]^n,x] /;
+FreeQ[{a,b,c,d,e,m,n},x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*6.3.10 (c+d x)^m (a+b sech)^n*)
+
+
+Int[u_^m_.*Sech[v_]^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*Sech[ExpandToSum[v,x]]^n,x] /;
+FreeQ[{m,n},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+Int[u_^m_.*Csch[v_]^n_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*Csch[ExpandToSum[v,x]]^n,x] /;
+FreeQ[{m,n},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*6.3.11 (e x)^m (a+b sech(c+d x^n))^p*)
+(**)
+
+
+Int[(a_.+b_.*Sech[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(1/n-1)*(a+b*Sech[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,p},x] && PositiveIntegerQ[1/n] && IntegerQ[p]
+
+
+Int[(a_.+b_.*Csch[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(1/n-1)*(a+b*Csch[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,p},x] && PositiveIntegerQ[1/n] && IntegerQ[p]
+
+
+Int[(a_.+b_.*Sech[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Defer[Int][(a+b*Sech[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,n,p},x]
+
+
+Int[(a_.+b_.*Csch[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Defer[Int][(a+b*Csch[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,n,p},x]
+
+
+Int[(a_.+b_.*Sech[c_.+d_.*u_^n_])^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*Sech[c+d*x^n])^p,x],x,u] /;
+FreeQ[{a,b,c,d,n,p},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+b_.*Csch[c_.+d_.*u_^n_])^p_.,x_Symbol] :=
+ 1/Coefficient[u,x,1]*Subst[Int[(a+b*Csch[c+d*x^n])^p,x],x,u] /;
+FreeQ[{a,b,c,d,n,p},x] && LinearQ[u,x] && NeQ[u-x]
+
+
+Int[(a_.+b_.*Sech[u_])^p_.,x_Symbol] :=
+ Int[(a+b*Sech[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[(a_.+b_.*Csch[u_])^p_.,x_Symbol] :=
+ Int[(a+b*Csch[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[x_^m_.*(a_.+b_.*Sech[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(a+b*Sech[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,m,n,p},x] && PositiveIntegerQ[Simplify[(m+1)/n]] && IntegerQ[p]
+
+
+Int[x_^m_.*(a_.+b_.*Csch[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ 1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(a+b*Csch[c+d*x])^p,x],x,x^n] /;
+FreeQ[{a,b,c,d,m,n,p},x] && PositiveIntegerQ[Simplify[(m+1)/n]] && IntegerQ[p]
+
+
+Int[x_^m_.*(a_.+b_.*Sech[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Defer[Int][x^m*(a+b*Sech[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,m,n,p},x]
+
+
+Int[x_^m_.*(a_.+b_.*Csch[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ Defer[Int][x^m*(a+b*Csch[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,m,n,p},x]
+
+
+Int[(e_*x_)^m_.*(a_.+b_.*Sech[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ e^IntPart[m]*(e*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*Sech[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[(e_*x_)^m_.*(a_.+b_.*Csch[c_.+d_.*x_^n_])^p_.,x_Symbol] :=
+ e^IntPart[m]*(e*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a+b*Csch[c+d*x^n])^p,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[(e_*x_)^m_.*(a_.+b_.*Sech[u_])^p_.,x_Symbol] :=
+ Int[(e*x)^m*(a+b*Sech[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,e,m,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[(e_*x_)^m_.*(a_.+b_.*Csch[u_])^p_.,x_Symbol] :=
+ Int[(e*x)^m*(a+b*Csch[ExpandToSum[u,x]])^p,x] /;
+FreeQ[{a,b,e,m,p},x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]]
+
+
+Int[x_^m_.*Sech[a_.+b_.*x_^n_.]^p_*Sinh[a_.+b_.*x_^n_.],x_Symbol] :=
+ -x^(m-n+1)*Sech[a+b*x^n]^(p-1)/(b*n*(p-1)) +
+ (m-n+1)/(b*n*(p-1))*Int[x^(m-n)*Sech[a+b*x^n]^(p-1),x] /;
+FreeQ[{a,b,p},x] && RationalQ[m] && IntegerQ[n] && m-n>=0 && NeQ[p-1]
+
+
+Int[x_^m_.*Csch[a_.+b_.*x_^n_.]^p_*Cosh[a_.+b_.*x_^n_.],x_Symbol] :=
+ -x^(m-n+1)*Csch[a+b*x^n]^(p-1)/(b*n*(p-1)) +
+ (m-n+1)/(b*n*(p-1))*Int[x^(m-n)*Csch[a+b*x^n]^(p-1),x] /;
+FreeQ[{a,b,p},x] && RationalQ[m] && IntegerQ[n] && m-n>=0 && NeQ[p-1]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*6.4.5 (c+d x)^m hyper(a+b x)^n hyper(a+b x)^p*)
+
+
+Int[(c_.+d_.*x_)^m_.*Sinh[a_.+b_.*x_]^n_.*Cosh[a_.+b_.*x_],x_Symbol] :=
+ (c+d*x)^m*Sinh[a+b*x]^(n+1)/(b*(n+1)) -
+ d*m/(b*(n+1))*Int[(c+d*x)^(m-1)*Sinh[a+b*x]^(n+1),x] /;
+FreeQ[{a,b,c,d,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(c_.+d_.*x_)^m_.*Sinh[a_.+b_.*x_]*Cosh[a_.+b_.*x_]^n_.,x_Symbol] :=
+ (c+d*x)^m*Cosh[a+b*x]^(n+1)/(b*(n+1)) -
+ d*m/(b*(n+1))*Int[(c+d*x)^(m-1)*Cosh[a+b*x]^(n+1),x] /;
+FreeQ[{a,b,c,d,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(c_.+d_.*x_)^m_.*Sinh[a_.+b_.*x_]^n_.*Cosh[a_.+b_.*x_]^p_.,x_Symbol] :=
+ Int[ExpandTrigReduce[(c+d*x)^m,Sinh[a+b*x]^n*Cosh[a+b*x]^p,x],x] /;
+FreeQ[{a,b,c,d,m},x] && PositiveIntegerQ[n,p]
+
+
+Int[(c_.+d_.*x_)^m_.*Sinh[a_.+b_.*x_]^n_.*Tanh[a_.+b_.*x_]^p_.,x_Symbol] :=
+ Int[(c+d*x)^m*Sinh[a+b*x]^n*Tanh[a+b*x]^(p-2),x] - Int[(c+d*x)^m*Sinh[a+b*x]^(n-2)*Tanh[a+b*x]^p,x] /;
+FreeQ[{a,b,c,d,m},x] && PositiveIntegerQ[n,p]
+
+
+Int[(c_.+d_.*x_)^m_.*Cosh[a_.+b_.*x_]^n_.*Coth[a_.+b_.*x_]^p_.,x_Symbol] :=
+ Int[(c+d*x)^m*Cosh[a+b*x]^n*Coth[a+b*x]^(p-2),x] + Int[(c+d*x)^m*Cosh[a+b*x]^(n-2)*Coth[a+b*x]^p,x] /;
+FreeQ[{a,b,c,d,m},x] && PositiveIntegerQ[n,p]
+
+
+Int[(c_.+d_.*x_)^m_.*Sech[a_.+b_.*x_]^n_.*Tanh[a_.+b_.*x_]^p_.,x_Symbol] :=
+ -(c+d*x)^m*Sech[a+b*x]^n/(b*n) +
+ d*m/(b*n)*Int[(c+d*x)^(m-1)*Sech[a+b*x]^n,x] /;
+FreeQ[{a,b,c,d,n},x] && p===1 && RationalQ[m] && m>0
+
+
+Int[(c_.+d_.*x_)^m_.*Csch[a_.+b_.*x_]^n_.*Coth[a_.+b_.*x_]^p_.,x_Symbol] :=
+ -(c+d*x)^m*Csch[a+b*x]^n/(b*n) +
+ d*m/(b*n)*Int[(c+d*x)^(m-1)*Csch[a+b*x]^n,x] /;
+FreeQ[{a,b,c,d,n},x] && p===1 && RationalQ[m] && m>0
+
+
+Int[(c_.+d_.*x_)^m_.*Sech[a_.+b_.*x_]^2*Tanh[a_.+b_.*x_]^n_.,x_Symbol] :=
+ (c+d*x)^m*Tanh[a+b*x]^(n+1)/(b*(n+1)) -
+ d*m/(b*(n+1))*Int[(c+d*x)^(m-1)*Tanh[a+b*x]^(n+1),x] /;
+FreeQ[{a,b,c,d,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(c_.+d_.*x_)^m_.*Csch[a_.+b_.*x_]^2*Coth[a_.+b_.*x_]^n_.,x_Symbol] :=
+ -(c+d*x)^m*Coth[a+b*x]^(n+1)/(b*(n+1)) +
+ d*m/(b*(n+1))*Int[(c+d*x)^(m-1)*Coth[a+b*x]^(n+1),x] /;
+FreeQ[{a,b,c,d,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(c_.+d_.*x_)^m_.*Sech[a_.+b_.*x_]*Tanh[a_.+b_.*x_]^p_,x_Symbol] :=
+ Int[(c+d*x)^m*Sech[a+b*x]*Tanh[a+b*x]^(p-2),x] - Int[(c+d*x)^m*Sech[a+b*x]^3*Tanh[a+b*x]^(p-2),x] /;
+FreeQ[{a,b,c,d,m},x] && PositiveIntegerQ[p/2]
+
+
+Int[(c_.+d_.*x_)^m_.*Sech[a_.+b_.*x_]^n_.*Tanh[a_.+b_.*x_]^p_,x_Symbol] :=
+ Int[(c+d*x)^m*Sech[a+b*x]^n*Tanh[a+b*x]^(p-2),x] - Int[(c+d*x)^m*Sech[a+b*x]^(n+2)*Tanh[a+b*x]^(p-2),x] /;
+FreeQ[{a,b,c,d,m,n},x] && PositiveIntegerQ[p/2]
+
+
+Int[(c_.+d_.*x_)^m_.*Csch[a_.+b_.*x_]*Coth[a_.+b_.*x_]^p_,x_Symbol] :=
+ Int[(c+d*x)^m*Csch[a+b*x]*Coth[a+b*x]^(p-2),x] + Int[(c+d*x)^m*Csch[a+b*x]^3*Coth[a+b*x]^(p-2),x] /;
+FreeQ[{a,b,c,d,m},x] && PositiveIntegerQ[p/2]
+
+
+Int[(c_.+d_.*x_)^m_.*Csch[a_.+b_.*x_]^n_.*Coth[a_.+b_.*x_]^p_,x_Symbol] :=
+ Int[(c+d*x)^m*Csch[a+b*x]^n*Coth[a+b*x]^(p-2),x] + Int[(c+d*x)^m*Csch[a+b*x]^(n+2)*Coth[a+b*x]^(p-2),x] /;
+FreeQ[{a,b,c,d,m,n},x] && PositiveIntegerQ[p/2]
+
+
+Int[(c_.+d_.*x_)^m_.*Sech[a_.+b_.*x_]^n_.*Tanh[a_.+b_.*x_]^p_.,x_Symbol] :=
+ With[{u=IntHide[Sech[a+b*x]^n*Tanh[a+b*x]^p,x]},
+ Dist[(c+d*x)^m,u,x] - d*m*Int[(c+d*x)^(m-1)*u,x]] /;
+FreeQ[{a,b,c,d,n,p},x] && PositiveIntegerQ[m] && (EvenQ[n] || OddQ[p])
+
+
+Int[(c_.+d_.*x_)^m_.*Csch[a_.+b_.*x_]^n_.*Coth[a_.+b_.*x_]^p_.,x_Symbol] :=
+ With[{u=IntHide[Csch[a+b*x]^n*Coth[a+b*x]^p,x]},
+ Dist[(c+d*x)^m,u,x] - d*m*Int[(c+d*x)^(m-1)*u,x]] /;
+FreeQ[{a,b,c,d,n,p},x] && PositiveIntegerQ[m] && (EvenQ[n] || OddQ[p])
+
+
+Int[(c_.+d_.*x_)^m_.*Csch[a_.+b_.*x_]^n_.*Sech[a_.+b_.*x_]^n_., x_Symbol] :=
+ 2^n*Int[(c+d*x)^m*Csch[2*a+2*b*x]^n,x] /;
+FreeQ[{a,b,c,d},x] && RationalQ[m] && IntegerQ[n]
+
+
+Int[(c_.+d_.*x_)^m_.*Csch[a_.+b_.*x_]^n_.*Sech[a_.+b_.*x_]^p_., x_Symbol] :=
+ With[{u=IntHide[Csch[a+b*x]^n*Sech[a+b*x]^p,x]},
+ Dist[(c+d*x)^m,u,x] - d*m*Int[(c+d*x)^(m-1)*u,x]] /;
+FreeQ[{a,b,c,d},x] && IntegersQ[n,p] && RationalQ[m] && m>0 && n!=p
+
+
+Int[u_^m_.*F_[v_]^n_.*G_[w_]^p_.,x_Symbol] :=
+ Int[ExpandToSum[u,x]^m*F[ExpandToSum[v,x]]^n*G[ExpandToSum[v,x]]^p,x] /;
+FreeQ[{m,n,p},x] && HyperbolicQ[F] && HyperbolicQ[G] && EqQ[v-w] && LinearQ[{u,v,w},x] && Not[LinearMatchQ[{u,v,w},x]]
+
+
+Int[(e_.+f_.*x_)^m_.*Cosh[c_.+d_.*x_]*(a_+b_.*Sinh[c_.+d_.*x_])^n_.,x_Symbol] :=
+ (e+f*x)^m*(a+b*Sinh[c+d*x])^(n+1)/(b*d*(n+1)) -
+ f*m/(b*d*(n+1))*Int[(e+f*x)^(m-1)*(a+b*Sinh[c+d*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(e_.+f_.*x_)^m_.*Sinh[c_.+d_.*x_]*(a_+b_.*Cosh[c_.+d_.*x_])^n_.,x_Symbol] :=
+ (e+f*x)^m*(a+b*Cosh[c+d*x])^(n+1)/(b*d*(n+1)) -
+ f*m/(b*d*(n+1))*Int[(e+f*x)^(m-1)*(a+b*Cosh[c+d*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(e_.+f_.*x_)^m_.*Sech[c_.+d_.*x_]^2*(a_+b_.*Tanh[c_.+d_.*x_])^n_.,x_Symbol] :=
+ (e+f*x)^m*(a+b*Tanh[c+d*x])^(n+1)/(b*d*(n+1)) -
+ f*m/(b*d*(n+1))*Int[(e+f*x)^(m-1)*(a+b*Tanh[c+d*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(e_.+f_.*x_)^m_.*Csch[c_.+d_.*x_]^2*(a_+b_.*Coth[c_.+d_.*x_])^n_.,x_Symbol] :=
+ -(e+f*x)^m*(a+b*Coth[c+d*x])^(n+1)/(b*d*(n+1)) +
+ f*m/(b*d*(n+1))*Int[(e+f*x)^(m-1)*(a+b*Coth[c+d*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(e_.+f_.*x_)^m_.*Sech[c_.+d_.*x_]*Tanh[c_.+d_.*x_]*(a_+b_.*Sech[c_.+d_.*x_])^n_.,x_Symbol] :=
+ -(e+f*x)^m*(a+b*Sech[c+d*x])^(n+1)/(b*d*(n+1)) +
+ f*m/(b*d*(n+1))*Int[(e+f*x)^(m-1)*(a+b*Sech[c+d*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(e_.+f_.*x_)^m_.*Csch[c_.+d_.*x_]*Coth[c_.+d_.*x_]*(a_+b_.*Csch[c_.+d_.*x_])^n_.,x_Symbol] :=
+ -(e+f*x)^m*(a+b*Csch[c+d*x])^(n+1)/(b*d*(n+1)) +
+ f*m/(b*d*(n+1))*Int[(e+f*x)^(m-1)*(a+b*Csch[c+d*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[m] && NeQ[n+1]
+
+
+Int[(e_.+f_.*x_)^m_.*Sinh[a_.+b_.*x_]^p_.*Sinh[c_.+d_.*x_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[(e+f*x)^m,Sinh[a+b*x]^p*Sinh[c+d*x]^q,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[p,q] && IntegerQ[m]
+
+
+Int[(e_.+f_.*x_)^m_.*Cosh[a_.+b_.*x_]^p_.*Cosh[c_.+d_.*x_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[(e+f*x)^m,Cosh[a+b*x]^p*Cosh[c+d*x]^q,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[p,q] && IntegerQ[m]
+
+
+Int[(e_.+f_.*x_)^m_.*Sinh[a_.+b_.*x_]^p_.*Cosh[c_.+d_.*x_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[(e+f*x)^m,Sinh[a+b*x]^p*Cosh[c+d*x]^q,x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && PositiveIntegerQ[p,q]
+
+
+Int[(e_.+f_.*x_)^m_.*F_[a_.+b_.*x_]^p_.*G_[c_.+d_.*x_]^q_.,x_Symbol] :=
+ Int[ExpandTrigExpand[(e+f*x)^m*G[c+d*x]^q,F,c+d*x,p,b/d,x],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && MemberQ[{Sinh,Cosh},F] && MemberQ[{Sech,Csch},G] &&
+ PositiveIntegerQ[p,q] && EqQ[b*c-a*d] && PositiveIntegerQ[b/d-1]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*6.4.6 F^(c (a+b x)) hyper(d+e x)^n*)
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sinh[d_.+e_.*x_],x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*Sinh[d+e*x]/(e^2-b^2*c^2*Log[F]^2) +
+ e*F^(c*(a+b*x))*Cosh[d+e*x]/(e^2-b^2*c^2*Log[F]^2) /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2-b^2*c^2*Log[F]^2]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Cosh[d_.+e_.*x_],x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*Cosh[d+e*x]/(e^2-b^2*c^2*Log[F]^2) +
+ e*F^(c*(a+b*x))*Sinh[d+e*x]/(e^2-b^2*c^2*Log[F]^2) /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2-b^2*c^2*Log[F]^2]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sinh[d_.+e_.*x_]^n_,x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*Sinh[d+e*x]^n/(e^2*n^2-b^2*c^2*Log[F]^2) +
+ e*n*F^(c*(a+b*x))*Cosh[d+e*x]*Sinh[d+e*x]^(n-1)/(e^2*n^2-b^2*c^2*Log[F]^2) -
+ n*(n-1)*e^2/(e^2*n^2-b^2*c^2*Log[F]^2)*Int[F^(c*(a+b*x))*Sinh[d+e*x]^(n-2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*n^2-b^2*c^2*Log[F]^2] && RationalQ[n] && n>1
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Cosh[d_.+e_.*x_]^n_,x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*Cosh[d+e*x]^n/(e^2*n^2-b^2*c^2*Log[F]^2) +
+ e*n*F^(c*(a+b*x))*Sinh[d+e*x]*Cosh[d+e*x]^(n-1)/(e^2*n^2-b^2*c^2*Log[F]^2) +
+ n*(n-1)*e^2/(e^2*n^2-b^2*c^2*Log[F]^2)*Int[F^(c*(a+b*x))*Cosh[d+e*x]^(n-2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*n^2-b^2*c^2*Log[F]^2] && RationalQ[n] && n>1
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sinh[d_.+e_.*x_]^n_,x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*Sinh[d+e*x]^(n+2)/(e^2*(n+1)*(n+2)) +
+ F^(c*(a+b*x))*Cosh[d+e*x]*Sinh[d+e*x]^(n+1)/(e*(n+1)) /;
+FreeQ[{F,a,b,c,d,e,n},x] && EqQ[e^2*(n+2)^2-b^2*c^2*Log[F]^2] && NeQ[n+1] && NeQ[n+2]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Cosh[d_.+e_.*x_]^n_,x_Symbol] :=
+ b*c*Log[F]*F^(c*(a+b*x))*Cosh[d+e*x]^(n+2)/(e^2*(n+1)*(n+2)) -
+ F^(c*(a+b*x))*Sinh[d+e*x]*Cosh[d+e*x]^(n+1)/(e*(n+1)) /;
+FreeQ[{F,a,b,c,d,e,n},x] && EqQ[e^2*(n+2)^2-b^2*c^2*Log[F]^2] && NeQ[n+1] && NeQ[n+2]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sinh[d_.+e_.*x_]^n_,x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*Sinh[d+e*x]^(n+2)/(e^2*(n+1)*(n+2)) +
+ F^(c*(a+b*x))*Cosh[d+e*x]*Sinh[d+e*x]^(n+1)/(e*(n+1)) -
+ (e^2*(n+2)^2-b^2*c^2*Log[F]^2)/(e^2*(n+1)*(n+2))*Int[F^(c*(a+b*x))*Sinh[d+e*x]^(n+2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*(n+2)^2-b^2*c^2*Log[F]^2] && RationalQ[n] && n<-1 && n!=-2
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Cosh[d_.+e_.*x_]^n_,x_Symbol] :=
+ b*c*Log[F]*F^(c*(a+b*x))*Cosh[d+e*x]^(n+2)/(e^2*(n+1)*(n+2)) -
+ F^(c*(a+b*x))*Sinh[d+e*x]*Cosh[d+e*x]^(n+1)/(e*(n+1)) +
+ (e^2*(n+2)^2-b^2*c^2*Log[F]^2)/(e^2*(n+1)*(n+2))*Int[F^(c*(a+b*x))*Cosh[d+e*x]^(n+2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*(n+2)^2-b^2*c^2*Log[F]^2] && RationalQ[n] && n<-1 && n!=-2
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sinh[d_.+e_.*x_]^n_,x_Symbol] :=
+ E^(n*(d+e*x))*Sinh[d+e*x]^n/(-1+E^(2*(d+e*x)))^n*Int[F^(c*(a+b*x))*(-1+E^(2*(d+e*x)))^n/E^(n*(d+e*x)),x] /;
+FreeQ[{F,a,b,c,d,e,n},x] && Not[IntegerQ[n]]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Cosh[d_.+e_.*x_]^n_,x_Symbol] :=
+ E^(n*(d+e*x))*Cosh[d+e*x]^n/(1+E^(2*(d+e*x)))^n*Int[F^(c*(a+b*x))*(1+E^(2*(d+e*x)))^n/E^(n*(d+e*x)),x] /;
+FreeQ[{F,a,b,c,d,e,n},x] && Not[IntegerQ[n]]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Tanh[d_.+e_.*x_]^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[F^(c*(a+b*x))*(-1+E^(2*(d+e*x)))^n/(1+E^(2*(d+e*x)))^n,x],x] /;
+FreeQ[{F,a,b,c,d,e},x] && IntegerQ[n]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Coth[d_.+e_.*x_]^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[F^(c*(a+b*x))*(1+E^(2*(d+e*x)))^n/(-1+E^(2*(d+e*x)))^n,x],x] /;
+FreeQ[{F,a,b,c,d,e},x] && IntegerQ[n]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sech[d_.+e_.*x_]^n_,x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*(Sech[d+e*x]^n/(e^2*n^2-b^2*c^2*Log[F]^2)) -
+ e*n*F^(c*(a+b*x))*Sech[d+e*x]^(n+1)*(Sinh[d+e*x]/(e^2*n^2-b^2*c^2*Log[F]^2)) +
+ e^2*n*((n+1)/(e^2*n^2-b^2*c^2*Log[F]^2))*Int[F^(c*(a+b*x))*Sech[d+e*x]^(n+2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*n^2+b^2*c^2*Log[F]^2] && RationalQ[n] && n<-1
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Csch[d_.+e_.*x_]^n_,x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*(Csch[d+e*x]^n/(e^2*n^2-b^2*c^2*Log[F]^2)) -
+ e*n*F^(c*(a+b*x))*Csch[d+e*x]^(n+1)*(Cosh[d+e*x]/(e^2*n^2-b^2*c^2*Log[F]^2)) -
+ e^2*n*((n+1)/(e^2*n^2-b^2*c^2*Log[F]^2))*Int[F^(c*(a+b*x))*Csch[d+e*x]^(n+2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*n^2+b^2*c^2*Log[F]^2] && RationalQ[n] && n<-1
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sech[d_.+e_.*x_]^n_,x_Symbol] :=
+ b*c*Log[F]*F^(c*(a+b*x))*Sech[d+e*x]^(n-2)/(e^2*(n-1)*(n-2)) +
+ F^(c*(a+b*x))*Sech[d+e*x]^(n-1)*Sinh[d+e*x]/(e*(n-1)) /;
+FreeQ[{F,a,b,c,d,e,n},x] && EqQ[e^2*(n-2)^2-b^2*c^2*Log[F]^2] && NeQ[n-1] && NeQ[n-2]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Csch[d_.+e_.*x_]^n_,x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*Csch[d+e*x]^(n-2)/(e^2*(n-1)*(n-2)) -
+ F^(c*(a+b*x))*Csch[d+e*x]^(n-1)*Cosh[d+e*x]/(e*(n-1)) /;
+FreeQ[{F,a,b,c,d,e,n},x] && EqQ[e^2*(n-2)^2-b^2*c^2*Log[F]^2] && NeQ[n-1] && NeQ[n-2]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sech[d_.+e_.*x_]^n_,x_Symbol] :=
+ b*c*Log[F]*F^(c*(a+b*x))*Sech[d+e*x]^(n-2)/(e^2*(n-1)*(n-2)) +
+ F^(c*(a+b*x))*Sech[d+e*x]^(n-1)*Sinh[d+e*x]/(e*(n-1)) +
+ (e^2*(n-2)^2-b^2*c^2*Log[F]^2)/(e^2*(n-1)*(n-2))*Int[F^(c*(a+b*x))*Sech[d+e*x]^(n-2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*(n-2)^2-b^2*c^2*Log[F]^2] && RationalQ[n] && n>1 && n!=2
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Csch[d_.+e_.*x_]^n_,x_Symbol] :=
+ -b*c*Log[F]*F^(c*(a+b*x))*Csch[d+e*x]^(n-2)/(e^2*(n-1)*(n-2)) -
+ F^(c*(a+b*x))*Csch[d+e*x]^(n-1)*Cosh[d+e*x]/(e*(n-1)) -
+ (e^2*(n-2)^2-b^2*c^2*Log[F]^2)/(e^2*(n-1)*(n-2))*Int[F^(c*(a+b*x))*Csch[d+e*x]^(n-2),x] /;
+FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*(n-2)^2-b^2*c^2*Log[F]^2] && RationalQ[n] && n>1 && n!=2
+
+
+(* Int[F_^(c_.*(a_.+b_.*x_))*Sech[d_.+e_.*x_]^n_.,x_Symbol] :=
+ 2^n*Int[SimplifyIntegrand[F^(c*(a+b*x))*E^(n*(d+e*x))/(1+E^(2*(d+e*x)))^n,x],x] /;
+FreeQ[{F,a,b,c,d,e},x] && IntegerQ[n] *)
+
+
+(* Int[F_^(c_.*(a_.+b_.*x_))*Csch[d_.+e_.*x_]^n_.,x_Symbol] :=
+ 2^n*Int[SimplifyIntegrand[F^(c*(a+b*x))*E^(-n*(d+e*x))/(1-E^(-2*(d+e*x)))^n,x],x] /;
+FreeQ[{F,a,b,c,d,e},x] && IntegerQ[n] *)
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sech[d_.+e_.*x_]^n_.,x_Symbol] :=
+ 2^n*E^(n*(d+e*x))*F^(c*(a+b*x))/(e*n+b*c*Log[F])*Hypergeometric2F1[n,n/2+b*c*Log[F]/(2*e),1+n/2+b*c*Log[F]/(2*e),-E^(2*(d+e*x))] /;
+FreeQ[{F,a,b,c,d,e},x] && IntegerQ[n]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Csch[d_.+e_.*x_]^n_.,x_Symbol] :=
+ (-2)^n*E^(n*(d+e*x))*F^(c*(a+b*x))/(e*n+b*c*Log[F])*Hypergeometric2F1[n,n/2+b*c*Log[F]/(2*e),1+n/2+b*c*Log[F]/(2*e),E^(2*(d+e*x))] /;
+FreeQ[{F,a,b,c,d,e},x] && IntegerQ[n]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sech[d_.+e_.*x_]^n_.,x_Symbol] :=
+ (1+E^(2*(d+e*x)))^n*Sech[d+e*x]^n/E^(n*(d+e*x))*Int[SimplifyIntegrand[F^(c*(a+b*x))*E^(n*(d+e*x))/(1+E^(2*(d+e*x)))^n,x],x] /;
+FreeQ[{F,a,b,c,d,e},x] && Not[IntegerQ[n]]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Csch[d_.+e_.*x_]^n_.,x_Symbol] :=
+ (1-E^(-2*(d+e*x)))^n*Csch[d+e*x]^n/E^(-n*(d+e*x))*Int[SimplifyIntegrand[F^(c*(a+b*x))*E^(-n*(d+e*x))/(1-E^(-2*(d+e*x)))^n,x],x] /;
+FreeQ[{F,a,b,c,d,e},x] && Not[IntegerQ[n]]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*(f_+g_.*Sinh[d_.+e_.*x_])^n_.,x_Symbol] :=
+ 2^n*f^n*Int[F^(c*(a+b*x))*Cosh[d/2+e*x/2-f*Pi/(4*g)]^(2*n),x] /;
+FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f^2+g^2] && NegativeIntegerQ[n]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*(f_+g_.*Cosh[d_.+e_.*x_])^n_.,x_Symbol] :=
+ 2^n*g^n*Int[F^(c*(a+b*x))*Cosh[d/2+e*x/2]^(2*n),x] /;
+FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f-g] && NegativeIntegerQ[n]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*(f_+g_.*Cosh[d_.+e_.*x_])^n_.,x_Symbol] :=
+ 2^n*g^n*Int[F^(c*(a+b*x))*Sinh[d/2+e*x/2]^(2*n),x] /;
+FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f+g] && NegativeIntegerQ[n]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Cosh[d_.+e_.*x_]^m_.*(f_+g_.*Sinh[d_.+e_.*x_])^n_.,x_Symbol] :=
+ g^n*Int[F^(c*(a+b*x))*Tanh[d/2+e*x/2-f*Pi/(4*g)]^m,x] /;
+FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f^2+g^2] && IntegersQ[m,n] && m+n==0
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sinh[d_.+e_.*x_]^m_.*(f_+g_.*Cosh[d_.+e_.*x_])^n_.,x_Symbol] :=
+ g^n*Int[F^(c*(a+b*x))*Tanh[d/2+e*x/2]^m,x] /;
+FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f-g] && IntegersQ[m,n] && m+n==0
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sinh[d_.+e_.*x_]^m_.*(f_+g_.*Cosh[d_.+e_.*x_])^n_.,x_Symbol] :=
+ g^n*Int[F^(c*(a+b*x))*Coth[d/2+e*x/2]^m,x] /;
+FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f+g] && IntegersQ[m,n] && m+n==0
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*(h_+i_.*Cosh[d_.+e_.*x_])/(f_+g_.*Sinh[d_.+e_.*x_]),x_Symbol] :=
+ 2*i*Int[F^(c*(a+b*x))*(Cosh[d+e*x]/(f+g*Sinh[d+e*x])),x] +
+ Int[F^(c*(a+b*x))*((h-i*Cosh[d+e*x])/(f+g*Sinh[d+e*x])),x] /;
+FreeQ[{F,a,b,c,d,e,f,g,h,i},x] && EqQ[f^2+g^2] && EqQ[h^2-i^2] && EqQ[g*h-f*i]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*(h_+i_.*Sinh[d_.+e_.*x_])/(f_+g_.*Cosh[d_.+e_.*x_]),x_Symbol] :=
+ 2*i*Int[F^(c*(a+b*x))*(Sinh[d+e*x]/(f+g*Cosh[d+e*x])),x] +
+ Int[F^(c*(a+b*x))*((h-i*Sinh[d+e*x])/(f+g*Cosh[d+e*x])),x] /;
+FreeQ[{F,a,b,c,d,e,f,g,h,i},x] && EqQ[f^2-g^2] && EqQ[h^2+i^2] && EqQ[g*h+f*i]
+
+
+Int[F_^(c_.*u_)*G_[v_]^n_.,x_Symbol] :=
+ Int[F^(c*ExpandToSum[u,x])*G[ExpandToSum[v,x]]^n,x] /;
+FreeQ[{F,c,n},x] && HyperbolicQ[G] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]
+
+
+Int[(f_.*x_)^m_.*F_^(c_.*(a_.+b_.*x_))*Sinh[d_.+e_.*x_]^n_.,x_Symbol] :=
+ Module[{u=IntHide[F^(c*(a+b*x))*Sinh[d+e*x]^n,x]},
+ Dist[(f*x)^m,u,x] - f*m*Int[(f*x)^(m-1)*u,x]] /;
+FreeQ[{F,a,b,c,d,e,f},x] && IGtQ[n,0] && GtQ[m,0]
+
+
+Int[(f_.*x_)^m_.*F_^(c_.*(a_.+b_.*x_))*Cosh[d_.+e_.*x_]^n_.,x_Symbol] :=
+ Module[{u=IntHide[F^(c*(a+b*x))*Cosh[d+e*x]^n,x]},
+ Dist[(f*x)^m,u,x] - f*m*Int[(f*x)^(m-1)*u,x]] /;
+FreeQ[{F,a,b,c,d,e,f},x] && IGtQ[n,0] && GtQ[m,0]
+
+
+Int[(f_.*x_)^m_*F_^(c_.*(a_.+b_.*x_))*Sinh[d_.+e_.*x_],x_Symbol] :=
+ (f*x)^(m+1)/(f*(m+1))*F^(c*(a+b*x))*Sinh[d+e*x] -
+ e/(f*(m+1))*Int[(f*x)^(m+1)*F^(c*(a+b*x))*Cosh[d+e*x],x] -
+ b*c*Log[F]/(f*(m+1))*Int[(f*x)^(m+1)*F^(c*(a+b*x))*Sinh[d+e*x],x] /;
+FreeQ[{F,a,b,c,d,e,f,m},x] && (LtQ[m,-1] || SumSimplerQ[m,1])
+
+
+Int[(f_.*x_)^m_*F_^(c_.*(a_.+b_.*x_))*Cosh[d_.+e_.*x_],x_Symbol] :=
+ (f*x)^(m+1)/(f*(m+1))*F^(c*(a+b*x))*Cosh[d+e*x] -
+ e/(f*(m+1))*Int[(f*x)^(m+1)*F^(c*(a+b*x))*Sinh[d+e*x],x] -
+ b*c*Log[F]/(f*(m+1))*Int[(f*x)^(m+1)*F^(c*(a+b*x))*Cosh[d+e*x],x] /;
+FreeQ[{F,a,b,c,d,e,f,m},x] && (LtQ[m,-1] || SumSimplerQ[m,1])
+
+
+(* Int[(f_.*x_)^m_.*F_^(c_.*(a_.+b_.*x_))*Sinh[d_.+e_.*x_]^n_.,x_Symbol] :=
+ (-1)^n/2^n*Int[ExpandIntegrand[(f*x)^m*F^(c*(a+b*x)),(E^(-(d+e*x))-E^(d+e*x))^n,x],x] /;
+FreeQ[{F,a,b,c,d,e,f},x] && IGtQ[n,0] *)
+
+
+(* Int[(f_.*x_)^m_.*F_^(c_.*(a_.+b_.*x_))*Cosh[d_.+e_.*x_]^n_.,x_Symbol] :=
+ 1/2^n*Int[ExpandIntegrand[(f*x)^m*F^(c*(a+b*x)),(E^(-(d+e*x))+E^(d+e*x))^n,x],x] /;
+FreeQ[{F,a,b,c,d,e,f},x] && IGtQ[n,0] *)
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*Sinh[d_.+e_.*x_]^m_.*Cosh[f_.+g_.*x_]^n_.,x_Symbol] :=
+ Int[ExpandTrigReduce[F^(c*(a+b*x)),Sinh[d+e*x]^m*Cosh[f+g*x]^n,x],x] /;
+FreeQ[{F,a,b,c,d,e,f,g},x] && PositiveIntegerQ[m,n]
+
+
+Int[x_^p_.*F_^(c_.*(a_.+b_.*x_))*Sinh[d_.+e_.*x_]^m_.*Cosh[f_.+g_.*x_]^n_.,x_Symbol] :=
+ Int[ExpandTrigReduce[x^p*F^(c*(a+b*x)),Sinh[d+e*x]^m*Cosh[f+g*x]^n,x],x] /;
+FreeQ[{F,a,b,c,d,e,f,g},x] && PositiveIntegerQ[m,n,p]
+
+
+Int[F_^(c_.*(a_.+b_.*x_))*G_[d_.+e_.*x_]^m_.*H_[d_.+e_.*x_]^n_.,x_Symbol] :=
+ Int[ExpandTrigToExp[F^(c*(a+b*x)),G[d+e*x]^m*H[d+e*x]^n,x],x] /;
+FreeQ[{F,a,b,c,d,e},x] && PositiveIntegerQ[m,n] && HyperbolicQ[G] && HyperbolicQ[H]
+
+
+Int[F_^u_*Sinh[v_]^n_.,x_Symbol] :=
+ Int[ExpandTrigToExp[F^u,Sinh[v]^n,x],x] /;
+FreeQ[F,x] && (LinearQ[u,x] || PolyQ[u,x,2]) && (LinearQ[v,x] || PolyQ[v,x,2]) && PositiveIntegerQ[n]
+
+
+Int[F_^u_*Cosh[v_]^n_.,x_Symbol] :=
+ Int[ExpandTrigToExp[F^u,Cosh[v]^n,x],x] /;
+FreeQ[F,x] && (LinearQ[u,x] || PolyQ[u,x,2]) && (LinearQ[v,x] || PolyQ[v,x,2]) && PositiveIntegerQ[n]
+
+
+Int[F_^u_*Sinh[v_]^m_.*Cosh[v_]^n_.,x_Symbol] :=
+ Int[ExpandTrigToExp[F^u,Sinh[v]^m*Cosh[v]^n,x],x] /;
+FreeQ[F,x] && (LinearQ[u,x] || PolyQ[u,x,2]) && (LinearQ[v,x] || PolyQ[v,x,2]) && PositiveIntegerQ[m,n]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*6.4.7 x^m hyper(a+b log(c x^n))^p*)
+
+
+Int[Sinh[b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ Int[((c*x^n)^b/2 - 1/(2*(c*x^n)^b))^p,x] /;
+FreeQ[c,x] && RationalQ[b,n,p]
+
+
+Int[Cosh[b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ Int[((c*x^n)^b/2 + 1/(2*(c*x^n)^b))^p,x] /;
+FreeQ[c,x] && RationalQ[b,n,p]
+
+
+Int[Sinh[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -x*(p+2)*Sinh[a+b*Log[c*x^n]]^(p+2)/(p+1) +
+ x*Coth[a+b*Log[c*x^n]]*Sinh[a+b*Log[c*x^n]]^(p+2)/(b*n*(p+1)) /;
+FreeQ[{a,b,c,n,p},x] && EqQ[b^2*n^2*(p+2)^2-1] && NeQ[p+1]
+
+
+Int[Cosh[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x*(p+2)*Cosh[a+b*Log[c*x^n]]^(p+2)/(p+1) -
+ x*Tanh[a+b*Log[c*x^n]]*Cosh[a+b*Log[c*x^n]]^(p+2)/(b*n*(p+1)) /;
+FreeQ[{a,b,c,n,p},x] && EqQ[b^2*n^2*(p+2)^2-1] && NeQ[p+1]
+
+
+Int[Sqrt[Sinh[a_.+b_.*Log[c_.*x_^n_.]]],x_Symbol] :=
+ x*Sqrt[Sinh[a+b*Log[c*x^n]]]/Sqrt[-1+E^(2*a)*(c*x^n)^(4/n)]*
+ Int[Sqrt[-1+E^(2*a)*(c*x^n)^(4/n)]/x,x] /;
+FreeQ[{a,b,c,n},x] && EqQ[b*n-2]
+
+
+Int[Sqrt[Cosh[a_.+b_.*Log[c_.*x_^n_.]]],x_Symbol] :=
+ x*Sqrt[Cosh[a+b*Log[c*x^n]]]/Sqrt[1+E^(2*a)*(c*x^n)^(4/n)]*
+ Int[Sqrt[1+E^(2*a)*(c*x^n)^(4/n)]/x,x] /;
+FreeQ[{a,b,c,n},x] && EqQ[b*n-2]
+
+
+Int[Sinh[a_.+b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(-E^(-a*b*n*p)/(2*b*n*p)*(c*x^n)^(-1/(n*p)) + E^(a*b*n*p)/(2*b*n*p)*(c*x^n)^(1/(n*p)))^p,x],x] /;
+FreeQ[{a,b,c,n},x] && PositiveIntegerQ[p] && EqQ[b^2*n^2*p^2-1]
+
+
+Int[Cosh[a_.+b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ Int[ExpandIntegrand[(E^(-a*b*n*p)/2*(c*x^n)^(-1/(n*p)) + E^(a*b*n*p)/2*(c*x^n)^(1/(n*p)))^p,x],x] /;
+FreeQ[{a,b,c,n},x] && PositiveIntegerQ[p] && EqQ[b^2*n^2*p^2-1]
+
+
+Int[Sinh[a_.+b_.*Log[c_.*x_^n_.]],x_Symbol] :=
+ -x*Sinh[a+b*Log[c*x^n]]/(b^2*n^2-1) +
+ b*n*x*Cosh[a+b*Log[c*x^n]]/(b^2*n^2-1) /;
+FreeQ[{a,b,c,n},x] && NeQ[b^2*n^2-1]
+
+
+Int[Cosh[a_.+b_.*Log[c_.*x_^n_.]],x_Symbol] :=
+ -x*Cosh[a+b*Log[c*x^n]]/(b^2*n^2-1) +
+ b*n*x*Sinh[a+b*Log[c*x^n]]/(b^2*n^2-1) /;
+FreeQ[{a,b,c,n},x] && NeQ[b^2*n^2-1]
+
+
+Int[Sinh[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -x*Sinh[a+b*Log[c*x^n]]^p/(b^2*n^2*p^2-1) +
+ b*n*p*x*Cosh[a+b*Log[c*x^n]]*Sinh[a+b*Log[c*x^n]]^(p-1)/(b^2*n^2*p^2-1) -
+ b^2*n^2*p*(p-1)/(b^2*n^2*p^2-1)*Int[Sinh[a+b*Log[c*x^n]]^(p-2),x] /;
+FreeQ[{a,b,c,n},x] && RationalQ[p] && p>1 && NeQ[b^2*n^2*p^2-1]
+
+
+Int[Cosh[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -x*Cosh[a+b*Log[c*x^n]]^p/(b^2*n^2*p^2-1) +
+ b*n*p*x*Sinh[a+b*Log[c*x^n]]*Cosh[a+b*Log[c*x^n]]^(p-1)/(b^2*n^2*p^2-1) +
+ b^2*n^2*p*(p-1)/(b^2*n^2*p^2-1)*Int[Cosh[a+b*Log[c*x^n]]^(p-2),x] /;
+FreeQ[{a,b,c,n},x] && RationalQ[p] && p>1 && NeQ[b^2*n^2*p^2-1]
+
+
+Int[Sinh[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x*Coth[a+b*Log[c*x^n]]*Sinh[a+b*Log[c*x^n]]^(p+2)/(b*n*(p+1)) -
+ x*Sinh[a+b*Log[c*x^n]]^(p+2)/(b^2*n^2*(p+1)*(p+2)) -
+ (b^2*n^2*(p+2)^2-1)/(b^2*n^2*(p+1)*(p+2))*Int[Sinh[a+b*Log[c*x^n]]^(p+2),x] /;
+FreeQ[{a,b,c,n},x] && RationalQ[p] && p<-1 && p!=-2 && NeQ[b^2*n^2*(p+2)^2-1]
+
+
+Int[Cosh[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -x*Tanh[a+b*Log[c*x^n]]*Cosh[a+b*Log[c*x^n]]^(p+2)/(b*n*(p+1)) +
+ x*Cosh[a+b*Log[c*x^n]]^(p+2)/(b^2*n^2*(p+1)*(p+2)) +
+ (b^2*n^2*(p+2)^2-1)/(b^2*n^2*(p+1)*(p+2))*Int[Cosh[a+b*Log[c*x^n]]^(p+2),x] /;
+FreeQ[{a,b,c,n},x] && RationalQ[p] && p<-1 && p!=-2 && NeQ[b^2*n^2*(p+2)^2-1]
+
+
+Int[Sinh[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x*(-E^(-a)*(c*x^n)^(-b)+E^a*(c*x^n)^b)^p/((b*n*p+1)*(2-2*E^(-2*a)*(c*x^n)^(-2*b))^p)*
+ Hypergeometric2F1[-p,-(1+b*n*p)/(2*b*n),1-(1+b*n*p)/(2*b*n),E^(-2*a)*(c*x^n)^(-2*b)] /;
+FreeQ[{a,b,c,n,p},x] && NeQ[b^2*n^2*p^2-1]
+
+
+Int[Cosh[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x*(E^(-a)*(c*x^n)^(-b)+E^a*(c*x^n)^b)^p/((b*n*p+1)*(2+2*E^(-2*a)*(c*x^n)^(-2*b))^p)*
+ Hypergeometric2F1[-p,-(1+b*n*p)/(2*b*n),1-(1+b*n*p)/(2*b*n),-E^(-2*a)*(c*x^n)^(-2*b)] /;
+FreeQ[{a,b,c,n,p},x] && NeQ[b^2*n^2*p^2-1]
+
+
+Int[x_^m_.*Sinh[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -(p+2)*x^(m+1)*Sinh[a+b*Log[c*x^n]]^(p+2)/((m+1)*(p+1)) +
+ x^(m+1)*Coth[a+b*Log[c*x^n]]*Sinh[a+b*Log[c*x^n]]^(p+2)/(b*n*(p+1)) /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[b^2*n^2*(p+2)^2-(m+1)^2] && NeQ[p+1] && NeQ[m+1]
+
+
+Int[x_^m_.*Cosh[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ (p+2)*x^(m+1)*Cosh[a+b*Log[c*x^n]]^(p+2)/((m+1)*(p+1)) -
+ x^(m+1)*Tanh[a+b*Log[c*x^n]]*Cosh[a+b*Log[c*x^n]]^(p+2)/(b*n*(p+1)) /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[b^2*n^2*(p+2)^2-(m+1)^2] && NeQ[p+1] && NeQ[m+1]
+
+
+Int[x_^m_.*Sinh[a_.+b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ 1/2^p*Int[ExpandIntegrand[x^m*(-(m+1)/(b*n*p)*E^(-a*b*n*p/(m+1))*(c*x^n)^(-(m+1)/(n*p)) +
+ (m+1)/(b*n*p)*E^((a*b*n*p)/(m+1))*(c*x^n)^((m+1)/(n*p)))^p,x],x] /;
+FreeQ[{a,b,c,m,n},x] && PositiveIntegerQ[p] && EqQ[b^2*n^2*p^2-(m+1)^2]
+
+
+Int[x_^m_.*Cosh[a_.+b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ 1/2^p*Int[ExpandIntegrand[x^m*(E^((a*b*n*p)/(m+1))*(c*x^n)^((m+1)/(n*p)) +
+ E^(-a*b*n*p/(m+1))*(c*x^n)^(-(m+1)/(n*p)))^p,x],x] /;
+FreeQ[{a,b,c,m,n},x] && PositiveIntegerQ[p] && EqQ[b^2*n^2*p^2-(m+1)^2]
+
+
+Int[x_^m_.*Sinh[a_.+b_.*Log[c_.*x_^n_.]],x_Symbol] :=
+ -(m+1)*x^(m+1)*Sinh[a+b*Log[c*x^n]]/(b^2*n^2-(m+1)^2) +
+ b*n*x^(m+1)*Cosh[a+b*Log[c*x^n]]/(b^2*n^2-(m+1)^2) /;
+FreeQ[{a,b,c,m,n},x] && NeQ[b^2*n^2-(m+1)^2] && NeQ[m+1]
+
+
+Int[x_^m_.*Cosh[a_.+b_.*Log[c_.*x_^n_.]],x_Symbol] :=
+ -(m+1)*x^(m+1)*Cosh[a+b*Log[c*x^n]]/(b^2*n^2-(m+1)^2) +
+ b*n*x^(m+1)*Sinh[a+b*Log[c*x^n]]/(b^2*n^2-(m+1)^2) /;
+FreeQ[{a,b,c,m,n},x] && NeQ[b^2*n^2-(m+1)^2] && NeQ[m+1]
+
+
+Int[x_^m_.*Sinh[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -(m+1)*x^(m+1)*Sinh[a+b*Log[c*x^n]]^p/(b^2*n^2*p^2-(m+1)^2) +
+ b*n*p*x^(m+1)*Cosh[a+b*Log[c*x^n]]*Sinh[a+b*Log[c*x^n]]^(p-1)/(b^2*n^2*p^2-(m+1)^2) -
+ b^2*n^2*p*(p-1)/(b^2*n^2*p^2-(m+1)^2)*Int[x^m*Sinh[a+b*Log[c*x^n]]^(p-2),x] /;
+FreeQ[{a,b,c,m,n},x] && NeQ[b^2*n^2*p^2-(m+1)^2] && RationalQ[p] && p>1 && NeQ[m+1]
+
+
+Int[x_^m_.*Cosh[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -(m+1)*x^(m+1)*Cosh[a+b*Log[c*x^n]]^p/(b^2*n^2*p^2-(m+1)^2) +
+ b*n*p*x^(m+1)*Cosh[a+b*Log[c*x^n]]^(p-1)*Sinh[a+b*Log[c*x^n]]/(b^2*n^2*p^2-(m+1)^2) +
+ b^2*n^2*p*(p-1)/(b^2*n^2*p^2-(m+1)^2)*Int[x^m*Cosh[a+b*Log[c*x^n]]^(p-2),x] /;
+FreeQ[{a,b,c,m,n},x] && NeQ[b^2*n^2*p^2-(m+1)^2] && RationalQ[p] && p>1 && NeQ[m+1]
+
+
+Int[x_^m_.*Sinh[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x^(m+1)*Coth[a+b*Log[c*x^n]]*Sinh[a+b*Log[c*x^n]]^(p+2)/(b*n*(p+1)) -
+ (m+1)*x^(m+1)*Sinh[a+b*Log[c*x^n]]^(p+2)/(b^2*n^2*(p+1)*(p+2)) -
+ (b^2*n^2*(p+2)^2-(m+1)^2)/(b^2*n^2*(p+1)*(p+2))*Int[x^m*Sinh[a+b*Log[c*x^n]]^(p+2),x] /;
+FreeQ[{a,b,c,m,n},x] && NeQ[b^2*n^2*(p+2)^2-(m+1)^2] && RationalQ[p] && p<-1 && p!=-2 && NeQ[m+1]
+
+
+Int[x_^m_.*Cosh[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -x^(m+1)*Tanh[a+b*Log[c*x^n]]*Cosh[a+b*Log[c*x^n]]^(p+2)/(b*n*(p+1)) +
+ (m+1)*x^(m+1)*Cosh[a+b*Log[c*x^n]]^(p+2)/(b^2*n^2*(p+1)*(p+2)) +
+ (b^2*n^2*(p+2)^2-(m+1)^2)/(b^2*n^2*(p+1)*(p+2))*Int[x^m*Cosh[a+b*Log[c*x^n]]^(p+2),x] /;
+FreeQ[{a,b,c,m,n},x] && NeQ[b^2*n^2*(p+2)^2-(m+1)^2] && RationalQ[p] && p<-1 && p!=-2 && NeQ[m+1]
+
+
+Int[x_^m_.*Sinh[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x^(m+1)*(-E^(-a)*(c*x^n)^(-b)+E^a*(c*x^n)^b)^p/((m+b*n*p+1)*(2-2*E^(-2*a)*(c*x^n)^(-2*b))^p)*
+ Hypergeometric2F1[-p,-(m+b*n*p+1)/(2*b*n),1-(m+b*n*p+1)/(2*b*n),E^(-2*a)*(c*x^n)^(-2*b)] /;
+FreeQ[{a,b,c,m,n,p},x] && NeQ[b^2*n^2*p^2-(m+1)^2]
+
+
+Int[x_^m_.*Cosh[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x^(m+1)*(E^(-a)*(c*x^n)^(-b)+E^a*(c*x^n)^b)^p/((m+b*n*p+1)*(2+2*E^(-2*a)*(c*x^n)^(-2*b))^p)*
+ Hypergeometric2F1[-p,-(m+b*n*p+1)/(2*b*n),1-(m+b*n*p+1)/(2*b*n),-E^(-2*a)*(c*x^n)^(-2*b)] /;
+FreeQ[{a,b,c,m,n,p},x] && NeQ[b^2*n^2*p^2-(m+1)^2]
+
+
+Int[Sech[b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ 2^p*Int[((c*x^n)^b/(1+(c*x^n)^(2*b)))^p,x] /;
+FreeQ[c,x] && RationalQ[b,n,p]
+
+
+Int[Csch[b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ 2^p*Int[((c*x^n)^b/(-1+(c*x^n)^(2*b)))^p,x] /;
+FreeQ[c,x] && RationalQ[b,n,p]
+
+
+Int[Sech[a_.+b_.*Log[c_.*x_^n_.]],x_Symbol] :=
+ 2*E^(-a*b*n)*Int[(c*x^n)^(1/n)/(E^(-2*a*b*n)+(c*x^n)^(2/n)),x] /;
+FreeQ[{a,b,c,n},x] && EqQ[b^2*n^2-1]
+
+
+Int[Csch[a_.+b_.*Log[c_.*x_^n_.]],x_Symbol] :=
+ -2*b*n*E^(-a*b*n)*Int[(c*x^n)^(1/n)/(E^(-2*a*b*n)-(c*x^n)^(2/n)),x] /;
+FreeQ[{a,b,c,n},x] && EqQ[b^2*n^2-1]
+
+
+Int[Sech[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ (p-2)*x*Sech[a+b*Log[c*x^n]]^(p-2)/(p-1) +
+ x*Tanh[a+b*Log[c*x^n]]*Sech[a+b*Log[c*x^n]]^(p-2)/(b*n*(p-1)) /;
+FreeQ[{a,b,c,n,p},x] && EqQ[b^2*n^2*(p-2)^2-1] && NeQ[p-1]
+
+
+Int[Csch[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -(p-2)*x*Csch[a+b*Log[c*x^n]]^(p-2)/(p-1) -
+ x*Coth[a+b*Log[c*x^n]]*Csch[a+b*Log[c*x^n]]^(p-2)/(b*n*(p-1)) /;
+FreeQ[{a,b,c,n,p},x] && EqQ[b^2*n^2*(p-2)^2-1] && NeQ[p-1]
+
+
+Int[Sech[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x*Tanh[a+b*Log[c*x^n]]*Sech[a+b*Log[c*x^n]]^(p-2)/(b*n*(p-1)) +
+ x*Sech[a+b*Log[c*x^n]]^(p-2)/(b^2*n^2*(p-1)*(p-2)) +
+ (b^2*n^2*(p-2)^2-1)/(b^2*n^2*(p-1)*(p-2))*Int[Sech[a+b*Log[c*x^n]]^(p-2),x] /;
+FreeQ[{a,b,c,n},x] && RationalQ[p] && p>1 && p!=2 && NeQ[b^2*n^2*(p-2)^2-1]
+
+
+Int[Csch[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -x*Coth[a+b*Log[c*x^n]]*Csch[a+b*Log[c*x^n]]^(p-2)/(b*n*(p-1)) -
+ x*Csch[a+b*Log[c*x^n]]^(p-2)/(b^2*n^2*(p-1)*(p-2)) -
+ (b^2*n^2*(p-2)^2-1)/(b^2*n^2*(p-1)*(p-2))*Int[Csch[a+b*Log[c*x^n]]^(p-2),x] /;
+FreeQ[{a,b,c,n},x] && RationalQ[p] && p>1 && p!=2 && NeQ[b^2*n^2*(p-2)^2-1]
+
+
+Int[Sech[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -b*n*p*x*Sech[a+b*Log[c*x^n]]^(p+1)*Sinh[a+b*Log[c*x^n]]/(b^2*n^2*p^2-1) -
+ x*Sech[a+b*Log[c*x^n]]^p/(b^2*n^2*p^2-1) +
+ b^2*n^2*p*(p+1)/(b^2*n^2*p^2-1)*Int[Sech[a+b*Log[c*x^n]]^(p+2),x] /;
+FreeQ[{a,b,c,n},x] && RationalQ[p] && p<-1 && NeQ[b^2*n^2*p^2-1]
+
+
+Int[Csch[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -b*n*p*x*Cosh[a+b*Log[c*x^n]]*Csch[a+b*Log[c*x^n]]^(p+1)/(b^2*n^2*p^2-1) -
+ x*Csch[a+b*Log[c*x^n]]^p/(b^2*n^2*p^2-1) -
+ b^2*n^2*p*(p+1)/(b^2*n^2*p^2-1)*Int[Csch[a+b*Log[c*x^n]]^(p+2),x] /;
+FreeQ[{a,b,c,n},x] && RationalQ[p] && p<-1 && NeQ[b^2*n^2*p^2-1]
+
+
+Int[Sech[a_.+b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ 2^p*x*(E^(2*a)*(c*x^n)^(2*b)+1)^p/(b*n*p+1)*(E^a*(c*x^n)^b/(E^(2*a)*(c*x^n)^(2*b)+1))^p*
+ Hypergeometric2F1[p,(b*n*p+1)/(2*b*n),1+(b*n*p+1)/(2*b*n),-E^(2*a)*(c*x^n)^(2*b)] /;
+FreeQ[{a,b,c,n,p},x] && NeQ[b^2*n^2*p^2-1]
+
+
+Int[Csch[a_.+b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ x*(2-2*E^(2*a)*(c*x^n)^(2*b))^p/(b*n*p+1)*(E^a*(c*x^n)^b/(E^(2*a)*(c*x^n)^(2*b)-1))^p*
+ Hypergeometric2F1[p,(b*n*p+1)/(2*b*n),1+(b*n*p+1)/(2*b*n),E^(2*a)*(c*x^n)^(2*b)] /;
+FreeQ[{a,b,c,n,p},x] && NeQ[b^2*n^2*p^2-1]
+
+
+Int[x_^m_.*Sech[b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ 2^p*Int[x^m*((c*x^n)^b/(1+(c*x^n)^(2*b)))^p,x] /;
+FreeQ[c,x] && RationalQ[b,m,n,p]
+
+
+Int[x_^m_.*Csch[b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ 2^p*Int[x^m*((c*x^n)^b/(-1+(c*x^n)^(2*b)))^p,x] /;
+FreeQ[c,x] && RationalQ[b,m,n,p]
+
+
+Int[x_^m_.*Sec[a_.+b_.*Log[c_.*x_^n_.]],x_Symbol] :=
+ 2*E^(-a*b*n/(m+1))*Int[x^m*(c*x^n)^((m+1)/n)/(E^(-2*a*b*n/(m+1))+(c*x^n)^(2*(m+1)/n)),x] /;
+FreeQ[{a,b,c,m,n},x] && EqQ[b^2*n^2-(m+1)^2]
+
+
+Int[x_^m_.*Csc[a_.+b_.*Log[c_.*x_^n_.]],x_Symbol] :=
+ -2*b*n/(m+1)*E^(-a*b*n/(m+1))*Int[x^m*(c*x^n)^((m+1)/n)/(E^(-2*a*b*n/(m+1))-(c*x^n)^(2*(m+1)/n)),x] /;
+FreeQ[{a,b,c,m,n},x] && EqQ[b^2*n^2-(m+1)^2]
+
+
+Int[x_^m_.*Sech[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ (p-2)*x^(m+1)*Sech[a+b*Log[c*x^n]]^(p-2)/((m+1)*(p-1)) +
+ x^(m+1)*Tanh[a+b*Log[c*x^n]]*Sech[a+b*Log[c*x^n]]^(p-2)/(b*n*(p-1)) /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[b^2*n^2*(p-2)^2+(m+1)^2] && NeQ[m+1] && NeQ[p-1]
+
+
+Int[x_^m_.*Csch[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -(p-2)*x^(m+1)*Csch[a+b*Log[c*x^n]]^(p-2)/((m+1)*(p-1)) -
+ x^(m+1)*Coth[a+b*Log[c*x^n]]*Csch[a+b*Log[c*x^n]]^(p-2)/(b*n*(p-1)) /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[b^2*n^2*(p-2)^2+(m+1)^2] && NeQ[m+1] && NeQ[p-1]
+
+
+Int[x_^m_.*Sech[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ x^(m+1)*Tanh[a+b*Log[c*x^n]]*Sech[a+b*Log[c*x^n]]^(p-2)/(b*n*(p-1)) +
+ (m+1)*x^(m+1)*Sech[a+b*Log[c*x^n]]^(p-2)/(b^2*n^2*(p-1)*(p-2)) +
+ (b^2*n^2*(p-2)^2-(m+1)^2)/(b^2*n^2*(p-1)*(p-2))*Int[x^m*Sech[a+b*Log[c*x^n]]^(p-2),x] /;
+FreeQ[{a,b,c,m,n},x] && RationalQ[p] && p>1 && p!=2 && NeQ[b^2*n^2*(p-2)^2-(m+1)^2]
+
+
+Int[x_^m_.*Csch[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -x^(m+1)*Coth[a+b*Log[c*x^n]]*Csch[a+b*Log[c*x^n]]^(p-2)/(b*n*(p-1)) -
+ (m+1)*x^(m+1)*Csch[a+b*Log[c*x^n]]^(p-2)/(b^2*n^2*(p-1)*(p-2)) -
+ (b^2*n^2*(p-2)^2-(m+1)^2)/(b^2*n^2*(p-1)*(p-2))*Int[x^m*Csch[a+b*Log[c*x^n]]^(p-2),x] /;
+FreeQ[{a,b,c,m,n},x] && RationalQ[p] && p>1 && p!=2 && NeQ[b^2*n^2*(p-2)^2-(m+1)^2]
+
+
+Int[x_^m_.*Sech[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -(m+1)*x^(m+1)*Sech[a+b*Log[c*x^n]]^p/(b^2*n^2*p^2-(m+1)^2) -
+ b*n*p*x^(m+1)*Sech[a+b*Log[c*x^n]]^(p+1)*Sinh[a+b*Log[c*x^n]]/(b^2*n^2*p^2-(m+1)^2) +
+ b^2*n^2*p*(p+1)/(b^2*n^2*p^2-(m+1)^2)*Int[x^m*Sech[a+b*Log[c*x^n]]^(p+2),x] /;
+FreeQ[{a,b,c,m,n},x] && RationalQ[p] && p<-1 && NeQ[b^2*n^2*p^2-(m+1)^2]
+
+
+Int[x_^m_.*Csch[a_.+b_.*Log[c_.*x_^n_.]]^p_,x_Symbol] :=
+ -(m+1)*x^(m+1)*Csch[a+b*Log[c*x^n]]^p/(b^2*n^2*p^2-(m+1)^2) -
+ b*n*p*x^(m+1)*Cosh[a+b*Log[c*x^n]]*Csch[a+b*Log[c*x^n]]^(p+1)/(b^2*n^2*p^2-(m+1)^2) -
+ b^2*n^2*p*(p+1)/(b^2*n^2*p^2-(m+1)^2)*Int[x^m*Csch[a+b*Log[c*x^n]]^(p+2),x] /;
+FreeQ[{a,b,c,m,n},x] && RationalQ[p] && p<-1 && NeQ[b^2*n^2*p^2-(m+1)^2]
+
+
+Int[x_^m_.*Sech[a_.+b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ 2^p*x^(m+1)*(E^(2*a)*(c*x^n)^(2*b)+1)^p/(m+b*n*p+1)*(E^a*(c*x^n)^b/(E^(2*a)*(c*x^n)^(2*b)+1))^p*
+ Hypergeometric2F1[p,(m+b*n*p+1)/(2*b*n),1+(m+b*n*p+1)/(2*b*n),-E^(2*a)*(c*x^n)^(2*b)] /;
+FreeQ[{a,b,c,m,n,p},x] && NeQ[b^2*n^2*p^2-(m+1)^2]
+
+
+Int[x_^m_.*Csch[a_.+b_.*Log[c_.*x_^n_.]]^p_.,x_Symbol] :=
+ 2^p*x^(m+1)*(-E^(2*a)*(c*x^n)^(2*b)+1)^p/(m+b*n*p+1)*(E^a*(c*x^n)^b/(E^(2*a)*(c*x^n)^(2*b)-1))^p*
+ Hypergeometric2F1[p,(m+b*n*p+1)/(2*b*n),1+(m+b*n*p+1)/(2*b*n),E^(2*a)*(c*x^n)^(2*b)] /;
+FreeQ[{a,b,c,m,n,p},x] && NeQ[b^2*n^2*p^2-(m+1)^2]
+
+
+Int[Sinh[a_.*x_*Log[b_.*x_]^p_.]*Log[b_.*x_]^p_.,x_Symbol] :=
+ Cosh[a*x*Log[b*x]^p]/a -
+ p*Int[Sinh[a*x*Log[b*x]^p]*Log[b*x]^(p-1),x] /;
+FreeQ[{a,b},x] && RationalQ[p] && p>0
+
+
+Int[Cosh[a_.*x_*Log[b_.*x_]^p_.]*Log[b_.*x_]^p_.,x_Symbol] :=
+ Sinh[a*x*Log[b*x]^p]/a -
+ p*Int[Cosh[a*x*Log[b*x]^p]*Log[b*x]^(p-1),x] /;
+FreeQ[{a,b},x] && RationalQ[p] && p>0
+
+
+Int[Sinh[a_.*x_^n_*Log[b_.*x_]^p_.]*Log[b_.*x_]^p_.,x_Symbol] :=
+ Cosh[a*x^n*Log[b*x]^p]/(a*n*x^(n-1)) -
+ p/n*Int[Sinh[a*x^n*Log[b*x]^p]*Log[b*x]^(p-1),x] +
+ (n-1)/(a*n)*Int[Cosh[a*x^n*Log[b*x]^p]/x^n,x] /;
+FreeQ[{a,b},x] && RationalQ[n,p] && p>0
+
+
+Int[Cosh[a_.*x_^n_*Log[b_.*x_]^p_.]*Log[b_.*x_]^p_.,x_Symbol] :=
+ Sinh[a*x^n*Log[b*x]^p]/(a*n*x^(n-1)) -
+ p/n*Int[Cosh[a*x^n*Log[b*x]^p]*Log[b*x]^(p-1),x] +
+ (n-1)/(a*n)*Int[Sinh[a*x^n*Log[b*x]^p]/x^n,x] /;
+FreeQ[{a,b},x] && RationalQ[n,p] && p>0
+
+
+Int[x_^m_.*Sinh[a_.*x_^n_.*Log[b_.*x_]^p_.]*Log[b_.*x_]^p_.,x_Symbol] :=
+ -Cosh[a*x^n*Log[b*x]^p]/(a*n) -
+ p/n*Int[x^(n-1)*Sinh[a*x^n*Log[b*x]^p]*Log[b*x]^(p-1),x] /;
+FreeQ[{a,b,m,n},x] && EqQ[m-n+1] && RationalQ[p] && p>0
+
+
+Int[x_^m_.*Cosh[a_.*x_^n_.*Log[b_.*x_]^p_.]*Log[b_.*x_]^p_.,x_Symbol] :=
+ Sinh[a*x^n*Log[b*x]^p]/(a*n) -
+ p/n*Int[x^(n-1)*Cosh[a*x^n*Log[b*x]^p]*Log[b*x]^(p-1),x] /;
+FreeQ[{a,b,m,n},x] && EqQ[m-n+1] && RationalQ[p] && p>0
+
+
+Int[x_^m_*Sinh[a_.*x_^n_.*Log[b_.*x_]^p_.]*Log[b_.*x_]^p_.,x_Symbol] :=
+ x^(m-n+1)*Cosh[a*x^n*Log[b*x]^p]/(a*n) -
+ p/n*Int[x^m*Sinh[a*x^n*Log[b*x]^p]*Log[b*x]^(p-1),x] -
+ (m-n+1)/(a*n)*Int[x^(m-n)*Cosh[a*x^n*Log[b*x]^p],x] /;
+FreeQ[{a,b},x] && RationalQ[m,n,p] && p>0 && NeQ[m-n+1]
+
+
+Int[x_^m_*Cosh[a_.*x_^n_.*Log[b_.*x_]^p_.]*Log[b_.*x_]^p_.,x_Symbol] :=
+ x^(m-n+1)*Sinh[a*x^n*Log[b*x]^p]/(a*n) -
+ p/n*Int[x^m*Cosh[a*x^n*Log[b*x]^p]*Log[b*x]^(p-1),x] -
+ (m-n+1)/(a*n)*Int[x^(m-n)*Sinh[a*x^n*Log[b*x]^p],x] /;
+FreeQ[{a,b},x] && RationalQ[m,n,p] && p>0 && NeQ[m-n+1]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*6.4.8 Active hyperbolic functions*)
+
+
+Int[Sinh[a_./(c_.+d_.*x_)]^n_.,x_Symbol] :=
+ -1/d*Subst[Int[Sinh[a*x]^n/x^2,x],x,1/(c+d*x)] /;
+FreeQ[{a,c,d},x] && PositiveIntegerQ[n]
+
+
+Int[Cosh[a_./(c_.+d_.*x_)]^n_.,x_Symbol] :=
+ -1/d*Subst[Int[Cosh[a*x]^n/x^2,x],x,1/(c+d*x)] /;
+FreeQ[{a,c,d},x] && PositiveIntegerQ[n]
+
+
+Int[Sinh[e_.*(a_.+b_.*x_)/(c_.+d_.*x_)]^n_.,x_Symbol] :=
+ -1/d*Subst[Int[Sinh[b*e/d-e*(b*c-a*d)*x/d]^n/x^2,x],x,1/(c+d*x)] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[n] && NeQ[b*c-a*d]
+
+
+Int[Cosh[e_.*(a_.+b_.*x_)/(c_.+d_.*x_)]^n_.,x_Symbol] :=
+ -1/d*Subst[Int[Cosh[b*e/d-e*(b*c-a*d)*x/d]^n/x^2,x],x,1/(c+d*x)] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[n] && NeQ[b*c-a*d]
+
+
+Int[Sinh[u_]^n_.,x_Symbol] :=
+ With[{lst=QuotientOfLinearsParts[u,x]},
+ Int[Sinh[(lst[[1]]+lst[[2]]*x)/(lst[[3]]+lst[[4]]*x)]^n,x]] /;
+PositiveIntegerQ[n] && QuotientOfLinearsQ[u,x]
+
+
+Int[Cosh[u_]^n_.,x_Symbol] :=
+ With[{lst=QuotientOfLinearsParts[u,x]},
+ Int[Cosh[(lst[[1]]+lst[[2]]*x)/(lst[[3]]+lst[[4]]*x)]^n,x]] /;
+PositiveIntegerQ[n] && QuotientOfLinearsQ[u,x]
+
+
+Int[u_.*Sinh[v_]^p_.*Sinh[w_]^q_.,x_Symbol] :=
+ Int[u*Sinh[v]^(p+q),x] /;
+EqQ[v-w]
+
+
+Int[u_.*Cosh[v_]^p_.*Cosh[w_]^q_.,x_Symbol] :=
+ Int[u*Cosh[v]^(p+q),x] /;
+EqQ[v-w]
+
+
+Int[Sinh[v_]^p_.*Sinh[w_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[Sinh[v]^p*Sinh[w]^q,x],x] /;
+PositiveIntegerQ[p,q] && (PolynomialQ[v,x] && PolynomialQ[w,x] || BinomialQ[{v,w},x] && IndependentQ[Cancel[v/w],x])
+
+
+Int[Cosh[v_]^p_.*Cosh[w_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[Cosh[v]^p*Cosh[w]^q,x],x] /;
+PositiveIntegerQ[p,q] && (PolynomialQ[v,x] && PolynomialQ[w,x] || BinomialQ[{v,w},x] && IndependentQ[Cancel[v/w],x])
+
+
+Int[x_^m_.*Sinh[v_]^p_.*Sinh[w_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[x^m,Sinh[v]^p*Sinh[w]^q,x],x] /;
+PositiveIntegerQ[m,p,q] && (PolynomialQ[v,x] && PolynomialQ[w,x] || BinomialQ[{v,w},x] && IndependentQ[Cancel[v/w],x])
+
+
+Int[x_^m_.*Cosh[v_]^p_.*Cosh[w_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[x^m,Cosh[v]^p*Cosh[w]^q,x],x] /;
+PositiveIntegerQ[m,p,q] && (PolynomialQ[v,x] && PolynomialQ[w,x] || BinomialQ[{v,w},x] && IndependentQ[Cancel[v/w],x])
+
+
+Int[u_.*Sinh[v_]^p_.*Cosh[w_]^p_.,x_Symbol] :=
+ 1/2^p*Int[u*Sinh[2*v]^p,x] /;
+EqQ[v-w] && IntegerQ[p]
+
+
+Int[Sinh[v_]^p_.*Cosh[w_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[Sinh[v]^p*Cosh[w]^q,x],x] /;
+PositiveIntegerQ[p,q] && (PolynomialQ[v,x] && PolynomialQ[w,x] || BinomialQ[{v,w},x] && IndependentQ[Cancel[v/w],x])
+
+
+Int[x_^m_.*Sinh[v_]^p_.*Cosh[w_]^q_.,x_Symbol] :=
+ Int[ExpandTrigReduce[x^m,Sinh[v]^p*Cosh[w]^q,x],x] /;
+PositiveIntegerQ[m,p,q] && (PolynomialQ[v,x] && PolynomialQ[w,x] || BinomialQ[{v,w},x] && IndependentQ[Cancel[v/w],x])
+
+
+Int[Sinh[v_]*Tanh[w_]^n_.,x_Symbol] :=
+ Int[Cosh[v]*Tanh[w]^(n-1),x] - Cosh[v-w]*Int[Sech[w]*Tanh[w]^(n-1),x] /;
+RationalQ[n] && n>0 && FreeQ[v-w,x] && NeQ[v-w]
+
+
+Int[Cosh[v_]*Coth[w_]^n_.,x_Symbol] :=
+ Int[Sinh[v]*Coth[w]^(n-1),x] + Cosh[v-w]*Int[Csch[w]*Coth[w]^(n-1),x] /;
+RationalQ[n] && n>0 && FreeQ[v-w,x] && NeQ[v-w]
+
+
+Int[Sinh[v_]*Coth[w_]^n_.,x_Symbol] :=
+ Int[Cosh[v]*Coth[w]^(n-1),x] + Sinh[v-w]*Int[Csch[w]*Coth[w]^(n-1),x] /;
+RationalQ[n] && n>0 && FreeQ[v-w,x] && NeQ[v-w]
+
+
+Int[Cosh[v_]*Tanh[w_]^n_.,x_Symbol] :=
+ Int[Sinh[v]*Tanh[w]^(n-1),x] - Sinh[v-w]*Int[Sech[w]*Tanh[w]^(n-1),x] /;
+RationalQ[n] && n>0 && FreeQ[v-w,x] && NeQ[v-w]
+
+
+Int[Sinh[v_]*Sech[w_]^n_.,x_Symbol] :=
+ Cosh[v-w]*Int[Tanh[w]*Sech[w]^(n-1),x] + Sinh[v-w]*Int[Sech[w]^(n-1),x] /;
+RationalQ[n] && n>0 && FreeQ[v-w,x] && NeQ[v-w]
+
+
+Int[Cosh[v_]*Csch[w_]^n_.,x_Symbol] :=
+ Cosh[v-w]*Int[Coth[w]*Csch[w]^(n-1),x] + Sinh[v-w]*Int[Csch[w]^(n-1),x] /;
+RationalQ[n] && n>0 && FreeQ[v-w,x] && NeQ[v-w]
+
+
+Int[Sinh[v_]*Csch[w_]^n_.,x_Symbol] :=
+ Sinh[v-w]*Int[Coth[w]*Csch[w]^(n-1),x] + Cosh[v-w]*Int[Csch[w]^(n-1),x] /;
+RationalQ[n] && n>0 && FreeQ[v-w,x] && NeQ[v-w]
+
+
+Int[Cosh[v_]*Sech[w_]^n_.,x_Symbol] :=
+ Sinh[v-w]*Int[Tanh[w]*Sech[w]^(n-1),x] + Cosh[v-w]*Int[Sech[w]^(n-1),x] /;
+RationalQ[n] && n>0 && FreeQ[v-w,x] && NeQ[v-w]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_+b_.*Sinh[c_.+d_.*x_]*Cosh[c_.+d_.*x_])^n_.,x_Symbol] :=
+ Int[(e+f*x)^m*(a+b*Sinh[2*c+2*d*x]/2)^n,x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x]
+
+
+Int[x_^m_.*(a_+b_.*Sinh[c_.+d_.*x_]^2)^n_,x_Symbol] :=
+ 1/2^n*Int[x^m*(2*a-b+b*Cosh[2*c+2*d*x])^n,x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a-b] && IntegersQ[m,n] && m>0 && n<0 && (n==-1 || m==1 && n==-2)
+
+
+Int[x_^m_.*(a_+b_.*Cosh[c_.+d_.*x_]^2)^n_,x_Symbol] :=
+ 1/2^n*Int[x^m*(2*a+b+b*Cosh[2*c+2*d*x])^n,x] /;
+FreeQ[{a,b,c,d},x] && NeQ[a+b] && IntegersQ[m,n] && m>0 && n<0 && (n==-1 || m==1 && n==-2)
+
+
+Int[(e_.+f_.*x_)^m_.*Sinh[a_.+b_.*(c_+d_.*x_)^n_]^p_.,x_Symbol] :=
+ 1/d^(m+1)*Subst[Int[(d*e-c*f+f*x)^m*Sinh[a+b*x^n]^p,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[m] && RationalQ[p]
+
+
+Int[(e_.+f_.*x_)^m_.*Cosh[a_.+b_.*(c_+d_.*x_)^n_]^p_.,x_Symbol] :=
+ 1/d^(m+1)*Subst[Int[(d*e-c*f+f*x)^m*Cosh[a+b*x^n]^p,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && PositiveIntegerQ[m] && RationalQ[p]
+
+
+Int[(f_.+g_.*x_)^m_./(a_.+b_.*Cosh[d_.+e_.*x_]^2+c_.*Sinh[d_.+e_.*x_]^2),x_Symbol] :=
+ 2*Int[(f+g*x)^m/(2*a+b-c+(b+c)*Cosh[2*d+2*e*x]),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && PositiveIntegerQ[m] && NeQ[a+b] && NeQ[a+c]
+
+
+Int[(f_.+g_.*x_)^m_.*Sech[d_.+e_.*x_]^2/(b_+c_.*Tanh[d_.+e_.*x_]^2),x_Symbol] :=
+ 2*Int[(f+g*x)^m/(b-c+(b+c)*Cosh[2*d+2*e*x]),x] /;
+FreeQ[{b,c,d,e,f,g},x] && PositiveIntegerQ[m]
+
+
+Int[(f_.+g_.*x_)^m_.*Sech[d_.+e_.*x_]^2/(b_.+a_.*Sech[d_.+e_.*x_]^2+c_.*Tanh[d_.+e_.*x_]^2),x_Symbol] :=
+ 2*Int[(f+g*x)^m/(2*a+b-c+(b+c)*Cosh[2*d+2*e*x]),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && PositiveIntegerQ[m] && NeQ[a+b] && NeQ[a+c]
+
+
+Int[(f_.+g_.*x_)^m_.*Csch[d_.+e_.*x_]^2/(c_+b_.*Coth[d_.+e_.*x_]^2),x_Symbol] :=
+ 2*Int[(f+g*x)^m/(b-c+(b+c)*Cosh[2*d+2*e*x]),x] /;
+FreeQ[{b,c,d,e,f,g},x] && PositiveIntegerQ[m]
+
+
+Int[(f_.+g_.*x_)^m_.*Csch[d_.+e_.*x_]^2/(c_.+b_.*Coth[d_.+e_.*x_]^2+a_.*Csch[d_.+e_.*x_]^2),x_Symbol] :=
+ 2*Int[(f+g*x)^m/(2*a+b-c+(b+c)*Cosh[2*d+2*e*x]),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && PositiveIntegerQ[m] && NeQ[a+b] && NeQ[a+c]
+
+
+Int[(e_.+f_.*x_)^m_.*Cosh[c_.+d_.*x_]/(a_+b_.*Sinh[c_.+d_.*x_]),x_Symbol] :=
+ -(e+f*x)^(m+1)/(b*f*(m+1)) +
+ Int[(e+f*x)^m*E^(c+d*x)/(a-Rt[a^2+b^2,2]+b*E^(c+d*x)),x] +
+ Int[(e+f*x)^m*E^(c+d*x)/(a+Rt[a^2+b^2,2]+b*E^(c+d*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] (* && PosQ[a^2+b^2] *)
+
+
+Int[(e_.+f_.*x_)^m_.*Sinh[c_.+d_.*x_]/(a_+b_.*Cosh[c_.+d_.*x_]),x_Symbol] :=
+ -(e+f*x)^(m+1)/(b*f*(m+1)) +
+ Int[(e+f*x)^m*E^(c+d*x)/(a-Rt[a^2-b^2,2]+b*E^(c+d*x)),x] +
+ Int[(e+f*x)^m*E^(c+d*x)/(a+Rt[a^2-b^2,2]+b*E^(c+d*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] (* && PosQ[a^2+b^2] *)
+
+
+Int[(e_.+f_.*x_)^m_.*Cosh[c_.+d_.*x_]^n_/(a_+b_.*Sinh[c_.+d_.*x_]),x_Symbol] :=
+ 1/a*Int[(e+f*x)^m*Cosh[c+d*x]^(n-2),x] +
+ 1/b*Int[(e+f*x)^m*Cosh[c+d*x]^(n-2)*Sinh[c+d*x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && IntegerQ[n] && n>1 && EqQ[a^2+b^2]
+
+
+Int[(e_.+f_.*x_)^m_.*Sinh[c_.+d_.*x_]^n_/(a_+b_.*Cosh[c_.+d_.*x_]),x_Symbol] :=
+ 1/a*Int[(e+f*x)^m*Sinh[c+d*x]^(n-2),x] +
+ 1/b*Int[(e+f*x)^m*Sinh[c+d*x]^(n-2)*Cosh[c+d*x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && IntegerQ[n] && n>1 && EqQ[a^2-b^2]
+
+
+Int[(e_.+f_.*x_)^m_.*Cosh[c_.+d_.*x_]^n_/(a_+b_.*Sinh[c_.+d_.*x_]),x_Symbol] :=
+ -a/b^2*Int[(e+f*x)^m*Cosh[c+d*x]^(n-2),x] +
+ 1/b*Int[(e+f*x)^m*Cosh[c+d*x]^(n-2)*Sinh[c+d*x],x] +
+ (a^2+b^2)/b^2*Int[(e+f*x)^m*Cosh[c+d*x]^(n-2)/(a+b*Sinh[c+d*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && IntegerQ[n] && n>1 && NeQ[a^2+b^2]
+
+
+Int[(e_.+f_.*x_)^m_.*Sinh[c_.+d_.*x_]^n_/(a_+b_.*Cosh[c_.+d_.*x_]),x_Symbol] :=
+ -a/b^2*Int[(e+f*x)^m*Sinh[c+d*x]^(n-2),x] +
+ 1/b*Int[(e+f*x)^m*Sinh[c+d*x]^(n-2)*Cosh[c+d*x],x] +
+ (a^2-b^2)/b^2*Int[(e+f*x)^m*Sinh[c+d*x]^(n-2)/(a+b*Cosh[c+d*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && IntegerQ[n] && n>1 && NeQ[a^2-b^2]
+
+
+Int[(e_.+f_.*x_)*(A_+B_.*Sinh[c_.+d_.*x_])/(a_+b_.*Sinh[c_.+d_.*x_])^2,x_Symbol] :=
+ B*(e+f*x)*Cosh[c+d*x]/(a*d*(a+b*Sinh[c+d*x])) -
+ B*f/(a*d)*Int[Cosh[c+d*x]/(a+b*Sinh[c+d*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && EqQ[a*A+b*B]
+
+
+Int[(e_.+f_.*x_)*(A_+B_.*Cosh[c_.+d_.*x_])/(a_+b_.*Cosh[c_.+d_.*x_])^2,x_Symbol] :=
+ B*(e+f*x)*Sinh[c+d*x]/(a*d*(a+b*Cosh[c+d*x])) -
+ B*f/(a*d)*Int[Sinh[c+d*x]/(a+b*Cosh[c+d*x]),x] /;
+FreeQ[{a,b,c,d,e,f,A,B},x] && EqQ[a*A-b*B]
+
+
+Int[Sech[v_]^m_.*(a_+b_.*Tanh[v_])^n_.,x_Symbol] :=
+ Int[(a*Cosh[v]+b*Sinh[v])^n,x] /;
+FreeQ[{a,b},x] && IntegersQ[m,n] && m+n==0 && OddQ[m]
+
+
+Int[Csch[v_]^m_.*(a_+b_.*Coth[v_])^n_.,x_Symbol] :=
+ Int[(b*Cosh[v]+a*Sinh[v])^n,x] /;
+FreeQ[{a,b},x] && IntegersQ[m,n] && m+n==0 && OddQ[m]
+
+
+Int[u_.*Sinh[a_.+b_.*x_]^m_.*Sinh[c_.+d_.*x_]^n_.,x_Symbol] :=
+ Int[ExpandTrigReduce[u,Sinh[a+b*x]^m*Sinh[c+d*x]^n,x],x] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[m,n]
+
+
+Int[u_.*Cosh[a_.+b_.*x_]^m_.*Cosh[c_.+d_.*x_]^n_.,x_Symbol] :=
+ Int[ExpandTrigReduce[u,Cosh[a+b*x]^m*Cosh[c+d*x]^n,x],x] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[m,n]
+
+
+Int[Sech[a_.+b_.*x_]*Sech[c_+d_.*x_],x_Symbol] :=
+ -Csch[(b*c-a*d)/d]*Int[Tanh[a+b*x],x] + Csch[(b*c-a*d)/b]*Int[Tanh[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && EqQ[b^2-d^2] && NeQ[b*c-a*d]
+
+
+Int[Csch[a_.+b_.*x_]*Csch[c_+d_.*x_],x_Symbol] :=
+ Csch[(b*c-a*d)/b]*Int[Coth[a+b*x],x] - Csch[(b*c-a*d)/d]*Int[Coth[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && EqQ[b^2-d^2] && NeQ[b*c-a*d]
+
+
+Int[Tanh[a_.+b_.*x_]*Tanh[c_+d_.*x_],x_Symbol] :=
+ b*x/d - b/d*Cosh[(b*c-a*d)/d]*Int[Sech[a+b*x]*Sech[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && EqQ[b^2-d^2] && NeQ[b*c-a*d]
+
+
+Int[Coth[a_.+b_.*x_]*Coth[c_+d_.*x_],x_Symbol] :=
+ b*x/d + Cosh[(b*c-a*d)/d]*Int[Csch[a+b*x]*Csch[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && EqQ[b^2-d^2] && NeQ[b*c-a*d]
+
+
+Int[u_.*(a_.*Cosh[v_]+b_.*Sinh[v_])^n_.,x_Symbol] :=
+ Int[u*(a*E^(a/b*v))^n,x] /;
+FreeQ[{a,b,n},x] && EqQ[a^2-b^2]
+
+
+
+`)
+
+func resourcesRubi6HyperbolicFunctionsMBytes() ([]byte, error) {
+ return _resourcesRubi6HyperbolicFunctionsM, nil
+}
+
+func resourcesRubi6HyperbolicFunctionsM() (*asset, error) {
+ bytes, err := resourcesRubi6HyperbolicFunctionsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/6 Hyperbolic functions.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi7InverseHyperbolicFunctionsM = []byte(`(* ::Package:: *)
+
+(* ::Section:: *)
+(*Inverse Hyperbolic Function Rules*)
+
+
+(* ::Subsection::Closed:: *)
+(*7.1.1 (a+b arcsinh(c x))^n*)
+
+
+Int[(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ x*(a+b*ArcSinh[c*x])^n -
+ b*c*n*Int[x*(a+b*ArcSinh[c*x])^(n-1)/Sqrt[1+c^2*x^2],x] /;
+FreeQ[{a,b,c},x] && RationalQ[n] && n>0
+
+
+Int[(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ x*(a+b*ArcCosh[c*x])^n -
+ b*c*n*Int[x*(a+b*ArcCosh[c*x])^(n-1)/(Sqrt[-1+c*x]*Sqrt[1+c*x]),x] /;
+FreeQ[{a,b,c},x] && RationalQ[n] && n>0
+
+
+Int[(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ Sqrt[1+c^2*x^2]*(a+b*ArcSinh[c*x])^(n+1)/(b*c*(n+1)) -
+ c/(b*(n+1))*Int[x*(a+b*ArcSinh[c*x])^(n+1)/Sqrt[1+c^2*x^2],x] /;
+FreeQ[{a,b,c},x] && RationalQ[n] && n<-1
+
+
+Int[(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ Sqrt[-1+c*x]*Sqrt[1+c*x]*(a+b*ArcCosh[c*x])^(n+1)/(b*c*(n+1)) -
+ c/(b*(n+1))*Int[x*(a+b*ArcCosh[c*x])^(n+1)/(Sqrt[-1+c*x]*Sqrt[1+c*x]),x] /;
+FreeQ[{a,b,c},x] && RationalQ[n] && n<-1
+
+
+Int[(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ 1/(b*c)*Subst[Int[x^n*Cosh[a/b-x/b],x],x,a+b*ArcSinh[c*x]] /;
+FreeQ[{a,b,c,n},x]
+
+
+Int[(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ -1/(b*c)*Subst[Int[x^n*Sinh[a/b-x/b],x],x,a+b*ArcCosh[c*x]] /;
+FreeQ[{a,b,c,n},x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*7.1.2 (d x)^m (a+b arcsinh(c x))^n*)
+
+
+Int[(a_.+b_.*ArcSinh[c_.*x_])^n_./x_,x_Symbol] :=
+ Subst[Int[(a+b*x)^n/Tanh[x],x],x,ArcSinh[c*x]] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*ArcCosh[c_.*x_])^n_./x_,x_Symbol] :=
+ Subst[Int[(a+b*x)^n/Coth[x],x],x,ArcCosh[c*x]] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[n]
+
+
+Int[(d_.*x_)^m_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (d*x)^(m+1)*(a+b*ArcSinh[c*x])^n/(d*(m+1)) -
+ b*c*n/(d*(m+1))*Int[(d*x)^(m+1)*(a+b*ArcSinh[c*x])^(n-1)/Sqrt[1+c^2*x^2],x] /;
+FreeQ[{a,b,c,d,m},x] && PositiveIntegerQ[n] && NeQ[m+1]
+
+
+Int[(d_.*x_)^m_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (d*x)^(m+1)*(a+b*ArcCosh[c*x])^n/(d*(m+1)) -
+ b*c*n/(d*(m+1))*Int[(d*x)^(m+1)*(a+b*ArcCosh[c*x])^(n-1)/(Sqrt[-1+c*x]*Sqrt[1+c*x]),x] /;
+FreeQ[{a,b,c,d,m},x] && PositiveIntegerQ[n] && NeQ[m+1]
+
+
+Int[x_^m_.*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ x^(m+1)*(a+b*ArcSinh[c*x])^n/(m+1) -
+ b*c*n/(m+1)*Int[x^(m+1)*(a+b*ArcSinh[c*x])^(n-1)/Sqrt[1+c^2*x^2],x] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[m] && RationalQ[n] && n>0
+
+
+Int[x_^m_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ x^(m+1)*(a+b*ArcCosh[c*x])^n/(m+1) -
+ b*c*n/(m+1)*Int[x^(m+1)*(a+b*ArcCosh[c*x])^(n-1)/(Sqrt[-1+c*x]*Sqrt[1+c*x]),x] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[m] && RationalQ[n] && n>0
+
+
+Int[x_^m_.*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ x^m*Sqrt[1+c^2*x^2]*(a+b*ArcSinh[c*x])^(n+1)/(b*c*(n+1)) -
+ 1/(b*c^(m+1)*(n+1))*Subst[Int[ExpandTrigReduce[(a+b*x)^(n+1),Sinh[x]^(m-1)*(m+(m+1)*Sinh[x]^2),x],x],x,ArcSinh[c*x]] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[m] && RationalQ[n] && -2<=n<-1
+
+
+Int[x_^m_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ x^m*Sqrt[-1+c*x]*Sqrt[1+c*x]*(a+b*ArcCosh[c*x])^(n+1)/(b*c*(n+1)) +
+ 1/(b*c^(m+1)*(n+1))*Subst[Int[ExpandTrigReduce[(a+b*x)^(n+1)*Cosh[x]^(m-1)*(m-(m+1)*Cosh[x]^2),x],x],x,ArcCosh[c*x]] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[m] && RationalQ[n] && -2<=n<-1
+
+
+Int[x_^m_.*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ x^m*Sqrt[1+c^2*x^2]*(a+b*ArcSinh[c*x])^(n+1)/(b*c*(n+1)) -
+ m/(b*c*(n+1))*Int[x^(m-1)*(a+b*ArcSinh[c*x])^(n+1)/Sqrt[1+c^2*x^2],x] -
+ c*(m+1)/(b*(n+1))*Int[x^(m+1)*(a+b*ArcSinh[c*x])^(n+1)/Sqrt[1+c^2*x^2],x] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[m] && RationalQ[n] && n<-2
+
+
+Int[x_^m_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ x^m*Sqrt[-1+c*x]*Sqrt[1+c*x]*(a+b*ArcCosh[c*x])^(n+1)/(b*c*(n+1)) +
+ m/(b*c*(n+1))*Int[x^(m-1)*(a+b*ArcCosh[c*x])^(n+1)/(Sqrt[-1+c*x]*Sqrt[1+c*x]),x] -
+ c*(m+1)/(b*(n+1))*Int[x^(m+1)*(a+b*ArcCosh[c*x])^(n+1)/(Sqrt[-1+c*x]*Sqrt[1+c*x]),x] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[m] && RationalQ[n] && n<-2
+
+
+Int[x_^m_.*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ 1/c^(m+1)*Subst[Int[(a+b*x)^n*Sinh[x]^m*Cosh[x],x],x,ArcSinh[c*x]] /;
+FreeQ[{a,b,c,n},x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ 1/c^(m+1)*Subst[Int[(a+b*x)^n*Cosh[x]^m*Sinh[x],x],x,ArcCosh[c*x]] /;
+FreeQ[{a,b,c,n},x] && PositiveIntegerQ[m]
+
+
+Int[(d_.*x_)^m_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d*x)^m*(a+b*ArcSinh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,m,n},x]
+
+
+Int[(d_.*x_)^m_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d*x)^m*(a+b*ArcCosh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,m,n},x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*7.1.3 (d+e x^2)^p (a+b arcsinh(c x))^n*)
+
+
+Int[1/(Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcSinh[c_.*x_])),x_Symbol] :=
+ Log[a+b*ArcSinh[c*x]]/(b*c*Sqrt[d]) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveQ[d]
+
+
+Int[1/(Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]*(a_.+b_.*ArcCosh[c_.*x_])),x_Symbol] :=
+ Log[a+b*ArcCosh[c*x]]/(b*c*Sqrt[-d1*d2]) /;
+FreeQ[{a,b,c,d1,e1,d2,e2},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && PositiveQ[d1] && NegativeQ[d2]
+
+
+Int[(a_.+b_.*ArcSinh[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ (a+b*ArcSinh[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && PositiveQ[d] && NeQ[n+1]
+
+
+Int[(a_.+b_.*ArcCosh[c_.*x_])^n_./(Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]),x_Symbol] :=
+ (a+b*ArcCosh[c*x])^(n+1)/(b*c*Sqrt[-d1*d2]*(n+1)) /;
+FreeQ[{a,b,c,d1,e1,d2,e2,n},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && PositiveQ[d1] && NegativeQ[d2] && NeQ[n+1]
+
+
+Int[(a_.+b_.*ArcSinh[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ Sqrt[1+c^2*x^2]/Sqrt[d+e*x^2]*Int[(a+b*ArcSinh[c*x])^n/Sqrt[1+c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && Not[PositiveQ[d]]
+
+
+Int[(a_.+b_.*ArcCosh[c_.*x_])^n_./(Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]),x_Symbol] :=
+ Sqrt[1+c*x]*Sqrt[-1+c*x]/(Sqrt[d1+e1*x]*Sqrt[d2+e2*x])*Int[(a+b*ArcCosh[c*x])^n/(Sqrt[1+c*x]*Sqrt[-1+c*x]),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,n},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && Not[PositiveQ[d1] && NegativeQ[d2]]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[a+b*ArcSinh[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/Sqrt[1+c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveIntegerQ[p]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[a+b*ArcCosh[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/(Sqrt[1+c*x]*Sqrt[-1+c*x]),x],x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[p]
+
+
+(* Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ x*(d+e*x^2)^p*(a+b*ArcSinh[c*x])^n/(2*p+1) +
+ 2*d*p/(2*p+1)*Int[(d+e*x^2)^(p-1)*(a+b*ArcSinh[c*x])^n,x] -
+ b*c*n*d^p/(2*p+1)*Int[x*(1+c^2*x^2)^(p-1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n,p] && n>0 && p>0 && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ x*(d+e*x^2)^p*(a+b*ArcCosh[c*x])^n/(2*p+1) +
+ 2*d*p/(2*p+1)*Int[(d+e*x^2)^(p-1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*c*n*(-d)^p/((2*p+1))*Int[x*(-1+c*x)^(p-1/2)*(1+c*x)^(p-1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p>0 && IntegerQ[p]
+
+
+(* Int[(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ x*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^n/(2*p+1) +
+ 2*d1*d2*p/(2*p+1)*Int[(d1+e1*x)^(p-1)*(d2+e2*x)^(p-1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*c*n*(-d1*d2)^p/((2*p+1))*Int[x*(-1+c^2*x^2)^(p-1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n,p] && n>0 && p>0 && IntegerQ[p-1/2] &&
+ (PositiveQ[d1] && NegativeQ[d2]) *)
+
+
+Int[Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ x*Sqrt[d+e*x^2]*(a+b*ArcSinh[c*x])^n/2 -
+ b*c*n*Sqrt[d+e*x^2]/(2*Sqrt[1+c^2*x^2])*Int[x*(a+b*ArcSinh[c*x])^(n-1),x] +
+ Sqrt[d+e*x^2]/(2*Sqrt[1+c^2*x^2])*Int[(a+b*ArcSinh[c*x])^n/Sqrt[1+c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0
+
+
+Int[Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ x*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]*(a+b*ArcCosh[c*x])^n/2 -
+ b*c*n*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]/(2*Sqrt[1+c*x]*Sqrt[-1+c*x])*Int[x*(a+b*ArcCosh[c*x])^(n-1),x] -
+ Sqrt[d1+e1*x]*Sqrt[d2+e2*x]/(2*Sqrt[1+c*x]*Sqrt[-1+c*x])*Int[(a+b*ArcCosh[c*x])^n/(Sqrt[1+c*x]*Sqrt[-1+c*x]),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n>0
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ x*(d+e*x^2)^p*(a+b*ArcSinh[c*x])^n/(2*p+1) +
+ 2*d*p/(2*p+1)*Int[(d+e*x^2)^(p-1)*(a+b*ArcSinh[c*x])^n,x] -
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/((2*p+1)*(1+c^2*x^2)^FracPart[p])*
+ Int[x*(1+c^2*x^2)^(p-1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n,p] && n>0 && p>0
+
+
+Int[(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ x*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^n/(2*p+1) +
+ 2*d1*d2*p/(2*p+1)*Int[(d1+e1*x)^(p-1)*(d2+e2*x)^(p-1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*c*n*(-d1*d2)^(p-1/2)*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]/((2*p+1)*Sqrt[1+c*x]*Sqrt[-1+c*x])*
+ Int[x*(-1+c^2*x^2)^(p-1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n,p] && n>0 && p>0 && IntegerQ[p-1/2]
+
+
+Int[(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ x*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^n/(2*p+1) +
+ 2*d1*d2*p/(2*p+1)*Int[(d1+e1*x)^(p-1)*(d2+e2*x)^(p-1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*c*n*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/((2*p+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[x*(-1+c*x)^(p-1/2)*(1+c*x)^(p-1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n,p] && n>0 && p>0
+
+
+(* Int[(a_.+b_.*ArcSinh[c_.*x_])^n_./(d_+e_.*x_^2)^(3/2),x_Symbol] :=
+ x*(a+b*ArcSinh[c*x])^n/(d*Sqrt[d+e*x^2]) -
+ b*c*n/Sqrt[d]*Int[x*(a+b*ArcSinh[c*x])^(n-1)/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && PositiveQ[d] *)
+
+
+(* Int[(a_.+b_.*ArcCosh[c_.*x_])^n_./((d1_+e1_.*x_)^(3/2)*(d2_+e2_.*x_)^(3/2)),x_Symbol] :=
+ x*(a+b*ArcCosh[c*x])^n/(d1*d2*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]) +
+ b*c*n/Sqrt[-d1*d2]*Int[x*(a+b*ArcCosh[c*x])^(n-1)/(d1*d2+e1*e2*x^2),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n>0 && (PositiveQ[d1] && NegativeQ[d2]) *)
+
+
+Int[(a_.+b_.*ArcSinh[c_.*x_])^n_./(d_+e_.*x_^2)^(3/2),x_Symbol] :=
+ x*(a+b*ArcSinh[c*x])^n/(d*Sqrt[d+e*x^2]) -
+ b*c*n*Sqrt[1+c^2*x^2]/(d*Sqrt[d+e*x^2])*Int[x*(a+b*ArcSinh[c*x])^(n-1)/(1+c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0
+
+
+Int[(a_.+b_.*ArcCosh[c_.*x_])^n_./((d1_+e1_.*x_)^(3/2)*(d2_+e2_.*x_)^(3/2)),x_Symbol] :=
+ x*(a+b*ArcCosh[c*x])^n/(d1*d2*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]) +
+ b*c*n*Sqrt[1+c*x]*Sqrt[-1+c*x]/(d1*d2*Sqrt[d1+e1*x]*Sqrt[d2+e2*x])*Int[x*(a+b*ArcCosh[c*x])^(n-1)/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n>0
+
+
+(* Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ -x*(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n/(2*d*(p+1)) +
+ (2*p+3)/(2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n,x] +
+ b*c*n*d^p/(2*(p+1))*Int[x*(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n,p] && n>0 && p<-1 && p!=-3/2 && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ -x*(d+e*x^2)^(p+1)*(a+b*ArcCosh[c*x])^n/(2*d*(p+1)) +
+ (2*p+3)/(2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*c*n*(-d)^p/(2*(p+1))*Int[x*(1+c*x)^(p+1/2)*(-1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p<-1 && IntegerQ[p]
+
+
+(* Int[(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ -x*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(2*d1*d2*(p+1)) +
+ (2*p+3)/(2*d1*d2*(p+1))*Int[(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*c*n*(-d1*d2)^p/(2*(p+1))*Int[x*(-1+c^2*x^2)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n,p] && n>0 && p<-1 && p!=-3/2 &&
+ IntegerQ[p+1/2] && (PositiveQ[d1] && NegativeQ[d2]) *)
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ -x*(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n/(2*d*(p+1)) +
+ (2*p+3)/(2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n,x] +
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(2*(p+1)*(1+c^2*x^2)^FracPart[p])*
+ Int[x*(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && RationalQ[n,p] && n>0 && p<-1 && p!=-3/2
+
+
+Int[(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ -x*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(2*d1*d2*(p+1)) +
+ (2*p+3)/(2*d1*d2*(p+1))*Int[(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*c*n*(-d1*d2)^(p+1/2)*Sqrt[1+c*x]*Sqrt[-1+c*x]/(2*(p+1)*Sqrt[d1+e1*x]*Sqrt[d2+e2*x])*
+ Int[x*(-1+c^2*x^2)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n,p] && n>0 && p<-1 && p!=-3/2 && IntegerQ[p+1/2]
+
+
+Int[(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ -x*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(2*d1*d2*(p+1)) +
+ (2*p+3)/(2*d1*d2*(p+1))*Int[(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*c*n*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(2*(p+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[x*(1+c*x)^(p+1/2)*(-1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n,p] && n>0 && p<-1 && p!=-3/2
+
+
+Int[(a_.+b_.*ArcSinh[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/(c*d)*Subst[Int[(a+b*x)^n*Sech[x],x],x,ArcSinh[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*ArcCosh[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ -1/(c*d)*Subst[Int[(a+b*x)^n*Csch[x],x],x,ArcCosh[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n]
+
+
+(* Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ d^p*(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n+1)/(b*c*(n+1)) -
+ c*d^p*(2*p+1)/(b*(n+1))*Int[x*(1+c^2*x^2)^(p-1/2)*(a+b*ArcSinh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[e-c^2*d] && RationalQ[n] && n<-1 && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ (-d)^p*(-1+c*x)^(p+1/2)*(1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n+1)/(b*c*(n+1)) -
+ c*(-d)^p*(2*p+1)/(b*(n+1))*Int[x*(-1+c*x)^(p-1/2)*(1+c*x)^(p-1/2)*(a+b*ArcCosh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && IntegerQ[p]
+
+
+(* Int[(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ (-d1*d2)^p*(-1+c*x)^(p+1/2)*(1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n+1)/(b*c*(n+1)) -
+ c*(-d1*d2)^p*(2*p+1)/(b*(n+1))*Int[x*(-1+c^2*x^2)^(p-1/2)*(a+b*ArcCosh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,p},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n<-1 && IntegerQ[p-1/2] &&
+ (PositiveQ[d1] && NegativeQ[d2]) *)
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ Sqrt[1+c^2*x^2]*(d+e*x^2)^p*(a+b*ArcSinh[c*x])^(n+1)/(b*c*(n+1)) -
+ c*(2*p+1)*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(b*(n+1)*(1+c^2*x^2)^FracPart[p])*
+ Int[x*(1+c^2*x^2)^(p-1/2)*(a+b*ArcSinh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[e-c^2*d] && RationalQ[n] && n<-1
+
+
+Int[(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ Sqrt[1+c*x]*Sqrt[-1+c*x]*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^(n+1)/(b*c*(n+1)) -
+ c*(2*p+1)*(-d1*d2)^(p-1/2)*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]/(b*(n+1)*Sqrt[1+c*x]*Sqrt[-1+c*x])*
+ Int[x*(-1+c^2*x^2)^(p-1/2)*(a+b*ArcCosh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,p},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n<-1 && IntegerQ[p-1/2]
+
+
+Int[(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ Sqrt[1+c*x]*Sqrt[-1+c*x]*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^(n+1)/(b*c*(n+1)) -
+ c*(2*p+1)*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(b*(n+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[x*(1+c*x)^(p-1/2)*(-1+c*x)^(p-1/2)*(a+b*ArcCosh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,p},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n<-1
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ d^p/c*Subst[Int[(a+b*x)^n*Cosh[x]^(2*p+1),x],x,ArcSinh[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && PositiveIntegerQ[2*p] && (IntegerQ[p] || PositiveQ[d])
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (-d)^p/c*Subst[Int[(a+b*x)^n*Sinh[x]^(2*p+1),x],x,ArcCosh[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && PositiveIntegerQ[p]
+
+
+Int[(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (-d1*d2)^p/c*Subst[Int[(a+b*x)^n*Sinh[x]^(2*p+1),x],x,ArcCosh[c*x]] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,n},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && PositiveIntegerQ[p+1/2] &&
+ (PositiveQ[d1] && NegativeQ[d2])
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ d^(p-1/2)*Sqrt[d+e*x^2]/Sqrt[1+c^2*x^2]*Int[(1+c^2*x^2)^p*(a+b*ArcSinh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && PositiveIntegerQ[2*p] && Not[IntegerQ[p] || PositiveQ[d]]
+
+
+Int[(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (-d1*d2)^(p-1/2)*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]/(Sqrt[1+c*x]*Sqrt[-1+c*x])*Int[(1+c*x)^p*(-1+c*x)^p*(a+b*ArcCosh[c*x])^n,x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,n},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && PositiveIntegerQ[2*p] && Not[PositiveQ[d1] && NegativeQ[d2]]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[a+b*ArcSinh[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/Sqrt[1+c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[e-c^2*d] && (PositiveIntegerQ[p] || NegativeIntegerQ[p+1/2])
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[a+b*ArcCosh[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/(Sqrt[1+c*x]*Sqrt[-1+c*x]),x],x]] /;
+FreeQ[{a,b,c,d,e},x] && NeQ[c^2*d+e] && (PositiveIntegerQ[p] || NegativeIntegerQ[p+1/2])
+
+
+(* Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[a+b*ArcCosh[c*x],u,x] - b*c*Sqrt[1-c^2*x^2]/(Sqrt[1+c*x]*Sqrt[-1+c*x])*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e},x] && (PositiveIntegerQ[p] || NegativeIntegerQ[p+1/2]) *)
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcSinh[c*x])^n,(d+e*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,n},x] && NeQ[e-c^2*d] && IntegerQ[p] && (p>0 || PositiveIntegerQ[n])
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcCosh[c*x])^n,(d+e*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,n},x] && NeQ[c^2*d+e] && IntegerQ[p] && (p>0 || PositiveIntegerQ[n])
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x^2)^p*(a+b*ArcSinh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x^2)^p*(a+b*ArcCosh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x] && IntegerQ[p]
+
+
+Int[(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^n,x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,n,p},x]
+
+
+Int[(d_+e_.*x_)^p_*(f_+g_.*x_)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x)^FracPart[p]*(f+g*x)^FracPart[p]/(d*f+e*g*x^2)^FracPart[p]*
+ Int[(d*f+e*g*x^2)^p*(a+b*ArcSinh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,n,p},x] && EqQ[e*f+d*g] && EqQ[c^2*f^2+g^2] && Not[IntegerQ[p]]
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (-d)^IntPart[p]*(d+e*x^2)^FracPart[p]/((1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(1+c*x)^p*(-1+c*x)^p*(a+b*ArcCosh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x] && EqQ[c^2*d+e] && Not[IntegerQ[p]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*7.1.4 (f x)^m (d+e x^2)^p (a+b arcsinh(c x))^n*)
+
+
+Int[x_*(a_.+b_.*ArcSinh[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/e*Subst[Int[(a+b*x)^n*Tanh[x],x],x,ArcSinh[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveIntegerQ[n]
+
+
+Int[x_*(a_.+b_.*ArcCosh[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/e*Subst[Int[(a+b*x)^n*Coth[x],x],x,ArcCosh[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n]
+
+
+(* Int[x_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n/(2*e*(p+1)) -
+ b*n*d^p/(2*c*(p+1))*Int[(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && NeQ[p+1] && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[x_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcCosh[c*x])^n/(2*e*(p+1)) -
+ b*n*(-d)^p/(2*c*(p+1))*Int[(1+c*x)^(p+1/2)*(-1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && NeQ[p+1] && IntegerQ[p]
+
+
+(* Int[x_*(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(2*e1*e2*(p+1)) -
+ b*n*(-d1*d2)^(p-1/2)/(2*c*(p+1))*Int[(-1+c^2*x^2)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,p},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n>0 && IntegerQ[p+1/2] &&
+ (PositiveQ[d1] && NegativeQ[d2]) *)
+
+
+Int[x_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n/(2*e*(p+1)) -
+ b*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(2*c*(p+1)*(1+c^2*x^2)^FracPart[p])*
+ Int[(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && NeQ[p+1]
+
+
+Int[x_*(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(2*e1*e2*(p+1)) -
+ b*n*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(2*c*(p+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(-1+c^2*x^2)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,p},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n>0 && NeQ[p+1] && IntegerQ[p+1/2]
+
+
+Int[x_*(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(2*e1*e2*(p+1)) -
+ b*n*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(2*c*(p+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(1+c*x)^(p+1/2)*(-1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,p},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n>0 && NeQ[p+1]
+
+
+Int[(a_.+b_.*ArcSinh[c_.*x_])^n_./(x_*(d_+e_.*x_^2)),x_Symbol] :=
+ 1/d*Subst[Int[(a+b*x)^n/(Cosh[x]*Sinh[x]),x],x,ArcSinh[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*ArcCosh[c_.*x_])^n_./(x_*(d_+e_.*x_^2)),x_Symbol] :=
+ -1/d*Subst[Int[(a+b*x)^n/(Cosh[x]*Sinh[x]),x],x,ArcCosh[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n]
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n/(d*f*(m+1)) -
+ b*c*n*d^p/(f*(m+1))*Int[(f*x)^(m+1)*(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && EqQ[m+2*p+3] && NeQ[m+1] &&
+ (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcCosh[c*x])^n/(d*f*(m+1)) +
+ b*c*n*(-d)^p/(f*(m+1))*Int[(f*x)^(m+1)*(1+c*x)^(p+1/2)*(-1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[m+2*p+3] && NeQ[m+1] && IntegerQ[p]
+
+
+(* Int[(f_.*x_)^m_*(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(d1*d2*f*(m+1)) +
+ b*c*n*(-d1*d2)^p/(f*(m+1))*Int[(f*x)^(m+1)*(-1+c^2*x^2)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,m,p},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n>0 && EqQ[m+2*p+3] &&
+ NeQ[m+1] && IntegerQ[p+1/2] && (PositiveQ[d1] && NegativeQ[d2]) *)
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n/(d*f*(m+1)) -
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(f*(m+1)*(1+c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && EqQ[m+2*p+3] && NeQ[m+1]
+
+
+Int[(f_.*x_)^m_*(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(d1*d2*f*(m+1)) +
+ b*c*n*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(f*(m+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(f*x)^(m+1)*(-1+c^2*x^2)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,m,p},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n>0 && EqQ[m+2*p+3] &&
+ NeQ[m+1] && IntegerQ[p+1/2]
+
+
+Int[(f_.*x_)^m_*(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(d1*d2*f*(m+1)) +
+ b*c*n*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(f*(m+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1+c*x)^(p+1/2)*(-1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,m,p},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n>0 && EqQ[m+2*p+3] && NeQ[m+1]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])/x_,x_Symbol] :=
+ (d+e*x^2)^p*(a+b*ArcSinh[c*x])/(2*p) -
+ b*c*d^p/(2*p)*Int[(1+c^2*x^2)^(p-1/2),x] +
+ d*Int[(d+e*x^2)^(p-1)*(a+b*ArcSinh[c*x])/x,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveIntegerQ[p]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])/x_,x_Symbol] :=
+ (d+e*x^2)^p*(a+b*ArcCosh[c*x])/(2*p) -
+ b*c*(-d)^p/(2*p)*Int[(1+c*x)^(p-1/2)*(-1+c*x)^(p-1/2),x] +
+ d*Int[(d+e*x^2)^(p-1)*(a+b*ArcCosh[c*x])/x,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[p]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_]),x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcSinh[c*x])/(f*(m+1)) -
+ b*c*d^p/(f*(m+1))*Int[(f*x)^(m+1)*(1+c^2*x^2)^(p-1/2),x] -
+ 2*e*p/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^(p-1)*(a+b*ArcSinh[c*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[e-c^2*d] && PositiveIntegerQ[p] && NegativeIntegerQ[(m+1)/2]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_]),x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcCosh[c*x])/(f*(m+1)) -
+ b*c*(-d)^p/(f*(m+1))*Int[(f*x)^(m+1)*(1+c*x)^(p-1/2)*(-1+c*x)^(p-1/2),x] -
+ 2*e*p/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^(p-1)*(a+b*ArcCosh[c*x]),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && PositiveIntegerQ[p] && NegativeIntegerQ[(m+1)/2]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(f*x)^m*(d+e*x^2)^p,x]},
+ Dist[a+b*ArcSinh[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/Sqrt[1+c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[e-c^2*d] && PositiveIntegerQ[p]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(f*x)^m*(d+e*x^2)^p,x]},
+ Dist[a+b*ArcCosh[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/(Sqrt[1+c*x]*Sqrt[-1+c*x]),x],x]] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && PositiveIntegerQ[p]
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[x^m*(1+c^2*x^2)^p,x]},
+ Dist[d^p*(a+b*ArcSinh[c*x]),u,x] - b*c*d^p*Int[SimplifyIntegrand[u/Sqrt[1+c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && IntegerQ[p-1/2] && (PositiveIntegerQ[(m+1)/2] || NegativeIntegerQ[(m+2*p+3)/2]) &&
+ p!=-1/2 && PositiveQ[d]
+
+
+Int[x_^m_*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[x^m*(1+c*x)^p*(-1+c*x)^p,x]},
+ Dist[(-d1*d2)^p*(a+b*ArcCosh[c*x]),u,x] - b*c*(-d1*d2)^p*Int[SimplifyIntegrand[u/(Sqrt[1+c*x]*Sqrt[-1+c*x]),x],x]] /;
+FreeQ[{a,b,c,d1,e1,d2,e2},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && IntegerQ[p-1/2] &&
+ (PositiveIntegerQ[(m+1)/2] || NegativeIntegerQ[(m+2*p+3)/2]) && p!=-1/2 && PositiveQ[d1] && NegativeQ[d2]
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[x^m*(1+c^2*x^2)^p,x]},
+ (a+b*ArcSinh[c*x])*Int[x^m*(d+e*x^2)^p,x] -
+ b*c*d^(p-1/2)*Sqrt[d+e*x^2]/Sqrt[1+c^2*x^2]*Int[SimplifyIntegrand[u/Sqrt[1+c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveIntegerQ[p+1/2] && (PositiveIntegerQ[(m+1)/2] || NegativeIntegerQ[(m+2*p+3)/2])
+
+
+Int[x_^m_*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[x^m*(1+c*x)^p*(-1+c*x)^p,x]},
+ (a+b*ArcCosh[c*x])*Int[x^m*(d1+e1*x)^p*(d2+e2*x)^p,x] -
+ b*c*(-d1*d2)^(p-1/2)*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]/(Sqrt[1+c*x]*Sqrt[-1+c*x])*
+ Int[SimplifyIntegrand[u/(Sqrt[1+c*x]*Sqrt[-1+c*x]),x],x]] /;
+FreeQ[{a,b,c,d1,e1,d2,e2},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && PositiveIntegerQ[p+1/2] &&
+ (PositiveIntegerQ[(m+1)/2] || NegativeIntegerQ[(m+2*p+3)/2])
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcSinh[c*x])^n/(f*(m+1)) -
+ 2*e*p/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^(p-1)*(a+b*ArcSinh[c*x])^n,x] -
+ b*c*n*d^p/(f*(m+1))*Int[(f*x)^(m+1)*(1+c^2*x^2)^(p-1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[e-c^2*d] && RationalQ[m,n,p] && n>0 && p>0 && m<-1 && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcCosh[c*x])^n/(f*(m+1)) -
+ 2*e*p/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^(p-1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*c*n*(-d)^p/(f*(m+1))*Int[(f*x)^(m+1)*(1+c*x)^(p-1/2)*(-1+c*x)^(p-1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[m,n,p] && n>0 && p>0 && m<-1 && IntegerQ[p]
+
+
+(* Int[(f_.*x_)^m_*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^n/(f*(m+1)) -
+ 2*e1*e2*p/(f^2*(m+1))*Int[(f*x)^(m+2)*(d1+e1*x)^(p-1)*(d2+e2*x)^(p-1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*c*n*(-d1*d2)^p/(f*(m+1))*Int[(f*x)^(m+1)*(-1+c^2*x^2)^(p-1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[m,n,p] && n>0 && p>0 && m<-1 &&
+ IntegerQ[p-1/2] && (PositiveQ[d1] && NegativeQ[d2]) *)
+
+
+Int[(f_.*x_)^m_*Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*Sqrt[d+e*x^2]*(a+b*ArcSinh[c*x])^n/(f*(m+1)) -
+ b*c*n*Sqrt[d+e*x^2]/(f*(m+1)*Sqrt[1+c^2*x^2])*Int[(f*x)^(m+1)*(a+b*ArcSinh[c*x])^(n-1),x] -
+ c^2*Sqrt[d+e*x^2]/(f^2*(m+1)*Sqrt[1+c^2*x^2])*Int[(f*x)^(m+2)*(a+b*ArcSinh[c*x])^n/Sqrt[1+c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[e-c^2*d] && RationalQ[m,n] && n>0 && m<-1
+
+
+Int[(f_.*x_)^m_*Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]*(a+b*ArcCosh[c*x])^n/(f*(m+1)) -
+ b*c*n*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]/(f*(m+1)*Sqrt[1+c*x]*Sqrt[-1+c*x])*
+ Int[(f*x)^(m+1)*(a+b*ArcCosh[c*x])^(n-1),x] -
+ c^2*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]/(f^2*(m+1)*Sqrt[1+c*x]*Sqrt[-1+c*x])*
+ Int[((f*x)^(m+2)*(a+b*ArcCosh[c*x])^n)/(Sqrt[1+c*x]*Sqrt[-1+c*x]),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[m,n] && n>0 && m<-1
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcSinh[c*x])^n/(f*(m+1)) -
+ 2*e*p/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^(p-1)*(a+b*ArcSinh[c*x])^n,x] -
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(f*(m+1)*(1+c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1+c^2*x^2)^(p-1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[e-c^2*d] && RationalQ[m,n,p] && n>0 && p>0 && m<-1
+
+
+Int[(f_.*x_)^m_*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^n/(f*(m+1)) -
+ 2*e1*e2*p/(f^2*(m+1))*Int[(f*x)^(m+2)*(d1+e1*x)^(p-1)*(d2+e2*x)^(p-1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*c*n*(-d1*d2)^(p-1/2)*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]/(f*(m+1)*Sqrt[1+c*x]*Sqrt[-1+c*x])*
+ Int[(f*x)^(m+1)*(-1+c^2*x^2)^(p-1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[m,n,p] && n>0 && p>0 && m<-1 && IntegerQ[p-1/2]
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcSinh[c*x])^n/(f*(m+2*p+1)) +
+ 2*d*p/(m+2*p+1)*Int[(f*x)^m*(d+e*x^2)^(p-1)*(a+b*ArcSinh[c*x])^n,x] -
+ b*c*n*d^p/(f*(m+2*p+1))*Int[(f*x)^(m+1)*(1+c^2*x^2)^(p-1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[e-c^2*d] && RationalQ[n,p] && n>0 && p>0 && Not[RationalQ[m] && m<-1] &&
+ (IntegerQ[p] || PositiveQ[d]) && (RationalQ[m] || EqQ[n-1]) *)
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcCosh[c*x])^n/(f*(m+2*p+1)) +
+ 2*d*p/(m+2*p+1)*Int[(f*x)^m*(d+e*x^2)^(p-1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*c*n*(-d)^p/(f*(m+2*p+1))*Int[(f*x)^(m+1)*(1+c*x)^(p-1/2)*(-1+c*x)^(p-1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p>0 && Not[RationalQ[m] && m<-1] &&
+ IntegerQ[p] && (RationalQ[m] || EqQ[n-1])
+
+
+Int[(f_.*x_)^m_*Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*Sqrt[d+e*x^2]*(a+b*ArcSinh[c*x])^n/(f*(m+2)) -
+ b*c*n*Sqrt[d+e*x^2]/(f*(m+2)*Sqrt[1+c^2*x^2])*Int[(f*x)^(m+1)*(a+b*ArcSinh[c*x])^(n-1),x] +
+ Sqrt[d+e*x^2]/((m+2)*Sqrt[1+c^2*x^2])*Int[(f*x)^m*(a+b*ArcSinh[c*x])^n/Sqrt[1+c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && Not[RationalQ[m] && m<-1] && (RationalQ[m] || EqQ[n-1])
+
+
+Int[(f_.*x_)^m_*Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]*(a+b*ArcCosh[c*x])^n/(f*(m+2)) -
+ b*c*n*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]/(f*(m+2)*Sqrt[1+c*x]*Sqrt[-1+c*x])*Int[(f*x)^(m+1)*(a+b*ArcCosh[c*x])^(n-1),x] -
+ Sqrt[d1+e1*x]*Sqrt[d2+e2*x]/((m+2)*Sqrt[1+c*x]*Sqrt[-1+c*x])*Int[(f*x)^m*(a+b*ArcCosh[c*x])^n/(Sqrt[1+c*x]*Sqrt[-1+c*x]),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,m},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n>0 && Not[RationalQ[m] && m<-1] &&
+ (RationalQ[m] || EqQ[n-1])
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^p*(a+b*ArcSinh[c*x])^n/(f*(m+2*p+1)) +
+ 2*d*p/(m+2*p+1)*Int[(f*x)^m*(d+e*x^2)^(p-1)*(a+b*ArcSinh[c*x])^n,x] -
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(f*(m+2*p+1)*(1+c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1+c^2*x^2)^(p-1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[e-c^2*d] && RationalQ[n,p] && n>0 && p>0 && Not[RationalQ[m] && m<-1] &&
+ (RationalQ[m] || EqQ[n-1])
+
+
+Int[(f_.*x_)^m_*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^n/(f*(m+2*p+1)) +
+ 2*d1*d2*p/(m+2*p+1)*Int[(f*x)^m*(d1+e1*x)^(p-1)*(d2+e2*x)^(p-1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*c*n*(-d1*d2)^(p-1/2)*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]/(f*(m+2*p+1)*Sqrt[1+c*x]*Sqrt[-1+c*x])*
+ Int[(f*x)^(m+1)*(-1+c^2*x^2)^(p-1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,m},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n,p] && n>0 && p>0 && Not[RationalQ[m] && m<-1] &&
+ IntegerQ[p-1/2] && (RationalQ[m] || EqQ[n-1])
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n/(d*f*(m+1)) -
+ c^2*(m+2*p+3)/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^p*(a+b*ArcSinh[c*x])^n,x] -
+ b*c*n*d^p/(f*(m+1))*Int[(f*x)^(m+1)*(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && EqQ[e-c^2*d] && RationalQ[m,n] && n>0 && m<-1 && IntegerQ[m] && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcCosh[c*x])^n/(d*f*(m+1)) +
+ c^2*(m+2*p+3)/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^p*(a+b*ArcCosh[c*x])^n,x] +
+ b*c*n*(-d)^p/(f*(m+1))*Int[(f*x)^(m+1)*(1+c*x)^(p+1/2)*(-1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m<-1 && IntegerQ[m] && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n/(d*f*(m+1)) -
+ c^2*(m+2*p+3)/(f^2*(m+1))*Int[(f*x)^(m+2)*(d+e*x^2)^p*(a+b*ArcSinh[c*x])^n,x] -
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(f*(m+1)*(1+c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && EqQ[e-c^2*d] && RationalQ[m,n] && n>0 && m<-1 && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(d1*d2*f*(m+1)) +
+ c^2*(m+2*p+3)/(f^2*(m+1))*Int[(f*x)^(m+2)*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^n,x] +
+ b*c*n*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(f*(m+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(f*x)^(m+1)*(-1+c^2*x^2)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,p},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[m,n] && n>0 && m<-1 && IntegerQ[m] &&
+ IntegerQ[p+1/2]
+
+
+Int[(f_.*x_)^m_*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (f*x)^(m+1)*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(d1*d2*f*(m+1)) +
+ c^2*(m+2*p+3)/(f^2*(m+1))*Int[(f*x)^(m+2)*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^n,x] +
+ b*c*n*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(f*(m+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1+c*x)^(p+1/2)*(-1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,p},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[m,n] && n>0 && m<-1 && IntegerQ[m]
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n/(2*e*(p+1)) -
+ f^2*(m-1)/(2*e*(p+1))*Int[(f*x)^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n,x] -
+ b*f*n*d^p/(2*c*(p+1))*Int[(f*x)^(m-1)*(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[e-c^2*d] && RationalQ[m,n] && n>0 && p<-1 && m>1 && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcCosh[c*x])^n/(2*e*(p+1)) -
+ f^2*(m-1)/(2*e*(p+1))*Int[(f*x)^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*f*n*(-d)^p/(2*c*(p+1))*Int[(f*x)^(m-1)*(1+c*x)^(p+1/2)*(-1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && p<-1 && m>1 && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n/(2*e*(p+1)) -
+ f^2*(m-1)/(2*e*(p+1))*Int[(f*x)^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n,x] -
+ b*f*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(2*c*(p+1)*(1+c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m-1)*(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[e-c^2*d] && RationalQ[m,n,p] && n>0 && p<-1 && m>1
+
+
+Int[(f_.*x_)^m_*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(2*e1*e2*(p+1)) -
+ f^2*(m-1)/(2*e1*e2*(p+1))*Int[(f*x)^(m-2)*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*f*n*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(2*c*(p+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(f*x)^(m-1)*(-1+c^2*x^2)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[m,n,p] && n>0 && p<-1 && m>1 && IntegerQ[p+1/2]
+
+
+Int[(f_.*x_)^m_*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(2*e1*e2*(p+1)) -
+ f^2*(m-1)/(2*e1*e2*(p+1))*Int[(f*x)^(m-2)*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*f*n*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(2*c*(p+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(f*x)^(m-1)*(1+c*x)^(p+1/2)*(-1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[m,n,p] && n>0 && p<-1 && Not[IntegerQ[p]] && m>1
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ -(f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n/(2*d*f*(p+1)) +
+ (m+2*p+3)/(2*d*(p+1))*Int[(f*x)^m*(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n,x] +
+ b*c*n*d^p/(2*f*(p+1))*Int[(f*x)^(m+1)*(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[e-c^2*d] && RationalQ[n,p] && n>0 && p<-1 && Not[RationalQ[m] && m>1] &&
+ (IntegerQ[p] || PositiveQ[d]) && (IntegerQ[m] || IntegerQ[p] || n==1) *)
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ -(f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcCosh[c*x])^n/(2*d*f*(p+1)) +
+ (m+2*p+3)/(2*d*(p+1))*Int[(f*x)^m*(d+e*x^2)^(p+1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*c*n*(-d)^p/(2*f*(p+1))*Int[(f*x)^(m+1)*(1+c*x)^(p+1/2)*(-1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[c^2*d+e] && RationalQ[n,p] && n>0 && p<-1 && Not[RationalQ[m] && m>1] && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ -(f*x)^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n/(2*d*f*(p+1)) +
+ (m+2*p+3)/(2*d*(p+1))*Int[(f*x)^m*(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n,x] +
+ b*c*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(2*f*(p+1)*(1+c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[e-c^2*d] && RationalQ[n,p] && n>0 && p<-1 && Not[RationalQ[m] && m>1] &&
+ (IntegerQ[m] || IntegerQ[p] || n==1)
+
+
+Int[(f_.*x_)^m_*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ -(f*x)^(m+1)*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(2*d1*d2*f*(p+1)) +
+ (m+2*p+3)/(2*d1*d2*(p+1))*Int[(f*x)^m*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*c*n*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(2*f*(p+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(f*x)^(m+1)*(-1+c^2*x^2)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,m},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n,p] && n>0 && p<-1 &&
+ Not[RationalQ[m] && m>1] && (IntegerQ[m] || n==1) && IntegerQ[p+1/2]
+
+
+Int[(f_.*x_)^m_*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ -(f*x)^(m+1)*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(2*d1*d2*f*(p+1)) +
+ (m+2*p+3)/(2*d1*d2*(p+1))*Int[(f*x)^m*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n,x] -
+ b*c*n*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(2*f*(p+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1+c*x)^(p+1/2)*(-1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,m},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n,p] && n>0 && p<-1 &&
+ Not[RationalQ[m] && m>1] && (IntegerQ[m] || IntegerQ[p] || n==1)
+
+
+(* Int[(f_.*x_)^m_*(a_.+b_.*ArcSinh[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ f*(f*x)^(m-1)*Sqrt[d+e*x^2]*(a+b*ArcSinh[c*x])^n/(e*m) -
+ b*f*n*Sqrt[1+c^2*x^2]/(c*m*Sqrt[d+e*x^2])*Int[(f*x)^(m-1)*(a+b*ArcSinh[c*x])^(n-1),x] -
+ f^2*(m-1)/(c^2*m)*Int[((f*x)^(m-2)*(a+b*ArcSinh[c*x])^n)/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[e-c^2*d] && RationalQ[m,n] && n>0 && m>1 && PositiveQ[d] && IntegerQ[m] *)
+
+
+(* Int[(f_.*x_)^m_*(a_.+b_.*ArcCosh[c_.*x_])^n_./(Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]),x_Symbol] :=
+ f*(f*x)^(m-1)*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]*(a+b*ArcCosh[c*x])^n/(e1*e2*m) +
+ b*f*n*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]/(c*d1*d2*m*Sqrt[1+c*x]*Sqrt[-1+c*x])*Int[(f*x)^(m-1)*(a+b*ArcCosh[c*x])^(n-1),x] +
+ f^2*(m-1)/(c^2*m)*Int[(f*x)^(m-2)*(a+b*ArcCosh[c*x])^n/(Sqrt[d1+e1*x]*Sqrt[d2+e2*x]),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[m,n] && n>0 && m>1 && IntegerQ[m] *)
+
+
+Int[(f_.*x_)^m_*(a_.+b_.*ArcSinh[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ f*(f*x)^(m-1)*Sqrt[d+e*x^2]*(a+b*ArcSinh[c*x])^n/(e*m) -
+ b*f*n*Sqrt[1+c^2*x^2]/(c*m*Sqrt[d+e*x^2])*Int[(f*x)^(m-1)*(a+b*ArcSinh[c*x])^(n-1),x] -
+ f^2*(m-1)/(c^2*m)*Int[((f*x)^(m-2)*(a+b*ArcSinh[c*x])^n)/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[e-c^2*d] && RationalQ[m,n] && n>0 && m>1 && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_*(a_.+b_.*ArcCosh[c_.*x_])^n_./(Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]),x_Symbol] :=
+ f*(f*x)^(m-1)*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]*(a+b*ArcCosh[c*x])^n/(e1*e2*m) +
+ b*f*n*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]/(c*d1*d2*m*Sqrt[1+c*x]*Sqrt[-1+c*x])*Int[(f*x)^(m-1)*(a+b*ArcCosh[c*x])^(n-1),x] +
+ f^2*(m-1)/(c^2*m)*Int[(f*x)^(m-2)*(a+b*ArcCosh[c*x])^n/(Sqrt[d1+e1*x]*Sqrt[d2+e2*x]),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[m,n] && n>0 && m>1 && IntegerQ[m]
+
+
+Int[x_^m_*(a_.+b_.*ArcSinh[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ 1/(c^(m+1)*Sqrt[d])*Subst[Int[(a+b*x)^n*Sinh[x]^m,x],x,ArcSinh[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[e-c^2*d] && PositiveQ[d] && PositiveIntegerQ[n] && IntegerQ[m]
+
+
+Int[x_^m_*(a_.+b_.*ArcCosh[c_.*x_])^n_./(Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]),x_Symbol] :=
+ 1/(c^(m+1)*Sqrt[-d1*d2])*Subst[Int[(a+b*x)^n*Cosh[x]^m,x],x,ArcCosh[c*x]] /;
+FreeQ[{a,b,c,d1,e1,d2,e2},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && PositiveIntegerQ[n] &&
+ PositiveQ[d1] && NegativeQ[d2] && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_*(a_.+b_.*ArcSinh[c_.*x_])/Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ (f*x)^(m+1)*(a+b*ArcSinh[c*x])*Hypergeometric2F1[1/2,(1+m)/2,(3+m)/2,-c^2*x^2]/(Sqrt[d]*f*(m+1)) -
+ b*c*(f*x)^(m+2)*HypergeometricPFQ[{1,1+m/2,1+m/2},{3/2+m/2,2+m/2},-c^2*x^2]/(Sqrt[d]*f^2*(m+1)*(m+2)) /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[e-c^2*d] && PositiveQ[d] && Not[IntegerQ[m]]
+
+
+Int[(f_.*x_)^m_*(a_.+b_.*ArcCosh[c_.*x_])/(Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]),x_Symbol] :=
+ (f*x)^(m+1)*Sqrt[1-c^2*x^2]*(a+b*ArcCosh[c*x])*Hypergeometric2F1[1/2,(1+m)/2,(3+m)/2,c^2*x^2]/
+ (f*(m+1)*Sqrt[d1+e1*x]*Sqrt[d2+e2*x]) +
+ b*c*(f*x)^(m+2)*HypergeometricPFQ[{1,1+m/2,1+m/2},{3/2+m/2,2+m/2},c^2*x^2]/(Sqrt[-d1*d2]*f^2*(m+1)*(m+2)) /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,m},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && PositiveQ[d1] && NegativeQ[d2] && Not[IntegerQ[m]]
+
+
+Int[(f_.*x_)^m_*(a_.+b_.*ArcSinh[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ Sqrt[1+c^2*x^2]/Sqrt[d+e*x^2]*Int[(f*x)^m*(a+b*ArcSinh[c*x])^n/Sqrt[1+c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[e-c^2*d] && RationalQ[n] && n>0 && Not[PositiveQ[d]] && (IntegerQ[m] || n==1)
+
+
+Int[(f_.*x_)^m_*(a_.+b_.*ArcCosh[c_.*x_])^n_./(Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]),x_Symbol] :=
+ Sqrt[1+c*x]*Sqrt[-1+c*x]/(Sqrt[d1+e1*x]*Sqrt[d2+e2*x])*Int[(f*x)^m*(a+b*ArcCosh[c*x])^n/(Sqrt[1+c*x]*Sqrt[-1+c*x]),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,m},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n>0 && Not[PositiveQ[d1] && NegativeQ[d2]] &&
+ (IntegerQ[m] || n==1)
+
+
+(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n/(e*(m+2*p+1)) -
+ f^2*(m-1)/(c^2*(m+2*p+1))*Int[(f*x)^(m-2)*(d+e*x^2)^p*(a+b*ArcSinh[c*x])^n,x] -
+ b*f*n*d^p/(c*(m+2*p+1))*Int[(f*x)^(m-1)*(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && EqQ[e-c^2*d] && RationalQ[m,n] && n>0 && m>1 && NeQ[m+2*p+1] &&
+ (IntegerQ[p] || PositiveQ[d]) && IntegerQ[m] *)
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcCosh[c*x])^n/(e*(m+2*p+1)) +
+ f^2*(m-1)/(c^2*(m+2*p+1))*Int[(f*x)^(m-2)*(d+e*x^2)^p*(a+b*ArcCosh[c*x])^n,x] -
+ b*f*n*(-d)^p/(c*(m+2*p+1))*Int[(f*x)^(m-1)*(1+c*x)^(p+1/2)*(-1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m>1 && NeQ[m+2*p+1] && IntegerQ[p] && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcSinh[c*x])^n/(e*(m+2*p+1)) -
+ f^2*(m-1)/(c^2*(m+2*p+1))*Int[(f*x)^(m-2)*(d+e*x^2)^p*(a+b*ArcSinh[c*x])^n,x] -
+ b*f*n*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(c*(m+2*p+1)*(1+c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m-1)*(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,f,p},x] && EqQ[e-c^2*d] && RationalQ[m,n] && n>0 && m>1 && NeQ[m+2*p+1] && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(e1*e2*(m+2*p+1)) +
+ f^2*(m-1)/(c^2*(m+2*p+1))*Int[(f*x)^(m-2)*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^n,x] -
+ b*f*n*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(c*(m+2*p+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(f*x)^(m-1)*(-1+c^2*x^2)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,p},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[m,n] && n>0 && m>1 && NeQ[m+2*p+1] &&
+ IntegerQ[m] && IntegerQ[p+1/2]
+
+
+Int[(f_.*x_)^m_*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ f*(f*x)^(m-1)*(d1+e1*x)^(p+1)*(d2+e2*x)^(p+1)*(a+b*ArcCosh[c*x])^n/(e1*e2*(m+2*p+1)) +
+ f^2*(m-1)/(c^2*(m+2*p+1))*Int[(f*x)^(m-2)*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^n,x] -
+ b*f*n*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(c*(m+2*p+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(f*x)^(m-1)*(1+c*x)^(p+1/2)*(-1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,p},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[m,n] && n>0 && m>1 && NeQ[m+2*p+1] &&
+ IntegerQ[m]
+
+
+(* Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ d^p*(f*x)^m*(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n+1)/(b*c*(n+1)) -
+ f*m*d^p/(b*c*(n+1))*Int[(f*x)^(m-1)*(1+c^2*x^2)^(p-1/2)*(a+b*ArcSinh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[e-c^2*d] && RationalQ[n] && n<-1 && EqQ[m+2*p+1] && (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ (f*x)^m*Sqrt[1+c*x]*Sqrt[-1+c*x]*(d+e*x^2)^p*(a+b*ArcCosh[c*x])^(n+1)/(b*c*(n+1)) +
+ f*m*(-d)^p/(b*c*(n+1))*Int[(f*x)^(m-1)*(1+c*x)^(p-1/2)*(-1+c*x)^(p-1/2)*(a+b*ArcCosh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && EqQ[m+2*p+1] && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ (f*x)^m*Sqrt[1+c^2*x^2]*(d+e*x^2)^p*(a+b*ArcSinh[c*x])^(n+1)/(b*c*(n+1)) -
+ f*m*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(b*c*(n+1)*(1+c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m-1)*(1+c^2*x^2)^(p-1/2)*(a+b*ArcSinh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[e-c^2*d] && RationalQ[n] && n<-1 && EqQ[m+2*p+1]
+
+
+Int[(f_.*x_)^m_.*(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ (f*x)^m*Sqrt[1+c*x]*Sqrt[-1+c*x]*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^(n+1)/(b*c*(n+1)) +
+ f*m*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(b*c*(n+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(f*x)^(m-1)*(-1+c^2*x^2)^(p-1/2)*(a+b*ArcCosh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,m,p},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n<-1 && EqQ[m+2*p+1] && IntegerQ[p-1/2]
+
+
+Int[(f_.*x_)^m_.*(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ (f*x)^m*Sqrt[1+c*x]*Sqrt[-1+c*x]*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^(n+1)/(b*c*(n+1)) +
+ f*m*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(b*c*(n+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(f*x)^(m-1)*(1+c*x)^(p-1/2)*(-1+c*x)^(p-1/2)*(a+b*ArcCosh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,m,p},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n<-1 && EqQ[m+2*p+1]
+
+
+Int[(f_.*x_)^m_.*(a_.+b_.*ArcSinh[c_.*x_])^n_/Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ (f*x)^m*(a+b*ArcSinh[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) -
+ f*m/(b*c*Sqrt[d]*(n+1))*Int[(f*x)^(m-1)*(a+b*ArcSinh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[e-c^2*d] && RationalQ[n] && n<-1 && PositiveQ[d]
+
+
+Int[(f_.*x_)^m_.*(a_.+b_.*ArcCosh[c_.*x_])^n_/(Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]),x_Symbol] :=
+ (f*x)^m*(a+b*ArcCosh[c*x])^(n+1)/(b*c*Sqrt[-d1*d2]*(n+1)) -
+ (f*m)/(b*c*Sqrt[-d1*d2]*(n+1))*Int[(f*x)^(m-1)*(a+b*ArcCosh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,m},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n<-1 && PositiveQ[d1] && NegativeQ[d2]
+
+
+Int[(f_.*x_)^m_.*(a_.+b_.*ArcSinh[c_.*x_])^n_/Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ Sqrt[1+c^2*x^2]/Sqrt[d+e*x^2]*Int[(f*x)^m*(a+b*ArcSinh[c*x])^n/Sqrt[1+c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e,f,m},x] && EqQ[e-c^2*d] && RationalQ[n] && n<-1 && Not[PositiveQ[d]]
+
+
+Int[(f_.*x_)^m_.*(a_.+b_.*ArcCosh[c_.*x_])^n_/(Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]),x_Symbol] :=
+ Sqrt[1+c*x]*Sqrt[-1+c*x]/(Sqrt[d1+e1*x]*Sqrt[d2+e2*x])*Int[(f*x)^m*(a+b*ArcCosh[c*x])^n/(Sqrt[1+c*x]*Sqrt[-1+c*x]),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,m},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n<-1 && Not[PositiveQ[d1] && NegativeQ[d2]]
+
+
+(* Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ d^p*(f*x)^m*(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n+1)/(b*c*(n+1)) -
+ f*m*d^p/(b*c*(n+1))*Int[(f*x)^(m-1)*(1+c^2*x^2)^(p-1/2)*(a+b*ArcSinh[c*x])^(n+1),x] -
+ c*d^p*(m+2*p+1)/(b*f*(n+1))*Int[(f*x)^(m+1)*(1+c^2*x^2)^(p-1/2)*(a+b*ArcSinh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[e-c^2*d] && RationalQ[n] && n<-1 && IntegerQ[m] && m>-3 && PositiveIntegerQ[2*p] &&
+ (IntegerQ[p] || PositiveQ[d]) *)
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ (f*x)^m*Sqrt[1+c*x]*Sqrt[-1+c*x]*(d+e*x^2)^p*(a+b*ArcCosh[c*x])^(n+1)/(b*c*(n+1)) +
+ f*m*(-d)^p/(b*c*(n+1))*Int[(f*x)^(m-1)*(1+c*x)^(p-1/2)*(-1+c*x)^(p-1/2)*(a+b*ArcCosh[c*x])^(n+1),x] -
+ c*(-d)^p*(m+2*p+1)/(b*f*(n+1))*Int[(f*x)^(m+1)*(1+c*x)^(p-1/2)*(-1+c*x)^(p-1/2)*(a+b*ArcCosh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && IntegerQ[m] && m>-3 && PositiveIntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ (f*x)^m*Sqrt[1+c^2*x^2]*(d+e*x^2)^p*(a+b*ArcSinh[c*x])^(n+1)/(b*c*(n+1)) -
+ f*m*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(b*c*(n+1)*(1+c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m-1)*(1+c^2*x^2)^(p-1/2)*(a+b*ArcSinh[c*x])^(n+1),x] -
+ c*(m+2*p+1)*d^IntPart[p]*(d+e*x^2)^FracPart[p]/(b*f*(n+1)*(1+c^2*x^2)^FracPart[p])*
+ Int[(f*x)^(m+1)*(1+c^2*x^2)^(p-1/2)*(a+b*ArcSinh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f},x] && EqQ[e-c^2*d] && RationalQ[n] && n<-1 && IntegerQ[m] && m>-3 && PositiveIntegerQ[2*p]
+
+
+Int[(f_.*x_)^m_.*(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ (f*x)^m*Sqrt[1+c*x]*Sqrt[-1+c*x]*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^(n+1)/(b*c*(n+1)) +
+ f*m*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(b*c*(n+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(f*x)^(m-1)*(-1+c^2*x^2)^(p-1/2)*(a+b*ArcCosh[c*x])^(n+1),x] -
+ c*(m+2*p+1)*(-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(b*f*(n+1)*(1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(f*x)^(m+1)*(-1+c^2*x^2)^(p-1/2)*(a+b*ArcCosh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && RationalQ[n] && n<-1 && IntegerQ[m] && m>-3 &&
+ PositiveIntegerQ[p+1/2]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ d^p/c^(m+1)*Subst[Int[(a+b*x)^n*Sinh[x]^m*Cosh[x]^(2*p+1),x],x,ArcSinh[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && IntegerQ[2*p] && p>-1 && PositiveIntegerQ[m] && (IntegerQ[p] || PositiveQ[d])
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (-d)^p/c^(m+1)*Subst[Int[(a+b*x)^n*Cosh[x]^m*Sinh[x]^(2*p+1),x],x,ArcCosh[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && PositiveIntegerQ[p] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (-d1*d2)^p/c^(m+1)*Subst[Int[(a+b*x)^n*Cosh[x]^m*Sinh[x]^(2*p+1),x],x,ArcCosh[c*x]] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,n},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && IntegerQ[p+1/2] && p>-1 && PositiveIntegerQ[m] &&
+ (PositiveQ[d1] && NegativeQ[d2])
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ d^IntPart[p]*(d+e*x^2)^FracPart[p]/(1+c^2*x^2)^FracPart[p]*Int[x^m*(1+c^2*x^2)^p*(a+b*ArcSinh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && IntegerQ[2*p] && p>-1 && PositiveIntegerQ[m] && Not[(IntegerQ[p] || PositiveQ[d])]
+
+
+Int[x_^m_.*(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/((1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[x^m*(1+c*x)^p*(-1+c*x)^p*(a+b*ArcCosh[c*x])^n,x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,n},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && IntegerQ[2*p] && p>-1 && PositiveIntegerQ[m] &&
+ Not[IntegerQ[p] || PositiveQ[d1] && NegativeQ[d2]]
+
+
+Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcSinh[c*x])^n/Sqrt[d+e*x^2],(f*x)^m*(d+e*x^2)^(p+1/2),x],x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && EqQ[e-c^2*d] && PositiveQ[d] && PositiveIntegerQ[p+1/2] && Not[PositiveIntegerQ[(m+1)/2]] &&
+ IntegerQ[m] && -30 || PositiveIntegerQ[(m-1)/2] && m+p<=0)
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(f*x)^m*(d+e*x^2)^p,x]},
+ Dist[a+b*ArcCosh[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/(Sqrt[1+c*x]*Sqrt[-1+c*x]),x],x]] /;
+FreeQ[{a,b,c,d,e,f,m},x] && NeQ[c^2*d+e] && IntegerQ[p] && (p>0 || PositiveIntegerQ[(m-1)/2] && m+p<=0)
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcSinh[c*x])^n,(f*x)^m*(d+e*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[e-c^2*d] && PositiveIntegerQ[n] && IntegerQ[p] && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcCosh[c*x])^n,(f*x)^m*(d+e*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,f},x] && NeQ[c^2*d+e] && PositiveIntegerQ[n] && IntegerQ[p] && IntegerQ[m]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(f*x)^m*(d+e*x^2)^p*(a+b*ArcSinh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(f*x)^m*(d+e*x^2)^p*(a+b*ArcCosh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && IntegerQ[p]
+
+
+Int[(f_.*x_)^m_.*(d1_+e1_.*x_)^p_.*(d2_+e2_.*x_)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(f*x)^m*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^n,x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,m,n,p},x]
+
+
+Int[(h_.*x_)^m_.*(d_+e_.*x_)^p_*(f_+g_.*x_)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x)^FracPart[p]*(f+g*x)^FracPart[p]/(d*f+e*g*x^2)^FracPart[p]*
+ Int[(h*x)^m*(d*f+e*g*x^2)^p*(a+b*ArcSinh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n,p},x] && EqQ[e*f+d*g] && EqQ[c^2*f^2+g^2] && Not[IntegerQ[p]]
+
+
+Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (-d)^IntPart[p]*(d+e*x^2)^FracPart[p]/((1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(f*x)^m*(1+c*x)^p*(-1+c*x)^p*(a+b*ArcCosh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && EqQ[c^2*d+e] && Not[IntegerQ[p]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*7.1.5 u (a+b arcsinh(c x))^n*)
+
+
+Int[(a_.+b_.*ArcSinh[c_.*x_])^n_./(d_.+e_.*x_),x_Symbol] :=
+ Subst[Int[(a+b*x)^n*Cosh[x]/(c*d+e*Sinh[x]),x],x,ArcSinh[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*ArcCosh[c_.*x_])^n_./(d_.+e_.*x_),x_Symbol] :=
+ Subst[Int[(a+b*x)^n*Sinh[x]/(c*d+e*Cosh[x]),x],x,ArcCosh[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && PositiveIntegerQ[n]
+
+
+Int[(d_.+e_.*x_)^m_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x)^(m+1)*(a+b*ArcSinh[c*x])^n/(e*(m+1)) -
+ b*c*n/(e*(m+1))*Int[(d+e*x)^(m+1)*(a+b*ArcSinh[c*x])^(n-1)/Sqrt[1+c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e,m},x] && PositiveIntegerQ[n] && NeQ[m+1]
+
+
+Int[(d_.+e_.*x_)^m_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x)^(m+1)*(a+b*ArcCosh[c*x])^n/(e*(m+1)) -
+ b*c*n/(e*(m+1))*Int[(d+e*x)^(m+1)*(a+b*ArcCosh[c*x])^(n-1)/(Sqrt[-1+c*x]*Sqrt[1+c*x]),x] /;
+FreeQ[{a,b,c,d,e,m},x] && PositiveIntegerQ[n] && NeQ[m+1]
+
+
+Int[(d_+e_.*x_)^m_.*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(a+b*ArcSinh[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && PositiveIntegerQ[m] && RationalQ[n] && n<-1
+
+
+Int[(d_+e_.*x_)^m_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^m*(a+b*ArcCosh[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && PositiveIntegerQ[m] && RationalQ[n] && n<-1
+
+
+Int[(d_.+e_.*x_)^m_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ 1/c^(m+1)*Subst[Int[(a+b*x)^n*Cosh[x]*(c*d+e*Sinh[x])^m,x],x,ArcSinh[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && PositiveIntegerQ[m]
+
+
+Int[(d_.+e_.*x_)^m_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ 1/c^(m+1)*Subst[Int[(a+b*x)^n*(c*d+e*Cosh[x])^m*Sinh[x],x],x,ArcCosh[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && PositiveIntegerQ[m]
+
+
+Int[Px_*(a_.+b_.*ArcSinh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[ExpandExpression[Px,x],x]},
+ Dist[a+b*ArcSinh[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/Sqrt[1+c^2*x^2],x],x]] /;
+FreeQ[{a,b,c},x] && PolynomialQ[Px,x]
+
+
+Int[Px_*(a_.+b_.*ArcCosh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[ExpandExpression[Px,x],x]},
+ Dist[a+b*ArcCosh[c*x],u,x] - b*c*Sqrt[1-c^2*x^2]/(Sqrt[-1+c*x]*Sqrt[1+c*x])*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c},x] && PolynomialQ[Px,x]
+
+
+(* Int[Px_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ With[{u=IntHide[Px,x]},
+ Dist[(a+b*ArcSinh[c*x])^n,u,x] - b*c*n*Int[SimplifyIntegrand[u*(a+b*ArcSinh[c*x])^(n-1)/Sqrt[1+c^2*x^2],x],x]] /;
+FreeQ[{a,b,c},x] && PolynomialQ[Px,x] && PositiveIntegerQ[n] *)
+
+
+(* Int[Px_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ With[{u=IntHide[Px,x]},
+ Dist[(a+b*ArcCosh[c*x])^n,u,x] -
+ b*c*n*Sqrt[1-c^2*x^2]/(Sqrt[-1+c*x]*Sqrt[1+c*x])*Int[SimplifyIntegrand[u*(a+b*ArcCosh[c*x])^(n-1)/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c},x] && PolynomialQ[Px,x] && PositiveIntegerQ[n] *)
+
+
+Int[Px_*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[Px*(a+b*ArcSinh[c*x])^n,x],x] /;
+FreeQ[{a,b,c,n},x] && PolynomialQ[Px,x]
+
+
+Int[Px_*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ Int[ExpandIntegrand[Px*(a+b*ArcCosh[c*x])^n,x],x] /;
+FreeQ[{a,b,c,n},x] && PolynomialQ[Px,x]
+
+
+Int[Px_*(d_.+e_.*x_)^m_.*(a_.+b_.*ArcSinh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[Px*(d+e*x)^m,x]},
+ Dist[a+b*ArcSinh[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/Sqrt[1+c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e,m},x] && PolynomialQ[Px,x]
+
+
+Int[Px_*(d_.+e_.*x_)^m_.*(a_.+b_.*ArcCosh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[Px*(d+e*x)^m,x]},
+ Dist[a+b*ArcCosh[c*x],u,x] - b*c*Sqrt[1-c^2*x^2]/(Sqrt[-1+c*x]*Sqrt[1+c*x])*Int[SimplifyIntegrand[u/Sqrt[1-c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e,m},x] && PolynomialQ[Px,x]
+
+
+Int[(f_.+g_.*x_)^p_.*(d_+e_.*x_)^m_*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ With[{u=IntHide[(f+g*x)^p*(d+e*x)^m,x]},
+ Dist[(a+b*ArcSinh[c*x])^n,u,x] - b*c*n*Int[SimplifyIntegrand[u*(a+b*ArcSinh[c*x])^(n-1)/Sqrt[1+c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && PositiveIntegerQ[n,p] && NegativeIntegerQ[m] && m+p+1<0
+
+
+Int[(f_.+g_.*x_)^p_.*(d_+e_.*x_)^m_*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ With[{u=IntHide[(f+g*x)^p*(d+e*x)^m,x]},
+ Dist[(a+b*ArcCosh[c*x])^n,u,x] - b*c*n*Int[SimplifyIntegrand[u*(a+b*ArcCosh[c*x])^(n-1)/(Sqrt[1+c*x]*Sqrt[-1+c*x]),x],x]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && PositiveIntegerQ[n,p] && NegativeIntegerQ[m] && m+p+1<0
+
+
+Int[(f_.+g_.*x_+h_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_/(d_+e_.*x_)^2,x_Symbol] :=
+ With[{u=IntHide[(f+g*x+h*x^2)^p/(d+e*x)^2,x]},
+ Dist[(a+b*ArcSinh[c*x])^n,u,x] - b*c*n*Int[SimplifyIntegrand[u*(a+b*ArcSinh[c*x])^(n-1)/Sqrt[1+c^2*x^2],x],x]] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && PositiveIntegerQ[n,p] && EqQ[e*g-2*d*h]
+
+
+Int[(f_.+g_.*x_+h_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_/(d_+e_.*x_)^2,x_Symbol] :=
+ With[{u=IntHide[(f+g*x+h*x^2)^p/(d+e*x)^2,x]},
+ Dist[(a+b*ArcCosh[c*x])^n,u,x] - b*c*n*Int[SimplifyIntegrand[u*(a+b*ArcCosh[c*x])^(n-1)/(Sqrt[1+c*x]*Sqrt[-1+c*x]),x],x]] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && PositiveIntegerQ[n,p] && EqQ[e*g-2*d*h]
+
+
+Int[Px_*(d_+e_.*x_)^m_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[Px*(d+e*x)^m*(a+b*ArcSinh[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && PolynomialQ[Px,x] && PositiveIntegerQ[n] && IntegerQ[m]
+
+
+Int[Px_*(d_+e_.*x_)^m_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[Px*(d+e*x)^m*(a+b*ArcCosh[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && PolynomialQ[Px,x] && PositiveIntegerQ[n] && IntegerQ[m]
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(f+g*x)^m*(d+e*x^2)^p,x]},
+ Dist[a+b*ArcSinh[c*x],u,x] - b*c*Int[Dist[1/Sqrt[1+c^2*x^2],u,x],x]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[e-c^2*d] && IntegerQ[m] && NegativeIntegerQ[p+1/2] && PositiveQ[d] && m>0 &&
+ (m<-2*p-1 || m>3)
+
+
+Int[(f_+g_.*x_)^m_.*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(f+g*x)^m*(d1+e1*x)^p*(d2+e2*x)^p,x]},
+ Dist[a+b*ArcCosh[c*x],u,x] - b*c*Int[Dist[1/(Sqrt[1+c*x]*Sqrt[-1+c*x]),u,x],x]] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,g},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && IntegerQ[m] && NegativeIntegerQ[p+1/2] &&
+ PositiveQ[d1] && NegativeQ[d2] && m>0 && (m<-2*p-1 || m>3)
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)^p*(a+b*ArcSinh[c*x])^n,(f+g*x)^m,x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[e-c^2*d] && IntegerQ[m] && IntegerQ[p+1/2] && PositiveQ[d] && PositiveIntegerQ[n] && m>0 &&
+ (n==1 && p>-1 || p>0 || m==1 || m==2 && p<-2)
+
+
+Int[(f_+g_.*x_)^m_.*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^n,(f+g*x)^m,x],x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,g},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && IntegerQ[m] && IntegerQ[p+1/2] &&
+ PositiveQ[d1] && NegativeQ[d2] && PositiveIntegerQ[n] && m>0 && (n==1 && p>-1 || p>0 || m==1 || m==2 && p<-2)
+
+
+Int[(f_.+g_.*x_)^m_*Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (f+g*x)^m*(d+e*x^2)*(a+b*ArcSinh[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) -
+ 1/(b*c*Sqrt[d]*(n+1))*Int[(d*g*m+2*e*f*x+e*g*(m+2)*x^2)*(f+g*x)^(m-1)*(a+b*ArcSinh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[e-c^2*d] && IntegerQ[m] && PositiveQ[d] && PositiveIntegerQ[n] && m<0
+
+
+Int[(f_+g_.*x_)^m_*Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (f+g*x)^m*(d1*d2+e1*e2*x^2)*(a+b*ArcCosh[c*x])^(n+1)/(b*c*Sqrt[-d1*d2]*(n+1)) -
+ 1/(b*c*Sqrt[-d1*d2]*(n+1))*Int[(d1*d2*g*m+2*e1*e2*f*x+e1*e2*g*(m+2)*x^2)*(f+g*x)^(m-1)*(a+b*ArcCosh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,g},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && IntegerQ[m] && PositiveQ[d1] && NegativeQ[d2] &&
+ PositiveIntegerQ[n] && m<0
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[Sqrt[d+e*x^2]*(a+b*ArcSinh[c*x])^n,(f+g*x)^m*(d+e*x^2)^(p-1/2),x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[e-c^2*d] && IntegerQ[m] && PositiveIntegerQ[p+1/2] && PositiveQ[d] && PositiveIntegerQ[n]
+
+
+Int[(f_+g_.*x_)^m_.*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[Sqrt[d1+e1*x]*Sqrt[d2+e2*x]*(a+b*ArcCosh[c*x])^n,(f+g*x)^m*(d1+e1*x)^(p-1/2)*(d2+e2*x)^(p-1/2),x],x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,g},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && IntegerQ[m] && PositiveIntegerQ[p+1/2] &&
+ PositiveQ[d1] && NegativeQ[d2] && PositiveIntegerQ[n]
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ (f+g*x)^m*(d+e*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) -
+ 1/(b*c*Sqrt[d]*(n+1))*
+ Int[ExpandIntegrand[(f+g*x)^(m-1)*(a+b*ArcSinh[c*x])^(n+1),(d*g*m+e*f*(2*p+1)*x+e*g*(m+2*p+1)*x^2)*(d+e*x^2)^(p-1/2),x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[e-c^2*d] && IntegerQ[m] && PositiveIntegerQ[p-1/2] && PositiveQ[d] && PositiveIntegerQ[n] && m<0
+
+
+Int[(f_+g_.*x_)^m_.*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (f+g*x)^m*(d1+e1*x)^(p+1/2)*(d2+e2*x)^(p+1/2)*(a+b*ArcCosh[c*x])^(n+1)/(b*c*Sqrt[-d1*d2]*(n+1)) -
+ 1/(b*c*Sqrt[-d1*d2]*(n+1))*
+ Int[ExpandIntegrand[(f+g*x)^(m-1)*(a+b*ArcCosh[c*x])^(n+1),
+ (d1*d2*g*m+e1*e2*f*(2*p+1)*x+e1*e2*g*(m+2*p+1)*x^2)*(d1+e1*x)^(p-1/2)*(d2+e2*x)^(p-1/2),x],x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,g},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && IntegerQ[m] && PositiveIntegerQ[p-1/2] &&
+ PositiveQ[d1] && NegativeQ[d2] && PositiveIntegerQ[n] && m<0
+
+
+Int[(f_+g_.*x_)^m_.*(a_.+b_.*ArcSinh[c_.*x_])^n_/Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ (f+g*x)^m*(a+b*ArcSinh[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) -
+ g*m/(b*c*Sqrt[d]*(n+1))*Int[(f+g*x)^(m-1)*(a+b*ArcSinh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[e-c^2*d] && IntegerQ[m] && PositiveQ[d] && m>0 && RationalQ[n] && n<-1
+
+
+Int[(f_+g_.*x_)^m_.*(a_.+b_.*ArcCosh[c_.*x_])^n_/(Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]),x_Symbol] :=
+ (f+g*x)^m*(a+b*ArcCosh[c*x])^(n+1)/(b*c*Sqrt[-d1*d2]*(n+1)) -
+ g*m/(b*c*Sqrt[-d1*d2]*(n+1))*Int[(f+g*x)^(m-1)*(a+b*ArcCosh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,g},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && IntegerQ[m] && PositiveQ[d1] && NegativeQ[d2] && m>0 &&
+ RationalQ[n] && n<-1
+
+
+Int[(f_+g_.*x_)^m_.*(a_.+b_.*ArcSinh[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ 1/(c^(m+1)*Sqrt[d])*Subst[Int[(a+b*x)^n*(c*f+g*Sinh[x])^m,x],x,ArcSinh[c*x]] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && EqQ[e-c^2*d] && IntegerQ[m] && PositiveQ[d] && (m>0 || PositiveIntegerQ[n])
+
+
+Int[(f_+g_.*x_)^m_.*(a_.+b_.*ArcCosh[c_.*x_])^n_./(Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]),x_Symbol] :=
+ 1/(c^(m+1)*Sqrt[-d1*d2])*Subst[Int[(a+b*x)^n*(c*f+g*Cosh[x])^m,x],x,ArcCosh[c*x]] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,g,n},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && IntegerQ[m] && PositiveQ[d1] && NegativeQ[d2] &&
+ (m>0 || PositiveIntegerQ[n])
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcSinh[c*x])^n/Sqrt[d+e*x^2],(f+g*x)^m*(d+e*x^2)^(p+1/2),x],x] /;
+FreeQ[{a,b,c,d,e,f,g},x] && EqQ[e-c^2*d] && IntegerQ[m] && NegativeIntegerQ[p+1/2] && PositiveQ[d] && PositiveIntegerQ[n]
+
+
+Int[(f_+g_.*x_)^m_.*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcCosh[c*x])^n/(Sqrt[d1+e1*x]*Sqrt[d2+e2*x]),(f+g*x)^m*(d1+e1*x)^(p+1/2)*(d2+e2*x)^(p+1/2),x],x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,g},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && IntegerQ[m] && NegativeIntegerQ[p+1/2] &&
+ PositiveQ[d1] && NegativeQ[d2] && PositiveIntegerQ[n]
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ d^IntPart[p]*(d+e*x^2)^FracPart[p]/(1+c^2*x^2)^FracPart[p]*Int[(f+g*x)^m*(1+c^2*x^2)^p*(a+b*ArcSinh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && EqQ[e-c^2*d] && IntegerQ[m] && IntegerQ[p-1/2] && Not[PositiveQ[d]]
+
+
+Int[(f_+g_.*x_)^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (-d)^IntPart[p]*(d+e*x^2)^FracPart[p]/((1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[(f+g*x)^m*(1+c*x)^p*(-1+c*x)^p*(a+b*ArcCosh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && EqQ[c^2*d+e] && IntegerQ[m] && IntegerQ[p-1/2]
+
+
+Int[(f_+g_.*x_)^m_.*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/(1-c^2*x^2)^FracPart[p]*
+ Int[(f+g*x)^m*(1+c*x)^p*(-1+c*x)^p*(a+b*ArcCosh[c*x])^n,x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,g,n},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && IntegerQ[m] && IntegerQ[p-1/2] &&
+ Not[PositiveQ[d1] && NegativeQ[d2]]
+
+
+Int[Log[h_.*(f_.+g_.*x_)^m_.]*(a_.+b_.*ArcSinh[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ Log[h*(f+g*x)^m]*(a+b*ArcSinh[c*x])^(n+1)/(b*c*Sqrt[d]*(n+1)) -
+ g*m/(b*c*Sqrt[d]*(n+1))*Int[(a+b*ArcSinh[c*x])^(n+1)/(f+g*x),x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m},x] && EqQ[e-c^2*d] && PositiveQ[d] && PositiveIntegerQ[n]
+
+
+Int[Log[h_.*(f_.+g_.*x_)^m_.]*(a_.+b_.*ArcCosh[c_.*x_])^n_./(Sqrt[d1_+e1_.*x_]*Sqrt[d2_+e2_.*x_]),x_Symbol] :=
+ Log[h*(f+g*x)^m]*(a+b*ArcCosh[c*x])^(n+1)/(b*c*Sqrt[-d1*d2]*(n+1)) -
+ g*m/(b*c*Sqrt[-d1*d2]*(n+1))*Int[(a+b*ArcCosh[c*x])^(n+1)/(f+g*x),x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,g,h,m},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && PositiveQ[d1] && NegativeQ[d2] && PositiveIntegerQ[n]
+
+
+Int[Log[h_.*(f_.+g_.*x_)^m_.]*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ d^IntPart[p]*(d+e*x^2)^FracPart[p]/(1+c^2*x^2)^FracPart[p]*Int[Log[h*(f+g*x)^m]*(1+c^2*x^2)^p*(a+b*ArcSinh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n},x] && EqQ[e-c^2*d] && IntegerQ[p-1/2] && Not[PositiveQ[d]]
+
+
+Int[Log[h_.*(f_.+g_.*x_)^m_.]*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (-d)^IntPart[p]*(d+e*x^2)^FracPart[p]/((1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[Log[h*(f+g*x)^m]*(1+c*x)^p*(-1+c*x)^p*(a+b*ArcCosh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n},x] && EqQ[c^2*d+e] && IntegerQ[p-1/2]
+
+
+Int[Log[h_.*(f_.+g_.*x_)^m_.]*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ (-d1*d2)^IntPart[p]*(d1+e1*x)^FracPart[p]*(d2+e2*x)^FracPart[p]/((1+c*x)^FracPart[p]*(-1+c*x)^FracPart[p])*
+ Int[Log[h*(f+g*x)^m]*(1+c*x)^p*(-1+c*x)^p*(a+b*ArcCosh[c*x])^n,x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,g,h,m,n},x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && IntegerQ[p-1/2] && Not[PositiveQ[d1] && NegativeQ[d2]]
+
+
+Int[(d_+e_.*x_)^m_*(f_+g_.*x_)^m_*(a_.+b_.*ArcSinh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x)^m*(f+g*x)^m,x]},
+ Dist[a+b*ArcSinh[c*x],u,x] - b*c*Int[Dist[1/Sqrt[1+c^2*x^2],u,x],x]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NegativeIntegerQ[m+1/2]
+
+
+Int[(d_+e_.*x_)^m_*(f_+g_.*x_)^m_*(a_.+b_.*ArcCosh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x)^m*(f+g*x)^m,x]},
+ Dist[a+b*ArcCosh[c*x],u,x] - b*c*Int[Dist[1/(Sqrt[1+c*x]*Sqrt[-1+c*x]),u,x],x]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && NegativeIntegerQ[m+1/2]
+
+
+Int[(d_+e_.*x_)^m_.*(f_+g_.*x_)^m_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcSinh[c*x])^n,(d+e*x)^m*(f+g*x)^m,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && IntegerQ[m]
+
+
+Int[(d_+e_.*x_)^m_.*(f_+g_.*x_)^m_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcCosh[c*x])^n,(d+e*x)^m*(f+g*x)^m,x],x] /;
+FreeQ[{a,b,c,d,e,f,g,n},x] && IntegerQ[m]
+
+
+Int[u_*(a_.+b_.*ArcSinh[c_.*x_]),x_Symbol] :=
+ With[{v=IntHide[u,x]},
+ Dist[a+b*ArcSinh[c*x],v,x] - b*c*Int[SimplifyIntegrand[v/Sqrt[1+c^2*x^2],x],x] /;
+ InverseFunctionFreeQ[v,x]] /;
+FreeQ[{a,b,c},x]
+
+
+Int[u_*(a_.+b_.*ArcCosh[c_.*x_]),x_Symbol] :=
+ With[{v=IntHide[u,x]},
+ Dist[a+b*ArcCosh[c*x],v,x] - b*c*Sqrt[1-c^2*x^2]/(Sqrt[-1+c*x]*Sqrt[1+c*x])*Int[SimplifyIntegrand[v/Sqrt[1-c^2*x^2],x],x] /;
+ InverseFunctionFreeQ[v,x]] /;
+FreeQ[{a,b,c},x]
+
+
+Int[Px_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] :=
+ With[{u=ExpandIntegrand[Px*(d+e*x^2)^p*(a+b*ArcSinh[c*x])^n,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{a,b,c,d,e,n},x] && PolynomialQ[Px,x] && EqQ[e-c^2*d] && IntegerQ[p-1/2]
+
+
+Int[Px_*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] :=
+ With[{u=ExpandIntegrand[Px*(d1+e1*x)^p*(d2+e2*x)^p*(a+b*ArcCosh[c*x])^n,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,n},x] && PolynomialQ[Px,x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && IntegerQ[p-1/2]
+
+
+Int[Px_.*(f_+g_.*(d_+e_.*x_^2)^p_)^m_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[Px*(f+g*(d+e*x^2)^p)^m*(a+b*ArcSinh[c*x])^n,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{a,b,c,d,e,f,g},x] && PolynomialQ[Px,x] && EqQ[e-c^2*d] && PositiveIntegerQ[p+1/2] && IntegersQ[m,n]
+
+
+Int[Px_.*(f_+g_.*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_)^m_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[Px*(f+g*(d1+e1*x)^p*(d2+e2*x)^p)^m*(a+b*ArcCosh[c*x])^n,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{a,b,c,d1,e1,d2,e2,f,g},x] && PolynomialQ[Px,x] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && PositiveIntegerQ[p+1/2] &&
+ IntegersQ[m,n]
+
+
+Int[RFx_*ArcSinh[c_.*x_]^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[ArcSinh[c*x]^n,RFx,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[c,x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n]
+
+
+Int[RFx_*ArcCosh[c_.*x_]^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[ArcCosh[c*x]^n,RFx,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[c,x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n]
+
+
+Int[RFx_*(a_+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[RFx*(a+b*ArcSinh[c*x])^n,x],x] /;
+FreeQ[{a,b,c},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n]
+
+
+Int[RFx_*(a_+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[RFx*(a+b*ArcCosh[c*x])^n,x],x] /;
+FreeQ[{a,b,c},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n]
+
+
+Int[RFx_*(d_+e_.*x_^2)^p_*ArcSinh[c_.*x_]^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[(d+e*x^2)^p*ArcSinh[c*x]^n,RFx,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{c,d,e},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n] && EqQ[e-c^2*d] && IntegerQ[p-1/2]
+
+
+Int[RFx_*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*ArcCosh[c_.*x_]^n_.,x_Symbol] :=
+ With[{u=ExpandIntegrand[(d1+e1*x)^p*(d2+e2*x)^p*ArcCosh[c*x]^n,RFx,x]},
+ Int[u,x] /;
+ SumQ[u]] /;
+FreeQ[{c,d1,e1,d2,e2},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n] && EqQ[e1-c*d1] && EqQ[e2+c*d2] && IntegerQ[p-1/2]
+
+
+Int[RFx_*(d_+e_.*x_^2)^p_*(a_+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)^p,RFx*(a+b*ArcSinh[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n] && EqQ[e-c^2*d] && IntegerQ[p-1/2]
+
+
+Int[RFx_*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d1+e1*x)^p*(d2+e2*x)^p,RFx*(a+b*ArcCosh[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d1,e1,d2,e2},x] && RationalFunctionQ[RFx,x] && PositiveIntegerQ[n] && EqQ[e1-c*d1] && EqQ[e2+c*d2] &&
+ IntegerQ[p-1/2]
+
+
+Int[u_.*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][u*(a+b*ArcSinh[c*x])^n,x] /;
+FreeQ[{a,b,c,n},x]
+
+
+Int[u_.*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][u*(a+b*ArcCosh[c*x])^n,x] /;
+FreeQ[{a,b,c,n},x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*7.1.6 Miscellaneous inverse hyperbolic sine*)
+(**)
+
+
+Int[(a_.+b_.*ArcSinh[c_+d_.*x_])^n_.,x_Symbol] :=
+ 1/d*Subst[Int[(a+b*ArcSinh[x])^n,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,n},x]
+
+
+Int[(a_.+b_.*ArcCosh[c_+d_.*x_])^n_.,x_Symbol] :=
+ 1/d*Subst[Int[(a+b*ArcCosh[x])^n,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,n},x]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*ArcSinh[c_+d_.*x_])^n_.,x_Symbol] :=
+ 1/d*Subst[Int[((d*e-c*f)/d+f*x/d)^m*(a+b*ArcSinh[x])^n,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x]
+
+
+Int[(e_.+f_.*x_)^m_.*(a_.+b_.*ArcCosh[c_+d_.*x_])^n_.,x_Symbol] :=
+ 1/d*Subst[Int[((d*e-c*f)/d+f*x/d)^m*(a+b*ArcCosh[x])^n,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,e,f,m,n},x]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_+d_.*x_])^n_.,x_Symbol] :=
+ 1/d*Subst[Int[(C/d^2+C/d^2*x^2)^p*(a+b*ArcSinh[x])^n,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,A,B,C,n,p},x] && EqQ[B*(1+c^2)-2*A*c*d] && EqQ[2*c*C-B*d]
+
+
+Int[(A_.+B_.*x_+C_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_+d_.*x_])^n_.,x_Symbol] :=
+ 1/d*Subst[Int[(-C/d^2+C/d^2*x^2)^p*(a+b*ArcCosh[x])^n,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,A,B,C,n,p},x] && EqQ[B*(1-c^2)+2*A*c*d] && EqQ[2*c*C-B*d]
+
+
+Int[(e_.+f_.*x_)^m_.*(A_.+B_.*x_+C_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_+d_.*x_])^n_.,x_Symbol] :=
+ 1/d*Subst[Int[((d*e-c*f)/d+f*x/d)^m*(C/d^2+C/d^2*x^2)^p*(a+b*ArcSinh[x])^n,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,m,n,p},x] && EqQ[B*(1+c^2)-2*A*c*d] && EqQ[2*c*C-B*d]
+
+
+Int[(e_.+f_.*x_)^m_.*(A_.+B_.*x_+C_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_+d_.*x_])^n_.,x_Symbol] :=
+ 1/d*Subst[Int[((d*e-c*f)/d+f*x/d)^m*(-C/d^2+C/d^2*x^2)^p*(a+b*ArcCosh[x])^n,x],x,c+d*x] /;
+FreeQ[{a,b,c,d,e,f,A,B,C,m,n,p},x] && EqQ[B*(1-c^2)+2*A*c*d] && EqQ[2*c*C-B*d]
+
+
+Int[Sqrt[a_.+b_.*ArcSinh[c_+d_.*x_^2]],x_Symbol] :=
+ x*Sqrt[a+b*ArcSinh[c+d*x^2]] -
+ Sqrt[Pi]*x*(Cosh[a/(2*b)]-c*Sinh[a/(2*b)])*FresnelC[Sqrt[-c/(Pi*b)]*Sqrt[a+b*ArcSinh[c+d*x^2]]]/
+ (Sqrt[-(c/b)]*(Cosh[ArcSinh[c+d*x^2]/2]+c*Sinh[ArcSinh[c+d*x^2]/2])) +
+ Sqrt[Pi]*x*(Cosh[a/(2*b)]+c*Sinh[a/(2*b)])*FresnelS[Sqrt[-c/(Pi*b)]*Sqrt[a+b*ArcSinh[c+d*x^2]]]/
+ (Sqrt[-(c/b)]*(Cosh[ArcSinh[c+d*x^2]/2]+c*Sinh[ArcSinh[c+d*x^2]/2])) /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2+1]
+
+
+Int[(a_.+b_.*ArcSinh[c_+d_.*x_^2])^n_,x_Symbol] :=
+ x*(a+b*ArcSinh[c+d*x^2])^n -
+ 2*b*n*Sqrt[2*c*d*x^2+d^2*x^4]*(a+b*ArcSinh[c+d*x^2])^(n-1)/(d*x) +
+ 4*b^2*n*(n-1)*Int[(a+b*ArcSinh[c+d*x^2])^(n-2),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2+1] && RationalQ[n] && n>1
+
+
+Int[1/(a_.+b_.*ArcSinh[c_+d_.*x_^2]),x_Symbol] :=
+ x*(c*Cosh[a/(2*b)]-Sinh[a/(2*b)])*CoshIntegral[(a+b*ArcSinh[c+d*x^2])/(2*b)]/
+ (2*b*(Cosh[ArcSinh[c+d*x^2]/2]+c*Sinh[(1/2)*ArcSinh[c+d*x^2]])) +
+ x*(Cosh[a/(2*b)]-c*Sinh[a/(2*b)])*SinhIntegral[(a+b*ArcSinh[c+d*x^2])/(2*b)]/
+ (2*b*(Cosh[ArcSinh[c+d*x^2]/2]+c*Sinh[(1/2)*ArcSinh[c+d*x^2]])) /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2+1]
+
+
+Int[1/Sqrt[a_.+b_.*ArcSinh[c_+d_.*x_^2]],x_Symbol] :=
+ (c+1)*Sqrt[Pi/2]*x*(Cosh[a/(2*b)]-Sinh[a/(2*b)])*Erfi[Sqrt[a+b*ArcSinh[c+d*x^2]]/Sqrt[2*b]]/
+ (2*Sqrt[b]*(Cosh[ArcSinh[c+d*x^2]/2]+c*Sinh[ArcSinh[c+d*x^2]/2])) +
+ (c-1)*Sqrt[Pi/2]*x*(Cosh[a/(2*b)]+Sinh[a/(2*b)])*Erf[Sqrt[a+b*ArcSinh[c+d*x^2]]/Sqrt[2*b]]/
+ (2*Sqrt[b]*(Cosh[ArcSinh[c+d*x^2]/2]+c*Sinh[ArcSinh[c+d*x^2]/2])) /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2+1]
+
+
+Int[1/(a_.+b_.*ArcSinh[c_+d_.*x_^2])^(3/2),x_Symbol] :=
+ -Sqrt[2*c*d*x^2+d^2*x^4]/(b*d*x*Sqrt[a+b*ArcSinh[c+d*x^2]]) -
+ (-c/b)^(3/2)*Sqrt[Pi]*x*(Cosh[a/(2*b)]-c*Sinh[a/(2*b)])*FresnelC[Sqrt[-c/(Pi*b)]*Sqrt[a+b*ArcSinh[c+d*x^2]]]/
+ (Cosh[ArcSinh[c+d*x^2]/2]+c*Sinh[ArcSinh[c+d*x^2]/2]) +
+ (-c/b)^(3/2)*Sqrt[Pi]*x*(Cosh[a/(2*b)]+c*Sinh[a/(2*b)])*FresnelS[Sqrt[-c/(Pi*b)]*Sqrt[a+b*ArcSinh[c+d*x^2]]]/
+ (Cosh[ArcSinh[c+d*x^2]/2]+c*Sinh[ArcSinh[c+d*x^2]/2]) /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2+1]
+
+
+Int[1/(a_.+b_.*ArcSinh[c_+d_.*x_^2])^2,x_Symbol] :=
+ -Sqrt[2*c*d*x^2+d^2*x^4]/(2*b*d*x*(a+b*ArcSinh[c+d*x^2])) +
+ x*(Cosh[a/(2*b)]-c*Sinh[a/(2*b)])*CoshIntegral[(a+b*ArcSinh[c+d*x^2])/(2*b)]/
+ (4*b^2*(Cosh[ArcSinh[c+d*x^2]/2]+c*Sinh[ArcSinh[c+d*x^2]/2])) +
+ x*(c*Cosh[a/(2*b)]-Sinh[a/(2*b)])*SinhIntegral[(a+b*ArcSinh[c+d*x^2])/(2*b)]/
+ (4*b^2*(Cosh[ArcSinh[c+d*x^2]/2]+c*Sinh[ArcSinh[c+d*x^2]/2])) /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2+1]
+
+
+Int[(a_.+b_.*ArcSinh[c_+d_.*x_^2])^n_,x_Symbol] :=
+ -x*(a+b*ArcSinh[c+d*x^2])^(n+2)/(4*b^2*(n+1)*(n+2)) +
+ Sqrt[2*c*d*x^2+d^2*x^4]*(a+b*ArcSinh[c+d*x^2])^(n+1)/(2*b*d*(n+1)*x) +
+ 1/(4*b^2*(n+1)*(n+2))*Int[(a+b*ArcSinh[c+d*x^2])^(n+2),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2+1] && RationalQ[n] && n<-1 && n!=-2
+
+
+Int[Sqrt[a_.+b_.*ArcCosh[1+d_.*x_^2]],x_Symbol] :=
+ 2*Sqrt[a+b*ArcCosh[1+d*x^2]]*Sinh[(1/2)*ArcCosh[1+d*x^2]]^2/(d*x) -
+ Sqrt[b]*Sqrt[Pi/2]*(Cosh[a/(2*b)]-Sinh[a/(2*b)])*Sinh[(1/2)*ArcCosh[1+d*x^2]]*
+ Erfi[(1/Sqrt[2*b])*Sqrt[a+b*ArcCosh[1+d*x^2]]]/(d*x) +
+ Sqrt[b]*Sqrt[Pi/2]*(Cosh[a/(2*b)]+Sinh[a/(2*b)])*Sinh[(1/2)*ArcCosh[1+d*x^2]]*
+ Erf[(1/Sqrt[2*b])*Sqrt[a+b*ArcCosh[1+d*x^2]]]/(d*x) /;
+FreeQ[{a,b,d},x]
+
+
+Int[Sqrt[a_.+b_.*ArcCosh[-1+d_.*x_^2]],x_Symbol] :=
+ 2*Sqrt[a+b*ArcCosh[-1+d*x^2]]*Cosh[(1/2)*ArcCosh[-1+d*x^2]]^2/(d*x) -
+ Sqrt[b]*Sqrt[Pi/2]*(Cosh[a/(2*b)]-Sinh[a/(2*b)])*Cosh[(1/2)*ArcCosh[-1+d*x^2]]*
+ Erfi[(1/Sqrt[2*b])*Sqrt[a+b*ArcCosh[-1+d*x^2]]]/(d*x) -
+ Sqrt[b]*Sqrt[Pi/2]*(Cosh[a/(2*b)]+Sinh[a/(2*b)])*Cosh[(1/2)*ArcCosh[-1+d*x^2]]*
+ Erf[(1/Sqrt[2*b])*Sqrt[a+b*ArcCosh[-1+d*x^2]]]/(d*x) /;
+FreeQ[{a,b,d},x]
+
+
+Int[(a_.+b_.*ArcCosh[c_+d_.*x_^2])^n_,x_Symbol] :=
+ x*(a+b*ArcCosh[c+d*x^2])^n -
+ 2*b*n*(2*c*d*x^2+d^2*x^4)*(a+b*ArcCosh[c+d*x^2])^(n-1)/(d*x*Sqrt[-1+c+d*x^2]*Sqrt[1+c+d*x^2]) +
+ 4*b^2*n*(n-1)*Int[(a+b*ArcCosh[c+d*x^2])^(n-2),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2-1] && RationalQ[n] && n>1
+
+
+Int[1/(a_.+b_.*ArcCosh[1+d_.*x_^2]),x_Symbol] :=
+ x*Cosh[a/(2*b)]*CoshIntegral[(a+b*ArcCosh[1+d*x^2])/(2*b)]/(Sqrt[2]*b*Sqrt[d*x^2]) -
+ x*Sinh[a/(2*b)]*SinhIntegral[(a+b*ArcCosh[1+d*x^2])/(2*b)]/(Sqrt[2]*b*Sqrt[d*x^2]) /;
+FreeQ[{a,b,d},x]
+
+
+Int[1/(a_.+b_.*ArcCosh[-1+d_.*x_^2]),x_Symbol] :=
+ -x*Sinh[a/(2*b)]*CoshIntegral[(a+b*ArcCosh[-1+d*x^2])/(2*b)]/(Sqrt[2]*b*Sqrt[d*x^2]) +
+ x*Cosh[a/(2*b)]*SinhIntegral[(a+b*ArcCosh[-1+d*x^2])/(2*b)]/(Sqrt[2]*b*Sqrt[d*x^2]) /;
+FreeQ[{a,b,d},x]
+
+
+Int[1/Sqrt[a_.+b_.*ArcCosh[1+d_.*x_^2]],x_Symbol] :=
+ Sqrt[Pi/2]*(Cosh[a/(2*b)]-Sinh[a/(2*b)])*Sinh[ArcCosh[1+d*x^2]/2]*Erfi[Sqrt[a+b*ArcCosh[1+d*x^2]]/Sqrt[2*b]]/(Sqrt[b]*d*x) +
+ Sqrt[Pi/2]*(Cosh[a/(2*b)]+Sinh[a/(2*b)])*Sinh[ArcCosh[1+d*x^2]/2]*Erf[Sqrt[a+b*ArcCosh[1+d*x^2]]/Sqrt[2*b]]/(Sqrt[b]*d*x) /;
+FreeQ[{a,b,d},x]
+
+
+Int[1/Sqrt[a_.+b_.*ArcCosh[-1+d_.*x_^2]],x_Symbol] :=
+ Sqrt[Pi/2]*(Cosh[a/(2*b)]-Sinh[a/(2*b)])*Cosh[ArcCosh[-1+d*x^2]/2]*Erfi[Sqrt[a+b*ArcCosh[-1+d*x^2]]/Sqrt[2*b]]/(Sqrt[b]*d*x) -
+ Sqrt[Pi/2]*(Cosh[a/(2*b)]+Sinh[a/(2*b)])*Cosh[ArcCosh[-1+d*x^2]/2]*Erf[Sqrt[a+b*ArcCosh[-1+d*x^2]]/Sqrt[2*b]]/(Sqrt[b]*d*x) /;
+FreeQ[{a,b,d},x]
+
+
+Int[1/(a_.+b_.*ArcCosh[1+d_.*x_^2])^(3/2),x_Symbol] :=
+ -Sqrt[d*x^2]*Sqrt[2+d*x^2]/(b*d*x*Sqrt[a+b*ArcCosh[1+d*x^2]]) +
+ Sqrt[Pi/2]*(Cosh[a/(2*b)]-Sinh[a/(2*b)])*Sinh[ArcCosh[1+d*x^2]/2]*Erfi[Sqrt[a+b*ArcCosh[1+d*x^2]]/Sqrt[2*b]]/(b^(3/2)*d*x)-
+ Sqrt[Pi/2]*(Cosh[a/(2*b)]+Sinh[a/(2*b)])*Sinh[ArcCosh[1+d*x^2]/2]*Erf[Sqrt[a+b*ArcCosh[1+d*x^2]]/Sqrt[2*b]]/(b^(3/2)*d*x) /;
+FreeQ[{a,b,d},x]
+
+
+Int[1/(a_.+b_.*ArcCosh[-1+d_.*x_^2])^(3/2),x_Symbol] :=
+ -Sqrt[d*x^2]*Sqrt[-2+d*x^2]/(b*d*x*Sqrt[a+b*ArcCosh[-1+d*x^2]]) +
+ Sqrt[Pi/2]*(Cosh[a/(2*b)]-Sinh[a/(2*b)])*Cosh[ArcCosh[-1+d*x^2]/2]*Erfi[Sqrt[a+b*ArcCosh[-1+d*x^2]]/Sqrt[2*b]]/(b^(3/2)*d*x) +
+ Sqrt[Pi/2]*(Cosh[a/(2*b)]+Sinh[a/(2*b)])*Cosh[ArcCosh[-1+d*x^2]/2]*Erf[Sqrt[a+b*ArcCosh[-1+d*x^2]]/Sqrt[2*b]]/(b^(3/2)*d*x) /;
+FreeQ[{a,b,d},x]
+
+
+Int[1/(a_.+b_.*ArcCosh[1+d_.*x_^2])^2,x_Symbol] :=
+ -Sqrt[d*x^2]*Sqrt[2+d*x^2]/(2*b*d*x*(a+b*ArcCosh[1+d*x^2])) -
+ x*Sinh[a/(2*b)]*CoshIntegral[(a+b*ArcCosh[1+d*x^2])/(2*b)]/(2*Sqrt[2]*b^2*Sqrt[d*x^2]) +
+ x*Cosh[a/(2*b)]*SinhIntegral[(a+b*ArcCosh[1+d*x^2])/(2*b)]/(2*Sqrt[2]*b^2*Sqrt[d*x^2]) /;
+FreeQ[{a,b,d},x]
+
+
+Int[1/(a_.+b_.*ArcCosh[-1+d_.*x_^2])^2,x_Symbol] :=
+ -Sqrt[d*x^2]*Sqrt[-2+d*x^2]/(2*b*d*x*(a+b*ArcCosh[-1+d*x^2])) +
+ x*Cosh[a/(2*b)]*CoshIntegral[(a+b*ArcCosh[-1+d*x^2])/(2*b)]/(2*Sqrt[2]*b^2*Sqrt[d*x^2]) -
+ x*Sinh[a/(2*b)]*SinhIntegral[(a+b*ArcCosh[-1+d*x^2])/(2*b)]/(2*Sqrt[2]*b^2*Sqrt[d*x^2]) /;
+FreeQ[{a,b,d},x]
+
+
+Int[(a_.+b_.*ArcCosh[c_+d_.*x_^2])^n_,x_Symbol] :=
+ -x*(a+b*ArcCosh[c+d*x^2])^(n+2)/(4*b^2*(n+1)*(n+2)) +
+ (2*c*x^2 +d*x^4)*(a+b*ArcCosh[c+d*x^2])^(n+1)/(2*b*(n+1)*x*Sqrt[-1+c+d*x^2]*Sqrt[1+c+d*x^2]) +
+ 1/(4*b^2*(n+1)*(n+2))*Int[(a+b*ArcCosh[c+d*x^2])^(n+2),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[c^2-1] && RationalQ[n] && n<-1 && n!=-2
+
+
+Int[ArcSinh[a_.*x_^p_]^n_./x_,x_Symbol] :=
+ 1/p*Subst[Int[x^n*Coth[x],x],x,ArcSinh[a*x^p]] /;
+FreeQ[{a,p},x] && PositiveIntegerQ[n]
+
+
+Int[ArcCosh[a_.*x_^p_]^n_./x_,x_Symbol] :=
+ 1/p*Subst[Int[x^n*Tanh[x],x],x,ArcCosh[a*x^p]] /;
+FreeQ[{a,p},x] && PositiveIntegerQ[n]
+
+
+Int[u_.*ArcSinh[c_./(a_.+b_.*x_^n_.)]^m_.,x_Symbol] :=
+ Int[u*ArcCsch[a/c+b*x^n/c]^m,x] /;
+FreeQ[{a,b,c,n,m},x]
+
+
+Int[u_.*ArcCosh[c_./(a_.+b_.*x_^n_.)]^m_.,x_Symbol] :=
+ Int[u*ArcSech[a/c+b*x^n/c]^m,x] /;
+FreeQ[{a,b,c,n,m},x]
+
+
+Int[ArcSinh[Sqrt[-1+b_.*x_^2]]^n_./Sqrt[-1+b_.*x_^2],x_Symbol] :=
+ Sqrt[b*x^2]/(b*x)*Subst[Int[ArcSinh[x]^n/Sqrt[1+x^2],x],x,Sqrt[-1+b*x^2]] /;
+FreeQ[{b,n},x]
+
+
+Int[ArcCosh[Sqrt[1+b_.*x_^2]]^n_./Sqrt[1+b_.*x_^2],x_Symbol] :=
+ Sqrt[-1+Sqrt[1+b*x^2]]*Sqrt[1+Sqrt[1+b*x^2]]/(b*x)*Subst[Int[ArcCosh[x]^n/(Sqrt[-1+x]*Sqrt[1+x]),x],x,Sqrt[1+b*x^2]] /;
+FreeQ[{b,n},x]
+
+
+Int[f_^(c_.*ArcSinh[a_.+b_.*x_]^n_.),x_Symbol] :=
+ 1/b*Subst[Int[f^(c*x^n)*Cosh[x],x],x,ArcSinh[a+b*x]] /;
+FreeQ[{a,b,c,f},x] && PositiveIntegerQ[n]
+
+
+Int[f_^(c_.*ArcCosh[a_.+b_.*x_]^n_.),x_Symbol] :=
+ 1/b*Subst[Int[f^(c*x^n)*Sinh[x],x],x,ArcCosh[a+b*x]] /;
+FreeQ[{a,b,c,f},x] && PositiveIntegerQ[n]
+
+
+Int[x_^m_.*f_^(c_.*ArcSinh[a_.+b_.*x_]^n_.),x_Symbol] :=
+ 1/b*Subst[Int[(-a/b+Sinh[x]/b)^m*f^(c*x^n)*Cosh[x],x],x,ArcSinh[a+b*x]] /;
+FreeQ[{a,b,c,f},x] && PositiveIntegerQ[m,n]
+
+
+Int[x_^m_.*f_^(c_.*ArcCosh[a_.+b_.*x_]^n_.),x_Symbol] :=
+ 1/b*Subst[Int[(-a/b+Cosh[x]/b)^m*f^(c*x^n)*Sinh[x],x],x,ArcCosh[a+b*x]] /;
+FreeQ[{a,b,c,f},x] && PositiveIntegerQ[m,n]
+
+
+Int[ArcSinh[u_],x_Symbol] :=
+ x*ArcSinh[u] -
+ Int[SimplifyIntegrand[x*D[u,x]/Sqrt[1+u^2],x],x] /;
+InverseFunctionFreeQ[u,x] && Not[FunctionOfExponentialQ[u,x]]
+
+
+Int[ArcCosh[u_],x_Symbol] :=
+ x*ArcCosh[u] -
+ Int[SimplifyIntegrand[x*D[u,x]/(Sqrt[-1+u]*Sqrt[1+u]),x],x] /;
+InverseFunctionFreeQ[u,x] && Not[FunctionOfExponentialQ[u,x]]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_.+b_.*ArcSinh[u_]),x_Symbol] :=
+ (c+d*x)^(m+1)*(a+b*ArcSinh[u])/(d*(m+1)) -
+ b/(d*(m+1))*Int[SimplifyIntegrand[(c+d*x)^(m+1)*D[u,x]/Sqrt[1+u^2],x],x] /;
+FreeQ[{a,b,c,d,m},x] && NeQ[m+1] && InverseFunctionFreeQ[u,x] && Not[FunctionOfQ[(c+d*x)^(m+1),u,x]] && Not[FunctionOfExponentialQ[u,x]]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_.+b_.*ArcCosh[u_]),x_Symbol] :=
+ (c+d*x)^(m+1)*(a+b*ArcCosh[u])/(d*(m+1)) -
+ b/(d*(m+1))*Int[SimplifyIntegrand[(c+d*x)^(m+1)*D[u,x]/(Sqrt[-1+u]*Sqrt[1+u]),x],x] /;
+FreeQ[{a,b,c,d,m},x] && NeQ[m+1] && InverseFunctionFreeQ[u,x] && Not[FunctionOfQ[(c+d*x)^(m+1),u,x]] && Not[FunctionOfExponentialQ[u,x]]
+
+
+Int[v_*(a_.+b_.*ArcSinh[u_]),x_Symbol] :=
+ With[{w=IntHide[v,x]},
+ Dist[(a+b*ArcSinh[u]),w,x] - b*Int[SimplifyIntegrand[w*D[u,x]/Sqrt[1+u^2],x],x] /;
+ InverseFunctionFreeQ[w,x]] /;
+FreeQ[{a,b},x] && InverseFunctionFreeQ[u,x] && Not[MatchQ[v, (c_.+d_.*x)^m_. /; FreeQ[{c,d,m},x]]]
+
+
+Int[v_*(a_.+b_.*ArcCosh[u_]),x_Symbol] :=
+ With[{w=IntHide[v,x]},
+ Dist[(a+b*ArcCosh[u]),w,x] - b*Int[SimplifyIntegrand[w*D[u,x]/(Sqrt[-1+u]*Sqrt[1+u]),x],x] /;
+ InverseFunctionFreeQ[w,x]] /;
+FreeQ[{a,b},x] && InverseFunctionFreeQ[u,x] && Not[MatchQ[v, (c_.+d_.*x)^m_. /; FreeQ[{c,d,m},x]]]
+
+
+Int[E^(n_.*ArcSinh[u_]), x_Symbol] :=
+ Int[(u+Sqrt[1+u^2])^n,x] /;
+IntegerQ[n] && PolynomialQ[u,x]
+
+
+Int[x_^m_.*E^(n_.*ArcSinh[u_]), x_Symbol] :=
+ Int[x^m*(u+Sqrt[1+u^2])^n,x] /;
+RationalQ[m] && IntegerQ[n] && PolynomialQ[u,x]
+
+
+Int[E^(n_.*ArcCosh[u_]), x_Symbol] :=
+ Int[(u+Sqrt[-1+u]*Sqrt[1+u])^n,x] /;
+IntegerQ[n] && PolynomialQ[u,x]
+
+
+Int[x_^m_.*E^(n_.*ArcCosh[u_]), x_Symbol] :=
+ Int[x^m*(u+Sqrt[-1+u]*Sqrt[1+u])^n,x] /;
+RationalQ[m] && IntegerQ[n] && PolynomialQ[u,x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*7.2.1 u (a+b arctanh(c x))^n*)
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ x*(a+b*ArcTanh[c*x])^n -
+ b*c*n*Int[x*(a+b*ArcTanh[c*x])^(n-1)/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ x*(a+b*ArcCoth[c*x])^n -
+ b*c*n*Int[x*(a+b*ArcCoth[c*x])^(n-1)/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c},x] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_,x_Symbol] :=
+ Defer[Int][(a+b*ArcTanh[c*x])^n,x] /;
+FreeQ[{a,b,c,n},x] && Not[PositiveIntegerQ[n]]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_,x_Symbol] :=
+ Defer[Int][(a+b*ArcCoth[c*x])^n,x] /;
+FreeQ[{a,b,c,n},x] && Not[PositiveIntegerQ[n]]
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_./(d_+e_.*x_),x_Symbol] :=
+ -(a+b*ArcTanh[c*x])^n*Log[2*d/(d+e*x)]/e +
+ b*c*n/e*Int[(a+b*ArcTanh[c*x])^(n-1)*Log[2*d/(d+e*x)]/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d^2-e^2] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_./(d_+e_.*x_),x_Symbol] :=
+ -(a+b*ArcCoth[c*x])^n*Log[2*d/(d+e*x)]/e +
+ b*c*n/e*Int[(a+b*ArcCoth[c*x])^(n-1)*Log[2*d/(d+e*x)]/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d^2-e^2] && PositiveIntegerQ[n]
+
+
+Int[ArcTanh[c_.*x_]/(d_+e_.*x_),x_Symbol] :=
+ -ArcTanh[c*d/e]*Log[d+e*x]/e - PolyLog[2,Simp[c*(d+e*x)/(c*d-e),x]]/(2*e) + PolyLog[2,Simp[c*(d+e*x)/(c*d+e),x]]/(2*e) /;
+FreeQ[{c,d,e},x] && PositiveQ[c*d/e+1] && NegativeQ[c*d/e-1]
+
+
+(* Int[ArcCoth[c_.*x_]/(d_.+e_.*x_),x_Symbol] :=
+ z /;
+FreeQ[{c,d,e},x] *)
+
+
+Int[ArcTanh[c_.*x_]/(d_.+e_.*x_),x_Symbol] :=
+ 1/2*Int[Log[1+c*x]/(d+e*x),x] - 1/2*Int[Log[1-c*x]/(d+e*x),x] /;
+FreeQ[{c,d,e},x]
+
+
+Int[ArcCoth[c_.*x_]/(d_.+e_.*x_),x_Symbol] :=
+ 1/2*Int[Log[1+1/(c*x)]/(d+e*x),x] - 1/2*Int[Log[1-1/(c*x)]/(d+e*x),x] /;
+FreeQ[{c,d,e},x]
+
+
+Int[(a_+b_.*ArcTanh[c_.*x_])/(d_.+e_.*x_),x_Symbol] :=
+ a/e*Log[RemoveContent[d+e*x,x]] + b*Int[ArcTanh[c*x]/(d+e*x),x] /;
+FreeQ[{a,b,c,d,e},x]
+
+
+Int[(a_+b_.*ArcCoth[c_.*x_])/(d_.+e_.*x_),x_Symbol] :=
+ a/e*Log[RemoveContent[d+e*x,x]] + b*Int[ArcCoth[c*x]/(d+e*x),x] /;
+FreeQ[{a,b,c,d,e},x]
+
+
+Int[(d_.+e_.*x_)^p_.*(a_.+b_.*ArcTanh[c_.*x_]),x_Symbol] :=
+ (d+e*x)^(p+1)*(a+b*ArcTanh[c*x])/(e*(p+1)) -
+ b*c/(e*(p+1))*Int[(d+e*x)^(p+1)/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[p+1]
+
+
+Int[(d_.+e_.*x_)^p_.*(a_.+b_.*ArcCoth[c_.*x_]),x_Symbol] :=
+ (d+e*x)^(p+1)*(a+b*ArcCoth[c*x])/(e*(p+1)) -
+ b*c/(e*(p+1))*Int[(d+e*x)^(p+1)/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[p+1]
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_/x_,x_Symbol] :=
+ 2*(a+b*ArcTanh[c*x])^n*ArcTanh[1-2/(1-c*x)] -
+ 2*b*c*n*Int[(a+b*ArcTanh[c*x])^(n-1)*ArcTanh[1-2/(1-c*x)]/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c},x] && IntegerQ[n] && n>1
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_/x_,x_Symbol] :=
+ 2*(a+b*ArcCoth[c*x])^n*ArcCoth[1-2/(1-c*x)] -
+ 2*b*c*n*Int[(a+b*ArcCoth[c*x])^(n-1)*ArcCoth[1-2/(1-c*x)]/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c},x] && IntegerQ[n] && n>1
+
+
+Int[x_^m_.*(a_.+b_.*ArcTanh[c_.*x_])^n_,x_Symbol] :=
+ x^(m+1)*(a+b*ArcTanh[c*x])^n/(m+1) -
+ b*c*n/(m+1)*Int[x^(m+1)*(a+b*ArcTanh[c*x])^(n-1)/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c,m},x] && IntegerQ[n] && n>1 && NeQ[m+1]
+
+
+Int[x_^m_.*(a_.+b_.*ArcCoth[c_.*x_])^n_,x_Symbol] :=
+ x^(m+1)*(a+b*ArcCoth[c*x])^n/(m+1) -
+ b*c*n/(m+1)*Int[x^(m+1)*(a+b*ArcCoth[c*x])^(n-1)/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c,m},x] && IntegerQ[n] && n>1 && NeQ[m+1]
+
+
+Int[(d_+e_.*x_)^p_.*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^p*(a+b*ArcTanh[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && PositiveIntegerQ[n,p]
+
+
+Int[(d_+e_.*x_)^p_.*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x)^p*(a+b*ArcCoth[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && PositiveIntegerQ[n,p]
+
+
+Int[(d_.+e_.*x_)^p_.*(a_.+b_.*ArcTanh[c_.*x_])^n_,x_Symbol] :=
+ Defer[Int][(d+e*x)^p*(a+b*ArcTanh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x] && Not[PositiveIntegerQ[n]]
+
+
+Int[(d_.+e_.*x_)^p_.*(a_.+b_.*ArcCoth[c_.*x_])^n_,x_Symbol] :=
+ Defer[Int][(d+e*x)^p*(a+b*ArcCoth[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x] && Not[PositiveIntegerQ[n]]
+
+
+Int[x_^m_.*(a_.+b_.*ArcTanh[c_.*x_])^n_./(d_+e_.*x_),x_Symbol] :=
+ 1/e*Int[x^(m-1)*(a+b*ArcTanh[c*x])^n,x] -
+ d/e*Int[x^(m-1)*(a+b*ArcTanh[c*x])^n/(d+e*x),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d^2-e^2] && PositiveIntegerQ[n] && RationalQ[m] && m>0
+
+
+Int[x_^m_.*(a_.+b_.*ArcCoth[c_.*x_])^n_./(d_+e_.*x_),x_Symbol] :=
+ 1/e*Int[x^(m-1)*(a+b*ArcCoth[c*x])^n,x] -
+ d/e*Int[x^(m-1)*(a+b*ArcCoth[c*x])^n/(d+e*x),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d^2-e^2] && PositiveIntegerQ[n] && RationalQ[m] && m>0
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_./(x_*(d_+e_.*x_)),x_Symbol] :=
+ (a+b*ArcTanh[c*x])^n*Log[2*e*x/(d+e*x)]/d -
+ b*c*n/d*Int[(a+b*ArcTanh[c*x])^(n-1)*Log[2*e*x/(d+e*x)]/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d^2-e^2] && PositiveIntegerQ[n]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_./(x_*(d_+e_.*x_)),x_Symbol] :=
+ (a+b*ArcCoth[c*x])^n*Log[2*e*x/(d+e*x)]/d -
+ b*c*n/d*Int[(a+b*ArcCoth[c*x])^(n-1)*Log[2*e*x/(d+e*x)]/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d^2-e^2] && PositiveIntegerQ[n]
+
+
+Int[x_^m_*(a_.+b_.*ArcTanh[c_.*x_])^n_./(d_+e_.*x_),x_Symbol] :=
+ 1/d*Int[x^m*(a+b*ArcTanh[c*x])^n,x] -
+ e/d*Int[x^(m+1)*(a+b*ArcTanh[c*x])^n/(d+e*x),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d^2-e^2] && PositiveIntegerQ[n] && RationalQ[m] && m<-1
+
+
+Int[x_^m_*(a_.+b_.*ArcCoth[c_.*x_])^n_./(d_+e_.*x_),x_Symbol] :=
+ 1/d*Int[x^m*(a+b*ArcCoth[c*x])^n,x] -
+ e/d*Int[x^(m+1)*(a+b*ArcCoth[c*x])^n/(d+e*x),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d^2-e^2] && PositiveIntegerQ[n] && RationalQ[m] && m<-1
+
+
+Int[x_^m_.*(d_+e_.*x_)^p_.*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[x^m*(d+e*x)^p*(a+b*ArcTanh[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && IntegerQ[p] && PositiveIntegerQ[n] && (p>0 || NeQ[a] || IntegerQ[m])
+
+
+Int[x_^m_.*(d_+e_.*x_)^p_.*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[x^m*(d+e*x)^p*(a+b*ArcCoth[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && IntegerQ[p] && PositiveIntegerQ[n] && (p>0 || NeQ[a] || IntegerQ[m])
+
+
+Int[x_^m_.*(d_.+e_.*x_)^p_.*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][x^m*(d+e*x)^p*(a+b*ArcTanh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[x_^m_.*(d_.+e_.*x_)^p_.*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][x^m*(d+e*x)^p*(a+b*ArcCoth[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcTanh[c_.*x_]),x_Symbol] :=
+ b*(d+e*x^2)^p/(2*c*p*(2*p+1)) +
+ x*(d+e*x^2)^p*(a+b*ArcTanh[c*x])/(2*p+1) +
+ 2*d*p/(2*p+1)*Int[(d+e*x^2)^(p-1)*(a+b*ArcTanh[c*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[p] && p>0
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCoth[c_.*x_]),x_Symbol] :=
+ b*(d+e*x^2)^p/(2*c*p*(2*p+1)) +
+ x*(d+e*x^2)^p*(a+b*ArcCoth[c*x])/(2*p+1) +
+ 2*d*p/(2*p+1)*Int[(d+e*x^2)^(p-1)*(a+b*ArcCoth[c*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[p] && p>0
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcTanh[c_.*x_])^n_,x_Symbol] :=
+ b*n*(d+e*x^2)^p*(a+b*ArcTanh[c*x])^(n-1)/(2*c*p*(2*p+1)) +
+ x*(d+e*x^2)^p*(a+b*ArcTanh[c*x])^n/(2*p+1) +
+ 2*d*p/(2*p+1)*Int[(d+e*x^2)^(p-1)*(a+b*ArcTanh[c*x])^n,x] -
+ b^2*d*n*(n-1)/(2*p*(2*p+1))*Int[(d+e*x^2)^(p-1)*(a+b*ArcTanh[c*x])^(n-2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n,p] && p>0 && n>1
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCoth[c_.*x_])^n_,x_Symbol] :=
+ b*n*(d+e*x^2)^p*(a+b*ArcCoth[c*x])^(n-1)/(2*c*p*(2*p+1)) +
+ x*(d+e*x^2)^p*(a+b*ArcCoth[c*x])^n/(2*p+1) +
+ 2*d*p/(2*p+1)*Int[(d+e*x^2)^(p-1)*(a+b*ArcCoth[c*x])^n,x] -
+ b^2*d*n*(n-1)/(2*p*(2*p+1))*Int[(d+e*x^2)^(p-1)*(a+b*ArcCoth[c*x])^(n-2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n,p] && p>0 && n>1
+
+
+Int[1/((d_+e_.*x_^2)*(a_.+b_.*ArcTanh[c_.*x_])),x_Symbol] :=
+ Log[RemoveContent[a+b*ArcTanh[c*x],x]]/(b*c*d) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e]
+
+
+Int[1/((d_+e_.*x_^2)*(a_.+b_.*ArcCoth[c_.*x_])),x_Symbol] :=
+ Log[RemoveContent[a+b*ArcCoth[c*x],x]]/(b*c*d) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e]
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ (a+b*ArcTanh[c*x])^(n+1)/(b*c*d*(n+1)) /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && NeQ[n+1]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ (a+b*ArcCoth[c*x])^(n+1)/(b*c*d*(n+1)) /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && NeQ[n+1]
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])/Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ -2*(a+b*ArcTanh[c*x])*ArcTan[Sqrt[1-c*x]/Sqrt[1+c*x]]/(c*Sqrt[d]) -
+ I*b*PolyLog[2,-I*Sqrt[1-c*x]/Sqrt[1+c*x]]/(c*Sqrt[d]) +
+ I*b*PolyLog[2,I*Sqrt[1-c*x]/Sqrt[1+c*x]]/(c*Sqrt[d]) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])/Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ -2*(a+b*ArcCoth[c*x])*ArcTan[Sqrt[1-c*x]/Sqrt[1+c*x]]/(c*Sqrt[d]) -
+ I*b*PolyLog[2,-I*Sqrt[1-c*x]/Sqrt[1+c*x]]/(c*Sqrt[d]) +
+ I*b*PolyLog[2,I*Sqrt[1-c*x]/Sqrt[1+c*x]]/(c*Sqrt[d]) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ 1/(c*Sqrt[d])*Subst[Int[(a+b*x)^n*Sech[x],x],x,ArcTanh[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ -x*Sqrt[1-1/(c^2*x^2)]/Sqrt[d+e*x^2]*Subst[Int[(a+b*x)^n*Csch[x],x],x,ArcCoth[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ Sqrt[1-c^2*x^2]/Sqrt[d+e*x^2]*Int[(a+b*ArcTanh[c*x])^n/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n] && Not[PositiveQ[d]]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ Sqrt[1-c^2*x^2]/Sqrt[d+e*x^2]*Int[(a+b*ArcCoth[c*x])^n/Sqrt[1-c^2*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n] && Not[PositiveQ[d]]
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_./(d_+e_.*x_^2)^2,x_Symbol] :=
+ x*(a+b*ArcTanh[c*x])^n/(2*d*(d+e*x^2)) +
+ (a+b*ArcTanh[c*x])^(n+1)/(2*b*c*d^2*(n+1)) -
+ b*c*n/2*Int[x*(a+b*ArcTanh[c*x])^(n-1)/(d+e*x^2)^2,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_./(d_+e_.*x_^2)^2,x_Symbol] :=
+ x*(a+b*ArcCoth[c*x])^n/(2*d*(d+e*x^2)) +
+ (a+b*ArcCoth[c*x])^(n+1)/(2*b*c*d^2*(n+1)) -
+ b*c*n/2*Int[x*(a+b*ArcCoth[c*x])^(n-1)/(d+e*x^2)^2,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])/(d_+e_.*x_^2)^(3/2),x_Symbol] :=
+ -b/(c*d*Sqrt[d+e*x^2]) +
+ x*(a+b*ArcTanh[c*x])/(d*Sqrt[d+e*x^2]) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])/(d_+e_.*x_^2)^(3/2),x_Symbol] :=
+ -b/(c*d*Sqrt[d+e*x^2]) +
+ x*(a+b*ArcCoth[c*x])/(d*Sqrt[d+e*x^2]) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e]
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTanh[c_.*x_]),x_Symbol] :=
+ -b*(d+e*x^2)^(p+1)/(4*c*d*(p+1)^2) -
+ x*(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])/(2*d*(p+1)) +
+ (2*p+3)/(2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[p] && p<-1 && p!=-3/2
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCoth[c_.*x_]),x_Symbol] :=
+ -b*(d+e*x^2)^(p+1)/(4*c*d*(p+1)^2) -
+ x*(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])/(2*d*(p+1)) +
+ (2*p+3)/(2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[p] && p<-1 && p!=-3/2
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_/(d_+e_.*x_^2)^(3/2),x_Symbol] :=
+ -b*n*(a+b*ArcTanh[c*x])^(n-1)/(c*d*Sqrt[d+e*x^2]) +
+ x*(a+b*ArcTanh[c*x])^n/(d*Sqrt[d+e*x^2]) +
+ b^2*n*(n-1)*Int[(a+b*ArcTanh[c*x])^(n-2)/(d+e*x^2)^(3/2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>1
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_/(d_+e_.*x_^2)^(3/2),x_Symbol] :=
+ -b*n*(a+b*ArcCoth[c*x])^(n-1)/(c*d*Sqrt[d+e*x^2]) +
+ x*(a+b*ArcCoth[c*x])^n/(d*Sqrt[d+e*x^2]) +
+ b^2*n*(n-1)*Int[(a+b*ArcCoth[c*x])^(n-2)/(d+e*x^2)^(3/2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>1
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTanh[c_.*x_])^n_,x_Symbol] :=
+ -b*n*(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])^(n-1)/(4*c*d*(p+1)^2) -
+ x*(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])^n/(2*d*(p+1)) +
+ (2*p+3)/(2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])^n,x] +
+ b^2*n*(n-1)/(4*(p+1)^2)*Int[(d+e*x^2)^p*(a+b*ArcTanh[c*x])^(n-2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n,p] && p<-1 && n>1 && p!=-3/2
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCoth[c_.*x_])^n_,x_Symbol] :=
+ -b*n*(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])^(n-1)/(4*c*d*(p+1)^2) -
+ x*(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])^n/(2*d*(p+1)) +
+ (2*p+3)/(2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])^n,x] +
+ b^2*n*(n-1)/(4*(p+1)^2)*Int[(d+e*x^2)^p*(a+b*ArcCoth[c*x])^(n-2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n,p] && p<-1 && n>1 && p!=-3/2
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTanh[c_.*x_])^n_,x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])^(n+1)/(b*c*d*(n+1)) +
+ 2*c*(p+1)/(b*(n+1))*Int[x*(d+e*x^2)^p*(a+b*ArcTanh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n,p] && p<-1 && n<-1
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCoth[c_.*x_])^n_,x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])^(n+1)/(b*c*d*(n+1)) +
+ 2*c*(p+1)/(b*(n+1))*Int[x*(d+e*x^2)^p*(a+b*ArcCoth[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n,p] && p<-1 && n<-1
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ d^p/c*Subst[Int[(a+b*x)^n/Cosh[x]^(2*(p+1)),x],x,ArcTanh[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && NegativeIntegerQ[2*(p+1)] && (IntegerQ[p] || PositiveQ[d])
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ d^(p+1/2)*Sqrt[1-c^2*x^2]/Sqrt[d+e*x^2]*Int[(1-c^2*x^2)^p*(a+b*ArcTanh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && NegativeIntegerQ[2*(p+1)] && Not[IntegerQ[p] || PositiveQ[d]]
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ -(-d)^p/c*Subst[Int[(a+b*x)^n/Sinh[x]^(2*(p+1)),x],x,ArcCoth[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && NegativeIntegerQ[2*(p+1)] && IntegerQ[p]
+
+
+Int[(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ -(-d)^(p+1/2)*x*Sqrt[(c^2*x^2-1)/(c^2*x^2)]/Sqrt[d+e*x^2]*Subst[Int[(a+b*x)^n/Sinh[x]^(2*(p+1)),x],x,ArcCoth[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && NegativeIntegerQ[2*(p+1)] && Not[IntegerQ[p]]
+
+
+Int[ArcTanh[c_.*x_]/(d_.+e_.*x_^2),x_Symbol] :=
+ 1/2*Int[Log[1+c*x]/(d+e*x^2),x] - 1/2*Int[Log[1-c*x]/(d+e*x^2),x] /;
+FreeQ[{c,d,e},x]
+
+
+Int[ArcCoth[c_.*x_]/(d_.+e_.*x_^2),x_Symbol] :=
+ 1/2*Int[Log[1+1/(c*x)]/(d+e*x^2),x] - 1/2*Int[Log[1-1/(c*x)]/(d+e*x^2),x] /;
+FreeQ[{c,d,e},x]
+
+
+Int[(a_+b_.*ArcTanh[c_.*x_])/(d_.+e_.*x_^2),x_Symbol] :=
+ a*Int[1/(d+e*x^2),x] + b*Int[ArcTanh[c*x]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x]
+
+
+Int[(a_+b_.*ArcCoth[c_.*x_])/(d_.+e_.*x_^2),x_Symbol] :=
+ a*Int[1/(d+e*x^2),x] + b*Int[ArcCoth[c*x]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x]
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcTanh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[a+b*ArcTanh[c*x],u,x] - b*c*Int[ExpandIntegrand[u/(1-c^2*x^2),x],x]] /;
+FreeQ[{a,b,c,d,e},x] && (IntegerQ[p] || NegativeIntegerQ[p+1/2])
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCoth[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[a+b*ArcCoth[c*x],u,x] - b*c*Int[ExpandIntegrand[u/(1-c^2*x^2),x],x]] /;
+FreeQ[{a,b,c,d,e},x] && (IntegerQ[p] || NegativeIntegerQ[p+1/2])
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)^p*(a+b*ArcTanh[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && IntegerQ[p] && PositiveIntegerQ[n]
+
+
+Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(d+e*x^2)^p*(a+b*ArcCoth[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e},x] && IntegerQ[p] && PositiveIntegerQ[n]
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x^2)^p*(a+b*ArcTanh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x]
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x^2)^p*(a+b*ArcCoth[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x]
+
+
+Int[x_^m_*(a_.+b_.*ArcTanh[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/e*Int[x^(m-2)*(a+b*ArcTanh[c*x])^n,x] -
+ d/e*Int[x^(m-2)*(a+b*ArcTanh[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m,n] && n>0 && m>1
+
+
+Int[x_^m_*(a_.+b_.*ArcCoth[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/e*Int[x^(m-2)*(a+b*ArcCoth[c*x])^n,x] -
+ d/e*Int[x^(m-2)*(a+b*ArcCoth[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m,n] && n>0 && m>1
+
+
+Int[x_^m_*(a_.+b_.*ArcTanh[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/d*Int[x^m*(a+b*ArcTanh[c*x])^n,x] -
+ e/d*Int[x^(m+2)*(a+b*ArcTanh[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m,n] && n>0 && m<-1
+
+
+Int[x_^m_*(a_.+b_.*ArcCoth[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/d*Int[x^m*(a+b*ArcCoth[c*x])^n,x] -
+ e/d*Int[x^(m+2)*(a+b*ArcCoth[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && RationalQ[m,n] && n>0 && m<-1
+
+
+Int[x_*(a_.+b_.*ArcTanh[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ (a+b*ArcTanh[c*x])^(n+1)/(b*e*(n+1)) +
+ 1/(c*d)*Int[(a+b*ArcTanh[c*x])^n/(1-c*x),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n]
+
+
+Int[x_*(a_.+b_.*ArcCoth[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ (a+b*ArcCoth[c*x])^(n+1)/(b*e*(n+1)) +
+ 1/(c*d)*Int[(a+b*ArcCoth[c*x])^n/(1-c*x),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n]
+
+
+Int[x_*(a_.+b_.*ArcTanh[c_.*x_])^n_/(d_+e_.*x_^2),x_Symbol] :=
+ x*(a+b*ArcTanh[c*x])^(n+1)/(b*c*d*(n+1)) -
+ 1/(b*c*d*(n+1))*Int[(a+b*ArcTanh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && Not[PositiveIntegerQ[n]] && NeQ[n+1]
+
+
+Int[x_*(a_.+b_.*ArcCoth[c_.*x_])^n_/(d_+e_.*x_^2),x_Symbol] :=
+ -x*(a+b*ArcCoth[c*x])^(n+1)/(b*c*d*(n+1)) -
+ 1/(b*c*d*(n+1))*Int[(a+b*ArcCoth[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && Not[PositiveIntegerQ[n]] && NeQ[n+1]
+
+
+Int[x_^m_*(a_.+b_.*ArcTanh[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/e*Int[x^(m-2)*(a+b*ArcTanh[c*x])^n,x] -
+ d/e*Int[x^(m-2)*(a+b*ArcTanh[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m>1
+
+
+Int[x_^m_*(a_.+b_.*ArcCoth[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/e*Int[x^(m-2)*(a+b*ArcCoth[c*x])^n,x] -
+ d/e*Int[x^(m-2)*(a+b*ArcCoth[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m>1
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_./(x_*(d_+e_.*x_^2)),x_Symbol] :=
+ (a+b*ArcTanh[c*x])^(n+1)/(b*d*(n+1)) +
+ 1/d*Int[(a+b*ArcTanh[c*x])^n/(x*(1+c*x)),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_./(x_*(d_+e_.*x_^2)),x_Symbol] :=
+ (a+b*ArcCoth[c*x])^(n+1)/(b*d*(n+1)) +
+ 1/d*Int[(a+b*ArcCoth[c*x])^n/(x*(1+c*x)),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0
+
+
+Int[x_^m_*(a_.+b_.*ArcTanh[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/d*Int[x^m*(a+b*ArcTanh[c*x])^n,x] -
+ e/d*Int[x^(m+2)*(a+b*ArcTanh[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m<-1
+
+
+Int[x_^m_*(a_.+b_.*ArcCoth[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/d*Int[x^m*(a+b*ArcCoth[c*x])^n,x] -
+ e/d*Int[x^(m+2)*(a+b*ArcCoth[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m<-1
+
+
+Int[x_^m_*(a_.+b_.*ArcTanh[c_.*x_])^n_/(d_+e_.*x_^2),x_Symbol] :=
+ x^m*(a+b*ArcTanh[c*x])^(n+1)/(b*c*d*(n+1)) -
+ m/(b*c*d*(n+1))*Int[x^(m-1)*(a+b*ArcTanh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1
+
+
+Int[x_^m_*(a_.+b_.*ArcCoth[c_.*x_])^n_/(d_+e_.*x_^2),x_Symbol] :=
+ x^m*(a+b*ArcCoth[c*x])^(n+1)/(b*c*d*(n+1)) -
+ m/(b*c*d*(n+1))*Int[x^(m-1)*(a+b*ArcCoth[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1
+
+
+Int[x_^m_.*(a_.+b_.*ArcTanh[c_.*x_])/(d_+e_.*x_^2),x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcTanh[c*x]),x^m/(d+e*x^2),x],x] /;
+FreeQ[{a,b,c,d,e},x] && IntegerQ[m] && Not[m==1 && NeQ[a]]
+
+
+Int[x_^m_.*(a_.+b_.*ArcCoth[c_.*x_])/(d_+e_.*x_^2),x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcCoth[c*x]),x^m/(d+e*x^2),x],x] /;
+FreeQ[{a,b,c,d,e},x] && IntegerQ[m] && Not[m==1 && NeQ[a]]
+
+
+Int[x_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])^n/(2*e*(p+1)) +
+ b*n/(2*c*(p+1))*Int[(d+e*x^2)^p*(a+b*ArcTanh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && NeQ[p+1]
+
+
+Int[x_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])^n/(2*e*(p+1)) +
+ b*n/(2*c*(p+1))*Int[(d+e*x^2)^p*(a+b*ArcCoth[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && NeQ[p+1]
+
+
+Int[x_*(a_.+b_.*ArcTanh[c_.*x_])^n_/(d_+e_.*x_^2)^2,x_Symbol] :=
+ x*(a+b*ArcTanh[c*x])^(n+1)/(b*c*d*(n+1)*(d+e*x^2)) +
+ (1+c^2*x^2)*(a+b*ArcTanh[c*x])^(n+2)/(b^2*e*(n+1)*(n+2)*(d+e*x^2)) +
+ 4/(b^2*(n+1)*(n+2))*Int[x*(a+b*ArcTanh[c*x])^(n+2)/(d+e*x^2)^2,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && n!=-2
+
+
+Int[x_*(a_.+b_.*ArcCoth[c_.*x_])^n_/(d_+e_.*x_^2)^2,x_Symbol] :=
+ x*(a+b*ArcCoth[c*x])^(n+1)/(b*c*d*(n+1)*(d+e*x^2)) +
+ (1+c^2*x^2)*(a+b*ArcCoth[c*x])^(n+2)/(b^2*e*(n+1)*(n+2)*(d+e*x^2)) +
+ 4/(b^2*(n+1)*(n+2))*Int[x*(a+b*ArcCoth[c*x])^(n+2)/(d+e*x^2)^2,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n<-1 && n!=-2
+
+
+Int[x_^2*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTanh[c_.*x_]),x_Symbol] :=
+ -b*(d+e*x^2)^(p+1)/(4*c^3*d*(p+1)^2) -
+ x*(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])/(2*c^2*d*(p+1)) +
+ 1/(2*c^2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[p] && p<-1 && p!=-5/2
+
+
+Int[x_^2*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCoth[c_.*x_]),x_Symbol] :=
+ -b*(d+e*x^2)^(p+1)/(4*c^3*d*(p+1)^2) -
+ x*(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])/(2*c^2*d*(p+1)) +
+ 1/(2*c^2*d*(p+1))*Int[(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[p] && p<-1 && p!=-5/2
+
+
+Int[x_^2*(a_.+b_.*ArcTanh[c_.*x_])^n_./(d_+e_.*x_^2)^2,x_Symbol] :=
+ -(a+b*ArcTanh[c*x])^(n+1)/(2*b*c^3*d^2*(n+1)) +
+ x*(a+b*ArcTanh[c*x])^n/(2*c^2*d*(d+e*x^2)) -
+ b*n/(2*c)*Int[x*(a+b*ArcTanh[c*x])^(n-1)/(d+e*x^2)^2,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0
+
+
+Int[x_^2*(a_.+b_.*ArcCoth[c_.*x_])^n_./(d_+e_.*x_^2)^2,x_Symbol] :=
+ -(a+b*ArcCoth[c*x])^(n+1)/(2*b*c^3*d^2*(n+1)) +
+ x*(a+b*ArcCoth[c*x])^n/(2*c^2*d*(d+e*x^2)) -
+ b*n/(2*c)*Int[x*(a+b*ArcCoth[c*x])^(n-1)/(d+e*x^2)^2,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTanh[c_.*x_]),x_Symbol] :=
+ -b*x^m*(d+e*x^2)^(p+1)/(c*d*m^2) +
+ x^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])/(c^2*d*m) -
+ (m-1)/(c^2*d*m)*Int[x^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && EqQ[m+2*p+2] && RationalQ[p] && p<-1
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCoth[c_.*x_]),x_Symbol] :=
+ -b*x^m*(d+e*x^2)^(p+1)/(c*d*m^2) +
+ x^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])/(c^2*d*m) -
+ (m-1)/(c^2*d*m)*Int[x^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && EqQ[m+2*p+2] && RationalQ[p] && p<-1
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTanh[c_.*x_])^n_,x_Symbol] :=
+ -b*n*x^m*(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])^(n-1)/(c*d*m^2) +
+ x^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])^n/(c^2*d*m) +
+ b^2*n*(n-1)/m^2*Int[x^m*(d+e*x^2)^p*(a+b*ArcTanh[c*x])^(n-2),x] -
+ (m-1)/(c^2*d*m)*Int[x^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[c^2*d+e] && EqQ[m+2*p+2] && RationalQ[n,p] && p<-1 && n>1
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCoth[c_.*x_])^n_,x_Symbol] :=
+ -b*n*x^m*(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])^(n-1)/(c*d*m^2) +
+ x^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])^n/(c^2*d*m) +
+ b^2*n*(n-1)/m^2*Int[x^m*(d+e*x^2)^p*(a+b*ArcCoth[c*x])^(n-2),x] -
+ (m-1)/(c^2*d*m)*Int[x^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[c^2*d+e] && EqQ[m+2*p+2] && RationalQ[n,p] && p<-1 && n>1
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcTanh[c_.*x_])^n_,x_Symbol] :=
+ x^m*(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])^(n+1)/(b*c*d*(n+1)) -
+ m/(b*c*(n+1))*Int[x^(m-1)*(d+e*x^2)^p*(a+b*ArcTanh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && EqQ[c^2*d+e] && EqQ[m+2*p+2] && RationalQ[n] && n<-1
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCoth[c_.*x_])^n_,x_Symbol] :=
+ x^m*(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])^(n+1)/(b*c*d*(n+1)) -
+ m/(b*c*(n+1))*Int[x^(m-1)*(d+e*x^2)^p*(a+b*ArcCoth[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && EqQ[c^2*d+e] && EqQ[m+2*p+2] && RationalQ[n] && n<-1
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ x^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])^n/(d*(m+1)) -
+ b*c*n/(m+1)*Int[x^(m+1)*(d+e*x^2)^p*(a+b*ArcTanh[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && EqQ[c^2*d+e] && EqQ[m+2*p+3] && RationalQ[n] && n>0 && NeQ[m+1]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ x^(m+1)*(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])^n/(d*(m+1)) -
+ b*c*n/(m+1)*Int[x^(m+1)*(d+e*x^2)^p*(a+b*ArcCoth[c*x])^(n-1),x] /;
+FreeQ[{a,b,c,d,e,m,p},x] && EqQ[c^2*d+e] && EqQ[m+2*p+3] && RationalQ[n] && n>0 && NeQ[m+1]
+
+
+Int[x_^m_*Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcTanh[c_.*x_]),x_Symbol] :=
+ x^(m+1)*Sqrt[d+e*x^2]*(a+b*ArcTanh[c*x])/(m+2) -
+ b*c*d/(m+2)*Int[x^(m+1)/Sqrt[d+e*x^2],x] +
+ d/(m+2)*Int[x^m*(a+b*ArcTanh[c*x])/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[c^2*d+e] && NeQ[m+2]
+
+
+Int[x_^m_*Sqrt[d_+e_.*x_^2]*(a_.+b_.*ArcCoth[c_.*x_]),x_Symbol] :=
+ x^(m+1)*Sqrt[d+e*x^2]*(a+b*ArcCoth[c*x])/(m+2) -
+ b*c*d/(m+2)*Int[x^(m+1)/Sqrt[d+e*x^2],x] +
+ d/(m+2)*Int[x^m*(a+b*ArcCoth[c*x])/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[c^2*d+e] && NeQ[m+2]
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[x^m*(d+e*x^2)^p*(a+b*ArcTanh[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n] && IntegerQ[p] && p>1
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[x^m*(d+e*x^2)^p*(a+b*ArcCoth[c*x])^n,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n] && IntegerQ[p] && p>1
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ d*Int[x^m*(d+e*x^2)^(p-1)*(a+b*ArcTanh[c*x])^n,x] -
+ c^2*d*Int[x^(m+2)*(d+e*x^2)^(p-1)*(a+b*ArcTanh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[c^2*d+e] && RationalQ[p] && p>0 && PositiveIntegerQ[n] && (RationalQ[m] || EqQ[n,1] && IntegerQ[p])
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ d*Int[x^m*(d+e*x^2)^(p-1)*(a+b*ArcCoth[c*x])^n,x] -
+ c^2*d*Int[x^(m+2)*(d+e*x^2)^(p-1)*(a+b*ArcCoth[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[c^2*d+e] && RationalQ[p] && p>0 && PositiveIntegerQ[n] && (RationalQ[m] || EqQ[n,1] && IntegerQ[p])
+
+
+Int[x_^m_*(a_.+b_.*ArcTanh[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ -x^(m-1)*Sqrt[d+e*x^2]*(a+b*ArcTanh[c*x])^n/(c^2*d*m) +
+ b*n/(c*m)*Int[x^(m-1)*(a+b*ArcTanh[c*x])^(n-1)/Sqrt[d+e*x^2],x] +
+ (m-1)/(c^2*m)*Int[x^(m-2)*(a+b*ArcTanh[c*x])^n/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m>1
+
+
+Int[x_^m_*(a_.+b_.*ArcCoth[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ -x^(m-1)*Sqrt[d+e*x^2]*(a+b*ArcCoth[c*x])^n/(c^2*d*m) +
+ b*n/(c*m)*Int[x^(m-1)*(a+b*ArcCoth[c*x])^(n-1)/Sqrt[d+e*x^2],x] +
+ (m-1)/(c^2*m)*Int[x^(m-2)*(a+b*ArcCoth[c*x])^n/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m>1
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])/(x_*Sqrt[d_+e_.*x_^2]),x_Symbol] :=
+ -2/Sqrt[d]*(a+b*ArcTanh[c*x])*ArcTanh[Sqrt[1-c*x]/Sqrt[1+c*x]] +
+ b/Sqrt[d]*PolyLog[2,-Sqrt[1-c*x]/Sqrt[1+c*x]] -
+ b/Sqrt[d]*PolyLog[2,Sqrt[1-c*x]/Sqrt[1+c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])/(x_*Sqrt[d_+e_.*x_^2]),x_Symbol] :=
+ -2/Sqrt[d]*(a+b*ArcCoth[c*x])*ArcTanh[Sqrt[1-c*x]/Sqrt[1+c*x]] +
+ b/Sqrt[d]*PolyLog[2,-Sqrt[1-c*x]/Sqrt[1+c*x]] -
+ b/Sqrt[d]*PolyLog[2,Sqrt[1-c*x]/Sqrt[1+c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_/(x_*Sqrt[d_+e_.*x_^2]),x_Symbol] :=
+ 1/Sqrt[d]*Subst[Int[(a+b*x)^n*Csch[x],x],x,ArcTanh[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_/(x_*Sqrt[d_+e_.*x_^2]),x_Symbol] :=
+ -c*x*Sqrt[1-1/(c^2*x^2)]/Sqrt[d+e*x^2]*Subst[Int[(a+b*x)^n*Sech[x],x],x,ArcCoth[c*x]] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n] && PositiveQ[d]
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_./(x_*Sqrt[d_+e_.*x_^2]),x_Symbol] :=
+ Sqrt[1-c^2*x^2]/Sqrt[d+e*x^2]*Int[(a+b*ArcTanh[c*x])^n/(x*Sqrt[1-c^2*x^2]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n] && Not[PositiveQ[d]]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_./(x_*Sqrt[d_+e_.*x_^2]),x_Symbol] :=
+ Sqrt[1-c^2*x^2]/Sqrt[d+e*x^2]*Int[(a+b*ArcCoth[c*x])^n/(x*Sqrt[1-c^2*x^2]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && PositiveIntegerQ[n] && Not[PositiveQ[d]]
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_./(x_^2*Sqrt[d_+e_.*x_^2]),x_Symbol] :=
+ -Sqrt[d+e*x^2]*(a+b*ArcTanh[c*x])^n/(d*x) +
+ b*c*n*Int[(a+b*ArcTanh[c*x])^(n-1)/(x*Sqrt[d+e*x^2]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_./(x_^2*Sqrt[d_+e_.*x_^2]),x_Symbol] :=
+ -Sqrt[d+e*x^2]*(a+b*ArcCoth[c*x])^n/(d*x) +
+ b*c*n*Int[(a+b*ArcCoth[c*x])^(n-1)/(x*Sqrt[d+e*x^2]),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0
+
+
+Int[x_^m_*(a_.+b_.*ArcTanh[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ x^(m+1)*Sqrt[d+e*x^2]*(a+b*ArcTanh[c*x])^n/(d*(m+1)) -
+ b*c*n/(m+1)*Int[x^(m+1)*(a+b*ArcTanh[c*x])^(n-1)/Sqrt[d+e*x^2],x] +
+ c^2*(m+2)/(m+1)*Int[x^(m+2)*(a+b*ArcTanh[c*x])^n/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m<-1 && m!=-2
+
+
+Int[x_^m_*(a_.+b_.*ArcCoth[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] :=
+ x^(m+1)*Sqrt[d+e*x^2]*(a+b*ArcCoth[c*x])^n/(d*(m+1)) -
+ b*c*n/(m+1)*Int[x^(m+1)*(a+b*ArcCoth[c*x])^(n-1)/Sqrt[d+e*x^2],x] +
+ c^2*(m+2)/(m+1)*Int[x^(m+2)*(a+b*ArcCoth[c*x])^n/Sqrt[d+e*x^2],x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[m,n] && n>0 && m<-1 && m!=-2
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ 1/e*Int[x^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])^n,x] -
+ d/e*Int[x^(m-2)*(d+e*x^2)^p*(a+b*ArcTanh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && IntegersQ[m,n,2*p] && p<-1 && m>1 && n!=-1
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ 1/e*Int[x^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])^n,x] -
+ d/e*Int[x^(m-2)*(d+e*x^2)^p*(a+b*ArcCoth[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && IntegersQ[m,n,2*p] && p<-1 && m>1 && n!=-1
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ 1/d*Int[x^m*(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])^n,x] -
+ e/d*Int[x^(m+2)*(d+e*x^2)^p*(a+b*ArcTanh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && IntegersQ[m,n,2*p] && p<-1 && m<0 && n!=-1
+
+
+Int[x_^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ 1/d*Int[x^m*(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])^n,x] -
+ e/d*Int[x^(m+2)*(d+e*x^2)^p*(a+b*ArcCoth[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && IntegersQ[m,n,2*p] && p<-1 && m<0 && n!=-1
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ x^m*(d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])^(n+1)/(b*c*d*(n+1)) -
+ m/(b*c*(n+1))*Int[x^(m-1)*(d+e*x^2)^p*(a+b*ArcTanh[c*x])^(n+1),x] +
+ c*(m+2*p+2)/(b*(n+1))*Int[x^(m+1)*(d+e*x^2)^p*(a+b*ArcTanh[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[m,n,p] && p<-1 && n<-1 && NeQ[m+2*p+2]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ x^m*(d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])^(n+1)/(b*c*d*(n+1)) -
+ m/(b*c*(n+1))*Int[x^(m-1)*(d+e*x^2)^p*(a+b*ArcCoth[c*x])^(n+1),x] +
+ c*(m+2*p+2)/(b*(n+1))*Int[x^(m+1)*(d+e*x^2)^p*(a+b*ArcCoth[c*x])^(n+1),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[m,n,p] && p<-1 && n<-1 && NeQ[m+2*p+2]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ d^p/c^(m+1)*Subst[Int[(a+b*x)^n*Sinh[x]^m/Cosh[x]^(m+2*(p+1)),x],x,ArcTanh[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && PositiveIntegerQ[m] && NegativeIntegerQ[m+2*p+1] && (IntegerQ[p] || PositiveQ[d])
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ d^(p+1/2)*Sqrt[1-c^2*x^2]/Sqrt[d+e*x^2]*Int[x^m*(1-c^2*x^2)^p*(a+b*ArcTanh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && PositiveIntegerQ[m] && NegativeIntegerQ[m+2*p+1] && Not[IntegerQ[p] || PositiveQ[d]]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ -(-d)^p/c^(m+1)*Subst[Int[(a+b*x)^n*Cosh[x]^m/Sinh[x]^(m+2*(p+1)),x],x,ArcCoth[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && PositiveIntegerQ[m] && NegativeIntegerQ[m+2*p+1] && IntegerQ[p]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ -(-d)^(p+1/2)*x*Sqrt[(c^2*x^2-1)/(c^2*x^2)]/(c^m*Sqrt[d+e*x^2])*Subst[Int[(a+b*x)^n*Cosh[x]^m/Sinh[x]^(m+2*(p+1)),x],x,ArcCoth[c*x]] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && PositiveIntegerQ[m] && NegativeIntegerQ[m+2*p+1] && Not[IntegerQ[p]]
+
+
+Int[x_*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcTanh[c_.*x_]),x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcTanh[c*x])/(2*e*(p+1)) -
+ b*c/(2*e*(p+1))*Int[(d+e*x^2)^(p+1)/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[p+1]
+
+
+Int[x_*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCoth[c_.*x_]),x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcCoth[c*x])/(2*e*(p+1)) -
+ b*c/(2*e*(p+1))*Int[(d+e*x^2)^(p+1)/(1-c^2*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[p+1]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcTanh[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[x^m*(d+e*x^2)^p,x]},
+ Dist[a+b*ArcTanh[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/(1-c^2*x^2),x],x]] /;
+FreeQ[{a,b,c,d,e,m,p},x] && (
+ PositiveIntegerQ[p] && Not[NegativeIntegerQ[(m-1)/2] && m+2*p+3>0] ||
+ PositiveIntegerQ[(m+1)/2] && Not[NegativeIntegerQ[p] && m+2*p+3>0] ||
+ NegativeIntegerQ[(m+2*p+1)/2] && Not[NegativeIntegerQ[(m-1)/2]] )
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCoth[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[x^m*(d+e*x^2)^p,x]},
+ Dist[a+b*ArcCoth[c*x],u,x] - b*c*Int[SimplifyIntegrand[u/(1-c^2*x^2),x],x]] /;
+FreeQ[{a,b,c,d,e,m,p},x] && (
+ PositiveIntegerQ[p] && Not[NegativeIntegerQ[(m-1)/2] && m+2*p+3>0] ||
+ PositiveIntegerQ[(m+1)/2] && Not[NegativeIntegerQ[p] && m+2*p+3>0] ||
+ NegativeIntegerQ[(m+2*p+1)/2] && Not[NegativeIntegerQ[(m-1)/2]] )
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcTanh[c*x])^n,x^m*(d+e*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && IntegerQ[p] && PositiveIntegerQ[n] && (p>0 || p<-1 && IntegerQ[m] && m!=1)
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ Int[ExpandIntegrand[(a+b*ArcCoth[c*x])^n,x^m*(d+e*x^2)^p,x],x] /;
+FreeQ[{a,b,c,d,e,m},x] && IntegerQ[p] && PositiveIntegerQ[n] && (p>0 || p<-1 && IntegerQ[m] && m!=1)
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_+b_.*ArcTanh[c_.*x_]),x_Symbol] :=
+ a*Int[x^m*(d+e*x^2)^p,x] + b*Int[x^m*(d+e*x^2)^p*ArcTanh[c*x],x] /;
+FreeQ[{a,b,c,d,e,m,p},x]
+
+
+Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_+b_.*ArcCoth[c_.*x_]),x_Symbol] :=
+ a*Int[x^m*(d+e*x^2)^p,x] + b*Int[x^m*(d+e*x^2)^p*ArcCoth[c*x],x] /;
+FreeQ[{a,b,c,d,e,m,p},x]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcTanh[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][x^m*(d+e*x^2)^p*(a+b*ArcTanh[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCoth[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][x^m*(d+e*x^2)^p*(a+b*ArcCoth[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[ArcTanh[u_]*(a_.+b_.*ArcTanh[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/2*Int[Log[1+u]*(a+b*ArcTanh[c*x])^n/(d+e*x^2),x] -
+ 1/2*Int[Log[1-u]*(a+b*ArcTanh[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[u^2-(1-2/(1+c*x))^2]
+
+
+Int[ArcCoth[u_]*(a_.+b_.*ArcCoth[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/2*Int[Log[SimplifyIntegrand[1+1/u,x]]*(a+b*ArcCoth[c*x])^n/(d+e*x^2),x] -
+ 1/2*Int[Log[SimplifyIntegrand[1-1/u,x]]*(a+b*ArcCoth[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[u^2-(1-2/(1+c*x))^2]
+
+
+Int[ArcTanh[u_]*(a_.+b_.*ArcTanh[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/2*Int[Log[1+u]*(a+b*ArcTanh[c*x])^n/(d+e*x^2),x] -
+ 1/2*Int[Log[1-u]*(a+b*ArcTanh[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[u^2-(1-2/(1-c*x))^2]
+
+
+Int[ArcCoth[u_]*(a_.+b_.*ArcCoth[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ 1/2*Int[Log[SimplifyIntegrand[1+1/u,x]]*(a+b*ArcCoth[c*x])^n/(d+e*x^2),x] -
+ 1/2*Int[Log[SimplifyIntegrand[1-1/u,x]]*(a+b*ArcCoth[c*x])^n/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[u^2-(1-2/(1-c*x))^2]
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_.*Log[u_]/(d_+e_.*x_^2),x_Symbol] :=
+ (a+b*ArcTanh[c*x])^n*PolyLog[2,Together[1-u]]/(2*c*d) -
+ b*n/2*Int[(a+b*ArcTanh[c*x])^(n-1)*PolyLog[2,Together[1-u]]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[(1-u)^2-(1-2/(1+c*x))^2]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_.*Log[u_]/(d_+e_.*x_^2),x_Symbol] :=
+ (a+b*ArcCoth[c*x])^n*PolyLog[2,Together[1-u]]/(2*c*d) -
+ b*n/2*Int[(a+b*ArcCoth[c*x])^(n-1)*PolyLog[2,Together[1-u]]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[(1-u)^2-(1-2/(1+c*x))^2]
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_.*Log[u_]/(d_+e_.*x_^2),x_Symbol] :=
+ -(a+b*ArcTanh[c*x])^n*PolyLog[2,Together[1-u]]/(2*c*d) +
+ b*n/2*Int[(a+b*ArcTanh[c*x])^(n-1)*PolyLog[2,Together[1-u]]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[(1-u)^2-(1-2/(1-c*x))^2]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_.*Log[u_]/(d_+e_.*x_^2),x_Symbol] :=
+ -(a+b*ArcCoth[c*x])^n*PolyLog[2,Together[1-u]]/(2*c*d) +
+ b*n/2*Int[(a+b*ArcCoth[c*x])^(n-1)*PolyLog[2,Together[1-u]]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[(1-u)^2-(1-2/(1-c*x))^2]
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_.*PolyLog[p_,u_]/(d_+e_.*x_^2),x_Symbol] :=
+ -(a+b*ArcTanh[c*x])^n*PolyLog[p+1,u]/(2*c*d) +
+ b*n/2*Int[(a+b*ArcTanh[c*x])^(n-1)*PolyLog[p+1,u]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[u^2-(1-2/(1+c*x))^2]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_.*PolyLog[p_,u_]/(d_+e_.*x_^2),x_Symbol] :=
+ -(a+b*ArcCoth[c*x])^n*PolyLog[p+1,u]/(2*c*d) +
+ b*n/2*Int[(a+b*ArcCoth[c*x])^(n-1)*PolyLog[p+1,u]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[u^2-(1-2/(1+c*x))^2]
+
+
+Int[(a_.+b_.*ArcTanh[c_.*x_])^n_.*PolyLog[p_,u_]/(d_+e_.*x_^2),x_Symbol] :=
+ (a+b*ArcTanh[c*x])^n*PolyLog[p+1,u]/(2*c*d) -
+ b*n/2*Int[(a+b*ArcTanh[c*x])^(n-1)*PolyLog[p+1,u]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[u^2-(1-2/(1-c*x))^2]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^n_.*PolyLog[p_,u_]/(d_+e_.*x_^2),x_Symbol] :=
+ (a+b*ArcCoth[c*x])^n*PolyLog[p+1,u]/(2*c*d) -
+ b*n/2*Int[(a+b*ArcCoth[c*x])^(n-1)*PolyLog[p+1,u]/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e,p},x] && EqQ[c^2*d+e] && RationalQ[n] && n>0 && EqQ[u^2-(1-2/(1-c*x))^2]
+
+
+Int[1/((d_+e_.*x_^2)*(a_.+b_.*ArcCoth[c_.*x_])*(a_.+b_.*ArcTanh[c_.*x_])),x_Symbol] :=
+ (-Log[a+b*ArcCoth[c*x]]+Log[a+b*ArcTanh[c*x]])/(b^2*c*d*(ArcCoth[c*x]-ArcTanh[c*x])) /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e]
+
+
+Int[(a_.+b_.*ArcCoth[c_.*x_])^m_.*(a_.+b_.*ArcTanh[c_.*x_])^n_./(d_+e_.*x_^2),x_Symbol] :=
+ (a+b*ArcCoth[c*x])^(m+1)*(a+b*ArcTanh[c*x])^n/(b*c*d*(m+1)) -
+ n/(m+1)*Int[(a+b*ArcCoth[c*x])^(m+1)*(a+b*ArcTanh[c*x])^(n-1)/(d+e*x^2),x] /;
+FreeQ[{a,b,c,d,e},x] && EqQ[c^2*d+e] && IntegersQ[m,n] && 00
+
+
+Int[x_^m_.*ArcCoth[a_.+b_.*f_^(c_.+d_.*x_)],x_Symbol] :=
+ 1/2*Int[x^m*Log[1+1/(a+b*f^(c+d*x))],x] -
+ 1/2*Int[x^m*Log[1-1/(a+b*f^(c+d*x))],x] /;
+FreeQ[{a,b,c,d,f},x] && IntegerQ[m] && m>0
+
+
+Int[u_.*ArcTanh[c_./(a_.+b_.*x_^n_.)]^m_.,x_Symbol] :=
+ Int[u*ArcCoth[a/c+b*x^n/c]^m,x] /;
+FreeQ[{a,b,c,n,m},x]
+
+
+Int[u_.*ArcCoth[c_./(a_.+b_.*x_^n_.)]^m_.,x_Symbol] :=
+ Int[u*ArcTanh[a/c+b*x^n/c]^m,x] /;
+FreeQ[{a,b,c,n,m},x]
+
+
+Int[1/(Sqrt[a_.+b_.*x_^2]*ArcTanh[c_.*x_/Sqrt[a_.+b_.*x_^2]]),x_Symbol] :=
+ 1/c*Log[ArcTanh[c*x/Sqrt[a+b*x^2]]] /;
+FreeQ[{a,b,c},x] && EqQ[b-c^2]
+
+
+Int[1/(Sqrt[a_.+b_.*x_^2]*ArcCoth[c_.*x_/Sqrt[a_.+b_.*x_^2]]),x_Symbol] :=
+ -1/c*Log[ArcCoth[c*x/Sqrt[a+b*x^2]]] /;
+FreeQ[{a,b,c},x] && EqQ[b-c^2]
+
+
+Int[ArcTanh[c_.*x_/Sqrt[a_.+b_.*x_^2]]^m_./Sqrt[a_.+b_.*x_^2],x_Symbol] :=
+ ArcTanh[c*x/Sqrt[a+b*x^2]]^(m+1)/(c*(m+1)) /;
+FreeQ[{a,b,c,m},x] && EqQ[b-c^2] && NeQ[m+1]
+
+
+Int[ArcCoth[c_.*x_/Sqrt[a_.+b_.*x_^2]]^m_./Sqrt[a_.+b_.*x_^2],x_Symbol] :=
+ -ArcCoth[c*x/Sqrt[a+b*x^2]]^(m+1)/(c*(m+1)) /;
+FreeQ[{a,b,c,m},x] && EqQ[b-c^2] && NeQ[m+1]
+
+
+Int[ArcTanh[c_.*x_/Sqrt[a_.+b_.*x_^2]]^m_./Sqrt[d_.+e_.*x_^2],x_Symbol] :=
+ Sqrt[a+b*x^2]/Sqrt[d+e*x^2]*Int[ArcTanh[c*x/Sqrt[a+b*x^2]]^m/Sqrt[a+b*x^2],x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[b-c^2] && EqQ[b*d-a*e]
+
+
+Int[ArcCoth[c_.*x_/Sqrt[a_.+b_.*x_^2]]^m_./Sqrt[d_.+e_.*x_^2],x_Symbol] :=
+ Sqrt[a+b*x^2]/Sqrt[d+e*x^2]*Int[ArcCoth[c*x/Sqrt[a+b*x^2]]^m/Sqrt[a+b*x^2],x] /;
+FreeQ[{a,b,c,d,e,m},x] && EqQ[b-c^2] && EqQ[b*d-a*e]
+
+
+Int[(c_.+d_.*x_^2)^n_*ArcTanh[a_.*x_],x_Symbol] :=
+ With[{u=IntHide[(c+d*x^2)^n,x]},
+ Dist[ArcTanh[a*x],u,x] -
+ a*Int[Dist[1/(1-a^2*x^2),u,x],x]] /;
+FreeQ[{a,c,d},x] && IntegerQ[2*n] && n<=-1
+
+
+Int[(c_.+d_.*x_^2)^n_*ArcCoth[a_.*x_],x_Symbol] :=
+ With[{u=IntHide[(c+d*x^2)^n,x]},
+ Dist[ArcCoth[a*x],u,x] -
+ a*Int[Dist[1/(1-a^2*x^2),u,x],x]] /;
+FreeQ[{a,c,d},x] && IntegerQ[2*n] && n<=-1
+
+
+If[ShowSteps,
+
+Int[u_*v_^n_.,x_Symbol] :=
+ With[{tmp=InverseFunctionOfLinear[u,x]},
+ ShowStep["","Int[f[x,ArcTanh[a+b*x]]/(1-(a+b*x)^2),x]",
+ "Subst[Int[f[-a/b+Tanh[x]/b,x],x],x,ArcTanh[a+b*x]]/b",Hold[
+ (-Discriminant[v,x]/(4*Coefficient[v,x,2]))^n/Coefficient[tmp[[1]],x,1]*
+ Subst[Int[SimplifyIntegrand[SubstForInverseFunction[u,tmp,x]*Sech[x]^(2*(n+1)),x],x], x, tmp]]] /;
+ Not[FalseQ[tmp]] && Head[tmp]===ArcTanh && EqQ[Discriminant[v,x]*tmp[[1]]^2-D[v,x]^2]] /;
+SimplifyFlag && QuadraticQ[v,x] && IntegerQ[n] && n<0 && PosQ[Discriminant[v,x]] && MatchQ[u,r_.*f_^w_ /; FreeQ[f,x]],
+
+Int[u_*v_^n_.,x_Symbol] :=
+ With[{tmp=InverseFunctionOfLinear[u,x]},
+ (-Discriminant[v,x]/(4*Coefficient[v,x,2]))^n/Coefficient[tmp[[1]],x,1]*
+ Subst[Int[SimplifyIntegrand[SubstForInverseFunction[u,tmp,x]*Sech[x]^(2*(n+1)),x],x], x, tmp] /;
+ Not[FalseQ[tmp]] && Head[tmp]===ArcTanh && EqQ[Discriminant[v,x]*tmp[[1]]^2-D[v,x]^2]] /;
+QuadraticQ[v,x] && IntegerQ[n] && n<0 && PosQ[Discriminant[v,x]] && MatchQ[u,r_.*f_^w_ /; FreeQ[f,x]]]
+
+
+If[ShowSteps,
+
+Int[u_*v_^n_.,x_Symbol] :=
+ With[{tmp=InverseFunctionOfLinear[u,x]},
+ ShowStep["","Int[f[x,ArcCoth[a+b*x]]/(1-(a+b*x)^2),x]",
+ "Subst[Int[f[-a/b+Coth[x]/b,x],x],x,ArcCoth[a+b*x]]/b",Hold[
+ (-Discriminant[v,x]/(4*Coefficient[v,x,2]))^n/Coefficient[tmp[[1]],x,1]*
+ Subst[Int[SimplifyIntegrand[SubstForInverseFunction[u,tmp,x]*(-Csch[x]^2)^(n+1),x],x], x, tmp]]] /;
+ Not[FalseQ[tmp]] && Head[tmp]===ArcCoth && EqQ[Discriminant[v,x]*tmp[[1]]^2-D[v,x]^2]] /;
+SimplifyFlag && QuadraticQ[v,x] && IntegerQ[n] && n<0 && PosQ[Discriminant[v,x]] && MatchQ[u,r_.*f_^w_ /; FreeQ[f,x]],
+
+Int[u_*v_^n_.,x_Symbol] :=
+ With[{tmp=InverseFunctionOfLinear[u,x]},
+ (-Discriminant[v,x]/(4*Coefficient[v,x,2]))^n/Coefficient[tmp[[1]],x,1]*
+ Subst[Int[SimplifyIntegrand[SubstForInverseFunction[u,tmp,x]*(-Csch[x]^2)^(n+1),x],x], x, tmp] /;
+ Not[FalseQ[tmp]] && Head[tmp]===ArcCoth && EqQ[Discriminant[v,x]*tmp[[1]]^2-D[v,x]^2]] /;
+QuadraticQ[v,x] && IntegerQ[n] && n<0 && PosQ[Discriminant[v,x]] && MatchQ[u,r_.*f_^w_ /; FreeQ[f,x]]]
+
+
+Int[ArcTanh[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTanh[c+d*Tanh[a+b*x]] +
+ b*Int[x/(c-d+c*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[(c-d)^2-1]
+
+
+Int[ArcCoth[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCoth[c+d*Tanh[a+b*x]] +
+ b*Int[x/(c-d+c*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[(c-d)^2-1]
+
+
+Int[ArcTanh[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTanh[c+d*Coth[a+b*x]] +
+ b*Int[x/(c-d-c*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[(c-d)^2-1]
+
+
+Int[ArcCoth[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCoth[c+d*Coth[a+b*x]] +
+ b*Int[x/(c-d-c*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[(c-d)^2-1]
+
+
+Int[ArcTanh[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTanh[c+d*Tanh[a+b*x]] +
+ b*(1-c-d)*Int[x*E^(2*a+2*b*x)/(1-c+d+(1-c-d)*E^(2*a+2*b*x)),x] -
+ b*(1+c+d)*Int[x*E^(2*a+2*b*x)/(1+c-d+(1+c+d)*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[(c-d)^2-1]
+
+
+Int[ArcCoth[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCoth[c+d*Tanh[a+b*x]] +
+ b*(1-c-d)*Int[x*E^(2*a+2*b*x)/(1-c+d+(1-c-d)*E^(2*a+2*b*x)),x] -
+ b*(1+c+d)*Int[x*E^(2*a+2*b*x)/(1+c-d+(1+c+d)*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[(c-d)^2-1]
+
+
+Int[ArcTanh[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTanh[c+d*Coth[a+b*x]] +
+ b*(1+c+d)*Int[x*E^(2*a+2*b*x)/(1+c-d-(1+c+d)*E^(2*a+2*b*x)),x] -
+ b*(1-c-d)*Int[x*E^(2*a+2*b*x)/(1-c+d-(1-c-d)*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[(c-d)^2-1]
+
+
+Int[ArcCoth[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCoth[c+d*Coth[a+b*x]] +
+ b*(1+c+d)*Int[x*E^(2*a+2*b*x)/(1+c-d-(1+c+d)*E^(2*a+2*b*x)),x] -
+ b*(1-c-d)*Int[x*E^(2*a+2*b*x)/(1-c+d-(1-c-d)*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[(c-d)^2-1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTanh[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTanh[c+d*Tanh[a+b*x]]/(f*(m+1)) +
+ b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-d+c*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && EqQ[(c-d)^2-1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCoth[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCoth[c+d*Tanh[a+b*x]]/(f*(m+1)) +
+ b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-d+c*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && EqQ[(c-d)^2-1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTanh[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTanh[c+d*Coth[a+b*x]]/(f*(m+1)) +
+ b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-d-c*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && EqQ[(c-d)^2-1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCoth[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCoth[c+d*Coth[a+b*x]]/(f*(m+1)) +
+ b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-d-c*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && EqQ[(c-d)^2-1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTanh[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTanh[c+d*Tanh[a+b*x]]/(f*(m+1)) +
+ b*(1-c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(1-c+d+(1-c-d)*E^(2*a+2*b*x)),x] -
+ b*(1+c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(1+c-d+(1+c+d)*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NeQ[(c-d)^2-1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCoth[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCoth[c+d*Tanh[a+b*x]]/(f*(m+1)) +
+ b*(1-c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(1-c+d+(1-c-d)*E^(2*a+2*b*x)),x] -
+ b*(1+c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(1+c-d+(1+c+d)*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NeQ[(c-d)^2-1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTanh[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTanh[c+d*Coth[a+b*x]]/(f*(m+1)) +
+ b*(1+c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(1+c-d-(1+c+d)*E^(2*a+2*b*x)),x] -
+ b*(1-c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(1-c+d-(1-c-d)*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NeQ[(c-d)^2-1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCoth[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCoth[c+d*Coth[a+b*x]]/(f*(m+1)) +
+ b*(1+c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(1+c-d-(1+c+d)*E^(2*a+2*b*x)),x] -
+ b*(1-c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(1-c+d-(1-c-d)*E^(2*a+2*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NeQ[(c-d)^2-1]
+
+
+Int[ArcTanh[Tan[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTanh[Tan[a+b*x]] - b*Int[x*Sec[2*a+2*b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[ArcCoth[Tan[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCoth[Tan[a+b*x]] - b*Int[x*Sec[2*a+2*b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[ArcTanh[Cot[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTanh[Cot[a+b*x]] - b*Int[x*Sec[2*a+2*b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[ArcCoth[Cot[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCoth[Cot[a+b*x]] - b*Int[x*Sec[2*a+2*b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTanh[Tan[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTanh[Tan[a+b*x]]/(f*(m+1)) - b/(f*(m+1))*Int[(e+f*x)^(m+1)*Sec[2*a+2*b*x],x] /;
+FreeQ[{a,b,e,f},x] && PositiveIntegerQ[m]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCoth[Tan[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCoth[Tan[a+b*x]]/(f*(m+1)) - b/(f*(m+1))*Int[(e+f*x)^(m+1)*Sec[2*a+2*b*x],x] /;
+FreeQ[{a,b,e,f},x] && PositiveIntegerQ[m]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTanh[Cot[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTanh[Cot[a+b*x]]/(f*(m+1)) - b/(f*(m+1))*Int[(e+f*x)^(m+1)*Sec[2*a+2*b*x],x] /;
+FreeQ[{a,b,e,f},x] && PositiveIntegerQ[m]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCoth[Cot[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCoth[Cot[a+b*x]]/(f*(m+1)) - b/(f*(m+1))*Int[(e+f*x)^(m+1)*Sec[2*a+2*b*x],x] /;
+FreeQ[{a,b,e,f},x] && PositiveIntegerQ[m]
+
+
+Int[ArcTanh[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTanh[c+d*Tan[a+b*x]] +
+ I*b*Int[x/(c+I*d+c*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[(c+I*d)^2-1]
+
+
+Int[ArcCoth[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCoth[c+d*Tan[a+b*x]] +
+ I*b*Int[x/(c+I*d+c*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[(c+I*d)^2-1]
+
+
+Int[ArcTanh[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTanh[c+d*Cot[a+b*x]] +
+ I*b*Int[x/(c-I*d-c*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[(c-I*d)^2-1]
+
+
+Int[ArcCoth[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCoth[c+d*Cot[a+b*x]] +
+ I*b*Int[x/(c-I*d-c*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && EqQ[(c-I*d)^2-1]
+
+
+Int[ArcTanh[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTanh[c+d*Tan[a+b*x]] +
+ I*b*(1-c+I*d)*Int[x*E^(2*I*a+2*I*b*x)/(1-c-I*d+(1-c+I*d)*E^(2*I*a+2*I*b*x)),x] -
+ I*b*(1+c-I*d)*Int[x*E^(2*I*a+2*I*b*x)/(1+c+I*d+(1+c-I*d)*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[(c+I*d)^2-1]
+
+
+Int[ArcCoth[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCoth[c+d*Tan[a+b*x]] +
+ I*b*(1-c+I*d)*Int[x*E^(2*I*a+2*I*b*x)/(1-c-I*d+(1-c+I*d)*E^(2*I*a+2*I*b*x)),x] -
+ I*b*(1+c-I*d)*Int[x*E^(2*I*a+2*I*b*x)/(1+c+I*d+(1+c-I*d)*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[(c+I*d)^2-1]
+
+
+Int[ArcTanh[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcTanh[c+d*Cot[a+b*x]] -
+ I*b*(1-c-I*d)*Int[x*E^(2*I*a+2*I*b*x)/(1-c+I*d-(1-c-I*d)*E^(2*I*a+2*I*b*x)),x] +
+ I*b*(1+c+I*d)*Int[x*E^(2*I*a+2*I*b*x)/(1+c-I*d-(1+c+I*d)*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[(c-I*d)^2-1]
+
+
+Int[ArcCoth[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
+ x*ArcCoth[c+d*Cot[a+b*x]] -
+ I*b*(1-c-I*d)*Int[x*E^(2*I*a+2*I*b*x)/(1-c+I*d-(1-c-I*d)*E^(2*I*a+2*I*b*x)),x] +
+ I*b*(1+c+I*d)*Int[x*E^(2*I*a+2*I*b*x)/(1+c-I*d-(1+c+I*d)*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d},x] && NeQ[(c-I*d)^2-1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTanh[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTanh[c+d*Tan[a+b*x]]/(f*(m+1)) +
+ I*b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c+I*d+c*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && EqQ[(c+I*d)^2-1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCoth[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCoth[c+d*Tan[a+b*x]]/(f*(m+1)) +
+ I*b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c+I*d+c*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && EqQ[(c+I*d)^2-1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTanh[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTanh[c+d*Cot[a+b*x]]/(f*(m+1)) +
+ I*b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-I*d-c*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && EqQ[(c-I*d)^2-1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCoth[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCoth[c+d*Cot[a+b*x]]/(f*(m+1)) +
+ I*b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-I*d-c*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && EqQ[(c-I*d)^2-1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTanh[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTanh[c+d*Tan[a+b*x]]/(f*(m+1)) +
+ I*b*(1-c+I*d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1-c-I*d+(1-c+I*d)*E^(2*I*a+2*I*b*x)),x] -
+ I*b*(1+c-I*d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1+c+I*d+(1+c-I*d)*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NeQ[(c+I*d)^2-1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCoth[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCoth[c+d*Tan[a+b*x]]/(f*(m+1)) +
+ I*b*(1-c+I*d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1-c-I*d+(1-c+I*d)*E^(2*I*a+2*I*b*x)),x] -
+ I*b*(1+c-I*d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1+c+I*d+(1+c-I*d)*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NeQ[(c+I*d)^2-1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcTanh[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcTanh[c+d*Cot[a+b*x]]/(f*(m+1)) -
+ I*b*(1-c-I*d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1-c+I*d-(1-c-I*d)*E^(2*I*a+2*I*b*x)),x] +
+ I*b*(1+c+I*d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1+c-I*d-(1+c+I*d)*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NeQ[(c-I*d)^2-1]
+
+
+Int[(e_.+f_.*x_)^m_.*ArcCoth[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
+ (e+f*x)^(m+1)*ArcCoth[c+d*Cot[a+b*x]]/(f*(m+1)) -
+ I*b*(1-c-I*d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1-c+I*d-(1-c-I*d)*E^(2*I*a+2*I*b*x)),x] +
+ I*b*(1+c+I*d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1+c-I*d-(1+c+I*d)*E^(2*I*a+2*I*b*x)),x] /;
+FreeQ[{a,b,c,d,e,f},x] && PositiveIntegerQ[m] && NeQ[(c-I*d)^2-1]
+
+
+Int[ArcTanh[u_],x_Symbol] :=
+ x*ArcTanh[u] -
+ Int[SimplifyIntegrand[x*D[u,x]/(1-u^2),x],x] /;
+InverseFunctionFreeQ[u,x]
+
+
+Int[ArcCoth[u_],x_Symbol] :=
+ x*ArcCoth[u] -
+ Int[SimplifyIntegrand[x*D[u,x]/(1-u^2),x],x] /;
+InverseFunctionFreeQ[u,x]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_.+b_.*ArcTanh[u_]),x_Symbol] :=
+ (c+d*x)^(m+1)*(a+b*ArcTanh[u])/(d*(m+1)) -
+ b/(d*(m+1))*Int[SimplifyIntegrand[(c+d*x)^(m+1)*D[u,x]/(1-u^2),x],x] /;
+FreeQ[{a,b,c,d,m},x] && NeQ[m+1] && InverseFunctionFreeQ[u,x] && Not[FunctionOfQ[(c+d*x)^(m+1),u,x]] && FalseQ[PowerVariableExpn[u,m+1,x]]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_.+b_.*ArcCoth[u_]),x_Symbol] :=
+ (c+d*x)^(m+1)*(a+b*ArcCoth[u])/(d*(m+1)) -
+ b/(d*(m+1))*Int[SimplifyIntegrand[(c+d*x)^(m+1)*D[u,x]/(1-u^2),x],x] /;
+FreeQ[{a,b,c,d,m},x] && NeQ[m+1] && InverseFunctionFreeQ[u,x] && Not[FunctionOfQ[(c+d*x)^(m+1),u,x]] && FalseQ[PowerVariableExpn[u,m+1,x]]
+
+
+Int[v_*(a_.+b_.*ArcTanh[u_]),x_Symbol] :=
+ With[{w=IntHide[v,x]},
+ Dist[(a+b*ArcTanh[u]),w,x] - b*Int[SimplifyIntegrand[w*D[u,x]/(1-u^2),x],x] /;
+ InverseFunctionFreeQ[w,x]] /;
+FreeQ[{a,b},x] && InverseFunctionFreeQ[u,x] && Not[MatchQ[v, (c_.+d_.*x)^m_. /; FreeQ[{c,d,m},x]]] && FalseQ[FunctionOfLinear[v*(a+b*ArcTanh[u]),x]]
+
+
+Int[v_*(a_.+b_.*ArcCoth[u_]),x_Symbol] :=
+ With[{w=IntHide[v,x]},
+ Dist[(a+b*ArcCoth[u]),w,x] - b*Int[SimplifyIntegrand[w*D[u,x]/(1-u^2),x],x] /;
+ InverseFunctionFreeQ[w,x]] /;
+FreeQ[{a,b},x] && InverseFunctionFreeQ[u,x] && Not[MatchQ[v, (c_.+d_.*x)^m_. /; FreeQ[{c,d,m},x]]] && FalseQ[FunctionOfLinear[v*(a+b*ArcCoth[u]),x]]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*7.3.1 Miscellaneous inverse hyperbolic secant*)
+
+
+Int[ArcSech[c_.*x_],x_Symbol] :=
+ x*ArcSech[c*x] + Sqrt[1+c*x]*Sqrt[1/(1+c*x)]*Int[1/(Sqrt[1-c*x]*Sqrt[1+c*x]),x] /;
+FreeQ[c,x]
+
+
+Int[ArcCsch[c_.*x_],x_Symbol] :=
+ x*ArcCsch[c*x] + 1/c*Int[1/(x*Sqrt[1+1/(c^2*x^2)]),x] /;
+FreeQ[c,x]
+
+
+Int[(a_.+b_.*ArcSech[c_.*x_])^n_,x_Symbol] :=
+ -1/c*Subst[Int[(a+b*x)^n*Sech[x]*Tanh[x],x],x,ArcSech[c*x]] /;
+FreeQ[{a,b,c,n},x]
+
+
+Int[(a_.+b_.*ArcCsch[c_.*x_])^n_,x_Symbol] :=
+ -1/c*Subst[Int[(a+b*x)^n*Csch[x]*Coth[x],x],x,ArcCsch[c*x]] /;
+FreeQ[{a,b,c,n},x]
+
+
+Int[(a_.+b_.*ArcSech[c_.*x_])/x_,x_Symbol] :=
+ -Subst[Int[(a+b*ArcCosh[x/c])/x,x],x,1/x] /;
+FreeQ[{a,b,c},x]
+
+
+Int[(a_.+b_.*ArcCsch[c_.*x_])/x_,x_Symbol] :=
+ -Subst[Int[(a+b*ArcSinh[x/c])/x,x],x,1/x] /;
+FreeQ[{a,b,c},x]
+
+
+Int[x_^m_.*(a_.+b_.*ArcSech[c_.*x_]),x_Symbol] :=
+ x^(m+1)*(a+b*ArcSech[c*x])/(m+1) +
+ b*Sqrt[1+c*x]/(m+1)*Sqrt[1/(1+c*x)]*Int[x^m/(Sqrt[1-c*x]*Sqrt[1+c*x]),x] /;
+FreeQ[{a,b,c,m},x] && NeQ[m+1]
+
+
+Int[x_^m_.*(a_.+b_.*ArcCsch[c_.*x_]),x_Symbol] :=
+ x^(m+1)*(a+b*ArcCsch[c*x])/(m+1) +
+ b/(c*(m+1))*Int[x^(m-1)/Sqrt[1+1/(c^2*x^2)],x] /;
+FreeQ[{a,b,c,m},x] && NeQ[m+1]
+
+
+Int[x_^m_.*(a_.+b_.*ArcSech[c_.*x_])^n_,x_Symbol] :=
+ -1/c^(m+1)*Subst[Int[(a+b*x)^n*Sech[x]^(m+1)*Tanh[x],x],x,ArcSech[c*x]] /;
+FreeQ[{a,b,c,n},x] && IntegerQ[m]
+
+
+Int[x_^m_.*(a_.+b_.*ArcCsch[c_.*x_])^n_,x_Symbol] :=
+ -1/c^(m+1)*Subst[Int[(a+b*x)^n*Csch[x]^(m+1)*Coth[x],x],x,ArcCsch[c*x]] /;
+FreeQ[{a,b,c,n},x] && IntegerQ[m]
+
+
+Int[x_^m_.*(a_.+b_.*ArcSech[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][x^m*(a+b*ArcSech[c*x])^n,x] /;
+FreeQ[{a,b,c,m,n},x]
+
+
+Int[x_^m_.*(a_.+b_.*ArcCsch[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][x^m*(a+b*ArcCsch[c*x])^n,x] /;
+FreeQ[{a,b,c,m,n},x]
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcSech[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[(a+b*ArcSech[c*x]),u,x] + b*Sqrt[1+c*x]*Sqrt[1/(1+c*x)]*Int[SimplifyIntegrand[u/(x*Sqrt[1-c*x]*Sqrt[1+c*x]),x],x]] /;
+FreeQ[{a,b,c,d,e},x] && (PositiveIntegerQ[p] || NegativeIntegerQ[p+1/2])
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCsch[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[(d+e*x^2)^p,x]},
+ Dist[(a+b*ArcCsch[c*x]),u,x] - b*c*x/Sqrt[-c^2*x^2]*Int[SimplifyIntegrand[u/(x*Sqrt[-1-c^2*x^2]),x],x]] /;
+FreeQ[{a,b,c,d,e},x] && (PositiveIntegerQ[p] || NegativeIntegerQ[p+1/2])
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcSech[c_.*x_])^n_.,x_Symbol] :=
+ -Subst[Int[(e+d*x^2)^p*(a+b*ArcCosh[x/c])^n/x^(2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && IntegerQ[p]
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCsch[c_.*x_])^n_.,x_Symbol] :=
+ -Subst[Int[(e+d*x^2)^p*(a+b*ArcSinh[x/c])^n/x^(2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && IntegerQ[p]
+
+
+Int[(d_.+e_.*x_^2)^p_*(a_.+b_.*ArcSech[c_.*x_])^n_.,x_Symbol] :=
+ -Sqrt[x^2]/x*Subst[Int[(e+d*x^2)^p*(a+b*ArcCosh[x/c])^n/x^(2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && IntegerQ[p+1/2] && PositiveQ[e] && Negative[d]
+
+
+Int[(d_.+e_.*x_^2)^p_*(a_.+b_.*ArcCsch[c_.*x_])^n_.,x_Symbol] :=
+ -Sqrt[x^2]/x*Subst[Int[(e+d*x^2)^p*(a+b*ArcSinh[x/c])^n/x^(2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && IntegerQ[p+1/2] && PositiveQ[e] && Negative[d]
+
+
+Int[(d_.+e_.*x_^2)^p_*(a_.+b_.*ArcSech[c_.*x_])^n_.,x_Symbol] :=
+ -Sqrt[d+e*x^2]/(x*Sqrt[e+d/x^2])*Subst[Int[(e+d*x^2)^p*(a+b*ArcCosh[x/c])^n/x^(2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && IntegerQ[p+1/2] && Not[PositiveQ[e] && Negative[d]]
+
+
+Int[(d_.+e_.*x_^2)^p_*(a_.+b_.*ArcCsch[c_.*x_])^n_.,x_Symbol] :=
+ -Sqrt[d+e*x^2]/(x*Sqrt[e+d/x^2])*Subst[Int[(e+d*x^2)^p*(a+b*ArcSinh[x/c])^n/x^(2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && IntegerQ[p+1/2] && Not[PositiveQ[e] && Negative[d]]
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcSech[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x^2)^p*(a+b*ArcSech[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x]
+
+
+Int[(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCsch[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][(d+e*x^2)^p*(a+b*ArcCsch[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,n,p},x]
+
+
+Int[x_*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcSech[c_.*x_]),x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcSech[c*x])/(2*e*(p+1)) +
+ b*Sqrt[1+c*x]/(2*e*(p+1))*Sqrt[1/(1+c*x)]*Int[(d+e*x^2)^(p+1)/(x*Sqrt[1-c*x]*Sqrt[1+c*x]),x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[p+1]
+
+
+Int[x_*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCsch[c_.*x_]),x_Symbol] :=
+ (d+e*x^2)^(p+1)*(a+b*ArcCsch[c*x])/(2*e*(p+1)) -
+ b*c*x/(2*e*(p+1)*Sqrt[-c^2*x^2])*Int[(d+e*x^2)^(p+1)/(x*Sqrt[-1-c^2*x^2]),x] /;
+FreeQ[{a,b,c,d,e,p},x] && NeQ[p+1]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcSech[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[x^m*(d+e*x^2)^p,x]},
+ Dist[(a+b*ArcSech[c*x]),u,x] + b*Sqrt[1+c*x]*Sqrt[1/(1+c*x)]*Int[SimplifyIntegrand[u/(x*Sqrt[1-c*x]*Sqrt[1+c*x]),x],x]] /;
+FreeQ[{a,b,c,d,e,m,p},x] && (
+ PositiveIntegerQ[p] && Not[NegativeIntegerQ[(m-1)/2] && m+2*p+3>0] ||
+ PositiveIntegerQ[(m+1)/2] && Not[NegativeIntegerQ[p] && m+2*p+3>0] ||
+ NegativeIntegerQ[(m+2*p+1)/2] && Not[NegativeIntegerQ[(m-1)/2]] )
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCsch[c_.*x_]),x_Symbol] :=
+ With[{u=IntHide[x^m*(d+e*x^2)^p,x]},
+ Dist[(a+b*ArcCsch[c*x]),u,x] - b*c*x/Sqrt[-c^2*x^2]*Int[SimplifyIntegrand[u/(x*Sqrt[-1-c^2*x^2]),x],x]] /;
+FreeQ[{a,b,c,d,e,m,p},x] && (
+ PositiveIntegerQ[p] && Not[NegativeIntegerQ[(m-1)/2] && m+2*p+3>0] ||
+ PositiveIntegerQ[(m+1)/2] && Not[NegativeIntegerQ[p] && m+2*p+3>0] ||
+ NegativeIntegerQ[(m+2*p+1)/2] && Not[NegativeIntegerQ[(m-1)/2]] )
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcSech[c_.*x_])^n_.,x_Symbol] :=
+ -Subst[Int[(e+d*x^2)^p*(a+b*ArcCosh[x/c])^n/x^(m+2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && IntegersQ[m,p]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCsch[c_.*x_])^n_.,x_Symbol] :=
+ -Subst[Int[(e+d*x^2)^p*(a+b*ArcSinh[x/c])^n/x^(m+2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && IntegersQ[m,p]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_*(a_.+b_.*ArcSech[c_.*x_])^n_.,x_Symbol] :=
+ -Sqrt[x^2]/x*Subst[Int[(e+d*x^2)^p*(a+b*ArcCosh[x/c])^n/x^(m+2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && IntegerQ[m] && IntegerQ[p+1/2] && PositiveQ[e] && Negative[d]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_*(a_.+b_.*ArcCsch[c_.*x_])^n_.,x_Symbol] :=
+ -Sqrt[x^2]/x*Subst[Int[(e+d*x^2)^p*(a+b*ArcSinh[x/c])^n/x^(m+2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && IntegerQ[m] && IntegerQ[p+1/2] && PositiveQ[e] && Negative[d]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_*(a_.+b_.*ArcSech[c_.*x_])^n_.,x_Symbol] :=
+ -Sqrt[d+e*x^2]/(x*Sqrt[e+d/x^2])*Subst[Int[(e+d*x^2)^p*(a+b*ArcCosh[x/c])^n/x^(m+2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e] && IntegerQ[m] && IntegerQ[p+1/2] && Not[PositiveQ[e] && Negative[d]]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_*(a_.+b_.*ArcCsch[c_.*x_])^n_.,x_Symbol] :=
+ -Sqrt[d+e*x^2]/(x*Sqrt[e+d/x^2])*Subst[Int[(e+d*x^2)^p*(a+b*ArcSinh[x/c])^n/x^(m+2*(p+1)),x],x,1/x] /;
+FreeQ[{a,b,c,d,e,n},x] && EqQ[e-c^2*d] && IntegerQ[m] && IntegerQ[p+1/2] && Not[PositiveQ[e] && Negative[d]]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcSech[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][x^m*(d+e*x^2)^p*(a+b*ArcSech[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[x_^m_.*(d_.+e_.*x_^2)^p_.*(a_.+b_.*ArcCsch[c_.*x_])^n_.,x_Symbol] :=
+ Defer[Int][x^m*(d+e*x^2)^p*(a+b*ArcCsch[c*x])^n,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x]
+
+
+Int[ArcSech[a_+b_.*x_],x_Symbol] :=
+ (a+b*x)*ArcSech[a+b*x]/b +
+ Int[Sqrt[(1-a-b*x)/(1+a+b*x)]/(1-a-b*x),x] /;
+FreeQ[{a,b},x]
+
+
+Int[ArcCsch[a_+b_.*x_],x_Symbol] :=
+ (a+b*x)*ArcCsch[a+b*x]/b +
+ Int[1/((a+b*x)*Sqrt[1+1/(a+b*x)^2]),x] /;
+FreeQ[{a,b},x]
+
+
+Int[ArcSech[a_+b_.*x_]^n_,x_Symbol] :=
+ -1/b*Subst[Int[x^n*Sech[x]*Tanh[x],x],x,ArcSech[a+b*x]] /;
+FreeQ[{a,b,n},x]
+
+
+Int[ArcCsch[a_+b_.*x_]^n_,x_Symbol] :=
+ -1/b*Subst[Int[x^n*Csch[x]*Coth[x],x],x,ArcCsch[a+b*x]] /;
+FreeQ[{a,b,n},x]
+
+
+Int[ArcSech[a_+b_.*x_]/x_,x_Symbol] :=
+ -ArcSech[a+b*x]*Log[1+E^(-2*ArcSech[a+b*x])] +
+ ArcSech[a+b*x]*Log[1-(1-Sqrt[1-a^2])/(E^ArcSech[a+b*x]*a)] +
+ ArcSech[a+b*x]*Log[1-(1+Sqrt[1-a^2])/(E^ArcSech[a+b*x]*a)] +
+ 1/2*PolyLog[2,-E^(-2*ArcSech[a+b*x])] -
+ PolyLog[2,(1-Sqrt[1-a^2])/(E^ArcSech[a+b*x]*a)] -
+ PolyLog[2,(1+Sqrt[1-a^2])/(E^ArcSech[a+b*x]*a)] /;
+FreeQ[{a,b},x]
+
+
+Int[ArcCsch[a_+b_.*x_]/x_,x_Symbol] :=
+ -ArcCsch[a+b*x]^2 -
+ ArcCsch[a+b*x]*Log[1-E^(-2*ArcCsch[a+b*x])] +
+ ArcCsch[a+b*x]*Log[1+(1-Sqrt[1+a^2])*E^ArcCsch[a+b*x]/a] +
+ ArcCsch[a+b*x]*Log[1+(1+Sqrt[1+a^2])*E^ArcCsch[a+b*x]/a] +
+ 1/2*PolyLog[2,E^(-2*ArcCsch[a+b*x])] +
+ PolyLog[2,-(1-Sqrt[1+a^2])*E^ArcCsch[a+b*x]/a] +
+ PolyLog[2,-(1+Sqrt[1+a^2])*E^ArcCsch[a+b*x]/a] /;
+FreeQ[{a,b},x]
+
+
+Int[x_^m_.*ArcSech[a_+b_.*x_],x_Symbol] :=
+ -((-a)^(m+1)-b^(m+1)*x^(m+1))*ArcSech[a+b*x]/(b^(m+1)*(m+1)) +
+ 1/(b^(m+1)*(m+1))*Subst[Int[((-a*x)^(m+1)-(1-a*x)^(m+1))/(x^(m+1)*Sqrt[-1+x]*Sqrt[1+x]),x],x,1/(a+b*x)] /;
+FreeQ[{a,b,m},x] && IntegerQ[m] && NeQ[m+1]
+
+
+Int[x_^m_.*ArcCsch[a_+b_.*x_],x_Symbol] :=
+ -((-a)^(m+1)-b^(m+1)*x^(m+1))*ArcCsch[a+b*x]/(b^(m+1)*(m+1)) +
+ 1/(b^(m+1)*(m+1))*Subst[Int[((-a*x)^(m+1)-(1-a*x)^(m+1))/(x^(m+1)*Sqrt[1+x^2]),x],x,1/(a+b*x)] /;
+FreeQ[{a,b,m},x] && IntegerQ[m] && NeQ[m+1]
+
+
+Int[x_^m_.*ArcSech[a_+b_.*x_]^n_,x_Symbol] :=
+ -1/b^(m+1)*Subst[Int[x^n*(-a+Sech[x])^m*Sech[x]*Tanh[x],x],x,ArcSech[a+b*x]] /;
+FreeQ[{a,b,n},x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*ArcCsch[a_+b_.*x_]^n_,x_Symbol] :=
+ -1/b^(m+1)*Subst[Int[x^n*(-a+Csch[x])^m*Csch[x]*Coth[x],x],x,ArcCsch[a+b*x]] /;
+FreeQ[{a,b,n},x] && PositiveIntegerQ[m]
+
+
+Int[u_.*ArcSech[c_./(a_.+b_.*x_^n_.)]^m_.,x_Symbol] :=
+ Int[u*ArcCosh[a/c+b*x^n/c]^m,x] /;
+FreeQ[{a,b,c,n,m},x]
+
+
+Int[u_.*ArcCsch[c_./(a_.+b_.*x_^n_.)]^m_.,x_Symbol] :=
+ Int[u*ArcSinh[a/c+b*x^n/c]^m,x] /;
+FreeQ[{a,b,c,n,m},x]
+
+
+Int[E^ArcSech[a_.*x_], x_Symbol] :=
+ x*E^ArcSech[a*x] + Log[x]/a + 1/a*Int[1/(x*(1-a*x))*Sqrt[(1-a*x)/(1+a*x)],x] /;
+FreeQ[a,x]
+
+
+Int[E^ArcSech[a_.*x_^p_], x_Symbol] :=
+ x*E^ArcSech[a*x^p] +
+ p/a*Int[1/x^p,x] +
+ p*Sqrt[1+a*x^p]/a*Sqrt[1/(1+a*x^p)]*Int[1/(x^p*Sqrt[1+a*x^p]*Sqrt[1-a*x^p]),x] /;
+FreeQ[{a,p},x]
+
+
+Int[E^ArcCsch[a_.*x_^p_.], x_Symbol] :=
+ 1/a*Int[1/x^p,x] + Int[Sqrt[1+1/(a^2*x^(2*p))],x] /;
+FreeQ[{a,p},x]
+
+
+Int[E^(n_.*ArcSech[u_]), x_Symbol] :=
+ Int[(1/u + Sqrt[(1-u)/(1+u)] + 1/u*Sqrt[(1-u)/(1+u)])^n,x] /;
+IntegerQ[n]
+
+
+Int[E^(n_.*ArcCsch[u_]), x_Symbol] :=
+ Int[(1/u + Sqrt[1+1/u^2])^n,x] /;
+IntegerQ[n]
+
+
+Int[E^ArcSech[a_.*x_^p_.]/x_, x_Symbol] :=
+ -1/(a*p*x^p) +
+ Sqrt[1+a*x^p]/a*Sqrt[1/(1+a*x^p)]*Int[Sqrt[1+a*x^p]*Sqrt[1-a*x^p]/x^(p+1),x] /;
+FreeQ[{a,p},x]
+
+
+Int[x_^m_.*E^ArcSech[a_.*x_^p_.], x_Symbol] :=
+ x^(m+1)*E^ArcSech[a*x^p]/(m+1) +
+ p/(a*(m+1))*Int[x^(m-p),x] +
+ p*Sqrt[1+a*x^p]/(a*(m+1))*Sqrt[1/(1+a*x^p)]*Int[x^(m-p)/(Sqrt[1+a*x^p]*Sqrt[1-a*x^p]),x] /;
+FreeQ[{a,m,p},x] && NeQ[m+1]
+
+
+Int[x_^m_.*E^ArcCsch[a_.*x_^p_.], x_Symbol] :=
+ 1/a*Int[x^(m-p),x] + Int[x^m*Sqrt[1+1/(a^2*x^(2*p))],x] /;
+FreeQ[{a,m,p},x]
+
+
+Int[x_^m_.*E^(n_.*ArcSech[u_]), x_Symbol] :=
+ Int[x^m*(1/u + Sqrt[(1-u)/(1+u)] + 1/u*Sqrt[(1-u)/(1+u)])^n,x] /;
+FreeQ[m,x] && IntegerQ[n]
+
+
+Int[x_^m_.*E^(n_.*ArcCsch[u_]), x_Symbol] :=
+ Int[x^m*(1/u + Sqrt[1+1/u^2])^n,x] /;
+FreeQ[m,x] && IntegerQ[n]
+
+
+Int[ArcSech[u_],x_Symbol] :=
+ x*ArcSech[u] +
+ Sqrt[1-u^2]/(u*Sqrt[-1+1/u]*Sqrt[1+1/u])*Int[SimplifyIntegrand[x*D[u,x]/(u*Sqrt[1-u^2]),x],x] /;
+InverseFunctionFreeQ[u,x] && Not[FunctionOfExponentialQ[u,x]]
+
+
+Int[ArcCsch[u_],x_Symbol] :=
+ x*ArcCsch[u] -
+ u/Sqrt[-u^2]*Int[SimplifyIntegrand[x*D[u,x]/(u*Sqrt[-1-u^2]),x],x] /;
+InverseFunctionFreeQ[u,x] && Not[FunctionOfExponentialQ[u,x]]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_.+b_.*ArcSech[u_]),x_Symbol] :=
+ (c+d*x)^(m+1)*(a+b*ArcSech[u])/(d*(m+1)) +
+ b*Sqrt[1-u^2]/(d*(m+1)*u*Sqrt[-1+1/u]*Sqrt[1+1/u])*Int[SimplifyIntegrand[(c+d*x)^(m+1)*D[u,x]/(u*Sqrt[1-u^2]),x],x] /;
+FreeQ[{a,b,c,d,m},x] && NeQ[m+1] && InverseFunctionFreeQ[u,x] && Not[FunctionOfQ[(c+d*x)^(m+1),u,x]] && Not[FunctionOfExponentialQ[u,x]]
+
+
+Int[(c_.+d_.*x_)^m_.*(a_.+b_.*ArcCsch[u_]),x_Symbol] :=
+ (c+d*x)^(m+1)*(a+b*ArcCsch[u])/(d*(m+1)) -
+ b*u/(d*(m+1)*Sqrt[-u^2])*Int[SimplifyIntegrand[(c+d*x)^(m+1)*D[u,x]/(u*Sqrt[-1-u^2]),x],x] /;
+FreeQ[{a,b,c,d,m},x] && NeQ[m+1] && InverseFunctionFreeQ[u,x] && Not[FunctionOfQ[(c+d*x)^(m+1),u,x]] && Not[FunctionOfExponentialQ[u,x]]
+
+
+Int[v_*(a_.+b_.*ArcSech[u_]),x_Symbol] :=
+ With[{w=IntHide[v,x]},
+ Dist[(a+b*ArcSech[u]),w,x] + b*Sqrt[1-u^2]/(u*Sqrt[-1+1/u]*Sqrt[1+1/u])*Int[SimplifyIntegrand[w*D[u,x]/(u*Sqrt[1-u^2]),x],x] /;
+ InverseFunctionFreeQ[w,x]] /;
+FreeQ[{a,b},x] && InverseFunctionFreeQ[u,x] && Not[MatchQ[v, (c_.+d_.*x)^m_. /; FreeQ[{c,d,m},x]]]
+
+
+Int[v_*(a_.+b_.*ArcCsch[u_]),x_Symbol] :=
+ With[{w=IntHide[v,x]},
+ Dist[(a+b*ArcCsch[u]),w,x] - b*u/Sqrt[-u^2]*Int[SimplifyIntegrand[w*D[u,x]/(u*Sqrt[-1-u^2]),x],x] /;
+ InverseFunctionFreeQ[w,x]] /;
+FreeQ[{a,b},x] && InverseFunctionFreeQ[u,x] && Not[MatchQ[v, (c_.+d_.*x)^m_. /; FreeQ[{c,d,m},x]]]
+
+
+
+`)
+
+func resourcesRubi7InverseHyperbolicFunctionsMBytes() ([]byte, error) {
+ return _resourcesRubi7InverseHyperbolicFunctionsM, nil
+}
+
+func resourcesRubi7InverseHyperbolicFunctionsM() (*asset, error) {
+ bytes, err := resourcesRubi7InverseHyperbolicFunctionsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/7 Inverse hyperbolic functions.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi8SpecialFunctionsM = []byte(`(* ::Package:: *)
+
+(* ::Section:: *)
+(*Special Function Rules*)
+
+
+(* ::Subsection::Closed:: *)
+(*8.1 Error functions*)
+
+
+Int[Erf[a_.+b_.*x_],x_Symbol] :=
+ (a+b*x)*Erf[a+b*x]/b + 1/(b*Sqrt[Pi]*E^(a+b*x)^2) /;
+FreeQ[{a,b},x]
+
+
+Int[Erfc[a_.+b_.*x_],x_Symbol] :=
+ (a+b*x)*Erfc[a+b*x]/b - 1/(b*Sqrt[Pi]*E^(a+b*x)^2) /;
+FreeQ[{a,b},x]
+
+
+Int[Erfi[a_.+b_.*x_],x_Symbol] :=
+ (a+b*x)*Erfi[a+b*x]/b - E^(a+b*x)^2/(b*Sqrt[Pi]) /;
+FreeQ[{a,b},x]
+
+
+Int[Erf[b_.*x_]/x_,x_Symbol] :=
+ 2*b*x/Sqrt[Pi]*HypergeometricPFQ[{1/2,1/2},{3/2,3/2},-b^2*x^2] /;
+FreeQ[b,x]
+
+
+Int[Erfc[b_.*x_]/x_,x_Symbol] :=
+ Log[x] - Int[Erf[b*x]/x,x] /;
+FreeQ[b,x]
+
+
+Int[Erfi[b_.*x_]/x_,x_Symbol] :=
+ 2*b*x/Sqrt[Pi]*HypergeometricPFQ[{1/2,1/2},{3/2,3/2},b^2*x^2] /;
+FreeQ[b,x]
+
+
+Int[x_^m_.*Erf[a_.+b_.*x_],x_Symbol] :=
+ x^(m+1)*Erf[a+b*x]/(m+1) -
+ 2*b/(Sqrt[Pi]*(m+1))*Int[x^(m+1)/E^(a+b*x)^2,x] /;
+FreeQ[{a,b,m},x] && NeQ[m+1]
+
+
+Int[x_^m_.*Erfc[a_.+b_.*x_],x_Symbol] :=
+ x^(m+1)*Erfc[a+b*x]/(m+1) +
+ 2*b/(Sqrt[Pi]*(m+1))*Int[x^(m+1)/E^(a+b*x)^2,x] /;
+FreeQ[{a,b,m},x] && NeQ[m+1]
+
+
+Int[x_^m_.*Erfi[a_.+b_.*x_],x_Symbol] :=
+ x^(m+1)*Erfi[a+b*x]/(m+1) -
+ 2*b/(Sqrt[Pi]*(m+1))*Int[x^(m+1)*E^(a+b*x)^2,x] /;
+FreeQ[{a,b,m},x] && NeQ[m+1]
+
+
+Int[x_*E^(c_.+d_.*x_^2)*Erf[a_.+b_.*x_],x_Symbol] :=
+ E^(c+d*x^2)*Erf[a+b*x]/(2*d) -
+ b/(d*Sqrt[Pi])*Int[E^(-a^2+c-2*a*b*x-(b^2-d)*x^2),x] /;
+FreeQ[{a,b,c,d},x]
+
+
+Int[x_*E^(c_.+d_.*x_^2)*Erfc[a_.+b_.*x_],x_Symbol] :=
+ E^(c+d*x^2)*Erfc[a+b*x]/(2*d) +
+ b/(d*Sqrt[Pi])*Int[E^(-a^2+c-2*a*b*x-(b^2-d)*x^2),x] /;
+FreeQ[{a,b,c,d},x]
+
+
+Int[x_*E^(c_.+d_.*x_^2)*Erfi[a_.+b_.*x_],x_Symbol] :=
+ E^(c+d*x^2)*Erfi[a+b*x]/(2*d) -
+ b/(d*Sqrt[Pi])*Int[E^(a^2+c+2*a*b*x+(b^2+d)*x^2),x] /;
+FreeQ[{a,b,c,d},x]
+
+
+Int[x_^m_*E^(c_.+d_.*x_^2)*Erf[a_.+b_.*x_],x_Symbol] :=
+ x^(m-1)*E^(c+d*x^2)*Erf[a+b*x]/(2*d) -
+ b/(d*Sqrt[Pi])*Int[x^(m-1)*E^(-a^2+c-2*a*b*x-(b^2-d)*x^2),x] -
+ (m-1)/(2*d)*Int[x^(m-2)*E^(c+d*x^2)*Erf[a+b*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m>1
+
+
+Int[x_^m_*E^(c_.+d_.*x_^2)*Erfc[a_.+b_.*x_],x_Symbol] :=
+ x^(m-1)*E^(c+d*x^2)*Erfc[a+b*x]/(2*d) +
+ b/(d*Sqrt[Pi])*Int[x^(m-1)*E^(-a^2+c-2*a*b*x-(b^2-d)*x^2),x] -
+ (m-1)/(2*d)*Int[x^(m-2)*E^(c+d*x^2)*Erfc[a+b*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m>1
+
+
+Int[x_^m_*E^(c_.+d_.*x_^2)*Erfi[a_.+b_.*x_],x_Symbol] :=
+ x^(m-1)*E^(c+d*x^2)*Erfi[a+b*x]/(2*d) -
+ b/(d*Sqrt[Pi])*Int[x^(m-1)*E^(a^2+c+2*a*b*x+(b^2+d)*x^2),x] -
+ (m-1)/(2*d)*Int[x^(m-2)*E^(c+d*x^2)*Erfi[a+b*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m>1
+
+
+Int[E^(c_.+d_.*x_^2)*Erf[b_.*x_]/x_,x_Symbol] :=
+ 2*b*E^c*x/Sqrt[Pi]*HypergeometricPFQ[{1/2,1},{3/2,3/2},d*x^2] /;
+FreeQ[b,x] && EqQ[d-b^2]
+
+
+Int[E^(c_.+d_.*x_^2)*Erfc[b_.*x_]/x_,x_Symbol] :=
+ Int[E^(c+d*x^2)/x,x] - Int[E^(c+d*x^2)*Erf[b*x]/x,x] /;
+FreeQ[b,x] && EqQ[d-b^2]
+
+
+Int[E^(c_.+d_.*x_^2)*Erfi[b_.*x_]/x_,x_Symbol] :=
+ 2*b*E^c*x/Sqrt[Pi]*HypergeometricPFQ[{1/2,1},{3/2,3/2},d*x^2] /;
+FreeQ[b,x] && EqQ[d+b^2]
+
+
+Int[x_^m_*E^(c_.+d_.*x_^2)*Erf[a_.+b_.*x_],x_Symbol] :=
+ x^(m+1)*E^(c+d*x^2)*Erf[a+b*x]/(m+1) -
+ 2*b/((m+1)*Sqrt[Pi])*Int[x^(m+1)*E^(-a^2+c-2*a*b*x-(b^2-d)*x^2),x] -
+ 2*d/(m+1)*Int[x^(m+2)*E^(c+d*x^2)*Erf[a+b*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m<-1
+
+
+Int[x_^m_*E^(c_.+d_.*x_^2)*Erfc[a_.+b_.*x_],x_Symbol] :=
+ x^(m+1)*E^(c+d*x^2)*Erfc[a+b*x]/(m+1) +
+ 2*b/((m+1)*Sqrt[Pi])*Int[x^(m+1)*E^(-a^2+c-2*a*b*x-(b^2-d)*x^2),x] -
+ 2*d/(m+1)*Int[x^(m+2)*E^(c+d*x^2)*Erfc[a+b*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m<-1
+
+
+Int[x_^m_*E^(c_.+d_.*x_^2)*Erfi[a_.+b_.*x_],x_Symbol] :=
+ x^(m+1)*E^(c+d*x^2)*Erfi[a+b*x]/(m+1) -
+ 2*b/((m+1)*Sqrt[Pi])*Int[x^(m+1)*E^(a^2+c+2*a*b*x+(b^2+d)*x^2),x] -
+ 2*d/(m+1)*Int[x^(m+2)*E^(c+d*x^2)*Erfi[a+b*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m<-1
+
+
+Int[Erf[a_.+b_.*x_]^2,x_Symbol] :=
+ (a+b*x)*Erf[a+b*x]^2/b -
+ 4/Sqrt[Pi]*Int[(a+b*x)*Erf[a+b*x]/E^(a+b*x)^2,x] /;
+FreeQ[{a,b},x]
+
+
+Int[Erfc[a_.+b_.*x_]^2,x_Symbol] :=
+ (a+b*x)*Erfc[a+b*x]^2/b +
+ 4/Sqrt[Pi]*Int[(a+b*x)*Erfc[a+b*x]/E^(a+b*x)^2,x] /;
+FreeQ[{a,b},x]
+
+
+Int[Erfi[a_.+b_.*x_]^2,x_Symbol] :=
+ (a+b*x)*Erfi[a+b*x]^2/b -
+ 4/Sqrt[Pi]*Int[(a+b*x)*E^(a+b*x)^2*Erfi[a+b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[x_^m_.*Erf[b_.*x_]^2,x_Symbol] :=
+ x^(m+1)*Erf[b*x]^2/(m+1) -
+ 4*b/(Sqrt[Pi]*(m+1))*Int[x^(m+1)*E^(-b^2*x^2)*Erf[b*x],x] /;
+FreeQ[b,x] && IntegerQ[m] && m!=-1 && (m>0 || OddQ[m])
+
+
+Int[x_^m_.*Erfc[b_.*x_]^2,x_Symbol] :=
+ x^(m+1)*Erfc[b*x]^2/(m+1) +
+ 4*b/(Sqrt[Pi]*(m+1))*Int[x^(m+1)*E^(-b^2*x^2)*Erfc[b*x],x] /;
+FreeQ[b,x] && IntegerQ[m] && m+1!=0 && (m>0 || OddQ[m])
+
+
+Int[x_^m_.*Erfi[b_.*x_]^2,x_Symbol] :=
+ x^(m+1)*Erfi[b*x]^2/(m+1) -
+ 4*b/(Sqrt[Pi]*(m+1))*Int[x^(m+1)*E^(b^2*x^2)*Erfi[b*x],x] /;
+FreeQ[b,x] && IntegerQ[m] && m+1!=0 && (m>0 || OddQ[m])
+
+
+Int[x_^m_.*Erf[a_+b_.*x_]^2,x_Symbol] :=
+ 1/b*Subst[Int[(-a/b+x/b)^m*Erf[x]^2,x],x,a+b*x] /;
+FreeQ[{a,b},x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*Erfc[a_+b_.*x_]^2,x_Symbol] :=
+ 1/b*Subst[Int[(-a/b+x/b)^m*Erfc[x]^2,x],x,a+b*x] /;
+FreeQ[{a,b},x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*Erfi[a_+b_.*x_]^2,x_Symbol] :=
+ 1/b*Subst[Int[(-a/b+x/b)^m*Erfi[x]^2,x],x,a+b*x] /;
+FreeQ[{a,b},x] && PositiveIntegerQ[m]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*8.2 Fresnel integral functions*)
+
+
+Int[FresnelS[a_.+b_.*x_],x_Symbol] :=
+ (a+b*x)*FresnelS[a+b*x]/b + Cos[Pi/2*(a+b*x)^2]/(b*Pi) /;
+FreeQ[{a,b},x]
+
+
+Int[FresnelC[a_.+b_.*x_],x_Symbol] :=
+ (a+b*x)*FresnelC[a+b*x]/b - Sin[Pi/2*(a+b*x)^2]/(b*Pi) /;
+FreeQ[{a,b},x]
+
+
+Int[FresnelS[b_.*x_]/x_,x_Symbol] :=
+ 1/2*I*b*x*HypergeometricPFQ[{1/2,1/2},{3/2,3/2},-1/2*I*b^2*Pi*x^2] -
+ 1/2*I*b*x*HypergeometricPFQ[{1/2,1/2},{3/2,3/2},1/2*I*b^2*Pi*x^2] /;
+FreeQ[b,x]
+
+
+Int[FresnelC[b_.*x_]/x_,x_Symbol] :=
+ 1/2*b*x*HypergeometricPFQ[{1/2,1/2},{3/2,3/2},-1/2*I*b^2*Pi*x^2] +
+ 1/2*b*x*HypergeometricPFQ[{1/2,1/2},{3/2,3/2},1/2*I*b^2*Pi*x^2] /;
+FreeQ[b,x]
+
+
+Int[x_^m_.*FresnelS[a_.+b_.*x_],x_Symbol] :=
+ x^(m+1)*FresnelS[a+b*x]/(m+1) -
+ b/(m+1)*Int[x^(m+1)*Sin[Pi/2*(a+b*x)^2],x] /;
+FreeQ[{a,b,m},x] && NeQ[m+1]
+
+
+Int[x_^m_.*FresnelC[a_.+b_.*x_],x_Symbol] :=
+ x^(m+1)*FresnelC[a+b*x]/(m+1) -
+ b/(m+1)*Int[x^(m+1)*Cos[Pi/2*(a+b*x)^2],x] /;
+FreeQ[{a,b,m},x] && NeQ[m+1]
+
+
+Int[FresnelS[a_.+b_.*x_]^2,x_Symbol] :=
+ (a+b*x)*FresnelS[a+b*x]^2/b -
+ 2*Int[(a+b*x)*Sin[Pi/2*(a+b*x)^2]*FresnelS[a+b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[FresnelC[a_.+b_.*x_]^2,x_Symbol] :=
+ (a+b*x)*FresnelC[a+b*x]^2/b -
+ 2*Int[(a+b*x)*Cos[Pi/2*(a+b*x)^2]*FresnelC[a+b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[x_^m_*FresnelS[b_.*x_]^2,x_Symbol] :=
+ x^(m+1)*FresnelS[b*x]^2/(m+1) -
+ 2*b/(m+1)*Int[x^(m+1)*Sin[Pi/2*b^2*x^2]*FresnelS[b*x],x] /;
+FreeQ[b,x] && IntegerQ[m] && m+1!=0 && (m>0 && EvenQ[m] || Mod[m,4]==3)
+
+
+Int[x_^m_*FresnelC[b_.*x_]^2,x_Symbol] :=
+ x^(m+1)*FresnelC[b*x]^2/(m+1) -
+ 2*b/(m+1)*Int[x^(m+1)*Cos[Pi/2*b^2*x^2]*FresnelC[b*x],x] /;
+FreeQ[b,x] && IntegerQ[m] && m+1!=0 && (m>0 && EvenQ[m] || Mod[m,4]==3)
+
+
+(* Int[x_^m_.*FresnelS[a_+b_.*x_]^2,x_Symbol] :=
+ 1/b*Subst[Int[(-a/b+x/b)^m*FresnelS[x]^2,x],x,a+b*x] /;
+FreeQ[{a,b},x] && IntegerQ[m] && m>0 *)
+
+
+(* Int[x_^m_.*FresnelC[a_+b_.*x_]^2,x_Symbol] :=
+ 1/b*Subst[Int[(-a/b+x/b)^m*FresnelC[x]^2,x],x,a+b*x] /;
+FreeQ[{a,b},x] && IntegerQ[m] && m>0 *)
+
+
+Int[x_*Sin[c_.*x_^2]*FresnelS[b_.*x_],x_Symbol] :=
+ -Cos[Pi/2*b^2*x^2]*FresnelS[b*x]/(Pi*b^2) +
+ 1/(2*Pi*b)*Int[Sin[Pi*b^2*x^2],x] /;
+FreeQ[{b,c},x] && EqQ[c-Pi/2*b^2]
+
+
+Int[x_*Cos[c_.*x_^2]*FresnelC[b_.*x_],x_Symbol] :=
+ Sin[Pi/2*b^2*x^2]*FresnelC[b*x]/(Pi*b^2) -
+ 1/(2*Pi*b)*Int[Sin[Pi*b^2*x^2],x] /;
+FreeQ[{b,c},x] && EqQ[c-Pi/2*b^2]
+
+
+Int[x_^m_*Sin[c_.*x_^2]*FresnelS[b_.*x_],x_Symbol] :=
+ -x^(m-1)*Cos[Pi/2*b^2*x^2]*FresnelS[b*x]/(Pi*b^2) +
+ 1/(2*Pi*b)*Int[x^(m-1)*Sin[Pi*b^2*x^2],x] +
+ (m-1)/(Pi*b^2)*Int[x^(m-2)*Cos[Pi/2*b^2*x^2]*FresnelS[b*x],x] /;
+FreeQ[{b,c},x] && EqQ[c-Pi/2*b^2] && IntegerQ[m] && m>1 && Not[Mod[m,4]==2]
+
+
+Int[x_^m_*Cos[c_.*x_^2]*FresnelC[b_.*x_],x_Symbol] :=
+ x^(m-1)*Sin[Pi/2*b^2*x^2]*FresnelC[b*x]/(Pi*b^2) -
+ 1/(2*Pi*b)*Int[x^(m-1)*Sin[Pi*b^2*x^2],x] -
+ (m-1)/(Pi*b^2)*Int[x^(m-2)*Sin[Pi/2*b^2*x^2]*FresnelC[b*x],x] /;
+FreeQ[{b,c},x] && EqQ[c-Pi/2*b^2] && IntegerQ[m] && m>1 && Not[Mod[m,4]==2]
+
+
+Int[x_^m_*Sin[c_.*x_^2]*FresnelS[b_.*x_],x_Symbol] :=
+ x^(m+1)*Sin[Pi/2*b^2*x^2]*FresnelS[b*x]/(m+1) - b*x^(m+2)/(2*(m+1)*(m+2)) +
+ b/(2*(m+1))*Int[x^(m+1)*Cos[Pi*b^2*x^2],x] -
+ Pi*b^2/(m+1)*Int[x^(m+2)*Cos[Pi/2*b^2*x^2]*FresnelS[b*x],x] /;
+FreeQ[{b,c},x] && EqQ[c-Pi/2*b^2] && IntegerQ[m] && m<-2 && Mod[m,4]==0
+
+
+Int[x_^m_*Cos[c_.*x_^2]*FresnelC[b_.*x_],x_Symbol] :=
+ x^(m+1)*Cos[Pi/2*b^2*x^2]*FresnelC[b*x]/(m+1) - b*x^(m+2)/(2*(m+1)*(m+2)) -
+ b/(2*(m+1))*Int[x^(m+1)*Cos[Pi*b^2*x^2],x] +
+ Pi*b^2/(m+1)*Int[x^(m+2)*Sin[Pi/2*b^2*x^2]*FresnelC[b*x],x] /;
+FreeQ[{b,c},x] && EqQ[c-Pi/2*b^2] && IntegerQ[m] && m<-2 && Mod[m,4]==0
+
+
+Int[x_*Cos[c_.*x_^2]*FresnelS[b_.*x_],x_Symbol] :=
+ Sin[Pi/2*b^2*x^2]*FresnelS[b*x]/(Pi*b^2) - x/(2*Pi*b) +
+ 1/(2*Pi*b)*Int[Cos[Pi*b^2*x^2],x] /;
+FreeQ[{b,c},x] && EqQ[c-Pi/2*b^2]
+
+
+Int[x_*Sin[c_.*x_^2]*FresnelC[b_.*x_],x_Symbol] :=
+ -Cos[Pi/2*b^2*x^2]*FresnelC[b*x]/(Pi*b^2) + x/(2*Pi*b) +
+ 1/(2*Pi*b)*Int[Cos[Pi*b^2*x^2],x] /;
+FreeQ[{b,c},x] && EqQ[c-Pi/2*b^2]
+
+
+Int[x_^m_*Cos[c_.*x_^2]*FresnelS[b_.*x_],x_Symbol] :=
+ x^(m-1)*Sin[Pi/2*b^2*x^2]*FresnelS[b*x]/(Pi*b^2) - x^m/(2*b*m*Pi) +
+ 1/(2*Pi*b)*Int[x^(m-1)*Cos[Pi*b^2*x^2],x] -
+ (m-1)/(Pi*b^2)*Int[x^(m-2)*Sin[Pi/2*b^2*x^2]*FresnelS[b*x],x] /;
+FreeQ[{b,c},x] && EqQ[c-Pi/2*b^2] && IntegerQ[m] && m>1 && Not[Mod[m,4]==0]
+
+
+Int[x_^m_*Sin[c_.*x_^2]*FresnelC[b_.*x_],x_Symbol] :=
+ -x^(m-1)*Cos[Pi/2*b^2*x^2]*FresnelC[b*x]/(Pi*b^2) + x^m/(2*b*m*Pi) +
+ 1/(2*Pi*b)*Int[x^(m-1)*Cos[Pi*b^2*x^2],x] +
+ (m-1)/(Pi*b^2)*Int[x^(m-2)*Cos[Pi/2*b^2*x^2]*FresnelC[b*x],x] /;
+FreeQ[{b,c},x] && EqQ[c-Pi/2*b^2] && IntegerQ[m] && m>1 && Not[Mod[m,4]==0]
+
+
+Int[x_^m_*Cos[c_.*x_^2]*FresnelS[b_.*x_],x_Symbol] :=
+ x^(m+1)*Cos[Pi/2*b^2*x^2]*FresnelS[b*x]/(m+1) -
+ b/(2*(m+1))*Int[x^(m+1)*Sin[Pi*b^2*x^2],x] +
+ Pi*b^2/(m+1)*Int[x^(m+2)*Sin[Pi/2*b^2*x^2]*FresnelS[b*x],x] /;
+FreeQ[{b,c},x] && EqQ[c-Pi/2*b^2] && IntegerQ[m] && m<-1 && Mod[m,4]==2
+
+
+Int[x_^m_*Sin[c_.*x_^2]*FresnelC[b_.*x_],x_Symbol] :=
+ x^(m+1)*Sin[Pi/2*b^2*x^2]*FresnelC[b*x]/(m+1) -
+ b/(2*(m+1))*Int[x^(m+1)*Sin[Pi*b^2*x^2],x] -
+ Pi*b^2/(m+1)*Int[x^(m+2)*Cos[Pi/2*b^2*x^2]*FresnelC[b*x],x] /;
+FreeQ[{b,c},x] && EqQ[c-Pi/2*b^2] && IntegerQ[m] && m<-1 && Mod[m,4]==2
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*8.3 Exponential integral functions*)
+
+
+Int[ExpIntegralE[n_,a_.+b_.*x_],x_Symbol] :=
+ -ExpIntegralE[n+1,a+b*x]/b /;
+FreeQ[{a,b,n},x]
+
+
+Int[x_^m_.*ExpIntegralE[n_,b_.*x_],x_Symbol] :=
+ -x^m*ExpIntegralE[n+1,b*x]/b +
+ m/b*Int[x^(m-1)*ExpIntegralE[n+1,b*x],x] /;
+FreeQ[b,x] && EqQ[m+n] && PositiveIntegerQ[m]
+
+
+Int[ExpIntegralE[1,b_.*x_]/x_,x_Symbol] :=
+ b*x*HypergeometricPFQ[{1,1,1},{2,2,2},-b*x] - EulerGamma*Log[x] - 1/2*Log[b*x]^2 /;
+FreeQ[b,x]
+
+
+Int[x_^m_*ExpIntegralE[n_,b_.*x_],x_Symbol] :=
+ x^(m+1)*ExpIntegralE[n,b*x]/(m+1) +
+ b/(m+1)*Int[x^(m+1)*ExpIntegralE[n-1,b*x],x] /;
+FreeQ[b,x] && EqQ[m+n] && IntegerQ[m] && m<-1
+
+
+Int[x_^m_*ExpIntegralE[n_,b_.*x_],x_Symbol] :=
+ x^m*Gamma[m+1]*Log[x]/(b*(b*x)^m) - x^(m+1)*HypergeometricPFQ[{m+1,m+1},{m+2,m+2},-b*x]/(m+1)^2 /;
+FreeQ[{b,m,n},x] && EqQ[m+n] && Not[IntegerQ[m]]
+
+
+Int[x_^m_.*ExpIntegralE[n_,b_.*x_],x_Symbol] :=
+ x^(m+1)*ExpIntegralE[n,b*x]/(m+n) - x^(m+1)*ExpIntegralE[-m,b*x]/(m+n) /;
+FreeQ[{b,m,n},x] && NeQ[m+n]
+
+
+Int[x_^m_.*ExpIntegralE[n_,a_+b_.*x_],x_Symbol] :=
+ -x^m*ExpIntegralE[n+1,a+b*x]/b +
+ m/b*Int[x^(m-1)*ExpIntegralE[n+1,a+b*x],x] /;
+FreeQ[{a,b,m,n},x] && (PositiveIntegerQ[m] || NegativeIntegerQ[n] || RationalQ[m,n] && m>0 && n<-1)
+
+
+Int[x_^m_.*ExpIntegralE[n_,a_+b_.*x_],x_Symbol] :=
+ x^(m+1)*ExpIntegralE[n,a+b*x]/(m+1) +
+ b/(m+1)*Int[x^(m+1)*ExpIntegralE[n-1,a+b*x],x] /;
+FreeQ[{a,b,m},x] && (PositiveIntegerQ[n] || RationalQ[m,n] && m<-1 && n>0) && NeQ[m+1]
+
+
+Int[ExpIntegralEi[a_.+b_.*x_],x_Symbol] :=
+ (a+b*x)*ExpIntegralEi[a+b*x]/b - E^(a+b*x)/b /;
+FreeQ[{a,b},x]
+
+
+Int[x_^m_.*ExpIntegralEi[a_.+b_.*x_],x_Symbol] :=
+ x^(m+1)*ExpIntegralEi[a+b*x]/(m+1) -
+ b/(m+1)*Int[x^(m+1)*E^(a+b*x)/(a+b*x),x] /;
+FreeQ[{a,b,m},x] && NeQ[m+1]
+
+
+Int[ExpIntegralEi[a_.+b_.*x_]^2,x_Symbol] :=
+ (a+b*x)*ExpIntegralEi[a+b*x]^2/b -
+ 2*Int[E^(a+b*x)*ExpIntegralEi[a+b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[x_^m_.*ExpIntegralEi[b_.*x_]^2,x_Symbol] :=
+ x^(m+1)*ExpIntegralEi[b*x]^2/(m+1) -
+ 2/(m+1)*Int[x^m*E^(b*x)*ExpIntegralEi[b*x],x] /;
+FreeQ[b,x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*ExpIntegralEi[a_+b_.*x_]^2,x_Symbol] :=
+ x^(m+1)*ExpIntegralEi[a+b*x]^2/(m+1) +
+ a*x^m*ExpIntegralEi[a+b*x]^2/(b*(m+1)) -
+ 2/(m+1)*Int[x^m*E^(a+b*x)*ExpIntegralEi[a+b*x],x] -
+ a*m/(b*(m+1))*Int[x^(m-1)*ExpIntegralEi[a+b*x]^2,x] /;
+FreeQ[{a,b},x] && PositiveIntegerQ[m]
+
+
+(* Int[x_^m_.*ExpIntegralEi[a_+b_.*x_]^2,x_Symbol] :=
+ b*x^(m+2)*ExpIntegralEi[a+b*x]^2/(a*(m+1)) +
+ x^(m+1)*ExpIntegralEi[a+b*x]^2/(m+1) -
+ 2*b/(a*(m+1))*Int[x^(m+1)*E^(a+b*x)*ExpIntegralEi[a+b*x],x] -
+ b*(m+2)/(a*(m+1))*Int[x^(m+1)*ExpIntegralEi[a+b*x]^2,x] /;
+FreeQ[{a,b},x] && IntegerQ[m] && m<-2 *)
+
+
+Int[E^(a_.+b_.*x_)*ExpIntegralEi[c_.+d_.*x_],x_Symbol] :=
+ E^(a+b*x)*ExpIntegralEi[c+d*x]/b -
+ d/b*Int[E^(a+c+(b+d)*x)/(c+d*x),x] /;
+FreeQ[{a,b,c,d},x]
+
+
+Int[x_^m_.*E^(a_.+b_.*x_)*ExpIntegralEi[c_.+d_.*x_],x_Symbol] :=
+ x^m*E^(a+b*x)*ExpIntegralEi[c+d*x]/b -
+ d/b*Int[x^m*E^(a+c+(b+d)*x)/(c+d*x),x] -
+ m/b*Int[x^(m-1)*E^(a+b*x)*ExpIntegralEi[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_*E^(a_.+b_.*x_)*ExpIntegralEi[c_.+d_.*x_],x_Symbol] :=
+ x^(m+1)*E^(a+b*x)*ExpIntegralEi[c+d*x]/(m+1) -
+ d/(m+1)*Int[x^(m+1)*E^(a+c+(b+d)*x)/(c+d*x),x] -
+ b/(m+1)*Int[x^(m+1)*E^(a+b*x)*ExpIntegralEi[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m<-1
+
+
+Int[LogIntegral[a_.+b_.*x_],x_Symbol] :=
+ (a+b*x)*LogIntegral[a+b*x]/b - ExpIntegralEi[2*Log[a+b*x]]/b /;
+FreeQ[{a,b},x]
+
+
+Int[LogIntegral[b_.*x_]/x_,x_Symbol] :=
+ -b*x + Log[b*x]*LogIntegral[b*x] /;
+FreeQ[b,x]
+
+
+Int[x_^m_.*LogIntegral[a_.+b_.*x_],x_Symbol] :=
+ x^(m+1)*LogIntegral[a+b*x]/(m+1) -
+ b/(m+1)*Int[x^(m+1)/Log[a+b*x],x] /;
+FreeQ[{a,b,m},x] && NeQ[m+1]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*8.4 Trig integral functions*)
+
+
+Int[SinIntegral[a_.+b_.*x_],x_Symbol] :=
+ (a+b*x)*SinIntegral[a+b*x]/b + Cos[a+b*x]/b/;
+FreeQ[{a,b},x]
+
+
+Int[CosIntegral[a_.+b_.*x_],x_Symbol] :=
+ (a+b*x)*CosIntegral[a+b*x]/b - Sin[a+b*x]/b /;
+FreeQ[{a,b},x]
+
+
+Int[SinIntegral[b_.*x_]/x_,x_Symbol] :=
+ 1/2*b*x*HypergeometricPFQ[{1,1,1},{2,2,2},-I*b*x] +
+ 1/2*b*x*HypergeometricPFQ[{1,1,1},{2,2,2},I*b*x] /;
+FreeQ[b,x]
+
+
+Int[CosIntegral[b_.*x_]/x_,x_Symbol] :=
+ -1/2*I*b*x*HypergeometricPFQ[{1,1,1},{2,2,2},-I*b*x] +
+ 1/2*I*b*x*HypergeometricPFQ[{1,1,1},{2,2,2},I*b*x] +
+ EulerGamma*Log[x] +
+ 1/2*Log[b*x]^2 /;
+FreeQ[b,x]
+
+
+Int[x_^m_.*SinIntegral[a_.+b_.*x_],x_Symbol] :=
+ x^(m+1)*SinIntegral[a+b*x]/(m+1) -
+ b/(m+1)*Int[x^(m+1)*Sin[a+b*x]/(a+b*x),x] /;
+FreeQ[{a,b,m},x] && NeQ[m+1]
+
+
+Int[x_^m_.*CosIntegral[a_.+b_.*x_],x_Symbol] :=
+ x^(m+1)*CosIntegral[a+b*x]/(m+1) -
+ b/(m+1)*Int[x^(m+1)*Cos[a+b*x]/(a+b*x),x] /;
+FreeQ[{a,b,m},x] && NeQ[m+1]
+
+
+Int[SinIntegral[a_.+b_.*x_]^2,x_Symbol] :=
+ (a+b*x)*SinIntegral[a+b*x]^2/b -
+ 2*Int[Sin[a+b*x]*SinIntegral[a+b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[CosIntegral[a_.+b_.*x_]^2,x_Symbol] :=
+ (a+b*x)*CosIntegral[a+b*x]^2/b -
+ 2*Int[Cos[a+b*x]*CosIntegral[a+b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[x_^m_.*SinIntegral[b_.*x_]^2,x_Symbol] :=
+ x^(m+1)*SinIntegral[b*x]^2/(m+1) -
+ 2/(m+1)*Int[x^m*Sin[b*x]*SinIntegral[b*x],x] /;
+FreeQ[b,x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*CosIntegral[b_.*x_]^2,x_Symbol] :=
+ x^(m+1)*CosIntegral[b*x]^2/(m+1) -
+ 2/(m+1)*Int[x^m*Cos[b*x]*CosIntegral[b*x],x] /;
+FreeQ[b,x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*SinIntegral[a_+b_.*x_]^2,x_Symbol] :=
+ x^(m+1)*SinIntegral[a+b*x]^2/(m+1) +
+ a*x^m*SinIntegral[a+b*x]^2/(b*(m+1)) -
+ 2/(m+1)*Int[x^m*Sin[a+b*x]*SinIntegral[a+b*x],x] -
+ a*m/(b*(m+1))*Int[x^(m-1)*SinIntegral[a+b*x]^2,x] /;
+FreeQ[{a,b},x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*CosIntegral[a_+b_.*x_]^2,x_Symbol] :=
+ x^(m+1)*CosIntegral[a+b*x]^2/(m+1) +
+ a*x^m*CosIntegral[a+b*x]^2/(b*(m+1)) -
+ 2/(m+1)*Int[x^m*Cos[a+b*x]*CosIntegral[a+b*x],x] -
+ a*m/(b*(m+1))*Int[x^(m-1)*CosIntegral[a+b*x]^2,x] /;
+FreeQ[{a,b},x] && PositiveIntegerQ[m]
+
+
+(* Int[x_^m_.*SinIntegral[a_+b_.*x_]^2,x_Symbol] :=
+ b*x^(m+2)*SinIntegral[a+b*x]^2/(a*(m+1)) +
+ x^(m+1)*SinIntegral[a+b*x]^2/(m+1) -
+ 2*b/(a*(m+1))*Int[x^(m+1)*Sin[a+b*x]*SinIntegral[a+b*x],x] -
+ b*(m+2)/(a*(m+1))*Int[x^(m+1)*SinIntegral[a+b*x]^2,x] /;
+FreeQ[{a,b},x] && IntegerQ[m] && m<-2 *)
+
+
+(* Int[x_^m_.*CosIntegral[a_+b_.*x_]^2,x_Symbol] :=
+ b*x^(m+2)*CosIntegral[a+b*x]^2/(a*(m+1)) +
+ x^(m+1)*CosIntegral[a+b*x]^2/(m+1) -
+ 2*b/(a*(m+1))*Int[x^(m+1)*Cos[a+b*x]*CosIntegral[a+b*x],x] -
+ b*(m+2)/(a*(m+1))*Int[x^(m+1)*CosIntegral[a+b*x]^2,x] /;
+FreeQ[{a,b},x] && IntegerQ[m] && m<-2 *)
+
+
+Int[Sin[a_.+b_.*x_]*SinIntegral[c_.+d_.*x_],x_Symbol] :=
+ -Cos[a+b*x]*SinIntegral[c+d*x]/b +
+ d/b*Int[Cos[a+b*x]*Sin[c+d*x]/(c+d*x),x] /;
+FreeQ[{a,b,c,d},x]
+
+
+Int[Cos[a_.+b_.*x_]*CosIntegral[c_.+d_.*x_],x_Symbol] :=
+ Sin[a+b*x]*CosIntegral[c+d*x]/b -
+ d/b*Int[Sin[a+b*x]*Cos[c+d*x]/(c+d*x),x] /;
+FreeQ[{a,b,c,d},x]
+
+
+Int[x_^m_.*Sin[a_.+b_.*x_]*SinIntegral[c_.+d_.*x_],x_Symbol] :=
+ -x^m*Cos[a+b*x]*SinIntegral[c+d*x]/b +
+ d/b*Int[x^m*Cos[a+b*x]*Sin[c+d*x]/(c+d*x),x] +
+ m/b*Int[x^(m-1)*Cos[a+b*x]*SinIntegral[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*Cos[a_.+b_.*x_]*CosIntegral[c_.+d_.*x_],x_Symbol] :=
+ x^m*Sin[a+b*x]*CosIntegral[c+d*x]/b -
+ d/b*Int[x^m*Sin[a+b*x]*Cos[c+d*x]/(c+d*x),x] -
+ m/b*Int[x^(m-1)*Sin[a+b*x]*CosIntegral[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_*Sin[a_.+b_.*x_]*SinIntegral[c_.+d_.*x_],x_Symbol] :=
+ x^(m+1)*Sin[a+b*x]*SinIntegral[c+d*x]/(m+1) -
+ d/(m+1)*Int[x^(m+1)*Sin[a+b*x]*Sin[c+d*x]/(c+d*x),x] -
+ b/(m+1)*Int[x^(m+1)*Cos[a+b*x]*SinIntegral[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m<-1
+
+
+Int[x_^m_.*Cos[a_.+b_.*x_]*CosIntegral[c_.+d_.*x_],x_Symbol] :=
+ x^(m+1)*Cos[a+b*x]*CosIntegral[c+d*x]/(m+1) -
+ d/(m+1)*Int[x^(m+1)*Cos[a+b*x]*Cos[c+d*x]/(c+d*x),x] +
+ b/(m+1)*Int[x^(m+1)*Sin[a+b*x]*CosIntegral[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m<-1
+
+
+Int[Cos[a_.+b_.*x_]*SinIntegral[c_.+d_.*x_],x_Symbol] :=
+ Sin[a+b*x]*SinIntegral[c+d*x]/b -
+ d/b*Int[Sin[a+b*x]*Sin[c+d*x]/(c+d*x),x] /;
+FreeQ[{a,b,c,d},x]
+
+
+Int[Sin[a_.+b_.*x_]*CosIntegral[c_.+d_.*x_],x_Symbol] :=
+ -Cos[a+b*x]*CosIntegral[c+d*x]/b +
+ d/b*Int[Cos[a+b*x]*Cos[c+d*x]/(c+d*x),x] /;
+FreeQ[{a,b,c,d},x]
+
+
+Int[x_^m_.*Cos[a_.+b_.*x_]*SinIntegral[c_.+d_.*x_],x_Symbol] :=
+ x^m*Sin[a+b*x]*SinIntegral[c+d*x]/b -
+ d/b*Int[x^m*Sin[a+b*x]*Sin[c+d*x]/(c+d*x),x] -
+ m/b*Int[x^(m-1)*Sin[a+b*x]*SinIntegral[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*Sin[a_.+b_.*x_]*CosIntegral[c_.+d_.*x_],x_Symbol] :=
+ -x^m*Cos[a+b*x]*CosIntegral[c+d*x]/b +
+ d/b*Int[x^m*Cos[a+b*x]*Cos[c+d*x]/(c+d*x),x] +
+ m/b*Int[x^(m-1)*Cos[a+b*x]*CosIntegral[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*Cos[a_.+b_.*x_]*SinIntegral[c_.+d_.*x_],x_Symbol] :=
+ x^(m+1)*Cos[a+b*x]*SinIntegral[c+d*x]/(m+1) -
+ d/(m+1)*Int[x^(m+1)*Cos[a+b*x]*Sin[c+d*x]/(c+d*x),x] +
+ b/(m+1)*Int[x^(m+1)*Sin[a+b*x]*SinIntegral[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m<-1
+
+
+Int[x_^m_*Sin[a_.+b_.*x_]*CosIntegral[c_.+d_.*x_],x_Symbol] :=
+ x^(m+1)*Sin[a+b*x]*CosIntegral[c+d*x]/(m+1) -
+ d/(m+1)*Int[x^(m+1)*Sin[a+b*x]*Cos[c+d*x]/(c+d*x),x] -
+ b/(m+1)*Int[x^(m+1)*Cos[a+b*x]*CosIntegral[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m<-1
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*8.5 Hyperbolic integral functions*)
+
+
+Int[SinhIntegral[a_.+b_.*x_],x_Symbol] :=
+ (a+b*x)*SinhIntegral[a+b*x]/b - Cosh[a+b*x]/b/;
+FreeQ[{a,b},x]
+
+
+Int[CoshIntegral[a_.+b_.*x_],x_Symbol] :=
+ (a+b*x)*CoshIntegral[a+b*x]/b - Sinh[a+b*x]/b /;
+FreeQ[{a,b},x]
+
+
+Int[SinhIntegral[b_.*x_]/x_,x_Symbol] :=
+ 1/2*b*x*HypergeometricPFQ[{1,1,1},{2,2,2},-b*x] +
+ 1/2*b*x*HypergeometricPFQ[{1,1,1},{2,2,2},b*x] /;
+FreeQ[b,x]
+
+
+Int[CoshIntegral[b_.*x_]/x_,x_Symbol] :=
+ -1/2*b*x*HypergeometricPFQ[{1,1,1},{2,2,2},-b*x] +
+ 1/2*b*x*HypergeometricPFQ[{1,1,1},{2,2,2},b*x] +
+ EulerGamma*Log[x] +
+ 1/2*Log[b*x]^2 /;
+FreeQ[b,x]
+
+
+Int[x_^m_.*SinhIntegral[a_.+b_.*x_],x_Symbol] :=
+ x^(m+1)*SinhIntegral[a+b*x]/(m+1) -
+ b/(m+1)*Int[x^(m+1)*Sinh[a+b*x]/(a+b*x),x] /;
+FreeQ[{a,b,m},x] && NeQ[m+1]
+
+
+Int[x_^m_.*CoshIntegral[a_.+b_.*x_],x_Symbol] :=
+ x^(m+1)*CoshIntegral[a+b*x]/(m+1) -
+ b/(m+1)*Int[x^(m+1)*Cosh[a+b*x]/(a+b*x),x] /;
+FreeQ[{a,b,m},x] && NeQ[m+1]
+
+
+Int[SinhIntegral[a_.+b_.*x_]^2,x_Symbol] :=
+ (a+b*x)*SinhIntegral[a+b*x]^2/b -
+ 2*Int[Sinh[a+b*x]*SinhIntegral[a+b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[CoshIntegral[a_.+b_.*x_]^2,x_Symbol] :=
+ (a+b*x)*CoshIntegral[a+b*x]^2/b -
+ 2*Int[Cosh[a+b*x]*CoshIntegral[a+b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[x_^m_.*SinhIntegral[b_.*x_]^2,x_Symbol] :=
+ x^(m+1)*SinhIntegral[b*x]^2/(m+1) -
+ 2/(m+1)*Int[x^m*Sinh[b*x]*SinhIntegral[b*x],x] /;
+FreeQ[b,x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*CoshIntegral[b_.*x_]^2,x_Symbol] :=
+ x^(m+1)*CoshIntegral[b*x]^2/(m+1) -
+ 2/(m+1)*Int[x^m*Cosh[b*x]*CoshIntegral[b*x],x] /;
+FreeQ[b,x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*SinhIntegral[a_+b_.*x_]^2,x_Symbol] :=
+ x^(m+1)*SinhIntegral[a+b*x]^2/(m+1) +
+ a*x^m*SinhIntegral[a+b*x]^2/(b*(m+1)) -
+ 2/(m+1)*Int[x^m*Sinh[a+b*x]*SinhIntegral[a+b*x],x] -
+ a*m/(b*(m+1))*Int[x^(m-1)*SinhIntegral[a+b*x]^2,x] /;
+FreeQ[{a,b},x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*CoshIntegral[a_+b_.*x_]^2,x_Symbol] :=
+ x^(m+1)*CoshIntegral[a+b*x]^2/(m+1) +
+ a*x^m*CoshIntegral[a+b*x]^2/(b*(m+1)) -
+ 2/(m+1)*Int[x^m*Cosh[a+b*x]*CoshIntegral[a+b*x],x] -
+ a*m/(b*(m+1))*Int[x^(m-1)*CoshIntegral[a+b*x]^2,x] /;
+FreeQ[{a,b},x] && PositiveIntegerQ[m]
+
+
+(* Int[x_^m_.*SinhIntegral[a_+b_.*x_]^2,x_Symbol] :=
+ b*x^(m+2)*SinhIntegral[a+b*x]^2/(a*(m+1)) +
+ x^(m+1)*SinhIntegral[a+b*x]^2/(m+1) -
+ 2*b/(a*(m+1))*Int[x^(m+1)*Sinh[a+b*x]*SinhIntegral[a+b*x],x] -
+ b*(m+2)/(a*(m+1))*Int[x^(m+1)*SinhIntegral[a+b*x]^2,x] /;
+FreeQ[{a,b},x] && IntegerQ[m] && m<-2 *)
+
+
+(* Int[x_^m_.*CoshIntegral[a_+b_.*x_]^2,x_Symbol] :=
+ b*x^(m+2)*CoshIntegral[a+b*x]^2/(a*(m+1)) +
+ x^(m+1)*CoshIntegral[a+b*x]^2/(m+1) -
+ 2*b/(a*(m+1))*Int[x^(m+1)*Cosh[a+b*x]*CoshIntegral[a+b*x],x] -
+ b*(m+2)/(a*(m+1))*Int[x^(m+1)*CoshIntegral[a+b*x]^2,x] /;
+FreeQ[{a,b},x] && IntegerQ[m] && m<-2 *)
+
+
+Int[Sinh[a_.+b_.*x_]*SinhIntegral[c_.+d_.*x_],x_Symbol] :=
+ Cosh[a+b*x]*SinhIntegral[c+d*x]/b -
+ d/b*Int[Cosh[a+b*x]*Sinh[c+d*x]/(c+d*x),x] /;
+FreeQ[{a,b,c,d},x]
+
+
+Int[Cosh[a_.+b_.*x_]*CoshIntegral[c_.+d_.*x_],x_Symbol] :=
+ Sinh[a+b*x]*CoshIntegral[c+d*x]/b -
+ d/b*Int[Sinh[a+b*x]*Cosh[c+d*x]/(c+d*x),x] /;
+FreeQ[{a,b,c,d},x]
+
+
+Int[x_^m_.*Sinh[a_.+b_.*x_]*SinhIntegral[c_.+d_.*x_],x_Symbol] :=
+ x^m*Cosh[a+b*x]*SinhIntegral[c+d*x]/b -
+ d/b*Int[x^m*Cosh[a+b*x]*Sinh[c+d*x]/(c+d*x),x] -
+ m/b*Int[x^(m-1)*Cosh[a+b*x]*SinhIntegral[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m>0
+
+
+Int[x_^m_.*Cosh[a_.+b_.*x_]*CoshIntegral[c_.+d_.*x_],x_Symbol] :=
+ x^m*Sinh[a+b*x]*CoshIntegral[c+d*x]/b -
+ d/b*Int[x^m*Sinh[a+b*x]*Cosh[c+d*x]/(c+d*x),x] -
+ m/b*Int[x^(m-1)*Sinh[a+b*x]*CoshIntegral[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m>0
+
+
+Int[x_^m_*Sinh[a_.+b_.*x_]*SinhIntegral[c_.+d_.*x_],x_Symbol] :=
+ x^(m+1)*Sinh[a+b*x]*SinhIntegral[c+d*x]/(m+1) -
+ d/(m+1)*Int[x^(m+1)*Sinh[a+b*x]*Sinh[c+d*x]/(c+d*x),x] -
+ b/(m+1)*Int[x^(m+1)*Cosh[a+b*x]*SinhIntegral[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m<-1
+
+
+Int[x_^m_.*Cosh[a_.+b_.*x_]*CoshIntegral[c_.+d_.*x_],x_Symbol] :=
+ x^(m+1)*Cosh[a+b*x]*CoshIntegral[c+d*x]/(m+1) -
+ d/(m+1)*Int[x^(m+1)*Cosh[a+b*x]*Cosh[c+d*x]/(c+d*x),x] -
+ b/(m+1)*Int[x^(m+1)*Sinh[a+b*x]*CoshIntegral[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m<-1
+
+
+Int[Cosh[a_.+b_.*x_]*SinhIntegral[c_.+d_.*x_],x_Symbol] :=
+ Sinh[a+b*x]*SinhIntegral[c+d*x]/b -
+ d/b*Int[Sinh[a+b*x]*Sinh[c+d*x]/(c+d*x),x] /;
+FreeQ[{a,b,c,d},x]
+
+
+Int[Sinh[a_.+b_.*x_]*CoshIntegral[c_.+d_.*x_],x_Symbol] :=
+ Cosh[a+b*x]*CoshIntegral[c+d*x]/b -
+ d/b*Int[Cosh[a+b*x]*Cosh[c+d*x]/(c+d*x),x] /;
+FreeQ[{a,b,c,d},x]
+
+
+Int[x_^m_.*Cosh[a_.+b_.*x_]*SinhIntegral[c_.+d_.*x_],x_Symbol] :=
+ x^m*Sinh[a+b*x]*SinhIntegral[c+d*x]/b -
+ d/b*Int[x^m*Sinh[a+b*x]*Sinh[c+d*x]/(c+d*x),x] -
+ m/b*Int[x^(m-1)*Sinh[a+b*x]*SinhIntegral[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*Sinh[a_.+b_.*x_]*CoshIntegral[c_.+d_.*x_],x_Symbol] :=
+ x^m*Cosh[a+b*x]*CoshIntegral[c+d*x]/b -
+ d/b*Int[x^m*Cosh[a+b*x]*Cosh[c+d*x]/(c+d*x),x] -
+ m/b*Int[x^(m-1)*Cosh[a+b*x]*CoshIntegral[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*Cosh[a_.+b_.*x_]*SinhIntegral[c_.+d_.*x_],x_Symbol] :=
+ x^(m+1)*Cosh[a+b*x]*SinhIntegral[c+d*x]/(m+1) -
+ d/(m+1)*Int[x^(m+1)*Cosh[a+b*x]*Sinh[c+d*x]/(c+d*x),x] -
+ b/(m+1)*Int[x^(m+1)*Sinh[a+b*x]*SinhIntegral[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m<-1
+
+
+Int[x_^m_*Sinh[a_.+b_.*x_]*CoshIntegral[c_.+d_.*x_],x_Symbol] :=
+ x^(m+1)*Sinh[a+b*x]*CoshIntegral[c+d*x]/(m+1) -
+ d/(m+1)*Int[x^(m+1)*Sinh[a+b*x]*Cosh[c+d*x]/(c+d*x),x] -
+ b/(m+1)*Int[x^(m+1)*Cosh[a+b*x]*CoshIntegral[c+d*x],x] /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && m<-1
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*8.6 Gamma functions*)
+
+
+Int[Gamma[n_,a_.+b_.*x_],x_Symbol] :=
+ (a+b*x)*Gamma[n,a+b*x]/b -
+ Gamma[n+1,a+b*x]/b /;
+FreeQ[{a,b},x]
+
+
+Int[Gamma[n_,b_*x_]/x_,x_Symbol] :=
+ Gamma[n]*Log[x] - (b*x)^n/n^2*HypergeometricPFQ[{n,n},{1+n,1+n},-b*x] /;
+FreeQ[{b,n},x] && Not[IntegerQ[n] && n<=0]
+
+
+Int[x_^m_.*Gamma[n_,b_*x_],x_Symbol] :=
+ x^(m+1)*Gamma[n,b*x]/(m+1) -
+ x^m*Gamma[m+n+1,b*x]/(b*(m+1)*(b*x)^m) /;
+FreeQ[{b,m,n},x] && NeQ[m+1]
+
+
+Int[x_^m_.*Gamma[n_,a_+b_.*x_],x_Symbol] :=
+ Block[{$UseGamma=True},
+ x^(m+1)*Gamma[n,a+b*x]/(m+1) +
+ b/(m+1)*Int[x^(m+1)*(a+b*x)^(n-1)/E^(a+b*x),x]] /;
+FreeQ[{a,b,m,n},x] && (PositiveIntegerQ[m] || PositiveIntegerQ[n] || IntegersQ[m,n]) && NeQ[m+1]
+
+
+(* Int[x_^m_.*Gamma[n_,a_+b_.*x_],x_Symbol] :=
+ x^m*(a+b*x)*Gamma[n,a+b*x]/(b*(m+1)) -
+ x^m*Gamma[n+1,a+b*x]/(b*(m+1)) -
+ a*m/(b*(m+1))*Int[x^(m-1)*Gamma[n,a+b*x],x] +
+ m/(b*(m+1))*Int[x^(m-1)*Gamma[n+1,a+b*x],x] /;
+FreeQ[{a,b,n},x] && RationalQ[m] && m>0 *)
+
+
+Int[LogGamma[a_.+b_.*x_],x_Symbol] :=
+ PolyGamma[-2,a+b*x]/b /;
+FreeQ[{a,b},x]
+
+
+Int[x_^m_.*LogGamma[a_.+b_.*x_],x_Symbol] :=
+ x^m*PolyGamma[-2,a+b*x]/b -
+ m/b*Int[x^(m-1)*PolyGamma[-2,a+b*x],x] /;
+FreeQ[{a,b},x] && RationalQ[m] && m>0
+
+
+Int[PolyGamma[n_,a_.+b_.*x_],x_Symbol] :=
+ PolyGamma[n-1,a+b*x]/b /;
+FreeQ[{a,b,n},x]
+
+
+Int[x_^m_.*PolyGamma[n_,a_.+b_.*x_],x_Symbol] :=
+ x^m*PolyGamma[n-1,a+b*x]/b -
+ m/b*Int[x^(m-1)*PolyGamma[n-1,a+b*x],x] /;
+FreeQ[{a,b,n},x] && RationalQ[m] && m>0
+
+
+Int[x_^m_.*PolyGamma[n_,a_.+b_.*x_],x_Symbol] :=
+ x^(m+1)*PolyGamma[n,a+b*x]/(m+1) -
+ b/(m+1)*Int[x^(m+1)*PolyGamma[n+1,a+b*x],x] /;
+FreeQ[{a,b,n},x] && RationalQ[m] && m<-1
+
+
+Int[Gamma[a_.+b_.*x_]^n_.*PolyGamma[0,a_.+b_.*x_],x_Symbol] :=
+ Gamma[a+b*x]^n/(b*n) /;
+FreeQ[{a,b,n},x]
+
+
+Int[((a_.+b_.*x_)!)^n_.*PolyGamma[0,c_.+b_.*x_],x_Symbol] :=
+ ((a+b*x)!)^n/(b*n) /;
+FreeQ[{a,b,c,n},x] && EqQ[a-c+1]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*8.7 Zeta function*)
+
+
+Int[Zeta[2,a_.+b_.*x_],x_Symbol] :=
+ Int[PolyGamma[1,a+b*x],x] /;
+FreeQ[{a,b},x]
+
+
+Int[Zeta[s_,a_.+b_.*x_],x_Symbol] :=
+ -Zeta[s-1,a+b*x]/(b*(s-1)) /;
+FreeQ[{a,b,s},x] && NeQ[s-1] && NeQ[s-2]
+
+
+Int[x_^m_.*Zeta[2,a_.+b_.*x_],x_Symbol] :=
+ Int[x^m*PolyGamma[1,a+b*x],x] /;
+FreeQ[{a,b},x] && RationalQ[m]
+
+
+Int[x_^m_.*Zeta[s_,a_.+b_.*x_],x_Symbol] :=
+ -x^m*Zeta[s-1,a+b*x]/(b*(s-1)) +
+ m/(b*(s-1))*Int[x^(m-1)*Zeta[s-1,a+b*x],x] /;
+FreeQ[{a,b,s},x] && NeQ[s-1] && NeQ[s-2] && RationalQ[m] && m>0
+
+
+Int[x_^m_.*Zeta[s_,a_.+b_.*x_],x_Symbol] :=
+ x^(m+1)*Zeta[s,a+b*x]/(m+1) +
+ b*s/(m+1)*Int[x^(m+1)*Zeta[s+1,a+b*x],x] /;
+FreeQ[{a,b,s},x] && NeQ[s-1] && NeQ[s-2] && RationalQ[m] && m<-1
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*8.8 Polylogarithm function*)
+
+
+Int[PolyLog[n_,a_.*(b_.*x_^p_.)^q_.],x_Symbol] :=
+ x*PolyLog[n,a*(b*x^p)^q] -
+ p*q*Int[PolyLog[n-1,a*(b*x^p)^q],x] /;
+FreeQ[{a,b,p,q},x] && RationalQ[n] && n>0
+
+
+Int[PolyLog[n_,a_.*(b_.*x_^p_.)^q_.],x_Symbol] :=
+ x*PolyLog[n+1,a*(b*x^p)^q]/(p*q) -
+ 1/(p*q)*Int[PolyLog[n+1,a*(b*x^p)^q],x] /;
+FreeQ[{a,b,p,q},x] && RationalQ[n] && n<-1
+
+
+Int[PolyLog[n_,c_.*(a_.+b_.*x_)^p_.]/(d_.+e_.*x_),x_Symbol] :=
+ PolyLog[n+1,c*(a+b*x)^p]/(e*p) /;
+FreeQ[{a,b,c,d,e,n,p},x] && EqQ[b*d-a*e]
+
+
+Int[PolyLog[n_,a_.*(b_.*x_^p_.)^q_.]/x_,x_Symbol] :=
+ PolyLog[n+1,a*(b*x^p)^q]/(p*q) /;
+FreeQ[{a,b,n,p,q},x]
+
+
+Int[x_^m_.*PolyLog[n_,a_.*(b_.*x_^p_.)^q_.],x_Symbol] :=
+ x^(m+1)*PolyLog[n,a*(b*x^p)^q]/(m+1) -
+ p*q/(m+1)*Int[x^m*PolyLog[n-1,a*(b*x^p)^q],x] /;
+FreeQ[{a,b,m,p,q},x] && NeQ[m+1] && RationalQ[n] && n>0
+
+
+Int[x_^m_.*PolyLog[n_,a_.*(b_.*x_^p_.)^q_.],x_Symbol] :=
+ x^(m+1)*PolyLog[n+1,a*(b*x^p)^q]/(p*q) -
+ (m+1)/(p*q)*Int[x^m*PolyLog[n+1,a*(b*x^p)^q],x] /;
+FreeQ[{a,b,m,p,q},x] && NeQ[m+1] && RationalQ[n] && n<-1
+
+
+Int[Log[c_.*x_^m_.]^r_.*PolyLog[n_,a_.*(b_.*x_^p_.)^q_.]/x_,x_Symbol] :=
+ Log[c*x^m]^r*PolyLog[n+1,a*(b*x^p)^q]/(p*q) -
+ m*r/(p*q)*Int[Log[c*x^m]^(r-1)*PolyLog[n+1,a*(b*x^p)^q]/x,x] /;
+FreeQ[{a,b,c,m,n,q,r},x] && RationalQ[r] && r>0
+
+
+Int[PolyLog[n_,c_.*(a_.+b_.*x_)^p_.],x_Symbol] :=
+ x*PolyLog[n,c*(a+b*x)^p] -
+ p*Int[PolyLog[n-1,c*(a+b*x)^p],x] +
+ a*p*Int[PolyLog[n-1,c*(a+b*x)^p]/(a+b*x),x] /;
+FreeQ[{a,b,c,p},x] && RationalQ[n] && n>0
+
+
+Int[PolyLog[2,c_.*(a_.+b_.*x_)]/(d_.+e_.*x_),x_Symbol] :=
+ Log[d+e*x]*PolyLog[2,c*(a+b*x)]/e + b/e*Int[Log[d+e*x]*Log[1-a*c-b*c*x]/(a+b*x),x] /;
+FreeQ[{a,b,c,d,e},x]
+
+
+Int[(d_.+e_.*x_)^m_.*PolyLog[2,c_.*(a_.+b_.*x_)],x_Symbol] :=
+ (d+e*x)^(m+1)*PolyLog[2,c*(a+b*x)]/(e*(m+1)) + b/(e*(m+1))*Int[(d+e*x)^(m+1)*Log[1-a*c-b*c*x]/(a+b*x),x] /;
+FreeQ[{a,b,c,d,e,m},x] && NeQ[m,-1]
+
+
+(* Int[x_^m_.*PolyLog[n_,c_.*(a_.+b_.*x_)^p_.],x_Symbol] :=
+ x^(m+1)*PolyLog[n,c*(a+b*x)^p]/(m+1) -
+ b*p/(m+1)*Int[x^(m+1)*PolyLog[n-1,c*(a+b*x)^p]/(a+b*x),x] /;
+FreeQ[{a,b,c,m,p},x] && RationalQ[n] && n>0 && PositiveIntegerQ[m] *)
+
+
+Int[x_^m_.*PolyLog[n_,c_.*(a_.+b_.*x_)^p_.],x_Symbol] :=
+ -(a^(m+1)-b^(m+1)*x^(m+1))*PolyLog[n,c*(a+b*x)^p]/((m+1)*b^(m+1)) +
+ p/((m+1)*b^m)*Int[ExpandIntegrand[PolyLog[n-1,c*(a+b*x)^p],(a^(m+1)-b^(m+1)*x^(m+1))/(a+b*x),x],x] /;
+FreeQ[{a,b,c,p},x] && GtQ[n,0] && IntegerQ[m] && Not[EqQ[m,-1]]
+
+
+Int[PolyLog[n_,d_.*(F_^(c_.*(a_.+b_.*x_)))^p_.],x_Symbol] :=
+ PolyLog[n+1,d*(F^(c*(a+b*x)))^p]/(b*c*p*Log[F]) /;
+FreeQ[{F,a,b,c,d,n,p},x]
+
+
+Int[(e_.+f_.*x_)^m_.*PolyLog[n_,d_.*(F_^(c_.*(a_.+b_.*x_)))^p_.],x_Symbol] :=
+ (e+f*x)^m*PolyLog[n+1,d*(F^(c*(a+b*x)))^p]/(b*c*p*Log[F]) -
+ f*m/(b*c*p*Log[F])*Int[(e+f*x)^(m-1)*PolyLog[n+1,d*(F^(c*(a+b*x)))^p],x] /;
+FreeQ[{F,a,b,c,d,e,f,n,p},x] && RationalQ[m] && m>0
+
+
+Int[u_*PolyLog[n_,v_],x_Symbol] :=
+ With[{w=DerivativeDivides[v,u*v,x]},
+ w*PolyLog[n+1,v] /;
+ Not[FalseQ[w]]] /;
+FreeQ[n,x]
+
+
+Int[u_*Log[w_]*PolyLog[n_,v_],x_Symbol] :=
+ With[{z=DerivativeDivides[v,u*v,x]},
+ z*Log[w]*PolyLog[n+1,v] -
+ Int[SimplifyIntegrand[z*D[w,x]*PolyLog[n+1,v]/w,x],x] /;
+ Not[FalseQ[z]]] /;
+FreeQ[n,x] && InverseFunctionFreeQ[w,x]
+
+
+
+
+
+(* ::Subsection::Closed:: *)
+(*8.9 Product logarithm function*)
+
+
+Int[(c_.*ProductLog[a_.+b_.*x_])^p_,x_Symbol] :=
+ (a+b*x)*(c*ProductLog[a+b*x])^p/(b*(p+1)) +
+ p/(c*(p+1))*Int[(c*ProductLog[a+b*x])^(p+1)/(1+ProductLog[a+b*x]),x] /;
+FreeQ[{a,b,c},x] && RationalQ[p] && p<-1
+
+
+Int[(c_.*ProductLog[a_.+b_.*x_])^p_.,x_Symbol] :=
+ (a+b*x)*(c*ProductLog[a+b*x])^p/b -
+ p*Int[(c*ProductLog[a+b*x])^p/(1+ProductLog[a+b*x]),x] /;
+FreeQ[{a,b,c},x] && Not[RationalQ[p] && p<-1]
+
+
+Int[x_^m_.*(c_.*ProductLog[a_+b_.*x_])^p_.,x_Symbol] :=
+ 1/b*Subst[Int[ExpandIntegrand[(c*ProductLog[x])^p,(-a/b+x/b)^m,x],x],x,a+b*x] /;
+FreeQ[{a,b,c,p},x] && PositiveIntegerQ[m]
+
+
+Int[(c_.*ProductLog[a_.*x_^n_])^p_.,x_Symbol] :=
+ x*(c*ProductLog[a*x^n])^p -
+ n*p*Int[(c*ProductLog[a*x^n])^p/(1+ProductLog[a*x^n]),x] /;
+FreeQ[{a,c,n,p},x] && (EqQ[n*(p-1)+1] || IntegerQ[p-1/2] && EqQ[n*(p-1/2)+1])
+
+
+Int[(c_.*ProductLog[a_.*x_^n_])^p_.,x_Symbol] :=
+ x*(c*ProductLog[a*x^n])^p/(n*p+1) +
+ n*p/(c*(n*p+1))*Int[(c*ProductLog[a*x^n])^(p+1)/(1+ProductLog[a*x^n]),x] /;
+FreeQ[{a,c,n},x] && (IntegerQ[p] && EqQ[n*(p+1)+1] || IntegerQ[p-1/2] && EqQ[n*(p+1/2)+1])
+
+
+Int[(c_.*ProductLog[a_.*x_^n_])^p_.,x_Symbol] :=
+ -Subst[Int[(c*ProductLog[a*x^(-n)])^p/x^2,x],x,1/x] /;
+FreeQ[{a,c,p},x] && NegativeIntegerQ[n]
+
+
+Int[x_^m_.*(c_.*ProductLog[a_.*x_^n_.])^p_.,x_Symbol] :=
+ x^(m+1)*(c*ProductLog[a*x^n])^p/(m+1) -
+ n*p/(m+1)*Int[x^m*(c*ProductLog[a*x^n])^p/(1+ProductLog[a*x^n]),x] /;
+FreeQ[{a,c,m,n,p},x] && NeQ[m+1] &&
+(IntegerQ[p-1/2] && IntegerQ[2*Simplify[p+(m+1)/n]] && Simplify[p+(m+1)/n]>0 ||
+ Not[IntegerQ[p-1/2]] && IntegerQ[Simplify[p+(m+1)/n]] && Simplify[p+(m+1)/n]>=0)
+
+
+Int[x_^m_.*(c_.*ProductLog[a_.*x_^n_.])^p_.,x_Symbol] :=
+ x^(m+1)*(c*ProductLog[a*x^n])^p/(m+n*p+1) +
+ n*p/(c*(m+n*p+1))*Int[x^m*(c*ProductLog[a*x^n])^(p+1)/(1+ProductLog[a*x^n]),x] /;
+FreeQ[{a,c,m,n,p},x] &&
+(EqQ[m+1] ||
+ IntegerQ[p-1/2] && IntegerQ[Simplify[p+(m+1)/n]-1/2] && Simplify[p+(m+1)/n]<0 ||
+ Not[IntegerQ[p-1/2]] && IntegerQ[Simplify[p+(m+1)/n]] && Simplify[p+(m+1)/n]<0)
+
+
+Int[x_^m_.*(c_.*ProductLog[a_.*x_])^p_.,x_Symbol] :=
+ Int[x^m*(c*ProductLog[a*x])^p/(1+ProductLog[a*x]),x] +
+ 1/c*Int[x^m*(c*ProductLog[a*x])^(p+1)/(1+ProductLog[a*x]),x] /;
+FreeQ[{a,c,m},x]
+
+
+Int[x_^m_.*(c_.*ProductLog[a_.*x_^n_])^p_.,x_Symbol] :=
+ -Subst[Int[(c*ProductLog[a*x^(-n)])^p/x^(m+2),x],x,1/x] /;
+FreeQ[{a,c,p},x] && IntegersQ[m,n] && n<0 && NeQ[m+1]
+
+
+Int[1/(d_+d_.*ProductLog[a_.+b_.*x_]),x_Symbol] :=
+ (a+b*x)/(b*d*ProductLog[a+b*x]) /;
+FreeQ[{a,b,d},x]
+
+
+Int[ProductLog[a_.+b_.*x_]/(d_+d_.*ProductLog[a_.+b_.*x_]),x_Symbol] :=
+ d*x -
+ Int[1/(d+d*ProductLog[a+b*x]),x] /;
+FreeQ[{a,b,d},x]
+
+
+Int[(c_.*ProductLog[a_.+b_.*x_])^p_/(d_+d_.*ProductLog[a_.+b_.*x_]),x_Symbol] :=
+ c*(a+b*x)*(c*ProductLog[a+b*x])^(p-1)/(b*d) -
+ c*p*Int[(c*ProductLog[a+b*x])^(p-1)/(d+d*ProductLog[a+b*x]),x] /;
+FreeQ[{a,b,c,d},x] && RationalQ[p] && p>0
+
+
+Int[1/(ProductLog[a_.+b_.*x_]*(d_+d_.*ProductLog[a_.+b_.*x_])),x_Symbol] :=
+ ExpIntegralEi[ProductLog[a+b*x]]/(b*d) /;
+FreeQ[{a,b,d},x]
+
+
+Int[1/(Sqrt[c_.*ProductLog[a_.+b_.*x_]]*(d_+d_.*ProductLog[a_.+b_.*x_])),x_Symbol] :=
+ Rt[Pi*c,2]*Erfi[Sqrt[c*ProductLog[a+b*x]]/Rt[c,2]]/(b*c*d) /;
+FreeQ[{a,b,c,d},x] && PosQ[c]
+
+
+Int[1/(Sqrt[c_.*ProductLog[a_.+b_.*x_]]*(d_+d_.*ProductLog[a_.+b_.*x_])),x_Symbol] :=
+ Rt[-Pi*c,2]*Erf[Sqrt[c*ProductLog[a+b*x]]/Rt[-c,2]]/(b*c*d) /;
+FreeQ[{a,b,c,d},x] && NegQ[c]
+
+
+Int[(c_.*ProductLog[a_.+b_.*x_])^p_/(d_+d_.*ProductLog[a_.+b_.*x_]),x_Symbol] :=
+ (a+b*x)*(c*ProductLog[a+b*x])^p/(b*d*(p+1)) -
+ 1/(c*(p+1))*Int[(c*ProductLog[a+b*x])^(p+1)/(d+d*ProductLog[a+b*x]),x] /;
+FreeQ[{a,b,c,d},x] && RationalQ[p] && p<-1
+
+
+Int[(c_.*ProductLog[a_.+b_.*x_])^p_./(d_+d_.*ProductLog[a_.+b_.*x_]),x_Symbol] :=
+ Gamma[p+1,-ProductLog[a+b*x]]*(c*ProductLog[a+b*x])^p/(b*d*(-ProductLog[a+b*x])^p) /;
+FreeQ[{a,b,c,d,p},x]
+
+
+Int[x_^m_./(d_+d_.*ProductLog[a_+b_.*x_]),x_Symbol] :=
+ 1/b*Subst[Int[ExpandIntegrand[1/(d+d*ProductLog[x]),(-a/b+x/b)^m,x],x],x,a+b*x] /;
+FreeQ[{a,b,d},x] && PositiveIntegerQ[m]
+
+
+Int[x_^m_.*(c_.*ProductLog[a_+b_.*x_])^p_./(d_+d_.*ProductLog[a_+b_.*x_]),x_Symbol] :=
+ 1/b*Subst[Int[ExpandIntegrand[(c*ProductLog[x])^p/(d+d*ProductLog[x]),(-a/b+x/b)^m,x],x],x,a+b*x] /;
+FreeQ[{a,b,c,d,p},x] && PositiveIntegerQ[m]
+
+
+Int[1/(d_+d_.*ProductLog[a_.*x_^n_]),x_Symbol] :=
+ -Subst[Int[1/(x^2*(d+d*ProductLog[a*x^(-n)])),x],x,1/x] /;
+FreeQ[{a,d},x] && NegativeIntegerQ[n]
+
+
+Int[(c_.*ProductLog[a_.*x_^n_.])^p_./(d_+d_.*ProductLog[a_.*x_^n_.]),x_Symbol] :=
+ c*x*(c*ProductLog[a*x^n])^(p-1)/d /;
+FreeQ[{a,c,d,n,p},x] && EqQ[n*(p-1)+1]
+
+
+Int[ProductLog[a_.*x_^n_.]^p_./(d_+d_.*ProductLog[a_.*x_^n_.]),x_Symbol] :=
+ a^p*ExpIntegralEi[-p*ProductLog[a*x^n]]/(d*n) /;
+FreeQ[{a,d},x] && IntegerQ[1/n] && EqQ[p+1/n]
+
+
+Int[(c_.*ProductLog[a_.*x_^n_.])^p_/(d_+d_.*ProductLog[a_.*x_^n_.]),x_Symbol] :=
+ Rt[Pi*c*n,2]/(d*n*a^(1/n)*c^(1/n))*Erfi[Sqrt[c*ProductLog[a*x^n]]/Rt[c*n,2]] /;
+FreeQ[{a,c,d},x] && IntegerQ[1/n] && EqQ[p-1/2+1/n] && PosQ[c*n]
+
+
+Int[(c_.*ProductLog[a_.*x_^n_.])^p_/(d_+d_.*ProductLog[a_.*x_^n_.]),x_Symbol] :=
+ Rt[-Pi*c*n,2]/(d*n*a^(1/n)*c^(1/n))*Erf[Sqrt[c*ProductLog[a*x^n]]/Rt[-c*n,2]] /;
+FreeQ[{a,c,d},x] && IntegerQ[1/n] && EqQ[p-1/2+1/n] && NegQ[c*n]
+
+
+Int[(c_.*ProductLog[a_.*x_^n_.])^p_./(d_+d_.*ProductLog[a_.*x_^n_.]),x_Symbol] :=
+ c*x*(c*ProductLog[a*x^n])^(p-1)/d -
+ c*(n*(p-1)+1)*Int[(c*ProductLog[a*x^n])^(p-1)/(d+d*ProductLog[a*x^n]),x] /;
+FreeQ[{a,c,d},x] && RationalQ[n,p] && n>0 && n*(p-1)+1>0
+
+
+Int[(c_.*ProductLog[a_.*x_^n_.])^p_./(d_+d_.*ProductLog[a_.*x_^n_.]),x_Symbol] :=
+ x*(c*ProductLog[a*x^n])^p/(d*(n*p+1)) -
+ 1/(c*(n*p+1))*Int[(c*ProductLog[a*x^n])^(p+1)/(d+d*ProductLog[a*x^n]),x] /;
+FreeQ[{a,c,d},x] && RationalQ[n,p] && n>0 && n*p+1<0
+
+
+Int[(c_.*ProductLog[a_.*x_^n_])^p_./(d_+d_.*ProductLog[a_.*x_^n_]),x_Symbol] :=
+ -Subst[Int[(c*ProductLog[a*x^(-n)])^p/(x^2*(d+d*ProductLog[a*x^(-n)])),x],x,1/x] /;
+FreeQ[{a,c,d,p},x] && NegativeIntegerQ[n]
+
+
+Int[x_^m_./(d_+d_.*ProductLog[a_.*x_]),x_Symbol] :=
+ x^(m+1)/(d*(m+1)*ProductLog[a*x]) -
+ m/(m+1)*Int[x^m/(ProductLog[a*x]*(d+d*ProductLog[a*x])),x] /;
+FreeQ[{a,d},x] && RationalQ[m] && m>0
+
+
+Int[1/(x_*(d_+d_.*ProductLog[a_.*x_])),x_Symbol] :=
+ Log[ProductLog[a*x]]/d /;
+FreeQ[{a,d},x]
+
+
+Int[x_^m_./(d_+d_.*ProductLog[a_.*x_]),x_Symbol] :=
+ x^(m+1)/(d*(m+1)) -
+ Int[x^m*ProductLog[a*x]/(d+d*ProductLog[a*x]),x] /;
+FreeQ[{a,d},x] && RationalQ[m] && m<-1
+
+
+Int[x_^m_./(d_+d_.*ProductLog[a_.*x_]),x_Symbol] :=
+ x^m*Gamma[m+1,-(m+1)*ProductLog[a*x]]/
+ (a*d*(m+1)*E^(m*ProductLog[a*x])*(-(m+1)*ProductLog[a*x])^m) /;
+FreeQ[{a,d,m},x] && Not[IntegerQ[m]]
+
+
+Int[1/(x_*(d_+d_.*ProductLog[a_.*x_^n_.])),x_Symbol] :=
+ Log[ProductLog[a*x^n]]/(d*n) /;
+FreeQ[{a,d,n},x]
+
+
+Int[x_^m_./(d_+d_.*ProductLog[a_.*x_^n_]),x_Symbol] :=
+ -Subst[Int[1/(x^(m+2)*(d+d*ProductLog[a*x^(-n)])),x],x,1/x] /;
+FreeQ[{a,d},x] && IntegersQ[m,n] && n<0 && NeQ[m+1]
+
+
+Int[(c_.*ProductLog[a_.*x_^n_.])^p_./(x_*(d_+d_.*ProductLog[a_.*x_^n_.])),x_Symbol] :=
+ (c*ProductLog[a*x^n])^p/(d*n*p) /;
+FreeQ[{a,c,d,n,p},x]
+
+
+Int[x_^m_.*(c_.*ProductLog[a_.*x_^n_.])^p_./(d_+d_.*ProductLog[a_.*x_^n_.]),x_Symbol] :=
+ c*x^(m+1)*(c*ProductLog[a*x^n])^(p-1)/(d*(m+1)) /;
+FreeQ[{a,c,d,m,n,p},x] && NeQ[m+1] && EqQ[m+n*(p-1)+1]
+
+
+Int[x_^m_.*ProductLog[a_.*x_^n_.]^p_./(d_+d_.*ProductLog[a_.*x_^n_.]),x_Symbol] :=
+ a^p*ExpIntegralEi[-p*ProductLog[a*x^n]]/(d*n) /;
+FreeQ[{a,d,m,n},x] && IntegerQ[p] && EqQ[m+n*p+1]
+
+
+Int[x_^m_.*(c_.*ProductLog[a_.*x_^n_.])^p_/(d_+d_.*ProductLog[a_.*x_^n_.]),x_Symbol] :=
+ a^(p-1/2)*c^(p-1/2)*Rt[Pi*c/(p-1/2),2]*Erf[Sqrt[c*ProductLog[a*x^n]]/Rt[c/(p-1/2),2]]/(d*n) /;
+FreeQ[{a,c,d,m,n},x] && NeQ[m+1] && IntegerQ[p-1/2] && EqQ[m+n*(p-1/2)+1] && PosQ[c/(p-1/2)]
+
+
+Int[x_^m_.*(c_.*ProductLog[a_.*x_^n_.])^p_/(d_+d_.*ProductLog[a_.*x_^n_.]),x_Symbol] :=
+ a^(p-1/2)*c^(p-1/2)*Rt[-Pi*c/(p-1/2),2]*Erfi[Sqrt[c*ProductLog[a*x^n]]/Rt[-c/(p-1/2),2]]/(d*n) /;
+FreeQ[{a,c,d,m,n},x] && NeQ[m+1] && IntegerQ[p-1/2] && EqQ[m+n*(p-1/2)+1] && NegQ[c/(p-1/2)]
+
+
+Int[x_^m_.*(c_.*ProductLog[a_.*x_^n_.])^p_./(d_+d_.*ProductLog[a_.*x_^n_.]),x_Symbol] :=
+ c*x^(m+1)*(c*ProductLog[a*x^n])^(p-1)/(d*(m+1)) -
+ c*(m+n*(p-1)+1)/(m+1)*Int[x^m*(c*ProductLog[a*x^n])^(p-1)/(d+d*ProductLog[a*x^n]),x] /;
+FreeQ[{a,c,d,m,n,p},x] && NeQ[m+1] && RationalQ[Simplify[p+(m+1)/n]] && Simplify[p+(m+1)/n]>1
+
+
+Int[x_^m_.*(c_.*ProductLog[a_.*x_^n_.])^p_./(d_+d_.*ProductLog[a_.*x_^n_.]),x_Symbol] :=
+ x^(m+1)*(c*ProductLog[a*x^n])^p/(d*(m+n*p+1)) -
+ (m+1)/(c*(m+n*p+1))*Int[x^m*(c*ProductLog[a*x^n])^(p+1)/(d+d*ProductLog[a*x^n]),x] /;
+FreeQ[{a,c,d,m,n,p},x] && NeQ[m+1] && RationalQ[Simplify[p+(m+1)/n]] && Simplify[p+(m+1)/n]<0
+
+
+Int[x_^m_.*(c_.*ProductLog[a_.*x_])^p_./(d_+d_.*ProductLog[a_.*x_]),x_Symbol] :=
+ x^m*Gamma[m+p+1,-(m+1)*ProductLog[a*x]]*(c*ProductLog[a*x])^p/
+ (a*d*(m+1)*E^(m*ProductLog[a*x])*(-(m+1)*ProductLog[a*x])^(m+p)) /;
+FreeQ[{a,c,d,m,p},x] && NeQ[m+1]
+
+
+Int[x_^m_.*(c_.*ProductLog[a_.*x_^n_.])^p_./(d_+d_.*ProductLog[a_.*x_^n_.]),x_Symbol] :=
+ -Subst[Int[(c*ProductLog[a*x^(-n)])^p/(x^(m+2)*(d+d*ProductLog[a*x^(-n)])),x],x,1/x] /;
+FreeQ[{a,c,d,p},x] && NeQ[m+1] && IntegersQ[m,n] && n<0
+
+
+Int[u_,x_Symbol] :=
+ Subst[Int[SimplifyIntegrand[(x+1)*E^x*SubstFor[ProductLog[x],u,x],x],x],x,ProductLog[x]] /;
+FunctionOfQ[ProductLog[x],u,x]
+
+
+
+`)
+
+func resourcesRubi8SpecialFunctionsMBytes() ([]byte, error) {
+ return _resourcesRubi8SpecialFunctionsM, nil
+}
+
+func resourcesRubi8SpecialFunctionsM() (*asset, error) {
+ bytes, err := resourcesRubi8SpecialFunctionsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/8 Special functions.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi91IntegrandSimplificationRulesM = []byte(`(* ::Package:: *)
+
+(************************************************************************)
+(* This file was generated automatically by the Mathematica front end. *)
+(* It contains Initialization cells from a Notebook file, which *)
+(* typically will have the same name as this file except ending in *)
+(* ".nb" instead of ".m". *)
+(* *)
+(* This file is intended to be loaded into the Mathematica kernel using *)
+(* the package loading commands Get or Needs. Doing so is equivalent *)
+(* to using the Evaluate Initialization Cells menu command in the front *)
+(* end. *)
+(* *)
+(* DO NOT EDIT THIS FILE. This entire file is regenerated *)
+(* automatically each time the parent Notebook file is saved in the *)
+(* Mathematica front end. Any changes you make to this file will be *)
+(* overwritten. *)
+(************************************************************************)
+
+
+
+(* ::Code:: *)
+(* Int[u_.*(v_+w_)^p_.,x_Symbol] :=
+ Int[u*w^p,x] /;
+FreeQ[p,x] && EqQ[v] *)
+
+
+(* ::Code:: *)
+Int[u_.*(a_+b_.*x_^n_.)^p_.,x_Symbol] :=
+ Int[u*(b*x^n)^p,x] /;
+FreeQ[{a,b,n,p},x] && EqQ[a]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.+b_.*x_^n_.)^p_.,x_Symbol] :=
+ Int[u*a^p,x] /;
+FreeQ[{a,b,n,p},x] && EqQ[b]
+
+
+(* ::Code:: *)
+Int[u_.*(a_+b_.*x_^n_.+c_.*x_^j_.)^p_.,x_Symbol] :=
+ Int[u*(b*x^n+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[j-2*n] && EqQ[a]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.+b_.*x_^n_.+c_.*x_^j_.)^p_.,x_Symbol] :=
+ Int[u*(a+c*x^(2*n))^p,x] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[j-2*n] && EqQ[b]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.+b_.*x_^n_.+c_.*x_^j_.)^p_.,x_Symbol] :=
+ Int[u*(a+b*x^n)^p,x] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[j-2*n] && EqQ[c]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.*v_+b_.*v_+w_.)^p_.,x_Symbol] :=
+ Int[u*((a+b)*v+w)^p,x] /;
+FreeQ[{a,b},x] && Not[FreeQ[v,x]]
+
+
+(* ::Code:: *)
+Int[u_.*Pm_^p_,x_Symbol] :=
+ Int[u*Pm^Simplify[p],x] /;
+PolyQ[Pm,x] && Not[RationalQ[p]] && FreeQ[p,x] && RationalQ[Simplify[p]]
+
+
+(* ::Code:: *)
+Int[a_,x_Symbol] :=
+ a*x /;
+FreeQ[a,x]
+
+
+(* ::Code:: *)
+Int[a_*(b_+c_.*x_),x_Symbol] :=
+ a*(b+c*x)^2/(2*c) /;
+FreeQ[{a,b,c},x]
+
+
+(* ::Code:: *)
+Int[-u_,x_Symbol] :=
+ Identity[-1]*Int[u,x]
+
+
+(* ::Code:: *)
+Int[Complex[0,a_]*u_,x_Symbol] :=
+ Complex[Identity[0],a]*Int[u,x] /;
+FreeQ[a,x] && EqQ[a^2,1]
+
+
+(* ::Code:: *)
+Int[a_*u_,x_Symbol] :=
+ a*Int[u,x] /;
+FreeQ[a,x] && Not[MatchQ[u, b_*v_ /; FreeQ[b,x]]]
+
+
+(* ::Code:: *)
+If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ ShowStep["","Int[a*u + b*v + \[CenterEllipsis],x]","a*Integrate[u,x] + b*Integrate[v,x] + \[CenterEllipsis]",Hold[
+ IntSum[u,x]]] /;
+SimplifyFlag && SumQ[u],
+
+Int[u_,x_Symbol] :=
+ IntSum[u,x] /;
+SumQ[u]]
+
+
+(* ::Code:: *)
+Int[(c_.*x_)^m_.*u_,x_Symbol] :=
+ Int[ExpandIntegrand[(c*x)^m*u,x],x] /;
+FreeQ[{c,m},x] && SumQ[u] && Not[LinearQ[u,x]] && Not[MatchQ[u,a_+b_.*v_ /; FreeQ[{a,b},x] && InverseFunctionQ[v]]]
+
+
+(* ::Code:: *)
+Int[u_.*v_^m_.*(b_*v_)^n_,x_Symbol] :=
+ 1/b^m*Int[u*(b*v)^(m+n),x] /;
+FreeQ[{b,n},x] && IntegerQ[m]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.*v_)^m_*(b_.*v_)^n_,x_Symbol] :=
+ a^(m+1/2)*b^(n-1/2)*Sqrt[b*v]/Sqrt[a*v]*Int[u*v^(m+n),x] /;
+FreeQ[{a,b,m},x] && Not[IntegerQ[m]] && PositiveIntegerQ[n+1/2] && IntegerQ[m+n]
+
+
+(* ::Code:: *)
+(* Int[u_.*(a_.*v_)^m_*(b_.*v_)^n_,x_Symbol] :=
+ b^(n-1/2)*Sqrt[b*v]/(a^(n-1/2)*Sqrt[a*v])*Int[u*(a*v)^(m+n),x] /;
+FreeQ[{a,b,m},x] && Not[IntegerQ[m]] && PositiveIntegerQ[n+1/2] && Not[IntegerQ[m+n]] *)
+
+
+(* ::Code:: *)
+Int[u_.*(a_.*v_)^m_*(b_.*v_)^n_,x_Symbol] :=
+ a^(m-1/2)*b^(n+1/2)*Sqrt[a*v]/Sqrt[b*v]*Int[u*v^(m+n),x] /;
+FreeQ[{a,b,m},x] && Not[IntegerQ[m]] && NegativeIntegerQ[n-1/2] && IntegerQ[m+n]
+
+
+(* ::Code:: *)
+(* Int[u_.*(a_.*v_)^m_*(b_.*v_)^n_,x_Symbol] :=
+ b^(n+1/2)*Sqrt[a*v]/(a^(n+1/2)*Sqrt[b*v])*Int[u*(a*v)^(m+n),x] /;
+FreeQ[{a,b,m},x] && Not[IntegerQ[m]] && NegativeIntegerQ[n-1/2] && Not[IntegerQ[m+n]] *)
+
+
+(* ::Code:: *)
+Int[u_.*(a_.*v_)^m_*(b_.*v_)^n_,x_Symbol] :=
+ a^(m+n)*(b*v)^n/(a*v)^n*Int[u*v^(m+n),x] /;
+FreeQ[{a,b,m,n},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && IntegerQ[m+n]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.*v_)^m_*(b_.*v_)^n_,x_Symbol] :=
+ b^IntPart[n]*(b*v)^FracPart[n]/(a^IntPart[n]*(a*v)^FracPart[n])*Int[u*(a*v)^(m+n),x] /;
+FreeQ[{a,b,m,n},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && Not[IntegerQ[m+n]]
+
+
+(* ::Code:: *)
+Int[u_.*(a_+b_.*v_)^m_.*(c_+d_.*v_)^n_.,x_Symbol] :=
+ (b/d)^m*Int[u*(c+d*v)^(m+n),x] /;
+FreeQ[{a,b,c,d,n},x] && EqQ[b*c-a*d] && IntegerQ[m] && (Not[IntegerQ[n]] || SimplerQ[c+d*x,a+b*x])
+
+
+(* ::Code:: *)
+Int[u_.*(a_+b_.*v_)^m_*(c_+d_.*v_)^n_,x_Symbol] :=
+ (b/d)^m*Int[u*(c+d*v)^(m+n),x] /;
+FreeQ[{a,b,c,d,m,n},x] && EqQ[b*c-a*d] && PositiveQ[b/d] && Not[IntegerQ[m] || IntegerQ[n]]
+
+
+(* ::Code:: *)
+Int[u_.*(a_+b_.*v_)^m_*(c_+d_.*v_)^n_,x_Symbol] :=
+ (a+b*v)^m/(c+d*v)^m*Int[u*(c+d*v)^(m+n),x] /;
+FreeQ[{a,b,c,d,m,n},x] && EqQ[b*c-a*d] && Not[IntegerQ[m] || IntegerQ[n] || PositiveQ[b/d]]
+
+
+(* ::Code:: *)
+(* Int[u_.*(a_+b_.*v_)^m_.*(c_+d_.*v_)^m_.,x_Symbol] :=
+ Int[u*(a*c+b*d*v^2)^m,x] /;
+FreeQ[{a,b,c,d,m},x] && EqQ[b*c+a*d] && (IntegerQ[m] || PositiveQ[a] && PositiveQ[c]) &&
+ (Not[AlgebraicFunctionQ[u,x]] || Not[MatchQ[v,e_.*x^n_. /; FreeQ[{e,n},x]]]) *)
+
+
+(* ::Code:: *)
+(* Int[u_.*(a_+b_.*v_)^m_*(c_+d_.*v_)^m_,x_Symbol] :=
+ (a+b*v)^FracPart[m]*(c+d*v)^FracPart[m]/(a*c+b*d*v^2)^FracPart[m]*Int[u*(a*c+b*d*v^2)^m,x] /;
+FreeQ[{a,b,c,d,m},x] && EqQ[b*c+a*d] && Not[IntegerQ[m]] &&
+ (Not[AlgebraicFunctionQ[u,x]] || Not[MatchQ[v,e_.*x^n_. /; FreeQ[{e,n},x]]]) *)
+
+
+(* ::Code:: *)
+Int[u_.*(a_.*v_)^m_*(b_.*v_+c_.*v_^2),x_Symbol] :=
+ 1/a*Int[u*(a*v)^(m+1)*(b+c*v),x] /;
+FreeQ[{a,b,c},x] && RationalQ[m] && m<=-1
+
+
+(* ::Code:: *)
+Int[u_.*(a_+b_.*v_)^m_*(A_.+B_.*v_+C_.*v_^2),x_Symbol] :=
+ 1/b^2*Int[u*(a+b*v)^(m+1)*Simp[b*B-a*C+b*C*v,x],x] /;
+FreeQ[{a,b,A,B,C},x] && EqQ[A*b^2-a*b*B+a^2*C] && RationalQ[m] && m<=-1
+
+
+(* ::Code:: *)
+Int[u_.*(a_+b_.*x_^n_.)^m_.*(c_+d_.*x_^q_.)^p_.,x_Symbol] :=
+ (d/a)^p*Int[u*(a+b*x^n)^(m+p)/x^(n*p),x] /;
+FreeQ[{a,b,c,d,m,n},x] && EqQ[n+q] && IntegerQ[p] && EqQ[a*c-b*d] && Not[IntegerQ[m] && NegQ[n]]
+
+
+(* ::Code:: *)
+Int[u_.*(a_+b_.*x_^n_.)^m_.*(c_+d_.*x_^j_)^p_.,x_Symbol] :=
+ (-b^2/d)^m*Int[u*(a-b*x^n)^(-m),x] /;
+FreeQ[{a,b,c,d,m,n,p},x] && EqQ[j-2*n] && EqQ[m+p] && EqQ[b^2*c+a^2*d] && PositiveQ[a] && NegativeQ[d]
+
+
+(* ::Code:: *)
+Int[u_.*(a_+b_.*x_+c_.*x_^2)^p_.,x_Symbol] :=
+ Int[u*Cancel[(b/2+c*x)^(2*p)/c^p],x] /;
+FreeQ[{a,b,c},x] && EqQ[b^2-4*a*c] && IntegerQ[p]
+
+
+(* ::Code:: *)
+Int[u_.*(a_+b_.*x_^n_+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ 1/c^p*Int[u*(b/2+c*x^n)^(2*p),x] /;
+FreeQ[{a,b,c,n},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && IntegerQ[p]
+
+
+(* ::Code:: *)
+Int[Qr_/Pq_,x_Symbol] :=
+ With[{q=Expon[Pq,x],r=Expon[Qr,x]},
+ Coeff[Qr,x,r]*Log[RemoveContent[Pq,x]]/(q*Coeff[Pq,x,q]) /;
+ EqQ[r,q-1] && EqQ[Coeff[Qr,x,r]*D[Pq,x],q*Coeff[Pq,x,q]*Qr]] /;
+PolyQ[Pq,x] && PolyQ[Qr,x]
+
+
+(* ::Code:: *)
+Int[Qr_*Pq_^p_.,x_Symbol] :=
+ With[{q=Expon[Pq,x],r=Expon[Qr,x]},
+ Coeff[Qr,x,r]*Pq^(p+1)/(q*(p+1)*Coeff[Pq,x,q]) /;
+ EqQ[r,q-1] && EqQ[Coeff[Qr,x,r]*D[Pq,x],q*Coeff[Pq,x,q]*Qr]] /;
+FreeQ[p,x] && PolyQ[Pq,x] && PolyQ[Qr,x] && NeQ[p,-1]
+
+
+(* ::Code:: *)
+Int[x_^m_.*(a1_+b1_.*x_^n_.)^p_*(a2_+b2_.*x_^n_.)^p_,x_Symbol] :=
+ (a1+b1*x^n)^(p+1)*(a2+b2*x^n)^(p+1)/(2*b1*b2*n*(p+1)) /;
+FreeQ[{a1,b1,a2,b2,m,n,p},x] && EqQ[a2*b1+a1*b2,0] && EqQ[m-2*n+1,0] && NeQ[p,-1]
+
+
+(* ::Code:: *)
+Int[Qr_*(a_.+b_.*Pq_^n_.)^p_.,x_Symbol] :=
+ With[{q=Expon[Pq,x],r=Expon[Qr,x]},
+ Coeff[Qr,x,r]/(q*Coeff[Pq,x,q])*Subst[Int[(a+b*x^n)^p,x],x,Pq] /;
+ EqQ[r,q-1] && EqQ[Coeff[Qr,x,r]*D[Pq,x],q*Coeff[Pq,x,q]*Qr]] /;
+FreeQ[{a,b,n,p},x] && PolyQ[Pq,x] && PolyQ[Qr,x]
+
+
+(* ::Code:: *)
+Int[Qr_*(a_.+b_.*Pq_^n_.+c_.*Pq_^n2_.)^p_.,x_Symbol] :=
+ Module[{q=Expon[Pq,x],r=Expon[Qr,x]},
+ Coeff[Qr,x,r]/(q*Coeff[Pq,x,q])*Subst[Int[(a+b*x^n+c*x^(2*n))^p,x],x,Pq] /;
+ EqQ[r,q-1] && EqQ[Coeff[Qr,x,r]*D[Pq,x],q*Coeff[Pq,x,q]*Qr]] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[n2,2*n] && PolyQ[Pq,x] && PolyQ[Qr,x]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.*x_^p_.+b_.*x_^q_.)^m_.,x_Symbol] :=
+ Int[u*x^(m*p)*(a+b*x^(q-p))^m,x] /;
+FreeQ[{a,b,p,q},x] && IntegerQ[m] && PosQ[q-p]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.*x_^p_.+b_.*x_^q_.+c_.*x_^r_.)^m_.,x_Symbol] :=
+ Int[u*x^(m*p)*(a+b*x^(q-p)+c*x^(r-p))^m,x] /;
+FreeQ[{a,b,c,p,q,r},x] && IntegerQ[m] && PosQ[q-p] && PosQ[r-p]
+
+
+(* ::Code:: *)
+Int[u_.*Pq_^m_*Qr_^p_,x_Symbol] :=
+ Module[{gcd=PolyGCD[Pq,Qr,x]},
+ Int[u*gcd^(m+p)*PolynomialQuotient[Pq,gcd,x]^m*PolynomialQuotient[Qr,gcd,x]^p,x] /;
+ NeQ[gcd-1]] /;
+PositiveIntegerQ[m] && NegativeIntegerQ[p] && PolyQ[Pq,x] && PolyQ[Qr,x]
+
+
+(* ::Code:: *)
+Int[u_.*Pq_*Qr_^p_,x_Symbol] :=
+ Module[{gcd=PolyGCD[Pq,Qr,x]},
+ Int[u*gcd^(p+1)*PolynomialQuotient[Pq,gcd,x]*PolynomialQuotient[Qr,gcd,x]^p,x] /;
+ NeQ[gcd-1]] /;
+NegativeIntegerQ[p] && PolyQ[Pq,x] && PolyQ[Qr,x]
+
+
+
+`)
+
+func resourcesRubi91IntegrandSimplificationRulesMBytes() ([]byte, error) {
+ return _resourcesRubi91IntegrandSimplificationRulesM, nil
+}
+
+func resourcesRubi91IntegrandSimplificationRulesM() (*asset, error) {
+ bytes, err := resourcesRubi91IntegrandSimplificationRulesMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/9.1 Integrand simplification rules.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi92DerivativeIntegrationRulesM = []byte(`(* ::Package:: *)
+
+(************************************************************************)
+(* This file was generated automatically by the Mathematica front end. *)
+(* It contains Initialization cells from a Notebook file, which *)
+(* typically will have the same name as this file except ending in *)
+(* ".nb" instead of ".m". *)
+(* *)
+(* This file is intended to be loaded into the Mathematica kernel using *)
+(* the package loading commands Get or Needs. Doing so is equivalent *)
+(* to using the Evaluate Initialization Cells menu command in the front *)
+(* end. *)
+(* *)
+(* DO NOT EDIT THIS FILE. This entire file is regenerated *)
+(* automatically each time the parent Notebook file is saved in the *)
+(* Mathematica front end. Any changes you make to this file will be *)
+(* overwritten. *)
+(************************************************************************)
+
+
+
+(* ::Code:: *)
+Int[Derivative[n_][f_][x_],x_Symbol] :=
+ Derivative[n-1][f][x] /;
+FreeQ[{f,n},x]
+
+
+(* ::Code:: *)
+Int[(c_.*F_^(a_.+b_.*x_))^p_.*Derivative[n_][f_][x_],x_Symbol] :=
+ (c*F^(a+b*x))^p*Derivative[n-1][f][x] - b*p*Log[F]*Int[(c*F^(a+b*x))^p*Derivative[n-1][f][x],x] /;
+FreeQ[{a,b,c,f,F,p},x] && PositiveIntegerQ[n]
+
+
+(* ::Code:: *)
+Int[(c_.*F_^(a_.+b_.*x_))^p_.*Derivative[n_][f_][x_],x_Symbol] :=
+ (c*F^(a+b*x))^p*Derivative[n][f][x]/(b*p*Log[F]) - 1/(b*p*Log[F])*Int[(c*F^(a+b*x))^p*Derivative[n+1][f][x],x] /;
+FreeQ[{a,b,c,f,F,p},x] && NegativeIntegerQ[n]
+
+
+(* ::Code:: *)
+Int[Sin[a_.+b_.*x_]*Derivative[n_][f_][x_],x_Symbol] :=
+ Sin[a+b*x]*Derivative[n-1][f][x] - b*Int[Cos[a+b*x]*Derivative[n-1][f][x],x] /;
+FreeQ[{a,b,f},x] && PositiveIntegerQ[n]
+
+
+(* ::Code:: *)
+Int[Cos[a_.+b_.*x_]*Derivative[n_][f_][x_],x_Symbol] :=
+ Cos[a+b*x]*Derivative[n-1][f][x] + b*Int[Sin[a+b*x]*Derivative[n-1][f][x],x] /;
+FreeQ[{a,b,f},x] && PositiveIntegerQ[n]
+
+
+(* ::Code:: *)
+Int[Sin[a_.+b_.*x_]*Derivative[n_][f_][x_],x_Symbol] :=
+ -Cos[a+b*x]*Derivative[n][f][x]/b + 1/b*Int[Cos[a+b*x]*Derivative[n+1][f][x],x] /;
+FreeQ[{a,b,f},x] && NegativeIntegerQ[n]
+
+
+(* ::Code:: *)
+Int[Cos[a_.+b_.*x_]*Derivative[n_][f_][x_],x_Symbol] :=
+ Sin[a+b*x]*Derivative[n][f][x]/b - 1/b*Int[Sin[a+b*x]*Derivative[n+1][f][x],x] /;
+FreeQ[{a,b,f},x] && NegativeIntegerQ[n]
+
+
+(* ::Code:: *)
+Int[u_*Derivative[n_][f_][x_],x_Symbol] :=
+ Subst[Int[SimplifyIntegrand[SubstFor[Derivative[n-1][f][x],u,x],x],x],x,Derivative[n-1][f][x]] /;
+FreeQ[{f,n},x] && FunctionOfQ[Derivative[n-1][f][x],u,x]
+
+
+(* ::Code:: *)
+Int[u_*(a_.*Derivative[1][f_][x_]*g_[x_]+a_.*f_[x_]*Derivative[1][g_][x_]),x_Symbol] :=
+ a*Subst[Int[SimplifyIntegrand[SubstFor[f[x]*g[x],u,x],x],x],x,f[x]*g[x]] /;
+FreeQ[{a,f,g},x] && FunctionOfQ[f[x]*g[x],u,x]
+
+
+(* ::Code:: *)
+Int[u_*(a_.*Derivative[m_][f_][x_]*g_[x_]+a_.*Derivative[m1_][f_][x_]*Derivative[1][g_][x_]),x_Symbol] :=
+ a*Subst[Int[SimplifyIntegrand[SubstFor[Derivative[m-1][f][x]*g[x],u,x],x],x],x,Derivative[m-1][f][x]*g[x]] /;
+FreeQ[{a,f,g,m},x] && EqQ[m1-m+1] && FunctionOfQ[Derivative[m-1][f][x]*g[x],u,x]
+
+
+(* ::Code:: *)
+Int[u_*(a_.*Derivative[m_][f_][x_]*Derivative[n1_][g_][x_]+a_.*Derivative[m1_][f_][x_]*Derivative[n_][g_][x_]),x_Symbol] :=
+ a*Subst[Int[SimplifyIntegrand[SubstFor[Derivative[m-1][f][x]*Derivative[n-1][g][x],u,x],x],x],x,Derivative[m-1][f][x]*Derivative[n-1][g][x]] /;
+FreeQ[{a,f,g,m,n},x] && EqQ[m1-m+1] && EqQ[n1-n+1] && FunctionOfQ[Derivative[m-1][f][x]*Derivative[n-1][g][x],u,x]
+
+
+(* ::Code:: *)
+Int[u_*f_[x_]^p_.*(a_.*Derivative[1][f_][x_]*g_[x_]+b_.*f_[x_]*Derivative[1][g_][x_]),x_Symbol] :=
+ b*Subst[Int[SimplifyIntegrand[SubstFor[f[x]^(p+1)*g[x],u,x],x],x],x,f[x]^(p+1)*g[x]] /;
+FreeQ[{a,b,f,g,p},x] && EqQ[a-b*(p+1)] && FunctionOfQ[f[x]^(p+1)*g[x],u,x]
+
+
+(* ::Code:: *)
+Int[u_*Derivative[m1_][f_][x_]^p_.*
+ (a_.*Derivative[m_][f_][x_]*g_[x_]+b_.*Derivative[m1_][f_][x_]*Derivative[1][g_][x_]),x_Symbol] :=
+ b*Subst[Int[SimplifyIntegrand[SubstFor[Derivative[m-1][f][x]^(p+1)*g[x],u,x],x],x],x,
+ Derivative[m-1][f][x]^(p+1)*g[x]] /;
+FreeQ[{a,b,f,g,m,p},x] && EqQ[m1-m+1] && EqQ[a-b*(p+1)] && FunctionOfQ[Derivative[m-1][f][x]^(p+1)*g[x],u,x]
+
+
+(* ::Code:: *)
+Int[u_*g_[x_]^q_.*
+ (a_.*Derivative[m_][f_][x_]*g_[x_]+b_.*Derivative[m1_][f_][x_]*Derivative[1][g_][x_]),x_Symbol] :=
+ a*Subst[Int[SimplifyIntegrand[SubstFor[Derivative[m-1][f][x]*g[x]^(q+1),u,x],x],x],x,
+ Derivative[m-1][f][x]*g[x]^(q+1)] /;
+FreeQ[{a,b,f,g,m,q},x] && EqQ[m1-m+1] && EqQ[a*(q+1)-b] && FunctionOfQ[Derivative[m-1][f][x]*g[x]^(q+1),u,x]
+
+
+(* ::Code:: *)
+Int[u_*Derivative[m1_][f_][x_]^p_.*
+ (a_.*Derivative[m_][f_][x_]*Derivative[n1_][g_][x_]+b_.*Derivative[m1_][f_][x_]*Derivative[n_][g_][x_]),x_Symbol] :=
+ b*Subst[Int[SimplifyIntegrand[SubstFor[Derivative[m-1][f][x]^(p+1)*Derivative[n-1][g][x],u,x],x],x],x,
+ Derivative[m-1][f][x]^(p+1)*Derivative[n-1][g][x]] /;
+FreeQ[{a,b,f,g,m,n,p},x] && EqQ[m1-m+1] && EqQ[n1-n+1] && EqQ[a-b*(p+1)] &&
+ FunctionOfQ[Derivative[m-1][f][x]^(p+1)*Derivative[n-1][g][x],u,x]
+
+
+(* ::Code:: *)
+Int[u_*f_[x_]^p_.*g_[x_]^q_.*(a_.*Derivative[1][f_][x_]*g_[x_]+b_.*f_[x_]*Derivative[1][g_][x_]),x_Symbol] :=
+ a/(p+1)*Subst[Int[SimplifyIntegrand[SubstFor[f[x]^(p+1)*g[x]^(q+1),u,x],x],x],x,f[x]^(p+1)*g[x]^(q+1)] /;
+FreeQ[{a,b,f,g,p,q},x] && EqQ[a*(q+1)-b*(p+1)] && FunctionOfQ[f[x]^(p+1)*g[x]^(q+1),u,x]
+
+
+(* ::Code:: *)
+Int[u_*Derivative[m1_][f_][x_]^p_.*g_[x_]^q_.*
+ (a_.*Derivative[m_][f_][x_]*g_[x_]+b_.*Derivative[m1_][f_][x_]*Derivative[1][g_][x_]),x_Symbol] :=
+ a/(p+1)*Subst[Int[SimplifyIntegrand[SubstFor[Derivative[m-1][f][x]^(p+1)*g[x]^(q+1),u,x],x],x],x,
+ Derivative[m-1][f][x]^(p+1)*g[x]^(q+1)] /;
+FreeQ[{a,b,f,g,m,p,q},x] && EqQ[m1-m+1] && EqQ[a*(q+1)-b*(p+1)] && FunctionOfQ[Derivative[m-1][f][x]^(p+1)*g[x]^(q+1),u,x]
+
+
+(* ::Code:: *)
+Int[u_*Derivative[m1_][f_][x_]^p_.*Derivative[n1_][g_][x_]^q_.*
+ (a_.*Derivative[m_][f_][x_]*Derivative[n1_][g_][x_]+b_.*Derivative[m1_][f_][x_]*Derivative[n_][g_][x_]),x_Symbol] :=
+ a/(p+1)*Subst[Int[SimplifyIntegrand[SubstFor[Derivative[m-1][f][x]^(p+1)*Derivative[n-1][g][x]^(q+1),u,x],x],x],x,
+ Derivative[m-1][f][x]^(p+1)*Derivative[n-1][g][x]^(q+1)] /;
+FreeQ[{a,b,f,g,m,n,p,q},x] && EqQ[m1-m+1] && EqQ[n1-n+1] && EqQ[a*(q+1)-b*(p+1)] &&
+ FunctionOfQ[Derivative[m-1][f][x]^(p+1)*Derivative[n-1][g][x]^(q+1),u,x]
+
+
+(* ::Code:: *)
+Int[f_'[x_]*g_[x_] + f_[x_]*g_'[x_],x_Symbol] :=
+ f[x]*g[x] /;
+FreeQ[{f,g},x]
+
+
+(* ::Code:: *)
+Int[(f_'[x_]*g_[x_] - f_[x_]*g_'[x_])/g_[x_]^2,x_Symbol] :=
+ f[x]/g[x] /;
+FreeQ[{f,g},x]
+
+
+(* ::Code:: *)
+Int[(f_'[x_]*g_[x_] - f_[x_]*g_'[x_])/(f_[x_]*g_[x_]),x_Symbol] :=
+ Log[f[x]/g[x]] /;
+FreeQ[{f,g},x]
+
+
+
+`)
+
+func resourcesRubi92DerivativeIntegrationRulesMBytes() ([]byte, error) {
+ return _resourcesRubi92DerivativeIntegrationRulesM, nil
+}
+
+func resourcesRubi92DerivativeIntegrationRulesM() (*asset, error) {
+ bytes, err := resourcesRubi92DerivativeIntegrationRulesMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/9.2 Derivative integration rules.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi93PiecewiseLinearFunctionsM = []byte(`(* ::Package:: *)
+
+(************************************************************************)
+(* This file was generated automatically by the Mathematica front end. *)
+(* It contains Initialization cells from a Notebook file, which *)
+(* typically will have the same name as this file except ending in *)
+(* ".nb" instead of ".m". *)
+(* *)
+(* This file is intended to be loaded into the Mathematica kernel using *)
+(* the package loading commands Get or Needs. Doing so is equivalent *)
+(* to using the Evaluate Initialization Cells menu command in the front *)
+(* end. *)
+(* *)
+(* DO NOT EDIT THIS FILE. This entire file is regenerated *)
+(* automatically each time the parent Notebook file is saved in the *)
+(* Mathematica front end. Any changes you make to this file will be *)
+(* overwritten. *)
+(************************************************************************)
+
+
+
+(* ::Code:: *)
+Int[u_^m_.,x_Symbol] :=
+ Module[{c=Simplify[D[u,x]]},
+ 1/c*Subst[Int[x^m,x],x,u]] /;
+FreeQ[m,x] && PiecewiseLinearQ[u,x]
+
+
+(* ::Code:: *)
+Int[v_/u_,x_Symbol] :=
+ Module[{a=Simplify[D[u,x]],b=Simplify[D[v,x]]},
+ b*x/a - (b*u-a*v)/a*Int[1/u,x] /;
+ NeQ[b*u-a*v]] /;
+PiecewiseLinearQ[u,v,x]
+
+
+(* ::Code:: *)
+Int[v_^n_/u_,x_Symbol] :=
+ Module[{a=Simplify[D[u,x]],b=Simplify[D[v,x]]},
+ v^n/(a*n) - (b*u-a*v)/a*Int[v^(n-1)/u,x] /;
+ NeQ[b*u-a*v]] /;
+PiecewiseLinearQ[u,v,x] && RationalQ[n] && n>0 && n!=1
+
+
+(* ::Code:: *)
+Int[1/(u_*v_),x_Symbol] :=
+ Module[{a=Simplify[D[u,x]],b=Simplify[D[v,x]]},
+ b/(b*u-a*v)*Int[1/v,x] - a/(b*u-a*v)*Int[1/u,x] /;
+ NeQ[b*u-a*v]] /;
+PiecewiseLinearQ[u,v,x]
+
+
+(* ::Code:: *)
+Int[1/(u_*Sqrt[v_]),x_Symbol] :=
+ Module[{a=Simplify[D[u,x]],b=Simplify[D[v,x]]},
+ 2*ArcTan[Sqrt[v]/Rt[(b*u-a*v)/a,2]]/(a*Rt[(b*u-a*v)/a,2]) /;
+ NeQ[b*u-a*v] && PosQ[(b*u-a*v)/a]] /;
+PiecewiseLinearQ[u,v,x]
+
+
+(* ::Code:: *)
+Int[1/(u_*Sqrt[v_]),x_Symbol] :=
+ Module[{a=Simplify[D[u,x]],b=Simplify[D[v,x]]},
+ -2*ArcTanh[Sqrt[v]/Rt[-(b*u-a*v)/a,2]]/(a*Rt[-(b*u-a*v)/a,2]) /;
+ NeQ[b*u-a*v] && NegQ[(b*u-a*v)/a]] /;
+PiecewiseLinearQ[u,v,x]
+
+
+(* ::Code:: *)
+Int[v_^n_/u_,x_Symbol] :=
+ Module[{a=Simplify[D[u,x]],b=Simplify[D[v,x]]},
+ v^(n+1)/((n+1)*(b*u-a*v)) -
+ a*(n+1)/((n+1)*(b*u-a*v))*Int[v^(n+1)/u,x] /;
+ NeQ[b*u-a*v]] /;
+PiecewiseLinearQ[u,v,x] && RationalQ[n] && n<-1
+
+
+(* ::Code:: *)
+Int[v_^n_/u_,x_Symbol] :=
+ Module[{a=Simplify[D[u,x]],b=Simplify[D[v,x]]},
+ v^(n+1)/((n+1)*(b*u-a*v))*Hypergeometric2F1[1,n+1,n+2,-a*v/(b*u-a*v)] /;
+ NeQ[b*u-a*v]] /;
+PiecewiseLinearQ[u,v,x] && Not[IntegerQ[n]]
+
+
+(* ::Code:: *)
+Int[1/(Sqrt[u_]*Sqrt[v_]),x_Symbol] :=
+ Module[{a=Simplify[D[u,x]],b=Simplify[D[v,x]]},
+ 2/Rt[a*b,2]*ArcTanh[Rt[a*b,2]*Sqrt[u]/(a*Sqrt[v])] /;
+ NeQ[b*u-a*v] && PosQ[a*b]] /;
+PiecewiseLinearQ[u,v,x]
+
+
+(* ::Code:: *)
+Int[1/(Sqrt[u_]*Sqrt[v_]),x_Symbol] :=
+ Module[{a=Simplify[D[u,x]],b=Simplify[D[v,x]]},
+ 2/Rt[-a*b,2]*ArcTan[Rt[-a*b,2]*Sqrt[u]/(a*Sqrt[v])] /;
+ NeQ[b*u-a*v] && NegQ[a*b]] /;
+PiecewiseLinearQ[u,v,x]
+
+
+(* ::Code:: *)
+Int[u_^m_*v_^n_,x_Symbol] :=
+ Module[{a=Simplify[D[u,x]],b=Simplify[D[v,x]]},
+ -u^(m+1)*v^(n+1)/((m+1)*(b*u-a*v)) /;
+ NeQ[b*u-a*v]] /;
+FreeQ[{m,n},x] && PiecewiseLinearQ[u,v,x] && EqQ[m+n+2] && NeQ[m+1]
+
+
+(* ::Code:: *)
+Int[u_^m_*v_^n_.,x_Symbol] :=
+ Module[{a=Simplify[D[u,x]],b=Simplify[D[v,x]]},
+ u^(m+1)*v^n/(a*(m+1)) -
+ b*n/(a*(m+1))*Int[u^(m+1)*v^(n-1),x] /;
+ NeQ[b*u-a*v]] /;
+FreeQ[{m,n},x] && PiecewiseLinearQ[u,v,x] (* && NeQ[m+n+2] *) && NeQ[m+1] && (
+ RationalQ[m,n] && m<-1 && n>0 && Not[IntegerQ[m+n] && m+n+2<0 && (FractionQ[m] || 2*n+m+1>=0)] ||
+ PositiveIntegerQ[n,m] && n<=m ||
+(*NegativeIntegerQ[n,m] && n<=m || *)
+ PositiveIntegerQ[n] && Not[IntegerQ[m]] ||
+ NegativeIntegerQ[m] && Not[IntegerQ[n]])
+
+
+(* ::Code:: *)
+Int[u_^m_*v_^n_.,x_Symbol] :=
+ Module[{a=Simplify[D[u,x]],b=Simplify[D[v,x]]},
+ u^(m+1)*v^n/(a*(m+n+1)) -
+ n*(b*u-a*v)/(a*(m+n+1))*Int[u^m*v^(n-1),x] /;
+ NeQ[b*u-a*v]] /;
+PiecewiseLinearQ[u,v,x] && NeQ[m+n+2] && RationalQ[n] && n>0 && NeQ[m+n+1] &&
+ Not[PositiveIntegerQ[m] && (Not[IntegerQ[n]] || 00
+
+
+(* ::Code:: *)
+(* Int[u_^n_.*Log[a_.+b_.*x_]/(a_.+b_.*x_),x_Symbol] :=
+ Module[{c=Simplify[D[u,x]]},
+ u^n*Log[a+b*x]^2/(2*b) -
+ c*n/(2*b)*Int[u^(n-1)*Log[a+b*x]^2,x]] /;
+FreeQ[{a,b},x] && PiecewiseLinearQ[u,x] && RationalQ[n] && n>0 *)
+
+
+(* ::Code:: *)
+Int[u_^n_.*(a_.+b_.*x_)^m_.*Log[a_.+b_.*x_],x_Symbol] :=
+ Module[{c=Simplify[D[u,x]]},
+ u^n*(a+b*x)^(m+1)*Log[a+b*x]/(b*(m+1)) -
+ 1/(m+1)*Int[u^n*(a+b*x)^m,x] -
+ c*n/(b*(m+1))*Int[u^(n-1)*(a+b*x)^(m+1)*Log[a+b*x],x]] /;
+FreeQ[{a,b,m},x] && PiecewiseLinearQ[u,x] && Not[LinearQ[u,x]] && RationalQ[n] && n>0 && NeQ[m+1]
+
+
+
+`)
+
+func resourcesRubi93PiecewiseLinearFunctionsMBytes() ([]byte, error) {
+ return _resourcesRubi93PiecewiseLinearFunctionsM, nil
+}
+
+func resourcesRubi93PiecewiseLinearFunctionsM() (*asset, error) {
+ bytes, err := resourcesRubi93PiecewiseLinearFunctionsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/9.3 Piecewise linear functions.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi94MiscellaneousIntegrationRulesM = []byte(`(* ::Package:: *)
+
+(************************************************************************)
+(* This file was generated automatically by the Mathematica front end. *)
+(* It contains Initialization cells from a Notebook file, which *)
+(* typically will have the same name as this file except ending in *)
+(* ".nb" instead of ".m". *)
+(* *)
+(* This file is intended to be loaded into the Mathematica kernel using *)
+(* the package loading commands Get or Needs. Doing so is equivalent *)
+(* to using the Evaluate Initialization Cells menu command in the front *)
+(* end. *)
+(* *)
+(* DO NOT EDIT THIS FILE. This entire file is regenerated *)
+(* automatically each time the parent Notebook file is saved in the *)
+(* Mathematica front end. Any changes you make to this file will be *)
+(* overwritten. *)
+(************************************************************************)
+
+
+
+(* ::Code:: *)
+(* Int[u_.*(c_.*x_^n_)^p_,x_Symbol] :=
+ c^FracPart[p]*(c*x^n)^FracPart[p]/x^(n*FracPart[p])*Int[u*x^(n*p),x] /;
+FreeQ[{c,n,p},x] && Not[IntegerQ[p]] *)
+
+
+(* ::Code:: *)
+Int[u_*(c_.*(a_.+b_.* x_)^n_)^p_,x_Symbol] :=
+ c^IntPart[p]*(c*(a+b*x)^n)^FracPart[p]/(a+b*x)^(n*FracPart[p])*Int[u*(a+b*x)^(n*p),x] /;
+FreeQ[{a,b,c,n,p},x] && Not[IntegerQ[p]] && Not[MatchQ[u, x^n1_.*v_. /; EqQ[Simplify[n-n1-1]]]]
+
+
+(* ::Code:: *)
+Int[u_.*(c_.*(d_*(a_.+b_.* x_))^p_)^q_,x_Symbol] :=
+ (c*(d*(a+b*x))^p)^q/(a+b*x)^(p*q)*Int[u*(a+b*x)^(p*q),x] /;
+FreeQ[{a,b,c,d,p,q},x] && Not[IntegerQ[p]] && Not[IntegerQ[q]]
+
+
+(* ::Code:: *)
+Int[u_.*(c_.*(d_.*(a_.+b_.* x_)^n_)^p_)^q_,x_Symbol] :=
+ (c*(d*(a+b*x)^n)^p)^q/(a+b*x)^(n*p*q)*Int[u*(a+b*x)^(n*p*q),x] /;
+FreeQ[{a,b,c,d,n,p,q},x] && Not[IntegerQ[p]] && Not[IntegerQ[q]]
+
+
+(* ::Code:: *)
+Int[(a_.+b_.*F_[c_.*Sqrt[d_.+e_.*x_]/Sqrt[f_.+g_.*x_]])^n_./(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
+ g/C*Subst[Int[(a+b*F[c*x])^n/x,x],x,Sqrt[d+e*x]/Sqrt[f+g*x]] /;
+FreeQ[{a,b,c,d,e,f,g,A,B,C,F},x] && EqQ[e+g] && EqQ[d+f-2] && EqQ[A*e^2+C*d*f] && EqQ[2*C*(d-1)-B*e]
+
+
+(* ::Code:: *)
+Int[(a_.+b_.*F_[c_.*Sqrt[1+e_.*x_]/Sqrt[1+g_.*x_]])^n_./(A_.+C_.*x_^2),x_Symbol] :=
+ g/C*Subst[Int[(a+b*F[c*x])^n/x,x],x,Sqrt[1+e*x]/Sqrt[1+g*x]] /;
+FreeQ[{a,b,c,e,g,A,C,F},x] && EqQ[e+g] && EqQ[A*e^2+C]
+
+
+(* ::Code:: *)
+Int[(a_.+b_.*F_^(c_.*Sqrt[d_.+e_.*x_]/Sqrt[f_.+g_.*x_]))^n_./(A_.+B_.*x_+C_.*x_^2),x_Symbol] :=
+ g/C*Subst[Int[(a+b*F^(c*x))^n/x,x],x,Sqrt[d+e*x]/Sqrt[f+g*x]] /;
+FreeQ[{a,b,c,d,e,f,g,A,B,C,F},x] && EqQ[e+g] && EqQ[d+f-2] && EqQ[A*e^2+C*d*f] && EqQ[2*C*(d-1)-B*e]
+
+
+(* ::Code:: *)
+Int[(a_.+b_.*F_^(c_.*Sqrt[1+e_.*x_]/Sqrt[1+g_.*x_]))^n_./(A_.+C_.*x_^2),x_Symbol] :=
+ g/C*Subst[Int[(a+b*F^(c*x))^n/x,x],x,Sqrt[1+e*x]/Sqrt[1+g*x]] /;
+FreeQ[{a,b,c,e,g,A,C,F},x] && EqQ[e+g] && EqQ[A*e^2+C]
+
+
+(* ::Code:: *)
+Int[u_/y_,x_Symbol] :=
+ With[{q=DerivativeDivides[y,u,x]},
+ q*Log[RemoveContent[y,x]] /;
+ Not[FalseQ[q]]]
+
+
+(* ::Code:: *)
+Int[u_/(y_*w_),x_Symbol] :=
+ With[{q=DerivativeDivides[y*w,u,x]},
+ q*Log[RemoveContent[y*w,x]] /;
+ Not[FalseQ[q]]]
+
+
+(* ::Code:: *)
+Int[u_*y_^m_.,x_Symbol] :=
+ With[{q=DerivativeDivides[y,u,x]},
+ q*y^(m+1)/(m+1) /;
+ Not[FalseQ[q]]] /;
+FreeQ[m,x] && NeQ[m+1]
+
+
+(* ::Code:: *)
+Int[u_*y_^m_.*z_^n_.,x_Symbol] :=
+ With[{q=DerivativeDivides[y*z,u*z^(n-m),x]},
+ q*y^(m+1)*z^(m+1)/(m+1) /;
+ Not[FalseQ[q]]] /;
+FreeQ[{m,n},x] && NeQ[m+1]
+
+
+(* ::Code:: *)
+Int[u_,x_Symbol] :=
+ With[{v=SimplifyIntegrand[u,x]},
+ Int[v,x] /;
+ SimplerIntegrandQ[v,u,x]]
+
+
+(* ::Code:: *)
+Int[u_.*(e_.*Sqrt[a_.+b_.*x_^n_.]+f_.*Sqrt[c_.+d_.*x_^n_.])^m_,x_Symbol] :=
+ (a*e^2-c*f^2)^m*Int[ExpandIntegrand[u*(e*Sqrt[a+b*x^n]-f*Sqrt[c+d*x^n])^(-m),x],x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && NegativeIntegerQ[m] && EqQ[b*e^2-d*f^2]
+
+
+(* ::Code:: *)
+Int[u_.*(e_.*Sqrt[a_.+b_.*x_^n_.]+f_.*Sqrt[c_.+d_.*x_^n_.])^m_,x_Symbol] :=
+ (b*e^2-d*f^2)^m*Int[ExpandIntegrand[u*x^(m*n)*(e*Sqrt[a+b*x^n]-f*Sqrt[c+d*x^n])^(-m),x],x] /;
+FreeQ[{a,b,c,d,e,f,n},x] && NegativeIntegerQ[m] && EqQ[a*e^2-c*f^2]
+
+
+(* ::Code:: *)
+Int[u_^m_.*(a_.*u_^n_+v_)^p_.*w_,x_Symbol] :=
+ Int[u^(m+n*p)*(a+u^(-n)*v)^p*w,x] /;
+FreeQ[{a,m,n},x] && IntegerQ[p] && Not[PositiveQ[n]] && Not[FreeQ[v,x]]
+
+
+(* ::Code:: *)
+Int[u_*(a_.+b_.*y_)^m_.*(c_.+d_.*v_)^n_.,x_Symbol] :=
+ With[{q=DerivativeDivides[y,u,x]},
+ q*Subst[Int[(a+b*x)^m*(c+d*x)^n,x],x,y] /;
+ Not[FalseQ[q]]] /;
+FreeQ[{a,b,c,d,m,n},x] && EqQ[y-v]
+
+
+(* ::Code:: *)
+Int[u_*(a_.+b_.*y_)^m_.*(c_.+d_.*v_)^n_.*(e_.+f_.*w_)^p_.,x_Symbol] :=
+ With[{q=DerivativeDivides[y,u,x]},
+ q*Subst[Int[(a+b*x)^m*(c+d*x)^n*(e+f*x)^p,x],x,y] /;
+ Not[FalseQ[q]]] /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && EqQ[y-v] && EqQ[y-w]
+
+
+(* ::Code:: *)
+Int[u_*(a_.+b_.*y_)^m_.*(c_.+d_.*v_)^n_.*(e_.+f_.*w_)^p_.*(g_.+h_.*z_)^q_.,x_Symbol] :=
+ With[{r=DerivativeDivides[y,u,x]},
+ r*Subst[Int[(a+b*x)^m*(c+d*x)^n*(e+f*x)^p*(g+h*x)^q,x],x,y] /;
+ Not[FalseQ[r]]] /;
+FreeQ[{a,b,c,d,e,f,g,h,m,n,p,q},x] && EqQ[y-v] && EqQ[y-w] && EqQ[y-z]
+
+
+(* ::Code:: *)
+Int[u_.*(a_+b_.*y_^n_),x_Symbol] :=
+ With[{q=DerivativeDivides[y,u,x]},
+ a*Int[u,x] + b*q*Subst[Int[x^n,x],x,y] /;
+ Not[FalseQ[q]]] /;
+FreeQ[{a,b,n},x]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.+b_.*y_^n_)^p_,x_Symbol] :=
+ With[{q=DerivativeDivides[y,u,x]},
+ q*Subst[Int[(a+b*x^n)^p,x],x,y] /;
+ Not[FalseQ[q]]] /;
+FreeQ[{a,b,n,p},x]
+
+
+(* ::Code:: *)
+Int[u_.*v_^m_.*(a_.+b_.*y_^n_)^p_.,x_Symbol] :=
+ Module[{q,r},
+ q*r*Subst[Int[x^m*(a+b*x^n)^p,x],x,y] /;
+ Not[FalseQ[r=Divides[y^m,v^m,x]]] && Not[FalseQ[q=DerivativeDivides[y,u,x]]]] /;
+FreeQ[{a,b,m,n,p},x]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.+b_.*y_^n_+c_.*v_^n2_.)^p_,x_Symbol] :=
+ With[{q=DerivativeDivides[y,u,x]},
+ q*Subst[Int[(a+b*x^n+c*x^(2*n))^p,x],x,y] /;
+ Not[FalseQ[q]]] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[n2-2*n] && EqQ[y-v]
+
+
+(* ::Code:: *)
+Int[u_.*(A_+B_.*y_^n_)(a_.+b_.*v_^n_+c_.*w_^n2_.)^p_.,x_Symbol] :=
+ With[{q=DerivativeDivides[y,u,x]},
+ q*Subst[Int[(A+B*x^n)*(a+b*x^n+c*x^(2*n))^p,x],x,y] /;
+ Not[FalseQ[q]]] /;
+FreeQ[{a,b,c,A,B,n,p},x] && EqQ[n2-2*n] && EqQ[y-v] && EqQ[y-w]
+
+
+(* ::Code:: *)
+Int[u_.*(A_+B_.*y_^n_)(a_.+c_.*w_^n2_.)^p_.,x_Symbol] :=
+ With[{q=DerivativeDivides[y,u,x]},
+ q*Subst[Int[(A+B*x^n)*(a+c*x^(2*n))^p,x],x,y] /;
+ Not[FalseQ[q]]] /;
+FreeQ[{a,c,A,B,n,p},x] && EqQ[n2-2*n] && EqQ[y-w]
+
+
+(* ::Code:: *)
+Int[u_.*v_^m_.*(a_.+b_.*y_^n_+c_.*w_^n2_.)^p_.,x_Symbol] :=
+ Module[{q,r},
+ q*r*Subst[Int[x^m*(a+b*x^n+c*x^(2*n))^p,x],x,y] /;
+ Not[FalseQ[r=Divides[y^m,v^m,x]]] && Not[FalseQ[q=DerivativeDivides[y,u,x]]]] /;
+FreeQ[{a,b,c,m,n,p},x] && EqQ[n2-2*n] && EqQ[y-w]
+
+
+(* ::Code:: *)
+Int[u_.*z_^m_.*(A_+B_.*y_^n_)*(a_.+b_.*v_^n_+c_.*w_^n2_.)^p_.,x_Symbol] :=
+ Module[{q,r},
+ q*r*Subst[Int[x^m*(A+B*x^n)*(a+b*x^n+c*x^(2*n))^p,x],x,y] /;
+ Not[FalseQ[r=Divides[y^m,z^m,x]]] && Not[FalseQ[q=DerivativeDivides[y,u,x]]]] /;
+FreeQ[{a,b,c,A,B,m,n,p},x] && EqQ[n2-2*n] && EqQ[y-v] && EqQ[y-w]
+
+
+(* ::Code:: *)
+Int[u_.*z_^m_.*(A_+B_.*y_^n_)*(a_.+c_.*w_^n2_.)^p_.,x_Symbol] :=
+ Module[{q,r},
+ q*r*Subst[Int[x^m*(A+B*x^n)*(a+c*x^(2*n))^p,x],x,y] /;
+ Not[FalseQ[r=Divides[y^m,z^m,x]]] && Not[FalseQ[q=DerivativeDivides[y,u,x]]]] /;
+FreeQ[{a,c,A,B,m,n,p},x] && EqQ[n2-2*n] && EqQ[y-w]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.+b_.*y_^n_)^m_.*(c_.+d_.*v_^n_)^p_.,x_Symbol] :=
+ With[{q=DerivativeDivides[y,u,x]},
+ q*Subst[Int[(a+b*x^n)^m*(c+d*x^n)^p,x],x,y] /;
+ Not[FalseQ[q]]] /;
+FreeQ[{a,b,c,d,m,n,p},x] && EqQ[y-v]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.+b_.*y_^n_)^m_.*(c_.+d_.*v_^n_)^p_.*(e_.+f_.*w_^n_)^q_.,x_Symbol] :=
+ With[{r=DerivativeDivides[y,u,x]},
+ r*Subst[Int[(a+b*x^n)^m*(c+d*x^n)^p*(e+f*x^n)^q,x],x,y] /;
+ Not[FalseQ[r]]] /;
+FreeQ[{a,b,c,d,e,f,m,n,p,q},x] && EqQ[y-v] && EqQ[y-w]
+
+
+(* ::Code:: *)
+Int[u_*F_^v_,x_Symbol] :=
+ With[{q=DerivativeDivides[v,u,x]},
+ q*F^v/Log[F] /;
+ Not[FalseQ[q]]] /;
+FreeQ[F,x]
+
+
+(* ::Code:: *)
+Int[u_*w_^m_.*F_^v_,x_Symbol] :=
+ With[{q=DerivativeDivides[v,u,x]},
+ q*Subst[Int[x^m*F^x,x],x,v] /;
+ Not[FalseQ[q]]] /;
+FreeQ[{F,m},x] && EqQ[w-v]
+
+
+(* ::Code:: *)
+Int[u_*(a_+b_.*v_^p_.*w_^p_.)^m_.,x_Symbol] :=
+ With[{c=Simplify[u/(w*D[v,x]+v*D[w,x])]},
+ c*Subst[Int[(a+b*x^p)^m,x],x,v*w] /;
+ FreeQ[c,x]] /;
+FreeQ[{a,b,m,p},x] && IntegerQ[p]
+
+
+(* ::Code:: *)
+Int[u_*(a_+b_.*v_^p_.*w_^q_.)^m_.*v_^r_.,x_Symbol] :=
+ With[{c=Simplify[u/(p*w*D[v,x]+q*v*D[w,x])]},
+ c*p/(r+1)*Subst[Int[(a+b*x^(p/(r+1)))^m,x],x,v^(r+1)*w] /;
+ FreeQ[c,x]] /;
+FreeQ[{a,b,m,p,q,r},x] && EqQ[p-q*(r+1)] && NeQ[r+1] && IntegerQ[p/(r+1)]
+
+
+(* ::Code:: *)
+Int[u_*(a_+b_.*v_^p_.*w_^q_.)^m_.*v_^r_.*w_^s_.,x_Symbol] :=
+ With[{c=Simplify[u/(p*w*D[v,x]+q*v*D[w,x])]},
+ c*p/(r+1)*Subst[Int[(a+b*x^(p/(r+1)))^m,x],x,v^(r+1)*w^(s+1)] /;
+ FreeQ[c,x]] /;
+FreeQ[{a,b,m,p,q,r,s},x] && EqQ[p*(s+1)-q*(r+1)] && NeQ[r+1] && IntegerQ[p/(r+1)]
+
+
+(* ::Code:: *)
+Int[u_*(a_.*v_^p_.+b_.*w_^q_.)^m_.,x_Symbol] :=
+ With[{c=Simplify[u/(p*w*D[v,x]-q*v*D[w,x])]},
+ c*p*Subst[Int[(b+a*x^p)^m,x],x,v*w^(m*q+1)] /;
+ FreeQ[c,x]] /;
+FreeQ[{a,b,m,p,q},x] && EqQ[p+q*(m*p+1)] && IntegerQ[p] && IntegerQ[m]
+
+
+(* ::Code:: *)
+(* Int[u_*(a_.*v_^p_.+b_.*w_^q_.)^m_.,x_Symbol] :=
+ With[{c=Simplify[u/(p*w*D[v,x]-q*v*D[w,x])]},
+ -c*q*Subst[Int[(a+b*x^q)^m,x],x,v^(m*p+1)*w] /;
+ FreeQ[c,x]] /;
+FreeQ[{a,b,m,p,q},x] && EqQ[p+q*(m*p+1)] && IntegerQ[q] && IntegerQ[m] *)
+
+
+(* ::Code:: *)
+Int[u_*(a_.*v_^p_.+b_.*w_^q_.)^m_.*v_^r_.,x_Symbol] :=
+ With[{c=Simplify[u/(p*w*D[v,x]-q*v*D[w,x])]},
+ -c*q*Subst[Int[(a+b*x^q)^m,x],x,v^(m*p+r+1)*w] /;
+ FreeQ[c,x]] /;
+FreeQ[{a,b,m,p,q,r},x] && EqQ[p+q*(m*p+r+1)] && IntegerQ[q] && IntegerQ[m]
+
+
+(* ::Code:: *)
+Int[u_*(a_.*v_^p_.+b_.*w_^q_.)^m_.*w_^s_.,x_Symbol] :=
+ With[{c=Simplify[u/(p*w*D[v,x]-q*v*D[w,x])]},
+ -c*q/(s+1)*Subst[Int[(a+b*x^(q/(s+1)))^m,x],x,v^(m*p+1)*w^(s+1)] /;
+ FreeQ[c,x]] /;
+FreeQ[{a,b,m,p,q,s},x] && EqQ[p*(s+1)+q*(m*p+1)] && NeQ[s+1] && IntegerQ[q/(s+1)] && IntegerQ[m]
+
+
+(* ::Code:: *)
+Int[u_*(a_.*v_^p_.+b_.*w_^q_.)^m_.*v_^r_.*w_^s_.,x_Symbol] :=
+ With[{c=Simplify[u/(p*w*D[v,x]-q*v*D[w,x])]},
+ -c*q/(s+1)*Subst[Int[(a+b*x^(q/(s+1)))^m,x],x,v^(m*p+r+1)*w^(s+1)] /;
+ FreeQ[c,x]] /;
+FreeQ[{a,b,m,p,q,r,s},x] && EqQ[p*(s+1)+q*(m*p+r+1)] && NeQ[s+1] && IntegerQ[q/(s+1)] && IntegerQ[m]
+
+
+(* ::Code:: *)
+Int[u_*x_^m_.,x_Symbol] :=
+ 1/(m+1)*Subst[Int[SubstFor[x^(m+1),u,x],x],x,x^(m+1)] /;
+FreeQ[m,x] && NeQ[m+1] && FunctionOfQ[x^(m+1),u,x]
+
+
+(* ::Code:: *)
+If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ With[{lst=SubstForFractionalPowerOfLinear[u,x]},
+ ShowStep["","Int[F[(a+b*x)^(1/n),x],x]",
+ "n/b*Subst[Int[x^(n-1)*F[x,-a/b+x^n/b],x],x,(a+b*x)^(1/n)]",Hold[
+ lst[[2]]*lst[[4]]*Subst[Int[lst[[1]],x],x,lst[[3]]^(1/lst[[2]])]]] /;
+ Not[FalseQ[lst]] && SubstForFractionalPowerQ[u,lst[[3]],x]] /;
+SimplifyFlag,
+
+Int[u_,x_Symbol] :=
+ With[{lst=SubstForFractionalPowerOfLinear[u,x]},
+ lst[[2]]*lst[[4]]*Subst[Int[lst[[1]],x],x,lst[[3]]^(1/lst[[2]])] /;
+ Not[FalseQ[lst]] && SubstForFractionalPowerQ[u,lst[[3]],x]]]
+
+
+(* ::Code:: *)
+If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ With[{lst=SubstForFractionalPowerOfQuotientOfLinears[u,x]},
+ ShowStep["","Int[F[((a+b*x)/(c+d*x))^(1/n),x],x]",
+"n*(b*c-a*d)*Subst[Int[x^(n-1)*F[x,(-a+c*x^n)/(b-d*x^n)]/(b-d*x^n)^2,x],x,((a+b*x)/(c+d*x))^(1/n)]",Hold[
+ lst[[2]]*lst[[4]]*Subst[Int[lst[[1]],x],x,lst[[3]]^(1/lst[[2]])]]] /;
+ Not[FalseQ[lst]]] /;
+SimplifyFlag,
+
+Int[u_,x_Symbol] :=
+ With[{lst=SubstForFractionalPowerOfQuotientOfLinears[u,x]},
+ lst[[2]]*lst[[4]]*Subst[Int[lst[[1]],x],x,lst[[3]]^(1/lst[[2]])] /;
+ Not[FalseQ[lst]]]]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.*v_^m_.*w_^n_.*z_^q_.)^p_,x_Symbol] :=
+ a^IntPart[p]*(a*v^m*w^n*z^q)^FracPart[p]/(v^(m*FracPart[p])*w^(n*FracPart[p])*z^(q*FracPart[p]))*Int[u*v^(m*p)*w^(n*p)*z^(p*q),x] /;
+FreeQ[{a,m,n,p,q},x] && Not[IntegerQ[p]] && Not[FreeQ[v,x]] && Not[FreeQ[w,x]] && Not[FreeQ[z,x]]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.*v_^m_.*w_^n_.)^p_,x_Symbol] :=
+ a^IntPart[p]*(a*v^m*w^n)^FracPart[p]/(v^(m*FracPart[p])*w^(n*FracPart[p]))*Int[u*v^(m*p)*w^(n*p),x] /;
+FreeQ[{a,m,n,p},x] && Not[IntegerQ[p]] && Not[FreeQ[v,x]] && Not[FreeQ[w,x]]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.*v_^m_.)^p_,x_Symbol] :=
+ a^IntPart[p]*(a*v^m)^FracPart[p]/v^(m*FracPart[p])*Int[u*v^(m*p),x] /;
+FreeQ[{a,m,p},x] && Not[IntegerQ[p]] && Not[FreeQ[v,x]] && Not[EqQ[a,1] && EqQ[m,1]] && Not[EqQ[v,x] && EqQ[m,1]]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.+b_.*x_^n_)^p_,x_Symbol] :=
+ FullSimplify[Sqrt[a+b*x^n]/(x^(n/2)*Sqrt[b+a/x^n])]*Int[u*x^(n*p)*(b+a*x^(-n))^p,x] /;
+FreeQ[{a,b,p},x] && IntegerQ[p+1/2] && NegativeIntegerQ[n] && Not[RationalFunctionQ[u,x]]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.+b_.*v_^n_)^p_,x_Symbol] :=
+ (a+b*v^n)^FracPart[p]/(v^(n*FracPart[p])*(b+a*v^(-n))^FracPart[p])*Int[u*v^(n*p)*(b+a*v^(-n))^p,x] /;
+FreeQ[{a,b,p},x] && Not[IntegerQ[p]] && NegativeIntegerQ[n] && BinomialQ[v,x] && Not[LinearQ[v,x]]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.+b_.*x_^m_.*v_^n_)^p_,x_Symbol] :=
+ (a+b*x^m*v^n)^FracPart[p]/(v^(n*FracPart[p])*(b*x^m+a*v^(-n))^FracPart[p])*Int[u*v^(n*p)*(b*x^m+a*v^(-n))^p,x] /;
+FreeQ[{a,b,m,p},x] && Not[IntegerQ[p]] && NegativeIntegerQ[n] && BinomialQ[v,x]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.*x_^r_.+b_.*x_^s_.)^m_,x_Symbol] :=
+ With[{v=(a*x^r+b*x^s)^FracPart[m]/(x^(r*FracPart[m])*(a+b*x^(s-r))^FracPart[m])},
+ v*Int[u*x^(m*r)*(a+b*x^(s-r))^m,x] /;
+ Not[EqQ[Simplify[v],1]]] /;
+FreeQ[{a,b,m,r,s},x] && Not[IntegerQ[m]] && PosQ[s-r]
+
+
+(* ::Code:: *)
+Int[u_/(a_+b_.*x_^n_),x_Symbol] :=
+ With[{v=RationalFunctionExpand[u/(a+b*x^n),x]},
+ Int[v,x] /;
+ SumQ[v]] /;
+FreeQ[{a,b},x] && PositiveIntegerQ[n]
+
+
+(* ::Code:: *)
+Int[u_*(a_.+b_.*x_^n_.+c_.*x_^n2_.)^p_.,x_Symbol] :=
+ 1/(4^p*c^p)*Int[u*(b+2*c*x^n)^(2*p),x] /;
+FreeQ[{a,b,c,n},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && IntegerQ[p] && Not[AlgebraicFunctionQ[u,x]]
+
+
+(* ::Code:: *)
+Int[u_*(a_.+b_.*x_^n_.+c_.*x_^n2_.)^p_,x_Symbol] :=
+ (a+b*x^n+c*x^(2*n))^p/(b+2*c*x^n)^(2*p)*Int[u*(b+2*c*x^n)^(2*p),x] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && Not[IntegerQ[p]] && Not[AlgebraicFunctionQ[u,x]]
+
+
+(* ::Code:: *)
+Int[u_/(a_.+b_.*x_^n_.+c_.*x_^n2_.),x_Symbol] :=
+ With[{v=RationalFunctionExpand[u/(a+b*x^n+c*x^(2*n)),x]},
+ Int[v,x] /;
+ SumQ[v]] /;
+FreeQ[{a,b,c},x] && EqQ[n2-2*n] && PositiveIntegerQ[n]
+
+
+(* ::Code:: *)
+Int[u_./(a_.*x_^m_.+b_.*Sqrt[c_.*x_^n_]),x_Symbol] :=
+ Int[u*(a*x^m-b*Sqrt[c*x^n])/(a^2*x^(2*m)-b^2*c*x^n),x] /;
+FreeQ[{a,b,c,m,n},x]
+
+
+(* ::Code:: *)
+If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ With[{lst=FunctionOfLinear[u,x]},
+ ShowStep["","Int[F[a+b*x],x]","Subst[Int[F[x],x],x,a+b*x]/b",Hold[
+ Dist[1/lst[[3]],Subst[Int[lst[[1]],x],x,lst[[2]]+lst[[3]]*x],x]]] /;
+ Not[FalseQ[lst]]] /;
+SimplifyFlag,
+
+Int[u_,x_Symbol] :=
+ With[{lst=FunctionOfLinear[u,x]},
+ Dist[1/lst[[3]],Subst[Int[lst[[1]],x],x,lst[[2]]+lst[[3]]*x],x] /;
+ Not[FalseQ[lst]]]]
+
+
+(* ::Code:: *)
+If[ShowSteps,
+
+Int[u_/x_,x_Symbol] :=
+ With[{lst=PowerVariableExpn[u,0,x]},
+ ShowStep["","Int[F[(c*x)^n]/x,x]","Subst[Int[F[x]/x,x],x,(c*x)^n]/n",Hold[
+ 1/lst[[2]]*Subst[Int[NormalizeIntegrand[Simplify[lst[[1]]/x],x],x],x,(lst[[3]]*x)^lst[[2]]]]] /;
+ Not[FalseQ[lst]] && NeQ[lst[[2]]]] /;
+SimplifyFlag && NonsumQ[u] && Not[RationalFunctionQ[u,x]],
+
+Int[u_/x_,x_Symbol] :=
+ With[{lst=PowerVariableExpn[u,0,x]},
+ 1/lst[[2]]*Subst[Int[NormalizeIntegrand[Simplify[lst[[1]]/x],x],x],x,(lst[[3]]*x)^lst[[2]]] /;
+ Not[FalseQ[lst]] && NeQ[lst[[2]]]] /;
+NonsumQ[u] && Not[RationalFunctionQ[u,x]]]
+
+
+(* ::Code:: *)
+If[ShowSteps,
+
+Int[u_*x_^m_.,x_Symbol] :=
+ With[{lst=PowerVariableExpn[u,m+1,x]},
+ ShowStep["If g=GCD[m+1,n]>1,","Int[x^m*F[x^n],x]",
+ "1/g*Subst[Int[x^((m+1)/g-1)*F[x^(n/g)],x],x,x^g]",Hold[
+ 1/lst[[2]]*Subst[Int[NormalizeIntegrand[Simplify[lst[[1]]/x],x],x],x,(lst[[3]]*x)^lst[[2]]]]] /;
+ Not[FalseQ[lst]] && NeQ[lst[[2]]-m-1]] /;
+SimplifyFlag && IntegerQ[m] && m!=-1 && NonsumQ[u] && (m>0 || Not[AlgebraicFunctionQ[u,x]]),
+
+Int[u_*x_^m_.,x_Symbol] :=
+ With[{lst=PowerVariableExpn[u,m+1,x]},
+ 1/lst[[2]]*Subst[Int[NormalizeIntegrand[Simplify[lst[[1]]/x],x],x],x,(lst[[3]]*x)^lst[[2]]] /;
+ Not[FalseQ[lst]] && NeQ[lst[[2]]-m-1]] /;
+IntegerQ[m] && m!=-1 && NonsumQ[u] && (m>0 || Not[AlgebraicFunctionQ[u,x]])]
+
+
+(* ::Code:: *)
+Int[x_^m_*u_,x_Symbol] :=
+ With[{k=Denominator[m]},
+ k*Subst[Int[x^(k*(m+1)-1)*ReplaceAll[u,x->x^k],x],x,x^(1/k)]] /;
+FractionQ[m]
+
+
+(* ::Code:: *)
+If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ With[{lst=FunctionOfSquareRootOfQuadratic[u,x]},
+ ShowStep["","Int[F[Sqrt[a+b*x+c*x^2],x],x]",
+ "2*Subst[Int[F[(c*Sqrt[a]-b*x+Sqrt[a]*x^2)/(c-x^2),(-b+2*Sqrt[a]*x)/(c-x^2)]*
+ (c*Sqrt[a]-b*x+Sqrt[a]*x^2)/(c-x^2)^2,x],x,(-Sqrt[a]+Sqrt[a+b*x+c*x^2])/x]",
+ Hold[2*Subst[Int[lst[[1]],x],x,lst[[2]]]]] /;
+ Not[FalseQ[lst]] && lst[[3]]===1] /;
+SimplifyFlag && EulerIntegrandQ[u,x],
+
+Int[u_,x_Symbol] :=
+ With[{lst=FunctionOfSquareRootOfQuadratic[u,x]},
+ 2*Subst[Int[lst[[1]],x],x,lst[[2]]] /;
+ Not[FalseQ[lst]]] /;
+EulerIntegrandQ[u,x]]
+
+
+(* ::Code:: *)
+If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ With[{lst=FunctionOfSquareRootOfQuadratic[u,x]},
+ ShowStep["","Int[F[Sqrt[a+b*x+c*x^2],x],x]",
+ "2*Subst[Int[F[(a*Sqrt[c]+b*x+Sqrt[c]*x^2)/(b+2*Sqrt[c]*x),(-a+x^2)/(b+2*Sqrt[c]*x)]*
+ (a*Sqrt[c]+b*x+Sqrt[c]*x^2)/(b+2*Sqrt[c]*x)^2,x],x,Sqrt[c]*x+Sqrt[a+b*x+c*x^2]]",
+ Hold[2*Subst[Int[lst[[1]],x],x,lst[[2]]]]] /;
+ Not[FalseQ[lst]] && lst[[3]]===2] /;
+SimplifyFlag && EulerIntegrandQ[u,x],
+
+Int[u_,x_Symbol] :=
+ With[{lst=FunctionOfSquareRootOfQuadratic[u,x]},
+ 2*Subst[Int[lst[[1]],x],x,lst[[2]]] /;
+ Not[FalseQ[lst]]] /;
+EulerIntegrandQ[u,x]]
+
+
+(* ::Code:: *)
+If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ With[{lst=FunctionOfSquareRootOfQuadratic[u,x]},
+ ShowStep["","Int[F[Sqrt[a+b*x+c*x^2],x],x]",
+ "-2*Sqrt[b^2-4*a*c]*Subst[Int[F[-Sqrt[b^2-4*a*c]*x/(c-x^2),
+ (b*c+c*Sqrt[b^2-4*a*c]+(-b+Sqrt[b^2-4*a*c])*x^2)/(-2*c*(c-x^2))]*x/(c-x^2)^2,x],
+ x,2*c*Sqrt[a+b*x+c*x^2]/(b-Sqrt[b^2-4*a*c]+2*c*x)]",
+ Hold[2*Subst[Int[lst[[1]],x],x,lst[[2]]]]] /;
+ Not[FalseQ[lst]] && lst[[3]]===3] /;
+SimplifyFlag && EulerIntegrandQ[u,x],
+
+Int[u_,x_Symbol] :=
+ With[{lst=FunctionOfSquareRootOfQuadratic[u,x]},
+ 2*Subst[Int[lst[[1]],x],x,lst[[2]]] /;
+ Not[FalseQ[lst]]] /;
+EulerIntegrandQ[u,x]]
+
+
+(* ::Code:: *)
+Int[1/(a_+b_.*v_^2),x_Symbol] :=
+(*1/(2*a)*Int[Together[1/(1-Rt[-b/a,2]*v)],x] + 1/(2*a)*Int[Together[1/(1+Rt[-b/a,2]*v)],x] /; *)
+ 1/(2*a)*Int[Together[1/(1-v/Rt[-a/b,2])],x] + 1/(2*a)*Int[Together[1/(1+v/Rt[-a/b,2])],x] /;
+FreeQ[{a,b},x]
+
+
+(* ::Code:: *)
+Int[1/(a_+b_.*v_^n_),x_Symbol] :=
+ Dist[2/(a*n),Sum[Int[Together[1/(1-v^2/((-1)^(4*k/n)*Rt[-a/b,n/2]))],x],{k,1,n/2}],x] /;
+FreeQ[{a,b},x] && IGtQ[n/2,1]
+
+
+(* ::Code:: *)
+Int[1/(a_+b_.*v_^n_),x_Symbol] :=
+ Dist[1/(a*n),Sum[Int[Together[1/(1-v/((-1)^(2*k/n)*Rt[-a/b,n]))],x],{k,1,n}],x] /;
+FreeQ[{a,b},x] && IGtQ[(n-1)/2,0]
+
+
+(* ::Code:: *)
+Int[v_/(a_+b_.*u_^n_.),x_Symbol] :=
+ Int[ReplaceAll[ExpandIntegrand[PolynomialInSubst[v,u,x]/(a+b*x^n),x],x->u],x] /;
+FreeQ[{a,b},x] && PositiveIntegerQ[n] && PolynomialInQ[v,u,x]
+
+
+(* ::Code:: *)
+Int[u_,x_Symbol] :=
+ With[{v=NormalizeIntegrand[u,x]},
+ Int[v,x] /;
+ v=!=u]
+
+
+(* ::Code:: *)
+Int[u_,x_Symbol] :=
+ With[{v=ExpandIntegrand[u,x]},
+ Int[v,x] /;
+ SumQ[v]]
+
+
+(* ::Code:: *)
+Int[u_.*(a_.+b_.*x_^m_.)^p_.*(c_.+d_.*x_^n_.)^q_., x_Symbol] :=
+ (a+b*x^m)^p*(c+d*x^n)^q/x^(m*p)*Int[u*x^(m*p),x] /;
+FreeQ[{a,b,c,d,m,n,p,q},x] && EqQ[a+d] && EqQ[b+c] && EqQ[m+n] && EqQ[p+q]
+
+
+(* ::Code:: *)
+Int[u_*(a_+b_.*x_^n_.+c_.*x_^n2_.)^p_, x_Symbol] :=
+ Sqrt[a+b*x^n+c*x^(2*n)]/((4*c)^(p-1/2)*(b+2*c*x^n))*Int[u*(b+2*c*x^n)^(2*p),x] /;
+FreeQ[{a,b,c,n,p},x] && EqQ[n2-2*n] && EqQ[b^2-4*a*c] && IntegerQ[p-1/2]
+
+
+(* ::Code:: *)
+If[ShowSteps,
+
+Int[u_,x_Symbol] :=
+ With[{lst=SubstForFractionalPowerOfLinear[u,x]},
+ ShowStep["","Int[F[(a+b*x)^(1/n),x],x]",
+ "n/b*Subst[Int[x^(n-1)*F[x,-a/b+x^n/b],x],x,(a+b*x)^(1/n)]",Hold[
+ lst[[2]]*lst[[4]]*Subst[Int[lst[[1]],x],x,lst[[3]]^(1/lst[[2]])]]] /;
+ Not[FalseQ[lst]]] /;
+SimplifyFlag,
+
+Int[u_,x_Symbol] :=
+ With[{lst=SubstForFractionalPowerOfLinear[u,x]},
+ lst[[2]]*lst[[4]]*Subst[Int[lst[[1]],x],x,lst[[3]]^(1/lst[[2]])] /;
+ Not[FalseQ[lst]]]]
+
+
+(* ::Code:: *)
+Int[u_,x_] := Defer[Int][u,x]
+
+
+
+`)
+
+func resourcesRubi94MiscellaneousIntegrationRulesMBytes() ([]byte, error) {
+ return _resourcesRubi94MiscellaneousIntegrationRulesM, nil
+}
+
+func resourcesRubi94MiscellaneousIntegrationRulesM() (*asset, error) {
+ bytes, err := resourcesRubi94MiscellaneousIntegrationRulesMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/9.4 Miscellaneous integration rules.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubiIntegrationUtilityFunctionsM = []byte(`(* ::Package:: *)
+
+(* ::Title:: *)
+(*Integration Utility Functions*)
+
+
+(* $TimeLimit is the time constraint in seconds on some potentially expensive routines. *)
+If[Not[NumberQ[$TimeLimit]], $TimeLimit=5.0];
+
+
+(* ::Section::Closed:: *)
+(*IntHide[u,x]*)
+
+
+IntHide[u_,x_Symbol] :=
+ Block[{ShowSteps=False,$StepCounter=Null}, Int[u,x]]
+
+
+(* ::Section::Closed:: *)
+(*Mapping functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*MapAnd[u,x]*)
+
+
+(* MapAnd[f,l] applies f to the elements of list l until False is returned; else returns True *)
+MapAnd[f_,lst_] :=
+ Catch[Scan[Function[If[f[#],Null,Throw[False]]],lst];True]
+
+MapAnd[f_,lst_,x_] :=
+ Catch[Scan[Function[If[f[#,x],Null,Throw[False]]],lst];True]
+
+
+(* ::Subsection::Closed:: *)
+(*Map2[func,lst1,lst2]*)
+
+
+Map2[func_,lst1_,lst2_] :=
+ Module[{i},
+ ReapList[Do[Sow[func[lst1[[i]],lst2[[i]]]],{i,Length[lst1]}]]]
+
+
+(* ::Subsection::Closed:: *)
+(*ReapList[u]*)
+
+
+ReapList[u_] :=
+ With[{lst=Reap[u][[2]]},
+ If[lst==={}, lst, lst[[1]]]]
+
+SetAttributes[ReapList,HoldFirst]
+
+
+(* ::Section::Closed:: *)
+(*Numerical type predicates*)
+
+
+(* ::Subsection::Closed:: *)
+(*FalseQ[u]*)
+
+
+FalseQ[u_] := u===False
+
+
+(* ::Subsection::Closed:: *)
+(*IntegersQ[u]*)
+
+
+(* IntegersQ[m,n,...] returns True if m, n, ... are all explicit integers; else it returns False. *)
+IntegersQ[u__] := Catch[Scan[Function[If[IntegerQ[#],Null,Throw[False]]],{u}]; True];
+
+
+(* ::Subsection::Closed:: *)
+(*PositiveIntegerQ[u]*)
+
+
+(* PositiveIntegerQ[m,n,...] returns True if m, n, ... are all explicit positive integers; else it returns False. *)
+PositiveIntegerQ[u__] := Catch[Scan[Function[If[IntegerQ[#] && #>0,Null,Throw[False]]],{u}]; True];
+
+
+(* ::Subsection::Closed:: *)
+(*NegativeIntegerQ[u]*)
+
+
+(* NegativeIntegerQ[m,n,...] returns True if m, n, ... are all explicit negative integers; else it returns False. *)
+NegativeIntegerQ[u__] := Catch[Scan[Function[If[IntegerQ[#] && #<0,Null,Throw[False]]],{u}]; True];
+
+
+(* ::Subsection::Closed:: *)
+(*FractionQ[u]*)
+
+
+(* FractionQ[m,n,...] returns True if m, n, ... are all explicit fractions; else it returns False. *)
+FractionQ[u__] := Catch[Scan[Function[If[Head[#]===Rational,Null,Throw[False]]],{u}]; True]
+
+
+(* ::Subsection::Closed:: *)
+(*RationalQ[u]*)
+
+
+(* RationalQ[m,n,...] returns True if m, n, ... are all explicit integers or fractions; else it returns False. *)
+RationalQ[u__] := Catch[Scan[Function[If[IntegerQ[#] || Head[#]===Rational,Null,Throw[False]]],{u}]; True]
+
+
+(* ::Subsection::Closed:: *)
+(*ComplexNumberQ[u]*)
+
+
+(* ComplexNumberQ[u] returns True if u is an explicit complex number; else it returns False. *)
+ComplexNumberQ[u_] := Head[u]===Complex
+
+
+(* ::Subsection::Closed:: *)
+(*RealNumericQ[u]*)
+
+
+(* RealNumericQ[u] returns True if u is a real numeric quantity, else returns False. *)
+RealNumericQ[u_] := NumericQ[u] && (EqQ[Im[u],0] || EqQ[Im[N[u]],0])
+
+
+(* ::Subsection::Closed:: *)
+(*PositiveQ[u]*)
+
+
+(* PositiveQ[u] returns True if u is a positive numeric quantity, else returns False. *)
+PositiveQ[u_] :=
+ With[{v=Simplify[u]},
+ RealNumericQ[v] && Re[N[v]]>0]
+
+
+(* ::Subsection::Closed:: *)
+(*NegativeQ[u]*)
+
+
+(* NegativeQ[u] returns True if u is a negative numeric quantity, else returns False. *)
+NegativeQ[u_] :=
+ With[{v=Simplify[u]},
+ RealNumericQ[v] && Re[N[v]]<0]
+
+
+(* ::Subsection::Closed:: *)
+(*FractionOrNegativeQ[u]*)
+
+
+(* FractionOrNegativeQ[u] returns True if u is a fraction or negative number; else returns False *)
+FractionOrNegativeQ[u__] := Catch[Scan[Function[If[FractionQ[#] || IntegerQ[#] && #<0,Null,Throw[False]]],{u}]; True]
+
+
+(* ::Subsection::Closed:: *)
+(*SqrtNumberQ[u]*)
+
+
+(* SqrtNumberQ[u] returns True if u^2 is a rational number; else it returns False. *)
+SqrtNumberQ[m_^n_] :=
+ IntegerQ[n] && SqrtNumberQ[m] || IntegerQ[n-1/2] && RationalQ[m]
+
+
+SqrtNumberQ[u_*v_] :=
+ SqrtNumberQ[u] && SqrtNumberQ[v]
+
+
+SqrtNumberQ[u_] :=
+ RationalQ[u] || u===I
+
+
+(* ::Subsection::Closed:: *)
+(*SqrtNumberSumQ[u]*)
+
+
+SqrtNumberSumQ[u_] :=
+ SumQ[u] && SqrtNumberQ[First[u]] && SqrtNumberQ[Rest[u]] ||
+ ProductQ[u] && SqrtNumberQ[First[u]] && SqrtNumberSumQ[Rest[u]]
+
+
+(* ::Subsection::Closed:: *)
+(*IndependentQ[u,x]*)
+
+
+IndependentQ[u_,x_] :=
+ FreeQ[u,x]
+
+
+(* ::Subsection::Closed:: *)
+(*NotIntegrableQ[u,x]*)
+
+
+(* NotIntegrableQ[u,x] returns True if u is definitely not integrable wrt x; else it returns
+ False if u is, or might be, integrable wrt x. *)
+NotIntegrableQ[u_,x_Symbol] :=
+ MatchQ[u,x^m_*Log[a_+b_.*x]^n_ /; FreeQ[{a,b},x] && IntegersQ[m,n] && m<0 && n<0] ||
+ MatchQ[u,f_[x^m_.*Log[a_.+b_.*x]] /; FreeQ[{a,b},x] && IntegerQ[m] && (TrigQ[f] || HyperbolicQ[f])]
+
+
+(* ::Section::Closed:: *)
+(*Expression type predicates*)
+
+
+(* ::Subsection::Closed:: *)
+(*PowerQ[u]*)
+
+
+(* If u is a power, SumQ[u] returns True; else it returns False. *)
+PowerQ[u_] := Head[u]===Power
+
+
+(* ::Subsection::Closed:: *)
+(*ProductQ[u]*)
+
+
+(* If u is a product, SumQ[u] returns True; else it returns False. *)
+ProductQ[u_] := Head[u]===Times
+
+
+(* ::Subsection::Closed:: *)
+(*SumQ[u]*)
+
+
+(* If u is a sum, SumQ[u] returns True; else it returns False. *)
+SumQ[u_] := Head[u]===Plus
+
+
+(* ::Subsection::Closed:: *)
+(*NonsumQ[u]*)
+
+
+(* If u is not a sum, NonsumQ[u] returns True; else it returns False. *)
+NonsumQ[u_] := Head[u]=!=Plus
+
+
+(* ::Subsection::Closed:: *)
+(*IntegerPowerQ[u]*)
+
+
+IntegerPowerQ[u_] :=
+ PowerQ[u] && IntegerQ[u[[2]]]
+
+
+(* ::Subsection::Closed:: *)
+(*PositiveIntegerPowerQ[u]*)
+
+
+PositiveIntegerPowerQ[u_] :=
+ PowerQ[u] && IntegerQ[u[[2]]] && u[[2]]>0
+
+
+(* ::Subsection::Closed:: *)
+(*FractionalPowerQ[u]*)
+
+
+FractionalPowerQ[u_] :=
+ PowerQ[u] && FractionQ[u[[2]]]
+
+
+(* ::Subsection::Closed:: *)
+(*FractionalPowerFreeQ[u]*)
+
+
+FractionalPowerFreeQ[u_] :=
+ If[AtomQ[u],
+ True,
+ If[FractionalPowerQ[u] && Not[AtomQ[u[[1]]]],
+ False,
+ Catch[Scan[Function[If[FractionalPowerFreeQ[#],Null,Throw[False]]],u];True]]]
+
+
+(* ::Subsection::Closed:: *)
+(*ComplexFreeQ[u]*)
+
+
+ComplexFreeQ[u_] :=
+ If[AtomQ[u],
+ Not[ComplexNumberQ[u]],
+ Catch[Scan[Function[If[ComplexFreeQ[#],Null,Throw[False]]],u];True]]
+
+
+(* ::Subsection::Closed:: *)
+(*ExpQ[u]*)
+
+
+ExpQ[u_] := PowerQ[u] && u[[1]]===E
+
+
+(* ::Subsection::Closed:: *)
+(*LogQ[u]*)
+
+
+(* If u is an expression of the form Log[v], LogQ[u] returns True; else it returns False. *)
+LogQ[u_] := Head[u]===Log
+
+
+(* ::Subsection::Closed:: *)
+(*TrigQ[u]*)
+
+
+(* TrigQ[u] returns True if u or the head of u is a trig function; else returns False *)
+TrigQ[u_] :=
+ MemberQ[{Sin,Cos,Tan,Cot,Sec,Csc},If[AtomQ[u],u,Head[u]]]
+
+
+SinQ[u_] := Head[u]===Sin
+
+CosQ[u_] := Head[u]===Cos
+
+TanQ[u_] := Head[u]===Tan
+
+CotQ[u_] := Head[u]===Cot
+
+SecQ[u_] := Head[u]===Sec
+
+CscQ[u_] := Head[u]===Csc
+
+
+(* ::Subsection::Closed:: *)
+(*HyperbolicQ[u]*)
+
+
+(* HyperbolicQ[u] returns True if u or the head of u is a trig function; else returns False *)
+HyperbolicQ[u_] :=
+ MemberQ[{Sinh,Cosh,Tanh,Coth,Sech,Csch},If[AtomQ[u],u,Head[u]]]
+
+
+SinhQ[u_] := Head[u]===Sinh
+
+CoshQ[u_] := Head[u]===Cosh
+
+TanhQ[u_] := Head[u]===Tanh
+
+CothQ[u_] := Head[u]===Coth
+
+SechQ[u_] := Head[u]===Sech
+
+CschQ[u_] := Head[u]===Csch
+
+
+(* ::Subsection::Closed:: *)
+(*InverseTrigQ[u]*)
+
+
+(* InverseTrigQ[u] returns True if u or the head of u is an inverse trig function; else returns False *)
+InverseTrigQ[u_] :=
+ MemberQ[{ArcSin,ArcCos,ArcTan,ArcCot,ArcSec,ArcCsc},If[AtomQ[u],u,Head[u]]]
+
+
+(* ::Subsection::Closed:: *)
+(*InverseHyperbolicQ[u]*)
+
+
+(* InverseHyperbolicQ[u] returns True if u or the head of u is an inverse trig function; else returns False *)
+InverseHyperbolicQ[u_] :=
+ MemberQ[{ArcSinh,ArcCosh,ArcTanh,ArcCoth,ArcSech,ArcCsch},If[AtomQ[u],u,Head[u]]]
+
+
+(* ::Subsection::Closed:: *)
+(*SinCosQ[u]*)
+
+
+SinCosQ[f_] :=
+ MemberQ[{Sin,Cos,Sec,Csc},f]
+
+
+(* ::Subsection::Closed:: *)
+(*SinhCoshQ[u]*)
+
+
+SinhCoshQ[f_] :=
+ MemberQ[{Sinh,Cosh,Sech,Csch},f]
+
+
+(* ::Subsection::Closed:: *)
+(*CalculusQ[u]*)
+
+
+CalculusFunctions={D,Integrate,Sum,Product,Int,Dif,Subst};
+
+(* CalculusQ[u] returns True if the head of u is a calculus function; else returns False *)
+CalculusQ[u_] :=
+ MemberQ[CalculusFunctions,Head[u]]
+
+CalculusFreeQ[u_,x_] :=
+ If[AtomQ[u],
+ True,
+ If[CalculusQ[u] && u[[2]]===x || HeldFormQ[u],
+ False,
+ Catch[Scan[Function[If[CalculusFreeQ[#,x],Null,Throw[False]]],u];True]]]
+
+
+HeldFormQ[u_] :=
+ If[AtomQ[Head[u]],
+ MemberQ[{Hold,HoldForm,Defer,Pattern},Head[u]],
+ HeldFormQ[Head[u]]]
+
+
+(* InverseFunctionQ[u] returns True if u is a call on an inverse function; else returns False. *)
+InverseFunctionQ[u_] :=
+ LogQ[u] || InverseTrigQ[u] && Length[u]<=1 || InverseHyperbolicQ[u] || Head[u]===Mods || Head[u]===PolyLog
+
+
+(* If u is free of trig, hyperbolic and calculus functions involving x,
+ TrigHyperbolicFreeQ[u,x] returns true; else it returns False. *)
+TrigHyperbolicFreeQ[u_,x_Symbol] :=
+ If[AtomQ[u],
+ True,
+ If[TrigQ[u] || HyperbolicQ[u] || CalculusQ[u],
+ FreeQ[u,x],
+ Catch[Scan[Function[If[TrigHyperbolicFreeQ[#,x],Null,Throw[False]]],u];True]]]
+
+
+(* If u is free of inverse, calculus and hypergeometric functions involving x,
+ InverseFunctionFreeQ[u,x] returns true; else it returns False. *)
+InverseFunctionFreeQ[u_,x_Symbol] :=
+ If[AtomQ[u],
+ True,
+ If[InverseFunctionQ[u] || CalculusQ[u] || Head[u]===Hypergeometric2F1 || Head[u]===AppellF1,
+ FreeQ[u,x],
+ Catch[Scan[Function[If[InverseFunctionFreeQ[#,x],Null,Throw[False]]],u];True]]]
+
+
+(* ElementaryExpressionQ[u] returns True if u is a sum, product, or power and all the operands
+ are elementary expressions; or if u is a call on a trig, hyperbolic, or inverse function
+ and all the arguments are elementary expressions; else it returns False. *)
+(* ElementaryFunctionQ[u_] :=
+ If[AtomQ[u],
+ True,
+ If[SumQ[u] || ProductQ[u] || PowerQ[u] || TrigQ[u] || HyperbolicQ[u] || InverseFunctionQ[u],
+ Catch[Scan[Function[If[ElementaryFunctionQ[#],Null,Throw[False]]],u];True],
+ False]] *)
+
+
+(* ::Section::Closed:: *)
+(*Equality and inequality predicates*)
+
+
+(* ::Subsection::Closed:: *)
+(*Equality predicates*)
+
+
+(* If u-v equals 0, EqQ[u,v] returns True; else it returns False. *)
+EqQ[u_] := Quiet[PossibleZeroQ[u]]
+
+EqQ[u_,v_] := Quiet[PossibleZeroQ[u-v]]
+
+
+(* If u-v equals 0, EqQ[u,v] returns False; else it returns True. *)
+NeQ[u_] := Not[Quiet[PossibleZeroQ[u]]]
+
+NeQ[u_,v_] := Not[Quiet[PossibleZeroQ[u-v]]]
+
+
+(* ::Subsection::Closed:: *)
+(*Integer inequality predicates*)
+
+
+(* num is a rational. If u is an integer and u>n, IGtQ[u,n] returns True; else it returns False. *)
+IGtQ[u_,n_] := IntegerQ[u] && u>n
+
+
+(* num is a rational. If u is an integer and u=n, IGeQ[u,n] returns True; else it returns False. *)
+IGeQ[u_,n_] := IntegerQ[u] && u>=n
+
+
+(* num is a rational. If u is an integer and u<=n, ILeQ[u,n] returns True; else it returns False. *)
+ILeQ[u_,n_] := IntegerQ[u] && u<=n
+
+
+(* ::Subsection::Closed:: *)
+(*Numeric inequality predicates*)
+
+
+(* num is a rational. If u is a rational and u>n, GtQ[u,n] returns True; else it returns False. *)
+GtQ[u_,n_] := RationalQ[u] && u>n
+
+
+(* num is a rational. If u is a rational and u=n, GeQ[u,n] returns True; else it returns False. *)
+GeQ[u_,n_] := RationalQ[u] && u>=n
+
+
+(* num is a rational. If u is a rational and u<=n, LeQ[u,n] returns True; else it returns False. *)
+LeQ[u_,n_] := RationalQ[u] && u<=n
+
+
+(* ::Section::Closed:: *)
+(*Multinomial predicates*)
+
+
+(* ::Subsection::Closed:: *)
+(*PolyQ[u,x]*)
+
+
+(* PolyQ[u,x,n] returns True iff u is a polynomial of degree n. *)
+PolyQ[u_,x_Symbol,n_Integer] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[PolyQ[#,x,n]],Throw[False]]],u]; True],
+ PolynomialQ[u,x] && Exponent[u,x]==n && Coefficient[u,x,n]=!=0]
+
+
+(* Mathematica's built-in PolynomialQ, Exponent and Coefficient functions can return erroneous results because they do not *)
+(* cancel the gcd in pseudo-rational functions that are actually polynomial. *)
+(* For some unfully expanded polynomials, the built-in Mathematica function Exponent sometimes returns erronously large degrees. *)
+(* For example, Exponent[3*(1+a)*x^4 + 3*x^5 + x^6 - (a+x+x^2)^3, x] incorrectly returns 4 instead of 3. *)
+(* Despite what the online help says, PolynomialQ[u,x] returns an error message if x is not a symbol or *)
+(* a symbol raised to a symbol power. *)
+
+
+(* If u is a polynomial in x,PolyQ[u,x] returns True; else it returns False. *)
+PolyQ[u_,x_Symbol] :=
+ PolynomialQ[u,x] || PolynomialQ[Together[u],x]
+
+PolyQ[u_,x_Symbol^n_] :=
+ If[PositiveIntegerQ[n],
+ PolyQ[u,x] && (PolynomialQ[u,x^n] || PolynomialQ[Together[u],x^n]),
+ If[AtomQ[n],
+ PolynomialQ[u,x^n] && FreeQ[CoefficientList[u,x^n],x],
+ False]] /;
+FreeQ[n,x]
+
+PolyQ[u_,u_] :=
+ False
+
+
+(* ::Subsection::Closed:: *)
+(*ProperPolyQ[u,x]*)
+
+
+(* If u is a polynomial in x and the constant term is nonzero, ProperPolyQ[u,x] returns True; else it returns False. *)
+ProperPolyQ[u_,x_Symbol] :=
+ PolyQ[u,x] && NeQ[Coeff[u,x,0],0]
+
+
+(* ::Subsection::Closed:: *)
+(*BinomialQ[u,x]*)
+
+
+(* If u is equivalent to an expression of the form a+b*x^n where n and b are not 0, *)
+(* BinomialQ[u,x] returns True; else it returns False. *)
+BinomialQ[u_,x_Symbol] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[BinomialQ[#,x]],Throw[False]]],u]; True],
+ ListQ[BinomialParts[u,x]]]
+
+
+(* If u is equivalent to an expression of the form a+b*x^n, BinomialQ[u,x,n] returns True; else it returns False. *)
+BinomialQ[u_,x_Symbol,n_] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[BinomialQ[#,x,n]],Throw[False]]],u]; True],
+ Function[ListQ[#] && #[[3]]===n][BinomialParts[u,x]]]
+
+
+(* ::Subsection::Closed:: *)
+(*TrinomialQ[u,x]*)
+
+
+(* If u is equivalent to an expression of the form a+b*x^n+c*x^(2*n) where n, b and c are not 0, *)
+(* TrinomialQ[u,x] returns True; else it returns False. *)
+TrinomialQ[u_,x_Symbol] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[TrinomialQ[#,x]],Throw[False]]],u]; True],
+ ListQ[TrinomialParts[u,x]] && Not[QuadraticQ[u,x]] && Not[MatchQ[u,w_^2 /; BinomialQ[w,x]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*GeneralizedBinomialQ[u,x]*)
+
+
+(* If u is equivalent to an expression of the form a*x^q+b*x^n where n, q and b are not 0, *)
+(* GeneralizedBinomialQ[u,x] returns True; else it returns False. *)
+GeneralizedBinomialQ[u_,x_Symbol] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[GeneralizedBinomialQ[#,x]],Throw[False]]],u]; True],
+ ListQ[GeneralizedBinomialParts[u,x]]]
+
+
+(* ::Subsection::Closed:: *)
+(*GeneralizedTrinomialQ[u,x]*)
+
+
+(* If u is equivalent to an expression of the form a*x^q+b*x^n+c*x^(2*n-q) where n, q, b and c are not 0, *)
+(* GeneralizedTrinomialQ[u,x] returns True; else it returns False. *)
+GeneralizedTrinomialQ[u_,x_Symbol] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[GeneralizedTrinomialQ[#,x]],Throw[False]]],u]; True],
+ ListQ[GeneralizedTrinomialParts[u,x]]]
+
+
+(* ::Section::Closed:: *)
+(*Expression form predicates*)
+
+
+(* ::Subsection::Closed:: *)
+(*PosQ[u]*)
+
+
+(* If u is not 0 and has a positive form, PosQ[u] returns True, else it returns False. *)
+PosQ[u_] :=
+ PosAux[TogetherSimplify[u]]
+
+PosAux[u_] :=
+ If[RationalQ[u],
+ u>0,
+ If[NumberQ[u],
+ If[EqQ[Re[u],0],
+ Im[u]>0,
+ Re[u]>0],
+ If[PowerQ[u],
+ If[IntegerQ[u[[2]]],
+ EvenQ[u[[2]]] || PosAux[u[[1]]],
+ True],
+ If[ProductQ[u],
+ If[PosAux[First[u]],
+ PosAux[Rest[u]],
+ Not[PosAux[Rest[u]]]],
+ If[NumericQ[u],
+ With[{v=N[u]},
+ If[EqQ[Re[v],0],
+ Im[v]>0,
+ Re[v]>0]],
+ If[SumQ[u],
+ PosAux[First[u]],
+ True]]]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*NegQ[u]*)
+
+
+NegQ[u_] :=
+ Not[PosQ[u]] && NeQ[u,0]
+
+
+(* ::Subsection::Closed:: *)
+(*NiceSqrtQ[u]*)
+
+
+NiceSqrtQ[u_] :=
+ Not[NegativeQ[u]] && NiceSqrtAuxQ[u]
+
+NiceSqrtAuxQ[u_] :=
+ If[RationalQ[u],
+ u>0,
+ If[PowerQ[u],
+ EvenQ[u[[2]]],
+ If[ProductQ[u],
+ NiceSqrtAuxQ[First[u]] && NiceSqrtAuxQ[Rest[u]],
+ If[SumQ[u],
+ Function[NonsumQ[#] && NiceSqrtAuxQ[#]] [Simplify[u]],
+ False]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*PerfectSquareQ[u]*)
+
+
+(* If u is a rational number whose squareroot is rational or if u is of the form u1^n1 u2^n2 ...
+ and n1, n2, ... are even, PerfectSquareQ[u] returns True; else it returns False. *)
+PerfectSquareQ[u_] :=
+ If[RationalQ[u],
+ u>0 && RationalQ[Sqrt[u]],
+ If[PowerQ[u],
+ EvenQ[u[[2]]],
+ If[ProductQ[u],
+ PerfectSquareQ[First[u]] && PerfectSquareQ[Rest[u]],
+ If[SumQ[u],
+ Function[NonsumQ[#] && PerfectSquareQ[#]] [Simplify[u]],
+ False]]]]
+
+
+(* ::Section::Closed:: *)
+(*Simpler functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*SimplerQ[u,v]*)
+
+
+(* If u is simpler than v, SimplerQ[u,v] returns True, else it returns False. SimplerQ[u,u] returns False. *)
+SimplerQ[u_,v_] :=
+ If[IntegerQ[u],
+ If[IntegerQ[v],
+ If[u==v,
+ False,
+ If[u==-v,
+ v<0,
+ Abs[u]0,
+ u<-1,
+ u>=-v]],
+ SumSimplerAuxQ[Expand[u],Expand[v]]]
+
+
+SumSimplerAuxQ[u_,v_] :=
+ (RationalQ[First[v]] || SumSimplerAuxQ[u,First[v]]) &&
+ (RationalQ[Rest[v]] || SumSimplerAuxQ[u,Rest[v]]) /;
+SumQ[v]
+
+SumSimplerAuxQ[u_,v_] :=
+ SumSimplerAuxQ[First[u],v] || SumSimplerAuxQ[Rest[u],v] /;
+SumQ[u]
+
+SumSimplerAuxQ[u_,v_] :=
+ v=!=0 &&
+ NonnumericFactors[u]===NonnumericFactors[v] &&
+ (NumericFactor[u]/NumericFactor[v]<-1/2 || NumericFactor[u]/NumericFactor[v]==-1/2 && NumericFactor[u]<0)
+
+
+(* ::Subsection::Closed:: *)
+(*SimplerIntegrandQ[u,v,x]*)
+
+
+(* SimplerIntegrandQ[u,v,x] returns True iff u is simpler to integrate wrt x than v. *)
+SimplerIntegrandQ[u_,v_,x_Symbol] :=
+ Module[{lst=CancelCommonFactors[u,v],u1,v1},
+ u1=lst[[1]];
+ v1=lst[[2]];
+(*If[Head[u1]===Head[v1] && Length[u1]==Length[v1]==1,
+ SimplerIntegrandQ[u1[[1]],v1[[1]],x], *)
+ If[LeafCount[u1]<3/4*LeafCount[v1],
+ True,
+ If[RationalFunctionQ[u1,x],
+ If[RationalFunctionQ[v1,x],
+ Apply[Plus,RationalFunctionExponents[u1,x]]0,
+ With[{lst=Exponent[u,x,List]},
+ If[Length[lst]==1,
+ {0, Coefficient[u,x,Exponent[u,x]], Exponent[u,x]},
+ If[Length[lst]==2 && lst[[1]]==0,
+ {Coefficient[u,x,0], Coefficient[u,x,Exponent[u,x]], Exponent[u,x]},
+ False]]],
+ False],
+ If[PowerQ[u],
+ If[u[[1]]===x && FreeQ[u[[2]],x],
+ {0,1,u[[2]]},
+ False],
+ If[ProductQ[u],
+ If[FreeQ[First[u],x],
+ With[{lst2=BinomialParts[Rest[u],x]},
+ If[AtomQ[lst2],
+ False,
+ {First[u]*lst2[[1]],First[u]*lst2[[2]],lst2[[3]]}]],
+ If[FreeQ[Rest[u],x],
+ With[{lst1=BinomialParts[First[u],x]},
+ If[AtomQ[lst1],
+ False,
+ {Rest[u]*lst1[[1]],Rest[u]*lst1[[2]],lst1[[3]]}]],
+ With[{lst1=BinomialParts[First[u],x]},
+ If[AtomQ[lst1],
+ False,
+ With[{lst2=BinomialParts[Rest[u],x]},
+ If[AtomQ[lst2],
+ False,
+ With[{a=lst1[[1]],b=lst1[[2]],m=lst1[[3]], c=lst2[[1]],d=lst2[[2]],n=lst2[[3]]},
+ If[EqQ[a,0],
+ If[EqQ[c,0],
+ {0,b*d,m+n},
+ If[EqQ[m+n,0],
+ {b*d,b*c,m},
+ False]],
+ If[EqQ[c,0],
+ If[EqQ[m+n,0],
+ {b*d,a*d,n},
+ False],
+ If[EqQ[m,n] && EqQ[a*d+b*c,0],
+ {a*c,b*d,2*m},
+ False]]]]]]]]]],
+ If[SumQ[u],
+ If[FreeQ[First[u],x],
+ With[{lst2=BinomialParts[Rest[u],x]},
+ If[AtomQ[lst2],
+ False,
+ {First[u]+lst2[[1]],lst2[[2]],lst2[[3]]}]],
+ If[FreeQ[Rest[u],x],
+ With[{lst1=BinomialParts[First[u],x]},
+ If[AtomQ[lst1],
+ False,
+ {Rest[u]+lst1[[1]],lst1[[2]],lst1[[3]]}]],
+ With[{lst1=BinomialParts[First[u],x]},
+ If[AtomQ[lst1],
+ False,
+ With[{lst2=BinomialParts[Rest[u],x]},
+ If[AtomQ[lst2],
+ False,
+ If[EqQ[lst1[[3]],lst2[[3]]],
+ {lst1[[1]]+lst2[[1]],lst1[[2]]+lst2[[2]],lst1[[3]]},
+ False]]]]]]],
+ False]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*TrinomialParts[u,x]*)
+
+
+(* If u is equivalent to a trinomial of the form a + b*x^n + c*x^(2*n) where n!=0, b!=0 and c!=0,
+ TrinomialDegree[u,x] returns n. *)
+TrinomialDegree[u_,x_Symbol] :=
+ TrinomialParts[u,x][[4]]
+
+
+(* If u is equivalent to a trinomial of the form a + b*x^n + c*x^(2*n) where n!=0, b!=0 and c!=0,
+ TrinomialParts[u,x] returns the list {a,b,c,n}; else it returns False. *)
+TrinomialParts[u_,x_Symbol] :=
+ If[PolynomialQ[u,x],
+ With[{lst=CoefficientList[u,x]},
+ If[Length[lst]<3 || EvenQ[Length[lst]] || EqQ[lst[[(Length[lst]+1)/2]],0],
+ False,
+ Catch[
+ Scan[Function[If[EqQ[#,0],Null,Throw[False]]],Drop[Drop[Drop[lst,{(Length[lst]+1)/2}],1],-1]];
+ {First[lst],lst[[(Length[lst]+1)/2]],Last[lst],(Length[lst]-1)/2}]]],
+ If[PowerQ[u],
+ If[EqQ[u[[2]],2],
+ With[{lst=BinomialParts[u[[1]],x]},
+ If[AtomQ[lst] || EqQ[lst[[1]],0],
+ False,
+ {lst[[1]]^2,2*lst[[1]]*lst[[2]],lst[[2]]^2,lst[[3]]}]],
+ False],
+ If[ProductQ[u],
+ If[FreeQ[First[u],x],
+ With[{lst2=TrinomialParts[Rest[u],x]},
+ If[AtomQ[lst2],
+ False,
+ {First[u]*lst2[[1]],First[u]*lst2[[2]],First[u]*lst2[[3]],lst2[[4]]}]],
+ If[FreeQ[Rest[u],x],
+ With[{lst1=TrinomialParts[First[u],x]},
+ If[AtomQ[lst1],
+ False,
+ {Rest[u]*lst1[[1]],Rest[u]*lst1[[2]],Rest[u]*lst1[[3]],lst1[[4]]}]],
+ With[{lst1=BinomialParts[First[u],x]},
+ If[AtomQ[lst1],
+ False,
+ With[{lst2=BinomialParts[Rest[u],x]},
+ If[AtomQ[lst2],
+ False,
+ With[{a=lst1[[1]],b=lst1[[2]],m=lst1[[3]], c=lst2[[1]],d=lst2[[2]],n=lst2[[3]]},
+ If[EqQ[m,n] && NeQ[a*d+b*c,0],
+ {a*c,a*d+b*c,b*d,m},
+ False]]]]]]]],
+ If[SumQ[u],
+ If[FreeQ[First[u],x],
+ With[{lst2=TrinomialParts[Rest[u],x]},
+ If[AtomQ[lst2],
+ False,
+ {First[u]+lst2[[1]],lst2[[2]],lst2[[3]],lst2[[4]]}]],
+ If[FreeQ[Rest[u],x],
+ With[{lst1=TrinomialParts[First[u],x]},
+ If[AtomQ[lst1],
+ False,
+ {Rest[u]+lst1[[1]],lst1[[2]],lst1[[3]],lst1[[4]]}]],
+ With[{lst1=TrinomialParts[First[u],x]},
+ If[AtomQ[lst1],
+ With[{lst3=BinomialParts[First[u],x]},
+ If[AtomQ[lst3],
+ False,
+ With[{lst2=TrinomialParts[Rest[u],x]},
+ If[AtomQ[lst2],
+ With[{lst4=BinomialParts[Rest[u],x]},
+ If[AtomQ[lst4],
+ False,
+ If[EqQ[lst3[[3]],2*lst4[[3]]],
+ {lst3[[1]]+lst4[[1]],lst4[[2]],lst3[[2]],lst4[[3]]},
+ If[EqQ[lst4[[3]],2*lst3[[3]]],
+ {lst3[[1]]+lst4[[1]],lst3[[2]],lst4[[2]],lst3[[3]]},
+ False]]]],
+ If[EqQ[lst3[[3]],lst2[[4]]] && NeQ[lst3[[2]]+lst2[[2]],0],
+ {lst3[[1]]+lst2[[1]],lst3[[2]]+lst2[[2]],lst2[[3]],lst2[[4]]},
+ If[EqQ[lst3[[3]],2*lst2[[4]]] && NeQ[lst3[[2]]+lst2[[3]],0],
+ {lst3[[1]]+lst2[[1]],lst2[[2]],lst3[[2]]+lst2[[3]],lst2[[4]]},
+ False]]]]]],
+ With[{lst2=TrinomialParts[Rest[u],x]},
+ If[AtomQ[lst2],
+ With[{lst4=BinomialParts[Rest[u],x]},
+ If[AtomQ[lst4],
+ False,
+ If[EqQ[lst4[[3]],lst1[[4]]] && NeQ[lst1[[2]]+lst4[[2]],0],
+ {lst1[[1]]+lst4[[1]],lst1[[2]]+lst4[[2]],lst1[[3]],lst1[[4]]},
+ If[EqQ[lst4[[3]],2*lst1[[4]]] && NeQ[lst1[[3]]+lst4[[2]],0],
+ {lst1[[1]]+lst4[[1]],lst1[[2]],lst1[[3]]+lst4[[2]],lst1[[4]]},
+ False]]]],
+ If[EqQ[lst1[[4]],lst2[[4]]] && NeQ[lst1[[2]]+lst2[[2]],0] && NeQ[lst1[[3]]+lst2[[3]],0],
+ {lst1[[1]]+lst2[[1]],lst1[[2]]+lst2[[2]],lst1[[3]]+lst2[[3]],lst1[[4]]},
+ False]]]]]]],
+ False]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*GeneralizedBinomialParts[u,x]*)
+
+
+(* If u is equivalent to a generalized binomial of the form a*x^q + b*x^n where a, b, n, and q not equal 0,
+ GeneralizedBinomialDegree[u,x] returns n-q. *)
+GeneralizedBinomialDegree[u_,x_Symbol] :=
+ Function[#[[3]]-#[[4]]][GeneralizedBinomialParts[u,x]]
+
+
+(* If u is equivalent to a generalized binomial of the form a*x^q + b*x^n where a, b, n, and q not equal 0,
+ GeneralizedBinomialParts[u,x] returns the list {a,b,n,q}; else it returns False. *)
+GeneralizedBinomialParts[a_.*x_^q_.+b_.*x_^n_.,x_Symbol] :=
+ {a,b,n,q} /;
+FreeQ[{a,b,n,q},x] && PosQ[n-q]
+
+GeneralizedBinomialParts[a_*u_,x_Symbol] :=
+ With[{lst=GeneralizedBinomialParts[u,x]},
+ {a*lst[[1]], a*lst[[2]], lst[[3]], lst[[4]]} /;
+ ListQ[lst]] /;
+FreeQ[a,x]
+
+GeneralizedBinomialParts[x_^m_.*u_,x_Symbol] :=
+ With[{lst=GeneralizedBinomialParts[u,x]},
+ {lst[[1]], lst[[2]], m+lst[[3]], m+lst[[4]]} /;
+ ListQ[lst] && NeQ[m+lst[[3]],0] && NeQ[m+lst[[4]],0]] /;
+FreeQ[m,x]
+
+GeneralizedBinomialParts[x_^m_.*u_,x_Symbol] :=
+ With[{lst=BinomialParts[u,x]},
+ {lst[[1]], lst[[2]], m+lst[[3]], m} /;
+ ListQ[lst] && NeQ[m+lst[[3]],0]] /;
+FreeQ[m,x]
+
+GeneralizedBinomialParts[u_,x_Symbol] :=
+ False
+
+
+(* ::Subsection::Closed:: *)
+(*GeneralizedTrinomialParts[u,x]*)
+
+
+(* If u is equivalent to a generalized trinomial of the form a*x^q + b*x^n + c*x^(2*n-q) where n!=0, q!=0, b!=0 and c!=0,
+ GeneralizedTrinomialDegree[u,x] returns n-q. *)
+GeneralizedTrinomialDegree[u_,x_Symbol] :=
+ Function[#[[4]]-#[[5]]][GeneralizedTrinomialParts[u,x]]
+
+
+(* If u is equivalent to a generalized trinomial of the form a*x^q + b*x^n + c*x^(2*n-q) where n!=0, q!=0, b!=0 and c!=0,
+ GeneralizedTrinomialParts[u,x] returns the list {a,b,c,n,q}; else it returns False. *)
+GeneralizedTrinomialParts[a_.*x_^q_.+b_.*x_^n_.+c_.*x_^r_.,x_Symbol] :=
+ {a,b,c,n,q} /;
+FreeQ[{a,b,c,n,q},x] && EqQ[r,2*n-q]
+
+GeneralizedTrinomialParts[a_*u_,x_Symbol] :=
+ With[{lst=GeneralizedTrinomialParts[u,x]},
+ {a*lst[[1]], a*lst[[2]], a*lst[[3]], lst[[4]], lst[[5]]} /;
+ ListQ[lst]] /;
+FreeQ[a,x]
+
+GeneralizedTrinomialParts[u_,x_Symbol] :=
+ With[{lst=Expon[u,x,List]},
+ If[Length[lst]==3 && NeQ[lst[[0]],0] && EqQ[lst[[3]],2*lst[[2]]-lst[[1]]],
+ {Coeff[u,x,lst[[1]]],Coeff[u,x,lst[[2]]],Coeff[u,x,lst[[3]]],lst[[2]],lst[[1]]},
+ False]] /;
+PolyQ[u,x]
+
+GeneralizedTrinomialParts[x_^m_.*u_,x_Symbol] :=
+ With[{lst=GeneralizedTrinomialParts[u,x]},
+ {lst[[1]], lst[[2]], lst[[3]], m+lst[[4]], m+lst[[5]]} /;
+ ListQ[lst] && NeQ[m+lst[[4]],0] && NeQ[m+lst[[5]],0]] /;
+FreeQ[m,x]
+
+GeneralizedTrinomialParts[x_^m_.*u_,x_Symbol] :=
+ With[{lst=TrinomialParts[u,x]},
+ {lst[[1]], lst[[2]], lst[[3]], m+lst[[4]], m} /;
+ ListQ[lst] && NeQ[m+lst[[4]],0]] /;
+FreeQ[m,x]
+
+GeneralizedTrinomialParts[u_,x_Symbol] :=
+ False
+
+
+(* ::Section::Closed:: *)
+(*Selection functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*IntPart[u]*)
+
+
+(* IntPart[u] returns the sum of the integer terms of u. *)
+IntPart[m_*u_,n_:1] :=
+ IntPart[u,m*n] /;
+RationalQ[m]
+
+IntPart[u_,n_:1] :=
+ If[RationalQ[u],
+ IntegerPart[n*u],
+ If[SumQ[u],
+ Map[Function[IntPart[#,n]],u],
+ 0]]
+
+
+(* ::Subsection::Closed:: *)
+(*FracPart[u]*)
+
+
+(* IntPart[u] returns the sum of the non-integer terms of u. *)
+FracPart[m_*u_,n_:1] :=
+ FracPart[u,m*n] /;
+RationalQ[m]
+
+FracPart[u_,n_:1] :=
+ If[RationalQ[u],
+ FractionalPart[n*u],
+ If[SumQ[u],
+ Map[Function[FracPart[#,n]],u],
+ n*u]]
+
+
+(* ::Subsection::Closed:: *)
+(*NumericFactor[u] *)
+
+
+(* NumericFactor[u] returns the real numeric factor of u. *)
+NumericFactor[u_] :=
+ If[NumberQ[u],
+ If[EqQ[Im[u],0],
+ u,
+ If[EqQ[Re[u],0],
+ Im[u],
+ 1]],
+ If[PowerQ[u],
+ If[RationalQ[u[[1]]] && FractionQ[u[[2]]],
+ If[u[[2]]>0,
+ 1/Denominator[u[[1]]],
+ 1/Denominator[1/u[[1]]]],
+ 1],
+ If[ProductQ[u],
+ Map[NumericFactor,u],
+ If[SumQ[u],
+ If[LeafCount[u]<50, (* Eliminate this kludge! *)
+ Function[If[SumQ[#], 1, NumericFactor[#]]][ContentFactor[u]],
+ With[{m=NumericFactor[First[u]],n=NumericFactor[Rest[u]]},
+ If[m<0 && n<0,
+ -GCD[-m,-n],
+ GCD[m,n]]]],
+ 1]]]]
+
+
+(* NonnumericFactors[u] returns the product of the factors of u that are not real numbers. *)
+NonnumericFactors[u_] :=
+ If[NumberQ[u],
+ If[EqQ[Im[u],0],
+ 1,
+ If[EqQ[Re[u],0],
+ I,
+ u]],
+ If[PowerQ[u],
+ If[RationalQ[u[[1]]] && FractionQ[u[[2]]],
+ u/NumericFactor[u],
+ u],
+ If[ProductQ[u],
+ Map[NonnumericFactors,u],
+ If[SumQ[u],
+ If[LeafCount[u]<50, (* Eliminate this kludge! *)
+ Function[If[SumQ[#], u, NonnumericFactors[#]]][ContentFactor[u]],
+ With[{n=NumericFactor[u]},
+ Map[Function[#/n],u]]],
+ u]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*RemoveContent[u,x]*)
+
+
+(* RemoveContent[u,x] returns u with the content free of x removed. *)
+RemoveContent[u_,x_Symbol] :=
+ With[{v=NonfreeFactors[u,x]},
+ With[{w=Together[v]},
+ If[EqQ[FreeFactors[w,x],1],
+ RemoveContentAux[v,x],
+ RemoveContentAux[NonfreeFactors[w,x],x]]]]
+
+
+RemoveContentAux[a_^m_*u_.+b_*v_.,x_Symbol] :=
+ If[m>1,
+ RemoveContentAux[a^(m-1)*u-v,x],
+ RemoveContentAux[u-a^(1-m)*v,x]] /;
+IntegersQ[a,b] && a+b==0 && RationalQ[m]
+
+
+RemoveContentAux[a_^m_.*u_.+a_^n_.*v_.,x_Symbol] :=
+ RemoveContentAux[u+a^(n-m)*v,x] /;
+FreeQ[a,x] && RationalQ[m,n] && n-m>=0
+
+
+RemoveContentAux[a_^m_.*u_.+a_^n_.*v_.+a_^p_.*w_.,x_Symbol] :=
+ RemoveContentAux[u+a^(n-m)*v+a^(p-m)*w,x] /;
+FreeQ[a,x] && RationalQ[m,n,p] && n-m>=0 && p-m>=0
+
+
+RemoveContentAux[u_,x_Symbol] :=
+ If[SumQ[u] && NegQ[First[u]],
+ -u,
+ u]
+
+
+(* ::Subsection::Closed:: *)
+(*FreeFactors[u,x]*)
+
+
+(* FreeFactors[u,x] returns the product of the factors of u free of x. *)
+FreeFactors[u_,x_] :=
+ If[ProductQ[u],
+ Map[Function[If[FreeQ[#,x],#,1]],u],
+ If[FreeQ[u,x],
+ u,
+ 1]]
+
+
+(* ::Subsection::Closed:: *)
+(*NonfreeFactors[u,x]*)
+
+
+(* NonfreeFactors[u,x] returns the product of the factors of u not free of x. *)
+NonfreeFactors[u_,x_] :=
+ If[ProductQ[u],
+ Map[Function[If[FreeQ[#,x],1,#]],u],
+ If[FreeQ[u,x],
+ 1,
+ u]]
+
+
+(* ::Subsection::Closed:: *)
+(*FreeTerms[u,x]*)
+
+
+(* FreeTerms[u,x] returns the sum of the terms of u free of x. *)
+FreeTerms[u_,x_] :=
+ If[SumQ[u],
+ Map[Function[If[FreeQ[#,x],#,0]],u],
+ If[FreeQ[u,x],
+ u,
+ 0]]
+
+
+(* ::Subsection::Closed:: *)
+(*NonfreeTerms[u,x]*)
+
+
+(* NonfreeTerms[u,x] returns the sum of the terms of u not free of x. *)
+NonfreeTerms[u_,x_] :=
+ If[SumQ[u],
+ Map[Function[If[FreeQ[#,x],0,#]],u],
+ If[FreeQ[u,x],
+ 0,
+ u]]
+
+
+(* ::Subsection::Closed:: *)
+(*Polynomial functions*)
+
+
+Expon[expr_,form_] :=
+ Exponent[Together[expr],form]
+
+Expon[expr_,form_,h_] :=
+ Exponent[Together[expr],form,h]
+
+
+Coeff[expr_,form_] :=
+ Coefficient[Together[expr],form]
+
+Coeff[expr_,form_,n_] :=
+ With[{coef1=Coefficient[expr,form,n],coef2=Coefficient[Together[expr],form,n]},
+ If[Simplify[coef1-coef2]===0,
+ coef1,
+ coef2]]
+
+
+(* ::Subsection::Closed:: *)
+(*LeadTerm[u]*)
+
+
+LeadTerm[u_] :=
+ If[SumQ[u],
+ First[u],
+ u]
+
+
+(* ::Subsection::Closed:: *)
+(*RemainingTerms[u]*)
+
+
+RemainingTerms[u_] :=
+ If[SumQ[u],
+ Rest[u],
+ 0]
+
+
+(* ::Subsection::Closed:: *)
+(*LeadFactor[u]*)
+
+
+(* LeadFactor[u] returns the leading factor of u. *)
+LeadFactor[u_] :=
+ If[ProductQ[u],
+ LeadFactor[First[u]],
+ If[ComplexNumberQ[u] && Re[u]===0,
+ If[Im[u]===1,
+ u,
+ LeadFactor[Im[u]]],
+ u]]
+
+
+(* ::Subsection::Closed:: *)
+(*RemainingFactors[u]*)
+
+
+(* RemainingFactors[u] returns the remaining factors of u. *)
+RemainingFactors[u_] :=
+ If[ProductQ[u],
+ RemainingFactors[First[u]]*Rest[u],
+ If[ComplexNumberQ[u] && Re[u]===0,
+ If[Im[u]===1,
+ 1,
+ I*RemainingFactors[Im[u]]],
+ 1]]
+
+
+(* ::Subsection::Closed:: *)
+(*LeadBase[u]*)
+
+
+(* LeadBase[u] returns the base of the leading factor of u. *)
+LeadBase[u_] :=
+ With[{v=LeadFactor[u]},
+ If[PowerQ[v],
+ v[[1]],
+ v]]
+
+
+(* ::Subsection::Closed:: *)
+(*LeadDegree[u]*)
+
+
+(* LeadDegree[u] returns the degree of the leading factor of u. *)
+LeadDegree[u_] :=
+ With[{v=LeadFactor[u]},
+ If[PowerQ[v],
+ v[[2]],
+ 1]]
+
+
+(* ::Subsection::Closed:: *)
+(*Numer[u]*)
+
+
+(* Numer[u] returns the numerator of u. *)
+Numer[m_Integer^n_Rational] :=
+ 1 /;
+n<0
+
+
+Numer[u_*v_] :=
+ Numer[u]*Numer[v]
+
+
+Numer[u_] := Numerator[u]
+
+
+(* ::Subsection::Closed:: *)
+(*Denom[u]*)
+
+
+(* Denom[u] returns the denominator of u. *)
+Denom[m_Integer^n_Rational] :=
+ m^-n /;
+n<0
+
+
+Denom[u_*v_] :=
+ Denom[u]*Denom[v]
+
+
+Denom[u_] := Denominator[u]
+
+
+(* ::Section::Closed:: *)
+(*Multinomial functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*Multinomial Recognizer functions*)
+
+
+(* ::Item:: *)
+(*LinearQ[u,x] returns True iff u is a polynomial of degree 1*)
+
+
+LinearQ[u_,x_Symbol] :=
+ PolyQ[u,x,1]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item:: *)
+(*PowerOfLinearQ[u,x] returns True iff u is equivalent to an expression of the form (a+b x)^m.*)
+
+
+PowerOfLinearQ[u_^m_.,x_Symbol] :=
+ FreeQ[m,x] && PolynomialQ[u,x] && If[IntegerQ[m], MatchQ[FactorSquareFree[u], w_^n_. /; FreeQ[n,x] && LinearQ[w,x]], LinearQ[u,x]]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item:: *)
+(*QuadraticQ[u,x] returns True iff u is a polynomial of degree 2 and not a monomial of the form a x^2.*)
+
+
+QuadraticQ[u_,x_Symbol] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[QuadraticQ[#,x]],Throw[False]]],u]; True],
+ PolyQ[u,x,2] && Not[Coefficient[u,x,0]===0 && Coefficient[u,x,1]===0]]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item:: *)
+(*LinearPairQ[u,v,x] returns True iff u and v are linear not equal x but u/v is a constant wrt x.*)
+
+
+LinearPairQ[u_,v_,x_Symbol] :=
+ LinearQ[u,x] && LinearQ[v,x] && NeQ[u,x] && EqQ[Coefficient[u,x,0]*Coefficient[v,x,1]-Coefficient[u,x,1]*Coefficient[v,x,0],0]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item:: *)
+(*If u is of the form a*x^n where n!=0 and a!=0, MonomialQ[u,x] returns True; else False.*)
+
+
+MonomialQ[u_,x_Symbol] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[MonomialQ[#,x],Null,Throw[False]]],u]; True],
+ MatchQ[u, a_.*x^n_. /; FreeQ[{a,n},x]]]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item:: *)
+(*f u[x] is a sum and each term is free of x or an expression of the form a*x^n, MonomialSumQ[u,x] returns True; else it returns False.*)
+
+
+MonomialSumQ[u_,x_Symbol] :=
+ SumQ[u] && Catch[
+ Scan[Function[If[FreeQ[#,x] || MonomialQ[#,x], Null, Throw[False]]],u];
+ True]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item:: *)
+(*u is sum whose terms are monomials. MinimumExponent[u,x] returns the exponent of the term having the smallest exponent.*)
+
+
+MinimumMonomialExponent[u_,x_Symbol] :=
+ Module[{n=MonomialExponent[First[u],x]},
+ Scan[Function[If[PosQ[n-MonomialExponent[#,x]],n=MonomialExponent[#,x]]],u];
+ n]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item:: *)
+(*u is a monomial. MonomialExponent[u,x] returns the exponent of x in u.*)
+
+
+MonomialExponent[a_.*x_^n_.,x_Symbol] :=
+ n /;
+FreeQ[{a,n},x]
+
+
+(* ::Subsection::Closed:: *)
+(*Multinomial Match functions*)
+
+
+(* ::Item:: *)
+(*LinearMatchQ[u,x] returns True iff u matches patterns of the form a+b x where a and b are free of x.*)
+
+
+LinearMatchQ[u_,x_Symbol] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[LinearMatchQ[#,x]],Throw[False]]],u]; True],
+ MatchQ[u, a_.+b_.*x /; FreeQ[{a,b},x]]]
+
+
+(* ::Input:: *)
+(**)
+
+
+(* ::Item:: *)
+(*PowerOfLinearMatchQ[u,x] returns True iff u matches patterns of the form (a+b x)^m where a, b and m are free of x.*)
+
+
+PowerOfLinearMatchQ[u_,x_Symbol] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[PowerOfLinearMatchQ[#,x]],Throw[False]]],u]; True],
+ MatchQ[u, (a_.+b_.*x)^m_. /; FreeQ[{a,b,m},x]]]
+
+
+(* ::Input:: *)
+(**)
+
+
+(* ::Item:: *)
+(*QuadraticMatchQ[u,x] returns True iff u matches patterns of the form a+b x+c x^2 or a+c x^2 where a, b and c are free of x.*)
+
+
+QuadraticMatchQ[u_,x_Symbol] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[QuadraticMatchQ[#,x]],Throw[False]]],u]; True],
+ MatchQ[u, a_.+b_.*x+c_.*x^2 /; FreeQ[{a,b,c},x]] || MatchQ[u, a_.+c_.*x^2 /; FreeQ[{a,c},x]]]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item:: *)
+(*CubicMatchQ[u,x] returns True iff u matches patterns of the form a+b x+c x^2+d x^3, a+b x+d x^3, a+c x^2+d x^3 or a+d x^3 where a, b, c and d are free of x.*)
+
+
+CubicMatchQ[u_,x_Symbol] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[CubicMatchQ[#,x]],Throw[False]]],u]; True],
+ MatchQ[u, a_.+b_.*x+c_.*x^2+d_.*x^3 /; FreeQ[{a,b,c,d},x]] ||
+ MatchQ[u, a_.+b_.*x+d_.*x^3 /; FreeQ[{a,b,d},x]] ||
+ MatchQ[u, a_.+c_.*x^2+d_.*x^3 /; FreeQ[{a,c,d},x]] ||
+ MatchQ[u, a_.+d_.*x^3 /; FreeQ[{a,d},x]]]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item:: *)
+(*BinomialMatchQ[u,x] returns True iff u matches patterns of the form a+b x^n where a, b and n are free of x.*)
+
+
+BinomialMatchQ[u_,x_Symbol] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[BinomialMatchQ[#,x]],Throw[False]]],u]; True],
+ MatchQ[u, a_.+b_.*x^n_. /; FreeQ[{a,b,n},x]]]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item:: *)
+(*GeneralizedBinomialMatchQ[u,x] returns True iff u matches patterns of the form a x^q+b x^n where a, b, n and q are free of x.*)
+
+
+GeneralizedBinomialMatchQ[u_,x_Symbol] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[GeneralizedBinomialMatchQ[#,x]],Throw[False]]],u]; True],
+ MatchQ[u, a_.*x^q_.+b_.*x^n_. /; FreeQ[{a,b,n,q},x]]]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item:: *)
+(*TrinomialMatchQ[u,x] returns True iff u matches patterns of the form a+b x+c x^n or a+c x^(2 n) where a, b, c and n are free of x.*)
+
+
+TrinomialMatchQ[u_,x_Symbol] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[TrinomialMatchQ[#,x]],Throw[False]]],u]; True],
+ MatchQ[u, a_.+b_.*x^n_.+c_.*x^j_. /; FreeQ[{a,b,c,n},x] && EqQ[j-2*n,0]]]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item:: *)
+(*GeneralizedTrinomialMatchQ[u,x] returns True iff u matches patterns of the form a x^q+b x^n+c x^(2 n-q) where a, b, c, n and q are free of x.*)
+
+
+GeneralizedTrinomialMatchQ[u_,x_Symbol] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[GeneralizedTrinomialMatchQ[#,x]],Throw[False]]],u]; True],
+ MatchQ[u, a_.*x^q_.+b_.*x^n_.+c_.*x^r_. /; FreeQ[{a,b,c,n,q},x] && EqQ[r-(2*n-q),0]]]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item:: *)
+(*QuotientOfLinearsMatchQ[u,x] returns True iff u matches patterns of the form e (a+b x)/(c+d x) where a, b, c and d are free of x.*)
+
+
+QuotientOfLinearsMatchQ[u_,x_Symbol] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[QuotientOfLinearsMatchQ[#,x]],Throw[False]]],u]; True],
+ MatchQ[u, e_.*(a_.+b_.*x)/(c_.+d_.*x) /; FreeQ[{a,b,c,d,e},x]]]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Subsection::Closed:: *)
+(*Polynomial Terms functions*)
+
+
+(* If u (x) is an expression of the form a*x^n where n is zero or a positive integer,
+ PolynomialTermQ[u,x] returns True; else it returns False. *)
+PolynomialTermQ[u_,x_Symbol] :=
+ FreeQ[u,x] || MatchQ[u,a_.*x^n_. /; FreeQ[a,x] && IntegerQ[n] && n>0]
+
+
+(* u (x) is a sum. PolynomialTerms[u,x] returns the sum of the polynomial terms of u (x). *)
+PolynomialTerms[u_,x_Symbol] :=
+ Map[Function[If[PolynomialTermQ[#,x],#,0]],u]
+
+
+(* u (x) is a sum. NonpolynomialTerms[u,x] returns the sum of the nonpolynomial terms of u (x). *)
+NonpolynomialTerms[u_,x_Symbol] :=
+ Map[Function[If[PolynomialTermQ[#,x],0,#]],u]
+
+
+(* ::Subsection::Closed:: *)
+(*PseudoBinomial Routines*)
+
+
+(* If u is equivalent to a polynomial of the form a+b*(c+d*x)^n where n\[Element]\[DoubleStruckCapitalZ] and n>2,
+ PseudoBinomialQ[u,x] returns True; else it returns False. *)
+PseudoBinomialQ[u_,x_Symbol] :=
+ ListQ[PseudoBinomialParts[u,x]]
+
+
+(* If u is equivalent to a polynomial of the form a+b*(e+f*x)^n and v to a polynomial of the form c+d*(e+f*x)^n where n\[Element]\[DoubleStruckCapitalZ] and n>2,
+ PseudoBinomialPairQ[u,v,x] returns True; else it returns False. *)
+PseudoBinomialPairQ[u_,v_,x_Symbol] :=
+ With[{lst1=PseudoBinomialParts[u,x]},
+ If[AtomQ[lst1],
+ False,
+ With[{lst2=PseudoBinomialParts[v,x]},
+ If[AtomQ[lst2],
+ False,
+ Drop[lst1,2]===Drop[lst2,2]]]]]
+
+
+(* u is pseudo-binomial in x, NormalizePseudoBinomial[u,x] returns u in the form a+b*(c+d*x)^n. *)
+NormalizePseudoBinomial[u_,x_Symbol] :=
+ With[{lst=PseudoBinomialParts[u,x]},
+ lst[[1]]+lst[[2]]*(lst[[3]]+lst[[4]]*x)^lst[[5]]]
+
+
+(* If u is equivalent to a polynomial of the form a+b*(c+d*x)^n where n\[Element]\[DoubleStruckCapitalZ] and n>2,
+ PseudoBinomialParts[u,x] returns the list {a,b,c,d,n}; else it returns False. *)
+PseudoBinomialParts[u_,x_Symbol] :=
+ If[PolynomialQ[u,x] && Expon[u,x]>2,
+ Module[{a,c,d,n},
+ n=Expon[u,x];
+ d=Rt[Coefficient[u,x,n],n];
+ c=Coefficient[u,x,n-1]/(n*d^(n-1));
+ a=Simplify[u-(c+d*x)^n];
+ If[NeQ[a,0] && FreeQ[a,x],
+ {a,1,c,d,n},
+ False]],
+ False]
+
+
+(* ::Subsection::Closed:: *)
+(*Perfect Power Test Function*)
+
+
+(* If u (x) is equivalent to a polynomial raised to an integer power greater than 1,
+ PerfectPowerTest[u,x] returns u (x) as an expanded polynomial raised to the power;
+ else it returns False. *)
+PerfectPowerTest[u_,x_Symbol] :=
+ If[PolynomialQ[u,x],
+ Module[{lst=FactorSquareFreeList[u],gcd=0,v=1},
+ If[lst[[1]]==={1,1},
+ lst=Rest[lst]];
+ Scan[Function[gcd=GCD[gcd,#[[2]]]],lst];
+ If[gcd>1,
+ Scan[Function[v=v*#[[1]]^(#[[2]]/gcd)],lst];
+ Expand[v]^gcd,
+ False]],
+ False]
+
+
+(* ::Subsection::Closed:: *)
+(*Square Free Factor Test Function*)
+
+
+(* If u (x) can be square free factored, SquareFreeFactorTest[u,x] returns u (x) in
+ factored form; else it returns False. *)
+(* SquareFreeFactorTest[u_,x_Symbol] :=
+ If[PolynomialQ[u,x],
+ With[{v=FactorSquareFree[u]},
+ If[PowerQ[v] || ProductQ[v],
+ v,
+ False]],
+ False] *)
+
+
+(* ::Section::Closed:: *)
+(*Rational function functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*RationalFunctionQ*)
+
+
+(* If u is a rational function of x, RationalFunctionQ[u,x] returns True; else it returns False. *)
+RationalFunctionQ[u_,x_Symbol] :=
+ If[AtomQ[u] || FreeQ[u,x],
+ True,
+ If[IntegerPowerQ[u],
+ RationalFunctionQ[u[[1]],x],
+ If[ProductQ[u] || SumQ[u],
+ Catch[Scan[Function[If[Not[RationalFunctionQ[#,x]],Throw[False]]],u];True],
+ False]]]
+
+
+(* ::Subsection::Closed:: *)
+(*RationalFunctionFactors*)
+
+
+(* RationalFunctionFactors[u,x] returns the product of the factors of u that are rational functions of x. *)
+RationalFunctionFactors[u_,x_Symbol] :=
+ If[ProductQ[u],
+ Map[Function[If[RationalFunctionQ[#,x],#,1]],u],
+ If[RationalFunctionQ[u,x],
+ u,
+ 1]]
+
+
+(* ::Subsection::Closed:: *)
+(*NonrationalFunctionFactors*)
+
+
+(* NonrationalFunctionFactors[u,x] returns the product of the factors of u that are not rational functions of x. *)
+NonrationalFunctionFactors[u_,x_Symbol] :=
+ If[ProductQ[u],
+ Map[Function[If[RationalFunctionQ[#,x],1,#]],u],
+ If[RationalFunctionQ[u,x],
+ 1,
+ u]]
+
+
+(* ::Subsection::Closed:: *)
+(*RationalFunctionExponents*)
+
+
+(* u is a polynomial or rational function of x. *)
+(* RationalFunctionExponents[u,x] returns a list of the exponent of the *)
+(* numerator of u and the exponent of the denominator of u. *)
+RationalFunctionExponents[u_,x_Symbol] :=
+ If[PolynomialQ[u,x],
+ {Exponent[u,x],0},
+ If[IntegerPowerQ[u],
+ If[u[[2]]>0,
+ u[[2]]*RationalFunctionExponents[u[[1]],x],
+ (-u[[2]])*Reverse[RationalFunctionExponents[u[[1]],x]]],
+ If[ProductQ[u],
+ RationalFunctionExponents[First[u],x]+RationalFunctionExponents[Rest[u],x],
+ If[SumQ[u],
+ With[{v=Together[u]},
+ If[SumQ[v],
+ Module[{lst1,lst2},
+ lst1=RationalFunctionExponents[First[u],x];
+ lst2=RationalFunctionExponents[Rest[u],x];
+ {Max[lst1[[1]]+lst2[[2]],lst2[[1]]+lst1[[2]]],lst1[[2]]+lst2[[2]]}],
+ RationalFunctionExponents[v,x]]],
+ {0,0}]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*RationalFunctionExpand*)
+
+
+(* u is a polynomial or rational function of x. *)
+(* RationalFunctionExpand[u,x] returns the expansion of the factors of u that are rational functions times the other factors. *)
+RationalFunctionExpand[u_*v_^n_,x_Symbol] :=
+ With[{w=RationalFunctionExpand[u,x]},
+ If[SumQ[w],
+ Map[Function[#*v^n],w],
+ w*v^n]] /;
+FractionQ[n] && v=!=x
+
+RationalFunctionExpand[u_,x_Symbol] :=
+ Module[{v,w},
+ v=ExpandIntegrand[u,x];
+ If[v=!=u && Not[MatchQ[u, x^m_.*(c_+d_.*x)^p_/(a_+b_.*x^n_) /; FreeQ[{a,b,c,d,p},x] && IntegersQ[m,n] && m==n-1]],
+ v,
+ v=ExpandIntegrand[RationalFunctionFactors[u,x],x];
+ w=NonrationalFunctionFactors[u,x];
+ If[SumQ[v],
+ Map[Function[#*w],v],
+ v*w]]]
+
+
+(* ::Subsection::Closed:: *)
+(*PolyGCD*)
+
+
+(* u and v are polynomials in x. *)
+(* PolyGCD[u,v,x] returns the factors of the gcd of u and v dependent on x. *)
+PolyGCD[u_,v_,x_Symbol] :=
+ NonfreeFactors[PolynomialGCD[u,v],x]
+
+
+(* ::Section::Closed:: *)
+(*Algebraic function functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*AlgebraicFunctionQ*)
+
+
+(* AlgebraicFunctionQ[u,x] returns True iff u is an algebraic of x *)
+(* If flag is True, exponents can be nonnumeric. *)
+AlgebraicFunctionQ[u_,x_Symbol,flag_:False] :=
+ If[AtomQ[u] || FreeQ[u,x],
+ True,
+ If[PowerQ[u] && (RationalQ[u[[2]]] || flag && FreeQ[u[[2]],x]),
+ AlgebraicFunctionQ[u[[1]],x,flag],
+ If[ProductQ[u] || SumQ[u],
+ Catch[Scan[Function[If[Not[AlgebraicFunctionQ[#,x,flag]],Throw[False]]],u];True],
+ If[ListQ[u],
+ If[u==={},
+ True,
+ If[AlgebraicFunctionQ[First[u],x,flag],
+ AlgebraicFunctionQ[Rest[u],x,flag],
+ False]],
+ False]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*AlgebraicFunctionFactors*)
+
+
+(* AlgebraicFunctionFactors[u,x] returns the product of the factors of u that are algebraic functions of x. *)
+(* AlgebraicFunctionFactors[u_,x_Symbol,flag_:False] :=
+ If[ProductQ[u],
+ Map[Function[If[AlgebraicFunctionQ[#,x,flag],#,1]],u],
+ If[AlgebraicFunctionQ[u,x,flag],u,1]] *)
+
+
+(* ::Subsection::Closed:: *)
+(*NonalgebraicFunctionFactors*)
+
+
+(* NonalgebraicFunctionFactors[u,x] returns the product of the factors of u that are not algebraic functions of x. *)
+(* NonalgebraicFunctionFactors[u_,x_Symbol,flag_:False] :=
+ If[ProductQ[u],
+ Map[Function[If[AlgebraicFunctionQ[#,x,flag],1,#]],u],
+ If[AlgebraicFunctionQ[u,x,flag],1,u]] *)
+
+
+(* ::Section::Closed:: *)
+(*Quotient of linears functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*QuotientOfLinearsQ*)
+
+
+(* ::Item:: *)
+(*QuotientOfLinearsQ[u,x] returns True iff u is equivalent to an expression of the form (a+b x)/(c+d x) where b!=0 and d!=0.*)
+
+
+QuotientOfLinearsQ[u_,x_Symbol] :=
+ If[ListQ[u],
+ Catch[Scan[Function[If[Not[QuotientOfLinearsQ[#,x]],Throw[False]]],u]; True],
+ QuotientOfLinearsP[u,x] && Function[NeQ[#[[2]],0] && NeQ[#[[4]],0]][QuotientOfLinearsParts[u,x]]]
+
+
+QuotientOfLinearsP[a_*u_,x_] :=
+ QuotientOfLinearsP[u,x] /;
+FreeQ[a,x]
+
+QuotientOfLinearsP[a_+u_,x_] :=
+ QuotientOfLinearsP[u,x] /;
+FreeQ[a,x]
+
+QuotientOfLinearsP[1/u_,x_] :=
+ QuotientOfLinearsP[u,x]
+
+QuotientOfLinearsP[u_,x_] :=
+ True /;
+LinearQ[u,x]
+
+QuotientOfLinearsP[u_/v_,x_] :=
+ True /;
+LinearQ[u,x] && LinearQ[v,x]
+
+QuotientOfLinearsP[u_,x_] :=
+ u===x || FreeQ[u,x]
+
+
+(* ::Subsection::Closed:: *)
+(*QuotientOfLinearsParts*)
+
+
+(* If u is equivalent to an expression of the form (a+b*x)/(c+d*x), QuotientOfLinearsParts[u,x]
+ returns the list {a, b, c, d}. *)
+QuotientOfLinearsParts[a_*u_,x_] :=
+ Apply[Function[{a*#1, a*#2, #3, #4}], QuotientOfLinearsParts[u,x]] /;
+FreeQ[a,x]
+
+QuotientOfLinearsParts[a_+u_,x_] :=
+ Apply[Function[{#1+a*#3, #2+a*#4, #3, #4}], QuotientOfLinearsParts[u,x]] /;
+FreeQ[a,x]
+
+QuotientOfLinearsParts[1/u_,x_] :=
+ Apply[Function[{#3, #4, #1, #2}], QuotientOfLinearsParts[u,x]]
+
+QuotientOfLinearsParts[u_,x_] :=
+ {Coefficient[u,x,0], Coefficient[u,x,1], 1, 0} /;
+LinearQ[u,x]
+
+QuotientOfLinearsParts[u_/v_,x_] :=
+ {Coefficient[u,x,0], Coefficient[u,x,1], Coefficient[v,x,0], Coefficient[v,x,1]} /;
+LinearQ[u,x] && LinearQ[v,x]
+
+QuotientOfLinearsParts[u_,x_] :=
+ If[u===x,
+ {0, 1, 1, 0},
+ If[FreeQ[u,x],
+ {u, 0, 1, 0},
+ Print["QuotientOfLinearsParts error!"];
+ {u, 0, 1, 0}]]
+
+
+(* ::Subsection::Closed:: *)
+(*SubstForFractionalPowerOfQuotientOfLinears*)
+
+
+(* If u has a subexpression of the form ((a+b*x)/(c+d*x))^(m/n) where m and n>1 are integers,
+ SubstForFractionalPowerOfQuotientOfLinears[u,x] returns the list {v,n,(a+b*x)/(c+d*x),b*c-a*d} where v is u
+ with subexpressions of the form ((a+b*x)/(c+d*x))^(m/n) replaced by x^m and x replaced
+ by (-a+c*x^n)/(b-d*x^n), and all times x^(n-1)/(b-d*x^n)^2; else it returns False. *)
+SubstForFractionalPowerOfQuotientOfLinears[u_,x_Symbol] :=
+ Module[{lst=FractionalPowerOfQuotientOfLinears[u,1,False,x]},
+ If[AtomQ[lst] || AtomQ[lst[[2]]],
+ False,
+ With[{n=lst[[1]],tmp=lst[[2]]},
+ lst=QuotientOfLinearsParts[tmp,x];
+ With[{a=lst[[1]],b=lst[[2]],c=lst[[3]],d=lst[[4]]},
+ If[EqQ[d,0],
+ False,
+ lst=Simplify[x^(n-1)*SubstForFractionalPower[u,tmp,n,(-a+c*x^n)/(b-d*x^n),x]/(b-d*x^n)^2];
+ {NonfreeFactors[lst,x],n,tmp,FreeFactors[lst,x]*(b*c-a*d)}]]]]]
+
+
+(* If the substitution x=v^(1/n) will not complicate algebraic subexpressions of u,
+ SubstForFractionalPowerQ[u,v,x] returns True; else it returns False. *)
+SubstForFractionalPowerQ[u_,v_,x_Symbol] :=
+ If[AtomQ[u] || FreeQ[u,x],
+ True,
+ If[FractionalPowerQ[u],
+ SubstForFractionalPowerAuxQ[u,v,x],
+ Catch[Scan[Function[If[Not[SubstForFractionalPowerQ[#,v,x]],Throw[False]]],u];True]]]
+
+SubstForFractionalPowerAuxQ[u_,v_,x_] :=
+ If[AtomQ[u],
+ False,
+ If[FractionalPowerQ[u] && EqQ[u[[1]],v],
+ True,
+ Catch[Scan[Function[If[SubstForFractionalPowerAuxQ[#,v,x],Throw[True]]],u];False]]]
+
+
+(* If u has a subexpression of the form ((a+b*x)/(c+d*x))^(m/n),
+ FractionalPowerOfQuotientOfLinears[u,1,False,x] returns {n,(a+b*x)/(c+d*x)}; else it returns False. *)
+FractionalPowerOfQuotientOfLinears[u_,n_,v_,x_] :=
+ If[AtomQ[u] || FreeQ[u,x],
+ {n,v},
+ If[CalculusQ[u],
+ False,
+ If[FractionalPowerQ[u] && QuotientOfLinearsQ[u[[1]],x] && Not[LinearQ[u[[1]],x]] && (FalseQ[v] || EqQ[u[[1]],v]),
+ {LCM[Denominator[u[[2]]],n],u[[1]]},
+ Catch[Module[{lst={n,v}},
+ Scan[Function[If[AtomQ[lst=FractionalPowerOfQuotientOfLinears[#,lst[[1]],lst[[2]],x]],Throw[False]]],u];
+ lst]]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*SubstForInverseFunctionOfQuotientOfLinears*)
+
+
+(* If u has a subexpression of the form g[(a+b*x)/(c+d*x)] where g is the inverse of function h
+ and f[x,g[(a+b*x)/(c+d*x)]] equals u, SubstForInverseFunctionOfQuotientOfLinears[u,x] returns
+ the list {f[(-a+c*h[x])/(b-d*h[x]),x]*h'[x]/(b-d*h[x])^2, g[(a+b*x)/(c+d*x)], b*c-a*d} *)
+SubstForInverseFunctionOfQuotientOfLinears[u_,x_Symbol] :=
+ With[{tmp=InverseFunctionOfQuotientOfLinears[u,x]},
+ If[AtomQ[tmp],
+ False,
+ With[{h=InverseFunction[Head[tmp]],lst=QuotientOfLinearsParts[tmp[[1]],x]},
+ With[{a=lst[[1]],b=lst[[2]],c=lst[[3]],d=lst[[4]]},
+ {SubstForInverseFunction[u,tmp,(-a+c*h[x])/(b-d*h[x]),x]*D[h[x],x]/(b-d*h[x])^2, tmp, b*c-a*d}]]]]
+
+
+(* If u has a subexpression of the form g[(a+b*x)/(c+d*x)] where g is an inverse function,
+ InverseFunctionOfQuotientOfLinears[u,x] returns g[(a+b*x)/(c+d*x)]; else it returns False. *)
+InverseFunctionOfQuotientOfLinears[u_,x_Symbol] :=
+ If[AtomQ[u] || CalculusQ[u] || FreeQ[u,x],
+ False,
+ If[InverseFunctionQ[u] && QuotientOfLinearsQ[u[[1]],x],
+ u,
+ Module[{tmp},
+ Catch[
+ Scan[Function[If[Not[AtomQ[tmp=InverseFunctionOfQuotientOfLinears[#,x]]],Throw[tmp]]],u];
+ False]]]]
+
+
+(* ::Subsubsection::Closed:: *)
+(*Substitution for inverse functions*)
+
+
+(* SubstForFractionalPower[u,v,n,w,x] returns u with subexpressions equal to v^(m/n) replaced
+ by x^m and x replaced by w. *)
+SubstForFractionalPower[u_,v_,n_,w_,x_Symbol] :=
+ If[AtomQ[u],
+ If[u===x,
+ w,
+ u],
+ If[FractionalPowerQ[u] && EqQ[u[[1]],v],
+ x^(n*u[[2]]),
+ Map[Function[SubstForFractionalPower[#,v,n,w,x]],u]]]
+
+
+(* SubstForInverseFunction[u,v,w,x] returns u with subexpressions equal to v replaced by x
+ and x replaced by w. *)
+SubstForInverseFunction[u_,v_,x_Symbol] :=
+(* Module[{a=Coefficient[v[[1]],0],b=Coefficient[v[[1]],1]},
+ SubstForInverseFunction[u,v,-a/b+InverseFunction[Head[v]]/b,x]] *)
+ SubstForInverseFunction[u,v,
+ (-Coefficient[v[[1]],x,0]+InverseFunction[Head[v]][x])/Coefficient[v[[1]],x,1],x]
+
+SubstForInverseFunction[u_,v_,w_,x_Symbol] :=
+ If[AtomQ[u],
+ If[u===x,
+ w,
+ u],
+ If[Head[u]===Head[v] && EqQ[u[[1]],v[[1]]],
+ x,
+ Map[Function[SubstForInverseFunction[#,v,w,x]],u]]]
+
+
+(* ::Section::Closed:: *)
+(*Absurd number factors*)
+
+
+(* ::Text:: *)
+(*Definition: A number is absurd if it is a rational number, a positive rational number raised to a fractional power, or a product of absurd numbers.*)
+
+
+(* AbsurdNumberQ[u] returns True if u is an absurd number, else it returns False. *)
+AbsurdNumberQ[u_] :=
+ RationalQ[u]
+
+AbsurdNumberQ[u_^v_] :=
+ RationalQ[u] && u>0 && FractionQ[v]
+
+AbsurdNumberQ[u_*v_] :=
+ AbsurdNumberQ[u] && AbsurdNumberQ[v]
+
+
+(* AbsurdNumberFactors[u] returns the product of the factors of u that are absurd numbers. *)
+AbsurdNumberFactors[u_] :=
+ If[AbsurdNumberQ[u],
+ u,
+ If[ProductQ[u],
+ Map[AbsurdNumberFactors,u],
+ NumericFactor[u]]]
+
+
+(* NonabsurdNumberFactors[u] returns the product of the factors of u that are not absurd numbers. *)
+NonabsurdNumberFactors[u_] :=
+ If[AbsurdNumberQ[u],
+ 1,
+ If[ProductQ[u],
+ Map[NonabsurdNumberFactors,u],
+ NonnumericFactors[u]]]
+
+
+(* m must be an absurd number. FactorAbsurdNumber[m] returns the prime factorization of m *)
+(* as list of base-degree pairs where the bases are prime numbers and the degrees are rational. *)
+FactorAbsurdNumber[m_] :=
+ If[RationalQ[m],
+ FactorInteger[m],
+ If[PowerQ[m],
+ Map[Function[{#[[1]], #[[2]]*m[[2]]}],FactorInteger[m[[1]]]],
+ CombineExponents[Sort[Flatten[Map[FactorAbsurdNumber,Apply[List,m]],1], Function[#1[[1]]<#2[[1]]]]]]]
+
+
+CombineExponents[lst_] :=
+ If[Length[lst]<2,
+ lst,
+ If[lst[[1,1]]==lst[[2,1]],
+ CombineExponents[Prepend[Drop[lst,2],{lst[[1,1]],lst[[1,2]]+lst[[2,2]]}]],
+ Prepend[CombineExponents[Rest[lst]],First[lst]]]]
+
+
+(* m, n, ... must be absurd numbers. AbsurdNumberGCD[m,n,...] returns the gcd of m, n, ... *)
+AbsurdNumberGCD[seq__] :=
+ With[{lst={seq}},
+ If[Length[lst]==1,
+ First[lst],
+ AbsurdNumberGCDList[FactorAbsurdNumber[First[lst]],FactorAbsurdNumber[Apply[AbsurdNumberGCD,Rest[lst]]]]]]
+
+
+(* lst1 and lst2 must be absurd number prime factorization lists. *)
+(* AbsurdNumberGCDList[lst1,lst2] returns the gcd of the absurd numbers represented by lst1 and lst2. *)
+AbsurdNumberGCDList[lst1_,lst2_] :=
+ If[lst1==={},
+ Apply[Times,Map[Function[#[[1]]^Min[#[[2]],0]],lst2]],
+ If[lst2==={},
+ Apply[Times,Map[Function[#[[1]]^Min[#[[2]],0]],lst1]],
+ If[lst1[[1,1]]==lst2[[1,1]],
+ If[lst1[[1,2]]<=lst2[[1,2]],
+ lst1[[1,1]]^lst1[[1,2]]*AbsurdNumberGCDList[Rest[lst1],Rest[lst2]],
+ lst1[[1,1]]^lst2[[1,2]]*AbsurdNumberGCDList[Rest[lst1],Rest[lst2]]],
+ If[lst1[[1,1]]LeafCount[u]+2,
+ UnifySum[u,x],
+ NormalizeIntegrandFactorBase[v,x]]],
+ Map[Function[NormalizeIntegrandFactor[#,x]],u]]]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*NormalizeLeadTermSigns*)
+
+
+NormalizeTogether[u_] :=
+ NormalizeLeadTermSigns[Together[u]]
+
+
+(* NormalizeLeadTermSigns[u] returns an expression equal u but with not more than one sum
+ factor raised to a integer degree having a lead term with a negative coefficient. *)
+NormalizeLeadTermSigns[u_] :=
+ With[{lst=If[ProductQ[u], Map[SignOfFactor,u], SignOfFactor[u]]},
+ If[lst[[1]]==1,
+ lst[[2]],
+ AbsorbMinusSign[lst[[2]]]]]
+
+
+(* AbsorbMinusSign[u] returns an expression equal to -u. If there is a factor of u of the
+ form v^m where v is a sum and m is an odd power, the minus sign is distributed over v;
+ otherwise -u is returned. *)
+AbsorbMinusSign[u_.*v_Plus] :=
+ u*(-v)
+
+AbsorbMinusSign[u_.*v_Plus^m_] :=
+ u*(-v)^m /;
+OddQ[m]
+
+AbsorbMinusSign[u_] :=
+ -u
+
+
+(* ::Subsection::Closed:: *)
+(*NormalizeSumFactors*)
+
+
+(* NormalizeSumFactors[u] returns an expression equal u but with the numeric coefficient of
+ the lead term of sum factors made positive where possible. *)
+NormalizeSumFactors[u_] :=
+ If[AtomQ[u] || Head[u]===If || Head[u]===Int || HeldFormQ[u],
+ u,
+ If[ProductQ[u],
+ Function[#[[1]]*#[[2]]][SignOfFactor[Map[NormalizeSumFactors,u]]],
+ Map[NormalizeSumFactors,u]]]
+
+
+(* SignOfFactor[u] returns the list {n,v} where n*v equals u, n^2 equals 1, and the lead
+ term of the sum factors of v raised to integer degrees all have positive coefficients. *)
+SignOfFactor[u_] :=
+ If[RationalQ[u] && u<0 || SumQ[u] && NumericFactor[First[u]]<0,
+ {-1, -u},
+ If[IntegerPowerQ[u] && SumQ[u[[1]]] && NumericFactor[First[u[[1]]]]<0,
+ {(-1)^u[[2]], (-u[[1]])^u[[2]]},
+ If[ProductQ[u],
+ Map[SignOfFactor,u],
+ {1, u}]]]
+
+
+(* ::Subsection::Closed:: *)
+(*NormalizePowerOfLinear*)
+
+
+(* u can be square-free factored into an expression of the form (a+b*x)^m. *)
+(* NormalizePowerOfLinear[u,x] returns u in the form (a+b*x)^m. *)
+NormalizePowerOfLinear[u_,x_Symbol] :=
+ With[{v=FactorSquareFree[u]},
+ If[PowerQ[v] && LinearQ[v[[1]],x] && FreeQ[v[[2]],x],
+ ExpandToSum[v[[1]],x]^v[[2]],
+ ExpandToSum[v,x]]]
+
+
+(* ::Subsection::Closed:: *)
+(*MergeMonomials*)
+
+
+(* ::Subsubsection::Closed:: *)
+(*Basis: If m\[Element]\[DoubleStruckCapitalZ] \[And] b c-a d==0, then (a+b z)^m==b^m/d^m (c+d z)^m*)
+
+
+MergeMonomials[u_.*(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_.,x_Symbol] :=
+ u*b^m/d^m*(c+d*x)^(m+n) /;
+FreeQ[{a,b,c,d},x] && IntegerQ[m] && EqQ[b*c-a*d,0]
+
+
+(* ::Subsubsection::Closed:: *)
+(*Basis: If m/n\[Element]\[DoubleStruckCapitalZ], then z^m (c z^n)^p==(c z^n)^(m/n+p)/c^(m/n)*)
+
+
+MergeMonomials[u_.*(a_.+b_.*x_)^m_.*(c_.*(a_.+b_.*x_)^n_.)^p_,x_Symbol] :=
+ u*(c*(a+b*x)^n)^(m/n+p)/c^(m/n) /;
+FreeQ[{a,b,c,m,n,p},x] && IntegerQ[m/n]
+
+MergeMonomials[u_,x_Symbol] := u
+
+
+(* ::Section::Closed:: *)
+(*Simplification functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*SimplifyIntegrand*)
+
+
+(* SimplifyIntegrand[u,x] simplifies u and returns the result in a standard form recognizable by integration rules. *)
+SimplifyIntegrand[u_,x_Symbol] :=
+ Module[{v},
+ v=NormalizeLeadTermSigns[NormalizeIntegrandAux[Simplify[u],x]];
+ If[LeafCount[v]<4/5*LeafCount[u],
+ v,
+ If[v=!=NormalizeLeadTermSigns[u],
+ v,
+ u]]]
+
+
+(* ::Subsection::Closed:: *)
+(*SimplifyTerm ????*)
+
+
+(* SimplifyTerm[u_,x_Symbol] :=
+ Module[{v=Simplify[u],w},
+ w=Together[v];
+ NormalizeIntegrand[If[LeafCount[v]0 \[And] v>0, let g=GCD[m,n], then u^m v^n==((u^(m/g) v^(n/g)))^g*)
+
+
+FixSimplify[w_.*u_^m_.*v_^n_] :=
+ With[{z=Simplify[u^(m/GCD[m,n])*v^(n/GCD[m,n])]},
+ FixSimplify[w*z^GCD[m,n]]/;
+ AbsurdNumberQ[z] || SqrtNumberSumQ[z]] /;
+RationalQ[m] && FractionQ[n] && SqrtNumberSumQ[u] && SqrtNumberSumQ[v] && PositiveQ[u] && PositiveQ[v]
+
+
+FixSimplify[w_.*u_^m_.*v_^n_] :=
+ With[{z=Simplify[u^(m/GCD[m,-n])*v^(n/GCD[m,-n])]},
+ FixSimplify[w*z^GCD[m,-n]]/;
+ AbsurdNumberQ[z] || SqrtNumberSumQ[z]] /;
+RationalQ[m] && FractionQ[n] && SqrtNumberSumQ[u] && SqrtNumberSumQ[1/v] && PositiveQ[u] && PositiveQ[v]
+
+
+(* ::Item:: *)
+(*Basis: If m\[Element]\[DoubleStruckCapitalZ] \[And] u<0 \[And] v>0, then u^m v^n==-(((-u))^(m/n) v)^n*)
+
+
+FixSimplify[w_.*u_^m_.*v_^n_] :=
+ With[{z=Simplify[(-u)^(m/GCD[m,n])*v^(n/GCD[m,n])]},
+ FixSimplify[-w*z^GCD[m,n]]/;
+ AbsurdNumberQ[z] || SqrtNumberSumQ[z]] /;
+IntegerQ[m] && FractionQ[n] && SqrtNumberSumQ[u] && SqrtNumberSumQ[v] && NegativeQ[u] && PositiveQ[v]
+
+
+FixSimplify[w_.*u_^m_.*v_^n_] :=
+ With[{z=Simplify[(-u)^(m/GCD[m,-n])*v^(n/GCD[m,-n])]},
+ FixSimplify[-w*z^GCD[m,-n]]/;
+ AbsurdNumberQ[z] || SqrtNumberSumQ[z]] /;
+IntegerQ[m] && FractionQ[n] && SqrtNumberSumQ[u] && SqrtNumberSumQ[1/v] && NegativeQ[u] && PositiveQ[v]
+
+
+(* ::Item:: *)
+(*Basis: If p\[Element]\[DoubleStruckCapitalZ] \[Or] a>0, then a^m (u+v)^p==(a^(m/p) u+a^(m/p) v)^p*)
+
+
+FixSimplify[w_.*a_^m_*(u_+b_^n_*v_.)^p_.] :=
+ With[{c=Simplify[a^(m/p)*b^n]},
+ FixSimplify[w*(a^(m/p)*u+c*v)^p] /;
+ RationalQ[c]] /;
+RationalQ[a,b,m,n] && a>0 && b>0 && PositiveIntegerQ[p]
+
+
+(* ::Item:: *)
+(*Basis: If p\[Element]\[DoubleStruckCapitalZ], then a^m (a^n u+(-a)^p v)==a^(m+n) (u+(-1)^p a^(p-n) v)*)
+
+
+FixSimplify[w_.*a_^m_.*(a_^n_*u_.+b_^p_.*v_.)] :=
+ FixSimplify[w*a^(m+n)*(u+(-1)^p*a^(p-n)*v)] /;
+RationalQ[m] && FractionQ[n] && IntegerQ[p] && p-n>0 && a+b===0
+
+
+(* ::Item:: *)
+(*Basis: If m\[Element]\[DoubleStruckCapitalZ] \[And] b c-a d==0, then (a+b)^m==(b/d)^m (c+d)^m*)
+
+
+FixSimplify[w_.*(a_+b_)^m_.*(c_+d_)^n_] :=
+ With[{q=Simplify[b/d]},
+ FixSimplify[w*q^m*(c+d)^(m+n)] /;
+ FreeQ[q,Plus]] /;
+IntegerQ[m] && Not[IntegerQ[n]] && EqQ[b*c-a*d,0]
+
+
+(* ::Item:: *)
+(*Basis: If t\[Element]\[DoubleStruckCapitalZ], then (a^m u+a^n v+...)^t==a^(m t) (u+a^(n-m) v+...)^t*)
+
+
+FixSimplify[w_.*(a_^m_.*u_.+a_^n_.*v_.)^t_.] :=
+ FixSimplify[a^(m*t)*w*(u+a^(n-m)*v)^t] /;
+Not[RationalQ[a]] && IntegerQ[t] && RationalQ[m,n] && 00, then a^(m/4) Sqrt[b(c+d Sqrt[a])]==Sqrt[b(c a^(m/2)+d a^((m+1)/2))]*)
+
+
+(* FixSimplify[u_.*a_^m_*Sqrt[b_.*(c_+d_.*Sqrt[a_])]] :=
+ Sqrt[Together[b*(c*a^(2*m)+d*a^(2*m+1/2))]]*FixSimplify[u] /;
+RationalQ[a,b,c,d,m] && a>0 && Denominator[m]==4
+
+FixSimplify[u_.*a_^m_/Sqrt[b_.*(c_+d_.*Sqrt[a_])]] :=
+ FixSimplify[u]/Sqrt[Together[b*(c/a^(2*m)+d/a^(2*m-1/2))]] /;
+RationalQ[a,b,c,d,m] && a>0 && Denominator[m]==4 *)
+
+
+(* ::Item:: *)
+(*Basis: If w^-n==v, then v^m w^n==v^(m-1)*)
+
+
+FixSimplify[u_.*v_^m_*w_^n_] :=
+ -FixSimplify[u*v^(m-1)] /;
+RationalQ[m] && Not[RationalQ[w]] && FractionQ[n] && n<0 && EqQ[v+w^(-n),0]
+
+
+(* ::Item:: *)
+(*Basis: If n\[Element]\[DoubleStruckCapitalZ], then v^m (-v)^n==(-1)^n v^(m+n)*)
+
+
+FixSimplify[u_.*v_^m_*w_^n_.] :=
+ (-1)^(n)*FixSimplify[u*v^(m+n)] /;
+RationalQ[m] && Not[RationalQ[w]] && IntegerQ[n] && EqQ[v+w,0]
+
+
+(* ::Item:: *)
+(*Basis: If n/p\[Element]\[DoubleStruckCapitalZ], then (-v^p)^m v^n==(-1)^(n/p) (-v^p)^(m+n/p)*)
+
+
+FixSimplify[u_.*(-v_^p_.)^m_*w_^n_.] :=
+ (-1)^(n/p)*FixSimplify[u*(-v^p)^(m+n/p)] /;
+RationalQ[m] && Not[RationalQ[w]] && IntegerQ[n/p] && EqQ[v-w,0]
+
+
+(* ::Item:: *)
+(*Basis: If (n|n/p)\[Element]\[DoubleStruckCapitalZ], then (-v^p)^m (-v)^n==(-1)^(n+n/p) (-v^p)^(m+n/p)*)
+
+
+FixSimplify[u_.*(-v_^p_.)^m_*w_^n_.] :=
+ (-1)^(n+n/p)*FixSimplify[u*(-v^p)^(m+n/p)] /;
+RationalQ[m] && Not[RationalQ[w]] && IntegersQ[n,n/p] && EqQ[v+w,0]
+
+
+(* ::Item:: *)
+(*Basis: (a-b) (a+b) == a^2-b^2*)
+
+
+FixSimplify[u_.*(a_-b_)^m_.*(a_+b_)^m_.] :=
+ u*(a^2-b^2)^m /;
+IntegerQ[m] && AtomQ[a] && AtomQ[b]
+
+
+FixSimplify[u_.*(c_Symbol*d_Symbol^2-e_Symbol*(b_Symbol*d_Symbol-a_Symbol*e_Symbol))^m_.] :=
+ u*(c*d^2-b*d*e+a*e^2)^m /;
+RationalQ[m] && OrderedQ[{a,b,c,d,e}]
+
+FixSimplify[u_.*(c_Symbol*d_Symbol^2+e_Symbol*(-b_Symbol*d_Symbol+a_Symbol*e_Symbol))^m_.] :=
+ u*(c*d^2-b*d*e+a*e^2)^m /;
+RationalQ[m] && OrderedQ[{a,b,c,d,e}]
+
+FixSimplify[u_.*(-c_Symbol*d_Symbol^2+e_Symbol*(b_Symbol*d_Symbol-a_Symbol*e_Symbol))^m_.] :=
+ (-1)^m*u*(c*d^2-b*d*e+a*e^2)^m /;
+IntegerQ[m] && OrderedQ[{a,b,c,d,e}]
+
+FixSimplify[u_.*(-c_Symbol*d_Symbol^2-e_Symbol*(-b_Symbol*d_Symbol+a_Symbol*e_Symbol))^m_.] :=
+ (-1)^m*u*(c*d^2-b*d*e+a*e^2)^m /;
+RationalQ[m] && OrderedQ[{a,b,c,d,e}]
+
+
+FixSimplify[u_] := u
+
+
+(* ::Subsection::Closed:: *)
+(*SimpFixFactor*)
+
+
+(* SimpFixFactor[(a_.*c_ + b_.*c_)^p_.,x_] :=
+ c^p*SimpFixFactor[(a+b)^p,x] /;
+FreeQ[c,x] && IntegerQ[p] && c^p=!=-1 *)
+
+SimpFixFactor[(a_.*Complex[0,c_] + b_.*Complex[0,d_])^p_.,x_] :=
+ I^p*SimpFixFactor[(a*c+b*d)^p,x] /;
+IntegerQ[p]
+
+SimpFixFactor[(a_.*Complex[0,d_] + b_.*Complex[0,e_]+ c_.*Complex[0,f_])^p_.,x_] :=
+ I^p*SimpFixFactor[(a*d+b*e+c*f)^p,x] /;
+IntegerQ[p]
+
+
+SimpFixFactor[(a_.*c_^r_ + b_.*x_^n_.)^p_.,x_] :=
+ c^(r*p)*SimpFixFactor[(a+b/c^r*x^n)^p,x] /;
+FreeQ[{a,b,c},x] && IntegersQ[n,p] && AtomQ[c] && RationalQ[r] && r<0
+
+SimpFixFactor[(a_. + b_.*c_^r_*x_^n_.)^p_.,x_] :=
+ c^(r*p)*SimpFixFactor[(a/c^r+b*x^n)^p,x] /;
+FreeQ[{a,b,c},x] && IntegersQ[n,p] && AtomQ[c] && RationalQ[r] && r<0
+
+
+SimpFixFactor[(a_.*c_^s_. + b_.*c_^r_.*x_^n_.)^p_.,x_] :=
+ c^(s*p)*SimpFixFactor[(a+b*c^(r-s)*x^n)^p,x] /;
+FreeQ[{a,b,c},x] && IntegersQ[n,p] && RationalQ[s,r] && 0=0 || RationalQ[deg] && deg>0),
+ If[PowerQ[v],
+ If[bas===v[[1]],
+ RationalQ[deg+v[[2]]] && (deg+v[[2]]>=0 || RationalQ[deg] && deg>0),
+ SumQ[v[[1]]] && IntegerQ[v[[2]]] && (Not[IntegerQ[deg]] || IntegerQ[deg/v[[2]]]) && MergeableFactorQ[bas,deg/v[[2]],v[[1]]]],
+ If[ProductQ[v],
+ MergeableFactorQ[bas,deg,First[v]] || MergeableFactorQ[bas,deg,Rest[v]],
+ SumQ[v] && MergeableFactorQ[bas,deg,First[v]] && MergeableFactorQ[bas,deg,Rest[v]]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*TrigSimplify*)
+
+
+(* TrigSimplifyQ[u] returns True if TrigSimplify[u] actually simplifies u; else False. *)
+TrigSimplifyQ[u_] :=
+ ActivateTrig[u]=!=TrigSimplify[u]
+
+
+(* TrigSimplify[u] returns a bottom-up trig simplification of u. *)
+TrigSimplify[u_] :=
+ ActivateTrig[TrigSimplifyRecur[u]]
+
+
+TrigSimplifyRecur[u_] :=
+ If[AtomQ[u],
+ u,
+ If[Head[u]===If,
+ u,
+ TrigSimplifyAux[Map[TrigSimplifyRecur,u]]]]
+
+Clear[TrigSimplifyAux]
+
+
+(* Basis: a*z^m+b*z^n == z^m*(a+b*z^(n-m)) *)
+TrigSimplifyAux[u_.*(a_.*v_^m_.+b_.*v_^n_.)^p_] :=
+ u*v^(m*p)*TrigSimplifyAux[a+b*v^(n-m)]^p /;
+InertTrigQ[v] && IntegerQ[p] && RationalQ[m,n] && m0 && p<0 && m==-n*p
+
+(* Basis: If n is an integer, Cos[z]^(-n)*(a*Cos[z]^n+b*Sin[z]^n) == a+b*Tan[z]^n *)
+TrigSimplifyAux[cos[v_]^m_.*(a_.*cos[v_]^n_.+b_.*sin[v_]^n_.)^p_] :=
+ (a+b*Tan[v]^n)^p /;
+IntegersQ[m,n,p] && n>0 && p<0 && m==-n*p *)
+
+
+(* (* Basis: If a^2+b^2=0, 1/(a*Cos[z] + b*Sin[z]) == Cos[z]/a + Sin[z]/b *)
+TrigSimplifyAux[(a_.*cos[v_]+b_.*sin[v_])^n_] :=
+ (Cos[v]/a + Sin[v]/b)^(-n) /;
+IntegerQ[n] && n<0 && EqQ[a^2+b^2,0] *)
+
+
+TrigSimplifyAux[u_] := u
+
+
+(* ::Section::Closed:: *)
+(*Factoring functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*ContentFactor*)
+
+
+(* ContentFactor[expn] returns expn with the content of sum factors factored out. *)
+(* Basis: a*b+a*c == a*(b+c) *)
+ContentFactor[expn_] :=
+ TimeConstrained[ContentFactorAux[expn],$TimeLimit,expn];
+
+ContentFactorAux[expn_] :=
+ If[AtomQ[expn],
+ expn,
+ If[IntegerPowerQ[expn],
+ If[SumQ[expn[[1]]] && NumericFactor[expn[[1,1]]]<0,
+ (-1)^expn[[2]] * ContentFactorAux[-expn[[1]]]^expn[[2]],
+ ContentFactorAux[expn[[1]]]^expn[[2]]],
+ If[ProductQ[expn],
+ Module[{num=1,tmp},
+ tmp=Map[Function[If[SumQ[#] && NumericFactor[#[[1]]]<0, num=-num; ContentFactorAux[-#], ContentFactorAux[#]]], expn];
+ num*UnifyNegativeBaseFactors[tmp]],
+ If[SumQ[expn],
+ With[{lst=CommonFactors[Apply[List,expn]]},
+ If[lst[[1]]===1 || lst[[1]]===-1,
+ expn,
+ lst[[1]]*Apply[Plus,Rest[lst]]]],
+ expn]]]]
+
+
+(* UnifyNegativeBaseFactors[u] returns u with factors of the form (-v)^m and v^n where n is an integer replaced with (-1)^n*(-v)^(m+n). *)
+(* This should be done automatically by the host CAS! *)
+UnifyNegativeBaseFactors[u_.*(-v_)^m_*v_^n_.] :=
+ UnifyNegativeBaseFactors[(-1)^n*u*(-v)^(m+n)] /;
+IntegerQ[n]
+
+UnifyNegativeBaseFactors[u_] :=
+ u
+
+
+(* If lst is a list of n terms, CommonFactors[lst] returns a n+1-element list whose first
+ element is the product of the factors common to all terms of lst, and whose remaining
+ elements are quotients of each term divided by the common factor. *)
+CommonFactors [lst_] :=
+ Module[{lst1,lst2,lst3,lst4,common,base,num},
+ lst1=Map[NonabsurdNumberFactors,lst];
+ lst2=Map[AbsurdNumberFactors,lst];
+ num=Apply[AbsurdNumberGCD,lst2];
+ common=num;
+ lst2=Map[Function[#/num],lst2];
+ While[True,
+ lst3=Map[LeadFactor,lst1];
+ ( If[Apply[SameQ,lst3],
+ common=common*lst3[[1]];
+ lst1=Map[RemainingFactors,lst1],
+ If[MapAnd[Function[LogQ[#] && IntegerQ[First[#]] && First[#]>0],lst3] &&
+ MapAnd[RationalQ,lst4=Map[Function[FullSimplify[#/First[lst3]]],lst3]],
+ num=Apply[GCD,lst4];
+ common=common*Log[(First[lst3][[1]])^num];
+ lst2=Map2[Function[#1*#2/num],lst2,lst4];
+ lst1=Map[RemainingFactors,lst1],
+ lst4=Map[LeadDegree,lst1];
+ If[Apply[SameQ,Map[LeadBase,lst1]] && MapAnd[RationalQ,lst4],
+ num=Smallest[lst4];
+ base=LeadBase[lst1[[1]]];
+ ( If[num!=0,
+ common=common*base^num] );
+ lst2=Map2[Function[#1*base^(#2-num)],lst2,lst4];
+ lst1=Map[RemainingFactors,lst1],
+ If[Length[lst1]==2 && EqQ[LeadBase[lst1[[1]]]+LeadBase[lst1[[2]]],0] &&
+ NeQ[lst1[[1]],1] && IntegerQ[lst4[[1]]] && FractionQ[lst4[[2]]],
+ num=Min[lst4];
+ base=LeadBase[lst1[[2]]];
+ ( If[num!=0,
+ common=common*base^num] );
+ lst2={lst2[[1]]*(-1)^lst4[[1]],lst2[[2]]};
+ lst2=Map2[Function[#1*base^(#2-num)],lst2,lst4];
+ lst1=Map[RemainingFactors,lst1],
+ If[Length[lst1]==2 && EqQ[LeadBase[lst1[[1]]]+LeadBase[lst1[[2]]],0] &&
+ NeQ[lst1[[2]],1] && IntegerQ[lst4[[2]]] && FractionQ[lst4[[1]]],
+ num=Min[lst4];
+ base=LeadBase[lst1[[1]]];
+ ( If[num!=0,
+ common=common*base^num] );
+ lst2={lst2[[1]],lst2[[2]]*(-1)^lst4[[2]]};
+ lst2=Map2[Function[#1*base^(#2-num)],lst2,lst4];
+ lst1=Map[RemainingFactors,lst1],
+ num=MostMainFactorPosition[lst3];
+ lst2=ReplacePart[lst2,lst3[[num]]*lst2[[num]],num];
+ lst1=ReplacePart[lst1,RemainingFactors[lst1[[num]]],num]]]]]] );
+ If[MapAnd[Function[#===1],lst1],
+ Return[Prepend[lst2,common]]]]]
+
+
+MostMainFactorPosition[lst_List] :=
+ Module[{factor=1,num=1,i},
+ Do[If[FactorOrder[lst[[i]],factor]>0,factor=lst[[i]];num=i],{i,Length[lst]}];
+ num]
+
+
+FactorOrder[u_,v_] :=
+ If[u===1,
+ If[v===1,
+ 0,
+ -1],
+ If[v===1,
+ 1,
+ Order[u,v]]]
+
+
+Smallest[num1_,num2_] :=
+ If[num1>0,
+ If[num2>0,
+ Min[num1,num2],
+ 0],
+ If[num2>0,
+ 0,
+ Max[num1,num2]]]
+
+Smallest[lst_List] :=
+ Module[{num=lst[[1]]},
+ Scan[Function[num=Smallest[num,#]],Rest[lst]];
+ num]
+
+
+(* ::Subsection::Closed:: *)
+(*MonomialFactor*)
+
+
+(* MonomialFactor[u,x] returns the list {n,v} where x^n*v==u and n is free of x. *)
+MonomialFactor[u_,x_Symbol] :=
+ If[AtomQ[u],
+ If[u===x,
+ {1,1},
+ {0,u}],
+ If[PowerQ[u],
+ If[IntegerQ[u[[2]]],
+ With[{lst=MonomialFactor[u[[1]],x]},
+ {lst[[1]]*u[[2]],lst[[2]]^u[[2]]}],
+ If[u[[1]]===x && FreeQ[u[[2]],x],
+ {u[[2]],1},
+ {0,u}]],
+ If[ProductQ[u],
+ With[{lst1=MonomialFactor[First[u],x],lst2=MonomialFactor[Rest[u],x]},
+ {lst1[[1]]+lst2[[1]],lst1[[2]]*lst2[[2]]}],
+ If[SumQ[u],
+ Module[{lst,deg},
+ lst=Map[Function[MonomialFactor[#,x]],Apply[List,u]];
+ deg=lst[[1,1]];
+ Scan[Function[deg=MinimumDegree[deg,#[[1]]]],Rest[lst]];
+ If[EqQ[deg,0] || RationalQ[deg] && deg<0,
+ {0,u},
+ {deg,Apply[Plus,Map[Function[x^(#[[1]]-deg)*#[[2]]],lst]]}]],
+ {0,u}]]]]
+
+
+MinimumDegree[deg1_,deg2_] :=
+ If[RationalQ[deg1],
+ If[RationalQ[deg2],
+ Min[deg1,deg2],
+ deg1],
+ If[RationalQ[deg2],
+ deg2,
+ With[{deg=Simplify[deg1-deg2]},
+ If[RationalQ[deg],
+ If[deg>0,
+ deg2,
+ deg1],
+ If[OrderedQ[{deg1,deg2}],
+ deg1,
+ deg2]]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*ConstantFactor*)
+
+
+(* ConstantFactor[u,x] returns a 2-element list of the factors of u[x] free of x and the
+ factors not free of u[x]. Common constant factors of the terms of sums are also collected. *)
+ConstantFactor[u_,x_Symbol] :=
+ If[FreeQ[u,x],
+ {u,1},
+ If[AtomQ[u],
+ {1,u},
+ If[PowerQ[u] && FreeQ[u[[2]],x],
+ Module[{lst=ConstantFactor[u[[1]],x],tmp},
+ If[IntegerQ[u[[2]]],
+ {lst[[1]]^u[[2]],lst[[2]]^u[[2]]},
+ tmp=PositiveFactors[lst[[1]]];
+ If[tmp===1,
+ {1,u},
+ {tmp^u[[2]],(NonpositiveFactors[lst[[1]]]*lst[[2]])^u[[2]]}]]],
+ If[ProductQ[u],
+ With[{lst=Map[Function[ConstantFactor[#,x]],Apply[List,u]]},
+ {Apply[Times,Map[First,lst]],Apply[Times,Map[Function[#[[2]]],lst]]}],
+ If[SumQ[u],
+ With[{lst1=Map[Function[ConstantFactor[#,x]],Apply[List,u]]},
+ If[Apply[SameQ,Map[Function[#[[2]]],lst1]],
+ {Apply[Plus,Map[First,lst1]],lst1[[1,2]]},
+ With[{lst2=CommonFactors[Map[First,lst1]]},
+ {First[lst2],Apply[Plus,Map2[Times,Rest[lst2],Map[Function[#[[2]]],lst1]]]}]]],
+ {1,u}]]]]]
+
+
+(* PositiveFactors[u] returns the positive factors of u *)
+PositiveFactors[u_] :=
+ If[EqQ[u,0],
+ 1,
+ If[RationalQ[u],
+ Abs[u],
+ If[PositiveQ[u],
+ u,
+ If[ProductQ[u],
+ Map[PositiveFactors,u],
+ 1]]]]
+
+
+(* NonpositiveFactors[u] returns the nonpositive factors of u *)
+NonpositiveFactors[u_] :=
+ If[EqQ[u,0],
+ u,
+ If[RationalQ[u],
+ Sign[u],
+ If[PositiveQ[u],
+ 1,
+ If[ProductQ[u],
+ Map[NonpositiveFactors,u],
+ u]]]]
+
+
+(* ::Section::Closed:: *)
+(*Generalized polynomial functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*PolynomialInQ*)
+
+
+(* ::Item:: *)
+(*If u is a polynomial in v[x], PolynomialInQ[u,v,x] returns True; else it returns False.*)
+
+
+PolynomialInQ[u_,v_,x_Symbol] :=
+ PolynomialInAuxQ[u,NonfreeFactors[NonfreeTerms[v,x],x],x]
+
+
+PolynomialInAuxQ[u_,v_,x_] :=
+ If[u===v,
+ True,
+ If[AtomQ[u],
+ u=!=x,
+ If[PowerQ[u],
+ If[PowerQ[v] && u[[1]]===v[[1]],
+ PositiveIntegerQ[u[[2]]/v[[2]]],
+ PositiveIntegerQ[u[[2]]] && PolynomialInAuxQ[u[[1]],v,x]],
+ If[SumQ[u] || ProductQ[u],
+ Catch[Scan[Function[If[Not[PolynomialInAuxQ[#,v,x]],Throw[False]]],u];True],
+ False]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*ExponentIn*)
+
+
+(* ::Item:: *)
+(*If u[v] is a polynomial in w, GeneralizedExponent[u,v,x] returns the degree of the u[x].*)
+
+
+ExponentIn[u_,v_,x_Symbol] :=
+ ExponentInAux[u,NonfreeFactors[NonfreeTerms[v,x],x],x]
+
+
+ExponentInAux[u_,v_,x_] :=
+ If[u===v,
+ 1,
+ If[AtomQ[u],
+ 0,
+ If[PowerQ[u],
+ If[PowerQ[v] && u[[1]]===v[[1]],
+ u[[2]]/v[[2]],
+ u[[2]]*ExponentInAux[u[[1]],v,x]],
+ If[ProductQ[u],
+ Apply[Plus,Map[Function[ExponentInAux[#,v,x]],Apply[List,u]]],
+ Apply[Max,Map[Function[ExponentInAux[#,v,x]],Apply[List,u]]]]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*PolynomialInSubst*)
+
+
+(* ::Item:: *)
+(*If u is a polynomial in v[x], PolynomialInSubst[u,v,x] returns the polynomial u in x.*)
+
+
+PolynomialInSubst[u_,v_,x_Symbol] :=
+ With[{w=NonfreeTerms[v,x]},
+ ReplaceAll[PolynomialInSubstAux[u,NonfreeFactors[w,x],x],{x->(x-FreeTerms[v,x])/FreeFactors[w,x]}]]
+
+
+PolynomialInSubstAux[u_,v_,x_] :=
+ If[u===v,
+ x,
+ If[AtomQ[u],
+ u,
+ If[PowerQ[u],
+ If[PowerQ[v] && u[[1]]===v[[1]],
+ x^(u[[2]]/v[[2]]),
+ PolynomialInSubstAux[u[[1]],v,x]^u[[2]]],
+ Map[Function[PolynomialInSubstAux[#,v,x]],u]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*PolynomialDivide*)
+
+
+(* ::Item:: *)
+(*u and v are polynomials in x. PolynomialDivide[u,v,x] returns the polynomial quotient of u and v plus the polynomial remainder divided by v.*)
+
+
+PolynomialDivide[u_,v_,x_Symbol] :=
+ Module[{quo=PolynomialQuotient[u,v,x],rem=PolynomialRemainder[u,v,x],free,monomial},
+ quo=Apply[Plus,Map[Function[Simp[Together[Coefficient[quo,x,#]*x^#],x]],Exponent[quo,x,List]]];
+ rem=Together[rem];
+ free=FreeFactors[rem,x];
+ rem=NonfreeFactors[rem,x];
+ monomial=x^Exponent[rem,x,Min];
+ If[NegQ[Coefficient[rem,x,0]], monomial=-monomial];
+ rem=Apply[Plus,Map[Function[Simp[Together[Coefficient[rem,x,#]*x^#/monomial],x]],Exponent[rem,x,List]]];
+(*rem=Simplify[rem]; *)
+ If[BinomialQ[v,x],
+ quo+free*monomial*rem/ExpandToSum[v,x],
+ quo+free*monomial*rem/v]]
+
+
+(* ::Item:: *)
+(*u[w] and v[w] are polynomials in w. PolynomialDivide[u,v,w,x] returns the polynomial quotient of u[x] and v[x] plus the polynomial remainder divided by v[x] with x replaced by w.*)
+
+
+PolynomialDivide[u_,v_,w_,x_Symbol] :=
+ ReplaceAll[PolynomialDivide[PolynomialInSubst[u,w,x],PolynomialInSubst[v,w,x],x],{x->w}]
+
+
+(* ::Section::Closed:: *)
+(*Expansion functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*ExpandToSum[u,x]*)
+
+
+(* ::Item:: *)
+(*ExpandToSum[u,v,x] returns v expanded into a sum of monomials of x and distributes u over v.*)
+
+
+ExpandToSum[u_,v_,x_Symbol] :=
+ Module[{w=ExpandToSum[v,x],r},
+ r=NonfreeTerms[w,x];
+ If[SumQ[r],
+ u*FreeTerms[w,x]+Map[Function[MergeMonomials[u*#,x]],r],
+ u*FreeTerms[w,x]+MergeMonomials[u*r,x]]]
+
+
+(* ::Item:: *)
+(*ExpandToSum[u,x] returns u expanded into a sum of monomials of x.*)
+
+
+ExpandToSum[u_,x_Symbol] :=
+ If[PolyQ[u,x],
+ Apply[Plus,Map[Function[Coeff[u,x,#]*x^#], Expon[u,x,List]]],
+ If[BinomialQ[u,x],
+ Function[#[[1]] + #[[2]]*x^#[[3]]][BinomialParts[u,x]],
+ If[TrinomialQ[u,x],
+ Function[#[[1]] + #[[2]]*x^#[[4]] + #[[3]]*x^(2*#[[4]])][TrinomialParts[u,x]],
+ If[GeneralizedBinomialQ[u,x],
+ Function[#[[1]]*x^#[[4]] + #[[2]]*x^#[[3]]][GeneralizedBinomialParts[u,x]],
+ If[GeneralizedTrinomialQ[u,x],
+ Function[#[[1]]*x^#[[5]] + #[[2]]*x^#[[4]] + #[[3]]*x^(2*#[[4]]-#[[5]])][GeneralizedTrinomialParts[u,x]],
+ Print["Warning: Unrecognized expression for expansion ",u];
+ Expand[u,x]]]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*ExpandTrig[u,x]*)
+
+
+ExpandTrig[u_,x_Symbol] :=
+ ActivateTrig[ExpandIntegrand[u,x]]
+
+ExpandTrig[u_,v_,x_Symbol] :=
+ With[{w=ExpandTrig[v,x],z=ActivateTrig[u]},
+ If[SumQ[w],
+ Map[Function[z*#],w],
+ z*w]]
+
+
+(* ::Subsection::Closed:: *)
+(*ExpandIntegrand[u,x]*)
+
+
+Clear[ExpandIntegrand];
+
+ExpandIntegrand[u_,v_,x_Symbol] :=
+ Module[{w=ExpandIntegrand[v,x],r},
+ r=NonfreeTerms[w,x];
+ If[SumQ[r],
+ u*FreeTerms[w,x]+Map[Function[MergeMonomials[u*#,x]],r],
+ u*FreeTerms[w,x]+MergeMonomials[u*r,x]]]
+
+
+(* ExpandIntegrand[u_,x_Symbol] :=
+ With[{nn=FunctionOfPower[u,x]},
+ ReplaceAll[ExpandIntegrand[SubstFor[x^nn,u,x],x],x->x^nn] /;
+ nn!=1] *)
+
+
+(* ::Subsubsection::Closed:: *)
+(*Basis: (a+b x)^m/(c+d x)==(b (a+b x)^(m-1))/d+((a d-b c) (a+b x)^(m-1))/(d (c+d x))*)
+
+
+ExpandIntegrand[(a_.+b_.*x_)^m_.*f_^(e_.*(c_.+d_.*x_)^n_.)/(g_.+h_.*x_),x_Symbol] :=
+ With[{tmp=a*h-b*g},
+ Module[{k},
+ SimplifyTerm[tmp^m/h^m,x]*f^(e*(c+d*x)^n)/(g+h*x) +
+ Sum[SimplifyTerm[b*tmp^(k-1)/h^k,x]*f^(e*(c+d*x)^n)*(a+b*x)^(m-k),{k,1,m}]]] /;
+FreeQ[{a,b,c,d,e,f,g,h},x] && PositiveIntegerQ[m] && EqQ[b*c-a*d,0]
+
+
+ExpandIntegrand[x_^m_.*(e_+f_.*x_)^p_.*F_^(b_.*(c_.+d_.*x_)^n_.),x_Symbol] :=
+ If[PositiveIntegerQ[m,p] && m<=p && (EqQ[n,1] || EqQ[d*e-c*f,0]),
+ ExpandLinearProduct[(e+f*x)^p*F^(b*(c+d*x)^n),x^m,e,f,x],
+ If[PositiveIntegerQ[p],
+ Distribute[x^m*F^(b*(c+d*x)^n)*Expand[(e+f*x)^p,x],Plus,Times],
+ ExpandIntegrand[F^(b*(c+d*x)^n),x^m*(e+f*x)^p,x]]] /;
+FreeQ[{F,b,c,d,e,f,m,n,p},x]
+
+
+ExpandIntegrand[x_^m_.*(e_+f_.*x_)^p_.*F_^(a_.+b_.*(c_.+d_.*x_)^n_.),x_Symbol] :=
+ If[PositiveIntegerQ[m,p] && m<=p && (EqQ[n,1] || EqQ[d*e-c*f,0]),
+ ExpandLinearProduct[(e+f*x)^p*F^(a+b*(c+d*x)^n),x^m,e,f,x],
+ If[PositiveIntegerQ[p],
+ Distribute[x^m*F^(a+b*(c+d*x)^n)*Expand[(e+f*x)^p,x],Plus,Times],
+ ExpandIntegrand[F^(a+b*(c+d*x)^n),x^m*(e+f*x)^p,x]]] /;
+FreeQ[{F,a,b,c,d,e,f,m,n,p},x]
+
+
+ExpandIntegrand[u_.*(a_+b_.*F_^v_)^m_.*(c_+d_.*F_^v_)^n_,x_Symbol] :=
+ With[{w=ReplaceAll[ExpandIntegrand[(a+b*x)^m*(c+d*x)^n,x],x->F^v]},
+ Map[Function[u*#],w] /;
+ SumQ[w]] /;
+FreeQ[{F,a,b,c,d},x] && IntegersQ[m,n] && n<0
+
+
+ExpandIntegrand[u_*(a_.+b_.*x_)^m_.*f_^(e_.*(c_.+d_.*x_)^n_.),x_Symbol] :=
+ With[{v=ExpandIntegrand[u*(a+b*x)^m,x]},
+ Distribute[f^(e*(c+d*x)^n)*v,Plus,Times] /;
+ SumQ[v]] /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && PolynomialQ[u,x]
+
+
+ExpandIntegrand[u_*(a_.+b_.*x_)^m_.*Log[c_.*(d_.+e_.*x_^n_.)^p_.],x_Symbol] :=
+ ExpandIntegrand[Log[c*(d+e*x^n)^p],u*(a+b*x)^m,x] /;
+FreeQ[{a,b,c,d,e,m,n,p},x] && PolynomialQ[u,x]
+
+
+ExpandIntegrand[u_*f_^(e_.*(c_.+d_.*x_)^n_.),x_Symbol] :=
+ If[EqQ[n,1],
+ ExpandIntegrand[f^(e*(c+d*x)^n),u,x],
+ ExpandLinearProduct[f^(e*(c+d*x)^n),u,c,d,x]] /;
+FreeQ[{c,d,e,f,n},x] && PolynomialQ[u,x]
+
+
+ExpandIntegrand[F_[u_]^m_.*(a_+b_.*G_[u_])^n_.,x_Symbol] :=
+ ReplaceAll[ExpandIntegrand[(a+b*x)^n/x^m,x],x->G[u]] /;
+FreeQ[{a,b},x] && IntegersQ[m,n] && F[u]*G[u]===1
+
+
+ExpandIntegrand[u_*(a_.+b_.*Log[c_.*(d_.*(e_.+f_.*x_)^p_.)^q_.])^n_,x_Symbol] :=
+ ExpandLinearProduct[(a+b*Log[c*(d*(e+f*x)^p)^q])^n,u,e,f,x] /;
+FreeQ[{a,b,c,d,e,f,n,p,q},x] && PolynomialQ[u,x]
+
+
+ExpandIntegrand[u_*(a_.+b_.*F_[c_.+d_.*x_])^n_,x_Symbol] :=
+ ExpandLinearProduct[(a+b*F[c+d*x])^n,u,c,d,x] /;
+FreeQ[{a,b,c,d,n},x] && PolynomialQ[u,x] && MemberQ[{ArcSin,ArcCos,ArcSinh,ArcCosh},F]
+
+
+(* ::Subsubsection::Closed:: *)
+(*Basis: 1/(a x^n+b Sqrt[c+d x^(2 n)])==(a x^n-b Sqrt[c+d x^(2 n)])/(-b^2 c+(a^2-b^2 d) x^(2 n))*)
+
+
+ExpandIntegrand[u_./(a_.*x_^n_+b_.*Sqrt[c_+d_.*x_^j_]),x_Symbol] :=
+ ExpandIntegrand[u*(a*x^n-b*Sqrt[c+d*x^(2*n)])/(-b^2*c+(a^2-b^2*d)*x^(2*n)),x] /;
+FreeQ[{a,b,c,d,n},x] && EqQ[j,2*n,0]
+
+
+(* ::Subsubsection::Closed:: *)
+(*Basis: (a+b x)^m/(c+d x)==(b (a+b x)^(m-1))/d+((a d-b c) (a+b x)^(m-1))/(d (c+d x))*)
+
+
+ExpandIntegrand[(a_+b_.*x_)^m_/(c_+d_.*x_),x_Symbol] :=
+ If[RationalQ[a,b,c,d],
+ ExpandExpression[(a+b*x)^m/(c+d*x),x],
+ With[{tmp=a*d-b*c},
+ Module[{k},
+ SimplifyTerm[tmp^m/d^m,x]/(c+d*x) + Sum[SimplifyTerm[b*tmp^(k-1)/d^k,x]*(a+b*x)^(m-k),{k,1,m}]]]] /;
+FreeQ[{a,b,c,d},x] && PositiveIntegerQ[m]
+
+
+(* ::Subsubsection::Closed:: *)
+(*Basis: ((a+b x)^m (A+B x))/(c+d x)==(B (a+b x)^m)/d+((A d-B c) (a+b x)^m)/(d (c+d x))*)
+
+
+ExpandIntegrand[(a_+b_.*x_)^m_.*(A_+B_.*x_)/(c_+d_.*x_),x_Symbol] :=
+ If[RationalQ[a,b,c,d,A,B],
+ ExpandExpression[(a+b*x)^m*(A+B*x)/(c+d*x),x],
+ Module[{tmp1,tmp2},
+ tmp1=(A*d-B*c)/d;
+ tmp2=ExpandIntegrand[(a+b*x)^m/(c+d*x),x];
+ tmp2=If[SumQ[tmp2], Map[Function[SimplifyTerm[tmp1*#,x]],tmp2], SimplifyTerm[tmp1*tmp2,x]];
+ SimplifyTerm[B/d,x]*(a+b*x)^m + tmp2]] /;
+FreeQ[{a,b,c,d,A,B},x] && PositiveIntegerQ[m]
+
+
+(* u is a polynomial in x. ExpandIntegrand[u*(a+b*x)^m,x] expand u*(a+b*x)^m into a sum of terms of the form A*(a+b*x)^n. *)
+ExpandIntegrand[u_*(a_+b_.*x_)^m_,x_Symbol] :=
+ Module[{tmp1,tmp2},
+ tmp1=ExpandLinearProduct[(a+b*x)^m,u,a,b,x];
+ If[Not[IntegerQ[m]] || m>2 && LinearQ[u,x],
+ tmp1,
+ tmp2=ExpandExpression[u*(a+b*x)^m,x];
+ If[SumQ[tmp2],
+ If[m>0,
+ If[Length[tmp2]<=Exponent[u,x]+2,
+ tmp2,
+ tmp1],
+ If[LeafCount[tmp2]<=LeafCount[tmp1]+2,
+ tmp2,
+ tmp1]],
+ tmp1]]] /;
+FreeQ[{a,b,m},x] && PolynomialQ[u,x] &&
+ Not[PositiveIntegerQ[m] && MatchQ[u,w_.*(c_+d_.*x)^p_ /; FreeQ[{c,d},x] && IntegerQ[p] && p>m]]
+
+
+(* If u is a polynomial in x, ExpandIntegrand[u*(a+b*x)^m,x] expand u*(a+b*x)^m into a sum of terms of the form A*(a+b*x)^n. *)
+ExpandIntegrand[u_*v_^n_*(a_+b_.*x_)^m_,x_Symbol] :=
+ Function[ExpandIntegrand[#[[1]]*(a+b*x)^FractionalPart[m],x] + ExpandIntegrand[#[[2]]*v^n*(a+b*x)^m,x]][
+ PolynomialQuotientRemainder[u,v^(-n)*(a+b*x)^(-IntegerPart[m]),x]]/;
+FreeQ[{a,b,m},x] && NegativeIntegerQ[n] && Not[IntegerQ[m]] && PolynomialQ[u,x] && PolynomialQ[v,x] &&
+ RationalQ[m] && m<-1 && Exponent[u,x]>=-(n+IntegerPart[m])*Exponent[v,x]
+
+
+(* If u is a polynomial in x, ExpandIntegrand[u*(a+b*x)^m,x] expand u*(a+b*x)^m into a sum of terms of the form A*(a+b*x)^n. *)
+ExpandIntegrand[u_*v_^n_*(a_+b_.*x_)^m_,x_Symbol] :=
+ Function[ExpandIntegrand[#[[1]]*(a+b*x)^m,x] + ExpandIntegrand[#[[2]]*v^n*(a+b*x)^m,x]][PolynomialQuotientRemainder[u,v^(-n),x]]/;
+FreeQ[{a,b,m},x] && NegativeIntegerQ[n] && Not[IntegerQ[m]] && PolynomialQ[u,x] && PolynomialQ[v,x] &&
+ Exponent[u,x]>=-n*Exponent[v,x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*Basis: Let r/s=(-(a/b))^(1/3), then 1/(a+b z^3)==r/(3a(r-s z))+(r(2 r+s z))/(3a(r^2+r s z+s^2 z^2))*)
+
+
+(* ExpandIntegrand[1/(a_+b_.*u_^3),x_Symbol] :=
+ With[{r=Numerator[Rt[-a/b,3]],s=Denominator[Rt[-a/b,3]]},
+ r/(3*a*(r-s*u)) + r*(2*r+s*u)/(3*a*(r^2+r*s*u+s^2*u^2))] /;
+FreeQ[{a,b},x] *)
+
+
+(* ::Subsubsection::Closed:: *)
+(*Basis: Let r/s=Sqrt[-(a/b)], then 1/(a+b z^2)==r/(2a(r-s z))+r/(2a(r+s z))*)
+
+
+ExpandIntegrand[1/(a_+b_.*u_^n_),x_Symbol] :=
+ With[{r=Numerator[Rt[-a/b,2]],s=Denominator[Rt[-a/b,2]]},
+ r/(2*a*(r-s*u^(n/2))) + r/(2*a*(r+s*u^(n/2)))] /;
+FreeQ[{a,b},x] && PositiveIntegerQ[n/4]
+
+
+(* ::Subsubsection::Closed:: *)
+(*Basis: If n\[Element]SuperPlus[\[DoubleStruckCapitalZ]], let r/s=(-(a/b))^(1/n), then 1/(a + b*z^n) == (r*Sum[1/(r - (-1)^(2*(k/n))*s*z), {k, 1, n}])/(a*n)*)
+
+
+ExpandIntegrand[1/(a_+b_.*u_^n_),x_Symbol] :=
+ With[{r=Numerator[Rt[-a/b,n]],s=Denominator[Rt[-a/b,n]]},
+ Module[{k},
+ Sum[r/(a*n*(r-(-1)^(2*k/n)*s*u)),{k,1,n}]]] /;
+FreeQ[{a,b},x] && IntegerQ[n] && n>1
+
+
+(* ::Subsubsection::Closed:: *)
+(*Basis: If (m|n)\[Element]\[DoubleStruckCapitalZ] \[And] 0<=mRt[-a*c,2],x->u^(n/2)}]] /;
+FreeQ[{a,c},x] && IntegerQ[n/2] && NegativeIntegerQ[p]
+
+
+ExpandIntegrand[u_^m_.*(a_.+c_.*u_^n_.)^p_,x_Symbol] :=
+ Module[{q},
+ ReplaceAll[ExpandIntegrand[1/c^p,x^m*(-q+c*x^(n/2))^p*(q+c*x^(n/2))^p,x],{q->Rt[-a*c,2],x->u}]] /;
+FreeQ[{a,c},x] && IntegersQ[m,n/2] && NegativeIntegerQ[p] && 0Rt[b^2-4*a*c,2],x->u^n}]] /;
+FreeQ[{a,b,c},x] && IntegerQ[n] && EqQ[j,2*n] && NegativeIntegerQ[p] && NeQ[b^2-4*a*c,0]
+
+
+ExpandIntegrand[u_^m_.*(a_.+b_.*u_^n_.+c_.*u_^j_.)^p_,x_Symbol] :=
+ Module[{q},
+ ReplaceAll[ExpandIntegrand[1/(4^p*c^p),x^m*(b-q+2*c*x^n)^p*(b+q+2*c*x^n)^p,x],{q->Rt[b^2-4*a*c,2],x->u}]] /;
+FreeQ[{a,b,c},x] && IntegersQ[m,n,j] && EqQ[j,2*n] && NegativeIntegerQ[p] && 0=2 *)
+
+
+ExpandIntegrand[u_/v_,x_Symbol] :=
+ PolynomialDivide[u,v,x] /;
+PolynomialQ[u,x] && PolynomialQ[v,x] && Exponent[u,x]>=Exponent[v,x]
+
+
+ExpandIntegrand[u_*(a_.*x_)^p_,x_Symbol] :=
+ ExpandToSum[(a*x)^p,u,x] /;
+Not[IntegerQ[p]] && PolynomialQ[u,x]
+
+
+ExpandIntegrand[u_.*v_^p_,x_Symbol] :=
+ ExpandIntegrand[NormalizeIntegrand[v^p,x],u,x] /;
+Not[IntegerQ[p]]
+
+
+ExpandIntegrand[u_,x_Symbol] :=
+ With[{v=ExpandExpression[u,x]},
+ v /;
+ SumQ[v]]
+
+
+ExpandIntegrand[u_^m_./(a_+b_.*u_^n_),x_Symbol] :=
+ ExpandBinomial[a,b,m,n,u,x] /;
+FreeQ[{a,b},x] && IntegersQ[m,n] && 0(x-a)/b],x];
+ lst=Map[Function[SimplifyTerm[#,x]],lst];
+ Module[{k},
+ Sum[v*lst[[k]]*(a+b*x)^(k-1),{k,1,Length[lst]}]]] /;
+FreeQ[{a,b},x] && PolynomialQ[u,x]
+
+
+(* ::Subsection::Closed:: *)
+(*ExpandTrigExpand[u,F,v,m,n,x]*)
+
+
+ExpandTrigExpand[u_,F_,v_,m_,n_,x_Symbol] :=
+ With[{w=ReplaceAll[Expand[TrigExpand[F[n*x]]^m,x],x->v]},
+ If[SumQ[w],
+ Map[Function[u*#],w],
+ u*w]]
+
+
+(* ::Subsection::Closed:: *)
+(*ExpandTrigReduce[u,v,x]*)
+
+
+ExpandTrigReduce[u_,v_,x_Symbol] :=
+ With[{w=ExpandTrigReduce[v,x]},
+ If[SumQ[w],
+ Map[Function[u*#],w],
+ u*w]]
+
+
+(* This is necessary, because TrigReduce expands Sinh[n+v] and Cosh[n+v] to exponential form if n is a number. *)
+ExpandTrigReduce[u_.*F_[n_+v_.]^m_.,x_Symbol] :=
+ Module[{nn},
+ ExpandTrigReduce[u*F[nn+v]^m,x] /. nn->n]/;
+MemberQ[{Sinh,Cosh},F] && IntegerQ[m] && RationalQ[n]
+
+ExpandTrigReduce[u_,x_Symbol] :=
+ ExpandTrigReduceAux[u,x]
+
+
+ExpandTrigReduceAux[u_,x_Symbol] :=
+ With[{v=Expand[TrigReduce[u]]},
+ If[SumQ[v],
+ Map[Function[NormalizeTrigReduce[#,x]],v],
+ NormalizeTrigReduce[v,x]]]
+
+
+NormalizeTrigReduce[a_.*F_[u_]^n_.,x_Symbol] :=
+ a*F[ExpandToSum[u,x]]^n /;
+FreeQ[{F,a,n},x] && PolynomialQ[u,x] && Exponent[u,x]>0
+
+NormalizeTrigReduce[u_,x_Symbol] := u
+
+
+(* ::Subsection::Closed:: *)
+(*ExpandTrigToExp[u,v,x]*)
+
+
+Clear[ExpandTrigToExp];
+
+ExpandTrigToExp[u_,x_Symbol] := ExpandTrigToExp[1,u,x]
+
+
+ExpandTrigToExp[u_,v_,x_Symbol] :=
+ Module[{w=TrigToExp[v]},
+ w=If[SumQ[w], Map[Function[SimplifyIntegrand[u*#,x]],w], SimplifyIntegrand[u*w,x]];
+ ExpandIntegrand[FreeFactors[w,x],NonfreeFactors[w,x],x]]
+
+
+(* ::Section::Closed:: *)
+(*Distribution functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*Distrib*)
+
+
+(* Distrib[u,v] returns the sum of u times each term of v. *)
+Distrib[u_,v_] :=
+ If[SumQ[v],
+ Map[Function[u*#],v],
+ u*v]
+
+
+(* ::Subsection::Closed:: *)
+(*Dist*)
+
+
+(* Dist[u,v] returns the sum of u times each term of v, provided v is free of Int. *)
+DownValues[Dist]={};
+UpValues[Dist]={};
+
+Dist /: Dist[u_,v_,x_]+Dist[w_,v_,x_] :=
+ If[EqQ[u+w,0],
+ 0,
+ Dist[u+w,v,x]]
+
+Dist /: Dist[u_,v_,x_]-Dist[w_,v_,x_] :=
+ If[EqQ[u-w,0],
+ 0,
+ Dist[u-w,v,x]]
+
+Dist /: w_*Dist[u_,v_,x_] :=
+ Dist[w*u,v,x] /;
+w=!=-1
+
+Dist[u_,Defer[Dist][v_,w_,x_],x_] :=
+ Dist[u*v,w,x]
+
+Dist[u_,v_*w_,x_] :=
+ Dist[u*v,w,x] /;
+ShowSteps===True && FreeQ[v,Int] && Not[FreeQ[w,Int]]
+
+Dist[u_,v_,x_] :=
+ If[u===1,
+ v,
+ If[u===0,
+ Print["*** Warning ***: Dist[0,",v,",",x,"]"];
+ 0,
+ If[NumericFactor[u]<0 && NumericFactor[-u]>0,
+ -Dist[-u,v,x],
+ If[SumQ[v],
+ Map[Function[Dist[u,#,x]],v],
+ If[FreeQ[v,Int],
+(* Simp[Simp[u,x]*v,x], *)
+ Simp[u*v,x],
+(*If[ShowSteps=!=True,
+ Simp[u*v,x],
+ Module[{w=Simp[u,x]},
+ If[w=!=u,
+ Dist[w,v,x], *)
+ With[{w=Simp[u*x^2,x]/x^2},
+ If[w=!=u && FreeQ[w,x] && w===Simp[w,x] && w===Simp[w*x^2,x]/x^2,
+ Dist[w,v,x],
+ If[ShowSteps=!=True,
+ Simp[u*v,x],
+ Defer[Dist][u,v,x]]]]]]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*DistributeDegree*)
+
+
+(* DistributeDegree[u,m] returns the product of the factors of u each raised to the mth degree. *)
+DistributeDegree[u_,m_] :=
+ If[AtomQ[u],
+ u^m,
+ If[PowerQ[u],
+ u[[1]]^(u[[2]]*m),
+ If[ProductQ[u],
+ Map[Function[DistributeDegree[#,m]],u],
+ u^m]]]
+
+
+(* ::Section::Closed:: *)
+(*Function of functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*FunctionOfPower*)
+
+
+(* FunctionOfPower[u,x] returns the gcd of the integer degrees of x in u. *)
+(* FunctionOfPower[u_,x_Symbol] :=
+ FunctionOfPower[u,Null,x]
+
+FunctionOfPower[u_,n_,x_] :=
+ If[FreeQ[u,x],
+ n,
+ If[u===x,
+ 1,
+ If[PowerQ[u] && u[[1]]===x && IntegerQ[u[[2]]],
+ If[n===Null,
+ u[[2]],
+ GCD[n,u[[2]]]],
+ Module[{tmp=n},
+ Scan[Function[tmp=FunctionOfPower[#,tmp,x]],u];
+ tmp]]]] *)
+
+
+(* ::Subsection::Closed:: *)
+(*FunctionOfLinear*)
+
+
+(* If u (x) is equivalent to an expression of the form f (a+b*x) and not the case that a==0 and
+ b==1, FunctionOfLinear[u,x] returns the list {f (x),a,b}; else it returns False. *)
+FunctionOfLinear[u_,x_Symbol] :=
+ With[{lst=FunctionOfLinear[u,False,False,x,False]},
+ If[AtomQ[lst] || FalseQ[lst[[1]]] || lst[[1]]===0 && lst[[2]]===1,
+ False,
+ {FunctionOfLinearSubst[u,lst[[1]],lst[[2]],x],lst[[1]],lst[[2]]}]]
+
+
+FunctionOfLinear[u_,a_,b_,x_,flag_] :=
+ If[FreeQ[u,x],
+ {a,b},
+ If[CalculusQ[u],
+ False,
+ If[LinearQ[u,x],
+ If[FalseQ[a],
+ {Coefficient[u,x,0],Coefficient[u,x,1]},
+ With[{lst=CommonFactors[{b,Coefficient[u,x,1]}]},
+ If[EqQ[Coefficient[u,x,0],0] && Not[flag],
+ {0,lst[[1]]},
+ If[EqQ[b*Coefficient[u,x,0]-a*Coefficient[u,x,1],0],
+ {a/lst[[2]],lst[[1]]},
+ {0,1}]]]],
+ If[PowerQ[u] && FreeQ[u[[1]],x],
+ FunctionOfLinear[Log[u[[1]]]*u[[2]],a,b,x,False],
+ Module[{lst},
+ If[ProductQ[u] && NeQ[(lst=MonomialFactor[u,x])[[1]],0],
+ If[False && IntegerQ[lst[[1]]] && lst[[1]]!=-1 && FreeQ[lst[[2]],x],
+ If[RationalQ[LeadFactor[lst[[2]]]] && LeadFactor[lst[[2]]]<0,
+ FunctionOfLinear[DivideDegreesOfFactors[-lst[[2]],lst[[1]]]*x,a,b,x,False],
+ FunctionOfLinear[DivideDegreesOfFactors[lst[[2]],lst[[1]]]*x,a,b,x,False]],
+ False],
+ lst={a,b};
+ Catch[
+ Scan[Function[lst=FunctionOfLinear[#,lst[[1]],lst[[2]],x,SumQ[u]];
+ If[AtomQ[lst],Throw[False]]],u];
+ lst]]]]]]]
+
+
+FunctionOfLinearSubst[u_,a_,b_,x_] :=
+ If[FreeQ[u,x],
+ u,
+ If[LinearQ[u,x],
+ Module[{tmp=Coefficient[u,x,1]},
+ tmp=If[tmp===b, 1, tmp/b];
+ Coefficient[u,x,0]-a*tmp+tmp*x],
+ If[PowerQ[u] && FreeQ[u[[1]],x],
+ E^FullSimplify[FunctionOfLinearSubst[Log[u[[1]]]*u[[2]],a,b,x]],
+ Module[{lst},
+ If[ProductQ[u] && NeQ[(lst=MonomialFactor[u,x])[[1]],0],
+ If[RationalQ[LeadFactor[lst[[2]]]] && LeadFactor[lst[[2]]]<0,
+ -FunctionOfLinearSubst[DivideDegreesOfFactors[-lst[[2]],lst[[1]]]*x,a,b,x]^lst[[1]],
+ FunctionOfLinearSubst[DivideDegreesOfFactors[lst[[2]],lst[[1]]]*x,a,b,x]^lst[[1]]],
+ Map[Function[FunctionOfLinearSubst[#,a,b,x]],u]]]]]]
+
+
+(* DivideDegreesOfFactors[u,n] returns the product of the base of the factors of u raised to
+ the degree of the factors divided by n. *)
+DivideDegreesOfFactors[u_,n_] :=
+ If[ProductQ[u],
+ Map[Function[LeadBase[#]^(LeadDegree[#]/n)],u],
+ LeadBase[u]^(LeadDegree[u]/n)]
+
+
+(* ::Subsection::Closed:: *)
+(*FunctionOfInverseLinear*)
+
+
+(* If u is a function of an inverse linear binomial of the form 1/(a+b*x),
+ FunctionOfInverseLinear[u,x] returns the list {a,b}; else it returns False. *)
+FunctionOfInverseLinear[u_,x_Symbol] :=
+ FunctionOfInverseLinear[u,Null,x]
+
+FunctionOfInverseLinear[u_,lst_,x_] :=
+ If[FreeQ[u,x],
+ lst,
+ If[u===x,
+ False,
+ If[QuotientOfLinearsQ[u,x],
+ With[{tmp=Drop[QuotientOfLinearsParts[u,x],2]},
+ If[tmp[[2]]===0,
+ False,
+ If[lst===Null,
+ tmp,
+ If[EqQ[lst[[1]]*tmp[[2]]-lst[[2]]*tmp[[1]],0],
+ lst,
+ False]]]],
+ If[CalculusQ[u],
+ False,
+ Module[{tmp=lst},Catch[
+ Scan[Function[If[AtomQ[tmp=FunctionOfInverseLinear[#,tmp,x]],Throw[False]]],u];
+ tmp]]]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*FunctionOfExponential*)
+
+
+(* FunctionOfExponentialQ[u,x] returns True iff u is a function of F^v where F is a constant and v is linear in x, *)
+(* and such an exponential explicitly occurs in u (i.e. not just implicitly in hyperbolic functions). *)
+FunctionOfExponentialQ[u_,x_Symbol] :=
+ Block[{$base$=Null,$expon$=Null,$exponFlag$=False},
+ FunctionOfExponentialTest[u,x] && $exponFlag$]
+
+
+(* u is a function of F^v where v is linear in x. FunctionOfExponential[u,x] returns F^v. *)
+FunctionOfExponential[u_,x_Symbol] :=
+ Block[{$base$=Null,$expon$=Null,$exponFlag$=False},
+ FunctionOfExponentialTest[u,x];
+ $base$^$expon$]
+
+
+(* u is a function of F^v where v is linear in x. FunctionOfExponentialFunction[u,x] returns u with F^v replaced by x. *)
+FunctionOfExponentialFunction[u_,x_Symbol] :=
+ Block[{$base$=Null,$expon$=Null,$exponFlag$=False},
+ FunctionOfExponentialTest[u,x];
+ SimplifyIntegrand[FunctionOfExponentialFunctionAux[u,x],x]]
+
+
+(* u is a function of F^v where v is linear in x, and the fluid variables $base$=F and $expon$=v. *)
+(* FunctionOfExponentialFunctionAux[u,x] returns u with F^v replaced by x. *)
+FunctionOfExponentialFunctionAux[u_,x_] :=
+ If[AtomQ[u],
+ u,
+ If[PowerQ[u] && FreeQ[u[[1]],x] && LinearQ[u[[2]],x],
+ If[EqQ[Coefficient[$expon$,x,0],0],
+ u[[1]]^Coefficient[u[[2]],x,0]*x^FullSimplify[Log[u[[1]]]*Coefficient[u[[2]],x,1]/(Log[$base$]*Coefficient[$expon$,x,1])],
+ x^FullSimplify[Log[u[[1]]]*Coefficient[u[[2]],x,1]/(Log[$base$]*Coefficient[$expon$,x,1])]],
+ If[HyperbolicQ[u] && LinearQ[u[[1]],x],
+ Module[{tmp},
+ tmp=x^FullSimplify[Coefficient[u[[1]],x,1]/(Log[$base$]*Coefficient[$expon$,x,1])];
+ If[SinhQ[u],
+ tmp/2-1/(2*tmp),
+ If[CoshQ[u],
+ tmp/2+1/(2*tmp),
+ If[TanhQ[u],
+ (tmp-1/tmp)/(tmp+1/tmp),
+ If[CothQ[u],
+ (tmp+1/tmp)/(tmp-1/tmp),
+ If[SechQ[u],
+ 2/(tmp+1/tmp),
+ 2/(tmp-1/tmp)]]]]]],
+ If[PowerQ[u] && FreeQ[u[[1]],x] && SumQ[u[[2]]],
+ FunctionOfExponentialFunctionAux[u[[1]]^First[u[[2]]],x]*FunctionOfExponentialFunctionAux[u[[1]]^Rest[u[[2]]],x],
+ Map[Function[FunctionOfExponentialFunctionAux[#,x]],u]]]]]
+
+
+(* FunctionOfExponentialTest[u,x] returns True iff u is a function of F^v where F is a constant and v is linear in x. *)
+(* Before it is called, the fluid variables $base$ and $expon$ should be set to Null and $exponFlag$ to False. *)
+(* If u is a function of F^v, $base$ and $expon$ are set to F and v, respectively. *)
+(* If an explicit exponential occurs in u, $exponFlag$ is set to True. *)
+FunctionOfExponentialTest[u_,x_] :=
+ If[FreeQ[u,x],
+ True,
+ If[u===x || CalculusQ[u],
+ False,
+ If[PowerQ[u] && FreeQ[u[[1]],x] && LinearQ[u[[2]],x],
+ $exponFlag$=True;
+ FunctionOfExponentialTestAux[u[[1]],u[[2]],x],
+ If[HyperbolicQ[u] && LinearQ[u[[1]],x],
+ FunctionOfExponentialTestAux[E,u[[1]],x],
+ If[PowerQ[u] && FreeQ[u[[1]],x] && SumQ[u[[2]]],
+ FunctionOfExponentialTest[u[[1]]^First[u[[2]]],x] && FunctionOfExponentialTest[u[[1]]^Rest[u[[2]]],x],
+ Catch[Scan[Function[If[Not[FunctionOfExponentialTest[#,x]],Throw[False]]],u]; True]]]]]]
+
+
+FunctionOfExponentialTestAux[base_,expon_,x_] :=
+ If[$base$===Null,
+ $base$=base;
+ $expon$=expon;
+ True,
+ Module[{tmp},
+ tmp=FullSimplify[Log[base]*Coefficient[expon,x,1]/(Log[$base$]*Coefficient[$expon$,x,1])];
+ If[Not[RationalQ[tmp]],
+ False,
+ If[EqQ[Coefficient[$expon$,x,0],0] || NeQ[tmp,FullSimplify[Log[base]*Coefficient[expon,x,0]/(Log[$base$]*Coefficient[$expon$,x,0])]],
+ ( If[PositiveIntegerQ[base,$base$] && base<$base$,
+ $base$=base;
+ $expon$=expon;
+ tmp=1/tmp] );
+ $expon$=Coefficient[$expon$,x,1]*x/Denominator[tmp];
+ If[tmp<0 && NegQ[Coefficient[$expon$,x,1]],
+ $expon$=-$expon$;
+ True,
+ True],
+ ( If[PositiveIntegerQ[base,$base$] && base<$base$,
+ $base$=base;
+ $expon$=expon;
+ tmp=1/tmp] );
+(*$expon$=If[SumQ[$expon$], Map[Function[#/Denominator[tmp]],$expon$], $expon$/Denominator[tmp]]; *)
+ $expon$=$expon$/Denominator[tmp];
+ If[tmp<0 && NegQ[Coefficient[$expon$,x,1]],
+ $expon$=-$expon$;
+ True,
+ True]]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*FunctionOfTrigOfLinearQ*)
+
+
+(* If u is an algebraic function of trig functions of a linear function of x,
+ FunctionOfTrigOfLinearQ[u,x] returns True; else it returns False. *)
+FunctionOfTrigOfLinearQ[u_,x_Symbol] :=
+ If[MatchQ[u,(c_.+d_.*x)^m_.*(a_.+b_.*trig_[e_.+f_.*x])^n_. /; FreeQ[{a,b,c,d,e,f,m,n},x] && (TrigQ[trig] || HyperbolicQ[trig])],
+ True,
+ Not[MemberQ[{Null, False}, FunctionOfTrig[u,Null,x]]] && AlgebraicTrigFunctionQ[u,x]]
+
+
+(* If u is a function of trig functions of v where v is a linear function of x,
+ FunctionOfTrig[u,x] returns v; else it returns False. *)
+FunctionOfTrig[u_,x_Symbol] :=
+ With[{v=FunctionOfTrig[ActivateTrig[u],Null,x]},
+ If[v===Null, False, v]]
+
+FunctionOfTrig[u_,v_,x_] :=
+ If[AtomQ[u],
+ If[u===x,
+ False,
+ v],
+ If[TrigQ[u] && LinearQ[u[[1]],x],
+ If[v===Null,
+ u[[1]],
+ With[{a=Coefficient[v,x,0],b=Coefficient[v,x,1],c=Coefficient[u[[1]],x,0],d=Coefficient[u[[1]],x,1]},
+ If[EqQ[a*d-b*c,0] && RationalQ[b/d],
+ a/Numerator[b/d]+b*x/Numerator[b/d],
+ False]]],
+ If[HyperbolicQ[u] && LinearQ[u[[1]],x],
+ If[v===Null,
+ I*u[[1]],
+ With[{a=Coefficient[v,x,0],b=Coefficient[v,x,1],c=I*Coefficient[u[[1]],x,0],d=I*Coefficient[u[[1]],x,1]},
+ If[EqQ[a*d-b*c,0] && RationalQ[b/d],
+ a/Numerator[b/d]+b*x/Numerator[b/d],
+ False]]],
+ If[CalculusQ[u],
+ False,
+ Module[{w=v},Catch[
+ Scan[Function[If[FalseQ[w=FunctionOfTrig[#,w,x]],Throw[False]]],u];
+ w]]]]]]
+
+
+(* If u is algebraic function of trig functions, AlgebraicTrigFunctionQ[u,x] returns True; else it returns False. *)
+AlgebraicTrigFunctionQ[u_,x_Symbol] :=
+ If[AtomQ[u],
+ True,
+ If[TrigQ[u] && LinearQ[u[[1]],x],
+ True,
+ If[HyperbolicQ[u] && LinearQ[u[[1]],x],
+ True,
+ If[PowerQ[u] && FreeQ[u[[2]],x],
+ AlgebraicTrigFunctionQ[u[[1]],x],
+ If[ProductQ[u] || SumQ[u],
+ Catch[Scan[Function[If[Not[AlgebraicTrigFunctionQ[#,x]],Throw[False]]],u]; True],
+ False]]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*FunctionOfHyperbolic*)
+
+
+(* If u is a function of hyperbolic trig functions of v where v is linear in x,
+ FunctionOfHyperbolic[u,x] returns v; else it returns False. *)
+FunctionOfHyperbolic[u_,x_Symbol] :=
+ With[{v=FunctionOfHyperbolic[u,Null,x]},
+ If[v===Null, False, v]]
+
+FunctionOfHyperbolic[u_,v_,x_] :=
+ If[AtomQ[u],
+ If[u===x,
+ False,
+ v],
+ If[HyperbolicQ[u] && LinearQ[u[[1]],x],
+ If[v===Null,
+ u[[1]],
+ With[{a=Coefficient[v,x,0],b=Coefficient[v,x,1],c=Coefficient[u[[1]],x,0],d=Coefficient[u[[1]],x,1]},
+ If[EqQ[a*d-b*c,0] && RationalQ[b/d],
+ a/Numerator[b/d]+b*x/Numerator[b/d],
+ False]]],
+ If[CalculusQ[u],
+ False,
+ Module[{w=v},Catch[
+ Scan[Function[If[FalseQ[w=FunctionOfHyperbolic[#,w,x]],Throw[False]]],u];
+ w]]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*FunctionOfQ*)
+
+
+(* v is a function of x.
+ If u is a function of v, FunctionOfQ[v,u,x] returns True; else it returns False. *)
+FunctionOfQ[v_,u_,x_Symbol,PureFlag_:False] :=
+ If[FreeQ[u,x],
+ False,
+ If[AtomQ[v],
+ True,
+ If[Not[InertTrigFreeQ[u]],
+ FunctionOfQ[v,ActivateTrig[u],x,PureFlag],
+ If[ProductQ[v] && NeQ[FreeFactors[v,x],1],
+ FunctionOfQ[NonfreeFactors[v,x],u,x,PureFlag],
+
+ If[PureFlag,
+ If[SinQ[v] || CscQ[v],
+ PureFunctionOfSinQ[u,v[[1]],x],
+ If[CosQ[v] || SecQ[v],
+ PureFunctionOfCosQ[u,v[[1]],x],
+ If[TanQ[v],
+ PureFunctionOfTanQ[u,v[[1]],x],
+ If[CotQ[v],
+ PureFunctionOfCotQ[u,v[[1]],x],
+ If[SinhQ[v] || CschQ[v],
+ PureFunctionOfSinhQ[u,v[[1]],x],
+ If[CoshQ[v] || SechQ[v],
+ PureFunctionOfCoshQ[u,v[[1]],x],
+ If[TanhQ[v],
+ PureFunctionOfTanhQ[u,v[[1]],x],
+ If[CothQ[v],
+ PureFunctionOfCothQ[u,v[[1]],x],
+ FunctionOfExpnQ[u,v,x]=!=False]]]]]]]],
+ If[SinQ[v] || CscQ[v],
+ FunctionOfSinQ[u,v[[1]],x],
+ If[CosQ[v] || SecQ[v],
+ FunctionOfCosQ[u,v[[1]],x],
+ If[TanQ[v] || CotQ[v],
+ FunctionOfTanQ[u,v[[1]],x],
+ If[SinhQ[v] || CschQ[v],
+ FunctionOfSinhQ[u,v[[1]],x],
+ If[CoshQ[v] || SechQ[v],
+ FunctionOfCoshQ[u,v[[1]],x],
+ If[TanhQ[v] || CothQ[v],
+ FunctionOfTanhQ[u,v[[1]],x],
+ FunctionOfExpnQ[u,v,x]=!=False]]]]]]]]]]]
+
+
+FunctionOfExpnQ[u_,v_,x_] :=
+ If[u===v,
+ 1,
+ If[AtomQ[u],
+ If[u===x,
+ False,
+ 0],
+ If[CalculusQ[u],
+ False,
+ If[PowerQ[u] && FreeQ[u[[2]],x],
+ If[EqQ[u[[1]],v],
+ If[IntegerQ[u[[2]]], u[[2]], 1],
+ If[PowerQ[v] && FreeQ[v[[2]],x] && EqQ[u[[1]],v[[1]]],
+ If[RationalQ[v[[2]]],
+ If[RationalQ[u[[2]]] && IntegerQ[u[[2]]/v[[2]]] && (v[[2]]>0 || u[[2]]<0), u[[2]]/v[[2]], False],
+ If[IntegerQ[Simplify[u[[2]]/v[[2]]]], Simplify[u[[2]]/v[[2]]], False]],
+ FunctionOfExpnQ[u[[1]],v,x]]],
+ If[ProductQ[u] && NeQ[FreeFactors[u,x],1],
+ FunctionOfExpnQ[NonfreeFactors[u,x],v,x],
+ If[ProductQ[u] && ProductQ[v],
+ Module[{deg1=FunctionOfExpnQ[First[u],First[v],x],deg2},
+ If[deg1===False,
+ False,
+ deg2=FunctionOfExpnQ[Rest[u],Rest[v],x];
+ If[deg1===deg2 && FreeQ[Simplify[u/v^deg1],x],
+ deg1,
+ False]]],
+ With[{lst=Map[Function[FunctionOfExpnQ[#,v,x]],Apply[List,u]]},
+ If[MemberQ[lst,False],
+ False,
+ Apply[GCD,lst]]]]]]]]]
+
+
+(* ::Subsubsection::Closed:: *)
+(*Pure function of trig functions predicates*)
+
+
+(* If u is a pure function of Sin[v] and/or Csc[v], PureFunctionOfSinQ[u,v,x] returns True;
+ else it returns False. *)
+PureFunctionOfSinQ[u_,v_,x_] :=
+ If[AtomQ[u],
+ u=!=x,
+ If[CalculusQ[u],
+ False,
+ If[TrigQ[u] && EqQ[u[[1]],v],
+ SinQ[u] || CscQ[u],
+ Catch[Scan[Function[If[Not[PureFunctionOfSinQ[#,v,x]],Throw[False]]],u];True]]]]
+
+
+(* If u is a pure function of Cos[v] and/or Sec[v], PureFunctionOfCosQ[u,v,x] returns True;
+ else it returns False. *)
+PureFunctionOfCosQ[u_,v_,x_] :=
+ If[AtomQ[u],
+ u=!=x,
+ If[CalculusQ[u],
+ False,
+ If[TrigQ[u] && EqQ[u[[1]],v],
+ CosQ[u] || SecQ[u],
+ Catch[Scan[Function[If[Not[PureFunctionOfCosQ[#,v,x]],Throw[False]]],u];True]]]]
+
+
+(* If u is a pure function of Tan[v] and/or Cot[v], PureFunctionOfTanQ[u,v,x] returns True;
+ else it returns False. *)
+PureFunctionOfTanQ[u_,v_,x_] :=
+ If[AtomQ[u],
+ u=!=x,
+ If[CalculusQ[u],
+ False,
+ If[TrigQ[u] && EqQ[u[[1]],v],
+ TanQ[u] || CotQ[u],
+ Catch[Scan[Function[If[Not[PureFunctionOfTanQ[#,v,x]],Throw[False]]],u];True]]]]
+
+
+(* If u is a pure function of Cot[v], PureFunctionOfCotQ[u,v,x] returns True;
+ else it returns False. *)
+PureFunctionOfCotQ[u_,v_,x_] :=
+ If[AtomQ[u],
+ u=!=x,
+ If[CalculusQ[u],
+ False,
+ If[TrigQ[u] && EqQ[u[[1]],v],
+ CotQ[u],
+ Catch[Scan[Function[If[Not[PureFunctionOfCotQ[#,v,x]],Throw[False]]],u];True]]]]
+
+
+(* ::Subsubsection::Closed:: *)
+(*Function of trig functions predicates*)
+
+
+(* If u is a function of Sin[v], FunctionOfSinQ[u,v,x] returns True; else it returns False. *)
+FunctionOfSinQ[u_,v_,x_] :=
+ If[AtomQ[u],
+ u=!=x,
+ If[CalculusQ[u],
+ False,
+ If[TrigQ[u] && IntegerQuotientQ[u[[1]],v],
+ If[OddQuotientQ[u[[1]],v],
+(* Basis: If m odd, Sin[m*v]^n is a function of Sin[v]. *)
+ SinQ[u] || CscQ[u],
+(* Basis: If m even, Cos[m*v]^n is a function of Sin[v]. *)
+ CosQ[u] || SecQ[u]],
+ If[IntegerPowerQ[u] && TrigQ[u[[1]]] && IntegerQuotientQ[u[[1,1]],v],
+ If[EvenQ[u[[2]]],
+(* Basis: If m integer and n even, Trig[m*v]^n is a function of Sin[v]. *)
+ True,
+ FunctionOfSinQ[u[[1]],v,x]],
+ If[ProductQ[u],
+ If[CosQ[u[[1]]] && SinQ[u[[2]]] && EqQ[u[[1,1]],v/2] && EqQ[u[[2,1]],v/2],
+ FunctionOfSinQ[Drop[u,2],v,x],
+ Module[{lst},
+ lst=FindTrigFactor[Sin,Csc,u,v,False];
+ If[ListQ[lst] && EvenQuotientQ[lst[[1]],v],
+(* Basis: If m even and n odd, Sin[m*v]^n == Cos[v]*u where u is a function of Sin[v]. *)
+ FunctionOfSinQ[Cos[v]*lst[[2]],v,x],
+ lst=FindTrigFactor[Cos,Sec,u,v,False];
+ If[ListQ[lst] && OddQuotientQ[lst[[1]],v],
+(* Basis: If m odd and n odd, Cos[m*v]^n == Cos[v]*u where u is a function of Sin[v]. *)
+ FunctionOfSinQ[Cos[v]*lst[[2]],v,x],
+ lst=FindTrigFactor[Tan,Cot,u,v,True];
+ If[ListQ[lst],
+(* Basis: If m integer and n odd, Tan[m*v]^n == Cos[v]*u where u is a function of Sin[v]. *)
+ FunctionOfSinQ[Cos[v]*lst[[2]],v,x],
+ Catch[Scan[Function[If[Not[FunctionOfSinQ[#,v,x]],Throw[False]]],u];True]]]]]],
+ Catch[Scan[Function[If[Not[FunctionOfSinQ[#,v,x]],Throw[False]]],u];True]]]]]]
+
+
+(* If u is a function of Cos[v], FunctionOfCosQ[u,v,x] returns True; else it returns False. *)
+FunctionOfCosQ[u_,v_,x_] :=
+ If[AtomQ[u],
+ u=!=x,
+ If[CalculusQ[u],
+ False,
+ If[TrigQ[u] && IntegerQuotientQ[u[[1]],v],
+(* Basis: If m integer, Cos[m*v]^n is a function of Cos[v]. *)
+ CosQ[u] || SecQ[u],
+ If[IntegerPowerQ[u] && TrigQ[u[[1]]] && IntegerQuotientQ[u[[1,1]],v],
+ If[EvenQ[u[[2]]],
+(* Basis: If m integer and n even, Trig[m*v]^n is a function of Cos[v]. *)
+ True,
+ FunctionOfCosQ[u[[1]],v,x]],
+ If[ProductQ[u],
+ Module[{lst},
+ lst=FindTrigFactor[Sin,Csc,u,v,False];
+ If[ListQ[lst],
+(* Basis: If m integer and n odd, Sin[m*v]^n == Sin[v]*u where u is a function of Cos[v]. *)
+ FunctionOfCosQ[Sin[v]*lst[[2]],v,x],
+ lst=FindTrigFactor[Tan,Cot,u,v,True];
+ If[ListQ[lst],
+(* Basis: If m integer and n odd, Tan[m*v]^n == Sin[v]*u where u is a function of Cos[v]. *)
+ FunctionOfCosQ[Sin[v]*lst[[2]],v,x],
+ Catch[Scan[Function[If[Not[FunctionOfCosQ[#,v,x]],Throw[False]]],u];True]]]],
+ Catch[Scan[Function[If[Not[FunctionOfCosQ[#,v,x]],Throw[False]]],u];True]]]]]]
+
+
+(* If u is a function of the form f[Tan[v],Cot[v]] where f is independent of x,
+ FunctionOfTanQ[u,v,x] returns True; else it returns False. *)
+FunctionOfTanQ[u_,v_,x_] :=
+ If[AtomQ[u],
+ u=!=x,
+ If[CalculusQ[u],
+ False,
+ If[TrigQ[u] && IntegerQuotientQ[u[[1]],v],
+ TanQ[u] || CotQ[u] || EvenQuotientQ[u[[1]],v],
+ If[PowerQ[u] && EvenQ[u[[2]]] && TrigQ[u[[1]]] && IntegerQuotientQ[u[[1,1]],v],
+ True,
+ If[PowerQ[u] && EvenQ[u[[2]]] && SumQ[u[[1]]],
+ FunctionOfTanQ[Expand[u[[1]]^2],v,x],
+ If[ProductQ[u],
+ Module[{lst=ReapList[Scan[Function[If[Not[FunctionOfTanQ[#,v,x]],Sow[#]]],u]]},
+ If[lst==={},
+ True,
+ Length[lst]==2 && OddTrigPowerQ[lst[[1]],v,x] && OddTrigPowerQ[lst[[2]],v,x]]],
+ Catch[Scan[Function[If[Not[FunctionOfTanQ[#,v,x]],Throw[False]]],u];True]]]]]]]
+
+OddTrigPowerQ[u_,v_,x_] :=
+ If[SinQ[u] || CosQ[u] || SecQ[u] || CscQ[u],
+ OddQuotientQ[u[[1]],v],
+ If[PowerQ[u],
+ OddQ[u[[2]]] && OddTrigPowerQ[u[[1]],v,x],
+ If[ProductQ[u],
+ If[NeQ[FreeFactors[u,x],1],
+ OddTrigPowerQ[NonfreeFactors[u,x],v,x],
+ Module[{lst=ReapList[Scan[Function[If[Not[FunctionOfTanQ[#,v,x]],Sow[#]]],u]]},
+ If[lst==={},
+ True,
+ Length[lst]==1 && OddTrigPowerQ[lst[[1]],v,x]]]],
+ If[SumQ[u],
+ Catch[Scan[Function[If[Not[OddTrigPowerQ[#,v,x]],Throw[False]]],u];True],
+ False]]]]
+
+
+(* u is a function of the form f[Tan[v],Cot[v]] where f is independent of x.
+FunctionOfTanWeight[u,v,x] returns a nonnegative number if u is best considered a function
+of Tan[v]; else it returns a negative number. *)
+FunctionOfTanWeight[u_,v_,x_] :=
+ If[AtomQ[u],
+ 0,
+ If[CalculusQ[u],
+ 0,
+ If[TrigQ[u] && IntegerQuotientQ[u[[1]],v],
+ If[TanQ[u] && EqQ[u[[1]],v],
+ 1,
+ If[CotQ[u] && EqQ[u[[1]],v],
+ -1,
+ 0]],
+ If[PowerQ[u] && EvenQ[u[[2]]] && TrigQ[u[[1]]] && IntegerQuotientQ[u[[1,1]],v],
+ If[TanQ[u[[1]]] || CosQ[u[[1]]] || SecQ[u[[1]]],
+ 1,
+ -1],
+ If[ProductQ[u],
+ If[Catch[Scan[Function[If[Not[FunctionOfTanQ[#,v,x]],Throw[False]]],u];True],
+ Apply[Plus,Map[Function[FunctionOfTanWeight[#,v,x]],Apply[List,u]]],
+ 0],
+ Apply[Plus,Map[Function[FunctionOfTanWeight[#,v,x]],Apply[List,u]]]]]]]]
+
+
+(* If u (x) is equivalent to an expression of the form f (Sin[v],Cos[v],Tan[v],Cot[v],Sec[v],Csc[v])
+ where f is independent of x, FunctionOfTrigQ[u,v,x] returns True; else it returns False. *)
+FunctionOfTrigQ[u_,v_,x_Symbol] :=
+ If[AtomQ[u],
+ u=!=x,
+ If[CalculusQ[u],
+ False,
+ If[TrigQ[u] && IntegerQuotientQ[u[[1]],v],
+ True,
+ Catch[
+ Scan[Function[If[Not[FunctionOfTrigQ[#,v,x]],Throw[False]]],u];
+ True]]]]
+
+
+(* ::Subsubsection::Closed:: *)
+(*Pure function of hyperbolic functions predicates*)
+
+
+(* If u is a pure function of Sinh[v] and/or Csch[v], PureFunctionOfSinhQ[u,v,x] returns True;
+ else it returns False. *)
+PureFunctionOfSinhQ[u_,v_,x_] :=
+ If[AtomQ[u],
+ u=!=x,
+ If[CalculusQ[u],
+ False,
+ If[HyperbolicQ[u] && EqQ[u[[1]],v],
+ SinhQ[u] || CschQ[u],
+ Catch[Scan[Function[If[Not[PureFunctionOfSinhQ[#,v,x]],Throw[False]]],u];True]]]]
+
+
+(* If u is a pure function of Cosh[v] and/or Sech[v], PureFunctionOfCoshQ[u,v,x] returns True;
+ else it returns False. *)
+PureFunctionOfCoshQ[u_,v_,x_] :=
+ If[AtomQ[u],
+ u=!=x,
+ If[CalculusQ[u],
+ False,
+ If[HyperbolicQ[u] && EqQ[u[[1]],v],
+ CoshQ[u] || SechQ[u],
+ Catch[Scan[Function[If[Not[PureFunctionOfCoshQ[#,v,x]],Throw[False]]],u];True]]]]
+
+
+(* If u is a pure function of Tanh[v] and/or Coth[v], PureFunctionOfTanhQ[u,v,x] returns True;
+ else it returns False. *)
+PureFunctionOfTanhQ[u_,v_,x_] :=
+ If[AtomQ[u],
+ u=!=x,
+ If[CalculusQ[u],
+ False,
+ If[HyperbolicQ[u] && EqQ[u[[1]],v],
+ TanhQ[u] || CothQ[u],
+ Catch[Scan[Function[If[Not[PureFunctionOfTanhQ[#,v,x]],Throw[False]]],u];True]]]]
+
+
+(* If u is a pure function of Coth[v], PureFunctionOfCothQ[u,v,x] returns True;
+ else it returns False. *)
+PureFunctionOfCothQ[u_,v_,x_] :=
+ If[AtomQ[u],
+ u=!=x,
+ If[CalculusQ[u],
+ False,
+ If[HyperbolicQ[u] && EqQ[u[[1]],v],
+ CothQ[u],
+ Catch[Scan[Function[If[Not[PureFunctionOfCothQ[#,v,x]],Throw[False]]],u];True]]]]
+
+
+(* ::Subsubsection::Closed:: *)
+(*Function of hyperbolic functions predicates*)
+
+
+(* If u is a function of Sinh[v], FunctionOfSinhQ[u,v,x] returns True; else it returns False. *)
+FunctionOfSinhQ[u_,v_,x_] :=
+ If[AtomQ[u],
+ u=!=x,
+ If[CalculusQ[u],
+ False,
+ If[HyperbolicQ[u] && IntegerQuotientQ[u[[1]],v],
+ If[OddQuotientQ[u[[1]],v],
+(* Basis: If m odd, Sinh[m*v]^n is a function of Sinh[v]. *)
+ SinhQ[u] || CschQ[u],
+(* Basis: If m even, Cos[m*v]^n is a function of Sinh[v]. *)
+ CoshQ[u] || SechQ[u]],
+ If[IntegerPowerQ[u] && HyperbolicQ[u[[1]]] && IntegerQuotientQ[u[[1,1]],v],
+ If[EvenQ[u[[2]]],
+(* Basis: If m integer and n even, Hyper[m*v]^n is a function of Sinh[v]. *)
+ True,
+ FunctionOfSinhQ[u[[1]],v,x]],
+ If[ProductQ[u],
+ If[CoshQ[u[[1]]] && SinhQ[u[[2]]] && EqQ[u[[1,1]],v/2] && EqQ[u[[2,1]],v/2],
+ FunctionOfSinhQ[Drop[u,2],v,x],
+ Module[{lst},
+ lst=FindTrigFactor[Sinh,Csch,u,v,False];
+ If[ListQ[lst] && EvenQuotientQ[lst[[1]],v],
+(* Basis: If m even and n odd, Sinh[m*v]^n == Cosh[v]*u where u is a function of Sinh[v]. *)
+ FunctionOfSinhQ[Cosh[v]*lst[[2]],v,x],
+ lst=FindTrigFactor[Cosh,Sech,u,v,False];
+ If[ListQ[lst] && OddQuotientQ[lst[[1]],v],
+(* Basis: If m odd and n odd, Cosh[m*v]^n == Cosh[v]*u where u is a function of Sinh[v]. *)
+ FunctionOfSinhQ[Cosh[v]*lst[[2]],v,x],
+ lst=FindTrigFactor[Tanh,Coth,u,v,True];
+ If[ListQ[lst],
+(* Basis: If m integer and n odd, Tanh[m*v]^n == Cosh[v]*u where u is a function of Sinh[v]. *)
+ FunctionOfSinhQ[Cosh[v]*lst[[2]],v,x],
+ Catch[Scan[Function[If[Not[FunctionOfSinhQ[#,v,x]],Throw[False]]],u];True]]]]]],
+ Catch[Scan[Function[If[Not[FunctionOfSinhQ[#,v,x]],Throw[False]]],u];True]]]]]]
+
+
+(* If u is a function of Cosh[v], FunctionOfCoshQ[u,v,x] returns True; else it returns False. *)
+FunctionOfCoshQ[u_,v_,x_] :=
+ If[AtomQ[u],
+ u=!=x,
+ If[CalculusQ[u],
+ False,
+ If[HyperbolicQ[u] && IntegerQuotientQ[u[[1]],v],
+(* Basis: If m integer, Cosh[m*v]^n is a function of Cosh[v]. *)
+ CoshQ[u] || SechQ[u],
+ If[IntegerPowerQ[u] && HyperbolicQ[u[[1]]] && IntegerQuotientQ[u[[1,1]],v],
+ If[EvenQ[u[[2]]],
+(* Basis: If m integer and n even, Hyper[m*v]^n is a function of Cosh[v]. *)
+ True,
+ FunctionOfCoshQ[u[[1]],v,x]],
+ If[ProductQ[u],
+ Module[{lst},
+ lst=FindTrigFactor[Sinh,Csch,u,v,False];
+ If[ListQ[lst],
+(* Basis: If m integer and n odd, Sinh[m*v]^n == Sinh[v]*u where u is a function of Cosh[v]. *)
+ FunctionOfCoshQ[Sinh[v]*lst[[2]],v,x],
+ lst=FindTrigFactor[Tanh,Coth,u,v,True];
+ If[ListQ[lst],
+(* Basis: If m integer and n odd, Tanh[m*v]^n == Sinh[v]*u where u is a function of Cosh[v]. *)
+ FunctionOfCoshQ[Sinh[v]*lst[[2]],v,x],
+ Catch[Scan[Function[If[Not[FunctionOfCoshQ[#,v,x]],Throw[False]]],u];True]]]],
+ Catch[Scan[Function[If[Not[FunctionOfCoshQ[#,v,x]],Throw[False]]],u];True]]]]]]
+
+
+(* If u is a function of the form f[Tanh[v],Coth[v]] where f is independent of x,
+ FunctionOfTanhQ[u,v,x] returns True; else it returns False. *)
+FunctionOfTanhQ[u_,v_,x_] :=
+ If[AtomQ[u],
+ u=!=x,
+ If[CalculusQ[u],
+ False,
+ If[HyperbolicQ[u] && IntegerQuotientQ[u[[1]],v],
+ TanhQ[u] || CothQ[u] || EvenQuotientQ[u[[1]],v],
+ If[PowerQ[u] && EvenQ[u[[2]]] && HyperbolicQ[u[[1]]] && IntegerQuotientQ[u[[1,1]],v],
+ True,
+ If[PowerQ[u] && EvenQ[u[[2]]] && SumQ[u[[1]]],
+ FunctionOfTanhQ[Expand[u[[1]]^2],v,x],
+ If[ProductQ[u],
+ With[{lst=ReapList[Scan[Function[If[Not[FunctionOfTanhQ[#,v,x]],Sow[#]]],u]]},
+ If[lst==={},
+ True,
+ Length[lst]==2 && OddHyperbolicPowerQ[lst[[1]],v,x] && OddHyperbolicPowerQ[lst[[2]],v,x]]],
+ Catch[Scan[Function[If[Not[FunctionOfTanhQ[#,v,x]],Throw[False]]],u];True]]]]]]]
+
+OddHyperbolicPowerQ[u_,v_,x_] :=
+ If[SinhQ[u] || CoshQ[u] || SechQ[u] || CschQ[u],
+ OddQuotientQ[u[[1]],v],
+ If[PowerQ[u],
+ OddQ[u[[2]]] && OddHyperbolicPowerQ[u[[1]],v,x],
+ If[ProductQ[u],
+ If[NeQ[FreeFactors[u,x],1],
+ OddHyperbolicPowerQ[NonfreeFactors[u,x],v,x],
+ With[{lst=ReapList[Scan[Function[If[Not[FunctionOfTanhQ[#,v,x]],Sow[#]]],u]]},
+ If[lst==={},
+ True,
+ Length[lst]==1 && OddHyperbolicPowerQ[lst[[1]],v,x]]]],
+ If[SumQ[u],
+ Catch[Scan[Function[If[Not[OddHyperbolicPowerQ[#,v,x]],Throw[False]]],u];True],
+ False]]]]
+
+
+(* u is a function of the form f[Tanh[v],Coth[v]] where f is independent of x.
+FunctionOfTanhWeight[u,v,x] returns a nonnegative number if u is best considered a function
+of Tanh[v]; else it returns a negative number. *)
+FunctionOfTanhWeight[u_,v_,x_] :=
+ If[AtomQ[u],
+ 0,
+ If[CalculusQ[u],
+ 0,
+ If[HyperbolicQ[u] && IntegerQuotientQ[u[[1]],v],
+ If[TanhQ[u] && EqQ[u[[1]],v],
+ 1,
+ If[CothQ[u] && EqQ[u[[1]],v],
+ -1,
+ 0]],
+ If[PowerQ[u] && EvenQ[u[[2]]] && HyperbolicQ[u[[1]]] && IntegerQuotientQ[u[[1,1]],v],
+ If[TanhQ[u[[1]]] || CoshQ[u[[1]]] || SechQ[u[[1]]],
+ 1,
+ -1],
+ If[ProductQ[u],
+ If[Catch[Scan[Function[If[Not[FunctionOfTanhQ[#,v,x]],Throw[False]]],u];True],
+ Apply[Plus,Map[Function[FunctionOfTanhWeight[#,v,x]],Apply[List,u]]],
+ 0],
+ Apply[Plus,Map[Function[FunctionOfTanhWeight[#,v,x]],Apply[List,u]]]]]]]]
+
+
+(* If u (x) is equivalent to a function of the form f (Sinh[v],Cosh[v],Tanh[v],Coth[v],Sech[v],Csch[v])
+ where f is independent of x, FunctionOfHyperbolicQ[u,v,x] returns True; else it returns False. *)
+FunctionOfHyperbolicQ[u_,v_,x_Symbol] :=
+ If[AtomQ[u],
+ u=!=x,
+ If[CalculusQ[u],
+ False,
+ If[HyperbolicQ[u] && IntegerQuotientQ[u[[1]],v],
+ True,
+ Catch[Scan[Function[If[FunctionOfHyperbolicQ[#,v,x],Null,Throw[False]]],u];True]]]]
+
+
+(* If func[w]^m is a factor of u where m is odd and w is an integer multiple of v,
+ FindTrigFactor[func1,func2,u,v,True] returns the list {w,u/func[w]^n}; else it returns False. *)
+(* If func[w]^m is a factor of u where m is odd and w is an integer multiple of v not equal to v,
+ FindTrigFactor[func1,func2,u,v,False] returns the list {w,u/func[w]^n}; else it returns False. *)
+FindTrigFactor[func1_,func2_,u_,v_,flag_] :=
+ If[u===1,
+ False,
+ If[(Head[LeadBase[u]]===func1 || Head[LeadBase[u]]===func2) &&
+ OddQ[LeadDegree[u]] &&
+ IntegerQuotientQ[LeadBase[u][[1]],v] &&
+ (flag || NeQ[LeadBase[u][[1]],v]),
+ {LeadBase[u][[1]], RemainingFactors[u]},
+ With[{lst=FindTrigFactor[func1,func2,RemainingFactors[u],v,flag]},
+ If[AtomQ[lst],
+ False,
+ {lst[[1]], LeadFactor[u]*lst[[2]]}]]]]
+
+
+(* If u/v is an integer, IntegerQuotientQ[u,v] returns True; else it returns False. *)
+IntegerQuotientQ[u_,v_] :=
+(* u===v || EqQ[u,v] || IntegerQ[u/v] *)
+ IntegerQ[Simplify[u/v]]
+
+(* If u/v is odd, OddQuotientQ[u,v] returns True; else it returns False. *)
+OddQuotientQ[u_,v_] :=
+(* u===v || EqQ[u,v] || OddQ[u/v] *)
+ OddQ[Simplify[u/v]]
+
+(* If u/v is even, EvenQuotientQ[u,v] returns True; else it returns False. *)
+EvenQuotientQ[u_,v_] :=
+ EvenQ[Simplify[u/v]]
+
+
+(* ::Subsection::Closed:: *)
+(*FunctionOfDensePolynomialsQ*)
+
+
+(* If all occurrences of x in u (x) are in dense polynomials, FunctionOfDensePolynomialsQ[u,x]
+ returns True; else it returns False. *)
+FunctionOfDensePolynomialsQ[u_,x_Symbol] :=
+ If[FreeQ[u,x],
+ True,
+ If[PolynomialQ[u,x],
+ Length[Exponent[u,x,List]]>1,
+ Catch[
+ Scan[Function[If[FunctionOfDensePolynomialsQ[#,x],Null,Throw[False]]],u];
+ True]]]
+
+
+(* ::Subsection::Closed:: *)
+(*FunctionOfLog*)
+
+
+(* If u (x) is equivalent to an expression of the form f (Log[a*x^n]), FunctionOfLog[u,x] returns
+ the list {f (x),a*x^n,n}; else it returns False. *)
+FunctionOfLog[u_,x_Symbol] :=
+ With[{lst=FunctionOfLog[u,False,False,x]},
+ If[AtomQ[lst] || FalseQ[lst[[2]]],
+ False,
+ lst]]
+
+
+FunctionOfLog[u_,v_,n_,x_] :=
+ If[AtomQ[u],
+ If[u===x,
+ False,
+ {u,v,n}],
+ If[CalculusQ[u],
+ False,
+ Module[{lst},
+ If[LogQ[u] && ListQ[lst=BinomialParts[u[[1]],x]] && EqQ[lst[[1]],0],
+ If[FalseQ[v] || u[[1]]===v,
+ {x,u[[1]],lst[[3]]},
+ False],
+ lst={0,v,n};
+ Catch[
+ {Map[Function[lst=FunctionOfLog[#,lst[[2]],lst[[3]],x];
+ If[AtomQ[lst],Throw[False],lst[[1]]]],
+ u],lst[[2]],lst[[3]]}]]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*PowerVariableExpn*)
+
+
+(* If m is an integer, u is an expression of the form f[(c*x)^n] and g=GCD[m,n]>1,
+ PowerVariableExpn[u,m,x] returns the list {x^(m/g)*f[(c*x)^(n/g)],g,c}; else it returns False. *)
+PowerVariableExpn[u_,m_,x_Symbol] :=
+ If[IntegerQ[m],
+ With[{lst=PowerVariableDegree[u,m,1,x]},
+ If[AtomQ[lst],
+ False,
+ {x^(m/lst[[1]])*PowerVariableSubst[u,lst[[1]],x], lst[[1]], lst[[2]]}]],
+ False]
+
+
+PowerVariableDegree[u_,m_,c_,x_Symbol] :=
+ If[FreeQ[u,x],
+ {m, c},
+ If[AtomQ[u] || CalculusQ[u],
+ False,
+ If[PowerQ[u] && FreeQ[u[[1]]/x,x],
+ If[EqQ[m,0] || m===u[[2]] && c===u[[1]]/x,
+ {u[[2]], u[[1]]/x},
+ If[IntegerQ[u[[2]]] && IntegerQ[m] && GCD[m,u[[2]]]>1 && c===u[[1]]/x,
+ {GCD[m,u[[2]]], c},
+ False]],
+ Catch[Module[{lst={m, c}},
+ Scan[Function[lst=PowerVariableDegree[#,lst[[1]],lst[[2]],x];If[AtomQ[lst],Throw[False]]],u];
+ lst]]]]]
+
+
+PowerVariableSubst[u_,m_,x_Symbol] :=
+ If[FreeQ[u,x] || AtomQ[u] ||CalculusQ[u],
+ u,
+ If[PowerQ[u] && FreeQ[u[[1]]/x,x],
+ x^(u[[2]]/m),
+ Map[Function[PowerVariableSubst[#,m,x]],u]]]
+
+
+(* ::Subsection::Closed:: *)
+(*EulerIntegrandQ*)
+
+
+(* ::Subsubsection::Closed:: *)
+(*Note: If an Euler substitution should be used to integrate u wrt x, EulerIntegrandQ[u,x] returns True.*)
+
+
+EulerIntegrandQ[(a_.*x_+b_.*u_^n_)^p_,x_Symbol] :=
+ True /;
+FreeQ[{a,b},x] && IntegerQ[n+1/2] && QuadraticQ[u,x] && (Not[RationalQ[p]] || NegativeIntegerQ[p] && Not[BinomialQ[u,x]])
+
+
+EulerIntegrandQ[v_^m_.*(a_.*x_+b_.*u_^n_)^p_,x_Symbol] :=
+ True /;
+FreeQ[{a,b},x] && EqQ[u,v] && IntegersQ[2*m,n+1/2] && QuadraticQ[u,x] &&
+ (Not[RationalQ[p]] || NegativeIntegerQ[p] && Not[BinomialQ[u,x]])
+
+
+EulerIntegrandQ[v_^m_.*(a_.*x_+b_.*u_^n_)^p_,x_Symbol] :=
+ True /;
+FreeQ[{a,b},x] && EqQ[u,v] && IntegersQ[2*m,n+1/2] && QuadraticQ[u,x] &&
+ (Not[RationalQ[p]] || NegativeIntegerQ[p] && Not[BinomialQ[u,x]])
+
+
+EulerIntegrandQ[u_^n_*v_^p_,x_Symbol] :=
+ True /;
+NegativeIntegerQ[p] && IntegerQ[n+1/2] && QuadraticQ[u,x] && QuadraticQ[v,x] && Not[BinomialQ[v,x]]
+
+EulerIntegrandQ[u_,x_Symbol] :=
+ False
+
+
+(* ::Subsection::Closed:: *)
+(*FunctionOfSquareRootOfQuadratic*)
+
+
+(*
+Euler substitution #2:
+ If u is an expression of the form f (Sqrt[a+b*x+c*x^2],x), f (x,x) is a rational function, and
+ PosQ[c], FunctionOfSquareRootOfQuadratic[u,x] returns the 3-element list {
+ f ((a*Sqrt[c]+b*x+Sqrt[c]*x^2)/(b+2*Sqrt[c]*x),(-a+x^2)/(b+2*Sqrt[c]*x))*
+ (a*Sqrt[c]+b*x+Sqrt[c]*x^2)/(b+2*Sqrt[c]*x)^2,
+ Sqrt[c]*x+Sqrt[a+b*x+c*x^2], 2 };
+
+Euler substitution #1:
+ If u is an expression of the form f (Sqrt[a+b*x+c*x^2],x), f (x,x) is a rational function, and
+ PosQ[a], FunctionOfSquareRootOfQuadratic[u,x] returns the two element list {
+ f ((c*Sqrt[a]-b*x+Sqrt[a]*x^2)/(c-x^2),(-b+2*Sqrt[a]*x)/(c-x^2))*
+ (c*Sqrt[a]-b*x+Sqrt[a]*x^2)/(c-x^2)^2,
+ (-Sqrt[a]+Sqrt[a+b*x+c*x^2])/x, 1 };
+
+Euler substitution #3:
+ If u is an expression of the form f (Sqrt[a+b*x+c*x^2],x), f (x,x) is a rational function, and
+ NegQ[a] and NegQ[c], FunctionOfSquareRootOfQuadratic[u,x] returns the two element list {
+ -Sqrt[b^2-4*a*c]*
+ f (-Sqrt[b^2-4*a*c]*x/(c-x^2),-(b*c+c*Sqrt[b^2-4*a*c]+(-b+Sqrt[b^2-4*a*c])*x^2)/(2*c*(c-x^2)))*
+ x/(c-x^2)^2,
+ 2*c*Sqrt[a+b*x+c*x^2]/(b-Sqrt[b^2-4*a*c]+2*c*x), 3 };
+
+ else it returns False. *)
+
+FunctionOfSquareRootOfQuadratic[u_,x_Symbol] :=
+ If[MatchQ[u,x^m_.*(a_+b_.*x^n_.)^p_ /; FreeQ[{a,b,m,n,p},x]],
+ False,
+ Module[{tmp=FunctionOfSquareRootOfQuadratic[u,False,x]},
+ If[AtomQ[tmp] || FalseQ[tmp[[1]]],
+ False,
+ tmp=tmp[[1]];
+ Module[{a=Coefficient[tmp,x,0],b=Coefficient[tmp,x,1],c=Coefficient[tmp,x,2],sqrt,q,r},
+ If[EqQ[a,0] && EqQ[b,0] || EqQ[b^2-4*a*c,0],
+ False,
+ If[PosQ[c],
+ sqrt=Rt[c,2];
+ q=a*sqrt+b*x+sqrt*x^2;
+ r=b+2*sqrt*x;
+ {Simplify[SquareRootOfQuadraticSubst[u,q/r,(-a+x^2)/r,x]*q/r^2],
+ Simplify[sqrt*x+Sqrt[tmp]],
+ 2},
+ If[PosQ[a],
+ sqrt=Rt[a,2];
+ q=c*sqrt-b*x+sqrt*x^2;
+ r=c-x^2;
+ {Simplify[SquareRootOfQuadraticSubst[u,q/r,(-b+2*sqrt*x)/r,x]*q/r^2],
+ Simplify[(-sqrt+Sqrt[tmp])/x],
+ 1},
+ sqrt=Rt[b^2-4*a*c,2];
+ r=c-x^2;
+ {Simplify[-sqrt*SquareRootOfQuadraticSubst[u,-sqrt*x/r,-(b*c+c*sqrt+(-b+sqrt)*x^2)/(2*c*r),x]*x/r^2],
+ FullSimplify[2*c*Sqrt[tmp]/(b-sqrt+2*c*x)],
+ 3}]]]]]]]
+
+
+FunctionOfSquareRootOfQuadratic[u_,v_,x_Symbol] :=
+ If[AtomQ[u] || FreeQ[u,x],
+ {v},
+ If[PowerQ[u] && FreeQ[u[[2]],x],
+ If[FractionQ[u[[2]]] && Denominator[u[[2]]]==2 && PolynomialQ[u[[1]],x] && Exponent[u[[1]],x]==2,
+ If[(FalseQ[v] || u[[1]]===v),
+ {u[[1]]},
+ False],
+ FunctionOfSquareRootOfQuadratic[u[[1]],v,x]],
+ If[ProductQ[u] || SumQ[u],
+ Catch[Module[{lst={v}},
+ Scan[Function[lst=FunctionOfSquareRootOfQuadratic[#,lst[[1]],x];If[AtomQ[lst],Throw[False]]],u];
+ lst]],
+ False]]]
+
+
+(* SquareRootOfQuadraticSubst[u,vv,xx,x] returns u with fractional powers replaced by vv raised
+ to the power and x replaced by xx. *)
+SquareRootOfQuadraticSubst[u_,vv_,xx_,x_Symbol] :=
+ If[AtomQ[u] || FreeQ[u,x],
+ If[u===x,
+ xx,
+ u],
+ If[PowerQ[u] && FreeQ[u[[2]],x],
+ If[FractionQ[u[[2]]] && Denominator[u[[2]]]==2 && PolynomialQ[u[[1]],x] && Exponent[u[[1]],x]==2,
+ vv^Numerator[u[[2]]],
+ SquareRootOfQuadraticSubst[u[[1]],vv,xx,x]^u[[2]]],
+ Map[Function[SquareRootOfQuadraticSubst[#,vv,xx,x]],u]]]
+
+
+(* ::Section::Closed:: *)
+(*Substitution functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*Subst*)
+
+
+(* Subst[u,x,w] returns u with x replaced by w and resulting constant terms replaced by 0. *)
+Subst[u_,x_Symbol,w_] :=
+ SimplifyAntiderivative[SubstAux[u,x,w],x]
+
+Subst[u_,Rule[x_Symbol,w_]] :=
+ SimplifyAntiderivative[SubstAux[u,x,w],x]
+
+Subst[u_,x_,w_] :=
+ SubstAux[u,x,w]
+
+
+SubstAux[a_+b_.*x_,x_Symbol,c_.*F_[z_]^2] :=
+ a*Simplify[1-F[z]^2] /;
+FreeQ[{a,b,c},x] && MemberQ[{Sin,Cos,Sec,Csc,Cosh,Tanh,Coth,Sech},F] && EqQ[a+b*c,0]
+
+SubstAux[a_+b_.*x_,x_Symbol,c_.*F_[z_]^2] :=
+ a*Simplify[1+F[z]^2] /;
+FreeQ[{a,b,c},x] && MemberQ[{Tan,Cot,Sinh,Csch},F] && EqQ[a-b*c,0]
+
+
+SubstAux[a_+b_.*x_^2,x_Symbol,c_.*F_[z_]] :=
+ a*Simplify[1-F[z]^2] /;
+FreeQ[{a,b,c},x] && MemberQ[{Sin,Cos,Sec,Csc,Cosh,Tanh,Coth,Sech},F] && EqQ[a+b*c^2,0]
+
+SubstAux[a_+b_.*x_^2,x_Symbol,c_.*F_[z_]] :=
+ a*Simplify[1+F[z]^2] /;
+FreeQ[{a,b,c},x] && MemberQ[{Tan,Cot,Sinh,Csch},F] && EqQ[a-b*c^2,0]
+
+
+SubstAux[F_[a_.*x_^m_.],x_Symbol,b_.*x_^n_] :=
+ Extract[{ArcCsc,ArcSec,ArcCot,ArcTan,ArcCos,ArcSin,ArcCsch,ArcSech,ArcCoth,ArcTanh,ArcCosh,ArcSinh},
+ Position[{ArcSin,ArcCos,ArcTan,ArcCot,ArcSec,ArcCsc,ArcSinh,ArcCosh,ArcTanh,ArcCoth,ArcSech,ArcCsch},F]][[1]] [x^(-m*n)/(a*b^m)] /;
+FreeQ[{a,b},x] && PositiveIntegerQ[m] && NegativeIntegerQ[n] && MemberQ[{ArcSin,ArcCos,ArcTan,ArcCot,ArcSec,ArcCsc,ArcSinh,ArcCosh,ArcTanh,ArcCoth,ArcSech,ArcCsch},F]
+
+
+(* Subst[u,v,w] returns u with all nondummy occurences of v replaced by w *)
+SubstAux[u_,v_,w_] :=
+ If[u===v,
+ w,
+ If[AtomQ[u],
+ u,
+ If[PowerQ[u],
+ If[PowerQ[v] && u[[1]]===v[[1]] && SumQ[u[[2]]],
+ SubstAux[u[[1]]^First[u[[2]]],v,w]*SubstAux[u[[1]]^Rest[u[[2]]],v,w],
+ SubstAux[u[[1]],v,w]^SubstAux[u[[2]],v,w]],
+ If[Head[u]===Defer[Subst],
+ If[u[[2]]===v || FreeQ[u[[1]],v],
+ SubstAux[u[[1]],u[[2]],SubstAux[u[[3]],v,w]],
+ Defer[Subst][u,v,w]],
+ If[Head[u]===Defer[Dist],
+ Defer[Dist][SubstAux[u[[1]],v,w],SubstAux[u[[2]],v,w],u[[3]]],
+ If[CalculusQ[u] && Not[FreeQ[v,u[[2]]]] || HeldFormQ[u] && Head[u]=!=Defer[AppellF1],
+ Defer[Subst][u,v,w],
+ Map[Function[SubstAux[#,v,w]],u]]]]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*SimplifyAntiderivative*)
+
+
+(* ::Item::Closed:: *)
+(*SimplifyAntiderivative[u,x] returns the simplest, continuous expression whose derivative wrt x equals the derivative of u wrt x.*)
+
+
+(* ::Item:: *)
+(*Basis: D[c*F[x], x] == c*D[F[x], x]*)
+
+
+Clear[SimplifyAntiderivative];
+
+SimplifyAntiderivative[c_*u_,x_Symbol] :=
+ With[{v=SimplifyAntiderivative[u,x]},
+ If[SumQ[v] && NonsumQ[u],
+ Map[Function[c*#],v],
+ c*v]] /;
+FreeQ[c,x]
+
+
+(* ::Item:: *)
+(*Basis: D[Log[c*F[x]], x] == D[Log[F[x]], x]*)
+
+
+SimplifyAntiderivative[Log[c_*u_],x_Symbol] :=
+ SimplifyAntiderivative[Log[u],x] /;
+FreeQ[c,x]
+
+
+(* ::Item:: *)
+(*Basis: D[Log[F[x]^n], x] == n*D[Log[F[x]], x]*)
+
+
+SimplifyAntiderivative[Log[u_^n_],x_Symbol] :=
+ n*SimplifyAntiderivative[Log[u],x] /;
+FreeQ[n,x]
+
+
+(* ::Item:: *)
+(*Basis: If F\[Element]{Log,ArcTan,ArcCot}, then D[F[G[x]], x] == -D[F[1/G[x]], x]*)
+
+
+SimplifyAntiderivative[F_[G_[u_]],x_Symbol] :=
+ -SimplifyAntiderivative[F[1/G[u]],x] /;
+MemberQ[{Log,ArcTan,ArcCot},F] && MemberQ[{Cot,Sec,Csc,Coth,Sech,Csch},G]
+
+
+(* ::Item:: *)
+(*Basis: If F\[Element]{ArcTanh,ArcCoth}, then D[F[G[x]], x] == D[F[1/G[x]], x]*)
+
+
+SimplifyAntiderivative[F_[G_[u_]],x_Symbol] :=
+ SimplifyAntiderivative[F[1/G[u]],x] /;
+MemberQ[{ArcTanh,ArcCoth},F] && MemberQ[{Cot,Sec,Csc,Coth,Sech,Csch},G]
+
+
+SimplifyAntiderivative[Log[F_[u_]],x_Symbol] :=
+ -SimplifyAntiderivative[Log[1/F[u]],x] /;
+MemberQ[{Cot,Sec,Csc,Coth,Sech,Csch},F]
+
+
+(* ::Item:: *)
+(*Basis: D[Log[f^G[x]], x] == Log[f]*D[G[x], x]*)
+
+
+SimplifyAntiderivative[Log[f_^u_],x_Symbol] :=
+ Log[f]*SimplifyAntiderivative[u,x] /;
+FreeQ[f,x]
+
+
+(* ::Item:: *)
+(*Basis: If a^2+b^2==0, then D[Log[a + b*Tan[F[x]]], x] == (b*D[F[x], x])/a - D[Log[Cos[F[x]]], x]*)
+
+
+SimplifyAntiderivative[Log[a_+b_.*Tan[u_]],x_Symbol] :=
+ b/a*SimplifyAntiderivative[u,x] - SimplifyAntiderivative[Log[Cos[u]],x] /;
+FreeQ[{a,b},x] && EqQ[a^2+b^2,0]
+
+
+(* ::Item:: *)
+(*Basis: If a^2+b^2==0, then D[Log[a + b*Cot[F[x]]], x] == -((b/a)*D[F[x], x]) - D[Log[Sin[F[x]]], x]*)
+
+
+SimplifyAntiderivative[Log[a_+b_.*Cot[u_]],x_Symbol] :=
+ -b/a*SimplifyAntiderivative[u,x] - SimplifyAntiderivative[Log[Sin[u]],x] /;
+FreeQ[{a,b},x] && EqQ[a^2+b^2,0]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item:: *)
+(*Note: Should also recognize that Tan[z/2]==Sin[z]/(1+Cos[z])==Tan[z]/(1+Sec[z])*)
+
+
+SimplifyAntiderivative[ArcTan[a_.*Tan[u_]],x_Symbol] :=
+ RectifyTangent[u,a,1,x] /;
+FreeQ[a,x] && PositiveQ[a^2] && ComplexFreeQ[u]
+
+
+(* ::Item:: *)
+(*Basis: D[ArcCot[a*Tan[f[x]]], x] == -D[ArcTan[a*Tan[f[x]]], x]*)
+
+
+SimplifyAntiderivative[ArcCot[a_.*Tan[u_]],x_Symbol] :=
+ RectifyTangent[u,a,-1,x] /;
+FreeQ[a,x] && PositiveQ[a^2] && ComplexFreeQ[u]
+
+
+(* ::Item:: *)
+(*Basis: ArcTan[a Tanh[z]]==-ArcTan[I a Tan[I z]]*)
+
+
+(* SimplifyAntiderivative[ArcTan[a_.*Tanh[u_]],x_Symbol] :=
+ RectifyTangent[I*u,I*a,-1,x] /;
+FreeQ[a,x] && PositiveQ[a^2] && ComplexFreeQ[u] *)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcCot[a*Tanh[f[x]]], x] == -D[ArcTan[a*Tanh[f[x]]], x]*)
+
+
+SimplifyAntiderivative[ArcCot[a_.*Tanh[u_]],x_Symbol] :=
+ -SimplifyAntiderivative[ArcTan[a*Tanh[u]],x] /;
+FreeQ[a,x] && ComplexFreeQ[u]
+
+
+(* ::Item:: *)
+(*Basis: ArcTanh[a Tan[z]]==-I ArcTan[I a Tan[z]]*)
+
+
+SimplifyAntiderivative[ArcTanh[a_.*Tan[u_]],x_Symbol] :=
+ RectifyTangent[u,I*a,-I,x] /;
+FreeQ[a,x] && PositiveQ[a^2] && ComplexFreeQ[u]
+
+
+(* ::Item:: *)
+(*Basis: D[ArcCoth[a*Tan[f[x]]], x] == -(I*D[ArcTan[I*a*Tan[f[x]]], x])*)
+
+
+SimplifyAntiderivative[ArcCoth[a_.*Tan[u_]],x_Symbol] :=
+ RectifyTangent[u,I*a,-I,x] /;
+FreeQ[a,x] && PositiveQ[a^2] && ComplexFreeQ[u]
+
+
+(* ::Item::Closed:: *)
+(*Basis: ArcTanh[a Tanh[z]]==-I ArcTan[a Tan[I z]]*)
+
+
+(* ::Item:: *)
+(*Note: Although this makes the antiderivative continuous on the imaginary line, it makes it discontinous on the real line.*)
+
+
+(* SimplifyAntiderivative[ArcTanh[a_.*Tanh[u_]],x_Symbol] :=
+ RectifyTangent[I*u,a,-I,x] /;
+FreeQ[a,x] && PositiveQ[a^2] && ComplexFreeQ[u] *)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTanh[Tanh[f[x]]], x] == D[f[x], x]*)
+
+
+SimplifyAntiderivative[ArcTanh[Tanh[u_]],x_Symbol] :=
+ SimplifyAntiderivative[u,x]
+
+
+(* ::Item::Closed:: *)
+(*Basis: D[ArcCoth[a*Tanh[f[x]]], x] == -(I*D[ArcTan[a*Tan[I*f[x]]], x])*)
+
+
+(* ::Item:: *)
+(*Note: Although this makes the antiderivative continuous on the imaginary line, it makes it discontinous on the real line.*)
+
+
+(* SimplifyAntiderivative[ArcCoth[a_.*Tanh[u_]],x_Symbol] :=
+ RectifyTangent[I*u,a,-I,x] /;
+FreeQ[a,x] && PositiveQ[a^2] && ComplexFreeQ[u] *)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcCoth[Tanh[f[x]]], x] == D[f[x], x]*)
+
+
+SimplifyAntiderivative[ArcCoth[Tanh[u_]],x_Symbol] :=
+ SimplifyAntiderivative[u,x]
+
+
+(* ::Input:: *)
+(* *)
+
+
+SimplifyAntiderivative[ArcCot[a_.*Cot[u_]],x_Symbol] :=
+ RectifyCotangent[u,a,1,x] /;
+FreeQ[a,x] && PositiveQ[a^2] && ComplexFreeQ[u]
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTan[a*Cot[f[x]]], x] == -D[ArcCot[a*Cot[f[x]]], x]*)
+
+
+SimplifyAntiderivative[ArcTan[a_.*Cot[u_]],x_Symbol] :=
+ RectifyCotangent[u,a,-1,x] /;
+FreeQ[a,x] && PositiveQ[a^2] && ComplexFreeQ[u]
+
+
+(* ::Item:: *)
+(*Basis: ArcCot[a Coth[z]]==ArcCot[I a Cot[I z]]*)
+
+
+(* SimplifyAntiderivative[ArcCot[a_.*Coth[u_]],x_Symbol] :=
+ RectifyCotangent[I*u,I*a,1,x] /;
+FreeQ[a,x] && PositiveQ[a^2] && ComplexFreeQ[u] *)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTan[a*Coth[f[x]]], x] == -D[ArcTan[Tanh[f[x]]/a], x]*)
+
+
+SimplifyAntiderivative[ArcTan[a_.*Coth[u_]],x_Symbol] :=
+ -SimplifyAntiderivative[ArcTan[Tanh[u]/a],x] /;
+FreeQ[a,x] && ComplexFreeQ[u]
+
+
+(* ::Item:: *)
+(*Basis: ArcCoth[a Cot[z]]==I ArcCot[I a Cot[z]]*)
+
+
+SimplifyAntiderivative[ArcCoth[a_.*Cot[u_]],x_Symbol] :=
+ RectifyCotangent[u,I*a,I,x] /;
+FreeQ[a,x] && PositiveQ[a^2] && ComplexFreeQ[u]
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTanh[a*Cot[f[x]]], x] == I*D[ArcCot[I*a*Cot[f[x]]], x]*)
+
+
+SimplifyAntiderivative[ArcTanh[a_.*Cot[u_]],x_Symbol] :=
+ RectifyCotangent[u,I*a,I,x] /;
+FreeQ[a,x] && PositiveQ[a^2] && ComplexFreeQ[u]
+
+
+(* ::Item::Closed:: *)
+(*Basis: ArcCoth[a Coth[z]]==-I ArcCot[a Cot[I z]]*)
+
+
+(* ::Item:: *)
+(*Note: Although this makes the antiderivative continuous on the imaginary line, it makes it discontinous on the real line.*)
+
+
+(* SimplifyAntiderivative[ArcCoth[a_.*Coth[u_]],x_Symbol] :=
+ RectifyCotangent[I*u,a,-I,x] /;
+FreeQ[a,x] && PositiveQ[a^2] && ComplexFreeQ[u] *)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcCoth[Coth[f[x]]], x] == D[f[x], x]*)
+
+
+SimplifyAntiderivative[ArcCoth[Coth[u_]],x_Symbol] :=
+ SimplifyAntiderivative[u,x]
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTanh[a*Coth[f[x]]], x] == D[ArcTanh[Tanh[f[x]]/a], x]*)
+
+
+SimplifyAntiderivative[ArcTanh[a_.*Coth[u_]],x_Symbol] :=
+ SimplifyAntiderivative[ArcTanh[Tanh[u]/a],x] /;
+FreeQ[a,x] && ComplexFreeQ[u]
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTanh[Coth[f[x]]], x] == D[f[x], x]*)
+
+
+SimplifyAntiderivative[ArcTanh[Coth[u_]],x_Symbol] :=
+ SimplifyAntiderivative[u,x]
+
+
+(* ::Input:: *)
+(* *)
+
+
+SimplifyAntiderivative[ArcTan[c_.*(a_+b_.*Tan[u_])],x_Symbol] :=
+ RectifyTangent[u,a*c,b*c,1,x] /;
+FreeQ[{a,b,c},x] && PositiveQ[a^2*c^2] && PositiveQ[b^2*c^2] && ComplexFreeQ[u]
+
+
+(* ::Item:: *)
+(*Basis: ArcTanh[a+b Tan[z]]==-I ArcTan[I a+I b Tan[z]]*)
+
+
+SimplifyAntiderivative[ArcTanh[c_.*(a_+b_.*Tan[u_])],x_Symbol] :=
+ RectifyTangent[u,I*a*c,I*b*c,-I,x] /;
+FreeQ[{a,b,c},x] && PositiveQ[a^2*c^2] && PositiveQ[b^2*c^2] && ComplexFreeQ[u]
+
+
+(* ::Input:: *)
+(* *)
+
+
+SimplifyAntiderivative[ArcTan[c_.*(a_+b_.*Cot[u_])],x_Symbol] :=
+ RectifyCotangent[u,a*c,b*c,1,x] /;
+FreeQ[{a,b,c},x] && PositiveQ[a^2*c^2] && PositiveQ[b^2*c^2] && ComplexFreeQ[u]
+
+
+(* ::Item:: *)
+(*Basis: ArcTanh[a+b Cot[z]]==-I ArcTan[I a+I b Cot[z]]*)
+
+
+SimplifyAntiderivative[ArcTanh[c_.*(a_+b_.*Cot[u_])],x_Symbol] :=
+ RectifyCotangent[u,I*a*c,I*b*c,-I,x] /;
+FreeQ[{a,b,c},x] && PositiveQ[a^2*c^2] && PositiveQ[b^2*c^2] && ComplexFreeQ[u]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTan[a + b*Tan[F[x]] + c*Tan[F[x]]^2], x] == D[ArcTan[(c + (a - c - 1)*Cos[F[x]]^2 + b*Cos[F[x]]*Sin[F[x]])/(c + (a - c + 1)*Cos[F[x]]^2 + b*Cos[F[x]]*Sin[F[x]])], x] == D[ArcTan[(a + c - 1 + (a - c - 1)*Cos[2*F[x]] + b*Sin[2*F[x]])/(a + c + 1 + (a - c + 1)*Cos[2*F[x]] + b*Sin[2*F[x]])], x]*)
+
+
+SimplifyAntiderivative[ArcTan[a_.+b_.*Tan[u_]+c_.*Tan[u_]^2],x_Symbol] :=
+ If[EvenQ[Denominator[NumericFactor[Together[u]]]],
+ ArcTan[NormalizeTogether[(a+c-1+(a-c-1)*Cos[2*u]+b*Sin[2*u])/(a+c+1+(a-c+1)*Cos[2*u]+b*Sin[2*u])]],
+ ArcTan[NormalizeTogether[(c+(a-c-1)*Cos[u]^2+b*Cos[u]*Sin[u])/(c+(a-c+1)*Cos[u]^2+b*Cos[u]*Sin[u])]]] /;
+FreeQ[{a,b,c},x] && ComplexFreeQ[u]
+
+SimplifyAntiderivative[ArcTan[a_.+b_.*(d_.+e_.*Tan[u_])+c_.*(f_.+g_.*Tan[u_])^2],x_Symbol] :=
+ SimplifyAntiderivative[ArcTan[a+b*d+c*f^2+(b*e+2*c*f*g)*Tan[u]+c*g^2*Tan[u]^2],x] /;
+FreeQ[{a,b,c},x] && ComplexFreeQ[u]
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTan[a + c*Tan[F[x]]^2], x] == D[ArcTan[(c + (a - c - 1)*Cos[F[x]]^2)/(c + (a - c + 1)*Cos[F[x]]^2)], x] == D[ArcTan[(a + c - 1 + (a - c - 1)*Cos[2*F[x]])/(a + c + 1 + (a - c + 1)*Cos[2*F[x]])], x]*)
+
+
+SimplifyAntiderivative[ArcTan[a_.+c_.*Tan[u_]^2],x_Symbol] :=
+ If[EvenQ[Denominator[NumericFactor[Together[u]]]],
+ ArcTan[NormalizeTogether[(a+c-1+(a-c-1)*Cos[2*u])/(a+c+1+(a-c+1)*Cos[2*u])]],
+ ArcTan[NormalizeTogether[(c+(a-c-1)*Cos[u]^2)/(c+(a-c+1)*Cos[u]^2)]]] /;
+FreeQ[{a,c},x] && ComplexFreeQ[u]
+
+SimplifyAntiderivative[ArcTan[a_.+c_.*(f_.+g_.*Tan[u_])^2],x_Symbol] :=
+ SimplifyAntiderivative[ArcTan[a+c*f^2+(2*c*f*g)*Tan[u]+c*g^2*Tan[u]^2],x] /;
+FreeQ[{a,c},x] && ComplexFreeQ[u]
+
+
+(* ::Item:: *)
+(*Basis: D[c, x] == D[0, x]*)
+
+
+SimplifyAntiderivative[u_,x_Symbol] :=
+ If[FreeQ[u,x],
+ 0,
+ If[LogQ[u],
+ Log[RemoveContent[u[[1]],x]],
+ If[SumQ[u],
+ SimplifyAntiderivativeSum[Map[Function[SimplifyAntiderivative[#,x]],u],x],
+ u]]]
+
+
+(* ::Subsection::Closed:: *)
+(*SimplifyAntiderivativeSum*)
+
+
+Clear[SimplifyAntiderivativeSum];
+
+SimplifyAntiderivativeSum[v_.+A_.*Log[a_+b_.*Tan[u_]^n_.]+B_.*Log[Cos[u_]],x_Symbol] :=
+ SimplifyAntiderivativeSum[v,x] + A*Log[RemoveContent[a*Cos[u]^n+b*Sin[u]^n,x]] /;
+FreeQ[{a,b,A,B},x] && IntegerQ[n] && EqQ[n*A-B,0]
+
+
+SimplifyAntiderivativeSum[v_.+A_.*Log[a_+b_.*Cot[u_]^n_.]+B_.*Log[Sin[u_]],x_Symbol] :=
+ SimplifyAntiderivativeSum[v,x] + A*Log[RemoveContent[a*Sin[u]^n+b*Cos[u]^n,x]] /;
+FreeQ[{a,b,A,B},x] && IntegerQ[n] && EqQ[n*A-B,0]
+
+
+SimplifyAntiderivativeSum[v_.+A_.*Log[a_+b_.*Tan[u_]^n_.]+B_.*Log[c_+d_.*Tan[u_]^n_.],x_Symbol] :=
+ SimplifyAntiderivativeSum[v,x] + A*Log[RemoveContent[a*Cos[u]^n+b*Sin[u]^n,x]] + B*Log[RemoveContent[c*Cos[u]^n+d*Sin[u]^n,x]] /;
+FreeQ[{a,b,c,d,A,B},x] && IntegerQ[n] && EqQ[A+B,0]
+
+
+SimplifyAntiderivativeSum[v_.+A_.*Log[a_+b_.*Cot[u_]^n_.]+B_.*Log[c_+d_.*Cot[u_]^n_.],x_Symbol] :=
+ SimplifyAntiderivativeSum[v,x] + A*Log[RemoveContent[b*Cos[u]^n+a*Sin[u]^n,x]] + B*Log[RemoveContent[d*Cos[u]^n+c*Sin[u]^n,x]] /;
+FreeQ[{a,b,c,d,A,B},x] && IntegerQ[n] && EqQ[A+B,0]
+
+
+SimplifyAntiderivativeSum[v_.+A_.*Log[a_+b_.*Tan[u_]^n_.]+B_.*Log[c_+d_.*Tan[u_]^n_.]+C_.*Log[e_+f_.*Tan[u_]^n_.],x_Symbol] :=
+ SimplifyAntiderivativeSum[v,x] + A*Log[RemoveContent[a*Cos[u]^n+b*Sin[u]^n,x]] +
+ B*Log[RemoveContent[c*Cos[u]^n+d*Sin[u]^n,x]] + C*Log[RemoveContent[e*Cos[u]^n+f*Sin[u]^n,x]] /;
+FreeQ[{a,b,c,d,e,f,A,B,C},x] && IntegerQ[n] && EqQ[A+B+C,0]
+
+
+SimplifyAntiderivativeSum[v_.+A_.*Log[a_+b_.*Cot[u_]^n_.]+B_.*Log[c_+d_.*Cot[u_]^n_.]+C_.*Log[e_+f_.*Cot[u_]^n_.],x_Symbol] :=
+ SimplifyAntiderivativeSum[v,x] + A*Log[RemoveContent[b*Cos[u]^n+a*Sin[u]^n,x]] +
+ B*Log[RemoveContent[d*Cos[u]^n+c*Sin[u]^n,x]] + C*Log[RemoveContent[f*Cos[u]^n+e*Sin[u]^n,x]] /;
+FreeQ[{a,b,c,d,e,f,A,B,C},x] && IntegerQ[n] && EqQ[A+B+C,0]
+
+
+SimplifyAntiderivativeSum[u_,x_Symbol] := u
+
+
+(* ::Subsection::Closed:: *)
+(*RectifyTangent*)
+
+
+(* ::Item::Closed:: *)
+(*Basis: ArcTan[I a Tan[f[x]]]==I ArcTanh[a Tan[f[x]]]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTanh[(c/e)*Tan[f[x]]], x] == D[Log[e*Cos[f[x]] + c*Sin[f[x]]]/2 - Log[e*Cos[f[x]] - c*Sin[f[x]]]/2, x]*)
+
+
+(* ::Item:: *)
+(*Note: Note unlike the above, the log terms in the following two identities are real-valued when c, e and f[x] are real.*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTanh[(c/e)*Tan[f[x]]], x] == D[Log[c^2 + e^2 - (c^2 - e^2)*Cos[2*f[x]] + 2*c*e*Sin[2*f[x]]]/4 - Log[c^2 + e^2 - (c^2 - e^2)*Cos[2*f[x]] - 2*c*e*Sin[2*f[x]]]/4, x]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTanh[(c/e)*Tan[f[x]]], x] == D[Log[e^2 + 2*c*e*Cos[f[x]]*Sin[f[x]] + (c^2 - e^2)*Sin[f[x]]^2]/4 - Log[e^2 - 2*c*e*Cos[f[x]]*Sin[f[x]] + (c^2 - e^2)*Sin[f[x]]^2]/4, x]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTan[a*Tan[f[x]]], x] == D[f[x] - ArcTan[Sin[2*f[x]]/((1 + a)/(1 - a) + Cos[2*f[x]])], x]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTan[a*Tan[f[x]]], x] == D[f[x] + ArcTan[(Cos[f[x]]*Sin[f[x]])/(1/(a - 1) + Sin[f[x]]^2)], x] == D[f[x] - ArcTan[(Cos[f[x]]*Sin[f[x]])/(a/(1 - a) + Cos[f[x]]^2)], x]*)
+
+
+(* ::Item::Bold:: *)
+(*Note: If a>0 and f[x] is real, then 1/(1-a)-Sin[f[x]]^2 is nonzero and f[x]-ArcTan[(Cos[f[x]] Sin[f[x]])/(1/(1-a)-Sin[f[x]]^2)] is continuous, unlike ArcTan[a Tan[f[x]]].*)
+
+
+(* RectifyTangent[u,a,b,x] returns an expression whose derivative equals the derivative of b*ArcTan[a*Tan[u]] wrt x. *)
+RectifyTangent[u_,a_,b_,x_Symbol] :=
+ If[MatchQ[Together[a],d_.*Complex[0,c_]],
+ Module[{c=a/I,e},
+ If[NegativeQ[c],
+ RectifyTangent[u,-a,-b,x],
+ If[EqQ[c,1],
+ If[EvenQ[Denominator[NumericFactor[Together[u]]]],
+ I*b*ArcTanh[Sin[2*u]]/2,
+ I*b*ArcTanh[2*Cos[u]*Sin[u]]/2],
+ e=SmartDenominator[c];
+ c=c*e;
+(* If[EvenQ[Denominator[NumericFactor[Together[u]]]],
+ I*b*Log[RemoveContent[c^2+e^2-(c^2-e^2)*Cos[2*u]+2*c*e*Sin[2*u],x]]/4 -
+ I*b*Log[RemoveContent[c^2+e^2-(c^2-e^2)*Cos[2*u]-2*c*e*Sin[2*u],x]]/4,
+ I*b*Log[RemoveContent[e^2+2*c*e*Cos[u]*Sin[u]+(c^2-e^2)*Sin[u]^2,x]]/4 -
+ I*b*Log[RemoveContent[e^2-2*c*e*Cos[u]*Sin[u]+(c^2-e^2)*Sin[u]^2,x]]/4]]]], *)
+ I*b*Log[RemoveContent[e*Cos[u]+c*Sin[u],x]]/2 -
+ I*b*Log[RemoveContent[e*Cos[u]-c*Sin[u],x]]/2]]],
+ If[NegativeQ[a],
+ RectifyTangent[u,-a,-b,x],
+ If[EqQ[a,1],
+ b*SimplifyAntiderivative[u,x],
+ Module[{c,numr,denr},
+ If[EvenQ[Denominator[NumericFactor[Together[u]]]],
+ c=Simplify[(1+a)/(1-a)];
+ numr=SmartNumerator[c];
+ denr=SmartDenominator[c];
+ b*SimplifyAntiderivative[u,x] - b*ArcTan[NormalizeLeadTermSigns[denr*Sin[2*u]/(numr+denr*Cos[2*u])]],
+ If[PositiveQ[a-1],
+ c=Simplify[1/(a-1)];
+ numr=SmartNumerator[c];
+ denr=SmartDenominator[c];
+ b*SimplifyAntiderivative[u,x] + b*ArcTan[NormalizeLeadTermSigns[denr*Cos[u]*Sin[u]/(numr+denr*Sin[u]^2)]],
+ c=Simplify[a/(1-a)];
+ numr=SmartNumerator[c];
+ denr=SmartDenominator[c];
+ b*SimplifyAntiderivative[u,x] - b*ArcTan[NormalizeLeadTermSigns[denr*Cos[u]*Sin[u]/(numr+denr*Cos[u]^2)]]]]]]]]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item::Closed:: *)
+(*Basis: ArcTan[I a+I b Tan[f[x]]]==I ArcTanh[a+b Tan[f[x]]]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTanh[c/e + (d/e)*Tan[f[x]]], x] == D[Log[(c + e)^2 + d^2 + ((c + e)^2 - d^2)*Cos[2*f[x]] + 2*(c + e)*d*Sin[2*f[x]]]/4 - Log[(c - e)^2 + d^2 + ((c - e)^2 - d^2)*Cos[2*f[x]] + 2*(c - e)*d*Sin[2*f[x]]]/4, x]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTanh[c/e + (d/e)*Tan[f[x]]], x] == D[Log[(c + e)^2 + 2*(c + e)*d*Cos[f[x]]*Sin[f[x]] - ((c + e)^2 - d^2)*Sin[f[x]]^2]/4 - Log[(c - e)^2 + 2*(c - e)*d*Cos[f[x]]*Sin[f[x]] - ((c - e)^2 - d^2)*Sin[f[x]]^2]/4, x]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTan[a + b*Tan[f[x]]], x] == D[f[x] + ArcTan[(2*a*b*Cos[2*f[x]] - (1 + a^2 - b^2)*Sin[2*f[x]])/(a^2 + (1 + b)^2 + (1 + a^2 - b^2)*Cos[2*f[x]] + 2*a*b*Sin[2*f[x]])], x]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTan[a + b*Tan[f[x]]], x] == D[f[x] - ArcTan[(a*b - 2*a*b*Cos[f[x]]^2 + (1 + a^2 - b^2)*Cos[f[x]]*Sin[f[x]])/(b*(1 + b) + (1 + a^2 - b^2)*Cos[f[x]]^2 + 2*a*b*Cos[f[x]]*Sin[f[x]])], x]*)
+
+
+(* RectifyTangent[u,a,b,r,x] returns an expression whose derivative equals the derivative of r*ArcTan[a+b*Tan[u]] wrt x. *)
+RectifyTangent[u_,a_,b_,r_,x_Symbol] :=
+ If[MatchQ[Together[a],d_.*Complex[0,c_]] && MatchQ[Together[b],d_.*Complex[0,c_]],
+ Module[{c=a/I,d=b/I,e},
+ If[NegativeQ[d],
+ RectifyTangent[u,-a,-b,-r,x],
+ e=SmartDenominator[Together[c+d*x]];
+ c=c*e;
+ d=d*e;
+ If[EvenQ[Denominator[NumericFactor[Together[u]]]],
+ I*r*Log[RemoveContent[Simplify[(c+e)^2+d^2]+Simplify[(c+e)^2-d^2]*Cos[2*u]+Simplify[2*(c+e)*d]*Sin[2*u],x]]/4 -
+ I*r*Log[RemoveContent[Simplify[(c-e)^2+d^2]+Simplify[(c-e)^2-d^2]*Cos[2*u]+Simplify[2*(c-e)*d]*Sin[2*u],x]]/4,
+ I*r*Log[RemoveContent[Simplify[(c+e)^2]+Simplify[2*(c+e)*d]*Cos[u]*Sin[u]-Simplify[(c+e)^2-d^2]*Sin[u]^2,x]]/4 -
+ I*r*Log[RemoveContent[Simplify[(c-e)^2]+Simplify[2*(c-e)*d]*Cos[u]*Sin[u]-Simplify[(c-e)^2-d^2]*Sin[u]^2,x]]/4]]],
+ If[NegativeQ[b],
+ RectifyTangent[u,-a,-b,-r,x],
+ If[EvenQ[Denominator[NumericFactor[Together[u]]]],
+ r*SimplifyAntiderivative[u,x] +
+ r*ArcTan[Simplify[(2*a*b*Cos[2*u]-(1+a^2-b^2)*Sin[2*u])/(a^2+(1+b)^2+(1+a^2-b^2)*Cos[2*u]+2*a*b*Sin[2*u])]],
+ r*SimplifyAntiderivative[u,x] -
+ r*ArcTan[ActivateTrig[Simplify[(a*b-2*a*b*cos[u]^2+(1+a^2-b^2)*cos[u]*sin[u])/(b*(1+b)+(1+a^2-b^2)*cos[u]^2+2*a*b*cos[u]*sin[u])]]]]]]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item::Closed:: *)
+(*Basis: D[ArcTanh[a + b*Tanh[f[x]]], x] == D[f[x] - ArcTanh[(2*a*b*Cosh[2*f[x]] - (1 - a^2 - b^2)*Sinh[2*f[x]])/(a^2 - (1 + b)^2 - (1 - a^2 - b^2)*Cosh[2*f[x]] + 2*a*b*Sinh[2*f[x]])], x]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTanh[a + b*Tanh[f[x]]], x] == D[f[x] - ArcTanh[(a*b - 2*a*b*Cosh[f[x]]^2 + (1 - a^2 - b^2)*Cosh[f[x]]*Sinh[f[x]])/(b*(1 + b) + (1 - a^2 - b^2)*Cosh[f[x]]^2 - 2*a*b*Cosh[f[x]]*Sinh[f[x]])], x]*)
+
+
+(* SimplifyAntiderivative[ArcTanh[c_.*(a_+b_.*Tanh[u_])],x_Symbol] :=
+ If[EvenQ[Denominator[NumericFactor[Together[u]]]],
+ SimplifyAntiderivative[u,x] -
+ ArcTanh[NormalizeTogether[(2*a*b*c^2*Cosh[2*u]-(1-a^2*c^2-b^2*c^2)*Sinh[2*u])/(a^2*c^2-(1+b*c)^2-(1-a^2*c^2-b^2*c^2)*Cosh[2*u]+2*a*b*c^2*Sinh[2*u])]],
+ SimplifyAntiderivative[u,x] -
+ ArcTanh[NormalizeTogether[(a*b*c^2-2*a*b*c^2*Cosh[u]^2+(1-a^2*c^2-b^2*c^2)*Cosh[u]*Sinh[u])/(b*c*(1+b*c)+(1-a^2*c^2-b^2*c^2)*Cosh[u]^2-2*a*b*c^2*Cosh[u]*Sinh[u])]]] /;
+FreeQ[{a,b,c},x] *)
+
+
+(* ::Subsection::Closed:: *)
+(*RectifyCotangent*)
+
+
+(* ::Item::Closed:: *)
+(*Basis: ArcCot[I a Cot[f[x]]]==-I ArcCoth[a Cot[f[x]]]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcCoth[(c/e)*Cot[f[x]]], x] == D[Log[c*Cos[f[x]] + e*Sin[f[x]]]/2 - Log[c*Cos[f[x]] - e*Sin[f[x]]]/2, x]*)
+
+
+(* ::Item:: *)
+(*Note: Note unlike the above, the log terms in the following two identities are real-valued when c, e and f[x] are real.*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTanh[(c/e)*Cot[f[x]]], x] == D[Log[c^2 + e^2 + (c^2 - e^2)*Cos[2*f[x]] + 2*c*e*Sin[2*f[x]]]/4 - Log[c^2 + e^2 + (c^2 - e^2)*Cos[2*f[x]] - 2*c*e*Sin[2*f[x]]]/4, x]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTanh[(c/e)*Cot[f[x]]], x] == D[Log[e^2 + (c^2 - e^2)*Cos[f[x]]^2 + 2*c*e*Cos[f[x]]*Sin[f[x]]]/4 - Log[e^2 + (c^2 - e^2)*Cos[f[x]]^2 - 2*c*e*Cos[f[x]]*Sin[f[x]]]/4, x]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcCot[a*Cot[f[x]]], x] == D[f[x] + ArcTan[Sin[2*f[x]]/((1 + a)/(1 - a) - Cos[2*f[x]])], x]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcCot[a*Cot[f[x]]], x] == D[f[x] - ArcTan[(Cos[f[x]]*Sin[f[x]])/(1/(a - 1) + Cos[f[x]]^2)], x] == D[f[x] + ArcTan[(Cos[f[x]]*Sin[f[x]])/(a/(1 - a) + Sin[f[x]]^2)], x]*)
+
+
+(* RectifyCotangent[u,a,b,x] returns an expression whose derivative equals the derivative of b*ArcCot[a*Cot[u]] wrt x. *)
+RectifyCotangent[u_,a_,b_,x_Symbol] :=
+ If[MatchQ[Together[a],d_.*Complex[0,c_]],
+ Module[{c=a/I,e},
+ If[NegativeQ[c],
+ RectifyCotangent[u,-a,-b,x],
+ If[EqQ[c,1],
+ If[EvenQ[Denominator[NumericFactor[Together[u]]]],
+ -I*b*ArcTanh[Sin[2*u]]/2,
+ -I*b*ArcTanh[2*Cos[u]*Sin[u]]/2],
+ e=SmartDenominator[c];
+ c=c*e;
+(* If[EvenQ[Denominator[NumericFactor[Together[u]]]],
+ -I*b*Log[RemoveContent[c^2+e^2+(c^2-e^2)*Cos[2*u]+2*c*e*Sin[2*u],x]]/4 +
+ I*b*Log[RemoveContent[c^2+e^2+(c^2-e^2)*Cos[2*u]-2*c*e*Sin[2*u],x]]/4,
+ -I*b*Log[RemoveContent[e^2+(c^2-e^2)*Cos[u]^2+2*c*e*Cos[u]*Sin[u],x]]/4 +
+ I*b*Log[RemoveContent[e^2+(c^2-e^2)*Cos[u]^2-2*c*e*Cos[u]*Sin[u],x]]/4]]]], *)
+ -I*b*Log[RemoveContent[c*Cos[u]+e*Sin[u],x]]/2 +
+ I*b*Log[RemoveContent[c*Cos[u]-e*Sin[u],x]]/2]]],
+ If[NegativeQ[a],
+ RectifyCotangent[u,-a,-b,x],
+ If[EqQ[a,1],
+ b*SimplifyAntiderivative[u,x],
+ Module[{c,numr,denr},
+ If[EvenQ[Denominator[NumericFactor[Together[u]]]],
+ c=Simplify[(1+a)/(1-a)];
+ numr=SmartNumerator[c];
+ denr=SmartDenominator[c];
+ b*SimplifyAntiderivative[u,x] + b*ArcTan[NormalizeLeadTermSigns[denr*Sin[2*u]/(numr-denr*Cos[2*u])]],
+ If[PositiveQ[a-1],
+ c=Simplify[1/(a-1)];
+ numr=SmartNumerator[c];
+ denr=SmartDenominator[c];
+ b*SimplifyAntiderivative[u,x] - b*ArcTan[NormalizeLeadTermSigns[denr*Cos[u]*Sin[u]/(numr+denr*Cos[u]^2)]],
+ c=Simplify[a/(1-a)];
+ numr=SmartNumerator[c];
+ denr=SmartDenominator[c];
+ b*SimplifyAntiderivative[u,x] + b*ArcTan[NormalizeLeadTermSigns[denr*Cos[u]*Sin[u]/(numr+denr*Sin[u]^2)]]]]]]]]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item::Closed:: *)
+(*Basis: ArcTan[I a+I b Cot[f[x]]]==I ArcTanh[a+b Cot[f[x]]]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTanh[c/e + (d/e)*Cot[f[x]]], x] == D[Log[(c + e)^2 + d^2 - ((c + e)^2 - d^2)*Cos[2*f[x]] + 2*(c + e)*d*Sin[2*f[x]]]/4 - Log[(c - e)^2 + d^2 - ((c - e)^2 - d^2)*Cos[2*f[x]] + 2*(c - e)*d*Sin[2*f[x]]]/4, x]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTanh[c/e + (d/e)*Cot[f[x]]], x] == D[Log[(c + e)^2 - ((c + e)^2 - d^2)*Cos[f[x]]^2 + 2*(c + e)*d*Cos[f[x]]*Sin[f[x]]]/4 - Log[(c - e)^2 - ((c - e)^2 - d^2)*Cos[f[x]]^2 + 2*(c - e)*d*Cos[f[x]]*Sin[f[x]]]/4, x]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTan[a + b*Cot[f[x]]], x] == D[-f[x] - ArcTan[(2*a*b*Cos[2*f[x]] + (1 + a^2 - b^2)*Sin[2*f[x]])/(a^2 + (1 + b)^2 - (1 + a^2 - b^2)*Cos[2*f[x]] + 2*a*b*Sin[2*f[x]])], x]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTan[a + b*Cot[f[x]]], x] == D[-f[x] - ArcTan[(a*b - 2*a*b*Sin[f[x]]^2 + (1 + a^2 - b^2)*Cos[f[x]]*Sin[f[x]])/(b*(1 + b) + (1 + a^2 - b^2)*Sin[f[x]]^2 + 2*a*b*Cos[f[x]]*Sin[f[x]])], x]*)
+
+
+(* RectifyCotangent[u,a,b,r,x] returns an expression whose derivative equals the derivative of r*ArcTan[a+b*Cot[u]] wrt x. *)
+RectifyCotangent[u_,a_,b_,r_,x_Symbol] :=
+ If[MatchQ[Together[a],d_.*Complex[0,c_]] && MatchQ[Together[b],d_.*Complex[0,c_]],
+ Module[{c=a/I,d=b/I,e},
+ If[NegativeQ[d],
+ RectifyTangent[u,-a,-b,-r,x],
+ e=SmartDenominator[Together[c+d*x]];
+ c=c*e;
+ d=d*e;
+ If[EvenQ[Denominator[NumericFactor[Together[u]]]],
+ I*r*Log[RemoveContent[Simplify[(c+e)^2+d^2]-Simplify[(c+e)^2-d^2]*Cos[2*u]+Simplify[2*(c+e)*d]*Sin[2*u],x]]/4 -
+ I*r*Log[RemoveContent[Simplify[(c-e)^2+d^2]-Simplify[(c-e)^2-d^2]*Cos[2*u]+Simplify[2*(c-e)*d]*Sin[2*u],x]]/4,
+ I*r*Log[RemoveContent[Simplify[(c+e)^2]-Simplify[(c+e)^2-d^2]*Cos[u]^2+Simplify[2*(c+e)*d]*Cos[u]*Sin[u],x]]/4 -
+ I*r*Log[RemoveContent[Simplify[(c-e)^2]-Simplify[(c-e)^2-d^2]*Cos[u]^2+Simplify[2*(c-e)*d]*Cos[u]*Sin[u],x]]/4]]],
+ If[NegativeQ[b],
+ RectifyCotangent[u,-a,-b,-r,x],
+ If[EvenQ[Denominator[NumericFactor[Together[u]]]],
+ -r*SimplifyAntiderivative[u,x] -
+ r*ArcTan[Simplify[(2*a*b*Cos[2*u]+(1+a^2-b^2)*Sin[2*u])/(a^2+(1+b)^2-(1+a^2-b^2)*Cos[2*u]+2*a*b*Sin[2*u])]],
+ -r*SimplifyAntiderivative[u,x] -
+ r*ArcTan[ActivateTrig[Simplify[(a*b-2*a*b*sin[u]^2+(1+a^2-b^2)*cos[u]*sin[u])/(b*(1+b)+(1+a^2-b^2)*sin[u]^2+2*a*b*cos[u]*sin[u])]]]]]]
+
+
+(* ::Input:: *)
+(* *)
+
+
+(* ::Item::Closed:: *)
+(*Basis: D[ArcTanh[a + b*Coth[f[x]]], x] == D[f[x] - ArcTanh[(2*a*b*Cosh[2*f[x]] - (1 - a^2 - b^2)*Sinh[2*f[x]])/(-a^2 + (1 + b)^2 - (1 - a^2 - b^2)*Cosh[2*f[x]] + 2*a*b*Sinh[2*f[x]])], x]*)
+
+
+(* ::Item:: *)
+(*Basis: D[ArcTanh[a + b*Coth[f[x]]], x] == D[f[x] - ArcTanh[(a*b + 2*a*b*Sinh[f[x]]^2 - (1 - a^2 - b^2)*Cosh[f[x]]*Sinh[f[x]])/(b*(1 + b) - (1 - a^2 - b^2)*Sinh[f[x]]^2 + 2*a*b*Cosh[f[x]]*Sinh[f[x]])], x]*)
+
+
+(* SimplifyAntiderivative[ArcTanh[c_.*(a_+b_.*Coth[u_])],x_Symbol] :=
+ If[EvenQ[Denominator[NumericFactor[Together[u]]]],
+ SimplifyAntiderivative[u,x] -
+ ArcTanh[NormalizeTogether[(2*a*b*c^2*Cosh[2*u]-(1-a^2*c^2-b^2*c^2)*Sinh[2*u])/(-a^2*c^2+(1+b*c)^2-(1-a^2*c^2-b^2*c^2)*Cosh[2*u]+2*a*b*c^2*Sinh[2*u])]],
+ SimplifyAntiderivative[u,x] -
+ ArcTanh[NormalizeTogether[(a*b*c^2+2*a*b*c^2*Sinh[u]^2-(1-a^2*c^2-b^2*c^2)*Cosh[u]*Sinh[u])/(b*c*(1+b*c)-(1-a^2*c^2-b^2*c^2)*Sinh[u]^2+2*a*b*c^2*Cosh[u]*Sinh[u])]]] /;
+FreeQ[{a,b,c},x] *)
+
+
+SmartNumerator[u_^n_] := SmartDenominator[u^(-n)] /; RationalQ[n] && n<0
+
+SmartNumerator[u_*v_] := SmartNumerator[u]*SmartNumerator[v]
+
+SmartNumerator[u_] := Numerator[u]
+
+
+SmartDenominator[u_^n_] := SmartNumerator[u^(-n)] /; RationalQ[n] && n<0
+
+SmartDenominator[u_*v_] := SmartDenominator[u]*SmartDenominator[v]
+
+SmartDenominator[u_] := Denominator[u]
+
+
+(* ::Subsection::Closed:: *)
+(*SubstFor*)
+
+
+(* u is a function of v. SubstFor[w,v,u,x] returns w times u with v replaced by x. *)
+SubstFor[w_,v_,u_,x_] :=
+ SimplifyIntegrand[w*SubstFor[v,u,x],x]
+
+
+(* u is a function of v. SubstFor[v,u,x] returns u with v replaced by x. *)
+SubstFor[v_,u_,x_] :=
+ If[AtomQ[v],
+ Subst[u,v,x],
+ If[Not[InertTrigFreeQ[u]],
+ SubstFor[v,ActivateTrig[u],x],
+ If[NeQ[FreeFactors[v,x],1],
+ SubstFor[NonfreeFactors[v,x],u,x/FreeFactors[v,x]],
+
+ If[SinQ[v],
+ SubstForTrig[u,x,Sqrt[1-x^2],v[[1]],x],
+ If[CosQ[v],
+ SubstForTrig[u,Sqrt[1-x^2],x,v[[1]],x],
+ If[TanQ[v],
+ SubstForTrig[u,x/Sqrt[1+x^2],1/Sqrt[1+x^2],v[[1]],x],
+ If[CotQ[v],
+ SubstForTrig[u,1/Sqrt[1+x^2],x/Sqrt[1+x^2],v[[1]],x],
+ If[SecQ[v],
+ SubstForTrig[u,1/Sqrt[1-x^2],1/x,v[[1]],x],
+ If[CscQ[v],
+ SubstForTrig[u,1/x,1/Sqrt[1-x^2],v[[1]],x],
+
+ If[SinhQ[v],
+ SubstForHyperbolic[u,x,Sqrt[1+x^2],v[[1]],x],
+ If[CoshQ[v],
+ SubstForHyperbolic[u,Sqrt[-1+x^2],x,v[[1]],x],
+ If[TanhQ[v],
+ SubstForHyperbolic[u,x/Sqrt[1-x^2],1/Sqrt[1-x^2],v[[1]],x],
+ If[CothQ[v],
+ SubstForHyperbolic[u,1/Sqrt[-1+x^2],x/Sqrt[-1+x^2],v[[1]],x],
+ If[SechQ[v],
+ SubstForHyperbolic[u,1/Sqrt[-1+x^2],1/x,v[[1]],x],
+ If[CschQ[v],
+ SubstForHyperbolic[u,1/x,1/Sqrt[1+x^2],v[[1]],x],
+
+ SubstForAux[u,v,x]]]]]]]]]]]]]]]]
+
+
+(* u is a function of v. SubstForAux[u,v,x] returns u with v replaced by x. *)
+SubstForAux[u_,v_,x_] :=
+ If[u===v,
+ x,
+ If[AtomQ[u],
+ If[PowerQ[v] && FreeQ[v[[2]],x] && EqQ[u,v[[1]]],
+ x^Simplify[1/v[[2]]],
+ u],
+ If[PowerQ[u] && FreeQ[u[[2]],x],
+ If[EqQ[u[[1]],v],
+ x^u[[2]],
+ If[PowerQ[v] && FreeQ[v[[2]],x] && EqQ[u[[1]],v[[1]]],
+ x^Simplify[u[[2]]/v[[2]]],
+ SubstForAux[u[[1]],v,x]^u[[2]]]],
+ If[ProductQ[u] && NeQ[FreeFactors[u,x],1],
+ FreeFactors[u,x]*SubstForAux[NonfreeFactors[u,x],v,x],
+ If[ProductQ[u] && ProductQ[v],
+ SubstForAux[First[u],First[v],x],
+ Map[Function[SubstForAux[#,v,x]],u]]]]]]
+
+
+(* u (v) is an expression of the form f (Sin[v],Cos[v],Tan[v],Cot[v],Sec[v],Csc[v]). *)
+(* SubstForTrig[u,sin,cos,v,x] returns the expression f (sin,cos,sin/cos,cos/sin,1/cos,1/sin). *)
+SubstForTrig[u_,sin_,cos_,v_,x_] :=
+ If[AtomQ[u],
+ u,
+ If[TrigQ[u] && IntegerQuotientQ[u[[1]],v],
+ If[u[[1]]===v || EqQ[u[[1]],v],
+ If[SinQ[u],
+ sin,
+ If[CosQ[u],
+ cos,
+ If[TanQ[u],
+ sin/cos,
+ If[CotQ[u],
+ cos/sin,
+ If[SecQ[u],
+ 1/cos,
+ 1/sin]]]]],
+ Map[Function[SubstForTrig[#,sin,cos,v,x]],
+ ReplaceAll[TrigExpand[Head[u][Simplify[u[[1]]/v]*x]],x->v]]],
+ If[ProductQ[u] && CosQ[u[[1]]] && SinQ[u[[2]]] && EqQ[u[[1,1]],v/2] && EqQ[u[[2,1]],v/2],
+ sin/2*SubstForTrig[Drop[u,2],sin,cos,v,x],
+ Map[Function[SubstForTrig[#,sin,cos,v,x]],u]]]]
+
+
+(* u (v) is an expression of the form f (Sinh[v],Cosh[v],Tanh[v],Coth[v],Sech[v],Csch[v]). *)
+(* SubstForHyperbolic[u,sinh,cosh,v,x] returns the expression
+ f (sinh,cosh,sinh/cosh,cosh/sinh,1/cosh,1/sinh). *)
+SubstForHyperbolic[u_,sinh_,cosh_,v_,x_] :=
+ If[AtomQ[u],
+ u,
+ If[HyperbolicQ[u] && IntegerQuotientQ[u[[1]],v],
+ If[u[[1]]===v || EqQ[u[[1]],v],
+ If[SinhQ[u],
+ sinh,
+ If[CoshQ[u],
+ cosh,
+ If[TanhQ[u],
+ sinh/cosh,
+ If[CothQ[u],
+ cosh/sinh,
+ If[SechQ[u],
+ 1/cosh,
+ 1/sinh]]]]],
+ Map[Function[SubstForHyperbolic[#,sinh,cosh,v,x]],
+ ReplaceAll[TrigExpand[Head[u][Simplify[u[[1]]/v]*x]],x->v]]],
+ If[ProductQ[u] && CoshQ[u[[1]]] && SinhQ[u[[2]]] && EqQ[u[[1,1]],v/2] && EqQ[u[[2,1]],v/2],
+ sinh/2*SubstForHyperbolic[Drop[u,2],sinh,cosh,v,x],
+ Map[Function[SubstForHyperbolic[#,sinh,cosh,v,x]],u]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*SubstForFractionalPowerOfLinear*)
+
+
+(* If u has a subexpression of the form (a+b*x)^(m/n) where m and n>1 are integers,
+ SubstForFractionalPowerOfLinear[u,x] returns the list {v,n,a+b*x,1/b} where v is u
+ with subexpressions of the form (a+b*x)^(m/n) replaced by x^m and x replaced
+ by -a/b+x^n/b, and all times x^(n-1); else it returns False. *)
+SubstForFractionalPowerOfLinear[u_,x_Symbol] :=
+ With[{lst=FractionalPowerOfLinear[u,1,False,x]},
+ If[AtomQ[lst] || FalseQ[lst[[2]]],
+ False,
+ With[{n=lst[[1]], a=Coefficient[lst[[2]],x,0], b=Coefficient[lst[[2]],x,1]},
+ With[{tmp=Simplify[x^(n-1)*SubstForFractionalPower[u,lst[[2]],n,-a/b+x^n/b,x]]},
+ {NonfreeFactors[tmp,x],n,lst[[2]],FreeFactors[tmp,x]/b}]]]]
+
+
+(* If u has a subexpression of the form (a+b*x)^(m/n),
+ FractionalPowerOfLinear[u,1,False,x] returns {n,a+b*x}; else it returns False. *)
+FractionalPowerOfLinear[u_,n_,v_,x_] :=
+ If[AtomQ[u] || FreeQ[u,x],
+ {n,v},
+ If[CalculusQ[u],
+ False,
+ If[FractionalPowerQ[u] && LinearQ[u[[1]],x] && (FalseQ[v] || EqQ[u[[1]],v]),
+ {LCM[Denominator[u[[2]]],n],u[[1]]},
+ Catch[Module[{lst={n,v}},
+ Scan[Function[If[AtomQ[lst=FractionalPowerOfLinear[#,lst[[1]],lst[[2]],x]],Throw[False]]],u];
+ lst]]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*InverseFunctionOfLinear*)
+
+
+(* If u has a subexpression of the form g[a+b*x] where g is an inverse function,
+ InverseFunctionOfLinear[u,x] returns g[a+b*x]; else it returns False. *)
+InverseFunctionOfLinear[u_,x_Symbol] :=
+ If[AtomQ[u] || CalculusQ[u] || FreeQ[u,x],
+ False,
+ If[InverseFunctionQ[u] && LinearQ[u[[1]],x],
+ u,
+ Module[{tmp},
+ Catch[
+ Scan[Function[If[Not[AtomQ[tmp=InverseFunctionOfLinear[#,x]]],Throw[tmp]]],u];
+ False]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*TryPureTanSubst*)
+
+
+TryPureTanSubst[u_,x_Symbol] :=
+(* Not[MatchQ[u,Log[v_]]] &&
+ Not[MatchQ[u,f_[v_]^2 /; LinearQ[v,x]]] &&
+ Not[MatchQ[u,ArcTan[a_.*Tan[v_]] /; FreeQ[a,x]]] &&
+ Not[MatchQ[u,ArcTan[a_.*Cot[v_]] /; FreeQ[a,x]]] &&
+ Not[MatchQ[u,ArcCot[a_.*Tan[v_]] /; FreeQ[a,x]]] &&
+ Not[MatchQ[u,ArcCot[a_.*Cot[v_]] /; FreeQ[a,x]]] &&
+ u===ExpandIntegrand[u,x] *)
+ Not[MatchQ[u,F_[c_.*(a_.+b_.*G_[v_])] /; FreeQ[{a,b,c},x] && MemberQ[{ArcTan,ArcCot,ArcTanh,ArcCoth},F] && MemberQ[{Tan,Cot,Tanh,Coth},G] && LinearQ[v,x]]]
+
+
+(* ::Subsection::Closed:: *)
+(*TryPureTanhSubst*)
+
+
+TryTanhSubst[u_,x_Symbol] :=
+ FalseQ[FunctionOfLinear[u,x]] &&
+ Not[MatchQ[u,r_.*(s_+t_)^n_. /; IntegerQ[n] && n>0]] &&
+(*Not[MatchQ[u,Log[f_[x]^2] /; SinhCoshQ[f]]] && *)
+ Not[MatchQ[u,Log[v_]]] &&
+ Not[MatchQ[u,1/(a_+b_.*f_[x]^n_) /; SinhCoshQ[f] && IntegerQ[n] && n>2]] &&
+ Not[MatchQ[u,f_[m_.*x]*g_[n_.*x] /; IntegersQ[m,n] && SinhCoshQ[f] && SinhCoshQ[g]]] &&
+ Not[MatchQ[u,r_.*(a_.*s_^m_)^p_ /; FreeQ[{a,m,p},x] && Not[m===2 && (s===Sech[x] || s===Csch[x])]]] &&
+ u===ExpandIntegrand[u,x]
+
+
+TryPureTanhSubst[u_,x_Symbol] :=
+ Not[MatchQ[u,Log[v_]]] &&
+ Not[MatchQ[u,ArcTanh[a_.*Tanh[v_]] /; FreeQ[a,x]]] &&
+ Not[MatchQ[u,ArcTanh[a_.*Coth[v_]] /; FreeQ[a,x]]] &&
+ Not[MatchQ[u,ArcCoth[a_.*Tanh[v_]] /; FreeQ[a,x]]] &&
+ Not[MatchQ[u,ArcCoth[a_.*Coth[v_]] /; FreeQ[a,x]]] &&
+ u===ExpandIntegrand[u,x]
+
+
+(* ::Section::Closed:: *)
+(*Inert trig functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*InertTrigQ*)
+
+
+InertTrigQ[f_] := MemberQ[{sin,cos,tan,cot,sec,csc},f]
+
+InertTrigQ[f_,g_] :=
+ If[f===g,
+ InertTrigQ[f],
+ InertReciprocalQ[f,g] || InertReciprocalQ[g,f]]
+
+InertTrigQ[f_,g_,h_] := InertTrigQ[f,g] && InertTrigQ[g,h]
+
+
+InertReciprocalQ[f_,g_] := f===sin && g===csc || f===cos && g===sec || f===tan && g===cot
+
+
+InertTrigFreeQ[u_] := FreeQ[u,sin] && FreeQ[u,cos] && FreeQ[u,tan] && FreeQ[u,cot] && FreeQ[u,sec] && FreeQ[u,csc]
+
+
+(* ::Subsection::Closed:: *)
+(*ActivateTrig[u]*)
+
+
+ActivateTrig[u_] :=
+ ReplaceAll[u,{sin->Sin,cos->Cos,tan->Tan,cot->Cot,sec->Sec,csc->Csc}]
+
+
+(* ::Subsection::Closed:: *)
+(*DeactivateTrig[u,x]*)
+
+
+(* u is a function of trig functions of a linear function of x. *)
+(* DeactivateTrig[u,x] returns u with the trig functions replaced with inert trig functions. *)
+
+
+DeactivateTrig[(c_.+d_.*x_)^m_.*(a_.+b_.*trig_[e_.+f_.*x_])^n_.,x_] :=
+ (c+d*x)^m*(a+b*DeactivateTrig[trig[e+f*x],x])^n /;
+FreeQ[{a,b,c,d,e,f,m,n},x] && (TrigQ[trig] || HyperbolicQ[trig])
+
+
+DeactivateTrig[u_,x_] :=
+ UnifyInertTrigFunction[FixInertTrigFunction[DeactivateTrigAux[u,x],x],x]
+
+
+DeactivateTrigAux[u_,x_] :=
+ If[AtomQ[u],
+ u,
+ If[TrigQ[u] && LinearQ[u[[1]],x],
+ With[{v=ExpandToSum[u[[1]],x]},
+ Switch[Head[u],
+ Sin, ReduceInertTrig[sin,v],
+ Cos, ReduceInertTrig[cos,v],
+ Tan, ReduceInertTrig[tan,v],
+ Cot, ReduceInertTrig[cot,v],
+ Sec, ReduceInertTrig[sec,v],
+ Csc, ReduceInertTrig[csc,v]]],
+ If[HyperbolicQ[u] && LinearQ[u[[1]],x],
+ With[{v=ExpandToSum[I*u[[1]],x]},
+ Switch[Head[u],
+ Sinh, -I*ReduceInertTrig[sin,v],
+ Cosh, ReduceInertTrig[cos,v],
+ Tanh, -I*ReduceInertTrig[tan,v],
+ Coth, I*ReduceInertTrig[cot,v],
+ Sech, ReduceInertTrig[sec,v],
+ Csch, I*ReduceInertTrig[csc,v]]],
+ Map[Function[DeactivateTrigAux[#,x]],u]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*FixInertTrigFunction[u,x]*)
+
+
+Clear[FixInertTrigFunction]
+
+FixInertTrigFunction[a_*u_,x_] :=
+ a*FixInertTrigFunction[u,x] /;
+FreeQ[a,x]
+
+FixInertTrigFunction[u_.*(a_*(b_+v_))^n_,x_] :=
+ FixInertTrigFunction[u*(a*b+a*v)^n,x] /;
+FreeQ[{a,b,n},x] && Not[FreeQ[v,x]]
+
+
+FixInertTrigFunction[csc[v_]^m_.*(c_.*sin[w_])^n_.,x_] :=
+ sin[v]^(-m)*(c*sin[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[sec[v_]^m_.*(c_.*cos[w_])^n_.,x_] :=
+ cos[v]^(-m)*(c*cos[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[cot[v_]^m_.*(c_.*tan[w_])^n_.,x_] :=
+ tan[v]^(-m)*(c*tan[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[tan[v_]^m_.*(c_.*cot[w_])^n_.,x_] :=
+ cot[v]^(-m)*(c*cot[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[cos[v_]^m_.*(c_.*sec[w_])^n_.,x_] :=
+ sec[v]^(-m)*(c*sec[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[sin[v_]^m_.*(c_.*csc[w_])^n_.,x_] :=
+ csc[v]^(-m)*(c*csc[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+
+FixInertTrigFunction[sec[v_]^m_.*(c_.*sin[w_])^n_.,x_] :=
+ cos[v]^(-m)*(c*sin[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[csc[v_]^m_.*(c_.*cos[w_])^n_.,x_] :=
+ sin[v]^(-m)*(c*cos[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[cos[v_]^m_.*(c_.*tan[w_])^n_.,x_] :=
+ sec[v]^(-m)*(c*tan[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[sin[v_]^m_.*(c_.*cot[w_])^n_.,x_] :=
+ csc[v]^(-m)*(c*cot[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[sin[v_]^m_.*(c_.*sec[w_])^n_.,x_] :=
+ csc[v]^(-m)*(c*sec[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[cos[v_]^m_.*(c_.*csc[w_])^n_.,x_] :=
+ sec[v]^(-m)*(c*csc[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+
+FixInertTrigFunction[cot[v_]^m_.*(c_.*sin[w_])^n_.,x_] :=
+ tan[v]^(-m)*(c*sin[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[tan[v_]^m_.*(c_.*cos[w_])^n_.,x_] :=
+ cot[v]^(-m)*(c*cos[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[csc[v_]^m_.*(c_.*tan[w_])^n_.,x_] :=
+ sin[v]^(-m)*(c*tan[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[sec[v_]^m_.*(c_.*cot[w_])^n_.,x_] :=
+ cos[v]^(-m)*(c*cot[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[cot[v_]^m_.*(c_.*sec[w_])^n_.,x_] :=
+ tan[v]^(-m)*(c*sec[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[tan[v_]^m_.*(c_.*csc[w_])^n_.,x_] :=
+ cot[v]^(-m)*(c*csc[w])^n /;
+FreeQ[{c,n},x] && IntegerQ[m]
+
+
+FixInertTrigFunction[sec[v_]^m_.*sec[w_]^n_.,x_] :=
+ cos[v]^(-m)*cos[w]^(-n) /;
+IntegersQ[m,n]
+
+FixInertTrigFunction[csc[v_]^m_.*csc[w_]^n_.,x_] :=
+ sin[v]^(-m)*sin[w]^(-n) /;
+IntegersQ[m,n]
+
+
+FixInertTrigFunction[u_*tan[v_]^m_.*(a_+b_.*sin[w_])^n_.,x_] :=
+ sin[v]^m/cos[v]^m*FixInertTrigFunction[u*(a+b*sin[w])^n,x] /;
+FreeQ[{a,b,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[u_*cot[v_]^m_.*(a_+b_.*sin[w_])^n_.,x_] :=
+ cos[v]^m/sin[v]^m*FixInertTrigFunction[u*(a+b*sin[w])^n,x] /;
+FreeQ[{a,b,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[u_*tan[v_]^m_.*(a_+b_.*cos[w_])^n_.,x_] :=
+ sin[v]^m/cos[v]^m*FixInertTrigFunction[u*(a+b*cos[w])^n,x] /;
+FreeQ[{a,b,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[u_*cot[v_]^m_.*(a_+b_.*cos[w_])^n_.,x_] :=
+ cos[v]^m/sin[v]^m*FixInertTrigFunction[u*(a+b*cos[w])^n,x] /;
+FreeQ[{a,b,n},x] && IntegerQ[m]
+
+
+FixInertTrigFunction[cot[v_]^m_.*(a_.+b_.*(c_.*sin[w_])^p_.)^n_.,x_] :=
+ tan[v]^(-m)*(a+b*(c*sin[w])^p)^n /;
+FreeQ[{a,b,c,n,p},x] && IntegerQ[m]
+
+FixInertTrigFunction[tan[v_]^m_.*(a_.+b_.*(c_.*cos[w_])^p_.)^n_.,x_] :=
+ cot[v]^(-m)*(a+b*(c*cos[w])^p)^n /;
+FreeQ[{a,b,c,n,p},x] && IntegerQ[m]
+
+
+FixInertTrigFunction[u_.*(c_.*sin[v_]^n_.)^p_.*w_,x_] :=
+ (c*sin[v]^n)^p*FixInertTrigFunction[u*w,x] /;
+FreeQ[{c,p},x] && PowerOfInertTrigSumQ[w,sin,x]
+
+FixInertTrigFunction[u_.*(c_.*cos[v_]^n_.)^p_.*w_,x_] :=
+ (c*cos[v]^n)^p*FixInertTrigFunction[u*w,x] /;
+FreeQ[{c,p},x] && PowerOfInertTrigSumQ[w,cos,x]
+
+FixInertTrigFunction[u_.*(c_.*tan[v_]^n_.)^p_.*w_,x_] :=
+ (c*tan[v]^n)^p*FixInertTrigFunction[u*w,x] /;
+FreeQ[{c,p},x] && PowerOfInertTrigSumQ[w,tan,x]
+
+FixInertTrigFunction[u_.*(c_.*cot[v_]^n_.)^p_.*w_,x_] :=
+ (c*cot[v]^n)^p*FixInertTrigFunction[u*w,x] /;
+FreeQ[{c,p},x] && PowerOfInertTrigSumQ[w,cot,x]
+
+FixInertTrigFunction[u_.*(c_.*sec[v_]^n_.)^p_.*w_,x_] :=
+ (c*sec[v]^n)^p*FixInertTrigFunction[u*w,x] /;
+FreeQ[{c,p},x] && PowerOfInertTrigSumQ[w,sec,x]
+
+FixInertTrigFunction[u_.*(c_.*csc[v_]^n_.)^p_.*w_,x_] :=
+ (c*csc[v]^n)^p*FixInertTrigFunction[u*w,x] /;
+FreeQ[{c,p},x] && PowerOfInertTrigSumQ[w,csc,x]
+
+
+FixInertTrigFunction[u_.*sec[v_]^n_.*w_,x_] :=
+ cos[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,cos,x] && IntegerQ[n]
+
+FixInertTrigFunction[u_.*csc[v_]^n_.*w_,x_] :=
+ sin[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,sin,x] && IntegerQ[n]
+
+FixInertTrigFunction[u_.*sec[v_]^n_.*w_,x_] :=
+ cos[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,sin,x] && IntegerQ[n]
+
+FixInertTrigFunction[u_.*csc[v_]^n_.*w_,x_] :=
+ sin[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,cos,x] && IntegerQ[n]
+
+
+FixInertTrigFunction[u_.*cot[v_]^n_.*w_,x_] :=
+ tan[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,tan,x] && IntegerQ[n]
+
+FixInertTrigFunction[u_.*cos[v_]^n_.*w_,x_] :=
+ sec[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,tan,x] && IntegerQ[n]
+
+FixInertTrigFunction[u_.*cos[v_]^n_*w_,x_] :=
+ sec[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,tan,x] && IntegerQ[n]
+
+FixInertTrigFunction[u_.*csc[v_]^n_.*w_,x_] :=
+ sin[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,tan,x] && IntegerQ[n]
+
+
+FixInertTrigFunction[u_.*tan[v_]^n_.*w_,x_] :=
+ cot[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,cot,x] && IntegerQ[n]
+
+FixInertTrigFunction[u_.*sin[v_]^n_.*w_,x_] :=
+ csc[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,cot,x] && IntegerQ[n]
+
+FixInertTrigFunction[u_.*sin[v_]^n_.*w_,x_] :=
+ csc[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,cot,x] && IntegerQ[n]
+
+FixInertTrigFunction[u_.*sec[v_]^n_.*w_,x_] :=
+ cos[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,cot,x] && IntegerQ[n]
+
+
+FixInertTrigFunction[u_.*cos[v_]^n_.*w_,x_] :=
+ sec[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,sec,x] && IntegerQ[n]
+
+FixInertTrigFunction[u_.*cot[v_]^n_.*w_,x_] :=
+ tan[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,sec,x] && IntegerQ[n]
+
+FixInertTrigFunction[u_.*csc[v_]^n_.*w_,x_] :=
+ sin[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,sec,x] && IntegerQ[n]
+
+
+FixInertTrigFunction[u_.*sin[v_]^n_.*w_,x_] :=
+ csc[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,csc,x] && IntegerQ[n]
+
+FixInertTrigFunction[u_.*tan[v_]^n_.*w_,x_] :=
+ cot[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,csc,x] && IntegerQ[n]
+
+FixInertTrigFunction[u_.*sec[v_]^n_.*w_,x_] :=
+ cos[v]^(-n)*FixInertTrigFunction[u*w,x] /;
+PowerOfInertTrigSumQ[w,csc,x] && IntegerQ[n]
+
+
+FixInertTrigFunction[u_.*tan[v_]^m_.*(a_.*sin[v_]+b_.*cos[v_])^n_.,x_] :=
+ sin[v]^m*cos[v]^(-m)*FixInertTrigFunction[u*(a*sin[v]+b*cos[v])^n,x] /;
+FreeQ[{a,b,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[u_.*cot[v_]^m_.*(a_.*sin[v_]+b_.*cos[v_])^n_.,x_] :=
+ cos[v]^m*sin[v]^(-m)*FixInertTrigFunction[u*(a*sin[v]+b*cos[v])^n,x] /;
+FreeQ[{a,b,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[u_.*sec[v_]^m_.*(a_.*sin[v_]+b_.*cos[v_])^n_.,x_] :=
+ cos[v]^(-m)*FixInertTrigFunction[u*(a*sin[v]+b*cos[v])^n,x] /;
+FreeQ[{a,b,n},x] && IntegerQ[m]
+
+FixInertTrigFunction[u_.*csc[v_]^m_.*(a_.*sin[v_]+b_.*cos[v_])^n_.,x_] :=
+ sin[v]^(-m)*FixInertTrigFunction[u*(a*sin[v]+b*cos[v])^n,x] /;
+FreeQ[{a,b,n},x] && IntegerQ[m]
+
+
+FixInertTrigFunction[f_[v_]^m_.*(A_.+B_.*g_[v_]+C_.*g_[v_]^2),x_] :=
+ g[v]^(-m)*(A+B*g[v]+C*g[v]^2) /;
+FreeQ[{A,B,C},x] && IntegerQ[m] && (InertReciprocalQ[f,g] || InertReciprocalQ[g,f])
+
+FixInertTrigFunction[f_[v_]^m_.*(A_.+C_.*g_[v_]^2),x_] :=
+ g[v]^(-m)*(A+C*g[v]^2) /;
+FreeQ[{A,C},x] && IntegerQ[m] && (InertReciprocalQ[f,g] || InertReciprocalQ[g,f])
+
+
+FixInertTrigFunction[f_[v_]^m_.*(A_.+B_.*g_[v_]+C_.*g_[v_]^2)*(a_.+b_.*g_[v_])^n_.,x_] :=
+ g[v]^(-m)*(A+B*g[v]+C*g[v]^2)*(a+b*g[v])^n /;
+FreeQ[{a,b,A,B,C,n},x] && IntegerQ[m] && (InertReciprocalQ[f,g] || InertReciprocalQ[g,f])
+
+FixInertTrigFunction[f_[v_]^m_.*(A_.+C_.*g_[v_]^2)*(a_.+b_.*g_[v_])^n_.,x_] :=
+ g[v]^(-m)*(A+C*g[v]^2)*(a+b*g[v])^n /;
+FreeQ[{a,b,A,C,n},x] && IntegerQ[m] && (InertReciprocalQ[f,g] || InertReciprocalQ[g,f])
+
+
+FixInertTrigFunction[u_,x_] := u
+
+
+PowerOfInertTrigSumQ[u_,func_,x_] :=
+ MatchQ[u, (a_.+b_.*(c_.*func[w_])^n_.)^p_. /; FreeQ[{a,b,c,n,p},x] && Not[EqQ[a,0] && (IntegerQ[p] || EqQ[n,1])]] ||
+ MatchQ[u, (a_.+b_.*(d_.*func[w_])^p_.+c_.*(d_.*func[w_])^q_.)^n_. /; FreeQ[{a,b,c,d,n,p,q},x]]
+
+
+(* ::Subsection::Closed:: *)
+(*ReduceInertTrig[func,a,b,x]*)
+
+
+ReduceInertTrig[func_,m_.*(n_.*Pi+u_.)+v_.] :=
+ ReduceInertTrig[func,m*n,m*u+v] /;
+RationalQ[m,n]
+
+ReduceInertTrig[func_,m_.*Complex[0,mz_]*(n_.*Complex[0,nz_]*Pi+u_.)+v_.] :=
+ ReduceInertTrig[func,-m*mz*n*nz,m*mz*I*u+v] /;
+RationalQ[m,mz,n,nz]
+
+ReduceInertTrig[func_,u_] :=
+ func[u]
+
+
+(* func is an inert function and m is rational *)
+(* ReduceInertTrig[func,m_,u_] returns func[m*Pi+u] with m reduced 0<=m<1/2. *)
+ReduceInertTrig[func_,m_,u_] :=
+ If[m<0,
+ If[m>=-1/4,
+ func[m*Pi+u],
+ Switch[func,
+ sin, -ReduceInertTrig[sin,-m,-u],
+ cos, ReduceInertTrig[cos,-m,-u],
+ tan, -ReduceInertTrig[tan,-m,-u],
+ cot, -ReduceInertTrig[cot,-m,-u],
+ sec, ReduceInertTrig[sec,-m,-u],
+ csc, -ReduceInertTrig[csc,-m,-u]]],
+ If[m>=2,
+ ReduceInertTrig[func,Mod[m,2],u],
+ If[m>=1,
+ Switch[func,
+ sin, -ReduceInertTrig[sin,m-1,u],
+ cos, -ReduceInertTrig[cos,m-1,u],
+ tan, ReduceInertTrig[tan,m-1,u],
+ cot, ReduceInertTrig[cot,m-1,u],
+ sec, -ReduceInertTrig[sec,m-1,u],
+ csc, -ReduceInertTrig[csc,m-1,u]],
+ If[m>=1/2,
+ Switch[func,
+ sin, ReduceInertTrig[cos,m-1/2,u],
+ cos, -ReduceInertTrig[sin,m-1/2,u],
+ tan, -ReduceInertTrig[cot,m-1/2,u],
+ cot, -ReduceInertTrig[tan,m-1/2,u],
+ sec, -ReduceInertTrig[csc,m-1/2,u],
+ csc, ReduceInertTrig[sec,m-1/2,u]],
+ func[m*Pi+u]]]]] /;
+RationalQ[m]
+
+
+(* ::Subsection::Closed:: *)
+(*UnifyInertTrigFunction[u,x]*)
+
+
+Clear[UnifyInertTrigFunction]
+
+
+UnifyInertTrigFunction[a_*u_,x_] :=
+ a*UnifyInertTrigFunction[u,x] /;
+FreeQ[a,x]
+
+
+(* ::Subsubsection:: *)
+(*Cosine to sine*)
+
+
+(* ::Subsubsection::Closed:: *)
+(*1.0 (a sin)^m (b trg)^n*)
+
+
+(* ::Text:: *)
+(*(a Cos[e+f x])^m (b Csc[e+f x])^n == (a Sin[e+Pi/2+f x])^m (-b Sec[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(a_.*cos[e_.+f_.*x_])^m_.*(b_.*csc[e_.+f_.*x_])^n_.,x_] :=
+ (a*sin[e+Pi/2+f*x])^m*(-b*sec[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,e,f,m,n},x]
+
+
+(* ::Text:: *)
+(*(a Cos[e+f x])^m (b Sec[e+f x])^n == (a Sin[e+Pi/2+f x])^m (b Csc[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(a_.*cos[e_.+f_.*x_])^m_.*(b_.*sec[e_.+f_.*x_])^n_.,x_] :=
+ (a*sin[e+Pi/2+f*x])^m*(b*csc[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,e,f,m,n},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*1.1.1 (a+b sin)^n*)
+
+
+(* ::Text:: *)
+(*(a+b Cos[e+f x])^n == (a+b Sin[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*cos[e_.+f_.*x_])^n_.,x_] :=
+ (a+b*sin[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,e,f,n},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*1.1.2 (g cos)^p (a+b sin)^m*)
+
+
+(* ::Text:: *)
+(*(g Sin[e+f x])^p (a+b Cos[e+f x])^m == (g Cos[e-Pi/2+f x])^p (a-b Sin[e-Pi/2+f x])^m*)
+
+
+UnifyInertTrigFunction[(g_.*sin[e_.+f_.*x_])^p_.*(a_+b_.*cos[e_.+f_.*x_])^m_.,x_] :=
+ (g*cos[e-Pi/2+f*x])^p*(a-b*sin[e-Pi/2+f*x])^m /;
+FreeQ[{a,b,e,f,g,m,p},x]
+
+
+(* ::Text:: *)
+(*(g Csc[e+f x])^p (a+b Cos[e+f x])^m == (g Sec[e-Pi/2+f x])^p (a-b Sin[e-Pi/2+f x])^m*)
+
+
+UnifyInertTrigFunction[(g_.*csc[e_.+f_.*x_])^p_.*(a_+b_.*cos[e_.+f_.*x_])^m_.,x_] :=
+ (g*sec[e-Pi/2+f*x])^p*(a-b*sin[e-Pi/2+f*x])^m /;
+FreeQ[{a,b,e,f,g,m,p},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*1.1.3 (g tan)^p (a+b sin)^m*)
+
+
+(* ::Text:: *)
+(*(g Cot[e+f x])^p (a+b Cos[e+f x])^m == (-g Tan[e-Pi/2+f x])^p (a-b Sin[e-Pi/2+f x])^m*)
+
+
+(* ::Text:: *)
+(*(g Cot[e+f x])^p (a+b Cos[e+f x])^m == (-g Tan[e+Pi/2+f x])^p (a+b Sin[e+Pi/2+f x])^m*)
+
+
+UnifyInertTrigFunction[(g_.*cot[e_.+f_.*x_])^p_.*(a_+b_.*cos[e_.+f_.*x_])^m_.,x_] :=
+ If[True,
+ (-g*tan[e-Pi/2+f*x])^p*(a-b*sin[e-Pi/2+f*x])^m,
+ (-g*tan[e+Pi/2+f*x])^p*(a+b*sin[e+Pi/2+f*x])^m] /;
+FreeQ[{a,b,e,f,g,m,p},x]
+
+
+(* ::Text:: *)
+(*(g Tan[e+f x])^p (a+b Cos[e+f x])^m == (-g Cot[e+Pi/2+f x])^p (a+b Sin[e+Pi/2+f x])^m*)
+
+
+UnifyInertTrigFunction[(g_.*tan[e_.+f_.*x_])^p_.*(a_+b_.*cos[e_.+f_.*x_])^m_.,x_] :=
+ (-g*cot[e+Pi/2+f*x])^p*(a+b*sin[e+Pi/2+f*x])^m /;
+FreeQ[{a,b,e,f,g,m,p},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*1.2.1 (a+b sin)^m (c+d sin)^n*)
+
+
+(* ::Text:: *)
+(*(a+b Cos[e+f x])^m (c+d Cos[e+f x])^n == (a+b Sin[e+Pi/2+f x])^m (c+d Sin[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*cos[e_.+f_.*x_])^m_.*(c_.+d_.*cos[e_.+f_.*x_])^n_.,x_] :=
+ (a+b*sin[e+Pi/2+f*x])^m*(c+d*sin[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,c,d,e,f,m,n},x]
+
+
+(* ::Text:: *)
+(*(a+b Cos[e+f x])^m (c+d Sec[e+f x])^n == (a+b Sin[e+Pi/2+f x])^m (c+d Csc[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*cos[e_.+f_.*x_])^m_.*(c_.+d_.*sec[e_.+f_.*x_])^n_.,x_] :=
+ (a+b*sin[e+Pi/2+f*x])^m*(c+d*csc[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,c,d,e,f,m,n},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*1.2.2 (g cos)^p (a+b sin)^m (c+d sin)^n*)
+
+
+(* ::Text:: *)
+(*(g Sin[e+f x])^p (a+b Cos[e+f x])^m (c+d Cos[e+f x])^n == (g Cos[e-Pi/2+f x])^p (a-b Sin[e-Pi/2+f x])^m (c-d Sin[e-Pi/2+f x])^n*)
+
+
+(* ::Text:: *)
+(*(g Sin[e+f x])^p (a+b Cos[e+f x])^m (c+d Cos[e+f x])^n == (-g Cos[e+Pi/2+f x])^p (a+b Sin[e+Pi/2+f x])^m (c+d Sin[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(g_.*sin[e_.+f_. x_])^p_.*(a_.+b_.*cos[e_.+f_.*x_])^m_.*(c_.+d_.*cos[e_.+f_.*x_])^n_.,x_] :=
+ If[IntegerQ[2*p] && p<0 && IntegerQ[2*n],
+ (g*cos[e-Pi/2+f*x])^p*(a-b*sin[e-Pi/2+f*x])^m*(c-d*sin[e-Pi/2+f*x])^n,
+ (-g*cos[e+Pi/2+f*x])^p*(a+b*sin[e+Pi/2+f*x])^m*(c+d*sin[e+Pi/2+f*x])^n] /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x]
+
+
+(* ::Text:: *)
+(*(g Csc[e+f x])^p (a+b Cos[e+f x])^m (c+d Cos[e+f x])^n == (g Sec[e-Pi/2+f x])^p (a-b Sin[e-Pi/2+f x])^m (c-d Sin[e-Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(g_.*csc[e_.+f_.*x_])^p_.*(a_.+b_.*cos[e_.+f_.*x_])^m_.*(c_.+d_.*cos[e_.+f_.*x_])^n_.,x_] :=
+ (g*sec[e-Pi/2+f*x])^p*(a-b*sin[e-Pi/2+f*x])^m*(c-d*sin[e-Pi/2+f*x])^n /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*1.2.3 (g sin)^p (a+b sin)^m (c+d sin)^n*)
+
+
+(* ::Text:: *)
+(*(g Cos[e+f x])^p (a+b Cos[e+f x])^m (c+d Cos[e+f x])^n == (g Sin[e+Pi/2+f x])^p (a+b Sin[e+Pi/2+f x])^m (c+d Sin[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(g_.*cos[e_.+f_.*x_])^p_.*(a_.+b_.*cos[e_.+f_.*x_])^m_.*(c_.+d_.*cos[e_.+f_.*x_])^n_.,x_] :=
+ (g*sin[e+Pi/2+f*x])^p*(a+b*sin[e+Pi/2+f*x])^m*(c+d*sin[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x]
+
+
+(* ::Text:: *)
+(*(g Cos[e+f x])^p (a+b Cos[e+f x])^m (c+d Sec[e+f x])^n == (g Sin[e+Pi/2+f x])^p (a+b Sin[e+Pi/2+f x])^m (c+d Csc[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(g_.*cos[e_.+f_.*x_])^p_.*(a_.+b_.*cos[e_.+f_.*x_])^m_.*(c_.+d_.*sec[e_.+f_.*x_])^n_.,x_] :=
+ (g*sin[e+Pi/2+f*x])^p*(a+b*sin[e+Pi/2+f*x])^m*(c+d*csc[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x]
+
+
+(* ::Text:: *)
+(*(g Sec[e+f x])^p (a+b Cos[e+f x])^m (c+d Cos[e+f x])^n == (g Csc[e+Pi/2+f x])^p (a+b Sin[e+Pi/2+f x])^m (c+d Sin[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(g_.*sec[e_.+f_.*x_])^p_.*(a_.+b_.*cos[e_.+f_.*x_])^m_.*(c_.+d_.*cos[e_.+f_.*x_])^n_.,x_] :=
+ (g*csc[e+Pi/2+f*x])^p*(a+b*sin[e+Pi/2+f*x])^m*(c+d*sin[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x]
+
+
+(* ::Text:: *)
+(*(g Sec[e+f x])^p (a+b Cos[e+f x])^m (c+d Sec[e+f x])^n == (g Csc[e+Pi/2+f x])^p (a+b Sin[e+Pi/2+f x])^m (c+d Csc[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(g_.*sec[e_.+f_.*x_])^p_.*(a_.+b_.*cos[e_.+f_.*x_])^m_.*(c_.+d_.*sec[e_.+f_.*x_])^n_.,x_] :=
+ (g*csc[e+Pi/2+f*x])^p*(a+b*sin[e+Pi/2+f*x])^m*(c+d*csc[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*1.3.1 (a+b sin)^m (c+d sin)^n (A+B sin)*)
+
+
+(* ::Text:: *)
+(*(a+b Cos[e+f x])^m (c+d Cos[e+f x])^n (A+B Cos[e+f x]) == (a+b Sin[e+Pi/2+f x])^m (c+d Sin[e+Pi/2+f x])^n (A+B Sin[e+Pi/2+f x])*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*cos[e_.+f_.*x_])^m_.*(c_.+d_.*cos[e_.+f_.*x_])^n_.*(A_.+B_.*cos[e_.+f_.*x_]),x_] :=
+ (a+b*sin[e+Pi/2+f*x])^m*(c+d*sin[e+Pi/2+f*x])^n*(A+B*sin[e+Pi/2+f*x]) /;
+FreeQ[{a,b,c,d,e,f,A,B,m,n},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*1.4.1 (a+b sin)^m (A+B sin+C sin^2)*)
+
+
+(* ::Text:: *)
+(*(a+b Cos[e+f x])^m (A+B Cos[e+f x]+C Cos[e+f x]^2) == (a+b Sin[e+Pi/2+f x])^m (A+B Sin[e+Pi/2+f x]+C Sin[e+Pi/2+f x]^2)*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*cos[e_.+f_.*x_])^m_.*(A_.+B_.*cos[e_.+f_.*x_]+C_.*cos[e_.+f_.*x_]^2),x_] :=
+ (a+b*sin[e+Pi/2+f*x])^m*(A+B*sin[e+Pi/2+f*x]+C*sin[e+Pi/2+f*x]^2) /;
+FreeQ[{a,b,c,e,f,A,B,C,m},x]
+
+
+(* ::Text:: *)
+(*(a+b Cos[e+f x])^m (A+C Cos[e+f x]^2) == (a+b Sin[e+Pi/2+f x])^m (A+C Sin[e+Pi/2+f x]^2)*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*cos[e_.+f_.*x_])^m_.*(A_.+C_.*cos[e_.+f_.*x_]^2),x_] :=
+ (a+b*sin[e+Pi/2+f*x])^m*(A+C*sin[e+Pi/2+f*x]^2) /;
+FreeQ[{a,b,c,e,f,A,C,m},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*1.4.2 (a+b sin)^m (c+d sin)^n (A+B sin+C sin^2)*)
+
+
+(* ::Text:: *)
+(*(a+b Cos[e+f x])^m (c+d Cos[e+f x])^n (A+B Cos[e+f x]+C Cos[e+f x]^2) == (a+b Sin[e+Pi/2+f x])^m (c+d Sin[e+Pi/2+f x])^n (A+B Sin[e+Pi/2+f x]+C Sin[e+Pi/2+f x]^2)*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*cos[e_.+f_.*x_])^m_.*(c_.+d_.*cos[e_.+f_.*x_])^n_.*(A_.+B_.*cos[e_.+f_.*x_]+C_.*cos[e_.+f_.*x_]^2),x_] :=
+ (a+b*sin[e+Pi/2+f*x])^m*(c+d*sin[e+Pi/2+f*x])^n*(A+B*sin[e+Pi/2+f*x]+C*sin[e+Pi/2+f*x]^2) /;
+FreeQ[{a,b,c,d,e,f,A,B,C,m,n},x]
+
+
+(* ::Text:: *)
+(*(a+b Cos[e+f x])^m (c+d Cos[e+f x])^n (A+C Cos[e+f x]^2) == (a+b Sin[e+Pi/2+f x])^m (c+d Sin[e+Pi/2+f x])^n (A+C Sin[e+Pi/2+f x]^2)*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*cos[e_.+f_.*x_])^m_.*(c_.+d_.*cos[e_.+f_.*x_])^n_.*(A_.+C_.*cos[e_.+f_.*x_]^2),x_] :=
+ (a+b*sin[e+Pi/2+f*x])^m*(c+d*sin[e+Pi/2+f*x])^n*(A+C*sin[e+Pi/2+f*x]^2) /;
+FreeQ[{a,b,c,d,e,f,A,C,m,n},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*1.7 (d trig)^m (a+b (c sin)^n)^p*)
+
+
+(* ::Text:: *)
+(*(a+b (c Cos[e+f x])^n)^p == (a+b (c Sin[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*(c_.*cos[e_.+f_.*x_])^n_)^p_,x_] :=
+ (a+b*(c*sin[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,e,f,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Cos[e+f x])^m (a+b (c Cos[e+f x])^n)^p == (d Sin[e+Pi/2+f x])^m (a+b (c Sin[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*cos[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*cos[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (d*sin[e+Pi/2+f*x])^m*(a+b*(c*sin[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Sin[e+f x])^m (a+b (c Cos[e+f x])^n)^p == (-d Cos[e+Pi/2+f x])^m (a+b (c Sin[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*sin[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*cos[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (-d*cos[e+Pi/2+f*x])^m*(a+b*(c*sin[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Cot[e+f x])^m (a+b (c Cos[e+f x])^n)^p == (-d Tan[e+Pi/2+f x])^m (a+b (c Sin[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*cot[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*cos[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (-d*tan[e+Pi/2+f*x])^m*(a+b*(c*sin[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Tan[e+f x])^m (a+b (c Cos[e+f x])^n)^p == (-d Cot[e+Pi/2+f x])^m (a+b (c Sin[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*tan[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*cos[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (-d*cot[e+Pi/2+f*x])^m*(a+b*(c*sin[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Csc[e+f x])^m (a+b (c Cos[e+f x])^n)^p == (-d Sec[e+Pi/2+f x])^m (a+b (c Sin[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*csc[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*cos[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (-d*sec[e+Pi/2+f*x])^m*(a+b*(c*sin[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Sec[e+f x])^m (a+b (c Cos[e+f x])^n)^p == (d Csc[e+Pi/2+f x])^m (a+b (c Sin[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*sec[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*cos[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (d*csc[e+Pi/2+f*x])^m*(a+b*(c*sin[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(a+b Cos[e+f x]^n)^m (A+B Cos[e+f x]^n) == (a+b Sin[e+Pi/2+f x]^n)^m (A+B Sin[e+Pi/2+f x]^n)*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*cos[e_.+f_.*x_]^n_)^m_.*(A_.+B_.*cos[e_.+f_.*x_]^n_),x_] :=
+ (a+b*sin[e+Pi/2+f*x]^n)^m*(A+B*sin[e+Pi/2+f*x]^n) /;
+FreeQ[{a,b,e,f,A,B,m,n},x] && Not[EqQ[a,0] && IntegerQ[m]]
+
+
+(* ::Subsubsection:: *)
+(*Cotangent to tangent*)
+
+
+(* ::Subsubsection::Closed:: *)
+(*2.0 (a trg)^m (b tan)^n*)
+
+
+(* ::Text:: *)
+(*(a Cos[e+f x])^m (b Cot[e+f x])^n == (a Sin[e+Pi/2+f x])^m (-b Tan[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(a_.*cos[e_.+f_.*x_])^m_.*(b_.*cot[e_.+f_.*x_])^n_.,x_] :=
+ (a*sin[e+Pi/2+f*x])^m*(-b*tan[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,e,f,m,n},x]
+
+
+(* ::Text:: *)
+(*(a Sin[e+f x])^m (b Cot[e+f x])^n == (a Cos[e-Pi/2+f x])^m (-b Tan[e-Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(a_.*sin[e_.+f_.*x_])^m_.*(b_.*cot[e_.+f_.*x_])^n_.,x_] :=
+ (a*cos[e-Pi/2+f*x])^m*(-b*tan[e-Pi/2+f*x])^n /;
+FreeQ[{a,b,e,f,m,n},x]
+
+
+(* ::Text:: *)
+(*(a Csc[e+f x])^m (b Cot[e+f x])^n == (a Sec[e-Pi/2+f x])^m (-b Tan[e-Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(a_.*csc[e_.+f_.*x_])^m_.*(b_.*cot[e_.+f_.*x_])^n_.,x_] :=
+ (a*sec[e-Pi/2+f*x])^m*(-b*tan[e-Pi/2+f*x])^n /;
+FreeQ[{a,b,e,f,m,n},x]
+
+
+(* ::Text:: *)
+(*(a Sec[e+f x])^m (b Cot[e+f x])^n == (a Csc[e+Pi/2+f x])^m (-b Tan[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(a_.*sec[e_.+f_.*x_])^m_.*(b_.*cot[e_.+f_.*x_])^n_.,x_] :=
+ (a*csc[e+Pi/2+f*x])^m*(-b*tan[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,e,f,m,n},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*2.1.1 (a+b tan)^n*)
+
+
+(* ::Text:: *)
+(*(a+b Cot[e+f x])^n == (a-b Tan[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*cot[e_.+f_.*x_])^n_.,x_] :=
+ (a-b*tan[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,e,f,n},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*2.1.2 (d sec)^m (a+b tan)^n*)
+
+
+(* ::Text:: *)
+(*(d Csc[e+f x])^m (a+b Cot[e+f x])^n == (d Sec[e-Pi/2+f x])^m (a-b Tan[e-Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(d_.*csc[e_.+f_.*x_])^m_.*(a_+b_.*cot[e_.+f_.*x_])^n_.,x_] :=
+ (d*sec[e-Pi/2+f*x])^m*(a-b*tan[e-Pi/2+f*x])^n /;
+FreeQ[{a,b,d,e,f,m,n},x]
+
+
+(* ::Text:: *)
+(*(d Sin[e+f x])^m (a+b Cot[e+f x])^n == (d Cos[e-Pi/2+f x])^m (a-b Tan[e-Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(d_.*sin[e_.+f_.*x_])^m_.*(a_+b_.*cot[e_.+f_.*x_])^n_.,x_] :=
+ (d*cos[e-Pi/2+f*x])^m*(a-b*tan[e-Pi/2+f*x])^n /;
+FreeQ[{a,b,d,e,f,m,n},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*2.1.3 (d sin)^m (a+b tan)^n*)
+
+
+(* ::Text:: *)
+(*(d Cos[e+f x])^m (a+b Cot[e+f x])^n == (d Sin[e+Pi/2+f x])^m (a-b Tan[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(d_.*cos[e_.+f_.*x_])^m_.*(a_+b_.*cot[e_.+f_.*x_])^n_.,x_] :=
+ (d*sin[e+Pi/2+f*x])^m*(a-b*tan[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,d,e,f,m,n},x]
+
+
+(* ::Text:: *)
+(*(d Sec[e+f x])^m (a+b Cot[e+f x])^n == (d Csc[e+Pi/2+f x])^m (a-b Tan[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*cot[e_.+f_.*x_])^n_.,x_] :=
+ (d*csc[e+Pi/2+f*x])^m*(a-b*tan[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,d,e,f,m,n},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*2.2.1 (a+b tan)^m (c+d tan)^n*)
+
+
+(* ::Text:: *)
+(*(a+b Cot[e+f x])^m (c+d Cot[e+f x])^n == (a-b Tan[e+Pi/2+f x])^m (c-d Tan[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*cot[e_.+f_.*x_])^m_.*(c_.+d_.*cot[e_.+f_.*x_])^n_.,x_] :=
+ (a-b*tan[e+Pi/2+f*x])^m*(c-d*tan[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,c,d,e,f,m,n},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*2.2.3 (g tan)^p (a+b tan)^m (c+d tan)^n*)
+
+
+(* ::Text:: *)
+(*(g Cot[e+f x])^p (a+b Cot[e+f x])^m (c+d Cot[e+f x])^n == (-g Tan[e+Pi/2+f x])^p (a-b Tan[e+Pi/2+f x])^m (c-d Tan[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(g_.*cot[e_.+f_.*x_])^p_.*(a_.+b_.*cot[e_.+f_.*x_])^m_.*(c_.+d_.*cot[e_.+f_.*x_])^n_.,x_] :=
+ (-g*tan[e+Pi/2+f*x])^p*(a-b*tan[e+Pi/2+f*x])^m*(c-d*tan[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x]
+
+
+(* ::Text:: *)
+(*(g Cot[e+f x])^p (a+b Cot[e+f x])^m (c+d Tan[e+f x])^n == (-g Tan[e+Pi/2+f x])^p (a-b Tan[e+Pi/2+f x])^m (c-d Cot[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(g_.*cot[e_.+f_.*x_])^p_.*(a_.+b_.*cot[e_.+f_.*x_])^m_.*(c_.+d_.*tan[e_.+f_.*x_])^n_.,x_] :=
+ (-g*tan[e+Pi/2+f*x])^p*(a-b*tan[e+Pi/2+f*x])^m*(c-d*cot[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*2.3.1 (a+b tan)^m (c+d tan)^n (A+B tan)*)
+
+
+(* ::Text:: *)
+(*(a+b Cot[e+f x])^m (c+d Cot[e+f x])^n (A+B Cot[e+f x]) == (a-b Tan[e+Pi/2+f x])^m (c-d Tan[e+Pi/2+f x])^n (A-B Tan[e+Pi/2+f x])*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*cot[e_.+f_.*x_])^m_.*(c_.+d_.*cot[e_.+f_.*x_])^n_.*(A_.+B_.*cot[e_.+f_.*x_]),x_] :=
+ (a-b*tan[e+Pi/2+f*x])^m*(c-d*tan[e+Pi/2+f*x])^n*(A-B*tan[e+Pi/2+f*x]) /;
+FreeQ[{a,b,c,d,e,f,A,B,m,n},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*2.4.1 (a+b tan)^m (A+B tan+C tan^2)*)
+
+
+(* ::Text:: *)
+(*(a+b Cot[e+f x])^m (A+B Cot[e+f x]+C Cot[e+f x]^2) == (a-b Tan[e+Pi/2+f x])^m (A-B Tan[e+Pi/2+f x]+C Tan[e+Pi/2+f x]^2)*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*cot[e_.+f_.*x_])^m_.*(A_.+B_.*cot[e_.+f_.*x_]+C_.*cot[e_.+f_.*x_]^2),x_] :=
+ (a-b*tan[e+Pi/2+f*x])^m*(A-B*tan[e+Pi/2+f*x]+C*tan[e+Pi/2+f*x]^2) /;
+FreeQ[{a,b,e,f,A,B,C,m},x]
+
+
+(* ::Text:: *)
+(*(a+b Cot[e+f x])^m (A+C Cot[e+f x]^2) == (a-b Tan[e+Pi/2+f x])^m (A+C Tan[e+Pi/2+f x]^2)*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*cot[e_.+f_.*x_])^m_.*(A_.+C_.*cot[e_.+f_.*x_]^2),x_] :=
+ (a-b*tan[e+Pi/2+f*x])^m*(A+C*tan[e+Pi/2+f*x]^2) /;
+FreeQ[{a,b,e,f,A,C,m},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*2.4.2 (a+b tan)^m (c+d tan)^n (A+B tan+C tan^2)*)
+
+
+(* ::Text:: *)
+(*(a+b Cot[e+f x])^m (c+d Cot[e+f x])^n (A+B Cot[e+f x]+C Cot[e+f x]^2) == *)
+(* (a-b Tan[e+Pi/2+f x])^m (c-d Tan[e+Pi/2+f x])^n (A-B Tan[e+Pi/2+f x]+C Tan[e+Pi/2+f x]^2)*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*cot[e_.+f_.*x_])^m_.*(c_.+d_.*cot[e_.+f_.*x_])^n_.*(A_.+B_.*cot[e_.+f_.*x_]+C_.*cot[e_.+f_.*x_]^2),x_] :=
+ (a-b*tan[e+Pi/2+f*x])^m*(c-d*tan[e+Pi/2+f*x])^n*(A-B*tan[e+Pi/2+f*x]+C*tan[e+Pi/2+f*x]^2) /;
+FreeQ[{a,b,c,d,e,f,A,B,C,m,n},x]
+
+
+(* ::Text:: *)
+(*(a+b Cot[e+f x])^m (c+d Cot[e+f x])^n (A+C Cot[e+f x]^2) == (a-b Tan[e+Pi/2+f x])^m (c-d Tan[e+Pi/2+f x])^n (A+C Tan[e+Pi/2+f x]^2)*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*cot[e_.+f_.*x_])^m_.*(c_.+d_.*cot[e_.+f_.*x_])^n_.*(A_.+C_.*cot[e_.+f_.*x_]^2),x_] :=
+ (a-b*tan[e+Pi/2+f*x])^m*(c-d*tan[e+Pi/2+f*x])^n*(A+C*tan[e+Pi/2+f*x]^2) /;
+FreeQ[{a,b,c,d,e,f,A,C,m,n},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*2.7 trig^m (a+b (c tan)^n)^p*)
+
+
+(* ::Text:: *)
+(*(a+b (c Cot[e+f x])^n)^p == (a+b (-c Tan[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*(c_.*cot[e_.+f_.*x_])^n_)^p_,x_] :=
+ (a+b*(-c*tan[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,e,f,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Cos[e+f x])^m (a+b (c Cot[e+f x])^n)^p == (d Sin[e+Pi/2+f x])^m (a+b (-c Tan[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*cos[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*cot[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (d*sin[e+Pi/2+f*x])^m*(a+b*(-c*tan[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Sin[e+f x])^m (a+b (c Cot[e+f x])^n)^p == (-d Cos[e+Pi/2+f x])^m (a+b (-c Tan[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*sin[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*cot[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (-d*cos[e+Pi/2+f*x])^m*(a+b*(-c*tan[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Cot[e+f x])^m (a+b (c Cot[e+f x])^n)^p == (-d Tan[e+Pi/2+f x])^m (a+b (-c Tan[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*cot[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*cot[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (-d*tan[e+Pi/2+f*x])^m*(a+b*(-c*tan[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Tan[e+f x])^m (a+b (c Cot[e+f x])^n)^p == (-d Cot[e+Pi/2+f x])^m (a+b (-c Tan[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*tan[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*cot[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (-d*cot[e+Pi/2+f*x])^m*(a+b*(-c*tan[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Csc[e+f x])^m (a+b (c Cot[e+f x])^n)^p == (-d Sec[e+Pi/2+f x])^m (a+b (-c Tan[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*csc[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*cot[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (-d*sec[e+Pi/2+f*x])^m*(a+b*(-c*tan[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Sec[e+f x])^m (a+b (c Cot[e+f x])^n)^p == (d Csc[e+Pi/2+f x])^m (a+b (-c Tan[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*sec[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*cot[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (d*csc[e+Pi/2+f*x])^m*(a+b*(-c*tan[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Subsubsection:: *)
+(*Cosecant to secant*)
+
+
+(* ::Subsubsection::Closed:: *)
+(*3.1.1 (a+b sec)^n*)
+
+
+(* ::Text:: *)
+(*(a+b Sec[e+f x])^n == (a+b Csc[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*sec[e_.+f_.*x_])^n_.,x_] :=
+ (a+b*csc[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,e,f,n},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*3.1.2 (d sec)^n (a+b sec)^m*)
+
+
+(* ::Text:: *)
+(*(g Sec[e+f x])^p (a+b Sec[e+f x])^m == (g Csc[e+Pi/2+f x])^p (a+b Csc[e+Pi/2+f x])^m*)
+
+
+UnifyInertTrigFunction[(g_.*sec[e_.+f_.*x_])^p_.*(a_+b_.*sec[e_.+f_.*x_])^m_.,x_] :=
+ (g*csc[e+Pi/2+f*x])^p*(a+b*csc[e+Pi/2+f*x])^m /;
+FreeQ[{a,b,e,f,g,m,p},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*3.1.3 (d sin)^n (a+b sec)^m*)
+
+
+(* ::Text:: *)
+(*(g Sin[e+f x])^p (a+b Sec[e+f x])^m == (g Cos[e-Pi/2+f x])^p (a-b Csc[e-Pi/2+f x])^m*)
+
+
+UnifyInertTrigFunction[(g_.*sin[e_.+f_.*x_])^p_.*(a_+b_.*sec[e_.+f_.*x_])^m_.,x_] :=
+ (g*cos[e-Pi/2+f*x])^p*(a-b*csc[e-Pi/2+f*x])^m /;
+FreeQ[{a,b,e,f,g,m,p},x]
+
+
+(* ::Text:: *)
+(*(g Csc[e+f x])^p (a+b Sec[e+f x])^m == (g Sec[e-Pi/2+f x])^p (a-b Csc[e-Pi/2+f x])^m*)
+
+
+UnifyInertTrigFunction[(g_.*csc[e_.+f_.*x_])^p_.*(a_+b_.*sec[e_.+f_.*x_])^m_.,x_] :=
+ (g*sec[e-Pi/2+f*x])^p*(a-b*csc[e-Pi/2+f*x])^m /;
+FreeQ[{a,b,e,f,g,m,p},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*3.1.4 (d tan)^n (a+b sec)^m*)
+
+
+(* ::Text:: *)
+(*(g Tan[e+f x])^p (a+b Sec[e+f x])^m == (-g Cot[e+Pi/2+f x])^p (a+b Csc[e+Pi/2+f x])^m*)
+
+
+UnifyInertTrigFunction[(g_.*tan[e_.+f_.*x_])^p_.*(a_+b_.*sec[e_.+f_.*x_])^m_.,x_] :=
+ (-g*cot[e+Pi/2+f*x])^p*(a+b*csc[e+Pi/2+f*x])^m /;
+FreeQ[{a,b,e,f,g,m,p},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*3.2.1 (a+b sec)^m (c+d sec)^n*)
+
+
+(* ::Text:: *)
+(*(a+b Sec[e+f x])^m (c+d Sec[e+f x])^n == (a+b Csc[e+Pi/2+f x])^m (c+d Csc[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*sec[e_.+f_.*x_])^m_.*(c_.+d_.*sec[e_.+f_.*x_])^n_.,x_] :=
+ (a+b*csc[e+Pi/2+f*x])^m*(c+d*csc[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,c,d,e,f,m,n},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*3.2.2 (g sec)^p (a+b sec)^m (c+d sec)^n*)
+
+
+(* ::Text:: *)
+(*(g Sec[e+f x])^p (a+b Sec[e+f x])^m (c+d Sec[e+f x])^n == (g Csc[e+Pi/2+f x])^p (a+b Csc[e+Pi/2+f x])^m (c+d Csc[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(g_.*sec[e_.+f_.*x_])^p_.*(a_.+b_.*sec[e_.+f_.*x_])^m_.*(c_.+d_.*sec[e_.+f_.*x_])^n_.,x_] :=
+ (g*csc[e+Pi/2+f*x])^p*(a+b*csc[e+Pi/2+f*x])^m*(c+d*csc[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x]
+
+
+(* ::Text:: *)
+(*(g Cos[e+f x])^p (a+b Sec[e+f x])^m (c+d Sec[e+f x])^n == (g Sin[e+Pi/2+f x])^p (a+b Csc[e+Pi/2+f x])^m (c+d Csc[e+Pi/2+f x])^n*)
+
+
+UnifyInertTrigFunction[(g_.*cos[e_.+f_.*x_])^p_.*(a_.+b_.*sec[e_.+f_.*x_])^m_.*(c_.+d_.*sec[e_.+f_.*x_])^n_.,x_] :=
+ (g*sin[e+Pi/2+f*x])^p*(a+b*csc[e+Pi/2+f*x])^m*(c+d*csc[e+Pi/2+f*x])^n /;
+FreeQ[{a,b,c,d,e,f,g,m,n,p},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*3.3.1 (a+b sec)^m (d sec)^n (A+B sec)*)
+
+
+(* ::Text:: *)
+(*(a+b Sec[e+f x])^m (d Sec[e+f x])^n (A+B Sec[e+f x]) == (a+b Csc[e+Pi/2+f x])^m (d Csc[e+Pi/2+f x])^n (A+B Csc[e+Pi/2+f x])*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*sec[e_.+f_.*x_])^m_.*(d_.*sec[e_.+f_.*x_])^n_.*(A_.+B_.*sec[e_.+f_.*x_]),x_] :=
+ (a+b*csc[e+Pi/2+f*x])^m*(d*csc[e+Pi/2+f*x])^n*(A+B*csc[e+Pi/2+f*x]) /;
+FreeQ[{a,b,d,e,f,A,B,m,n},x]
+
+
+(* ::Text:: *)
+(*(a+b Sec[e+f x])^m (c+d Sec[e+f x])^n (A+B Sec[e+f x])^p == (a+b Csc[e+Pi/2+f x])^m (c+d Csc[e+Pi/2+f x])^n (A+B Csc[e+Pi/2+f x])^p*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*sec[e_.+f_.*x_])^m_.*(c_.+d_.*sec[e_.+f_.*x_])^n_.*(A_.+B_.*sec[e_.+f_.*x_])^p_.,x_] :=
+ (a+b*csc[e+Pi/2+f*x])^m*(c+d*csc[e+Pi/2+f*x])^n*(A+B*csc[e+Pi/2+f*x])^p /;
+FreeQ[{a,b,c,d,e,f,A,B,m,n,p},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*3.4.1 (a+b sec)^m (A+B sec+C sec^2)*)
+
+
+(* ::Text:: *)
+(*(a+b Sec[e+f x])^m (A+B Sec[e+f x]+C Sec[e+f x]^2) == (a+b Csc[e+Pi/2+f x])^m (A+B Csc[e+Pi/2+f x]+C Csc[e+Pi/2+f x]^2)*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*sec[e_.+f_.*x_])^m_.*(A_.+B_.*sec[e_.+f_.*x_]+C_.*sec[e_.+f_.*x_]^2),x_] :=
+ (a+b*csc[e+Pi/2+f*x])^m*(A+B*csc[e+Pi/2+f*x]+C*csc[e+Pi/2+f*x]^2) /;
+FreeQ[{a,b,e,f,A,B,C,m},x]
+
+
+(* ::Text:: *)
+(*(a+b Sec[e+f x])^m (A+B Sec[e+f x]+C Sec[e+f x]^2) == (a+b Csc[e+Pi/2+f x])^m (A+C Csc[e+Pi/2+f x]^2)*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*sec[e_.+f_.*x_])^m_.*(A_.+C_.*sec[e_.+f_.*x_]^2),x_] :=
+ (a+b*csc[e+Pi/2+f*x])^m*(A+C*csc[e+Pi/2+f*x]^2) /;
+FreeQ[{a,b,e,f,A,C,m},x]
+
+
+(* ::Subsubsection::Closed:: *)
+(*3.4.2 (a+b sec)^m (d sec)^n (A+B sec+C sec^2)*)
+
+
+(* ::Text:: *)
+(*(a+b Sec[e+f x])^m (d Sec[e+f x])^n (A+B Sec[e+f x]+C Sec[e+f x]^2) == *)
+(* (a+b Csc[e+Pi/2+f x])^m (d Csc[e+Pi/2+f x])^n (A+B Csc[e+Pi/2+f x]+C Csc[e+Pi/2+f x]^2)*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*sec[e_.+f_.*x_])^m_.*(d_.*sec[e_.+f_.*x_])^n_.*(A_.+B_.*sec[e_.+f_.*x_]+C_.*sec[e_.+f_.*x_]^2),x_] :=
+ (a+b*csc[e+Pi/2+f*x])^m*(d*csc[e+Pi/2+f*x])^n*(A+B*csc[e+Pi/2+f*x]+C*csc[e+Pi/2+f*x]^2) /;
+FreeQ[{a,b,d,e,f,A,B,C,m,n},x]
+
+
+(* ::Text:: *)
+(*(a+b Sec[e+f x])^m (d Sec[e+f x])^n (A+C Sec[e+f x]^2) == (a+b Csc[e+Pi/2+f x])^m (d Csc[e+Pi/2+f x])^n (A+C Csc[e+Pi/2+f x]^2)*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*sec[e_.+f_.*x_])^m_.*(d_.*sec[e_.+f_.*x_])^n_.*(A_.+C_.*sec[e_.+f_.*x_]^2),x_] :=
+ (a+b*csc[e+Pi/2+f*x])^m*(d*csc[e+Pi/2+f*x])^n*(A+C*csc[e+Pi/2+f*x]^2) /;
+FreeQ[{a,b,d,e,f,A,C,m,n},x]
+
+
+UnifyInertTrigFunction[u_,x_] := u
+
+
+(* ::Subsubsection::Closed:: *)
+(*3.7 (d trig)^m (a+b (c sec)^n)^p*)
+
+
+(* ::Text:: *)
+(*(a+b (c Csc[e+f x])^n)^p == (a+b (-c Sec[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(a_.+b_.*(c_.*csc[e_.+f_.*x_])^n_)^p_,x_] :=
+ (a+b*(-c*sec[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,e,f,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Cos[e+f x])^m (a+b (c Csc[e+f x])^n)^p == (d Sin[e+Pi/2+f x])^m (a+b (-c Sec[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*cos[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*csc[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (d*sin[e+Pi/2+f*x])^m*(a+b*(-c*sec[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Sin[e+f x])^m (a+b (c Csc[e+f x])^n)^p == (-d Cos[e+Pi/2+f x])^m (a+b (-c Sec[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*sin[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*csc[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (-d*cos[e+Pi/2+f*x])^m*(a+b*(-c*sec[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Cot[e+f x])^m (a+b (c Csc[e+f x])^n)^p == (-d Tan[e+Pi/2+f x])^m (a+b (-c Sec[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*cot[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*csc[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (-d*tan[e+Pi/2+f*x])^m*(a+b*(-c*sec[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Tan[e+f x])^m (a+b (c Csc[e+f x])^n)^p == (-d Cot[e+Pi/2+f x])^m (a+b (-c Sec[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*tan[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*csc[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (-d*cot[e+Pi/2+f*x])^m*(a+b*(-c*sec[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Csc[e+f x])^m (a+b (c Csc[e+f x])^n)^p == (-d Sec[e+Pi/2+f x])^m (a+b (-c Sec[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*csc[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*csc[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (-d*sec[e+Pi/2+f*x])^m*(a+b*(-c*sec[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[n,2] && EqQ[p,1]] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Text:: *)
+(*(d Sec[e+f x])^m (a+b (c Csc[e+f x])^n)^p == (d Csc[e+Pi/2+f x])^m (a+b (-c Sec[e+Pi/2+f x])^n)^p*)
+
+
+UnifyInertTrigFunction[(d_.*sec[e_.+f_.*x_])^m_.*(a_.+b_.*(c_.*csc[e_.+f_.*x_])^n_)^p_.,x_] :=
+ (d*csc[e+Pi/2+f*x])^m*(a+b*(-c*sec[e+Pi/2+f*x])^n)^p /;
+FreeQ[{a,b,c,d,e,f,m,n,p},x] && Not[EqQ[a,0] && IntegerQ[p]]
+
+
+(* ::Subsection::Closed:: *)
+(*KnownTrigIntegrandQ[u,x]*)
+
+
+KnownSineIntegrandQ[u_,x_Symbol] :=
+ KnownTrigIntegrandQ[{sin,cos},u,x]
+
+
+KnownTangentIntegrandQ[u_,x_Symbol] :=
+ KnownTrigIntegrandQ[{tan},u,x]
+
+
+KnownCotangentIntegrandQ[u_,x_Symbol] :=
+ KnownTrigIntegrandQ[{cot},u,x]
+
+
+KnownSecantIntegrandQ[u_,x_Symbol] :=
+ KnownTrigIntegrandQ[{sec,csc},u,x]
+
+
+KnownTrigIntegrandQ[list_,u_,x_Symbol] :=
+ u===1 ||
+ MatchQ[u,(a_.+b_.*func_[e_.+f_.*x])^m_. /; MemberQ[list,func] && FreeQ[{a,b,e,f,m},x]] ||
+ MatchQ[u,(a_.+b_.*func_[e_.+f_.*x])^m_.*(A_.+B_.*func_[e_.+f_.*x]) /; MemberQ[list,func] && FreeQ[{a,b,e,f,A,B,m},x]] ||
+ MatchQ[u,(A_.+C_.*func_[e_.+f_.*x]^2) /; MemberQ[list,func] && FreeQ[{e,f,A,C},x]] ||
+ MatchQ[u,(A_.+B_.*func_[e_.+f_.*x]+C_.*func_[e_.+f_.*x]^2) /; MemberQ[list,func] && FreeQ[{e,f,A,B,C},x]] ||
+ MatchQ[u,(a_.+b_.*func_[e_.+f_.*x])^m_.*(A_.+C_.*func_[e_.+f_.*x]^2) /; MemberQ[list,func] && FreeQ[{a,b,e,f,A,C,m},x]] ||
+ MatchQ[u,(a_.+b_.*func_[e_.+f_.*x])^m_.*(A_.+B_.*func_[e_.+f_.*x]+C_.*func_[e_.+f_.*x]^2) /; MemberQ[list,func] && FreeQ[{a,b,e,f,A,B,C,m},x]]
+
+
+(* ::Section::Closed:: *)
+(*Derivative divides function*)
+
+
+(* If the derivative of u wrt x is a constant wrt x, PiecewiseLinearQ[u,x] returns True;
+ else it returns False. *)
+PiecewiseLinearQ[u_,v_,x_Symbol] :=
+ PiecewiseLinearQ[u,x] && PiecewiseLinearQ[v,x]
+
+PiecewiseLinearQ[u_,x_Symbol] :=
+ LinearQ[u,x] (* && Not[MonomialQ[u,x]] *) ||
+ MatchQ[u,Log[c_.*F_^(v_)] /; FreeQ[{F,c},x] && LinearQ[v,x]] ||
+ MatchQ[u,F_[G_[v_]] /; LinearQ[v,x] && MemberQ[{
+ {ArcTanh,Tanh},{ArcTanh,Coth},{ArcCoth,Coth},{ArcCoth,Tanh},
+ {ArcTan,Tan},{ArcTan,Cot},{ArcCot,Cot},{ArcCot,Tan}
+ },{F,G}]]
+
+
+(* If u divided by y is free of x, Divides[y,u,x] returns the quotient; else it returns False. *)
+Divides[y_,u_,x_Symbol] :=
+ With[{v=Simplify[u/y]},
+ If[FreeQ[v,x],
+ v,
+ False]]
+
+
+(* If y not equal to x, y is easy to differentiate wrt x, and u divided by the derivative of y
+ is free of x, DerivativeDivides[y,u,x] returns the quotient; else it returns False. *)
+DerivativeDivides[y_,u_,x_Symbol] :=
+ If[MatchQ[y,a_.*x /; FreeQ[a,x]],
+ False,
+ If[If[PolynomialQ[y,x], PolynomialQ[u,x] && Exponent[u,x]==Exponent[y,x]-1, EasyDQ[y,x]],
+ Module[{v=Block[{ShowSteps=False}, D[y,x]]},
+ If[EqQ[v,0],
+ False,
+ v=Simplify[u/v];
+ If[FreeQ[v,x],
+ v,
+ False]]],
+ False]]
+
+
+(* If u is easy to differentiate wrt x, EasyDQ[u,x] returns True; else it returns False. *)
+EasyDQ[u_.*x_^m_.,x_Symbol] :=
+ EasyDQ[u,x] /;
+FreeQ[m,x]
+
+EasyDQ[u_,x_Symbol] :=
+ If[AtomQ[u] || FreeQ[u,x] || Length[u]==0,
+ True,
+ If[CalculusQ[u],
+ False,
+ If[Length[u]==1,
+ EasyDQ[u[[1]],x],
+ If[BinomialQ[u,x] || ProductOfLinearPowersQ[u,x],
+ True,
+ If[RationalFunctionQ[u,x] && RationalFunctionExponents[u,x]==={1,1},
+ True,
+ If[ProductQ[u],
+ If[FreeQ[First[u],x],
+ EasyDQ[Rest[u],x],
+ If[FreeQ[Rest[u],x],
+ EasyDQ[First[u],x],
+ False]],
+ If[SumQ[u],
+ EasyDQ[First[u],x] && EasyDQ[Rest[u],x],
+ If[Length[u]==2,
+ If[FreeQ[u[[1]],x],
+ EasyDQ[u[[2]],x],
+ If[FreeQ[u[[2]],x],
+ EasyDQ[u[[1]],x],
+ False]],
+ False]]]]]]]]
+
+
+(* ProductOfLinearPowersQ[u,x] returns True iff u is a product of factors of the form v^n where v is linear in x. *)
+ProductOfLinearPowersQ[u_,x_Symbol] :=
+ FreeQ[u,x] ||
+ MatchQ[u, v_^n_. /; LinearQ[v,x] && FreeQ[n,x]] ||
+ ProductQ[u] && ProductOfLinearPowersQ[First[u],x] && ProductOfLinearPowersQ[Rest[u],x]
+
+
+(* ::Section::Closed:: *)
+(*Simplest nth root function*)
+
+
+(* ::Subsection::Closed:: *)
+(*Rt[u,n]*)
+
+
+(* Rt[u,n] returns the simplest nth root of u. *)
+Rt[u_,n_Integer] :=
+ RtAux[TogetherSimplify[u],n]
+
+
+(* ::Subsection::Closed:: *)
+(*NthRoot[u,n]*)
+
+
+NthRoot[u_,n_] := u^(1/n)
+
+
+(* ::Subsection::Closed:: *)
+(*TrigSquare[u]*)
+
+
+(* If u is an expression of the form a-a*Sin[z]^2 or a-a*Cos[z]^2, TrigSquare[u] returns Cos[z]^2 or Sin[z]^2 respectively, else it returns False. *)
+TrigSquare[u_] :=
+ If[SumQ[u],
+ With[{lst=SplitSum[Function[SplitProduct[TrigSquareQ,#]],u]},
+ If[Not[AtomQ[lst]] && EqQ[lst[[1,2]]+lst[[2]],0],
+ If[Head[lst[[1,1]][[1]]]===Sin,
+ lst[[2]]*Cos[lst[[1,1]][[1,1]]]^2,
+ lst[[2]]*Sin[lst[[1,1]][[1,1]]]^2],
+ False]],
+ False]
+
+
+(* ::Section::Closed:: *)
+(*Simplest nth root helper functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*RtAux[u,n]*)
+
+
+RtAux[u_,n_] :=
+ If[PowerQ[u],
+ u[[1]]^(u[[2]]/n),
+ If[ProductQ[u],
+ Module[{lst},
+ lst=SplitProduct[PositiveQ,u];
+ If[ListQ[lst],
+ RtAux[lst[[1]],n]*RtAux[lst[[2]],n],
+ lst=SplitProduct[NegativeQ,u];
+ If[ListQ[lst],
+ If[EqQ[lst[[1]],-1],
+ With[{v=lst[[2]]},
+ If[PowerQ[v] && NegativeQ[v[[2]]],
+ 1/RtAux[-v[[1]]^(-v[[2]]),n],
+ If[ProductQ[v],
+ If[ListQ[SplitProduct[SumBaseQ,v]],
+ lst=SplitProduct[AllNegTermQ,v];
+ If[ListQ[lst],
+ RtAux[-lst[[1]],n]*RtAux[lst[[2]],n],
+ lst=SplitProduct[NegSumBaseQ,v];
+ If[ListQ[lst],
+ RtAux[-lst[[1]],n]*RtAux[lst[[2]],n],
+ lst=SplitProduct[SomeNegTermQ,v];
+ If[ListQ[lst],
+ RtAux[-lst[[1]],n]*RtAux[lst[[2]],n],
+ lst=SplitProduct[SumBaseQ,v];
+ RtAux[-lst[[1]],n]*RtAux[lst[[2]],n]]]],
+ lst=SplitProduct[AtomBaseQ,v];
+ If[ListQ[lst],
+ RtAux[-lst[[1]],n]*RtAux[lst[[2]],n],
+ RtAux[-First[v],n]*RtAux[Rest[v],n]]],
+ If[OddQ[n],
+ -RtAux[v,n],
+ NthRoot[u,n]]]]],
+ RtAux[-lst[[1]],n]*RtAux[-lst[[2]],n]],
+ lst=SplitProduct[AllNegTermQ,u];
+ If[ListQ[lst] && ListQ[SplitProduct[SumBaseQ,lst[[2]]]],
+ RtAux[-lst[[1]],n]*RtAux[-lst[[2]],n],
+ lst=SplitProduct[NegSumBaseQ,u];
+ If[ListQ[lst] && ListQ[SplitProduct[NegSumBaseQ,lst[[2]]]],
+ RtAux[-lst[[1]],n]*RtAux[-lst[[2]],n],
+ Map[Function[RtAux[#,n]],u]]]]]],
+ With[{v=TrigSquare[u]},
+ If[Not[AtomQ[v]],
+ RtAux[v,n],
+ If[OddQ[n] && NegativeQ[u],
+ -RtAux[-u,n],
+ If[ComplexNumberQ[u],
+ With[{a=Re[u],b=Im[u]},
+ If[Not[IntegerQ[a] && IntegerQ[b]] && IntegerQ[a/(a^2+b^2)] && IntegerQ[b/(a^2+b^2)],
+(* Basis: a+b*I==1/(a/(a^2+b^2)-b/(a^2+b^2)*I) *)
+ 1/RtAux[a/(a^2+b^2)-b/(a^2+b^2)*I,n],
+ NthRoot[u,n]]],
+ If[OddQ[n] && NegQ[u] && PosQ[-u],
+ -RtAux[-u,n],
+ NthRoot[u,n]]]]]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*Factor base predicates*)
+
+
+(* If u is an atom or an atom raised to an odd degree, AtomBaseQ[u] returns True; else it returns False. *)
+AtomBaseQ[u_] :=
+ AtomQ[u] || PowerQ[u] && OddQ[u[[2]]] && AtomBaseQ[u[[1]]]
+
+
+(* If u is an sum or a sum raised to an odd degree, SumBaseQ[u] returns True; else it returns False. *)
+SumBaseQ[u_] :=
+ SumQ[u] || PowerQ[u] && OddQ[u[[2]]] && SumBaseQ[u[[1]]]
+
+
+(* If u is a sum or a sum raised to an odd degree whose lead term has a negative form, NegSumBaseQ[u] returns True; else it returns False. *)
+NegSumBaseQ[u_] :=
+ SumQ[u] && NegQ[First[u]] || PowerQ[u] && OddQ[u[[2]]] && NegSumBaseQ[u[[1]]]
+
+
+(* If all terms of u have a negative form, AllNegTermQ[u] returns True; else it returns False. *)
+AllNegTermQ[u_] :=
+ If[PowerQ[u] && OddQ[u[[2]]],
+ AllNegTermQ[u[[1]]],
+ If[SumQ[u],
+ NegQ[First[u]] && AllNegTermQ[Rest[u]],
+ NegQ[u]]]
+
+
+(* If some term of u has a negative form, SomeNegTermQ[u] returns True; else it returns False. *)
+SomeNegTermQ[u_] :=
+ If[PowerQ[u] && OddQ[u[[2]]],
+ SomeNegTermQ[u[[1]]],
+ If[SumQ[u],
+ NegQ[First[u]] || SomeNegTermQ[Rest[u]],
+ NegQ[u]]]
+
+
+(* ::Subsection::Closed:: *)
+(*TrigSquareQ[u]*)
+
+
+(* If u is an expression of the form Sin[z]^2 or Cos[z]^2, TrigSquareQ[u] returns True, else it returns False. *)
+TrigSquareQ[u_] :=
+ PowerQ[u] && EqQ[u[[2]],2] && MemberQ[{Sin,Cos},Head[u[[1]]]]
+
+
+(* ::Subsection::Closed:: *)
+(*SplitProduct[func,u]*)
+
+
+(* If func[v] is True for a factor v of u, SplitProduct[func,u] returns {v, u/v} where v is the first such factor; else it returns False. *)
+SplitProduct[func_,u_] :=
+ If[ProductQ[u],
+ If[func[First[u]],
+ {First[u], Rest[u]},
+ With[{lst=SplitProduct[func,Rest[u]]},
+ If[AtomQ[lst],
+ False,
+ {lst[[1]],First[u]*lst[[2]]}]]],
+ If[func[u],
+ {u, 1},
+ False]]
+
+
+(* ::Subsection::Closed:: *)
+(*SplitSum[func,u]*)
+
+
+(* If func[v] is nonatomic for a term v of u, SplitSum[func,u] returns {func[v], u-v} where v is the first such term; else it returns False. *)
+SplitSum[func_,u_] :=
+ If[SumQ[u],
+ If[Not[AtomQ[func[First[u]]]],
+ {func[First[u]], Rest[u]},
+ With[{lst=SplitSum[func,Rest[u]]},
+ If[AtomQ[lst],
+ False,
+ {lst[[1]],First[u]+lst[[2]]}]]],
+ If[Not[AtomQ[func[u]]],
+ {func[u], 0},
+ False]]
+
+
+(* ::Section::Closed:: *)
+(*IntSum*)
+
+
+(* If u is free of x or of the form c*(a+b*x)^m, IntSum[u,x] returns the antiderivative of u wrt x;
+ else it returns d*Int[v,x] where d*v=u and d is free of x. *)
+IntSum[u_,x_Symbol] :=
+ Simp[FreeTerms[u,x]*x,x] + IntTerm[NonfreeTerms[u,x],x]
+
+
+(* If u is of the form c*(a+b*x)^m, IntTerm[u,x] returns the antiderivative of u wrt x;
+ else it returns d*Int[v,x] where d*v=u and d is free of x. *)
+IntTerm[c_./v_,x_Symbol] :=
+ Simp[c*Log[RemoveContent[v,x]]/Coefficient[v,x,1],x] /;
+FreeQ[c,x] && LinearQ[v,x]
+
+IntTerm[c_.*v_^m_.,x_Symbol] :=
+ Simp[c*v^(m+1)/(Coefficient[v,x,1]*(m+1)),x] /;
+FreeQ[{c,m},x] && NeQ[m,-1] && LinearQ[v,x]
+
+IntTerm[u_,x_Symbol] :=
+ Map[Function[IntTerm[#,x]],u] /;
+SumQ[u]
+
+IntTerm[u_,x_Symbol] :=
+ Dist[FreeFactors[u,x], Int[NonfreeFactors[u,x],x], x]
+
+
+(* ::Section::Closed:: *)
+(*Fix integration rules functions*)
+
+
+(* ::Subsection::Closed:: *)
+(*RuleName[name]*)
+
+
+$RuleNameList={};
+
+
+RuleName[name_] :=
+ (AppendTo[$RuleNameList,name]; Null)
+
+
+(* ::Subsection::Closed:: *)
+(*FixIntRules[rulelist]*)
+
+
+ClearAll[FixIntRules,FixIntRule,FixRhsIntRule]
+
+
+FixIntRules[] :=
+ (DownValues[Int]=FixIntRules[DownValues[Int]]; Null)
+
+
+FixIntRules[rulelist_] :=
+ Module[{IntDownValues=DownValues[Int],SubstDownValues=DownValues[Subst],
+ SimpDownValues=DownValues[Simp],DistDownValues=DownValues[Dist],lst,object},
+ object=PrintTemporary[Row[{"Modifying ",Length[rulelist]," integration rules to distribute coefficients over sums..."}]];
+ Clear[Int,Subst,Simp,Dist];
+ SetAttributes[{Simp,Dist,Int,Subst},HoldAll];
+ lst=Map[Function[FixIntRule[#,#[[1,1,2,1]]]],rulelist];
+ DownValues[Int]=IntDownValues;
+ DownValues[Subst]=SubstDownValues;
+ DownValues[Simp]=SimpDownValues;
+ DownValues[Dist]=DistDownValues;
+ ClearAttributes[{Simp,Dist,Int,Subst},HoldAll];
+ NotebookDelete[object];
+ lst]
+
+
+(* ::Subsection::Closed:: *)
+(*FixIntRule[rule]*)
+
+
+FixIntRule[RuleDelayed[lhs_,F_[G_[list_,F_[u_+v_,test2_]],test1_]],x_] :=
+ ReplacePart[RuleDelayed[lhs,F[G[list,F[u+v,test2]],test1]],{{2,1,2,1,1}->FixRhsIntRule[u,x],{2,1,2,1,2}->FixRhsIntRule[v,x]}] /;
+F===Condition && (G===With || G===Module || G===Block)
+
+FixIntRule[RuleDelayed[lhs_,G_[list_,F_[u_+v_,test2_]]],x_] :=
+ ReplacePart[RuleDelayed[lhs,G[list,F[u+v,test2]]],{{2,2,1,1}->FixRhsIntRule[u,x],{2,2,1,2}->FixRhsIntRule[v,x]}] /;
+F===Condition && (G===With || G===Module || G===Block)
+
+FixIntRule[RuleDelayed[lhs_,F_[G_[list_,u_+v_],test_]],x_] :=
+ ReplacePart[RuleDelayed[lhs,F[G[list,u+v],test]],{{2,1,2,1}->FixRhsIntRule[u,x],{2,1,2,2}->FixRhsIntRule[v,x]}] /;
+F===Condition && (G===With || G===Module || G===Block)
+
+FixIntRule[RuleDelayed[lhs_,G_[list_,u_+v_]],x_] :=
+ ReplacePart[RuleDelayed[lhs,G[list,u+v]],{{2,2,1}->FixRhsIntRule[u,x],{2,2,2}->FixRhsIntRule[v,x]}] /;
+(G===With || G===Module || G===Block)
+
+FixIntRule[RuleDelayed[lhs_,F_[u_+v_,test_]],x_] :=
+ ReplacePart[RuleDelayed[lhs,F[u+v,test]],{{2,1,1}->FixRhsIntRule[u,x],{2,1,2}->FixRhsIntRule[v,x]}] /;
+F===Condition
+
+FixIntRule[RuleDelayed[lhs_,u_+v_],x_] :=
+ ReplacePart[RuleDelayed[lhs,u+v],{{2,1}->FixRhsIntRule[u,x],{2,2}->FixRhsIntRule[v,x]}]
+
+
+FixIntRule[RuleDelayed[lhs_,F_[G_[list1_,F_[H_[list2_,u_],test2_]],test1_]],x_] :=
+ ReplacePart[RuleDelayed[lhs,F[G[list1,F[H[list2,u],test2]],test1]],{2,1,2,1,2}->FixRhsIntRule[u,x]] /;
+F===Condition && (G===With || G===Module || G===Block) && (H===With || H===Module || H===Block)
+
+FixIntRule[RuleDelayed[lhs_,F_[G_[list1_,H_[list2_,u_]],test1_]],x_] :=
+ ReplacePart[RuleDelayed[lhs,F[G[list1,H[list2,u]],test1]],{2,1,2,2}->FixRhsIntRule[u,x]] /;
+F===Condition && (G===With || G===Module || G===Block) && (H===With || H===Module || H===Block)
+
+FixIntRule[RuleDelayed[lhs_,F_[G_[list_,F_[H_[str1_,str2_,str3_,J_[u_]],test2_]],test1_]],x_] :=
+ ReplacePart[RuleDelayed[lhs,F[G[list,F[H[str1,str2,str3,J[u]],test2]],test1]],{2,1,2,1,4,1}->FixRhsIntRule[u,x]] /;
+F===Condition && (G===With || G===Module || G===Block) && H===ShowStep && J===Hold
+
+FixIntRule[RuleDelayed[lhs_,F_[G_[list_,F_[u_,test2_]],test1_]],x_] :=
+ ReplacePart[RuleDelayed[lhs,F[G[list,F[u,test2]],test1]],{2,1,2,1}->FixRhsIntRule[u,x]] /;
+F===Condition && (G===With || G===Module || G===Block)
+
+FixIntRule[RuleDelayed[lhs_,G_[list_,F_[u_,test2_]]],x_] :=
+ ReplacePart[RuleDelayed[lhs,G[list,F[u,test2]]],{2,2,1}->FixRhsIntRule[u,x]] /;
+F===Condition && (G===With || G===Module || G===Block)
+
+FixIntRule[RuleDelayed[lhs_,F_[G_[list_,u_],test_]],x_] :=
+ ReplacePart[RuleDelayed[lhs,F[G[list,u],test]],{2,1,2}->FixRhsIntRule[u,x]] /;
+F===Condition && (G===With || G===Module || G===Block)
+
+FixIntRule[RuleDelayed[lhs_,G_[list_,u_]],x_] :=
+ ReplacePart[RuleDelayed[lhs,G[list,u]],{2,2}->FixRhsIntRule[u,x]] /;
+(G===With || G===Module || G===Block)
+
+FixIntRule[RuleDelayed[lhs_,F_[u_,test_]],x_] :=
+ ReplacePart[RuleDelayed[lhs,F[u,test]],{2,1}->FixRhsIntRule[u,x]] /;
+F===Condition
+
+FixIntRule[RuleDelayed[lhs_,u_],x_] :=
+ ReplacePart[RuleDelayed[lhs,u],{2}->FixRhsIntRule[u,x]]
+
+
+(* ::Subsection::Closed:: *)
+(*FixRhsIntRule[rhs,x]*)
+
+
+SetAttributes[FixRhsIntRule,HoldAll];
+
+FixRhsIntRule[u_+v_,x_] :=
+ FixRhsIntRule[u,x]+FixRhsIntRule[v,x]
+
+FixRhsIntRule[u_-v_,x_] :=
+ FixRhsIntRule[u,x]-FixRhsIntRule[v,x]
+
+FixRhsIntRule[-u_,x_] :=
+ -FixRhsIntRule[u,x]
+
+FixRhsIntRule[a_*u_,x_] :=
+ Dist[a,u,x] /;
+MemberQ[{Int,Subst},Head[Unevaluated[u]]]
+
+FixRhsIntRule[u_,x_] :=
+ If[Head[Unevaluated[u]]===Dist && Length[Unevaluated[u]]==2,
+ Insert[Unevaluated[u],x,3],
+ If[MemberQ[{Int,Subst,Defer[Int],Simp,Dist},Head[Unevaluated[u]]],
+ u,
+ Simp[u,x]]]
+`)
+
+func resourcesRubiIntegrationUtilityFunctionsMBytes() ([]byte, error) {
+ return _resourcesRubiIntegrationUtilityFunctionsM, nil
+}
+
+func resourcesRubiIntegrationUtilityFunctionsM() (*asset, error) {
+ bytes, err := resourcesRubiIntegrationUtilityFunctionsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/Integration Utility Functions.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubiMakerubimxfileM = []byte(`(* ::Package:: *)
+
+(* ::Title:: *)
+(*Make Rubi MX file*)
+
+
+(* ::Subsubtitle:: *)
+(*Run this package to generate a fast-loading Rubi4.8.mx file that can be read using a Get ["Rubi4.8.mx"] command.*)
+
+
+(* ::Subsubtitle:: *)
+(*Set the control variable ShowSteps to True before running this package to generate a ShowRubi4.8.mx file that enables Rubi to display the steps required to integrate an expression.*)
+
+
+(* ::Subsubtitle:: *)
+(*Note that MX files cannot be exchanged between different operating systems or versions of Mathematica.*)
+
+
+ShowSteps=False;
+
+
+Get[NotebookDirectory[]<>"ShowStep Routines.m"];
+Get[NotebookDirectory[]<>"Integration Utility Functions.m"];
+
+Clear[Int];
+Int::usage="Int[expn,var] returns the indefinite integral of with respect to .";
+
+LoadPackage["8.1 Integrand Simplification Rules"];
+
+LoadPackage["1.1 Linear Product Rules"];
+LoadPackage["1.2 Quadratic Product Rules"];
+LoadPackage["1.3 Binomial Product Rules"];
+LoadPackage["1.4 Trinomial Product Rules"];
+LoadPackage["1.5 Algebraic Function Rules"];
+
+LoadPackage["8.3 Piecewise Linear Function Rules"];
+LoadPackage["2 Exponential Function Rules"];
+
+LoadPackage["3.1 Sine Function Rules"];
+LoadPackage["3.2 Tangent Function Rules"];
+LoadPackage["3.3 Secant Function Rules"];
+LoadPackage["3.4 Trig Function Rules"];
+
+LoadPackage["4 Hyperbolic Function Rules"];
+
+LoadPackage["5 Inverse Trig Function Rules"];
+
+LoadPackage["6 Inverse Hyperbolic Function Rules"];
+
+LoadPackage["7 Special Function Rules"];
+
+LoadPackage["8.2 Derivative Integration Rules"];
+LoadPackage["8.4 Miscellaneous Integration Rules"];
+FixIntRules[];
+
+
+If[ShowSteps, StepFunction[Int]];
+
+
+SetDirectory[NotebookDirectory[]];
+DumpSave[If[ShowSteps===True, "StepRubi4.8.mx", "Rubi4.8.mx"], "Global`+"`"+`"];
+ResetDirectory[];
+`)
+
+func resourcesRubiMakerubimxfileMBytes() ([]byte, error) {
+ return _resourcesRubiMakerubimxfileM, nil
+}
+
+func resourcesRubiMakerubimxfileM() (*asset, error) {
+ bytes, err := resourcesRubiMakerubimxfileMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/MakeRubiMxFile.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubiReadme = []byte(`A snapshot of the Rubi rules by Albert D. Rich from http://www.apmaths.uwo.ca/~arich/. We sincerely thank Albert for his work on building this impressive collection of integration rules and making them freely available for use.
+
+This README is the only file in this directory that is not part of the Rubi distribution. The other files are not modified in any way.
+
+The snapshot currently contains Rubi version: 4.12.1
+`)
+
+func resourcesRubiReadmeBytes() ([]byte, error) {
+ return _resourcesRubiReadme, nil
+}
+
+func resourcesRubiReadme() (*asset, error) {
+ bytes, err := resourcesRubiReadmeBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/README", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubiRubiM = []byte(`(* ::Package:: *)
+
+(* ::Title:: *)
+(*Rubi (Rule-Based Integrator) Package*)
+
+
+BeginPackage["Rubi`+"`"+`"];
+
+
+Int::usage =
+"Int[expn,var] returns the antiderivative (indefinite integral) of with respect to .
+Int[list,var] returns a list of the antiderivatives of the elements of with respect to .";
+
+
+IntShowSteps::usage = "IntShowSteps[expn,var] shows all the rules and intermediate steps required to integrate with respect to , and returns Null.";
+
+
+Dist::usage = "Dist[expn1,expn2,var] distributes over .";
+Subst::usage = "Subst[expn1,var,expn2] substitutes for in .";
+
+
+ShowSteps::usage = "If ShowSteps is True and the ShowSteps package has been loaded, integration steps are displayed.";
+$StepCounter::usage = "If the ShowSteps package has been loaded and $StepCounter is an integer, it is incremented each time an integration rule is applied.";
+
+
+$RuleColor::usage = "$RuleColor is the color used to display rules when showing integration steps. The default rule color is red."
+$ConditionColor::usage = "$ConditionColor is the color used to display application conditions when showing integration steps. The default condition color is blue."
+
+
+sin::usage = "Inert sine function";
+cos::usage = "Inert cosine function";
+tan::usage = "Inert tangent function";
+cot::usage = "Inert cotangent function";
+sec::usage = "Inert secant function";
+csc::usage = "Inert cosecant function";
+
+
+Begin["`+"`"+`Private`+"`"+`"];
+
+
+LoadRules[filename_String] :=
+ Module[{object},
+ object=PrintTemporary["Loading "<>filename<>".m..."];
+ Get[NotebookDirectory[]<>filename<>".m"];
+ NotebookDelete[object];
+ Null]
+
+
+Unprotect[Int]; Clear[Int];
+
+
+SetAttributes [Int, {Listable}];
+
+
+ShowSteps = Global`+"`"+`$LoadShowSteps===True;
+
+
+LoadRules["ShowStep routines"];
+LoadRules["Integration utility functions"];
+LoadRules["9.1 Integrand simplification rules"];
+
+
+LoadRules["1.1.1 Linear binomial products"];
+LoadRules["1.1.3 General binomial products"];
+
+LoadRules["1.2.1 Quadratic trinomial products"];
+LoadRules["1.2.2 Quartic trinomial products"];
+LoadRules["1.2.3 General trinomial products"];
+LoadRules["1.2.4 Improper trinomial products"];
+
+LoadRules["1.1.4 Improper binomial products"];
+LoadRules["1.3 Miscellaneous algebraic functions"];
+
+
+LoadRules["9.3 Piecewise linear functions"];
+LoadRules["2 Exponentials"];
+LoadRules["3 Logarithms"];
+LoadRules["4.1 Sine"];
+LoadRules["4.2 Tangent"];
+LoadRules["4.3 Secant"];
+LoadRules["4.4 Miscellaneous trig functions"];
+LoadRules["5 Inverse trig functions"];
+LoadRules["6 Hyperbolic functions"];
+LoadRules["7 Inverse hyperbolic functions"];
+LoadRules["8 Special functions"];
+LoadRules["9.2 Derivative integration rules"];
+LoadRules["9.4 Miscellaneous integration rules"];
+
+
+FixIntRules[];
+
+
+If[Global`+"`"+`$LoadShowSteps===True, StepFunction[Int]];
+
+
+Protect[Int];
+
+
+End [];
+EndPackage [];
+`)
+
+func resourcesRubiRubiMBytes() ([]byte, error) {
+ return _resourcesRubiRubiM, nil
+}
+
+func resourcesRubiRubiM() (*asset, error) {
+ bytes, err := resourcesRubiRubiMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/Rubi.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubiRubi412Nb = []byte(`(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 7.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 18593, 419]
+NotebookOptionsPosition[ 17655, 387]
+NotebookOutlinePosition[ 18064, 404]
+CellTagsIndexPosition[ 18021, 401]
+WindowFrame->Normal*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+
+Cell[CellGroupData[{
+Cell[TextData[{
+ StyleBox["Rubi",
+ FontSlant->"Italic"],
+ " 4.12.1"
+}], "Title",
+ CellChangeTimes->{{3.4897813784127054`+"`"+`*^9, 3.4897813794267073`+"`"+`*^9},
+ 3.518320509030015*^9, {3.5769613958072157`+"`"+`*^9, 3.576961399157221*^9}, {
+ 3.5818113211358624`+"`"+`*^9, 3.581811322505864*^9}, {3.588014284106391*^9,
+ 3.5880142845587916`+"`"+`*^9}, {3.5933144297049866`+"`"+`*^9,
+ 3.5933144300349865`+"`"+`*^9}, {3.5953446914325457`+"`"+`*^9, 3.595344691902547*^9}, {
+ 3.612238596642627*^9, 3.612238596892227*^9}, {3.6235574469855204`+"`"+`*^9,
+ 3.623557447305521*^9}, {3.6336310694366074`+"`"+`*^9, 3.633631070093645*^9}, {
+ 3.6414292510530057`+"`"+`*^9, 3.6414292518174067`+"`"+`*^9}, {3.6669851230264883`+"`"+`*^9,
+ 3.66698512435649*^9}, {3.6809646450469093`+"`"+`*^9, 3.6809646561585455`+"`"+`*^9}, {
+ 3.682799968357607*^9, 3.682799968746629*^9}, {3.683231370531602*^9,
+ 3.6832313714826565`+"`"+`*^9}, {3.685735947623728*^9, 3.6857359497737303`+"`"+`*^9}, {
+ 3.686789919766761*^9, 3.6867899200487766`+"`"+`*^9}, {3.687230099297368*^9,
+ 3.6872300995693836`+"`"+`*^9}, {3.6892138635040665`+"`"+`*^9, 3.689213863730079*^9}, {
+ 3.690146376179472*^9, 3.690146376547493*^9}, {3.6919485296883698`+"`"+`*^9,
+ 3.6919485300683703`+"`"+`*^9}, {3.6932827954675274`+"`"+`*^9,
+ 3.6932827957483277`+"`"+`*^9}, {3.695091542008456*^9, 3.6950915425794888`+"`"+`*^9}, {
+ 3.6966170132343836`+"`"+`*^9, 3.696617013554384*^9}, {3.6976798751471663`+"`"+`*^9,
+ 3.6976798774002953`+"`"+`*^9}, {3.702673552626842*^9, 3.7026735531568427`+"`"+`*^9}, {
+ 3.705885647832942*^9, 3.705885649283745*^9}, {3.706152621368204*^9,
+ 3.7061526217682047`+"`"+`*^9}, {3.7063765173533025`+"`"+`*^9, 3.706376517609317*^9}, {
+ 3.706393141129644*^9, 3.7063931434617777`+"`"+`*^9}, {3.7090906465542336`+"`"+`*^9,
+ 3.7090906473842807`+"`"+`*^9}},
+ TextAlignment->Center],
+
+Cell["Rule-Based Integrator", "Subtitle",
+ CellChangeTimes->{{3.4897814556796412`+"`"+`*^9, 3.4897814580976458`+"`"+`*^9}, {
+ 3.5769621785283117`+"`"+`*^9, 3.576962186368323*^9}},
+ TextAlignment->Center,
+ FontWeight->"Bold"],
+
+Cell["Crafted by Albert D. Rich, Applied Logician", "Subsubtitle",
+ TextAlignment->Center],
+
+Cell[TextData[{
+ "Store this ",
+ StyleBox["Mathematica",
+ FontSlant->"Italic"],
+ " notebook file and the ",
+ StyleBox["Rubi",
+ FontSlant->"Italic"],
+ " package files in a directory of your choice. Then press Shift-Enter or \
+use ",
+ StyleBox["Mathematica'",
+ FontSlant->"Italic"],
+ "s Evaluation>Evaluate Initialization Cells command to evaluate the cells in \
+this notebook. This loads ",
+ StyleBox["Rubi",
+ FontSlant->"Italic"],
+ "\[CloseCurlyQuote]s integration rules, show-step routines and required \
+utility functions. This process may require a few minutes, depending on the \
+speed of your computer."
+}], "Text",
+ CellChangeTimes->{{3.4897816406959662`+"`"+`*^9, 3.489781641288767*^9}, {
+ 3.4897816777304316`+"`"+`*^9, 3.489781737369336*^9}, {3.489781785947821*^9,
+ 3.4897818697199683`+"`"+`*^9}, {3.4905072763181257`+"`"+`*^9, 3.490507283291338*^9}, {
+ 3.4905073468458495`+"`"+`*^9, 3.490507371852693*^9}, {3.4905080078118114`+"`"+`*^9,
+ 3.490508028559848*^9}, {3.4905107317414007`+"`"+`*^9, 3.4905107735806737`+"`"+`*^9},
+ 3.490510813766344*^9, {3.4905108637176323`+"`"+`*^9, 3.490510901812899*^9}, {
+ 3.490511168120967*^9, 3.4905112618615313`+"`"+`*^9}, {3.490511322108837*^9,
+ 3.490511340345269*^9}, {3.490511371077323*^9, 3.4905113713113236`+"`"+`*^9}, {
+ 3.5769622262183785`+"`"+`*^9, 3.5769622320083866`+"`"+`*^9}, {3.5769666010375414`+"`"+`*^9,
+ 3.576966623167572*^9}, {3.5769666536376147`+"`"+`*^9, 3.5769667748577843`+"`"+`*^9}, {
+ 3.581811338675887*^9, 3.581811339045888*^9}, {3.5880143026080236`+"`"+`*^9,
+ 3.5880143030292244`+"`"+`*^9}, {3.593314440145001*^9, 3.5933144404550014`+"`"+`*^9},
+ 3.623557507675606*^9, {3.633631105913694*^9, 3.6336311099999275`+"`"+`*^9}, {
+ 3.6414292622226253`+"`"+`*^9, 3.641429263969828*^9}, {3.6669851340075035`+"`"+`*^9,
+ 3.6669851344275045`+"`"+`*^9}, {3.685735975257767*^9, 3.6857359759677677`+"`"+`*^9}, {
+ 3.686330797987679*^9, 3.6863307983126974`+"`"+`*^9}, {3.696617275962763*^9,
+ 3.6966172778627653`+"`"+`*^9}, {3.697679910094166*^9, 3.6976799160475063`+"`"+`*^9}, {
+ 3.706393246928695*^9, 3.7063932472577143`+"`"+`*^9}},
+ FontSize->16],
+
+Cell[TextData[{
+ "If the control variable ",
+ StyleBox["$LoadShowSteps",
+ FontWeight->"Bold"],
+ " is ",
+ StyleBox["True",
+ FontWeight->"Bold"],
+ " when the rules are being loaded, their definitions are modified so the \
+steps used to integrate expressions can be displayed. To load ",
+ StyleBox["Rubi",
+ FontSlant->"Italic"],
+ " without this considerable overhead, change the value of the following \
+assignment to ",
+ StyleBox["False",
+ FontWeight->"Bold"],
+ " ",
+ StyleBox["before",
+ FontSlant->"Italic"],
+ " loading the system."
+}], "Text",
+ CellChangeTimes->{{3.4897816406959662`+"`"+`*^9, 3.489781641288767*^9}, {
+ 3.4897816777304316`+"`"+`*^9, 3.489781737369336*^9}, {3.489781785947821*^9,
+ 3.4897818697199683`+"`"+`*^9}, {3.48978190503843*^9, 3.489781921356059*^9}, {
+ 3.489781958094124*^9, 3.4897819858777723`+"`"+`*^9}, 3.4905074310943985`+"`"+`*^9, {
+ 3.4905074899377017`+"`"+`*^9, 3.4905075045861273`+"`"+`*^9}, {3.4905076088723106`+"`"+`*^9,
+ 3.4905077000388703`+"`"+`*^9}, {3.4905077353105326`+"`"+`*^9,
+ 3.4905077417533436`+"`"+`*^9}, {3.4905077785850086`+"`"+`*^9,
+ 3.4905078144338713`+"`"+`*^9}, {3.490507855789544*^9, 3.4905078566007457`+"`"+`*^9}, {
+ 3.490507922557661*^9, 3.490507970886546*^9}, {3.4905082544950447`+"`"+`*^9,
+ 3.4905082803130894`+"`"+`*^9}, {3.4905083779848614`+"`"+`*^9,
+ 3.4905083782812614`+"`"+`*^9}, {3.4905084158617277`+"`"+`*^9, 3.490508416033328*^9}, {
+ 3.4905088136396275`+"`"+`*^9, 3.490508818304035*^9}, {3.490511426847421*^9,
+ 3.4905114499666615`+"`"+`*^9}, {3.576966785177799*^9, 3.5769668198978477`+"`"+`*^9}, {
+ 3.7063765327261815`+"`"+`*^9, 3.706376547279014*^9}, {3.706376654571151*^9,
+ 3.706376659223417*^9}, {3.7063932941673975`+"`"+`*^9, 3.706393305249031*^9}, {
+ 3.706393380809353*^9, 3.7063934646011457`+"`"+`*^9}, {3.7063935962866774`+"`"+`*^9,
+ 3.7063935965546927`+"`"+`*^9}, {3.706399491723877*^9, 3.706399495302082*^9}, {
+ 3.7063997364058723`+"`"+`*^9, 3.706399779607343*^9}},
+ FontSize->16],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"$LoadShowSteps", " ", "=", " ", "True"}], ";"}]], "Code",
+ CellChangeTimes->{{3.4897820121794186`+"`"+`*^9, 3.4897820382626643`+"`"+`*^9}, {
+ 3.7062395371073294`+"`"+`*^9, 3.706239538477331*^9}, {3.7063765636919527`+"`"+`*^9,
+ 3.7063765650210285`+"`"+`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Get", "[",
+ RowBox[{
+ RowBox[{"NotebookDirectory", "[", "]"}], "<>", "\"\\""}], "]"}],
+ ";"}]], "Code",
+ CellChangeTimes->{{3.4897813390382366`+"`"+`*^9, 3.489781344779046*^9}, {
+ 3.489782578869215*^9, 3.489782580725618*^9}, {3.490508624536095*^9,
+ 3.49050875250312*^9}, {3.4905090125087767`+"`"+`*^9, 3.49050901444318*^9}, {
+ 3.490509114111755*^9, 3.4905091205077662`+"`"+`*^9}, {3.490510930204949*^9,
+ 3.490510959673401*^9}, {3.518320785100402*^9, 3.518320823170455*^9}, {
+ 3.518321371471223*^9, 3.5183214048112693`+"`"+`*^9}, {3.518321436071313*^9,
+ 3.5183214540713387`+"`"+`*^9}, {3.518321503801408*^9, 3.5183215396314583`+"`"+`*^9}, {
+ 3.576961432047267*^9, 3.576961570947461*^9}, {3.576961607167512*^9,
+ 3.5769616303175445`+"`"+`*^9}, {3.576961661427588*^9, 3.576961695047635*^9}, {
+ 3.5769617588277245`+"`"+`*^9, 3.5769618302878246`+"`"+`*^9}, {3.5769619293479633`+"`"+`*^9,
+ 3.576961935817972*^9}, {3.576962004338068*^9, 3.5769620153680835`+"`"+`*^9}, {
+ 3.576962478824736*^9, 3.5769624799947376`+"`"+`*^9}, {3.576965706486283*^9,
+ 3.5769657335563207`+"`"+`*^9}, 3.5981526491463847`+"`"+`*^9, 3.612238809426402*^9, {
+ 3.6414293246225367`+"`"+`*^9, 3.6414293251373377`+"`"+`*^9}, {3.641429366322812*^9,
+ 3.641429494050638*^9}, {3.641435429004635*^9, 3.64143551650064*^9}, {
+ 3.6414361647507176`+"`"+`*^9, 3.641436360038887*^9}, {3.641436542370316*^9,
+ 3.6414365842197094`+"`"+`*^9}, {3.6428031601188593`+"`"+`*^9, 3.642803169928873*^9}, {
+ 3.6466313554150295`+"`"+`*^9, 3.6466313700328655`+"`"+`*^9}, {3.646631424689992*^9,
+ 3.646631444188107*^9}, {3.6466315486800833`+"`"+`*^9, 3.646631548931098*^9},
+ 3.646631850006318*^9, {3.650664373911137*^9, 3.650664438781228*^9}, {
+ 3.6506644734412766`+"`"+`*^9, 3.650664623111486*^9}, {3.650664665331545*^9,
+ 3.650664665801546*^9}, {3.650664703321598*^9, 3.6506647778017025`+"`"+`*^9}, {
+ 3.6506705925161247`+"`"+`*^9, 3.6506706012861366`+"`"+`*^9}, {3.6832327302853756`+"`"+`*^9,
+ 3.6832327457572603`+"`"+`*^9}, {3.68323290414032*^9, 3.6832329107706985`+"`"+`*^9}, {
+ 3.6976869146198015`+"`"+`*^9, 3.697686933288869*^9}, {3.706376572842476*^9,
+ 3.7063765753146176`+"`"+`*^9}, {3.706378010821724*^9, 3.7063780118937855`+"`"+`*^9}, {
+ 3.7063796188806996`+"`"+`*^9, 3.706379628102227*^9}, {3.706379859684473*^9,
+ 3.706379875088354*^9}}],
+
+Cell[TextData[{
+ "The function ",
+ StyleBox["Int",
+ FontWeight->"Bold"],
+ " returns the antiderivative (indefinite integral) of an expression with \
+respect to a given variable. ",
+ StyleBox["Int",
+ FontWeight->"Bold"],
+ " is ",
+ StyleBox["not",
+ FontSlant->"Italic"],
+ " able to compute definite integrals."
+}], "Text",
+ CellChangeTimes->{{3.4897816406959662`+"`"+`*^9, 3.489781641288767*^9}, {
+ 3.4897816777304316`+"`"+`*^9, 3.489781737369336*^9}, {3.489781785947821*^9,
+ 3.4897818697199683`+"`"+`*^9}, {3.48978190503843*^9, 3.489781921356059*^9}, {
+ 3.489781958094124*^9, 3.4897819858777723`+"`"+`*^9}, {3.4897820637063093`+"`"+`*^9,
+ 3.4897820981199694`+"`"+`*^9}, 3.4897822161497765`+"`"+`*^9, {3.4897840774906487`+"`"+`*^9,
+ 3.4897840907506723`+"`"+`*^9}, {3.4897842079224777`+"`"+`*^9,
+ 3.4897842092952805`+"`"+`*^9}, {3.4905088717965293`+"`"+`*^9, 3.490508881172146*^9}, {
+ 3.4905089196730137`+"`"+`*^9, 3.4905089314354343`+"`"+`*^9}, {3.5769669579280405`+"`"+`*^9,
+ 3.5769671537783155`+"`"+`*^9}, {3.5770818401387987`+"`"+`*^9, 3.577082065184794*^9}, {
+ 3.5770821198940897`+"`"+`*^9, 3.577082170594179*^9}, 3.577082332896864*^9, {
+ 3.7063936678217688`+"`"+`*^9, 3.7063936685528107`+"`"+`*^9}, {3.706399437183758*^9,
+ 3.706399471405715*^9}, {3.706399511039982*^9, 3.7063995141081576`+"`"+`*^9}, {
+ 3.706400022249222*^9, 3.7064000373220835`+"`"+`*^9}, {3.7064000680278397`+"`"+`*^9,
+ 3.7064001117953434`+"`"+`*^9}, {3.7064001435691605`+"`"+`*^9, 3.706400148399437*^9}, {
+ 3.706400178509159*^9, 3.706400204874667*^9}, {3.7064005515774975`+"`"+`*^9,
+ 3.7064005938339148`+"`"+`*^9}, {3.7064006957517433`+"`"+`*^9,
+ 3.7064007156428814`+"`"+`*^9}, {3.7070019314478283`+"`"+`*^9, 3.707001951677985*^9}, {
+ 3.7070039353025103`+"`"+`*^9, 3.707004082873951*^9}},
+ FontSize->16],
+
+Cell[BoxData[
+ RowBox[{"?", " ", "Int"}]], "Code",
+ CellChangeTimes->{
+ 3.4905089424334536`+"`"+`*^9, {3.7063777742591934`+"`"+`*^9, 3.706377775711276*^9}}],
+
+Cell[TextData[{
+ "If ",
+ StyleBox["$LoadShowSteps",
+ FontWeight->"Bold"],
+ " was ",
+ StyleBox["True",
+ FontWeight->"Bold"],
+ " when ",
+ StyleBox["Rubi",
+ FontSlant->"Italic"],
+ " was loaded ",
+ StyleBox["and",
+ FontSlant->"Italic"],
+ " the control variable ",
+ StyleBox["ShowSteps",
+ FontWeight->"Bold"],
+ " is ",
+ StyleBox["True",
+ FontWeight->"Bold"],
+ ", ",
+ StyleBox["Int",
+ FontWeight->"Bold"],
+ " shows just one step of the integration and returns the intermediate \
+result. If ",
+ StyleBox["$LoadShowSteps",
+ FontWeight->"Bold"],
+ " was ",
+ StyleBox["False",
+ FontWeight->"Bold"],
+ " when ",
+ StyleBox["Rubi",
+ FontSlant->"Italic"],
+ " was loaded ",
+ StyleBox["or",
+ FontSlant->"Italic"],
+ " the control variable ",
+ StyleBox["ShowSteps",
+ FontWeight->"Bold"],
+ " is ",
+ StyleBox["False",
+ FontWeight->"Bold"],
+ ", ",
+ StyleBox["Int",
+ FontWeight->"Bold"],
+ " returns the antiderivative without showing the steps."
+}], "Text",
+ CellChangeTimes->{{3.4897816406959662`+"`"+`*^9, 3.489781641288767*^9}, {
+ 3.4897816777304316`+"`"+`*^9, 3.489781737369336*^9}, {3.489781785947821*^9,
+ 3.4897818697199683`+"`"+`*^9}, {3.48978190503843*^9, 3.489781921356059*^9}, {
+ 3.489781958094124*^9, 3.4897819858777723`+"`"+`*^9}, {3.4897820637063093`+"`"+`*^9,
+ 3.4897820981199694`+"`"+`*^9}, 3.4897822161497765`+"`"+`*^9, {3.4897840774906487`+"`"+`*^9,
+ 3.4897840907506723`+"`"+`*^9}, {3.4897842079224777`+"`"+`*^9,
+ 3.4897842092952805`+"`"+`*^9}, {3.4905088717965293`+"`"+`*^9, 3.490508881172146*^9}, {
+ 3.4905089196730137`+"`"+`*^9, 3.4905089314354343`+"`"+`*^9}, {3.5769669579280405`+"`"+`*^9,
+ 3.5769671537783155`+"`"+`*^9}, {3.5770818401387987`+"`"+`*^9, 3.577082065184794*^9}, {
+ 3.5770821198940897`+"`"+`*^9, 3.577082170594179*^9}, 3.577082332896864*^9, {
+ 3.7063936678217688`+"`"+`*^9, 3.7063936685528107`+"`"+`*^9}, {3.706399437183758*^9,
+ 3.706399471405715*^9}, {3.706399511039982*^9, 3.7063995141081576`+"`"+`*^9}, {
+ 3.706400022249222*^9, 3.7064000373220835`+"`"+`*^9}, {3.7064000680278397`+"`"+`*^9,
+ 3.7064001117953434`+"`"+`*^9}, {3.7064001435691605`+"`"+`*^9, 3.706400148399437*^9}, {
+ 3.706400178509159*^9, 3.706400204874667*^9}, {3.7064005515774975`+"`"+`*^9,
+ 3.7064006532903147`+"`"+`*^9}, {3.7064007512299166`+"`"+`*^9,
+ 3.7064008230720263`+"`"+`*^9}, {3.7064010427835927`+"`"+`*^9,
+ 3.7064010739973783`+"`"+`*^9}, {3.7064011124925795`+"`"+`*^9, 3.706401133173763*^9}, {
+ 3.706401199246542*^9, 3.7064013036675143`+"`"+`*^9}, {3.7064013764556775`+"`"+`*^9,
+ 3.70640146339265*^9}},
+ FontSize->16],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"ShowSteps", " ", "=", " ", "True"}], ";"}]], "Code",
+ CellChangeTimes->{
+ 3.4905089424334536`+"`"+`*^9, {3.7063777742591934`+"`"+`*^9, 3.706377775711276*^9}, {
+ 3.7064006167422247`+"`"+`*^9, 3.7064006200564137`+"`"+`*^9}, {3.7070041710129924`+"`"+`*^9,
+ 3.707004172412072*^9}}],
+
+Cell[BoxData[
+ RowBox[{"?", " ", "ShowSteps"}]], "Code",
+ CellChangeTimes->{
+ 3.4905089424334536`+"`"+`*^9, {3.7063777742591934`+"`"+`*^9, 3.706377775711276*^9}, {
+ 3.7064006167422247`+"`"+`*^9, 3.7064006200564137`+"`"+`*^9}}],
+
+Cell[TextData[{
+ "To see the remaining steps, successively evaluate the intermediate results \
+until it is completely integrated. To change the display color of the rules \
+and conditions, set the control variables ",
+ StyleBox["$RuleColor",
+ FontWeight->"Bold"],
+ " and ",
+ StyleBox["$ConditionColor",
+ FontWeight->"Bold"],
+ " to the desired colors."
+}], "Text",
+ CellChangeTimes->{{3.4897816406959662`+"`"+`*^9, 3.489781641288767*^9}, {
+ 3.4897816777304316`+"`"+`*^9, 3.489781737369336*^9}, {3.489781785947821*^9,
+ 3.4897818697199683`+"`"+`*^9}, {3.48978190503843*^9, 3.489781921356059*^9}, {
+ 3.489781958094124*^9, 3.4897819858777723`+"`"+`*^9}, {3.4897820637063093`+"`"+`*^9,
+ 3.4897820981199694`+"`"+`*^9}, 3.4897822161497765`+"`"+`*^9, {3.4897840774906487`+"`"+`*^9,
+ 3.4897840907506723`+"`"+`*^9}, {3.4897842079224777`+"`"+`*^9,
+ 3.4897842092952805`+"`"+`*^9}, {3.4905088717965293`+"`"+`*^9, 3.490508881172146*^9}, {
+ 3.4905089196730137`+"`"+`*^9, 3.4905089314354343`+"`"+`*^9}, {3.5769669579280405`+"`"+`*^9,
+ 3.5769671537783155`+"`"+`*^9}, {3.5770818401387987`+"`"+`*^9, 3.577082065184794*^9}, {
+ 3.5770821198940897`+"`"+`*^9, 3.577082170594179*^9}, 3.577082332896864*^9, {
+ 3.7063936678217688`+"`"+`*^9, 3.7063936685528107`+"`"+`*^9}, {3.706399437183758*^9,
+ 3.706399471405715*^9}, {3.706399511039982*^9, 3.7063995141081576`+"`"+`*^9}, {
+ 3.706400253238433*^9, 3.706400285841298*^9}, {3.7064003254025607`+"`"+`*^9,
+ 3.706400351123032*^9}, {3.7064003851039753`+"`"+`*^9, 3.7064004756851563`+"`"+`*^9}, {
+ 3.7064005442440777`+"`"+`*^9, 3.7064005499824057`+"`"+`*^9}, {3.70640085250871*^9,
+ 3.7064008527707243`+"`"+`*^9}, 3.7064008935520573`+"`"+`*^9, {3.7064009277310123`+"`"+`*^9,
+ 3.706400928899079*^9}, 3.706401268059478*^9, 3.7064013005593367`+"`"+`*^9, {
+ 3.7064013410226507`+"`"+`*^9, 3.706401345291895*^9}},
+ FontSize->16],
+
+Cell[BoxData[{
+ RowBox[{
+ RowBox[{"$RuleColor", " ", "=", " ", "Red"}], ";"}], "\n",
+ RowBox[{
+ RowBox[{"$ConditionColor", " ", "=", " ", "Blue"}], ";"}]}], "Code",
+ CellChangeTimes->{
+ 3.4905089424334536`+"`"+`*^9, {3.7063777742591934`+"`"+`*^9, 3.706377775711276*^9}, {
+ 3.7064006167422247`+"`"+`*^9, 3.7064006200564137`+"`"+`*^9}, {3.706400992084693*^9,
+ 3.7064010187052155`+"`"+`*^9}, {3.7070016839306707`+"`"+`*^9, 3.7070017095881386`+"`"+`*^9},
+ 3.7070041689718757`+"`"+`*^9}],
+
+Cell[TextData[{
+ "If ",
+ StyleBox["$LoadShowSteps",
+ FontWeight->"Bold"],
+ " was ",
+ StyleBox["True",
+ FontWeight->"Bold"],
+ " when ",
+ StyleBox["Rubi",
+ FontSlant->"Italic"],
+ " was loaded, the function ",
+ StyleBox["IntShowSteps",
+ FontWeight->"Bold"],
+ " displays all the integration rules and intermediate results required to \
+integrate an expression."
+}], "Text",
+ CellChangeTimes->{{3.4897816406959662`+"`"+`*^9, 3.489781641288767*^9}, {
+ 3.4897816777304316`+"`"+`*^9, 3.489781737369336*^9}, {3.489781785947821*^9,
+ 3.4897818697199683`+"`"+`*^9}, {3.48978190503843*^9, 3.489781921356059*^9}, {
+ 3.489781958094124*^9, 3.4897819858777723`+"`"+`*^9}, {3.4897820637063093`+"`"+`*^9,
+ 3.4897820981199694`+"`"+`*^9}, 3.4897822161497765`+"`"+`*^9, {3.4897840774906487`+"`"+`*^9,
+ 3.4897840907506723`+"`"+`*^9}, {3.4897842079224777`+"`"+`*^9,
+ 3.4897842092952805`+"`"+`*^9}, {3.4905088717965293`+"`"+`*^9, 3.490508881172146*^9}, {
+ 3.4905089196730137`+"`"+`*^9, 3.4905089314354343`+"`"+`*^9}, {3.5769669579280405`+"`"+`*^9,
+ 3.5769671537783155`+"`"+`*^9}, {3.5770818401387987`+"`"+`*^9, 3.577082065184794*^9}, {
+ 3.5770821198940897`+"`"+`*^9, 3.577082170594179*^9}, 3.577082332896864*^9, {
+ 3.7063936678217688`+"`"+`*^9, 3.7063936685528107`+"`"+`*^9}, {3.706399437183758*^9,
+ 3.706399471405715*^9}, {3.706399511039982*^9, 3.7063995141081576`+"`"+`*^9}, {
+ 3.706400253238433*^9, 3.706400285841298*^9}, {3.7064003254025607`+"`"+`*^9,
+ 3.706400351123032*^9}, {3.7064003851039753`+"`"+`*^9, 3.7064004756851563`+"`"+`*^9}, {
+ 3.7064005442440777`+"`"+`*^9, 3.7064005499824057`+"`"+`*^9}, {3.70640085250871*^9,
+ 3.7064008527707243`+"`"+`*^9}, 3.7064008935520573`+"`"+`*^9, {3.7064009277310123`+"`"+`*^9,
+ 3.706400928899079*^9}, 3.706401268059478*^9, 3.7064013005593367`+"`"+`*^9, {
+ 3.7064013410226507`+"`"+`*^9, 3.706401345291895*^9}, {3.7064015247661605`+"`"+`*^9,
+ 3.706401590952946*^9}, {3.707001880847934*^9, 3.7070018988469634`+"`"+`*^9}},
+ FontSize->16],
+
+Cell[BoxData[
+ RowBox[{"?", " ", "IntShowSteps"}]], "Code",
+ CellChangeTimes->{
+ 3.4905089424334536`+"`"+`*^9, 3.7063777703489695`+"`"+`*^9, {3.7064015427701902`+"`"+`*^9,
+ 3.706401555594924*^9}}]
+}, Open ]]
+},
+AutoGeneratedPackage->None,
+WindowSize->{1286, 687},
+WindowMargins->{{Automatic, 138}, {Automatic, 20}},
+Magnification->1.3000000715255737`+"`"+`,
+FrontEndVersion->"8.0 for Microsoft Windows (64-bit) (October 6, 2011)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[CellGroupData[{
+Cell[567, 22, 1678, 27, 107, "Title"],
+Cell[2248, 51, 207, 4, 64, "Subtitle"],
+Cell[2458, 57, 90, 1, 37, "Subsubtitle"],
+Cell[2551, 60, 1980, 37, 122, "Text"],
+Cell[4534, 99, 1833, 38, 97, "Text"],
+Cell[6370, 139, 266, 5, 58, "Code"],
+Cell[6639, 146, 2205, 33, 58, "Code"],
+Cell[8847, 181, 1636, 31, 69, "Text"],
+Cell[10486, 214, 145, 3, 58, "Code"],
+Cell[10634, 219, 2365, 66, 98, "Text"],
+Cell[13002, 287, 288, 6, 58, "Code"],
+Cell[13293, 295, 205, 4, 58, "Code"],
+Cell[13501, 301, 1697, 29, 89, "Text"],
+Cell[15201, 332, 446, 9, 106, "Code"],
+Cell[15650, 343, 1804, 35, 89, "Text"],
+Cell[17457, 380, 182, 4, 75, "Code"]
+}, Open ]]
+}
+]
+*)
+
+(* End of internal cache information *)
+`)
+
+func resourcesRubiRubi412NbBytes() ([]byte, error) {
+ return _resourcesRubiRubi412Nb, nil
+}
+
+func resourcesRubiRubi412Nb() (*asset, error) {
+ bytes, err := resourcesRubiRubi412NbBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/Rubi4.12.nb", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubiShowstepRoutinesM = []byte(`(* ::Package:: *)
+
+(* ShowSteps controls the use of special definitions when defining rules AND display of steps when simplify expressions. *)
+If[ShowSteps=!=False, ShowSteps=True];
+SimplifyFlag=True;
+
+
+$StepCounter = 0;
+$RuleColor = Red;
+$ConditionColor = Blue;
+
+
+Unprotect[IntShowSteps]; Clear[IntShowSteps];
+
+IntShowSteps[u_,x_Symbol] :=
+ Block[{ShowSteps=True},
+ FixedPoint[
+ Function[CellPrint[ExpressionCell[#,"Input"]];
+ ReplaceAll[#,{Defer[Int]->Int,Defer[Dist]->Dist,Defer[Subst]->Subst}]],Int[u,x]];
+ Null]
+
+Protect[IntShowSteps];
+
+
+(* If func is a function defined using properly defined transformation rules,
+ StepFunction[func] modifies the rules to display steps when the control
+ variable ShowSteps is True. *)
+StepFunction[func_] :=
+ Module[{lst=DownValues[func]},
+ Print["Modifying ",Length[lst]," integration rules to display steps..."];
+ Block[{ShowStep,SimplifyFlag},
+ Monitor[Do[
+ lst[[i]]=ModifyRule[i,lst[[i]],SimplifyFlag],
+ {i,1,Length[lst]}],
+ ProgressIndicator[i,{1,Length[lst]+1},ImageSize->{500,20}]]];
+ ClearDownValues[func];
+ SetDownValues[func,lst];
+ Unprotect[func]]
+
+StepFunction[func1_,func2_] :=
+ Block[{lst,num=0,ShowStep,SimplifyFlag},
+ lst=Map[Function[ModifyRule[num++,#, SimplifyFlag]],DownValues[func1]];
+ ClearDownValues[func1];
+ SetDownValues[func2,ReplaceAll[lst,{func1->func2}]]]
+
+
+(* rule is a rule as an expression of the form RuleDelayed[lhs,rhs].
+ flag has the value SimplifyFlag. ModifyRule[rule,flag]
+ formats the rule's left hand side as a string (lhsStrg) in InputForm,
+ formats the rule's conditions as a string (condStrg) in StandardForm,
+ formats the rule's let statements as a string (letStrg) in StandardForm,
+ splices the conditions string and let strings together as a string (condStrg) in StandardForm,
+ formats the rule's right hand side as a string (rhsStrg) in InputForm,
+ then it returns rule with the body replaced with the expression
+ ShowStep[num,condStrg,lhsStrg,rhsStrg,rhs] /; flag. *)
+ModifyRule[num_,rule_RuleDelayed, flag_] :=
+ Module[{lhsStrg,rhsStrg,condStrg,letStrg},
+ If[Not[FreeQ[Hold[rule],ShowStep]] ||
+ Not[FreeQ[Hold[rule],Identity]] ||
+ Not[FreeQ[Hold[rule],DeactivateTrig]] ||
+ Not[FreeQ[Hold[rule],Defer[Int]]] ||
+ Not[FreeQ[Hold[rule],Preprocess]],
+ rule,
+ lhsStrg=FormatLhs[rule];
+ If[rule[[2,0]]===Condition,
+ condStrg=FormatConditions[Extract[rule,{2,2},Defer]];
+ If[rule[[2,1,0]]===With || rule[[2,1,0]]===Module || rule[[2,1,0]]===Block,
+ letStrg=FormatLets[Extract[rule,{2,1,1},Defer]];
+ If[rule[[2,1,2,0]]===Condition,
+ condStrg=SpliceConditionString[condStrg,letStrg,FormatConditions[Extract[rule,{2,1,2,2},Defer]]];
+ rhsStrg=FormatRhs[Extract[rule,{2,1,2,1},Defer]];
+ WrapCondition[ReplacePart[rule, ShowStep[num,condStrg,lhsStrg,rhsStrg,Extract[rule,{2,1,2,1},Hold]], {2,1,2,1}], flag],
+ condStrg=SpliceConditionString[condStrg,letStrg,""];
+ rhsStrg=FormatRhs[Extract[rule,{2,1,2},Defer]];
+ WrapCondition[ReplacePart[rule, ShowStep[num,condStrg,lhsStrg,rhsStrg,Extract[rule,{2,1,2},Hold]], {2,1,2}], flag]],
+ condStrg=SpliceConditionString[condStrg,"",""];
+ rhsStrg=FormatRhs[Extract[rule,{2,1},Defer]];
+ WrapCondition[ReplacePart[rule, ShowStep[num,condStrg,lhsStrg,rhsStrg,Extract[rule,{2,1},Hold]], {2,1}], flag]],
+ If[rule[[2,0]]===With || rule[[2,0]]===Module || rule[[2,0]]===Block,
+ letStrg=FormatLets[Extract[rule,{2,1},Defer]];
+ If[rule[[2,2,0]]===Condition,
+ condStrg=FormatConditions[Extract[rule,{2,2,2},Defer]];
+ condStrg=SpliceConditionString["",letStrg,condStrg];
+ rhsStrg=FormatRhs[Extract[rule,{2,2,1},Defer]];
+ WrapCondition[ReplacePart[rule, ShowStep[num,condStrg,lhsStrg,rhsStrg,Extract[rule,{2,2,1},Hold]], {2,2,1}], flag],
+ condStrg=SpliceConditionString["",letStrg,""];
+ rhsStrg=FormatRhs[Extract[rule,{2,2},Defer]];
+ WrapCondition[ReplacePart[rule, ShowStep[num,condStrg,lhsStrg,rhsStrg,Extract[rule,{2,2},Hold]], {2,2}], flag]],
+ rhsStrg=FormatRhs[Extract[rule,2,Defer]];
+ WrapCondition[ReplacePart[rule, ShowStep[num,"",lhsStrg,rhsStrg,Extract[rule,2,Hold]], 2], flag]]]]]
+
+
+WrapCondition[rule_RuleDelayed,condition_] :=
+ ReplacePart[ReplacePart[rule,Append[Extract[rule,{2},Hold],condition],{2}],Condition,{2,0}]
+
+
+(* rule is a rule as an expression of the form RuleDelayed[lhs,rhs].
+ FormatLhs[rule] returns returns a string for the lhs of the rule in InputForm with the
+ pattern tags "_." and "_" removed from the dummy variable names. *)
+FormatLhs[rule_] :=
+ Module[{lhs=Extract[rule,{1,1},Defer],conditions,func,var},
+ ( If[rule[[2,0]]===Condition,
+ conditions=Extract[rule,{2,2},Defer];
+ If[conditions[[1,0]]===FunctionOfQ,
+ func=conditions[[1,1]];
+ var=conditions[[1,2]];
+ lhs=ReplaceVariable[lhs,var,func],
+ If[conditions[[1,0]]===And && MemberQ[conditions,FunctionOfQ,{3},Heads->True],
+ func=conditions[[1,Position[conditions,FunctionOfQ,{3},1][[1,2]],1]];
+ var=conditions[[1,Position[conditions,FunctionOfQ,{3},1][[1,2]],2]];
+ lhs=ReplaceVariable[lhs,var,func]]]] );
+ DropDefer[StringReplace[ToString[lhs, InputForm],{"_Symbol"->"", "_."->"", "_"->""}]]]
+
+(* ReplaceVariable[lhs,var,func] returns lhs with the var replaced by F[func] *)
+ReplaceVariable[lhs_,var_,func_] :=
+ Block[{F},
+ If[PatternEqualQ[lhs[[1,1]],var],
+ ReplacePart[lhs,F[func],{1,1}],
+ If[PatternEqualQ[lhs[[1,1,1]],var],
+ ReplacePart[lhs,F[func],{1,1,1}],
+ If[PatternEqualQ[lhs[[1,1,2]],var],
+ ReplacePart[lhs,F[func],{1,1,2}],
+ If[PatternEqualQ[lhs[[1,1,3]],var],
+ ReplacePart[lhs,F[func],{1,1,3}],
+ Print["Function of expression variable not found: ",lhs," ",var," ",func];
+ Abort[]]]]]]
+
+PatternEqualQ[pattern_,var_] :=
+ Head[pattern]===Pattern && pattern[[1]]===var
+
+
+(* rhs is an expression of the form Defer[...] where ... is the right hand side of a rule.
+ FormatRhs[rhs] returns a string for the rhs of the rule in InputForm. *)
+FormatRhs[rhs_] :=
+ Block[{SubstFor,Rt,F},
+ DropDefer[ToString[ReplaceAll[rhs,{
+ SubstFor[v_,u_,x_] -> F[x],
+ Rt[u_,2] -> Sqrt[u],
+ Rt[u_,n_] -> u^(1/n)
+ }], InputForm]]]
+
+
+(* strg is a string of the form "Defer[...]". DropDefer[strg] returns the string "...", with
+ all occurrences of the string "Int[" replaced with "Integrate" and "Dif" with "D" so they will
+ display using integral and differential signs when the string is converted to StandardForm. *)
+DropDefer[strg_] :=
+ StringDrop[StringDrop[StringReplace[strg,{
+ "Int["->"Integrate[",
+ "Dif["->"D["
+(*, "sin["->"Sin[", "cos["->"Cos[", "tan["->"Tan[", "cot["->"Cot[", "sec["->"Sec[", "csc["->"csc[",
+ "sinh["->"Sinh[", "cosh["->"Cosh[", "tanh["->"Tanh[", "coth["->"Coth[", "sech["->"Sech[", "csch["->"csch[" *)
+ }],6],-1]
+
+
+(* conditions is an expression comprising the conditions on a rule. FormatConditions[conditions]
+ replaces expressions of the form Not[FalseQ[u]] with u in conditions,
+ deletes expressions of the form FreeQ[u,x], FunctionOfQ[u,v,x] and EasyDQ[u,x] in conditions,
+ replaces expressions of the form Rt[u,2] with Sqrt[u] and Rt[u,n] with u^(1/n) in conditions,
+ and then returns the conditions as a string formatted in Mathematica's StandardForm. *)
+FormatConditions[conditions_] :=
+ If[conditions[[1,0]]===Not && conditions[[1,1,0]]===FalseQ,
+ FormatConditions[Extract[conditions,{1,1,1},Defer]],
+ If[conditions[[1,0]]===FreeQ,
+ "",
+ If[conditions[[1,0]]===And && MemberQ[conditions,FreeQ,{3},Heads->True],
+ FormatConditions[DeleteCondition[FreeQ,conditions]],
+ If[conditions[[1,0]]===FunctionOfQ,
+ "",
+ If[conditions[[1,0]]===And && MemberQ[conditions,FunctionOfQ,{3},Heads->True],
+ FormatConditions[DeleteCondition[FunctionOfQ,conditions]],
+ If[conditions[[1,0]]===EasyDQ,
+ "",
+ If[conditions[[1,0]]===And && MemberQ[conditions,EasyDQ,{3},Heads->True],
+ FormatConditions[DeleteCondition[EasyDQ,conditions]],
+ ToConditionString[conditions] <> ","]]]]]]]
+
+DeleteCondition[func_,conditions_] :=
+ If[Quiet[Head[Extract[conditions,{1,3},Defer]]===Extract],
+ If[Position[conditions,func,{3},1][[1,2]]==1,
+ Extract[conditions,{1,2},Defer],
+ Extract[conditions,{1,1},Defer]],
+ Delete[conditions,{1,Position[conditions,func,{3},1][[1,2]]}]]
+
+
+(* let is a body of a With, Module or Block statement. FormatLets[let] returns the assignment as a
+ string in the form "var=expression, then" formatted in Mathematica's StandardForm. *)
+FormatLets[let_] :=
+ If[MatchQ[let,Defer[{u_}]],
+ If[let[[1,1,0]]===Set &&
+ let[[1,1,2,0]]===Block &&
+ Extract[let,{1,1,2,1},Defer]===Defer[{ShowSteps=False}],
+ If[let[[1,1,2,2,0]]===Simplify,
+ ToConditionString[Extract[let,{1,1,1},Defer]] <> "=" <>
+ ToConditionString[Extract[let,{1,1,2,2,1},Defer]] <> ", then",
+ ToConditionString[Extract[let,{1,1,1},Defer]] <> "=" <>
+ ToConditionString[Extract[let,{1,1,2,2},Defer]] <> ", then"],
+ ToConditionString[Extract[let,{1,1},Defer]] <> ", then"],
+ ToConditionString[let] <> ", then"]
+
+
+(* conditions is an expression comprising the conditions on a rule. ToConditionString[conditions]
+ replace calls in the conditions on the function Rt[u,2] with Sqrt[u] and Rt[u,n] with u^(1/n),
+ and then returns the conditions as a string formatted in Mathematica's StandardForm. *)
+ToConditionString[conditions_] :=
+ ToString[ReplaceAll[conditions,{
+ Rt[u_,2]->Sqrt[u],
+ Rt[u_,n_]->u^(1/n)
+ }],StandardForm]
+
+
+(* cond1, lets and cond2 are strings. SpliceConditionString[cond1,lets,cond2] concatenates and
+ returns the condition and let strings along with the "if" and "let" to make a human readable
+ condition string. *)
+SpliceConditionString[cond1_,lets_,cond2_] :=
+ If[cond2==="",
+ If[lets==="",
+ If[cond1==="",
+ "",
+ "If " <> cond1],
+ If[cond1==="",
+ "Let " <> lets,
+ "If " <> cond1 <> " let " <> lets]],
+ If[lets==="",
+ If[cond1==="",
+ "If " <> cond2,
+ "If " <> cond1 <> " if " <> cond2],
+ If[cond1==="",
+ "Let " <> lets <> " if " <> cond2,
+ "If " <> cond1 <> " let " <> lets <> " if " <> cond2]]]
+
+
+(* condStrg, lhsStrg and rhsStrg are the strings required to display the rule being applied.
+ rhs is the expression on the right side of the rule (i.e. the consequent of the rule).
+ If ShowSteps is True, ShowStep[num,condStrg,lhsStrg,rhsStrg,rhs] displays the rule being applied,
+ sets SimplifyFlag to False to turn off further simplification, and release the hold on the rhs
+ of the rule. *)
+ShowStep[condStrg_,lhsStrg_,rhsStrg_,rhs_] := (
+ If[IntegerQ[$StepCounter], $StepCounter++];
+ If[ShowSteps,
+ Print["Rule: ",Style[condStrg,$ConditionColor]];
+ Print[" ",Style[ToExpression["Defer["<>lhsStrg<>"]"],$RuleColor],Style[" \[LongRightArrow] ",Bold],Style[ToExpression["Defer["<>rhsStrg<>"]"],$RuleColor]];
+ Block[{SimplifyFlag=False},
+ ReleaseHold[rhs]],
+ ReleaseHold[rhs]] )
+
+ShowStep[num_,condStrg_,lhsStrg_,rhsStrg_,rhs_] := (
+ If[IntegerQ[$StepCounter], $StepCounter++];
+ If[ShowSteps,
+ Print["Rule ",num+1,": ",Style[condStrg,$ConditionColor]];
+ Print[" ",Style[ToExpression["Defer["<>lhsStrg<>"]"],$RuleColor],Style[" \[LongRightArrow] ",Bold],Style[ToExpression["Defer["<>rhsStrg<>"]"],$RuleColor]];
+ Block[{SimplifyFlag=False},
+ ReleaseHold[rhs]],
+ ReleaseHold[rhs]] )
+
+
+(* Note: Clear[func] also eliminates 2-D display of functions like Integrate. *)
+ClearDownValues[func_Symbol] := (
+ Unprotect[func];
+ DownValues[func]={};
+ Protect[func])
+
+
+(* Note: A bug in earlier versions of Mathematica prevents setting more than 529 DownValues using a simple assignment! *)
+SetDownValues[func_Symbol,lst_List] := (
+ Unprotect[func];
+ ( If[$VersionNumber>=8,
+ DownValues[func]=lst,
+ DownValues[func]=Take[lst,Min[529,Length[lst]]];
+ Scan[Function[ReplacePart[ReplacePart[#,#[[1,1]],1],SetDelayed,0]],Drop[lst,Min[529,Length[lst]]]]] );
+ Protect[func])
+`)
+
+func resourcesRubiShowstepRoutinesMBytes() ([]byte, error) {
+ return _resourcesRubiShowstepRoutinesM, nil
+}
+
+func resourcesRubiShowstepRoutinesM() (*asset, error) {
+ bytes, err := resourcesRubiShowstepRoutinesMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi/ShowStep Routines.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubiM = []byte(`LoadRubi::usage = "`+"`"+`LoadRubi[]`+"`"+` will load the Rubi integration package by Albert Rich.";
+LoadRubi[] := Get["__res__/rubi_loader.m"];
+Attributes[LoadRubi] = {Protected};
+Tests`+"`"+`LoadRubi = {
+ ESimpleExamples[
+ (*Just test a few cases for a sanity check. Full test suite can be run
+ outside of test suite.*)
+ ESameTest[Null, LoadRubiBundledSnapshot[]],
+ ESameTest[x^3/3 + 2*x, Rubi`+"`"+`Int[x^2+2, x]],
+ ESameTest[(-3*ArcTanh[Cosh[a+b*x]])/(8*b)+(3*Coth[a+b*x]*Csch[a+b*x])/(8*b)-(Coth[a+b*x]*Csch[a+b*x]^3)/(4*b), Rubi`+"`"+`Int[Csch[a + b*x]^5,x]],
+ ESameTest[Log[x], Rubi`+"`"+`Int[1/x, x]],
+ ESameTest[-(a/(4 x^4))-b/(3 x^3), Rubi`+"`"+`Int[(a+b x)/x^5,x]],
+ ], ETests[
+ ESameTest[x^3/3, Rubi`+"`"+`Int[x^2, x]],
+ ], EKnownFailures[
+ (*Equal, but SameQ cannot tell:*)
+ ESameTest[-((3/2+2 x)^2/(3 x^2)), Rubi`+"`"+`Int[(3/2+2 x)/x^3,x]],
+ (*Will not work until we add support for FixIntRules. Coefficients
+ will not distribute.*)
+ ESameTest[-(3/8) ArcTanh[Cos[a+x]]-3/8 Cot[a+x] Csc[a+x]-1/4 Cot[a+x] Csc[a+x]^3, Rubi`+"`"+`Int[csc[a+x]^5,x]],
+ ]
+};
+
+LoadRubiSnapshot[snapshotLoc_] := (
+ Get[snapshotLoc];
+ $ContextPath = Prepend[$ContextPath, "Rubi`+"`"+`"];
+);
+LoadRubiBundledSnapshot[] := LoadRubiSnapshot["__rubi_snapshot__/rubi_snapshot/rubi_snapshot.expred"];
+SaveRubiSnapshot[snapshotLoc_] := Save[snapshotLoc, "Rubi`+"`"+`*"];
+`)
+
+func resourcesRubiMBytes() ([]byte, error) {
+ return _resourcesRubiM, nil
+}
+
+func resourcesRubiM() (*asset, error) {
+ bytes, err := resourcesRubiMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesRubi_loaderM = []byte(`(* ::Package:: *)
+
+(* ::Title:: *)
+(*Rubi (Rule-Based Integrator) Package*)
+(* Clone https://github.com/corywalker/rubi into the root dir of Expreduce. *)
+
+
+
+BeginPackage["Rubi`+"`"+`"]
+
+Int::usage =
+"Int[expn,var] returns the antiderivative (indefinite integral) of with respect to .
+Int[list,var] returns a list of the antiderivatives of the elements of with respect to .";
+
+
+IntShowSteps::usage = "IntShowSteps[expn,var] shows all the rules and intermediate steps required to integrate with respect to , and returns Null.";
+
+
+Dist::usage = "Dist[expn1,expn2,var] distributes over .";
+Subst::usage = "Subst[expn1,var,expn2] substitutes for in .";
+
+
+ShowSteps::usage = "If ShowSteps is True and the ShowSteps package has been loaded, integration steps are displayed.";
+$StepCounter::usage = "If the ShowSteps package has been loaded and $StepCounter is an integer, it is incremented each time an integration rule is applied.";
+
+
+$RuleColor::usage = "$RuleColor is the color used to display rules when showing integration steps. The default rule color is red."
+$ConditionColor::usage = "$ConditionColor is the color used to display application conditions when showing integration steps. The default condition color is blue."
+
+
+sin::usage = "Inert sine function";
+cos::usage = "Inert cosine function";
+tan::usage = "Inert tangent function";
+cot::usage = "Inert cotangent function";
+sec::usage = "Inert secant function";
+csc::usage = "Inert cosecant function";
+
+
+Begin["`+"`"+`Private`+"`"+`"]
+
+(*LoadRules[filename_String] :=
+ Module[{object},
+ object=PrintTemporary["Loading "<>filename<>".m..."];
+ Get[NotebookDirectory[]<>filename<>".m"];
+ NotebookDelete[object];
+ Null]*)
+
+LoadRules[filename_String] := (
+ Print["Loading "<>filename<>".m..."];
+ loadRes = Get["__res__/rubi/"<>filename<>".m"];
+ If[loadRes === $Failed, Print["Loading failed!"]];
+)
+
+
+Unprotect[Int]; Clear[Int];
+
+
+SetAttributes [Int, {Listable}];
+
+
+ShowSteps = Global`+"`"+`$LoadShowSteps===True;
+
+
+Print["Loading Rubi integration suite by Albert Rich."];
+
+(*LoadRules["ShowStep routines"];*)
+LoadRules["Integration Utility Functions"];
+LoadRules["9.1 Integrand simplification rules"];
+
+
+LoadRules["1.1.1 Linear binomial products"];
+LoadRules["1.1.3 General binomial products"];
+
+LoadRules["1.2.1 Quadratic trinomial products"];
+LoadRules["1.2.2 Quartic trinomial products"];
+LoadRules["1.2.3 General trinomial products"];
+LoadRules["1.2.4 Improper trinomial products"];
+
+LoadRules["1.1.4 Improper binomial products"];
+LoadRules["1.3 Miscellaneous algebraic functions"];
+
+
+LoadRules["9.3 Piecewise linear functions"];
+LoadRules["2 Exponentials"];
+LoadRules["3 Logarithms"];
+LoadRules["4.1 Sine"];
+LoadRules["4.2 Tangent"];
+LoadRules["4.3 Secant"];
+LoadRules["4.4 Miscellaneous trig functions"];
+LoadRules["5 Inverse trig functions"];
+LoadRules["6 Hyperbolic functions"];
+LoadRules["7 Inverse hyperbolic functions"];
+LoadRules["8 Special functions"];
+LoadRules["9.2 Derivative integration rules"];
+LoadRules["9.4 Miscellaneous integration rules"];
+
+
+FixIntRules[];
+
+
+(*If[Global`+"`"+`$LoadShowSteps===True, StepFunction[Int]];*)
+
+
+Protect[Int];
+
+
+End [];
+EndPackage [];
+
+(*Helper debug functions in global context.*)
+
+printDownValues[args_, sym_] :=
+ Print /@ Map[{#, MatchQ[args, #]} &,
+ Map[List @@ (#[[1]][[1]]) &, DownValues[sym]]];
+isPartialMatch[args_, dv_] := MatchQ[args, List @@ (dv[[1]][[1]])];
+isFullMatch[args_, dv_, sym_] :=
+ Replace[args, dv /. sym -> List] =!= args;
+printPartitalMatchingDownValues[args_, sym_, n_] :=
+ Select[DownValues[sym], isPartialMatch[args, #] &, n];
+printMatchingDownValues[args_, sym_, n_] :=
+ Select[DownValues[sym], isFullMatch[args, #, sym] &, n];
+
+`)
+
+func resourcesRubi_loaderMBytes() ([]byte, error) {
+ return _resourcesRubi_loaderM, nil
+}
+
+func resourcesRubi_loaderM() (*asset, error) {
+ bytes, err := resourcesRubi_loaderMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/rubi_loader.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesSimplifyM = []byte(`Simplify::usage = "`+"`"+`Simplify[expr]`+"`"+` attempts to perform simplification operations on `+"`"+`expr`+"`"+`.";
+booleanSimplify[exp_] := exp //. {
+ (*a_ && a_ :> a,*)
+ (*a_ || a_ :> a,*)
+
+ !x_ || !y_ :> !(x && y),
+ !x_ || !y_ || !z :> !(x && y && z),
+ (*This is a generalization of the above rule, but causes issues*)
+ (*This problem actually happens outside of Expreduce as well.*)
+ (*The issue is that the Or with the pattern inside evaluates*)
+ (*immediately to just the pattern, due to how Or works. This*)
+ (*happens before pattern matching, causing all kinds of*)
+ (*expressions, even outside Or expressions, to match.*)
+ (*Or[match__?(AllTrue[#, (Head[#] == Not &)] &)] :> Not[(#[[1]] &) /@ match],*)
+
+ (*a_ || (a_ && b_) :> a,*)
+ (*a_ || !a_ && b_ :> a || b,*)
+
+ (a_ || b_) && (a_ || c_) :> a || (b && c),
+ (b_ || a_) && (c_ || a_) :> a || (b && c),
+ Or[___, a_, ___, Not[And[___, a_, ___] | a_], ___] :> True,
+ Or[___, Not[And[___, a_, ___] | a_], ___, a_, ___] :> True,
+ Or[x1___, a_, x2___, And[x3___, a_, x4___], x5___] :> Or[a, x1, x2, x5],
+ Or[x1___, And[x2___, a_, x3___], x4___, a_, x5___] :> Or[a, x1, x4, x5],
+ Or[x1___, a_, x2___, a_, x3___] :> Or[a, x1, x2, x3],
+ Or[x1___, a_, x2___, And[x3___, !a_, x4___], x5___] :> Or[a, x1, x2, And[x3, x4], x5],
+ Or[x1___, And[x2___, !a_, x3___], x4___, a_, x5___] :> Or[a, x1, And[x2, x3], x4, x5],
+
+ (*Dual of these rules.*)
+ And[___, a_, ___, Not[Or[___, a_, ___] | a_], ___] :> False,
+ And[___, Not[Or[___, a_, ___] | a_], ___, a_, ___] :> False,
+ And[x1___, a_, x2___, Or[x3___, a_, x4___], x5___] :> And[a, x1, x2, x5],
+ And[x1___, Or[x2___, a_, x3___], x4___, a_, x5___] :> And[a, x1, x4, x5],
+ And[x1___, a_, x2___, a_, x3___] :> And[a, x1, x2, x3],
+ And[x1___, a_, x2___, Or[x3___, !a_, x4___], x5___] :> And[a, x1, x2, Or[x3, x4], x5],
+ And[x1___, Or[x2___, !a_, x3___], x4___, a_, x5___] :> And[a, x1, Or[x2, x3], x4, x5]
+};
+trigSimplify[exp_] := exp //. {
+ (Rational[1,2]*c_.*(a_ + b_*Cos[inner_]) /; a == -b) :> c*a*Sin[inner/2]^2
+};
+tryFactoringOutTerm[e_] := e;
+tryFactoringOutTerm[p_Plus] := Module[{cterms, simplest, i, tryVal},
+ simplest = p;
+ cterms = ((ExpreduceConstantTerm /@ (List @@ p)) // Transpose)[[1]];
+ For[i = 1, i <= Length[cterms], i++,
+ tryVal = cterms[[i]] (p/cterms[[i]] // Distribute);
+ If[ExpreduceLeafCountSimplify[tryVal] < ExpreduceLeafCountSimplify[simplest],
+ simplest = tryVal];
+ ];
+ simplest
+ ];
+simplifyInner[exp_] := Module[{e = exp, tryVal},
+ e = booleanSimplify[e];
+ e = trigSimplify[e];
+ inferredPower = 1;
+ If[MatchQ[e, s_Plus^n_Integer],
+ inferredPower := Replace[e, s_Plus^n_Integer -> n]];
+ If[inferredPower < 5,
+ (*Similar to Expand, but not using ReplaceAll*)
+ tryVal = FixedPoint[Replace[#, expandRules]&, e];
+ If[ExpreduceLeafCountSimplify[tryVal] < ExpreduceLeafCountSimplify[e], e = tryVal];
+ ];
+ (*Avoid expressions containing expensive expressions to expand.*)
+ If[FreeQ[e, a_Plus^(b_Integer?((# >= 5) &))],
+ tryVal = ComplexExpand[e];
+ If[ExpreduceLeafCountSimplify[tryVal] < ExpreduceLeafCountSimplify[e], e = tryVal];
+ ];
+ tryVal = Together[e];
+ If[ExpreduceLeafCountSimplify[tryVal] < ExpreduceLeafCountSimplify[e], e = tryVal];
+ tryVal = Private`+"`"+`myFactorCommonTerms[e];
+ If[ExpreduceLeafCountSimplify[tryVal] < ExpreduceLeafCountSimplify[e], e = tryVal];
+ tryVal = Private`+"`"+`tryFactoringOutTerm[e];
+ If[ExpreduceLeafCountSimplify[tryVal] < ExpreduceLeafCountSimplify[e], e = tryVal];
+ e = trigSimplify[e];
+ (* also need to try complexexpand to simplify cases like (-1)^(1/3) (1 + I Sqrt[3]) *)
+ e = Replace[e, Sqrt[inner_] :> Sqrt[FactorTerms[inner]]];
+ e
+];
+Simplify[exp_] := Map[simplifyInner, exp, {0, Infinity}];
+Attributes[Simplify] = {Protected};
+Tests`+"`"+`Simplify = {
+ ESimpleExamples[
+ EComment["`+"`"+`Simplify`+"`"+` can simplify some boolean expressions."],
+ ESameTest[b, b && b // Simplify],
+ ESameTest[False, a && b && !b // Simplify],
+ ESameTest[a || (b && c), (a || b) && (a || c) // Simplify],
+ ESameTest[a || b, a || ! a && b // Simplify],
+ ESameTest[True, a || b || ! a || ! b // Simplify]
+ ], ETests[
+ (*Seems wrong, but this is the right behavior*)
+ ESameTest[a, a || (a && Infinity) // Simplify],
+ ESameTest[a || (b && c), (b || a) && (c || a) // Simplify],
+
+ ESameTest[True, (a || b || c || Not[(a && b && c)]) // Simplify],
+ ESameTest[True, (a || b || c || Not[(a && b && c && d)]) // Simplify],
+ ESameTest[True, (a || b || c || d || Not[(a && b && c)]) // Simplify],
+ ESameTest[True, (a || b || c || d || Not[a]) // Simplify],
+ ESameTest[True, (az || b || cz || Not[(ay && b && cy && dy)]) // Simplify],
+
+ ESameTest[a, a || (a && b && c && d) // Simplify],
+ ESameTest[d, d || (a && b && c && d) // Simplify],
+ ESameTest[d || e, d || e || (a && b && c && d) // Simplify],
+ ESameTest[b || d, d || b || (a && b && c && d) // Simplify // Sort],
+ ESameTest[True, d || b || (a && b && c && d) || ! b // Simplify],
+ ESameTest[foo[True], foo[d || b || (a && b && c && d) || ! b] // Simplify],
+ ESameTest[d || e || (a && b && c), d || e || (a && b && c) // Simplify],
+ ESameTest[z, z || z // Simplify],
+ ESameTest[a || z, z || a || z // Simplify // Sort],
+ ESameTest[a, a || a && b // Simplify],
+ ESameTest[a || b, a || !a && b // Simplify],
+ ESameTest[a || b || c, a || c || ! a && b // Simplify // Sort],
+ ESameTest[a || b || c, a || c || ! a && ! c && b // Simplify // Sort],
+ ESameTest[a || c || !b, a || c || ! a && ! c && ! b // Simplify // Sort],
+ ESameTest[a || c || (! b && d), a || c || ! a && ! c && ! b && d // Simplify // Sort],
+ ESameTest[a || c || Not[b], c || a || Not[b] // Simplify // Sort],
+ ESameTest[False, And[x1, a, x2, Not[Or[x3, a, x4]], x5] // Simplify],
+ ESameTest[a && x1 && x2 && x5, And[x1, a, x2, Or[x3, a, x4], x5] // Simplify],
+ ESameTest[a && b, a&&b&&a//Simplify],
+ ESameTest[(-32+32 x-16 x^2)^9, (16 + 8 (-6 + 4 x - 2 x^2))^9 // Simplify],
+ ESameTest[1, (1/3+(1/3)*(-2)^(-1/3)*2^(-2/3)*(1+(0+1*I)*3^(1/2))+(1/6)*(-1)^(1/3)*(1+(0+-1*I)*3^(1/2)))^2//Simplify],
+ ESameTest[0, (1/3+(1/3)*(-2)^(-1/3)*2^(-2/3)*(1+(0+-1*I)*3^(1/2))+(1/6)*(-1)^(1/3)*(1+(0+1*I)*3^(1/2)))^2//Simplify],
+ ]
+};
+
+FullSimplify::usage = "`+"`"+`FullSimplify[expr]`+"`"+` attempts to perform full simplification operations on `+"`"+`expr`+"`"+`.";
+FullSimplify[e_] := Simplify[e] //. {
+ E^(-x_Symbol)+E^x_Symbol:>2 Cosh[x]
+};
+Attributes[FullSimplify] = {Protected};
+Tests`+"`"+`FullSimplify = {
+ ESimpleExamples[
+ ESameTest[2 Cosh[x], E^-x+E^x//FullSimplify],
+ ]
+};
+`)
+
+func resourcesSimplifyMBytes() ([]byte, error) {
+ return _resourcesSimplifyM, nil
+}
+
+func resourcesSimplifyM() (*asset, error) {
+ bytes, err := resourcesSimplifyMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/simplify.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesSolveM = []byte(`Solve::usage = "`+"`"+`Solve[eqn, var]`+"`"+` solves `+"`"+`eqn`+"`"+` for `+"`"+`var`+"`"+`.";
+
+countVar[expr_, var_Symbol] :=
+ If[expr === var, 1, Count[expr, var, -1]];
+
+containsOneOccurrence[eqn_Equal, var_Symbol] :=
+ Count[eqn, var, -1] == 1;
+containsZeroOccurrences[eqn_Equal, var_Symbol] :=
+ Count[eqn, var, -1] == 0;
+
+checkedConditionalExpression[e_, c_] :=
+ Module[{nextC = 1, res, reps, newC = -1},
+ While[True, If[Count[e, C[nextC], -1] > 0, nextC++, Break[]]];
+ res = ConditionalExpression[e, c];
+ reps = {};
+ While[True,
+ If[Count[res, C[newC], -1] > 0,
+ AppendTo[reps, C[newC] -> C[-newC]]; newC--,
+ Break[]]];
+ res = res /. C[n_Integer?Positive] :> C[n + Length[reps]];
+ res /. reps];
+
+applyInverse[lhs_Plus -> rhs_, var_Symbol] := Module[{nonVarParts},
+ nonVarParts = Select[lhs, (countVar[#, var] === 0) &];
+ varParts = Select[lhs, (countVar[#, var] =!= 0) &];
+ {varParts -> rhs - nonVarParts}];
+applyInverse[lhs_Times -> rhs_, var_Symbol] := Module[{nonVarParts},
+ nonVarParts = Select[lhs, (countVar[#, var] === 0) &];
+ varParts = Select[lhs, (countVar[#, var] =!= 0) &];
+ {varParts -> rhs / nonVarParts}];
+applyInverse[base_^pow_ -> rhs_, var_Symbol] := If[countVar[base, var] =!= 0,
+ (* var in base *)
+ Switch[pow,
+ -1, {base -> 1/rhs},
+ 2, {base -> -Sqrt[rhs]//PowerExpand, base -> Sqrt[rhs]//PowerExpand},
+ 3, {base->rhs^(1/3),base->-(-1)^(1/3) rhs^(1/3),base->(-1)^(2/3) rhs^(1/3)},
+ 4, {base->-rhs^(1/4),base->-I rhs^(1/4),base->I rhs^(1/4),base->rhs^(1/4)},
+ 5, {base->rhs^(1/5),base->-(-1)^(1/5) rhs^(1/5),base->(-1)^(2/5) rhs^(1/5),base->-(-1)^(3/5) rhs^(1/5),base->(-1)^(4/5) rhs^(1/5)},
+ (* Not implemented yet *)
+ _Integer, SolveError,
+ (* Similar to the general case but without the message.*)
+ Rational[1, n_], {base -> rhs ^ (1/pow)},
+ _, Message[Solve::ifun, Solve];{base -> rhs ^ (1/pow)}
+ ],
+ (* else, var in power *)
+ If[rhs === 0,
+ {},
+ Switch[base,
+ _Integer,
+ {pow->
+ ConditionalExpression[
+ If[base > 0,
+ (2 I Pi C[1])/Log[base]+Log[rhs]/Log[base],
+ ((2 I Pi C[1])+Log[rhs])/Log[base],
+ ],
+ C[1]\[Element]Integers
+ ]
+ },
+ E, If[MatchQ[rhs, _Real],
+ {pow -> Log[rhs]},
+ {pow -> ConditionalExpression[2 I Pi C[1] + Log[rhs],
+ C[1] \[Element] Integers]},
+ ],
+ _, Message[Solve::ifun, Solve];{pow -> Log[rhs]/Log[base]}
+ ]]
+];
+applyInverse[Log[lhs_] -> rhs_, var_Symbol] :=
+ {lhs -> ConditionalExpression[E^rhs, -Pi < Im[rhs] <= Pi]};
+applyInverse[Abs[lhs_] -> rhs_, var_Symbol] :=
+ (Message[Solve::ifun, Solve];{lhs -> -rhs, lhs -> rhs});
+(* Trig inverses *)
+applyInverse[Sin[lhs_] -> rhs_, var_Symbol] :=
+ {lhs->checkedConditionalExpression[Pi-ArcSin[rhs]+2 Pi C[-1],C[-1]\[Element]Integers],
+ lhs->checkedConditionalExpression[ArcSin[rhs]+2 Pi C[-1],C[-1]\[Element]Integers]};
+applyInverse[Cos[lhs_] -> rhs_, var_Symbol] :=
+ {lhs->checkedConditionalExpression[-ArcCos[rhs]+2 Pi C[-1],C[-1]\[Element]Integers],
+ lhs->checkedConditionalExpression[ArcCos[rhs]+2 Pi C[-1],C[-1]\[Element]Integers]};
+applyInverse[Tan[lhs_] -> rhs_, var_Symbol] :=
+ {lhs -> ConditionalExpression[ArcTan[rhs] + Pi C[1],
+ C[1] \[Element] Integers]};
+applyInverse[Cot[lhs_] -> rhs_, var_Symbol] :=
+ {lhs -> ConditionalExpression[ArcCot[rhs] + Pi C[1],
+ C[1] \[Element] Integers]};
+applyInverse[Sec[lhs_] -> rhs_, var_Symbol] :=
+ {lhs -> ConditionalExpression[-ArcCos[1/rhs] + 2 Pi C[1],
+ C[1] \[Element] Integers], lhs ->
+ ConditionalExpression[ArcCos[1/rhs] + 2 Pi C[1],
+ C[1] \[Element] Integers]};
+applyInverse[Csc[lhs_] -> rhs_, var_Symbol] :=
+ {lhs -> ConditionalExpression[Pi - ArcSin[1/rhs] + 2 Pi C[1],
+ C[1] \[Element] Integers], lhs ->
+ ConditionalExpression[ArcSin[1/rhs] + 2 Pi C[1],
+ C[1] \[Element] Integers]};
+(* Inverses for inverse trig functions *)
+applyInverse[ArcSin[lhs_] -> rhs_, var_Symbol] :=
+ {lhs -> ConditionalExpression[
+ Sin[rhs], (Re[rhs] == -(Pi/2) && Im[rhs] >= 0) || -(Pi/2) <
+ Re[rhs] < Pi/2 || (Re[rhs] == Pi/2 && Im[rhs] <= 0)]};
+applyInverse[ArcCos[lhs_] -> rhs_, var_Symbol] :=
+ {lhs -> ConditionalExpression[
+ Cos[rhs], (Re[rhs] == 0 && Im[rhs] >= 0) ||
+ 0 < Re[rhs] < Pi || (Re[rhs] == Pi && Im[rhs] <= 0)]};
+applyInverse[ArcTan[lhs_] -> rhs_, var_Symbol] :=
+ {lhs -> ConditionalExpression[
+ Tan[rhs], (Re[rhs] == -(Pi/2) && Im[rhs] < 0) || -(Pi/2) <
+ Re[rhs] < Pi/2 || (Re[rhs] == Pi/2 && Im[rhs] > 0)]};
+applyInverse[Cosh[lhs_] -> rhs_, var_Symbol] :=
+ {lhs -> ConditionalExpression[-ArcCosh[rhs] + 2 I \[Pi] C[1],
+ C[1] \[Element] Integers], lhs ->
+ ConditionalExpression[ArcCosh[rhs] + 2 I \[Pi] C[1],
+ C[1] \[Element] Integers]}
+
+(* Base case: *)
+
+isolate[var_Symbol -> rest_, var_Symbol] := {var -> rest};
+isolate[lhs_ -> rhs_, var_Symbol] := Module[{inverseApplied},
+ (* Switch sides if needed to get var on LHS: *)
+
+ If[(countVar[rhs, var] === 1) && (countVar[lhs, var] === 0),
+ Return[isolate[rhs -> lhs, var]]];
+
+ (* Assert var occurs only once in the LHS: *)
+
+ If[!((countVar[lhs, var] === 1) && (countVar[rhs, var] === 0)),
+ Return[$Failed]];
+
+ inverseApplied = applyInverse[lhs -> rhs, var];
+ If[Head[inverseApplied] =!= List,
+ Print["Solve error: Finding inverse failed for ", lhs -> rhs,
+ ", var: ", var]; Return[SolveFailed]];
+
+ allIsolated = isolate[#, var]& /@ inverseApplied;
+ Join[Sequence @@ allIsolated]
+ ];
+checkSolution[eqn_Equal, sol_] := Module[{checkRes},
+ checkRes = eqn /. sol // Simplify;
+ checkRes =!= False
+];
+isolateInEqn[eqn_Equal, var_Symbol] := Module[{isolated},
+ isolated = {#}& /@ isolate[Rule @@ eqn, var];
+ (*Check that the isolate procedure returned sane results.*)
+ If[!AllTrue[isolated, (Head[#[[1]]] == Rule)&], Return[SolveFailed]];
+ (*Canonicalize solutions.*)
+ isolated = isolated//Simplify//Sort;
+ isolated = Select[isolated, checkSolution[eqn, #]&];
+ isolated
+];
+
+collect[eqn_Equal, var_Symbol] := Module[{toTry, collected, continue, foundSimpler, toTryFns},
+ collected = eqn;
+ continue = True;
+ (*These rewrite rules cannot change the meaning of the solution. That is,
+ applying Exp to both sides would not be a suitable technique here.*)
+ While[continue,
+ foundSimpler = False;
+ toTryFns = {
+ (#[[1]]-#[[2]]==0)&,
+ (Expand[#])&,
+ (ExpandAll[#])&
+ };
+ Do[
+ toTry = toTryFn[collected];
+ If[Not[foundSimpler] && countVar[toTry, var] < countVar[collected, var],
+ collected = toTry;
+ foundSimpler = True;
+ ];
+ , {toTryFn, toTryFns}];
+ continue = foundSimpler;
+ ];
+ collected
+];
+
+(* Expanded equations are defined in equationdata.m. *)
+solveQuadratic[a_.*x_^2 + b_.*x_ + c_., x_] :=
+ solveQuadratic[a,b,c,x]/;FreeQ[{a,b,c},x];
+solveCubic[d_.*x_^3 + c_.*x_^2 + b_.*x_ + a_., x_] :=
+ solveCubic[d,c,b,a,x]/;FreeQ[{a,b,c,d},x];
+solveCubic[d_.*x_^3 + c_.*x_^2 + a_., x_] :=
+ solveCubic[d,c,0,a,x]/;FreeQ[{a,c,d},x];
+solveCubic[d_.*x_^3 + b_.*x_ + a_., x_] :=
+ solveCubic[d,0,b,a,x]/;FreeQ[{a,b,d},x];
+solveQuartic[e_.*x_^4 + d_.*x_^3 + c_.*x_^2 + b_.*x_ + a_., x_] :=
+ solveQuartic[e,d,c,b,a,x]/;FreeQ[{a,b,c,d,e},x];
+solveQuartic[e_.*x_^4 + d_.*x_^3 + a_, x_] :=
+ solveQuartic[e,d,0,0,a,x]/;FreeQ[{a,d,e},x];
+solveQuartic[e_.*x_^4 + d_.*x_^3 , x_] :=
+ {{x->0},{x->0},{x->0},{x->-(d/e)}}/;FreeQ[{d,e},x];
+
+(* Solve using u-substitution for polynomial-like forms.*)
+uSubstitute::usage =
+ "uSubstitute[eqn, var] takes a non-polynomial `+"`"+`eqn`+"`"+` and attempts a \
+u-substitution such that `+"`"+`eqn`+"`"+` takes a polynomial form. If the \
+substitution succeeds, the function returns `+"`"+`{transformed, uValue}`+"`"+`. \
+The `+"`"+`transformed`+"`"+` equation will include the `+"`"+`uPlaceholder`+"`"+` symbol as \
+the u symbol. The function returns an error symbol if the \
+substitution fails to produce a polynomial form.";
+uSubstitute[theEqn_, theVar_Symbol] :=
+ Module[{eqn = theEqn, var = theVar, expGcd, uValue, transformed,
+ exponents},
+ (* Attempt to extract exponents of polynomial-like equations.
+ We wish to ignore any zero-valued exponents. *)
+
+ exponents = DeleteCases[Exponent[eqn, var, List], 0];
+ If[Length[exponents] === 0, Return[$Failed]];
+ (* Find the signed GCD of the exponents.
+ This seems to work for many of the problem cases,
+ but may not yield a useful polynomial form for all equations. *)
+
+ expGcd = GCD @@ exponents*Sign[exponents[[1]]];
+ uValue = var^expGcd;
+ (* Rewrite the variable with our u-value. *)
+
+ transformed =
+ eqn /. var -> uPlaceholder^(1/expGcd) // PowerExpand;
+ (* If our transformed equation is polynomial, we have succeeded. *)
+
+ If[PolynomialQ[transformed, var], {transformed, uValue}, $Failed]
+ ];
+
+uSubstitutionSolve::usage =
+ "uSubstitutionSolve[eqn, var] takes a non-polynomial `+"`"+`eqn`+"`"+` and \
+attempts a u-substitution such that `+"`"+`eqn`+"`"+` takes a polynomial form in \
+order to solve the equation. The function returns the solve result or \
+`+"`"+`$Failed`+"`"+` in case of an issue.";
+uSubstitutionSolve[theEqn_, theVar_Symbol] :=
+ Module[{eqn = theEqn, var = theVar, transformed, uSolved, solved},
+ transformed = uSubstitute[eqn, var];
+ (* If the u-
+ substitution fails to produce a polynomial form and instead \
+returns an error symbol, fail this solution attempt. *)
+
+ If[Head[transformed] =!= List, Return[$Failed]];
+ (* Find the roots of the equation that was transformed into a \
+polynomial form. *)
+
+ uSolved = Solve[transformed[[1]] == 0, uPlaceholder];
+ (* For each of the roots, solve for the original variable. *)
+ If[Head[uSolved] =!= List, Return[$Failed]];
+
+ solved =
+ Map[Solve[transformed[[2]] == #[[1, 2]], var] &, uSolved];
+ (* There may be some roots that have no solution for the original \
+variable. Throw these out. *)
+
+ solved = Select[solved, (Length[#] >= 1) &];
+ (* No way to handle multiple solutions yet. *)
+
+ If[AnyTrue[solved, (Length[#] != 1) &], Return[$Failed]];
+ (* Collect the unique solutions of eqn and return. *)
+
+ Map[First, solved] // DeleteDuplicates // Sort
+ ];
+
+(* Following method described in: *)
+(*Sterling, L, Bundy, A, Byrd, L, O'Keefe, R & Silver, B 1982, Solving Symbolic Equations with PRESS. in*)
+(*Computer Algebra - Lecture Notes in Computer Science. vol. 7. DOI: 10.1007/3-540-11607-9_13*)
+(* Available at: http://www.research.ed.ac.uk/portal/files/413486/Solving_Symbolic_Equations_%20with_PRESS.pdf *)
+Solve[eqn_Equal, var_Symbol] := Module[{degree, collected, fullSimplified, poly},
+ If[containsZeroOccurrences[eqn, var], Return[{}]];
+ (* Attempt isolation *)
+ If[containsOneOccurrence[eqn, var], Return[isolateInEqn[eqn, var]]];
+
+ (* Attempt polynomial solve *)
+ poly = eqn[[1]]-eqn[[2]];
+ If[PolynomialQ[poly, var],
+ degree = Exponent[poly, var];
+ If[degree === 2, Return[solveQuadratic[poly//Expand, var]//Simplify//Sort]];
+ If[degree === 3, Return[solveCubic[poly//Expand, var]//Simplify//Sort]];
+ If[degree === 4, Return[solveQuartic[poly//Expand, var]//Simplify//Sort]];
+ Print["Encountered unsolvable polynomial in Solve: ", poly];,
+
+ (* else *)
+
+ uSubstituted = uSubstitutionSolve[eqn[[1]]-eqn[[2]], var];
+ If[Head[uSubstituted] === List, Return[uSubstituted]];
+ ];
+
+ collected = collect[eqn, var];
+ If[containsOneOccurrence[collected, var], Return[isolateInEqn[collected, var]]];
+
+ (*Try FullSimplify then solve.*)
+ fullSimplified = eqn // FullSimplify;
+ If[fullSimplified =!= eqn, Return[Solve[fullSimplified, var]]];
+
+ Print["Solve found no solutions for ", eqn, " for ", var];
+ SolveFailed
+ ];
+solveMultOrdered[eqns_List, vars_List] :=
+ Module[{firstSol, secondSol, toSolve},
+ If[Length[eqns] =!= 2 || Length[vars] =!= 2, Return[SolveFailed]];
+ firstSol = Solve[eqns[[1]], vars[[1]]];
+ Print[firstSol];
+ If[Length[firstSol] =!= 1, Return[TooManySols1]];
+ toSolve := eqns[[2]] /. firstSol[[1, 1]];
+ secondSol = Solve[toSolve, vars[[2]]];
+ Print[secondSol];
+ If[Length[secondSol] =!= 1, Return[TooManySols2]];
+ firstSol = firstSol /. secondSol[[1]];
+ {{firstSol[[1, 1]], secondSol[[1, 1]]}}
+ ];
+Solve[eqn_Equal, vars_List] := Solve[eqn, vars[[Length[vars]]]];
+Solve[eqns_List, vars_List] := Module[{res, currVarOrder},
+ res = Do[
+ res = solveMultOrdered[eqns, currVarOrder];
+ If[Head[res] === List, Return[res]];
+ , {currVarOrder, Permutations[vars]}];
+ If[res === Null, NoneFound, res]
+ ];
+
+(* Special cases for Solve: *)
+Solve[False, _] := {};
+Solve[True, _] := {{}};
+Solve[{}, _] := {{}};
+Solve[x_Symbol+a_.*E^x_Symbol==0, x_Symbol] := {{x->-ProductLog[a]}};
+(* Currently needed for Apart: *)
+(*Orderless matching would be nice here*)
+Solve[{a_.*x_Symbol+b_.*y_Symbol==c_,d_.*x_Symbol+e_.*y_Symbol==f_},{x_Symbol,y_Symbol}] := {{x->-((c e-b f)/(b d-a e)),y->-((-c d+a f)/(b d-a e))}} /;FreeQ[{a,b,c,d,e,f},x]&&FreeQ[{a,b,c,d,e,f},y]
+Solve[{a_.*x_Symbol+b_.*y_Symbol==c_,d_.*x_Symbol==f_},{x_Symbol,y_Symbol}] := {{x->f/d,y->-((-c d+a f)/(b d))}}/;FreeQ[{a,b,c,d,f},x]&&FreeQ[{a,b,c,d,f},y]
+
+Attributes[Solve] = {Protected};
+normSol[s_List] :=
+ Sort[(# /.
+ ConditionalExpression[e_, a_And] :>
+ ConditionalExpression[e, a // Sort]) & /@ s];
+Tests`+"`"+`Solve = {
+ ESimpleExamples[
+ ESameTest[{{x->Log[y]/Log[a+b]}}, Solve[(a+b)^x==y,x]],
+ ESameTest[{{x -> -Sqrt[-3 + y]}, {x -> Sqrt[-3 + y]}}, Solve[y == x^2 + 3, x]],
+ ESameTest[{{y->1-Sqrt[-2+2 x-x^2]},{y->1+Sqrt[-2+2 x-x^2]}}, Solve[2==x^2+y^2+(x-2)^2+(y-2)^2,y]],
+ (*ESameTest[{{x -> (-b - Sqrt[b^2 - 4 a c])/(2 a)}, {x -> (-b + Sqrt[b^2 - 4 a c])/(2 a)}}, Solve[a*x^2 + b*x + c == 0, x]],*)
+ (*ESameTest[{{x -> (-b - Sqrt[b^2 - 4 a c + 4 a d])/(2 a)}, {x -> (-b + Sqrt[b^2 - 4 a c + 4 a d])/(2 a)}}, Print[a,b,c,d,x];Solve[a*x^2 + b*x + c == d, x]]*)
+ ], ETests[
+ (* BASIC ISOLATION *)
+
+ (* Sanity checks *)
+ ESameTest[{{x -> 0}}, Solve[x == 0, x]],
+ ESameTest[{{x -> b}}, Solve[x == b, x]],
+ (* Inverses of addition *)
+ ESameTest[{{a -> 1.5}}, Solve[a + 1.5 == 3, a]],
+ (* Inverses of multiplication/division *)
+ ESameTest[{{x -> b/a}}, Solve[x*a == b, x]],
+ ESameTest[{{x -> a b}}, Solve[x/a == b, x]],
+ ESameTest[{{x -> -(b/m)}}, Solve[m*x + b == 0, x]],
+ ESameTest[{{x -> (-b + c)/m}}, Solve[m*x + b == c, x]],
+ (* Inverse of exponentiation, var in base *)
+ ESameTest[{{x -> -Sqrt[a]}, {x -> Sqrt[a]}}, Solve[x^2 == a, x]],
+ ESameTest[{{x->b^(1/a)}}, Solve[x^a==b,x]],
+ ESameTest[{{x -> -Sqrt[-3 + y]}, {x -> Sqrt[-3 + y]}}, Solve[y == x^2 + 3, x]],
+ ESameTest[{{x->2^(1/(5 y+Sin[y]))}}, Solve[x^(5y+Sin[y])==2,x]],
+ ESameTest[{{a->-b},{a->b}}, Solve[a^2==b^2,a]],
+ ESameTest[{}, Solve[x^(1/2)==-1,x]],
+ (* Inverse of exponentiation, var in base: To a fractional power *)
+ ESameTest[{{x->y^2}}, Solve[Sqrt[x]==y,x]],
+ ESameTest[{{x->y^9}}, Solve[x^(1/9)==y,x]],
+ ESameTest[{}, Solve[x^(1/6)==-I,x]],
+ (* Inverse of exponentiation, var in power *)
+ ESameTest[{{x->Log[y]/Log[a+b]}}, Solve[(a+b)^x==y,x]],
+ ESameTest[{{x->ConditionalExpression[1/2 (2 I Pi C[1]+Log[5/4]),C[1]\[Element]Integers]}}, Solve[4E^(2x)==5,x]],
+ ESameTest[{{x->ConditionalExpression[2 I Pi C[1]+Log[5],C[1]\[Element]Integers]}}, Solve[E^x==5,x]],
+ ESameTest[{}, Solve[E^x==0,x]],
+ ESameTest[{{x->ConditionalExpression[2 I Pi C[1],C[1]\[Element]Integers]}}, Solve[E^x==1,x]],
+ (*ESameTest[{{x->2.4663 Log[y]}}, Solve[1.5^x==y,x]],*)
+ ESameTest[{{x->ConditionalExpression[(2 I Pi C[1])/Log[3]+Log[y]/Log[3],C[1]\[Element]Integers]}}//Simplify, Solve[3^x == y, x]],
+ ESameTest[{{x->ConditionalExpression[(2 I Pi C[1])/Log[2]+Log[y]/Log[2],C[1]\[Element]Integers]}}//Simplify, Solve[2^x == y, x]],
+ ESameTest[{{x->ConditionalExpression[(2 I Pi C[1]+Log[y])/(I Pi+Log[2]),C[1]\[Element]Integers]}}, Solve[(-2)^x == y, x]],
+ ESameTest[{{x->ConditionalExpression[(2 I Pi C[1]+Log[y])/(I Pi+Log[3]),C[1]\[Element]Integers]}}, Solve[(-3)^x == y, x]],
+ (* Inverse of log *)
+ ESameTest[{{x->ConditionalExpression[E^(b+y-z)-y,-PiConditionalExpression[Pi-ArcSin[E^y]+2 Pi C[1],C[1]\[Element]Integers&&-PiConditionalExpression[ArcSin[E^y]+2 Pi C[1],C[1]\[Element]Integers&&-Pi-2-b},{a->2-b}}, Solve[Abs[a+b]==2,a]],
+ (* Inverse of Sin *)
+ ESameTest[{{x->ConditionalExpression[-b-ArcSin[c-d]+2 Pi C[1],C[1]\[Element]Integers]},{x->ConditionalExpression[-b+Pi+ArcSin[c-d]+2 Pi C[1],C[1]\[Element]Integers]}}, Solve[Sin[x+b]+c==d,x]],
+ (* Inverse of Cos *)
+ ESameTest[{{a->ConditionalExpression[-b-ArcCos[2]+2 Pi C[1],C[1]\[Element]Integers]},{a->ConditionalExpression[-b+ArcCos[2]+2 Pi C[1],C[1]\[Element]Integers]}}, Solve[Cos[a+b]==2,a]],
+ (* Solve nested trig functions *)
+ ESameTest[{{x->ConditionalExpression[-ArcSin[ArcCos[y]-2 Pi C[2]]+2 Pi C[1],C[2]\[Element]Integers&&C[1]\[Element]Integers]},{x->ConditionalExpression[Pi+ArcSin[ArcCos[y]-2 Pi C[2]]+2 Pi C[1],C[2]\[Element]Integers&&C[1]\[Element]Integers]},{x->ConditionalExpression[Pi-ArcSin[ArcCos[y]+2 Pi C[2]]+2 Pi C[1],C[2]\[Element]Integers&&C[1]\[Element]Integers]},{x->ConditionalExpression[ArcSin[ArcCos[y]+2 Pi C[2]]+2 Pi C[1],C[2]\[Element]Integers&&C[1]\[Element]Integers]}}//normSol, Solve[Cos[Sin[x]]==y,x]//normSol],
+ (* Solve combination of Sin and ArcSin *)
+ ESameTest[{{x->-b+y}}, Solve[Sin[ArcSin[x+b]]==y,x]],
+ ESameTest[{{x->ConditionalExpression[Pi-ArcSin[Sin[y]]+2 Pi C[1],((Re[y]==-(Pi/2)&&Im[y]>=0)||-(Pi/2)ConditionalExpression[ArcSin[Sin[y]]+2 Pi C[1],((Re[y]==-(Pi/2)&&Im[y]>=0)||-(Pi/2) -1.66352}, {x -> 1.66352}}", "Solve[PDF[NormalDistribution[0, 1], x] == .1, x]"],
+
+ (* POLYNOMIALS *)
+ ESameTest[{{x->(-b-Sqrt[b^2-4 a c])/(2 a)},{x->(-b+Sqrt[b^2-4 a c])/(2 a)}}, Solve[a*x^2==-b*x-c,x]],
+ ESameTest[Solve[a x^2==-b x-foo[x],x], Solve[a*x^2==-b*x-foo[x],x]],
+ ESameTest[{{x->-((I Sqrt[c])/Sqrt[a])},{x->(I Sqrt[c])/Sqrt[a]}}, Solve[a*x^2==-c,x]],
+ ESameTest[{{x->-I Sqrt[c]},{x->I Sqrt[c]}}, Solve[x^2==-c,x]],
+
+ (* COLLECTION *)
+ ESameTest[{{x->4}}, Solve[3x+1==2x+5,x]],
+ ESameTest[{{x->17/15}}, Solve[5(4x-3)+4 (6 x+1)==7 (2 x+3)+2,x]],
+
+ ESameTest[{}, Solve[x^(1/2) == -2, x]],
+ (* Probably needs solution checking for this to work. *)
+ ESameTest[{}, Solve[x^(1/4) == -2, x]],
+
+ (* From Sympy. *)
+ ESameTest[{}, Solve[False, x]],
+ ESameTest[{}, Solve[False, x]],
+ ESameTest[{}, Solve[False, x]],
+ ESameTest[{{}}, Solve[{}, x]],
+ ESameTest[{{x -> 0}}, Solve[x == 0, x]],
+ ESameTest[{{x -> 0}}, Solve[x == 0, x]],
+ ESameTest[{}, Solve[1 + x^(1/2) == 0, x]],
+ ESameTest[{{x -> 0}}, Solve[2*x == 0, x]],
+ ESameTest[{}, Solve[x^2 + -Pi == 0, pi]],
+ ESameTest[{{y -> 3}}, Solve[-3 + y == 0, y]],
+ ESameTest[{{x -> -a}}, Solve[a + x == 0, x]],
+ ESameTest[{{x -> -1}}, Solve[y + x*y == 0, x]],
+ ESameTest[{{x -> 16}}, Solve[-2 + x^(1/4) == 0, x]],
+ ESameTest[{{x -> 27}}, Solve[-3 + x^(1/3) == 0, x]],
+ ESameTest[{{x -> 4}}, Solve[-2 + x^(1/2) == 0, x]],
+ ESameTest[{{x -> 1}}, Solve[-1 + x^(1/2) == 0, x]],
+ ESameTest[{{x -> 2/3}}, Solve[-2 + 3*x == 0, x]],
+ ESameTest[{{x -> 2/3}}, Solve[-2 + 3*x == 0, x]],
+ ESameTest[{}, Solve[1 + x^(1/3) + x^(1/2) == 0, x]],
+ ESameTest[{{x -> -2}, {x -> 2}}, Solve[-4 + x^2 == 0, x]],
+ ESameTest[{{x -> -2}, {x -> 2}}, Solve[-4 + x^2 == 0, x]],
+ ESameTest[{{x -> -1}, {x -> 1}}, Solve[-1 + x^2 == 0, x]],
+ ESameTest[{{x -> -1}, {x -> 1}}, Solve[-1 + x^2 == 0, x]],
+ ESameTest[{{x -> -1}, {x -> 1}}, Solve[-1 + x^2 == 0, x]],
+ ESameTest[{{x -> y^3}}, Solve[x + -y^3 == 0, x]],
+ ESameTest[{{x -> -ProductLog[-1]}}, Solve[x + -E^x == 0, x]],
+ ESameTest[{{x -> 0}, {x -> 27}}, Solve[x*(-3 + x^(1/3)) == 0, x]],
+ ESameTest[{{x -> -2^(1/4)}}, Solve[2^(1/4) + x == 0, x]],
+ ESameTest[{{x -> -2^(1/2)}}, Solve[2^(1/2) + x == 0, x]],
+ ESameTest[{{x -> (0 + -1*I)}, {x -> (0 + 1*I)}}, Solve[1 + x^2 == 0, x]],
+ ESameTest[{{x -> -y*E^((-1)*y)}}, Solve[y + x*E^y == 0, x]],
+ ESameTest[{{x -> 0}, {x -> 1}}, Solve[4*x*(1 + -x^(1/2)) == 0, x]],
+ ESameTest[{{x -> (a^(-1)*y)^(b^(-1))}}, Solve[a*x^b + -y == 0, x]],
+ ESameTest[{{x -> 0}, {x -> a^(-2)}}, Solve[4*x*(1 + -a*x^(1/2)) == 0, x]],
+ ESameTest[{{x -> ConditionalExpression[(0 + 1*I)*Pi + (0 + 2*I)*Pi*C[1], Element[C[1], Integers]]}}//Simplify, Solve[1 + E^x == 0, x]],
+ ESameTest[{{x -> y^3}}, Solve[y^(-2)*(1 + -y^2)^(-1/2)*(x + -y^3) == 0, x]],
+ ESameTest[{{x -> y^3}}, Solve[y^(-2)*(1 + -y^2)^(-1/2)*(x + -y^3) == 0, x]],
+ ESameTest[{{x -> ConditionalExpression[(0 + 2*I)*Pi*C[1]*Log[3]^(-1) + Log[3]^(-1)*Log[10], Element[C[1], Integers]]}}//Simplify, Solve[-10 + 3^x == 0, x]],
+ ESameTest[{{x -> ConditionalExpression[(0 + 2*I)*Pi*C[1]*Log[3]^(-1) + Log[3]^(-1)*Log[10], Element[C[1], Integers]]}}//Simplify, Solve[10 + -3^x == 0, x]],
+ ESameTest[{{y -> x^(1/3)}, {y -> -(-1)^(1/3)*x^(1/3)}, {y -> (-1)^(2/3)*x^(1/3)}}, Solve[x + -y^3 == 0, y]],
+ ESameTest[{{x -> ConditionalExpression[-ArcCos[(1/2)*y] + 2*Pi*C[1], Element[C[1], Integers]]}, {x -> ConditionalExpression[ArcCos[(1/2)*y] + 2*Pi*C[1], Element[C[1], Integers]]}}, Solve[-y + 2*Cos[x] == 0, x]],
+ ESameTest[{{x -> -(1 + -a^(1/2))^(1/2)}, {x -> (1 + -a^(1/2))^(1/2)}, {x -> -(1 + a^(1/2))^(1/2)}, {x -> (1 + a^(1/2))^(1/2)}}, Solve[-a + (-1 + x^2)^2 == 0, x]],
+ ], EKnownFailures[
+ ESameTest[{{x->-2 I},{x->-2 I-2 y}}//normSol, Solve[Abs[x+2I+y]==y,x]//normSol],
+ ],
+};
+
+ExpreduceTestSolve[fn_] := Module[{testproblems, testi, runSolveTest, testp, res, nCorrect, isCorrect},
+ testproblems = ReadList[fn];
+ testproblems = Select[testproblems, (MatchQ[#[[2]],_Symbol])&];
+ Print[Length[testproblems]];
+
+ testi = 1;
+ nCorrect = 0;
+
+ runSolveTest[thei_Integer] := (
+ testp = testproblems[[thei]];
+ res = Solve[testp[[1]], testp[[2]]] // Timing;
+ isCorrect = res[[2]] === testp[[3]];
+ Print[{testp[[1]], testp[[2]], testp[[3]], res[[2]], res[[1]], isCorrect}];
+ If[isCorrect, Print[
+ blaESameTest[testp[[3]], blaSolve[testp[[1]], testp[[2]]]]
+ ]];
+ If[isCorrect, nCorrect++];
+ );
+
+ While[testi <= Length[testproblems],
+ Print[{testi, testproblems[[testi]]}];
+ runSolveTest[testi];
+ testi = testi+1;
+ ];
+ Print[nCorrect];
+];
+
+ConditionalExpression::usage = "`+"`"+`ConditionalExpression[expr, conditions]`+"`"+` represents `+"`"+`expr`+"`"+` which is conditional on `+"`"+`conditions`+"`"+`.";
+Attributes[ConditionalExpression] = {Protected};
+ConditionalExpression[e_, True] := e;
+ConditionalExpression[e_, False] := Undefined;
+ConditionalExpression[ConditionalExpression[a_, b_], c_] :=
+ ConditionalExpression[a, c && b];
+`)
+
+func resourcesSolveMBytes() ([]byte, error) {
+ return _resourcesSolveM, nil
+}
+
+func resourcesSolveM() (*asset, error) {
+ bytes, err := resourcesSolveMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/solve.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesSortM = []byte(`Sort::usage = "`+"`"+`Sort[list]`+"`"+` sorts the elements in list according to `+"`"+`Order`+"`"+`.";
+Attributes[Sort] = {Protected};
+Tests`+"`"+`Sort = {
+ ESimpleExamples[
+ EComment["Sort a list of numbers:"],
+ ESameTest[{-5.1, 2, 3.2, 6}, Sort[{6, 2, 3.2, -5.1}]],
+ EComment["Sort a list of strings:"],
+ ESameTest[{"a", "aa", "hello", "zzz"}, Sort[{"hello", "a", "aa", "zzz"}]],
+ EComment["Sort a list of symbols:"],
+ ESameTest[{a, b, c, d}, Sort[{d, a, b, c}]],
+ EComment["Sort a list of heterogenous expressions:"],
+ ESameTest[{5, h, bar[a^x], foo[y, 2]}, Sort[{5, h, foo[y, 2], bar[a^x]}]]
+ ], EFurtherExamples[
+ EComment["The object to sort need not be a list:"],
+ ESameTest[foo[a, b, c, d], Sort[foo[d, a, b, c]]]
+ ], ETests[
+ ESameTest[{x, 2*x, 2*x^2, y, 2*y, 2*y^2}, Sort[{x, 2*x, y, 2*y, 2*y^2, 2*x^2}]]
+ ], EKnownFailures[
+ (*Appears to be broken when we switch to the Private`+"`"+` context.*)
+ (*Minimal example: Sort[{Private`+"`"+`foo[Private`+"`"+`x]^2,(Private`+"`"+`a+Private`+"`"+`b)^2}]*)
+ ESameTest[{1/a,a,a^2,1/b^2,1/b,b,b^2,1/(a+b)^2,a+b,a+b,(a+b)^2,1/foo[x]^2,foo[x],foo[x]^2}, Sort[{a^-1,a,a^2,b^-2,b^-1,b,b^2,(a+b)^-2,(a+b),(a+b)^2,a+b,foo[x],foo[x]^-2,foo[x]^2}]]
+ ]
+};
+
+Order::usage = "`+"`"+`Order[e1, e2]`+"`"+` returns 1 if `+"`"+`e1`+"`"+` should come before `+"`"+`e2`+"`"+` in canonical ordering, -1 if it should come after, and 0 if the two expressions are equal.";
+Attributes[Order] = {Protected};
+Tests`+"`"+`Order = {
+ ESimpleExamples[
+ EComment["Find the relative order of symbols:"],
+ ESameTest[1, Order[a, b]],
+ ESameTest[-1, Order[b, a]],
+ ESameTest[1, Order[a, aa]],
+ EComment["Find the relative order of numbers:"],
+ ESameTest[-1, Order[2, 1.]],
+ ESameTest[1, Order[1, 2]],
+ ESameTest[0, Order[1, 1]],
+ EComment["Find the relative order of strings:"],
+ ESameTest[1, Order["a", "b"]],
+ ESameTest[-1, Order["b", "a"]],
+ EComment["Find the relative order of heterogenous types:"],
+ ESameTest[-1, Order[ab, 1]],
+ ESameTest[1, Order[1, ab]],
+ ESameTest[-1, Order[y[a], x]],
+ EComment["Find the relative order of rationals:"],
+ ESameTest[1, Order[Rational[-5, 3], Rational[-4, 6]]],
+ ESameTest[-1, Order[Rational[4, 6], .6]],
+ ESameTest[1, Order[.6, Rational[4, 6]]],
+ ESameTest[1, Order[Rational[4, 6], .7]],
+ EComment["Find the relative order of expressions:"],
+ ESameTest[0, Order[bar[x, y], bar[x, y]]],
+ ESameTest[1, Order[fizz[bar[x, y]], fizz[bar[x, y, a]]]]
+ ], ETests[
+ (*Symbol ordering*)
+ ESameTest[0, Order[a, a]],
+ ESameTest[1, Order[a, b]],
+ ESameTest[-1, Order[b, a]],
+ ESameTest[1, Order[a, aa]],
+ ESameTest[1, Order[aa, aab]],
+ ESameTest[-1, Order[aab, aa]],
+ ESameTest[-1, Order[aa, a]],
+ ESameTest[-1, Order[ab, aa]],
+ (*Number ordering*)
+ ESameTest[-1, Order[2, 1.]],
+ ESameTest[1, Order[1, 2]],
+ ESameTest[0, Order[1, 1]],
+ ESameTest[0, Order[1., 1.]],
+ ESameTest[1, Order[1, 1.]],
+ ESameTest[-1, Order[1., 1]],
+ (*Symbols vs numbers*)
+ ESameTest[-1, Order[ab, 1]],
+ ESameTest[1, Order[1, ab]],
+ (*Sort expressions*)
+ ESameTest[-1, Order[foo[x, y], bar[x, y]]],
+ ESameTest[1, Order[bar[x, y], foo[x, y]]],
+ ESameTest[0, Order[bar[x, y], bar[x, y]]],
+ ESameTest[1, Order[bar[x, y], bar[x, y, z]]],
+ ESameTest[1, Order[bar[x, y], bar[x, y, a]]],
+ ESameTest[1, Order[bar[x, y], bar[y, z]]],
+ ESameTest[-1, Order[bar[x, y], bar[w, x]]],
+ ESameTest[-1, Order[fizz[foo[x, y]], fizz[bar[x, y]]]],
+ ESameTest[1, Order[fizz[bar[x, y]], fizz[foo[x, y]]]],
+ ESameTest[0, Order[fizz[bar[x, y]], fizz[bar[x, y]]]],
+ ESameTest[1, Order[fizz[bar[x, y]], fizz[bar[x, y, z]]]],
+ ESameTest[1, Order[fizz[bar[x, y]], fizz[bar[x, y, a]]]],
+ ESameTest[1, Order[fizz[bar[x, y]], fizz[bar[y, z]]]],
+ ESameTest[-1, Order[fizz[bar[x, y]], fizz[bar[w, x]]]],
+ ESameTest[-1, Order[fizz[foo[x, y]], fizz[bar[a, y]]]],
+ ESameTest[-1, Order[fizz[foo[x, y]], fizz[bar[z, y]]]],
+ ESameTest[1, Order[1, a[b]]],
+ ESameTest[1, Order[1., a[b]]],
+ ESameTest[-1, Order[a[b], 1]],
+ ESameTest[-1, Order[a[b], 1.]],
+ ESameTest[1, Order[x, y[a]]],
+ ESameTest[1, Order[x, w[a]]],
+ ESameTest[-1, Order[w[a], x]],
+ ESameTest[-1, Order[y[a], x]],
+ ESameTest[-1, Order[y[], x]],
+ ESameTest[-1, Order[y, x]],
+ ESameTest[-1, Order[w[], x]],
+ ESameTest[1, Order[w, x]],
+ (*Test Rational ordering*)
+ ESameTest[0, Order[Rational[4, 6], Rational[2, 3]]],
+ ESameTest[1, Order[Rational[4, 6], Rational[5, 3]]],
+ ESameTest[-1, Order[Rational[5, 3], Rational[4, 6]]],
+ ESameTest[1, Order[Rational[-5, 3], Rational[-4, 6]]],
+ ESameTest[-1, Order[Rational[4, 6], .6]],
+ ESameTest[1, Order[.6, Rational[4, 6]]],
+ ESameTest[1, Order[Rational[4, 6], .7]],
+ ESameTest[-1, Order[.7, Rational[4, 6]]],
+ ESameTest[-1, Order[Rational[4, 6], 0]],
+ ESameTest[1, Order[Rational[4, 6], 1]],
+ ESameTest[1, Order[0, Rational[4, 6]]],
+ ESameTest[-1, Order[1, Rational[4, 6]]],
+ ESameTest[1, Order[Rational[4, 6], a]],
+ ESameTest[-1, Order[a, Rational[4, 6]]],
+ (*Test String ordering*)
+ ESameTest[-1, Order["a", 5]],
+ ESameTest[-1, Order["a", 5.5]],
+ ESameTest[-1, Order["a", 5/2]],
+ ESameTest[1, Order["a", x]],
+ ESameTest[1, Order["a", x^2]],
+ ESameTest[1, Order["a", x^2]],
+ ESameTest[-1, Order["b", "a"]],
+ ESameTest[1, Order["a", "b"]],
+ ESameTest[1, Order["a", "aa"]],
+ (*Test polynomial ordering*)
+ ESameTest[-1, Order[x^3,4x^2]],
+ ESameTest[-1, Order[x^3,4x^2]],
+ ESameTest[1, Order[1,4x^2]],
+ ESameTest[1, Order[1,4*Sin[x]^2]],
+ ESameTest[-1, Order[5x^2,4x^2]],
+ ESameTest[-1, Order[4x^3,4x^2]],
+ ESameTest[1, Order[x^2,4x^2]],
+ ESameTest[1, Order[x^2,foo[x]]],
+ ESameTest[1, Order[x^2,x*y]],
+ ESameTest[-1, Order[3x^3,4x^2]],
+ ESameTest[-1, Order[d*g,d*f]],
+ ESameTest[0, Order[d*g,d*g]],
+ ESameTest[1, Order[d*g,d*h]],
+ ESameTest[1, Order[d*g,e*g]],
+ ESameTest[1, Order[d*g,e*h]],
+ ESameTest[-1, Order[d g, e f]],
+ ESameTest[1, Order[x^2*y,x*y^2]],
+ ESameTest[1, Order[x^4*y^2,x^2*y^4]],
+ ESameTest[1, Order[x^2*y,2*x*y^2]],
+ ESameTest[1, Order[c, 5 * b * c]],
+ ESameTest[{-1,-1.,-0.1,0,0.1,0.11,2,2,2.,0.5^x,2^x,x,2 x,x^2,x^x,x^(2 x),xxx,2 y}, Sort[{-1,-1.,0.1,0.11,2.,-.1,2,0,2,2*x,2*y,x,xxx,2^x,x^2,x^x,x^(2*x),.5^x}]],
+ ESameTest[-1, Order[foo[x],-x]],
+ ESameTest[-1, Order[a[b,piz,foo[]],a[b,foo[]]]],
+ ESameTest[{-I,1/A,A,1/k,k}, Sort[{A^(-1), k^(-1), (-I), A, k}]],
+ ], EKnownFailures[
+ ESameTest[{a,A,b,B}, Sort[{a,A,b,B}]],
+ ESameTest[1, Order[a + b - c, a + c]]
+ ]
+};
+`)
+
+func resourcesSortMBytes() ([]byte, error) {
+ return _resourcesSortM, nil
+}
+
+func resourcesSortM() (*asset, error) {
+ bytes, err := resourcesSortMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/sort.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesSpecialsymsM = []byte(`Infinity::usage = "`+"`"+`Infinity`+"`"+` represents the mathematical concept of infinity.";
+Plus[Infinity, _, rest___] := Infinity + rest;
+Plus[-Infinity, _, rest___] := -Infinity + rest;
+Plus[Infinity, -Infinity, rest___] := Indeterminate + rest;
+Attributes[Infinity] = {ReadProtected, Protected};
+Tests`+"`"+`Infinity = {
+ ESimpleExamples[
+ ESameTest[Infinity, Infinity - 1],
+ ESameTest[Infinity, Infinity - 990999999],
+ ESameTest[Infinity, Infinity - 990999999.],
+ ESameTest[Indeterminate, Infinity - Infinity],
+ ESameTest[-Infinity, Infinity*-1],
+ ESameTest[-Infinity, -Infinity + 1],
+ ESameTest[-Infinity, -Infinity + 999],
+ ESameTest[Infinity, -Infinity*-1],
+ ESameTest[0, 1/Infinity]
+ ], EKnownFailures[
+ (*I can't simplify this type of infinity until I have ;/ rules*)
+ ESameTest[Infinity, Infinity*2]
+ ]
+};
+
+ComplexInfinity::usage = "`+"`"+`ComplexInfinity`+"`"+` represents an an infinite quantity that extends in an unknown direction in the complex plane.";
+Attributes[ComplexInfinity] = {Protected};
+Tests`+"`"+`ComplexInfinity = {
+ ESimpleExamples[
+ ESameTest[ComplexInfinity, 0^(-1)],
+ ESameTest[ComplexInfinity, a/0],
+ ESameTest[ComplexInfinity, ComplexInfinity * foo[x]],
+ ESameTest[ComplexInfinity, Factorial[-1]]
+ ]
+};
+
+Indeterminate::usage = "`+"`"+`Indeterminate`+"`"+` represents an indeterminate form.";
+Attributes[Indeterminate] = {Protected};
+Tests`+"`"+`Indeterminate = {
+ ESimpleExamples[
+ ESameTest[Indeterminate, 0/0],
+ ESameTest[Indeterminate, Infinity - Infinity],
+ ESameTest[Indeterminate, 0 * Infinity],
+ ESameTest[Indeterminate, 0 * ComplexInfinity],
+ ESameTest[Indeterminate, 0^0]
+ ]
+};
+
+Pi::usage = "`+"`"+`Pi`+"`"+` is the constant of pi.";
+N[Pi] := 3.141592653589793238462643383279502884197;
+Times[Pi, a_Real, rest___] := N[Pi] * a * rest;
+Attributes[Pi] = {ReadProtected, Constant, Protected};
+
+E::usage = "`+"`"+`E`+"`"+` is the constant for the base of the natural logarithm.";
+N[E] := 2.71828182845904523536028747135266249775724709370;
+Times[E, a_Real, rest___] := N[E] * a * rest;
+Attributes[E] = {ReadProtected, Constant, Protected};
+`)
+
+func resourcesSpecialsymsMBytes() ([]byte, error) {
+ return _resourcesSpecialsymsM, nil
+}
+
+func resourcesSpecialsymsM() (*asset, error) {
+ bytes, err := resourcesSpecialsymsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/specialsyms.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesStatsM = []byte(`NormalDistribution::usage = "`+"`"+`NormalDistribution[mu, sigma]`+"`"+` is a normal distribution with a mean `+"`"+`mu`+"`"+` and standard deviation of `+"`"+`sigma`+"`"+`.";
+Attributes[NormalDistribution] = {ReadProtected, Protected};
+Tests`+"`"+`NormalDistribution = {
+ ESimpleExamples[
+ ESameTest[E^(-((x-\[Mu])^2/(2 \[Sigma]^2)))/(Sqrt[2 \[Pi]] \[Sigma]), PDF[NormalDistribution[\[Mu],\[Sigma]],x]]
+ ]
+};
+
+LogNormalDistribution::usage = "`+"`"+`LogNormalDistribution[mu, sigma]`+"`"+` is a lognormal distribution with a mean `+"`"+`mu`+"`"+` and standard deviation of `+"`"+`sigma`+"`"+`.";
+Attributes[LogNormalDistribution] = {ReadProtected, Protected};
+Tests`+"`"+`LogNormalDistribution = {
+ ESimpleExamples[
+ ESameTest[Piecewise[{{1/(E^((-\[Mu] + Log[x])^2/(2*\[Sigma]^2))*Sqrt[2*Pi]*x*\[Sigma]), x > 0}}, 0], PDF[LogNormalDistribution[\[Mu],\[Sigma]],x]]
+ ]
+};
+
+PDF::usage = "`+"`"+`PDF[dist, var]`+"`"+` calculates the PDF of `+"`"+`dist`+"`"+`.";
+PDF[NormalDistribution[mu_, sigma_], x_] := E^(-((-mu+x)^2/(2 sigma^2)))/(Sqrt[2 \[Pi]] sigma);
+PDF[LogNormalDistribution[mu_, sigma_], x_] := Piecewise[{{1/(E^((-mu + Log[x])^2/(2*sigma^2))*Sqrt[2*Pi]*sigma*x), x > 0}}, 0]
+Attributes[PDF] = {ReadProtected, Protected};
+Tests`+"`"+`PDF = {
+ ESimpleExamples[
+ ESameTest[E^(-((x-\[Mu])^2/(2 \[Sigma]^2)))/(Sqrt[2 \[Pi]] \[Sigma]), PDF[NormalDistribution[\[Mu],\[Sigma]],x]],
+ ESameTest[Piecewise[{{1/(E^((-\[Mu] + Log[x])^2/(2*\[Sigma]^2))*Sqrt[2*Pi]*x*\[Sigma]), x > 0}}, 0], PDF[LogNormalDistribution[\[Mu],\[Sigma]],x]]
+ ]
+};
+`)
+
+func resourcesStatsMBytes() ([]byte, error) {
+ return _resourcesStatsM, nil
+}
+
+func resourcesStatsM() (*asset, error) {
+ bytes, err := resourcesStatsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/stats.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesStringM = []byte(`ToString::usage = "`+"`"+`ToString[expr, form]`+"`"+` converts `+"`"+`expr`+"`"+` into a string using printing method `+"`"+`form`+"`"+`.";
+ToString[a_] := ToString[a, OutputForm];
+Attributes[ToString] = {Protected};
+Tests`+"`"+`ToString = {
+ ESimpleExamples[
+ ESameTest["a^2", ToString[Global`+"`"+`a^2, InputForm]],
+ ESameTest["\sin \\left(1\\right)", ToString[Sin[1], TeXForm]],
+ ESameTest["Hello World", "Hello World" // ToString]
+ ], ETests[
+ ESameTest["\sin \\left(\\right)", ToString[Sin[], TeXForm]],
+ ESameTest["\sin \\left(1,2\\right)", ToString[Sin[1, 2], TeXForm]],
+ ]
+};
+
+StringJoin::usage = "`+"`"+`s1 <> s2 <> ...`+"`"+` can join a list of strings into a single string.";
+(*For some reason this is fast for StringJoin[Table["x", {k,2000}]/.List->Sequence]*)
+(*but slow for StringJoin[Table["x", {k,2000}]]*)
+(*StringJoin[{args___}]": "StringJoin[args]",*)
+(*This rule runs much faster, probably because it avoids*)
+(*OrderlessIsMatchQ*)
+StringJoin[list_List] := StringJoin[list /. List->Sequence];
+Attributes[StringJoin] = {Flat, OneIdentity, Protected};
+Tests`+"`"+`StringJoin = {
+ ESimpleExamples[
+ ESameTest["Hello World", "Hello" <> " " <> "World"],
+ ESameTest["If a=2, then a^2=4", "If a=2, then " <> ToString[Global`+"`"+`a^2, InputForm] <> "=" <> ToString[a^2 /. a -> 2, InputForm]]
+ ], EFurtherExamples[
+ EComment["The `+"`"+`StringJoin`+"`"+` of nothing is the empty string:"],
+ ESameTest["", StringJoin[]],
+ EComment["If `+"`"+`StringJoin`+"`"+` receives any non-string arguments, the expression does not evaluate:"],
+ ESameTest["Hello" <> 5, StringJoin["Hello", 5]],
+ EComment["This function takes `+"`"+`List`+"`"+` arguments as well:"],
+ ESameTest["abc", StringJoin[{"a", "b", "c"}]]
+ ]
+};
+
+Infix::usage = "`+"`"+`Infix[expr, sep]`+"`"+` represents `+"`"+`expr`+"`"+` in infix form with separator `+"`"+`sep`+"`"+` when converted to a string.";
+Attributes[Infix] = {Protected};
+Tests`+"`"+`Infix = {
+ ESimpleExamples[
+ ESameTest["bar|fuzz|zip", Infix[foo[Global`+"`"+`bar, Global`+"`"+`fuzz, Global`+"`"+`zip], "|"] // ToString]
+ ]
+};
+
+StringLength::usage = "`+"`"+`StringLength[s]`+"`"+` returns the length of s.";
+Attributes[StringLength] = {Listable, Protected};
+Tests`+"`"+`StringLength = {
+ ESimpleExamples[
+ ESameTest[5, StringLength["Hello"]]
+ ]
+};
+
+StringTake::usage = "`+"`"+`StringTake[s, {start, end}]`+"`"+` takes a substring of s.";
+Attributes[StringTake] = {Protected};
+Tests`+"`"+`StringTake = {
+ ESimpleExamples[
+ ESameTest["h", StringTake["hello", {1, 1}]],
+ ESameTest[StringTake["hello", {0, 1}], StringTake["hello", {0, 1}]],
+ ESameTest["hello", StringTake["hello", {1, StringLength["hello"]}]],
+ ESameTest["", StringTake["hello", {2, 1}]],
+ ESameTest[StringTake["hello", {2, 999}], StringTake["hello", {2, 999}]]
+ ]
+};
+
+StringReplace::usage = "`+"`"+`StringReplace[str, before->after]`+"`"+` replaces any occurrence of `+"`"+`before`+"`"+` with `+"`"+`after`+"`"+` in `+"`"+`str`+"`"+`.";
+Attributes[StringReplace] = {Protected};
+Tests`+"`"+`StringReplace = {
+ ESimpleExamples[
+ ESameTest["hello foo", StringReplace["hello world", "world"->"foo"]],
+ ]
+};
+
+ExportString::usage = "`+"`"+`ExportString[str, \"format\"]`+"`"+` encodes `+"`"+`str`+"`"+` into \"format\".";
+Attributes[ExportString] = {ReadProtected, Protected};
+Tests`+"`"+`ExportString = {
+ ESimpleExamples[
+ ESameTest["SGVsbG8gV29ybGQ=\n", ExportString["Hello World","base64"]],
+ ], ETests[
+ ESameTest["SGVsbG8gV29ybGQ=\n", ExportString["Hello World","Base64"]],
+ ESameTest[ExportString["kdkfdf"], ExportString["kdkfdf"]],
+ ESameTest[$Failed, ExportString["kdkfdf", "jkfdfd"]],
+ ]
+};
+`)
+
+func resourcesStringMBytes() ([]byte, error) {
+ return _resourcesStringM, nil
+}
+
+func resourcesStringM() (*asset, error) {
+ bytes, err := resourcesStringMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/string.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesSystemM = []byte(`Echo[expr_] := (
+ Print[expr];
+ expr
+);
+
+ExpreduceSetLogging::usage = "`+"`"+`ExpreduceSetLogging[bool, level]`+"`"+` sets the logging state to `+"`"+`bool`+"`"+` and the level to `+"`"+`level`+"`"+`.";
+Attributes[ExpreduceSetLogging] = {Protected};
+
+ExpreduceDefinitionTimes::usage = "`+"`"+`ExpreduceDefinitionTimes[]`+"`"+` prints the time in seconds evaluating various definitions.";
+Attributes[ExpreduceDefinitionTimes] = {Protected};
+
+Attributes::usage = "`+"`"+`Attributes[sym]`+"`"+` returns a `+"`"+`List`+"`"+` of attributes for `+"`"+`sym`+"`"+`.";
+Attributes[Attributes] = {HoldAll, Listable, Protected};
+Tests`+"`"+`Attributes = {
+ ESimpleExamples[
+ ESameTest[{Protected, ReadProtected}, Attributes[Infinity]],
+ ESameTest[{HoldAll, Listable, Protected}, Attributes[Attributes]],
+ ESameTest[{Flat, Listable, NumericFunction, OneIdentity, Orderless, Protected}, Attributes[Plus]],
+ EComment["The default set of attributes is the empty list:"],
+ ESameTest[{}, Attributes[undefinedSym]]
+ ], EFurtherExamples[
+ EComment["Only symbols can have attributes:"],
+ ESameTest[Attributes[2], Attributes[2]],
+ ESameTest[Attributes[a^2], Attributes[a^2]]
+ ]
+};
+
+Default::usage = "`+"`"+`Default[sym]`+"`"+` returns the default value of `+"`"+`sym`+"`"+` when used as an `+"`"+`Optional`+"`"+` pattern without a default specified.";
+Attributes[Default] = {Protected};
+Tests`+"`"+`Default = {
+ ESimpleExamples[
+ ESameTest[1, Default[Times]],
+ ESameTest[0, Default[Plus]]
+ ], ETests[
+ ESameTest[Default[foo], Default[foo]]
+ ]
+};
+
+Clear::usage = "`+"`"+`Clear[sym1, sym2, ...]`+"`"+` clears the symbol definitions from the evaluation context.";
+Attributes[Clear] = {HoldAll, Protected};
+Tests`+"`"+`Clear = {
+ ESimpleExamples[
+ ESameTest[a, a],
+ ESameTest[5, a = 5],
+ ESameTest[6, b = 6],
+ ESameTest[7, c = 7],
+ ESameTest[5, a],
+ ESameTest[Null, Clear[a, 99, b]],
+ ESameTest[Symbol, Head[a]],
+ ESameTest[Symbol, Head[b]],
+ ESameTest[Integer, Head[c]],
+ ESameTest[Null, Clear[c]],
+ ESameTest[Symbol, Head[c]]
+ ]
+};
+
+Timing::usage = "`+"`"+`Timing[expr]`+"`"+` returns a `+"`"+`List`+"`"+` with the first element being the time in seconds for the evaluation of `+"`"+`expr`+"`"+`, and the second element being the result.";
+Attributes[Timing] = {HoldAll, SequenceHold, Protected};
+Tests`+"`"+`Timing = {
+ ESimpleExamples[
+ EExampleOnlyInstruction["{0.00167509, 5000000050000000}", "Timing[Sum[a, {a, 100000000}]]"]
+ ]
+};
+
+Print::usage = "`+"`"+`Print[expr1, expr2, ...]`+"`"+` prints the string representation of the expressions to the console and returns `+"`"+`Null`+"`"+`.";
+Print[expressions___] :=
+ WriteString[OutputStream["stdout", 1],
+ StringJoin[ToString /@ {expressions}] <> "\n"];
+Attributes[Print] = {Protected};
+
+MessageName::usage = "`+"`"+`sym::msg`+"`"+` references a particular message for `+"`"+`sym`+"`"+`.";
+Attributes[MessageName] = {HoldFirst, ReadProtected, Protected};
+Tests`+"`"+`MessageName = {
+ ESimpleExamples[
+ EComment["`+"`"+`MessageName`+"`"+` is used to store the usage messages of built-in symbols:"],
+ ESameTest["`+"`"+`sym::msg`+"`"+` references a particular message for `+"`"+`sym`+"`"+`.", MessageName::usage]
+ ]
+};
+
+Trace::usage = "`+"`"+`Trace[expr]`+"`"+` traces the evaluation of `+"`"+`expr`+"`"+`.";
+Attributes[Trace] = {HoldAll, Protected};
+Tests`+"`"+`Trace = {
+ ESimpleExamples[
+ ESameTest[List[HoldForm[Plus[1, 2]], HoldForm[3]], 1 + 2 // Trace],
+ ESameTest[List[List[HoldForm[Plus[1, 3]], HoldForm[4]], HoldForm[Plus[4, 2]], HoldForm[6]], (1 + 3) + 2 // Trace],
+ ESameTest[List[List[HoldForm[Plus[1, 3]], HoldForm[4]], HoldForm[Plus[2, 4]], HoldForm[6]], 2 + (1 + 3) // Trace]
+ ], ETests[
+ ESameTest[{}, Trace[a + b + c]],
+ ESameTest[{}, Trace[1]],
+ ESameTest[{HoldForm[2^2], HoldForm[4]}, Trace[2^2]],
+ ESameTest[{{HoldForm[2^2], HoldForm[4]}, HoldForm[4*5], HoldForm[20]}, Trace[2^2*5]],
+ ESameTest[{{{HoldForm[2^2], HoldForm[4]}, HoldForm[4*5], HoldForm[20]}, HoldForm[20 + 4], HoldForm[24]}, Trace[2^2*5+4]],
+ ESameTest[{{{HoldForm[2^2], HoldForm[4]}, {HoldForm[3^3], HoldForm[27]}, HoldForm[4*27*5], HoldForm[540]}, HoldForm[540 + 4], HoldForm[544]}, Trace[2^2*3^3*5+4]],
+ ESameTest[{HoldForm[b + a], HoldForm[a + b]}, Trace[b+a]],
+ ESameTest[{}, Trace[a+foo[a,b]]],
+ ESameTest[{HoldForm[foo[Sequence[a, b]]], HoldForm[foo[a, b]]}, Trace[foo[Sequence[a,b]]]]
+ ], EKnownFailures[
+ ESameTest[{{{HoldForm[a*a], HoldForm[a^2]}, HoldForm[foo[a^2, b]]}, HoldForm[a + foo[a^2, b]]}, Trace[a+foo[a*a,b]]]
+ ]
+};
+
+N::usage = "`+"`"+`N[expr]`+"`"+` attempts to convert `+"`"+`expr`+"`"+` to a numeric value.";
+Attributes[N] = {Protected};
+Tests`+"`"+`N = {
+ ETests[
+ ESameTest[2., N[2]],
+ ESameTest[0.5, N[1/2]],
+ EStringTest["0.5", "(-1)^(1/6) // N // Im"],
+ ]
+};
+
+Listable::usage = "`+"`"+`Listable`+"`"+` is an attribute that calls for functions to automatically map over lists.";
+Attributes[Listable] = {Protected};
+Tests`+"`"+`Listable = {
+ ESimpleExamples[
+ ESameTest[{1, 1, 1, 0}, Boole[{True, True, True, False}]],
+ ESameTest[{False, True, True}, Positive[{-1, 4, 5}]],
+ ESameTest[{{False, True, True}}, Positive[{{-1, 4, 5}}]],
+ ESameTest[{{False, True, True}, {True, False}}, Positive[{{-1, 4, 5}, {6, -1}}]]
+ ], ETests[
+ ESameTest[{Positive[-1, 2], Positive[4, 2], Positive[5, 2]}, Positive[{-1, 4, 5}, 2]],
+ ESameTest[Positive[{-1, 4, 5}, {1, 2}], Positive[{-1, 4, 5}, {1, 2}]],
+ ESameTest[{Positive[-1, 1], Positive[4, 2], Positive[5, 3]}, Positive[{-1, 4, 5}, {1, 2, 3}]]
+ ]
+};
+
+Get::usage = "`+"`"+`Get[file]`+"`"+` loads `+"`"+`file`+"`"+` and returns the last expression.";
+Attributes[Get] = {Protected};
+
+Save::usage = "`+"`"+`Save[filename, {sym1, sym2, ...}]`+"`"+` saves a list of symbols into a file."
+Save[fn_String, pattern_String] := Save[fn, syms] /. syms -> Names[pattern];
+Attributes[Save] = {HoldRest, Protected};
+
+Module::usage = "`+"`"+`Module[{locals}, expr]`+"`"+` evaluates `+"`"+`expr`+"`"+` with the local variables `+"`"+`locals`+"`"+`.";
+Attributes[Module] = {HoldAll, Protected};
+Tests`+"`"+`Module = {
+ EKnownFailures[
+ (*The numbers are off by N here because the symbols get marked as seen*)
+ (*upon parsing, probably.*)
+ ESameTest[{t$1,j$1,2}, $ModuleNumber=1;Module[{t,j},{t,j,$ModuleNumber}]],
+ ESameTest[{t$2,j$2,3}, $ModuleNumber=1;Module[{t,j},{t,j,$ModuleNumber}]],
+ ESameTest[{t$4,j$4,5}, $ModuleNumber=1;t$3=test;Module[{t,j},{t,j,$ModuleNumber}]],
+ ESameTest[{t$8,2,9}, $ModuleNumber=8;t$3=test;Module[{t,j=2},{t,j,$ModuleNumber}]],
+ ESameTest[{t$9,2,10}, $ModuleNumber=8;t$3=test;Module[{t,j:=2},{t,j,$ModuleNumber}]]
+ ]
+};
+
+(* TODO: Fix this hack. *)
+Block[args___] := Module[args];
+Attributes[Block] = {HoldAll, Protected};
+
+Hash::usage = "`+"`"+`Hash[expr]`+"`"+` returns an integer hash of `+"`"+`expr`+"`"+`.";
+Attributes[Hash] = {Protected};
+
+BeginPackage::usage = "`+"`"+`BeginPackage[context]`+"`"+` updates the context and sets the context path to only the current context and System.";
+Attributes[BeginPackage] = {Protected};
+BeginPackage[c_String] := (
+ $ExpreduceOldContext = $Context;
+ $Context = c;
+ $ExpreduceOldContextPath = $ContextPath;
+ $ContextPath = {c, "System`+"`"+`"};
+
+ $ExpreducePkgContext = c;
+);
+
+EndPackage::usage = "`+"`"+`EndPackage[]`+"`"+` resets the contexts to the original values, but with the package context prepended.";
+Attributes[EndPackage] = {Protected};
+EndPackage[] := (
+ $Context = $ExpreduceOldContext;
+ $ExpreduceOldContext = Null;
+ $ContextPath = Prepend[$ExpreduceOldContextPath, $ExpreducePkgContext];
+ $ExpreduceOldContextPath = Null;
+
+ $ExpreducePkgContext = Null;
+);
+
+Begin::usage = "`+"`"+`Begin[context]`+"`"+` updates the context.";
+Attributes[Begin] = {Protected};
+Begin[c_String] := (
+ $ExpreduceOldContext2 = $Context;
+ If[StringTake[c, {1, 1}] == "`+"`"+`",
+ $Context = $Context <> StringTake[c, {2, StringLength[c]}],
+ $Context = c
+ ];
+ $Context
+);
+
+End::usage = "`+"`"+`End[]`+"`"+` updates the context to rever the changes caused by `+"`"+`Begin`+"`"+`.";
+Attributes[End] = {Protected};
+End[] := (
+ expreduceToReturn = $Context;
+ $Context = $ExpreduceOldContext2;
+ expreduceToReturn
+);
+
+PrintTemporary::usage = "`+"`"+`PrintTemporary[expr1, expr2, ...]`+"`"+` prints the string representation of the expressions to the console and returns `+"`"+`Null`+"`"+`.";
+Attributes[PrintTemporary] = {Protected};
+PrintTemporary[exprs___] := Print[exprs];
+
+SetAttributes::usage = "`+"`"+`SetAttributes[sym, attributes]`+"`"+` adds the `+"`"+`attributes`+"`"+` to `+"`"+`sym`+"`"+`.";
+Attributes[SetAttributes] = {HoldFirst, Protected};
+SetAttributes[s_Symbol, attr_Symbol] := SetAttributes[s, {attr}];
+SetAttributes[s_Symbol, attrs_List] := (
+ Attributes[s] = Union[Attributes[s], attrs];
+);
+SetAttributes[l_List, attrs_] := Scan[SetAttributes[#, attrs]&, l];
+
+ClearAttributes::usage = "`+"`"+`ClearAttributes[sym, attributes]`+"`"+` clears the `+"`"+`attributes`+"`"+` from `+"`"+`sym`+"`"+`.";
+Attributes[ClearAttributes] = {HoldFirst, Protected};
+ClearAttributes[s_Symbol, attr_Symbol] := ClearAttributes[s, {attr}];
+ClearAttributes[s_Symbol, attrs_List] := (
+ Attributes[s] = Complement[Attributes[s], attrs];
+);
+ClearAttributes[l_List, attrs_] := Scan[ClearAttributes[#, attrs]&, l];
+
+Protect::usage = "`+"`"+`Protect[sym]`+"`"+` adds the `+"`"+`Protected`+"`"+` attribute to `+"`"+`sym`+"`"+`.";
+Attributes[Protect] = {HoldAll, Protected};
+Protect[s_Symbol] := SetAttributes[s, {Protected}];
+
+Unprotect::usage = "`+"`"+`Unprotect[sym]`+"`"+` clears the `+"`"+`Protected`+"`"+` attribute from `+"`"+`sym`+"`"+`.";
+Attributes[Unprotect] = {HoldAll, Protected};
+Unprotect[s_Symbol] := ClearAttributes[s, {Protected}];
+
+Quiet::usage = "`+"`"+`Quiet[e]`+"`"+` runs `+"`"+`e`+"`"+` without printing any messages.";
+Attributes[Quiet] = {HoldAll, Protected};
+Quiet[e_] := e;
+
+ReadList::usage = "`+"`"+`ReadList[file]`+"`"+` reads expressions in `+"`"+`file`+"`"+` into a list.";
+Attributes[ReadList] = {Protected};
+
+TimeConstrained::usage = "`+"`"+`TimeConstrained[expr, limit]`+"`"+` evaluates `+"`"+`expr`+"`"+` but expires after `+"`"+`limit`+"`"+`.";
+(*TODO: Perhaps we can convert the checks to HasThrown to be more generic.*)
+(*They can just check if we should abort and return a certain vailue*)
+Attributes[TimeConstrained] = {HoldAll, Protected};
+TimeConstrained[e_, t_] := TimeConstrained[e, t, $Aborted];
+(* Hack just to get this function returning useful values for Rubi. *)
+TimeConstrained[e_, t_, f_] := e;
+
+Throw::usage = "`+"`"+`Throw[e]`+"`"+` stops all execution, propagating the value down with the intention of it being caught. Only some of the flow control statements in the language actually support execution interruption right now.";
+Attributes[Throw] = {Protected};
+
+Catch::usage = "`+"`"+`Catch[e]`+"`"+` catches and returns any `+"`"+`Thrown`+"`"+` expressions, if any. Otherwise returns the result of `+"`"+`e`+"`"+`.";
+Attributes[Catch] = {HoldFirst, Protected};
+Tests`+"`"+`Catch = {
+ ESimpleExamples[
+ ESameTest[c, Catch[a; b; Throw[c]; d; e]],
+ ESameTest[c, Catch[{a, b, Throw[c], d}]]
+ ]
+};
+
+DownValues::usage = "`+"`"+`DownValues[sym]`+"`"+` returns a list of downvalues for `+"`"+`sym`+"`"+`.";
+Attributes[DownValues] = {HoldAll, Protected};
+Tests`+"`"+`DownValues = {
+ ETests[
+ ESameTest[Null, ClearAll[myfoo]],
+ ESameTest[Null, myfoo[_] := a /; b;],
+ ESameTest[1, Length[DownValues[myfoo]]],
+ (*Defining the exact same definition has no effect.*)
+ ESameTest[Null, myfoo[_] := a /; b;],
+ ESameTest[1, Length[DownValues[myfoo]]],
+ (*Defining the same condition but with a different RHS will overwrite.*)
+ ESameTest[Null, myfoo[_] := b /; b;],
+ ESameTest[1, Length[DownValues[myfoo]]],
+ (*While this new definition has the same LHS, the condition on the RHS*)
+ (*is different so it should count as a separate DownValue.*)
+ ESameTest[Null, myfoo[_] := a /; c;],
+ ESameTest[2, Length[DownValues[myfoo]]],
+ ESameTest[Null, myfoo[_] := With[{}, a /; c];],
+ ESameTest[3, Length[DownValues[myfoo]]],
+ ESameTest[Null, myfoo[_] := With[{}, b /; c];],
+ ESameTest[3, Length[DownValues[myfoo]]],
+ ESameTest[Null, myfoo[_] := With[{a=2}, b /; c];],
+ ESameTest[4, Length[DownValues[myfoo]]],
+ ESameTest[Null, myfoo[_] := With[{a=3}, b /; c];],
+ ESameTest[5, Length[DownValues[myfoo]]],
+ ESameTest[Null, myfoo[_] := With[{a=2}, c /; c];],
+ ESameTest[5, Length[DownValues[myfoo]]],
+ ESameTest[Null, myfoo[_] := With[{a=2}, c /; c] /; True;],
+ ESameTest[6, Length[DownValues[myfoo]]],
+ ESameTest[6, Length[DownValues[myfoo]]],
+
+ (*Test assignment.*)
+ ESameTest[Null, DownValues[dvAssignTest] = {
+ HoldPattern[dvAssignTest[1]] :> 123,
+ HoldPattern[dvAssignTest[_]] :> 321
+ };],
+ ESameTest[123, dvAssignTest[1]],
+ ESameTest[321, dvAssignTest[2]],
+ ]
+};
+
+ClearAll::usage = "`+"`"+`ClearAll[s1, s2, ...]`+"`"+` clears all definitions associated with the symbols.";
+Attributes[ClearAll] = {HoldAll, Protected};
+ClearAll[syms___] := Scan[
+ (
+ Attributes[#] = {};
+ Clear[#];
+ )&,
+ {syms}
+];
+Tests`+"`"+`ClearAll = {
+ ESimpleExamples[
+ ESameTest[{HoldAll}, Attributes[mytestsym] = {HoldAll}],
+ ESameTest[Null, mytestsym[5] := 6],
+ ESameTest[Null, mytestsym[7] := 8],
+ ESameTest[1, Length[Attributes[mytestsym]]],
+ ESameTest[2, Length[DownValues[mytestsym]]],
+ ESameTest[Null, ClearAll[mytestsym]],
+ ESameTest[0, Length[Attributes[mytestsym]]],
+ ESameTest[0, Length[DownValues[mytestsym]]]
+ ]
+};
+
+ExpreduceMaskNonConditional::usage = "`+"`"+`ExpreduceMaskNonConditional[expr]`+"`"+` returns a version of `+"`"+`expr`+"`"+` with the nonconditional part masked out. Used internally for definitions.";
+Attributes[ExpreduceMaskNonConditional] = {HoldAll, Protected};
+Tests`+"`"+`ExpreduceMaskNonConditional = {
+ ETests[
+ ESameTest[Hold[ExpreduceNonConditional], ExpreduceMaskNonConditional[a+b]],
+ ESameTest[Hold[With[{}, ExpreduceNonConditional /; c]], ExpreduceMaskNonConditional[With[{}, a /; c]]],
+ ESameTest[Hold[With[{a=2}, ExpreduceNonConditional /; c] /; True], ExpreduceMaskNonConditional[With[{a=2}, c /; c] /; True]],
+ ESameTest[Hold[ExpreduceNonConditional], ExpreduceMaskNonConditional[With[{}, a]]],
+ ]
+};
+
+Unique::usage = "`+"`"+`Unique[]`+"`"+` returns a unique symbol.";
+Attributes[Unique] = {Protected};
+
+Attributes[Defer] = {HoldAll, Protected, ReadProtected};
+
+Sow::usage = "`+"`"+`Sow[e]`+"`"+` sows a value `+"`"+`e`+"`"+` for `+"`"+`Reap[]`+"`"+`.";
+Attributes[Sow] = {Protected};
+
+Reap::usage = "`+"`"+`Reap[expr]`+"`"+` returns the result of `+"`"+`expr`+"`"+` and a list of all the sown values during evaluation.";
+Attributes[Reap] = {HoldFirst, Protected};
+
+Definition::usage = "`+"`"+`Definition[sym]`+"`"+` renders the attributes, downvalues, and default value of `+"`"+`sym`+"`"+`.";
+Attributes[Definition] = {HoldAll, Protected};
+
+Information::usage = "`+"`"+`Information[sym]`+"`"+` renders the usage, attributes, downvalues, and default value of `+"`"+`sym`+"`"+`.";
+Information[sym_Symbol, LongForm->useLongForm_] := (
+ Print[sym::usage];
+ If[useLongForm,
+ Print[""];
+ Print[Definition[sym]];
+ ];
+);
+Information[sym_Symbol] := Information[sym, LongForm->True];
+Attributes[Information] = {HoldAll, Protected, ReadProtected};
+
+Attributes[OutputStream] = {Protected, ReadProtected};
+Attributes[WriteString] = {Protected};
+
+Streams::usage = "`+"`"+`Streams[]`+"`"+` gets a list of all open streams.";
+Attributes[Streams] = {Protected};
+Tests`+"`"+`Streams = {
+ ESimpleExamples[
+ ESameTest[{OutputStream["stdout", 1], OutputStream["stderr", 2]}, Streams[]],
+ ]
+};
+
+Names::usage = "`+"`"+`Names[]`+"`"+` returns a list of all defined symbols.
+
+`+"`"+`Names[\"pattern\"]`+"`"+` returns a list of all defined symbols matching the regex pattern.";
+Attributes[Names] = {Protected};
+Tests`+"`"+`Names = {
+ ETests[
+ ESameTest[True, Length[Names[]] > 1],
+ ]
+};
+`)
+
+func resourcesSystemMBytes() ([]byte, error) {
+ return _resourcesSystemM, nil
+}
+
+func resourcesSystemM() (*asset, error) {
+ bytes, err := resourcesSystemMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/system.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesTestsM = []byte(`
+Tests`+"`"+`ExpreduceMiscTests = {
+ ETests[
+ ESameTest[Null, LoadRubiBundledSnapshot[]],
+
+ ESameTest[1/2 E^((I Pi)/4), z=1/2 E^(\[ImaginaryJ]*Pi/4)],
+ ESameTest[1/(2 Sqrt[2]), Re[z]],
+ ESameTest[1/(2 Sqrt[2]), 1/2*Cos[Pi/4]],
+ ESameTest[1/(2 Sqrt[2]), Im[z]],
+ ESameTest[1/(2 Sqrt[2]), 1/2*Sin[Pi/4]],
+ ESameTest[1/2, Abs[z]],
+ ESameTest[Pi/4, Arg[z]],
+ ESameTest[-(1/(2 Sqrt[2])), Conjugate[z]//Im],
+ ESameTest[1/Sqrt[2], z+Conjugate[z]//FullSimplify],
+ ESameTest[1/Sqrt[2], Cos[Pi/4]],
+ ESameTest[{-(1/2),0}, ReIm[1/2 E^(\[ImaginaryJ]*Pi)]],
+ ESameTest[{-(1/2),0}, ReIm[1/2 E^(-\[ImaginaryJ]*Pi)]],
+ ESameTest[{0,1}, ReIm[E^(\[ImaginaryJ]*Pi/2)]],
+ ESameTest[{0,-1}, ReIm[E^(-\[ImaginaryJ]*Pi/2)]],
+ ESameTest[{0,1}, ReIm[E^(\[ImaginaryJ]*5Pi/2)]],
+ ESameTest[{5,0}, ReIm[5*E^(\[ImaginaryJ](0))]],
+ ESameTest[{-2,0}, ReIm[2*E^(\[ImaginaryJ](Pi))]],
+ ESameTest[{0,-3}, ReIm[3*E^(\[ImaginaryJ](-Pi/2))]],
+ ESameTest[{1/2,-(Sqrt[3]/2)}, ReIm[1*E^(\[ImaginaryJ](-2Pi/6))]],
+ ESameTest[{1,1}, ReIm[Sqrt[2]*E^(\[ImaginaryJ](Pi/4))]],
+ (* a,b,c *)
+ ESameTest[{-Im[E^(10 I t)],Re[E^(10 I t)]}, ReIm[\[ImaginaryJ]*E^(\[ImaginaryJ]*10*t)]],
+ (* Period: .6283 *)
+ ENearlySameTest[0.628319, 2Pi/10//N],
+ ESameTest[Null, myf[t_]:=E^((-1+\[ImaginaryJ])t);],
+ ESameTest[True, myf[t]==E^-t*E^(\[ImaginaryJ]*t)],
+ (* Always decreasing, not periodic *)
+ (* Period: .285*)
+ ENearlySameTest[0.285714, 2Pi/(7Pi)//N],
+ (* Period: 3.167 (maybe pi) *)
+ ENearlySameTest[0.628319, 2Pi/10//N],
+ ENearlySameTest[1.5708, 2Pi/4//N],
+ ENearlySameTest[3.14159, LCM[2/10,2/4]*Pi//N],
+ ENearlySameTest[3.14159, LCM[1/5,1/2]*Pi//N],
+
+ ESameTest[Null, ClearAll[z, myf]],
+
+ ESameTest[1/2 E^(-I t Subscript[\[Omega], 0])+1/2 E^(I t Subscript[\[Omega], 0]), TrigToExp[Cos[Subscript[\[Omega], 0]*t]]],
+ ESameTest[1/2 I E^(-I t Subscript[\[Omega], 0])-1/2 I E^(I t Subscript[\[Omega], 0]), TrigToExp[Sin[Subscript[\[Omega], 0]*t]]],
+ ESameTest[1/2 E^(-((I Pi)/4)-2 I t)+1/2 E^((I Pi)/4+2 I t), TrigToExp[Cos[2t+Pi/4]]],
+ ESameTest[1/2 E^(-4 I t)+1/2 E^(4 I t)+1/2 I E^(-6 I t)-1/2 I E^(6 I t), TrigToExp[Cos[4t]+Sin[6t]]],
+ ESameTest[1/2-1/4 E^(-2 I t)-1/4 E^(2 I t), TrigToExp[Sin[t]^2]],
+ ESameTest[-(I/2), 1/(2\[ImaginaryJ])//FullSimplify],
+ ESameTest[I/2, -1/(2\[ImaginaryJ])//FullSimplify],
+ ESameTest[A/2, 1/Subscript[T, 0]*Integrate[A*E^(-I*k*Subscript[\[Omega], 0]t)/.k->0,{t,0,Subscript[T, 0]/2}]],
+ ESameTest[(Sin[k Pi] Subscript[T, 0])/(2 k Pi), Integrate[Cos[(2Pi*k*t)/Subscript[T, 0]],{t,0,Subscript[T, 0]/2}]],
+ ESameTest[(I Sin[(k Pi)/2]^2 Subscript[T, 0])/(k Pi), Integrate[I*Sin[(2Pi*k*t)/Subscript[T, 0]],{t,0,Subscript[T, 0]/2}]],
+ ]
+};
+`)
+
+func resourcesTestsMBytes() ([]byte, error) {
+ return _resourcesTestsM, nil
+}
+
+func resourcesTestsM() (*asset, error) {
+ bytes, err := resourcesTestsMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/tests.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesTimeM = []byte(`UnixTime::usage = "`+"`"+`UnixTime[]`+"`"+` returns the integer seconds since the Unix epoch in UTC time.";
+Attributes[UnixTime] = {ReadProtected, Protected};
+Tests`+"`"+`UnixTime = {
+ ESimpleExamples[
+ EComment["Get the current Unix timestamp:"],
+ EExampleOnlyInstruction["1484805639", "UnixTime[]"],
+ EComment["`+"`"+`UnixTime`+"`"+` returns an Integer:"],
+ ESameTest[Integer, UnixTime[] // Head]
+ ]
+};
+
+Pause::usage = "`+"`"+`Pause[d]`+"`"+` sleeps for `+"`"+`d`+"`"+` seconds.";
+Attributes[Pause] = {Protected};
+Tests`+"`"+`Pause = {
+ ESimpleExamples[
+ EExampleOnlyInstruction["Null", "Pause[0.001]"],
+ ]
+};
+`)
+
+func resourcesTimeMBytes() ([]byte, error) {
+ return _resourcesTimeM, nil
+}
+
+func resourcesTimeM() (*asset, error) {
+ bytes, err := resourcesTimeMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/time.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+var _resourcesTrigM = []byte(`Sin::usage = "`+"`"+`Sin[x]`+"`"+` is the sine of `+"`"+`x`+"`"+`.";
+Sin[0] := 0;
+Sin[-x_] := -Sin[x];
+Sin[p_Plus] := -Sin[-p] /; (MatchQ[p[[1]], -_] || p[[1]] < 0);
+Sin[x_Integer?Negative] := -Sin[-x];
+Sin[Pi] := 0;
+Sin[n_Integer*Pi] := 0;
+Sin[I*a_] := I*Sinh[a];
+Sin[(-5/2)*Pi] := -1;
+Sin[(-3/2)*Pi] := 1;
+Sin[(-2/3)*Pi] := -Sqrt[3]/2;
+Sin[(-1/2)*Pi] := -1;
+Sin[(-1/3)*Pi] := -(Sqrt[3]/2);
+Sin[(1/4)*Pi] := 1/Sqrt[2];
+Sin[(1/3)*Pi] := Sqrt[3]/2;
+Sin[(1/2)*Pi] := 1;
+Sin[(2/3)*Pi] := Sqrt[3]/2;
+Sin[(3/2)*Pi] := -1;
+Sin[(5/2)*Pi] := 1;
+Sin[Indeterminate] := Indeterminate;
+Sin[ArcSin[a_]] := a;
+Sin[ArcTan[1/2]] := 1/Sqrt[5];
+Attributes[Sin] = {Listable, NumericFunction, Protected};
+
+Cos::usage = "`+"`"+`Cos[x]`+"`"+` is the cosine of `+"`"+`x`+"`"+`.";
+Cos[0] := 1;
+Cos[Pi] := -1;
+Cos[n_Integer?EvenQ*Pi] := 1;
+Cos[n_Integer?OddQ*Pi] := -1;
+Cos[(-5/2)*Pi] := 0;
+Cos[(-3/2)*Pi] := 0;
+Cos[(-1/2)*Pi] := 0;
+Cos[(-1/3)*Pi] := 1/2;
+Cos[(1/4)*Pi] := 1/Sqrt[2];
+Cos[(1/3)*Pi] := 1/2;
+Cos[(1/2)*Pi] := 0;
+Cos[(2/3)*Pi] := -1/2;
+Cos[(3/2)*Pi] := 0;
+Cos[(5/2)*Pi] := 0;
+Cos[I*a_] := Cosh[a];
+Cos[-x_] := Cos[x];
+Cos[x_Integer?Negative] := Cos[-x];
+Cos[inner : Verbatim[Plus][Repeated[_*I]]] := Cosh[-I*inner // Distribute]
+Cos[Indeterminate] := Indeterminate;
+Cos[ArcCos[a_]] := a;
+Cos[ArcTan[1/2]] := 2/Sqrt[5];
+Attributes[Cos] = {Listable, NumericFunction, Protected};
+
+Tan::usage = "`+"`"+`Tan[x]`+"`"+` is the tangent of `+"`"+`x`+"`"+`.";
+Tan[x_]^(-1) := Cot[x];
+Tan[a_+Pi/2] := Cot[-a];
+(*Tan[a_-Pi/2] := (Print[a];-Cot[a]);*)
+Tan[ArcTan[a_]] := a;
+Attributes[Tan] = {Listable, NumericFunction, Protected};
+
+Cot::usage = "`+"`"+`Cot[x]`+"`"+` is the cotangent of `+"`"+`x`+"`"+`.";
+Cot[x_]^(-1) := Tan[x];
+Cot[x_ + Pi/2] := -Tan[x];
+Cot[Verbatim[Plus][-1*a_, b___]] := -Cot[a-b];
+Attributes[Cot] = {Listable, NumericFunction, Protected};
+
+Sec[x_ - Pi/2] := Csc[x];
+Attributes[Sec] = {Listable, NumericFunction, Protected};
+
+Csc[inner : Verbatim[Plus][Repeated[_*I]]] := -I*Csch[-I*inner // Distribute]
+Attributes[Csc] = {Listable, NumericFunction, Protected};
+
+Cosh[a_]*Csch[a_]^(b_Integer?Positive)*rest___ := Coth[a]*Csch[a]^(b - 1)*rest
+Attributes[Cosh] = {Listable, NumericFunction, Protected};
+
+ArcSin[p_Plus] := -ArcSin[-p] /; (MatchQ[p[[1]], -_] || p[[1]] < 0);
+ArcSin[-x_] := -ArcSin[x];
+ArcSin[0] := 0;
+Attributes[ArcSin] = {Listable, NumericFunction, Protected, ReadProtected};
+
+Attributes[ArcCos] = {Listable, NumericFunction, Protected, ReadProtected};
+
+ArcTan[-1] := -Pi/4;
+ArcTan[0] := 0;
+ArcTan[1] := Pi/4;
+ArcTan[x_,y_] := Which[
+ x > 0, ArcTan[y/x],
+ x < 0 && y >= 0, ArcTan[y/x] + Pi,
+ x < 0 && y < 0, ArcTan[y/x] - Pi,
+ x == 0 && y > 0, Pi/2,
+ x == 0 && y < 0, -Pi/2,
+ True, Indeterminate];
+Attributes[ArcTan] = {Listable, NumericFunction, Protected, ReadProtected};
+
+TrigExpand[Cos[2*a_]] := Cos[a]^2-Sin[a]^2;
+TrigExpand[Cos[a_]] := Cos[a];
+TrigExpand[a_] := (Print["Unsupported call to TrigExpand", a];a);
+Attributes[TrigExpand] = {Protected};
+
+TrigReduce[a_] := (Print["Unsupported call to TrigReduce", a];a);
+Attributes[TrigReduce] = {Protected};
+
+trigToExpInner[n_Integer] := n;
+trigToExpInner[sym_Symbol] := sym;
+trigToExpInner[Cos[inner_]] := E^(-I inner//Expand)/2+E^(I inner//Expand)/2;
+trigToExpInner[Sin[inner_]] := 1/2 I E^(-I inner//Expand)-1/2 I E^(I inner//Expand);
+trigToExpInner[Tan[inner_]] := (I (E^(-I inner)-E^(I inner)))/(E^(-I inner)+E^(I inner));
+trigToExpInner[a_] := (Print["Unsupported call to TrigToExp", a];a);
+TrigToExp[exp_] := Map[trigToExpInner, exp, {0, Infinity}]//Expand;
+Attributes[TrigToExp] = {Listable, Protected};
+Tests`+"`"+`TrigToExp = {
+ ESimpleExamples[
+ ESameTest[1/2 E^(-I x y)+1/2 E^(I x y), TrigToExp[Cos[x*y]]],
+ ESameTest[b+1/2 E^(-I x-I y)+1/2 E^(I x+I y), TrigToExp[Cos[x+y]+b]],
+ ESameTest[1/2 I E^(-I x-I y)-1/2 I E^(I x+I y), TrigToExp[Sin[x+y]]],
+ ESameTest[x, TrigToExp[x]],
+ ], EKnownFailures[
+ ESameTest[1/2-1/4 E^(-2 I x-2 I y)-1/4 E^(2 I x+2 I y), TrigToExp[Sin[x+y]^2]],
+ ESameTest[1/2+E^(-I x)/2+E^(I x)/2-1/4 E^(-2 I x-2 I y)-1/4 E^(2 I x+2 I y), TrigToExp[Sin[x+y]^2+Cos[x]]],
+ ESameTest[1/2 E^(1/2 (E^(-I x)-E^(I x)))+1/2 E^(1/2 (-E^(-I x)+E^(I x))), TrigToExp[Cos[Sin[x]]]],
+ ESameTest[(I (E^(-I x)-E^(I x)))/(E^(-I x)+E^(I x)), TrigToExp[Tan[x]]],
+ ]
+};
+
+Degree::usage = "`+"`"+`Degree`+"`"+` stands for Pi/180."
+Degree = Pi/180;
+Attributes[Degree] = {Constant,Protected,ReadProtected};
+Tests`+"`"+`Degree = {
+ ESimpleExamples[
+ ESameTest[1, Sin[90 Degree]],
+ ]
+};
+
+RotationMatrix::usage = "`+"`"+`RotationMatrix[θ]`+"`"+` yields a rotation matrix for the angle `+"`"+`θ`+"`"+`.";
+RotationMatrix[θ_] := {{Cos[θ],-Sin[θ]},{Sin[θ],Cos[θ]}};
+RotationMatrix[θ_, {x_, 0, 0}] := {{(x^3 Conjugate[x]^3)/Abs[x]^6,0,0},{0,Cos[\[Theta]],-((x^2 Conjugate[x] Sin[\[Theta]])/Abs[x]^3)},{0,(x Conjugate[x]^2 Sin[\[Theta]])/Abs[x]^3,(x^3 Conjugate[x]^3 Cos[\[Theta]])/Abs[x]^6}};
+RotationMatrix[θ_, {0, y_, 0}] := {{Cos[\[Theta]],0,(y^2 Conjugate[y] Sin[\[Theta]])/Abs[y]^3},{0,(y^3 Conjugate[y]^3)/Abs[y]^6,0},{-((y Conjugate[y]^2 Sin[\[Theta]])/Abs[y]^3),0,(y^3 Conjugate[y]^3 Cos[\[Theta]])/Abs[y]^6}};
+RotationMatrix[θ_, {0, 0, z_}] := {{Cos[\[Theta]],-((z Sin[\[Theta]])/Abs[z]),0},{(Conjugate[z] Sin[\[Theta]])/Abs[z],(z Conjugate[z] Cos[\[Theta]])/Abs[z]^2,0},{0,0,(z Conjugate[z])/Abs[z]^2}};
+Tests`+"`"+`RotationMatrix = {
+ ESimpleExamples[
+ ESameTest[{{0, -1}, {1, 0}}, RotationMatrix[90 Degree]],
+ ]
+};
+`)
+
+func resourcesTrigMBytes() ([]byte, error) {
+ return _resourcesTrigM, nil
+}
+
+func resourcesTrigM() (*asset, error) {
+ bytes, err := resourcesTrigMBytes()
+ if err != nil {
+ return nil, err
+ }
+
+ info := bindataFileInfo{name: "resources/trig.m", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
+ a := &asset{bytes: bytes, info: info}
+ return a, nil
+}
+
+// Asset loads and returns the asset for the given name.
+// It returns an error if the asset could not be found or
+// could not be loaded.
+func Asset(name string) ([]byte, error) {
+ cannonicalName := strings.Replace(name, "\\", "/", -1)
+ if f, ok := _bindata[cannonicalName]; ok {
+ a, err := f()
+ if err != nil {
+ return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
+ }
+ return a.bytes, nil
+ }
+ return nil, fmt.Errorf("Asset %s not found", name)
+}
+
+// MustAsset is like Asset but panics when Asset would return an error.
+// It simplifies safe initialization of global variables.
+func MustAsset(name string) []byte {
+ a, err := Asset(name)
+ if err != nil {
+ panic("asset: Asset(" + name + "): " + err.Error())
+ }
+
+ return a
+}
+
+// AssetInfo loads and returns the asset info for the given name.
+// It returns an error if the asset could not be found or
+// could not be loaded.
+func AssetInfo(name string) (os.FileInfo, error) {
+ cannonicalName := strings.Replace(name, "\\", "/", -1)
+ if f, ok := _bindata[cannonicalName]; ok {
+ a, err := f()
+ if err != nil {
+ return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
+ }
+ return a.info, nil
+ }
+ return nil, fmt.Errorf("AssetInfo %s not found", name)
+}
+
+// AssetNames returns the names of the assets.
+func AssetNames() []string {
+ names := make([]string, 0, len(_bindata))
+ for name := range _bindata {
+ names = append(names, name)
+ }
+ return names
+}
+
+// _bindata is a table, holding each asset generator, mapped to its name.
+var _bindata = map[string]func() (*asset, error){
+ "resources/arithmetic.m": resourcesArithmeticM,
+ "resources/atoms.m": resourcesAtomsM,
+ "resources/boolean.m": resourcesBooleanM,
+ "resources/calculus.m": resourcesCalculusM,
+ "resources/combinatorics.m": resourcesCombinatoricsM,
+ "resources/comparison.m": resourcesComparisonM,
+ "resources/equationdata.m": resourcesEquationdataM,
+ "resources/expression.m": resourcesExpressionM,
+ "resources/flowcontrol.m": resourcesFlowcontrolM,
+ "resources/functional.m": resourcesFunctionalM,
+ "resources/init.m": resourcesInitM,
+ "resources/list.m": resourcesListM,
+ "resources/manip.m": resourcesManipM,
+ "resources/matrix.m": resourcesMatrixM,
+ "resources/numbertheory.m": resourcesNumbertheoryM,
+ "resources/pattern.m": resourcesPatternM,
+ "resources/plot.m": resourcesPlotM,
+ "resources/power.m": resourcesPowerM,
+ "resources/random.m": resourcesRandomM,
+ "resources/replacement.m": resourcesReplacementM,
+ "resources/rubi/1.1.1 Linear binomial products.m": resourcesRubi111LinearBinomialProductsM,
+ "resources/rubi/1.1.3 General binomial products.m": resourcesRubi113GeneralBinomialProductsM,
+ "resources/rubi/1.1.4 Improper binomial products.m": resourcesRubi114ImproperBinomialProductsM,
+ "resources/rubi/1.2.1 Quadratic trinomial products.m": resourcesRubi121QuadraticTrinomialProductsM,
+ "resources/rubi/1.2.2 Quartic trinomial products.m": resourcesRubi122QuarticTrinomialProductsM,
+ "resources/rubi/1.2.3 General trinomial products.m": resourcesRubi123GeneralTrinomialProductsM,
+ "resources/rubi/1.2.4 Improper trinomial products.m": resourcesRubi124ImproperTrinomialProductsM,
+ "resources/rubi/1.3 Miscellaneous algebraic functions.m": resourcesRubi13MiscellaneousAlgebraicFunctionsM,
+ "resources/rubi/2 Exponentials.m": resourcesRubi2ExponentialsM,
+ "resources/rubi/3 Logarithms.m": resourcesRubi3LogarithmsM,
+ "resources/rubi/4.1 Sine.m": resourcesRubi41SineM,
+ "resources/rubi/4.2 Tangent.m": resourcesRubi42TangentM,
+ "resources/rubi/4.3 Secant.m": resourcesRubi43SecantM,
+ "resources/rubi/4.4 Miscellaneous trig functions.m": resourcesRubi44MiscellaneousTrigFunctionsM,
+ "resources/rubi/5 Inverse trig functions.m": resourcesRubi5InverseTrigFunctionsM,
+ "resources/rubi/6 Hyperbolic functions.m": resourcesRubi6HyperbolicFunctionsM,
+ "resources/rubi/7 Inverse hyperbolic functions.m": resourcesRubi7InverseHyperbolicFunctionsM,
+ "resources/rubi/8 Special functions.m": resourcesRubi8SpecialFunctionsM,
+ "resources/rubi/9.1 Integrand simplification rules.m": resourcesRubi91IntegrandSimplificationRulesM,
+ "resources/rubi/9.2 Derivative integration rules.m": resourcesRubi92DerivativeIntegrationRulesM,
+ "resources/rubi/9.3 Piecewise linear functions.m": resourcesRubi93PiecewiseLinearFunctionsM,
+ "resources/rubi/9.4 Miscellaneous integration rules.m": resourcesRubi94MiscellaneousIntegrationRulesM,
+ "resources/rubi/Integration Utility Functions.m": resourcesRubiIntegrationUtilityFunctionsM,
+ "resources/rubi/MakeRubiMxFile.m": resourcesRubiMakerubimxfileM,
+ "resources/rubi/README": resourcesRubiReadme,
+ "resources/rubi/Rubi.m": resourcesRubiRubiM,
+ "resources/rubi/Rubi4.12.nb": resourcesRubiRubi412Nb,
+ "resources/rubi/ShowStep Routines.m": resourcesRubiShowstepRoutinesM,
+ "resources/rubi.m": resourcesRubiM,
+ "resources/rubi_loader.m": resourcesRubi_loaderM,
+ "resources/simplify.m": resourcesSimplifyM,
+ "resources/solve.m": resourcesSolveM,
+ "resources/sort.m": resourcesSortM,
+ "resources/specialsyms.m": resourcesSpecialsymsM,
+ "resources/stats.m": resourcesStatsM,
+ "resources/string.m": resourcesStringM,
+ "resources/system.m": resourcesSystemM,
+ "resources/tests.m": resourcesTestsM,
+ "resources/time.m": resourcesTimeM,
+ "resources/trig.m": resourcesTrigM,
+}
+
+// AssetDir returns the file names below a certain
+// directory embedded in the file by go-bindata.
+// For example if you run go-bindata on data/... and data contains the
+// following hierarchy:
+// data/
+// foo.txt
+// img/
+// a.png
+// b.png
+// then AssetDir("data") would return []string{"foo.txt", "img"}
+// AssetDir("data/img") would return []string{"a.png", "b.png"}
+// AssetDir("foo.txt") and AssetDir("notexist") would return an error
+// AssetDir("") will return []string{"data"}.
+func AssetDir(name string) ([]string, error) {
+ node := _bintree
+ if len(name) != 0 {
+ cannonicalName := strings.Replace(name, "\\", "/", -1)
+ pathList := strings.Split(cannonicalName, "/")
+ for _, p := range pathList {
+ node = node.Children[p]
+ if node == nil {
+ return nil, fmt.Errorf("Asset %s not found", name)
+ }
+ }
+ }
+ if node.Func != nil {
+ return nil, fmt.Errorf("Asset %s not found", name)
+ }
+ rv := make([]string, 0, len(node.Children))
+ for childName := range node.Children {
+ rv = append(rv, childName)
+ }
+ return rv, nil
+}
+
+type bintree struct {
+ Func func() (*asset, error)
+ Children map[string]*bintree
+}
+
+var _bintree = &bintree{nil, map[string]*bintree{
+ "resources": &bintree{nil, map[string]*bintree{
+ "arithmetic.m": &bintree{resourcesArithmeticM, map[string]*bintree{}},
+ "atoms.m": &bintree{resourcesAtomsM, map[string]*bintree{}},
+ "boolean.m": &bintree{resourcesBooleanM, map[string]*bintree{}},
+ "calculus.m": &bintree{resourcesCalculusM, map[string]*bintree{}},
+ "combinatorics.m": &bintree{resourcesCombinatoricsM, map[string]*bintree{}},
+ "comparison.m": &bintree{resourcesComparisonM, map[string]*bintree{}},
+ "equationdata.m": &bintree{resourcesEquationdataM, map[string]*bintree{}},
+ "expression.m": &bintree{resourcesExpressionM, map[string]*bintree{}},
+ "flowcontrol.m": &bintree{resourcesFlowcontrolM, map[string]*bintree{}},
+ "functional.m": &bintree{resourcesFunctionalM, map[string]*bintree{}},
+ "init.m": &bintree{resourcesInitM, map[string]*bintree{}},
+ "list.m": &bintree{resourcesListM, map[string]*bintree{}},
+ "manip.m": &bintree{resourcesManipM, map[string]*bintree{}},
+ "matrix.m": &bintree{resourcesMatrixM, map[string]*bintree{}},
+ "numbertheory.m": &bintree{resourcesNumbertheoryM, map[string]*bintree{}},
+ "pattern.m": &bintree{resourcesPatternM, map[string]*bintree{}},
+ "plot.m": &bintree{resourcesPlotM, map[string]*bintree{}},
+ "power.m": &bintree{resourcesPowerM, map[string]*bintree{}},
+ "random.m": &bintree{resourcesRandomM, map[string]*bintree{}},
+ "replacement.m": &bintree{resourcesReplacementM, map[string]*bintree{}},
+ "rubi": &bintree{nil, map[string]*bintree{
+ "1.1.1 Linear binomial products.m": &bintree{resourcesRubi111LinearBinomialProductsM, map[string]*bintree{}},
+ "1.1.3 General binomial products.m": &bintree{resourcesRubi113GeneralBinomialProductsM, map[string]*bintree{}},
+ "1.1.4 Improper binomial products.m": &bintree{resourcesRubi114ImproperBinomialProductsM, map[string]*bintree{}},
+ "1.2.1 Quadratic trinomial products.m": &bintree{resourcesRubi121QuadraticTrinomialProductsM, map[string]*bintree{}},
+ "1.2.2 Quartic trinomial products.m": &bintree{resourcesRubi122QuarticTrinomialProductsM, map[string]*bintree{}},
+ "1.2.3 General trinomial products.m": &bintree{resourcesRubi123GeneralTrinomialProductsM, map[string]*bintree{}},
+ "1.2.4 Improper trinomial products.m": &bintree{resourcesRubi124ImproperTrinomialProductsM, map[string]*bintree{}},
+ "1.3 Miscellaneous algebraic functions.m": &bintree{resourcesRubi13MiscellaneousAlgebraicFunctionsM, map[string]*bintree{}},
+ "2 Exponentials.m": &bintree{resourcesRubi2ExponentialsM, map[string]*bintree{}},
+ "3 Logarithms.m": &bintree{resourcesRubi3LogarithmsM, map[string]*bintree{}},
+ "4.1 Sine.m": &bintree{resourcesRubi41SineM, map[string]*bintree{}},
+ "4.2 Tangent.m": &bintree{resourcesRubi42TangentM, map[string]*bintree{}},
+ "4.3 Secant.m": &bintree{resourcesRubi43SecantM, map[string]*bintree{}},
+ "4.4 Miscellaneous trig functions.m": &bintree{resourcesRubi44MiscellaneousTrigFunctionsM, map[string]*bintree{}},
+ "5 Inverse trig functions.m": &bintree{resourcesRubi5InverseTrigFunctionsM, map[string]*bintree{}},
+ "6 Hyperbolic functions.m": &bintree{resourcesRubi6HyperbolicFunctionsM, map[string]*bintree{}},
+ "7 Inverse hyperbolic functions.m": &bintree{resourcesRubi7InverseHyperbolicFunctionsM, map[string]*bintree{}},
+ "8 Special functions.m": &bintree{resourcesRubi8SpecialFunctionsM, map[string]*bintree{}},
+ "9.1 Integrand simplification rules.m": &bintree{resourcesRubi91IntegrandSimplificationRulesM, map[string]*bintree{}},
+ "9.2 Derivative integration rules.m": &bintree{resourcesRubi92DerivativeIntegrationRulesM, map[string]*bintree{}},
+ "9.3 Piecewise linear functions.m": &bintree{resourcesRubi93PiecewiseLinearFunctionsM, map[string]*bintree{}},
+ "9.4 Miscellaneous integration rules.m": &bintree{resourcesRubi94MiscellaneousIntegrationRulesM, map[string]*bintree{}},
+ "Integration Utility Functions.m": &bintree{resourcesRubiIntegrationUtilityFunctionsM, map[string]*bintree{}},
+ "MakeRubiMxFile.m": &bintree{resourcesRubiMakerubimxfileM, map[string]*bintree{}},
+ "README": &bintree{resourcesRubiReadme, map[string]*bintree{}},
+ "Rubi.m": &bintree{resourcesRubiRubiM, map[string]*bintree{}},
+ "Rubi4.12.nb": &bintree{resourcesRubiRubi412Nb, map[string]*bintree{}},
+ "ShowStep Routines.m": &bintree{resourcesRubiShowstepRoutinesM, map[string]*bintree{}},
+ }},
+ "rubi.m": &bintree{resourcesRubiM, map[string]*bintree{}},
+ "rubi_loader.m": &bintree{resourcesRubi_loaderM, map[string]*bintree{}},
+ "simplify.m": &bintree{resourcesSimplifyM, map[string]*bintree{}},
+ "solve.m": &bintree{resourcesSolveM, map[string]*bintree{}},
+ "sort.m": &bintree{resourcesSortM, map[string]*bintree{}},
+ "specialsyms.m": &bintree{resourcesSpecialsymsM, map[string]*bintree{}},
+ "stats.m": &bintree{resourcesStatsM, map[string]*bintree{}},
+ "string.m": &bintree{resourcesStringM, map[string]*bintree{}},
+ "system.m": &bintree{resourcesSystemM, map[string]*bintree{}},
+ "tests.m": &bintree{resourcesTestsM, map[string]*bintree{}},
+ "time.m": &bintree{resourcesTimeM, map[string]*bintree{}},
+ "trig.m": &bintree{resourcesTrigM, map[string]*bintree{}},
+ }},
+}}
+
+// RestoreAsset restores an asset under the given directory
+func RestoreAsset(dir, name string) error {
+ data, err := Asset(name)
+ if err != nil {
+ return err
+ }
+ info, err := AssetInfo(name)
+ if err != nil {
+ return err
+ }
+ err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
+ if err != nil {
+ return err
+ }
+ err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
+ if err != nil {
+ return err
+ }
+ err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
+ if err != nil {
+ return err
+ }
+ return nil
+}
+
+// RestoreAssets restores an asset under the given directory recursively
+func RestoreAssets(dir, name string) error {
+ children, err := AssetDir(name)
+ // File
+ if err != nil {
+ return RestoreAsset(dir, name)
+ }
+ // Dir
+ for _, child := range children {
+ err = RestoreAssets(dir, filepath.Join(name, child))
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func _filePath(dir, name string) string {
+ cannonicalName := strings.Replace(name, "\\", "/", -1)
+ return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...)
+}
diff --git a/expreduce/rubi_snapshot/rubi_resources.go b/expreduce/rubi_snapshot/rubi_resources.go
index 795d921..5b5c2b5 100644
--- a/expreduce/rubi_snapshot/rubi_resources.go
+++ b/expreduce/rubi_snapshot/rubi_resources.go
@@ -1,3 +1,219 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:23a208ce4f8d275ecbcbd073c80157248042a9c47e547e213a6c9a3b39c9f85c
-size 28469128
+// Code generated for package rubi_snapshot by go-bindata DO NOT EDIT. (@generated)
+// sources:
+// rubi_snapshot/rubi_snapshot.expred
+package rubi_snapshot
+
+import (
+ "fmt"
+ "io/ioutil"
+ "os"
+ "path/filepath"
+ "strings"
+ "time"
+)
+type asset struct {
+ bytes []byte
+ info os.FileInfo
+}
+
+type bindataFileInfo struct {
+ name string
+ size int64
+ mode os.FileMode
+ modTime time.Time
+}
+
+// Name return file name
+func (fi bindataFileInfo) Name() string {
+ return fi.name
+}
+
+// Size return file size
+func (fi bindataFileInfo) Size() int64 {
+ return fi.size
+}
+
+// Mode return file mode
+func (fi bindataFileInfo) Mode() os.FileMode {
+ return fi.mode
+}
+
+// Mode return file modify time
+func (fi bindataFileInfo) ModTime() time.Time {
+ return fi.modTime
+}
+
+// IsDir return file whether a directory
+func (fi bindataFileInfo) IsDir() bool {
+ return fi.mode&os.ModeDir != 0
+}
+
+// Sys return file is sys mode
+func (fi bindataFileInfo) Sys() interface{} {
+ return nil
+}
+
+var _rubi_snapshotRubi_snapshotExpred = []byte("\x1a\xa6\xf5\x1dE\xfb\x90\x00x\x9c\xec]u\\\x93O\x18\xbf\xbb\u0462\x88\xa8\u0622X\x84\x9d\x18(*\x88\x8a\x88\xa0\x88\x81:`*J\x87\x80\x18\xa8\x88\x85\x8a\u0605`w\x17\x06b\xa3\x12b#``\"vq\x16\xfb}\xc6\x06\xc7`\xb7\x97\xe1\x80\xe1o\xff}a\xdb\xfb^<\xf7\xdc\xf7\xfb\xdcsw\x95\xb9\v\x10D\u0705\x00r\x83\x00\u041b\u0242P\x8d\xe3\xe6\xe8\xee\xc4q\xea\xcb\x19\xcf\xfb'DP\xc1\x92\xed\u0281\xea\x00\xb2r\xff7\x1b\x00`\u009d\u0142\xf9\x7fC\x16T\xeb\xeb\xee\xe76\x85\xed\xe2\xcb\xf1\x86\xdc\x10\x00\xd5L||\xbc\x9c\x1d|}x\x7f\xcf\a\xb0R_\xcex\xb6\xaf\x8b\x8f\xa9\xbf\x87\x17\xac\n\x00h\u039d\x8b \xac5\u029e\xe3\xef\xe1\xc5q\xf2u\xe4\xb0=\x9c[\xf1\x9eb\xcb{J\xeeC\xb8\xc1\x00\xb4\xe1\xceaA\xa8Z\xe0\x83\xe0\xdc2Y\xfb\xbap`U\x00+\xd9xp\x1c\x9d\xc7;;:\xfb\x04@\x05\x00@\x0el\u029d\u01ebG\xa1\x12hA\xd5\xc1^N\x1c/\x17\x8e\xb77D\x00*\x98\xb9\xb0}x\xa0\xd2`7N\x7f'\x8e\x9b\x0f\xef\t\b@\x15\vgo\x1f\xb6\x83\v'\xf7\x8f>\xeen\xde>l\xb7\xdcojX\xfa\xbar\xbc\x9c\x1d\xcd|\xdd\x1c}\x9c\xdd\xddx\xffS\xb5\xf2r\xf7\xe18\xfap\x9cx\x7f)Y\xb8;N\xe6\xc3\xca\xd6\x1c\xb6\x93\u0407\xaa\xe6\xee.Nf\xce^\u07b9\x0fS\xe1\xfde\xcd\xe1\xff\xa1\xcc\xfb\xc3\xc4\xc5%\xf7-\x02\xdc\xc7\xdd\xd5\u00c5\xe3\x93[\f5K\xa1\u07eaZ\x16\xfc\xb1\x8ae\x81_\xab\xdbp<}9n\x8e\x1c\xde\xffr\xbf;\x94\xe3\xea\xe1\xee\xc5\xf6\u02ad\x9c\x82\x8d\x8f\xaf\x03D\x00\x00n\x14w!\xc8A\xfa\xb0\xba\xb5\xaf\x83\xf3\xb8&}\xdc\u075c\x9cy\xb5\xea\xe3\xee\xe2\xee\x95\xfb\x15\xa8\xc1\xff\x88\xd7\xd6\x05\xfe\xab\xc9\xff\xaf\x8d\x0f\u01e3\x8f\xbb\xaf\x9b\x0fG\xf0\x7f\xd5\xdc\xff\xf7u\xf6\xf6\x81\x90\x05\xa1)w\x11\xaf\x1bx=\xce\xf1\xf6\xe65\x177\x94g*\x8aVl/\x1fo\xc8]\x02\xa0\x9a\xe9\x14\xb6\v\xc7\u025c\xed=\x11*\x01\xa8\u0587\xed81\xffO\x00\x1ar\x17#\b5\v\u0648\xa9\x7f\xeeo\xab\x02\xf0[9\xaek<7\xb4\x11dA\x1b\xeeR\x16\x84J6\x01\xae\x0e\xee.\x90\x1b\x06 \u0337[\x00rX\u03f8a5`5\x9b\x00o\x1f\x8e\xeb8^}\xfar\\\xd8\x01\x1c'\x00M\xb9\xa19\xac\xca\x10A\x9b\x82_\u1d5e\x15\xdb\u01c7\xe3\xe5\xc6\xff\n\xba\v\x15x_Q/P\xcd\xdcO\xbcs\xdf\x1e\xa6\t\xab\b~\x9a\xff3\xfe\x7fs\xbfm\xe5\xe5<\x85\xed\xc3\x19\xe7\x9b\xfb\x13\x03\by\x1fj@u\xc1Oz\xbb\xb0\xdd&\x03\x88\x17'W\xe2BG\x93L\x82\x00\xc4\xcf]\x06\x9f\x9d\xf3\xa3\xc6:\x82\xf8%\x82\xb1P\x81\a\xba\xf3\xcbN\x9e\u05973\x9e\xe3\x05\x8a\x16\x16c\xf3\xd9fGB\xe6f\x13$y\r\xa6\x94\xa0\x06\x86}\xa7\x9e]\xf9F\xe7\x02A\x92\xbf\u05ef\x04\xef\x1d\xb4\x0e-\xaa\xdby\xd7n\x82$\x7f\xaf\x7f\t\xde\xeb\xe62sd\x8b\xbb\xfd\x14\t\x02\x10\xbf\x1a\xfd}\xd6\u02de\xaf\xbb\x10Tn\x85AxYp\xa7W!\x95\xd9\xcf\x00\u013b\x17*^h\x97\u0460>A\xb9/\xe1n\xa0\xd8\xfb ~\x81\xc9\u06c7:\xbbr\xbci\xd6.\u0482\x10>\xc1\xe2x\xdeZ\xf8\u0553\xd6\xd5\"\xeb\x8e\xf0\xc6\xdbg\x8c\xf5\x9c>\xf7\x03\x10\u03fa4\"\xfc\xed\xd3\x17\xa7\t\x02\x00\xe6\x8e\v\x85M\xfc\x12\x8a\x19\xefh\"\xf3xo#s\xe3\xbd.\xa5\xe5\xffoC\x18w\xe8=6)n\xcf c\x82\xcaq(}\x7f\u00f6`u\xdeu\x01@\xdcd\u00fc\xbb\x87\x97\xf5hC\x90\xa0\xe70\xbfdZ\xb0\xaa\xe05\xf9\x93mE\x18k\xb9U\xd0\xe7\x17\xb12T\x13\x14\xc5\u010d?\x98\x06\x14.\xa3\r\u06d53D\xe8\xb16\x13\xdd\xfdxl\x81_\xf2*\xb0R^m\xbc|9\x00\xe1\xd8\xcb9\x19\x95\u073f\xdd\xca}\\\xbf\u008f3\xf3\xe2\x14z\\\x01;\xb6\xe1\x86U\x82*\xb9\xff\xed\xef\xe6\x03\x10\x0eh\xf7\xe8J\x1f\u037e\x91\xb9\u03da\xcc\x1f\xe5\xa4\u0316\xee>\x92\xbe\xc4O\xc4K\xde\x1fz=\xe1\xb9\xcf2;\x80\xf0qx\xef\xf6\xb0F'&\x01\x84\xef\xfc\xf8\xb2<.h\xe1|\x80\xf0h\xdf\u054b\xcel\xcb^\x0e \xbe\xe9u\xa1NN\xcf+\xae\x04\xe5\xf9)\x8d\xa9\x8c~\n\xc60\xfa)\x18\"c~\xaaB\xb8\"\xa9\x8d\xfe\x80\x87\a_-\xed\xe29\x14@|\xbc\xde-\xb3\f\xa3/\x13\t\xe2\xf7P\xe5\xe9\xf9=$xM\xff\xf1\xb9\x9fX0\x8f\x9c\x02\xfd\u04df\xbb\x8c\x05\xa1r\x7f7\x1f\xce\x04\x8e\x17\xe4\x86\xf3(.\u02d6\xed\x02\xb9+\x00\x00j\xdc\xe5\x8a\x10qW\x01\x00\xb4\xb8\xe1\x8a\x10!\b\x10\x0e\xd92\xf0\xfa\x85\xc8e1b\x1a?G\xfd\x16\xa5|\xbd$,_\xb8\x02\x84\b |A\xebP\u04d7\a\x17\xb6\xe2\xfb\xb6\x14\xfeS\xea\xc1\xda\xf9\xbe\xcf\xd5\xc3\xdd\xd7\u0349\b\x83\xdc/v\x80J\xc2o\xb3\xf2rv\xf3\x01p(wu.\xb3\xf7\xf1rv\x9b\x00\xb9k\xf2\xab\xcd#\xf6\x13\xb9k\xea\xc1\xda\xfa\xfa\xfa:\xc3\xd9^n\xcen\x13t\xf4\xf5\xf5\xbb\xea\xe8\xf0F\xc1\xa86\x86\xb4j\x0f\xe5\xaeQ\x80P\xf4\xc7\xfey\x1f\xdb\x03\x84\x7f\xcd0\xae\xa1\xb2\xdalk\xc1\xea\xe1\x14\xb7\u73cd?z\xf2[\xaf\xd2\x02J\xeb\xe5\xc0>\xfc\x9a\x17u\x99\x02S%\x8e\u0402\xe3\u035f\xc7M\xf9\xe3\xbd>\xac#T\xa6<\xdd\xc9v\xf4q\xf7\xa2t\x00\xc25\xd5w*\u073ep\u01a4`a;z4\xaa\xf6\xc0\xec1\x7f\x82\xe4n/<\xb1`\xca\r\xf5-\u05bbM\xb9\xa1&\x12\xcdJ\xfds\xad\x91\u0173\u01ad/\x7f+\x9a\xaf\xbf\\\x1b \xbc\xd3\xf0\x98e\xafu\xe7/\x14,\xeb\x98 \xff\x98\xac\xb1\xeb\x82\x00\xc2\x0f\x16<\xb9\xf6\xf5\xa4\xed@~\xb1\xcf\u04c9\x0f7\x8c\xe2\xfe\xfe\xbe\x90\xf4)G\xd4t\x19:\xfd~\u0116\u037bG\v=\xeb\xc9\xde~\x89z\x87^\U000cb6a3jC1\x15\x81\x82\xab.P\xd6y\x8f\xb5\xf1u\xa5M|\b;.\xeape\x8c}/w~+\xa4\x176\xb5Al\x0f\xfe'\x9b\xf9\u03ee\x065\xf2\xa6:A\xf0\"\xf7\xe3\x00Q\xadG\x9d\x1f\xf4\xf9\xcf\"vk\xe3\u009bP\xfb\x13\x7f\x13\xa7\xad\xf6\xd8\xfdP\u056f\xd4fB\xef\xb8W\xd7\u053b:\x11 l\xfb*.\xeeO\xda\xea\xf1\xd4*6]\xb1\xb4\xea\xc8\xd6\xf6_\xf9\xad\xa7\xa2Fi=i2\x06\xee\x12\xfe\u00cat\x85\xb3\xabG\x1912^+e+\x8f\xbb\xeb\xbf:\xe5<\xbf\xe6\u028a\x85\xfd\xc5pg\x9f\x89\xc2\f\xa1\x80/\xc9\x1b\x019pua\xab\xb0\xe1\x88\xee^?\xc1\x0fF\x89\x19h1\f-3]\xa2\x96\x115B\xad\xdc\xfd8\xa2\xbd\x9b\x7f\xbe\x91\xf1\xfc\xc4\xd4\xf0W\xea\xaa\xdb\xe69\x03\x843\xb25<\xd2\x13z\xf4\xa1\xb6dD\xda\u01f7\xba'\u035a\xe5\xbe\u0453\xf2F\xa9\x14\xa6\xe0\xb8ox\x84\x1b1\xa3\x93\x997@\xb8\xa7I\xabV\xd5\xc7_\xb2\x04\b\x7f\xeb`\x11\xda\xd9o\xbf)@\xb8\u00f2+\u05a6\xef\u06fe\u7dfbbm\xda\x1c\x82~@E\xd1s\xc8\xe0\u00ae|\x98\x9b7uz\x16\xcd\xf2ys\x86\x82\xc1\xa9\xc4w5\xaf\x1e\x17m\xdcL\xb4XT\x8b\x7f\xf6\x9b\xe4>L\xd1\xf8\xa1\xd0x*\x0e\x87\xe0\x1b\xa1\xb583\x93\xa8 \rG\x9c;`?\u0167>@\xd8\xcb\xf9\xf6\xa6\x80F\xf7W\t\xcc|\xad\xa4\x85*\xb3\x91\xe1'\xb5\x91qi\x86\xc5Z\x8b\x91\x03u\xa9\xcd3B\x93;Kg\xc2\xdaJ\xe562RgN\x8f\xb0\xadU\xc9\x10 l\xe0\x9d\xb3\xf4\xb6}\xc28^\xb9\x1bOH\xf0\u063a\xa8u\xee\xbb\xc7\x15sz\x12m\x04\xf4\xc9\xfa\xd6\xc77P;\xb3\xdaRA\xe7.\x15O\xd0\u014f1\x06q\x1b\x9a\xf9\xf2\xeb\x87)\xda/dvz\xe1\x86\xf0\xc3\xc8\xed\x8a\x19FF\x05\x82\xc7\x12\x14\x8bV\x969\x1a\xc7\x17\xba;e\xfc\x01\b?\xaa\xd6\xe0\xbbFr\x95\xf3\x00\xe1\xe9\xdc\xf5Q=\u05e4\xf3\xbe\xf0 c\u0553\x16\xa9\xb3\x1c\x01\xc2\x1a\x9f\rb\xa3\xc7\x1e\x99\u0273\x18\xbd\xccF\x1d\xd6.\xcf\x02\b?|\xe1\xb7M\xeb\\e\x13\x80\xf0\xbb\x163\xe68v\xcf\t\x05\b\a]\xfbm\x1e\xf8\xca\xed\x11\x80\xf8h\xebg\x81qUV\xab\x11\x04\x00\x04\x00\x10\x1a\x00a\x8e\xf6g\xbe*W\xb1dT\xe5\x8a\xd3\x18U\xb9b_\xfeS\nR\r~p2\\\x8c#\xd9^\x98\xab\r\xf6\xe015\xb6K\xf9\tz\xdc^\xe9\xfc-\xcd##\xaa\x12$X29Jw\x199\xe8^a\xc6b\xe5\xe2[\x82H%\xbb\x04\xb5p\xb8l\xf5q\xcd\xc8\xeb3\b\x12\x94\xa9e\u0674\xbcC\t\xca\\\xf9\x14w\x83r\xff\xe8D\x82\x00\u0131\xd0\xe6g\xad\u02ff\x82\b\x12\xb8\xab\xc1\xf4\x96/\x97\xa5\r)7\xa0[\t\x8a\xe5\xfb\xe1F\xeb\x05\xf6\xc3#\t\x02\x10\xb7\xae\xae\xac5s\xfa\xf6&\x04\x01\x885\x9aD\xaeqI]\xf8\x9b \x00\xf1\xaeZ\xf1\x9c!\u0597\x06\x13\x04 N\\e\x9c3:\xf4\xedN\x82\xa4^U\x8f\x12T\x15U7\xact.\xb3\xc1m\x82\x00\xc4YW\xfe\xf4\x8b\xbf\xfc\xa3\x11A\x00\xe2\xa9\x17^/\x84\xba\x13\xa7\x13\x04 \xd6\xdf{j\xbb\xe3C\xadW\x04\xf1k5_r\xcb\xe9Ux\xc6\x10\x94\u06c6\x1bV\x15V\u03a3V\xb9+\xb2\x00\xe2\v\xd5?59\xb890\x8e \x00\xf1\x94y\xea\xd7\x16\xecy0\x8b \x80\xf04\xff\xae\x11\xfb\xd7\u07dc\x01 \xcen:P\xb3\xd9\xf8!\x95\b\x12\f\xe6\xe5\xe2#\xea9\xb0\x1f\xc5\x01C\x96\xa4:\x85{\x85>\u07b8\v\x8a\xff4\a\xd13\xbcX:%rx \u073d\xf1t\xbd\x88M\xefo\xf2\xe6\xc4,s\x9bf\xaf8,\x8a}!<\xf2\x10\xbc\x00\xfb\u07ac\f\x10>\x12ll]c\xc1\xa9H\xda\xdb\xf0\xa6t\x8d\xd8\xdbw\xef\x1c H\xd0h\xb5i\xa1,n\x91i@\xa0\x19L\xb9\xa1\xfe|\xedRX\x9a\x8a\xf6\xf3\xa2\x1bL\xb4{\xa0\u0534\xa9V 0\xb7\x7fz\x95\xca5\xe2\xe3\x9a\xcf[\xd9\xfd\u01ce\xdc\xd2u\xe3[\xaf\x16\xac*\xf4=SO\xd1B\x80\r\x10\x1e\xaa\x14l\xf7\xc2\xf8\xd7V\x80\xf0\x879\xaa\x99\xbf\x16^\u4c52\x90*\x1b\u06b0~\x19\xae\x04\x10\xc7Gw\xd8\x12\xb4pTc\x82\xf2\x82\xfd*J\u0334\xe2 3\xad\xf0\xa7\u044a\"6ZQi\xc5k1\xb4\x82\xa5F\xa5\x15\u04ac\xa4\xb4X\a\xbe}\xe1\u1b37[*\xed$HNE\xe4T\xa4\x04T\xa4\x19\x88\x9d\x162\x83\xe3MP\x05\xa3\"\xbf\xcc\xee\xae8\xbb\xe9uk\x82\x00\xc4\xe1\xdb_Dm\xd1\u067b\x85 \x99\xa3\"\xec\xf4\x1bC2\u05bfN\x00\x10W\xad\xa5\xd5i\x9d\x82\xf1l\x82\x04\x83Y\x9baq?^\xb4\u03d6\x84:\xf8JJ\x1dDO\xa8\xbcI\xf2\xe3K\xcd6w\x86\xf4\xed\x0e\x10^\\?k^V\xdbc\x1d\xa8t\xe0\xa0f\xfc\x88ys\u03fd#HN\a\xf2\v\x83p\u0332^)V\xe76\xf5\x05\bW\xa9\xa3\xb8n\xef\x01\x13_\x80\xb0y\xf3\xb1\x7f\xee\a\xe3\xf1\x00\xe2\xfe\xa1n\xf7v\x0f\uff55\xa0<:\xa0n\xcfH\a\x94\x99\xe9\x802\x8d\x0e(\xfd+t@Q\x1c\x1dP\x14\xac\b\xfd\x1f\xa3\f\x8e%(s\xcf\x16\xd5\xfa\r\x9f\xf7x\x13A\x00\xe2\xcf\n/\xba\xf9\xb2v\xd4'\xe8\xff1\xb5O*A\xb1T\xbdc\xd3Uc\x14\xeb\x13\x04 >\xfbY\u0266M\xef\xbd\xde\x04\x01\x88\x9d\xcfNM\xea\xd3;\u068e \x00q+\x8b\xc0\xef\xcf4G_\"HN\a+\x94\xcd\xc8\n\x1dT\xb1\\`d\xfd$\u06c8\xa0\nF\a74\xae9\u06b1\xe6\xba\xf6\x04\x01\x88o\xf8\x99\xb4\xdb\x17x\xb9\x15A\xb2G\a\xa7o\xad\xfd\xa8E\xaf\xf3\x00\xe2.\xd6\xfb\x1b6\xb3_\xe6C\x90@\x89\xbb1D\xa6P+Zd\ua364\x840\a\xee\x153=B7\xbaZ\x96\xa1\xb0\x15\xaf8\xd1\xc5/\x8e\xa3\xe8%U\xb1\xc5\x11\x93\x0e\x94\xbf^I+\xf3\xe1\x83\xef\x95\xe1\x8e!\xaf\x01\u00a3G,6[\xf5\xde\xfa\x03@x\xfbI\xcd\xc1\xe9[t\xa6\x01\x84\a$\r\x18r\xef\x90\xf2\x11*\x0feWr\xa87{\xb1\xc9x\x80\U00024bfb\xa2^\xa5\xad\xa9Ee\xdc\a,\x15\x96\x9ckYg5A\x02\xa3\xa9LK\xbf\xe5\u07a03n\xee\x12~N\x9d\x94)\xb7\xa3\x84D\xbcV\xd0\xf3\xed\tO\xb2m\xe8+\xf5\xc7M\xedPB\x03\xfe,\u00bd/\x86\x89\xf3>\xdf+\u06ac\xa9s|\x91\xb5m2\xbb\xfe\xbdU\x14\\\xdb\xf6\x9a8\xcfGE\xc7\x14\x00\x84{\xebx\xab7Xzi0@X!a\xd2\xf7\xda'\xfa\x9d\x91B\xd0q\x8e\xc1\x86\xce\u073b!s\x00\xc2\x1d\u05bd\x04GTL\x1b\x00\x88\x13\xb6|\xb6^0\xad\xc6w\x82\xf2U\x866\xb3\xcax\u03ac2\xf6\xd2T\xc6\xcf\x7fDe(\xd5\x13\xa72\x8c\xa9*C\x1et\x94+\x13\xb92\x91+\x93\xf2\xb7\x19YQ&+\xa7|P\x9e\x11t\xf38A\x15L\x99\xd8\ua385=V\x9d\x9fB\x10\x808\xc7a\xbb\x93\x9e\xd7\xfd\x1e\x04\u025c2\xb1\x8a:\xd5\xc9\xd0A\xc9\x10@\x1c\x1eq~njP\x95\x05\x04\tV\u03fe2\xad\x99\x1f\xa5)\x13\x0f\u0255I;1\x8b\xe6\u07ca\xcd\xe0\xd8\x15_\x1f\xf8\x18\x1d\xbc\x1b_o\xdfg*=n\xa3\xbdi\xc1\xe1\x9cF\xea\x00\u1586\xef\xf6Tj\x984\x8d\xaa\x0fV\xa5\xde\xcd\\7\xbb\xbe\x19Ar}\xf0?\xd6\a\x85V!\f\x17U\xba\x990\xd2z%@\xf8}\xe3\xb1Z\x8768>\x01\x10\xfb?\x9a{z\xa5\xf7\x85\x8e\x04\xe5\xe9\x83J/\xe5\xfa@\xae\x0f\xe4\xfa\xa0bq=\xb9>\x90\xeb\x03\xb9>\x90\xeb\x03\xa9\ub0cbL\xfa \x98\xa6\x0f\x8a\xec\x14g\xd6\aH\x8c>\xb8,\xa9>\x90\x9d\xe5\f\x845\x1e\xdb]O\x8am<\x94Jw\xb3\xa3\xd8i\xba\xcb_t\x02\b/T\xf4Yy|\xf8\x18+*\xdf\xf7\xd1\x1da\xf8\xd9i\xf5j\x82\x04\x8eW]\xce\xf7\xff\x87|\xdf\x11 \u072fw\xff\x93\xdfW\xb7\xc9\x04\xe8G\xf8\u035e\xbb\xa7\xe8)\x02\x84\xaf\x1e\x18\xf2d\xf8\xb7G\xbb\x00\u010dM\xeb\at\u05ce=GP\x1e\xddW\xed\xc5H\xf7\x95Z0\xe7 \x7f\xa4x\x01E\xe3\x7f\x84\xee+\x8c\x13\x97\x83<\xbbL\xe8\xbe\xd4\xceJZ\xdcHs\xbe\xe7\u0486J\x04\xd1\x18O\xe9\xf4Vi\xeb\x96r9n\x06{\xf6\xe3\xec\xa9\xe4\xdch0Ae\u06ea\xa5M\x88\u02e7U\xb5\x86G\xb7\xd4\x0f\xd3\x1dH\x10\x8fq\x0eT\xe7\xacK\xb3\xecLP\x05\xa3\x8c\xe1\xeb\x1e6\xf1n\xfb\xfe\x13A\x00\xe2}\x11\x9eW\xd4\x17\xc6\x1c\"H\xe6(\xe3\xfd\xf7)\xc9+\x8e\x19\xb7\x04\x10\xd7\xfbZ\xe7T\xd6\xdd>'\b\x12\u0410\x14&\xca8\x87F\x19{JN\x19\xa1\x18\xcax\x89\x9e\xeb2\x9f>$-$!\x9a\x94\xf8\xdb\u070e\x9d*\xff\x9e\x9bz\x8d24\x10\x0en\xffu\xe7\xa6\xc0\x83N\x14?\x8fp\xfc\x90\xbe\x7f&\xafi\xe5L%L\xa7\xd7\xde\x1b\xffh\xbe!o\xf6W\xd6n\xd84}a\x82\x11\x951Zx\x8d\x99\x9d\xc8\x19\x95E\x90\xa0\xf5t\xa99\xdbE\x1a\x880\xc6\"\r$1aD\xb8\u01da\xcffg\xec\x82[P\xe9\xde\xf5\x9f_\x0f\x8c\xf0~\x1e+`g\x943\xdb$8\x9c\x82\xbe\u06fc\xfd\xb1\x91C\x1a\xeaW?\xcck\u0510x\xd7n\x0f#'\xf3(\x95\xc1\xb8\u0457},j\x03\x84gn\x1fz\xf4\xce\xd4\fU\x00q\x8f\xa4\xf0\x8eo\xad\xce\xe9\x11\x94G\xa4\x14\xdf3\x12)\xc4\x1c7E\xb4\xb8)\xfcW\xe2\xa6PL\xdc\xd4G\\I\xab\tN\x1e\xce+\xa9\x95k\t\x8az\xfd\xc0\x83\u00e1\aRR\b*\u01d9\xe1\\V\xc8\xcd\x0e~o\xce\x11\x04 ~\xe6w\xf1C\x8d\xe1\v\xbd\b\x92\xb9I \xecs\\\xeb\x9c\x17\x91\xc9\x00\xe2\x9c\xd7{N\xe9w\xe8~\x84 \x81\x1d\xdf\x10?\tp\xbf\x8b\xb6s\xee\x11I\xa7\x00?\xbaj\xa7XL\xd7\u00a3\xc5\xc6\xd9\xd5\xc3\xc5y|\x00\xd5\xd7fe_\xe99nQ\xd3+\x00a\xcb\x17\x8a\v\x8c\x16+\xc6\x00\x84O)\xb9\xaa\xd4Y\xbd\xfd%\xd5\xed\x9a\xf7\xfc\xb9g\xd3l\xffx\x82\x04C`\v\xed\x00\x9f\xa1\xf9>D\xb8\xe0\xee.\x01C\xa8U\xa2\xb8\xb5+\xb5\xef\xed\xfaa\xe1\xcc\xdf\xca\u0361yP\x13\xfe\a\xb5aM\xa1\aX\xb3\xf9\x0eD\xb4/\xe5\xb5I\xf3\xd1\u06f3F9\x18\xf0\xd4k\xce\xc5kgM\xfa\n\xce\xe4\x92\xc0%\x8b>\xbc\x87Wv\xddQ\x91j\xc9!\x82\x83\xcc&1\x16\xf1o;U\xff\xea\xebX\x15\u076a9\x00\xe1/\x9d\xd7:l\x18{[\x1f \xbc\u067bI\xe0\x89\xcb1w\x00\u010f\x94o\xab_\xf9\xb0z1Ayn\x1f\x1d`t\xfbp\x14\U000c177a\xa2\x87CymY\x91%osRy\x90\xa9\xbb\xfe\xbb4\x00\xb1\xc9\x1a\u06edG\xfbY_&H\xd0|5\x18\xbc\xcd\x1a\xfe\xe7\xd28bG4\xa7\xe1\x19\xadU\x7f\xddO\xe6Q5[Q\xfd\xc1\xc5C\x1a\x1a1\xb3\xe6\xf5%H\xd2\x11C\x7f\xf9T\xa5\xb0\x1c\r\xdd\xd7\xc7\x01\xc2\x03\xe6=R\u07fe\xff\xccA\x00q\xdd\x1b\x86\xabt\xcdR/\x12\x94g\xb7J\x81\x8cv\xcb\ne\xb4[\xd6P\n]A\x9b\xe9t\xa5\xdc\xf6a\xe5\x1d\xb9\xfc\xb7{\u00e4%\xb4\xcb28P\xda+\xac\xe5s~\xbem\xeb\xdd\xe7\u062b\xdfe\x11\x04 ~\xac7\xe7L\xfc\x8e{\xc1\x04\x01\x88\xf1\xfa\x13Fiv\xd9'\t\x929G\xf7\u02e7\u079b1\x9b\xbf\xf2Z@\xe5\xcc$C\xc3\xe8\x97*\x04\t\x86\xd5A&m\xfd\x84\xc1\xd3\xe5\xc0\xe5\x12\xf9\xba\u071f\f\x13c\xa3'\xc5\b\xf0y\u0156\xd2\x0e\x05\x95e1S\xbaD{\xc2\x1fg\xbb\xeb\xcd\xf7\xdc\xdc\x1e \xac4u\x99]\xef\x06k\u04c4N\xa0\xbb\x1f5\xba\xb2R\xc2\xfe\u0262\xc3\xfeb\x8e\xb8+N\u061f\xa7\xc6[4\xd85\xfa\xc5d;\x96P\xd8\x7f\x93\x9a\xfb\b\x8d^\xb5\xac\x01\xc2o\xde_l9|\xf5\xf1I\x00\xe1\xef\xee\xc6}\x9c\xfa\xae\xabC\x9d1\x92R\x0f6\xebx{fU\x82\xf8\r\x1bAW\xe7\x0e\x85C\xd1RZ\xceA84\xa5\xcf\xe2t\xbb\x96.\xd49\xe8\xe6\xd3\xd8\xda\xe6{\xd2#\x00\xc2\u8cbd\xcd\xedo\xb6\xbb\x00\xc4\u00e6>\xaa>\x9d\xbb~+A\xf9\xdci93wZ\xc5\u031d\xc6P\xa4\xc4>\xb1=\u0202\xe5(\x8es\x14\xceiwZ\u07ed\x06A2\xe7\x8d~\x1e[\xbc\x7fJ\x8d\xdfV\x00\xe2FV\xe9\x7fni\xbd\xabO\x10\xbf\xb4\xe7(\xc7,\xb7*m\xe9\xd3\xd6\xdd*\xd7\x05\x00\xe1\x13\x9df\xdf\xe8\xb4\xc3\xf2#@X}L\x90g\x87\xe7\x1d\xd2\x01\u0103\x0f\xfa\xe95H\xf7XAP~\xbcy\x14\xb3\x83Rd\x9e<\x13h\x0eJZ\x17\vIQ\xc0\x95\x8f\x93i\xf4\xfb\xd4#U\xa7DS\x82d\xce\xc9l\b\x9b9\xf6\xe9e\x96-\x80x\xfb@\xe5k\xaf\x06\xa4\xe9\x12$P\xeaL'\x12m.\xe6\xb1\xca\xec2r\x05\xefk5\x1e?5\xd2\xea+A\x02\xa3\xa6\u07a0!}_\x90\x03o\xd0\xe2\xa69p\x1b\xffu\xa4\xe3\x06\xb1}\x1c'R\xafB\xc9\xfd\xcdx\x86N\u0224\x0f\xba\xb1\x92G(\x1a\x896~DL\x1e\tG#$z\u01d4b\xbf#\x7f5\x1f\xe1\xdfK\x92\xd3A\uce2a\x92v\x98hU\xc2\xeb\xb0AG{\xdey\xdd=\xa3\x13O\xda\xf5z\x1fq\x87\x13>\x0e \u073bO\u07f1'\u04ef\x9d\x06\b\xfb9Y<\xef\xce\x1e=\x1e \xbcym\xf7u\xaf\a]n\x02\x10\xber-l>\xe8Qy\x01\x80x\xc3 \x9b\xd5\xfa\xfeW\xac\b\xca\x17(\xdbd&\xb8+\xc5\u02d8d\xc9s\x9d\x82_\xa7\x87\x7f\u0499\b \xb6X\xebs1~\xfa'\x13\x82\x04\xcdW\x89a\xd0lb\by\bb\x945\xa1\x96\xd0\xe7\xfd\xdd|l|E/\x9f\xd0\xdd\u0588\xeb\xfd2\xdc\x1e/O\xa3\xaf\xf9\x8c\xfb\x98Vm\xac\xdd\x05\x82r\xcb \xe9m.\xbe\x00\xe1?>\x99\u0446-uo\x03\x84\xad_\x8c\xab\xa9sC\x8b\x05 \xae\xdfU\x7f\u076dC\xefo\x12\x94g\xadj\x06\xcc!\xdd\xf3\xcc!\xdd\x05\xb4\x90\xee})1\x02i\xde\x7fXt\xb3A\xc1\xc3N\xe4\xb1U)\xc7V\xa5\xdcp%Y\xc1\x9f\xf2\xf2\xab\xedy\r\xe5~\x04\x01\x88\r\x9f=\xaaR\xed\xe7I{\x82\x00\xc4\x0174O\x98\x1d\x1b\u0507 \x00q\xbb\xcc\x0en\xba5G5'H\xe6|b\xa7\xc0!\xc7\xe2\x02\x0e\x04\x00\x88\x97t\xab\xd1.+bG\x06A|\xcbV2`\x8a\x03\xdb\xd2x}5\xfe\a\ra=a}\xe3\xef\xc1vs\u02bdH\u038b\x9d\x97\x04tY\xcc\xf8)\x92 D\x06\x9eT\u00f8\xa2\xed\x06\xe1\x88\xe4\x8d\u07fe\u079f=\x8c\xea>_n\xdfm\xf4FI3\x9a\xea\xcb\xfd\x96]M\x98\xff\xca\xf1 \u0557w_\xd7\xed\xec\xba\xe0\xa8\xe7\x04\xf1\xdbPa3m\xfd^:iS\xa2\x1b\x85W\xe9\xa7\xcb\xed\xfaq\x86Z\xbd\xa5\xd6)\xae\x95\u00c7m\x1b\x9c\xe6\xfc\xfd\xa4\x03so\x02\xa3\xb0_\xc1\x82\x80\xb6\xe0\x9e\xf0\xbc\aX8\xbbq\xd8^T\nL)\xb3q\u0601\x99\x03\xe2\xbfn\x01\b\xb3\fz\x04\xc1f\xda\a\x05SQk*\xfbf\xa9J\u03be\xd1u\xa6A\x13A]\x1f\x94\x88\x19\xb3\x8b\u034c\v\xadOj\x89\x1do\xe2\xdcni\xab\x03$\x9c\n\\\xfaB!?\xd9\x17\xe1\x11\xcdTG\xc5k\x04\v.c\xfbY1R\x16\xcd\xf9\u0765\x03\xeb\x17\"\x9dS8^\u079c\xbc\xfb\xf6\xe8W\xf9U\x9d\xd1u\x92\u0642\xbez\x00\xe1\xc05o\xa6\xb7\xec\xd9e\x02@\u063c\xd1\xc6j\xf6\xad\xb2M\x01\xc2u\x9b5\u072a\xb2\xaaF=\x80\xf0r\xadV5r\x868d\x00\x84\xd1\xe1\xd5}\xe2\xac\\m\x01\xc2a\x9c\xb6\a=\xb2l\a\x00\x88\xeb%]s\xb7VI7'(\xff\bzoF\u03a8\xf0\x8c\x913*\xec\xa1\xcc6\xac\x1f\xfc\xa8B\xc5\xcfZ\x94\xd6^P)^n[q\x98\xd8\xe8\xd9M\xbbLO\u010f\t\x12\xb4j\x11\x82Q\x90\xbdK+\x02)\xc5t\x8d\xf2\xd9\x02\x91\x174\x81\xc2\xe1\x93\xf2\xd9\xec{\xb9\u05e8\x96\x1e9Q{\t\x02\x10G>1n\xd8\u8c01\x11A2\u01ea\xd3\x0et\x87\x03>\x04 v\x88\xb2\ud236z\xee&H\u0b460\x10\x04\u051e\xb2\x12\u00f0\u058c\xf8k\u0374\x03h$\xdb{*:\x14\xc6c\x87\x8b\x7f\xed\x9frJ\xef@\x9a\xd02\xab\xaf\xe1\xd8\xea\xd1\x7fF \x80\U0001752c\xae\xc9m\xda\\\x17\x8c\xafn4\x89PdO\x05\xe3m8\x97$\xa8\x99\xd8m\xb8\x94\u0670\xe3\xec\xc1u\x87o\xec\xbeM\xf4dN\xcd*\x11\x1d\xddq\x03\b\x87\x1c<\xf2;S\xad[8@\xb8\xff\x97\x9a\x1b\x1a\xc0\xea\x11\x00\xe1\xf3\u045a\xcb\xcc'tK\xa2N\xf1\x9b\xac\xef\xd7y\x9f\xb9u\x14U2\x1c\xb8j\xa5=)\x15U&\x88\xdf@oK\x97\xb5\u040e\xc1G\xf8\x9b\xd7\xd4\x14\xcbo*\xb4\xa4D\x84\xa7\x1f\xe8\x10\xaf~\xf6\xe3\xde\xdc7\x16\u0262\x15\xdc,.\x9a\xa7\xf0l\xae_\uaee7\xbdC2\r\x00\xc2=[\xce08\xa3;\xa1%@\xb8\xfb\xcc\xcag\x7fL\xdf\xfb\x18@|K\xfd\u04d9\x1a;\x7f'\x12\x94\xc7=*\x8fd\xe4\x1e\x8a\xcc\xf1*EZ\xbcJ\xe1\xfe\xbf\xc2=~\xc8@\x8c\xeb\x7f\xb5e\xb3|\xa8S\xb2bL\xf4\xcd\vS!A2\xd4\xff\xff\x9f\u0365\xe5\u01ac\x06\x8e\xa9|\xebl@\xbf\xa3\x04\x01\x88\xb5\x8dF\x9d\xfb>wI\x00A2\u01ec\xe6g\xbe\u0468\xb5\xda\xe3>\x808a\x04ku\xf6L\x83i\x04\xf1\xadTy$\x03\xb3R\xd8EaV9\xacqb\xdcx\xbaD\xd9\x18\xbc_DJB\x1er7\xce\x14\x83\xd8u\xa4\x14\x83\xe4\x8a\x16 ds>\xa9w\xf1s\x8d\x8b\x01\b't\u02f8\x90\xa9\xaf\xfa\a \x1c\xfe(\xdd5\vM\x1b\x03\x10n~g\xe5\x1f\x93\x01'\xb7\b\x06x\x15\x89\xa8!\xaf\x8e\xc9\u016e\xa3`\x05m%\u0747\x94M\xfd\v~\xbe\xa8^\xa3\xa5\xb7\xaa\xbd\x18\f\x106Y\xb1\xefg\xa2\xee\u03cb\x00\xe1.\x86Cv58\xd1&/RF;\\\u0194\x1b\xeaU\xf8\xf2{\x1bO/\xcan\u047f\xa2\xa2\b']\xebg\xe4\xbdx\xe3\x15~#\x16\xd9\xf1@\xbc\xb4T\x8a$:2\xc5+\u04b5#&\xeb\x93\x03\xea\x99\x02\x84#\u035e\xadX\xec;\xf6\xbeP\x8b\u06ad\xea\xbcCo\xce\xdbJ\x00\xe1u\x8a\xa3\x87\xdfSY\xfd\x18 \xbf-h\x9d\xf7\xc2.N\xd7\t\x12(\xc1\x19\xd4%\x802\xcf\xcd\xe6\xd1p\xd5\x18\xfb\ra\x1e~U\xa95\x8d|\xff\x16\x8f>X\xefIn9\xc6\xd0\xe2\xea\x7f\xc5\xffW-Vx\xdf\xc0:p\x16\xbf\x19\x1e\x88\x0e\x80Z\xb9{;\xfb8O\xe1\x90\aK\xe6\x95\xdd\xca\xd4+_z\x97r\xf3\xa7\xfapO\x80p\xfb/\xaa\xd7\f\u05e2\xb1\xb9\x8f\xf6\xa5\xb7\x93\xf4\rz\xb0n=\xa5\xfa\xeb\x93\x1a\x03\x84\x9fts\xd5_e\u0630\x17@\xb8J\xa8i\x9b\xc7\xeb\xd0]\x00q\xcc\xf4\x9f\n:\xe6Iu\t\u0297X\xa1r\x89%\x97Xr\x89%\x97Xr\x89\xf5\xafK\xac\xd0R\x91X\x12\xe9\x0f\xb6\xa4\xfa\xc3U\xb6\xf5G\x9b\x8b\xda#\xfd\xdd&\xaa\x00\x84\xfd\x86\xee\xaby\xfdt\xc31\x12\xebN\x87\n\xc3p\xb6,9\xf4\xe4\xe6\xe1\x01ie$\xb1$\xd43e!\xb1$T}\x05\x1aW;Zy\xb4\xfe\xe1{\x1d\x01\xc2.\tc\x17\xae3\xf8\xdc\x1d \xbc}\xb5\xa2S\x8a\x8f\xdb\x1b\xb9\xc4\x12#\xb1f\xc7\x0fb\xef\xa8\x11\x17J\x90@b\x1d\x94K,\xb1\x12+\a\xaa\x8a\xd6X\x96\x9c\t\xec\xa2\x1a\xeb_\x8c\nu\xfd\x92\xea\xb6\u1676N\xb9\x8a\xb2*\xf8\u0405\x1b\xb3j\xde\x04\b_\x7f\xe4Rw\xcb\x15\xfd#\x00\xe2y\x83\xacvs\xd5\u0773\b\u02bfa\xe1\xb4\\\x94\xc9E\x99\\\x94\xc9E\x99\\\x94\xfd\xe3\xa2L\xf14\x83(c\xb9\xd3D\x19j&6\x19XBM&\xe5\xd9\xef\xf8\xea\xf4o\x8f_vJ\x16\x8cE\xdaU`\"\x8f\xe1/\xb5\xd4 J\xb1\x15\x83\xef\x9d\xdd_\xb9K\x13~qN\u044b#\xa5\xa2\x16C\xd7\u040a\xba&m\xc2\u777bt\xd9B\u0327\xe7\xe8\xe8\x15j\xaf\xfa\xf2\x9a\xfd\xcfou\xaf\xcc\f\x87T\x80pto'\u06e7\x86j\xad\xe5\xd2B\x8c\xb40]\x9bb\xd8tY\u0361\x04\t\xc6Vm\xaa\xb48J\x97\x16\xfe\xfc\x1fI]Z\xd0Z\xc5~\xff\x1a\xf5\xba\xd3\xceo\xa2\u05bfvM\xbbQ\xf7\xc2\xdf$\x95\x95\xe0\x90\xd2+xu{k\xa2\u0670\xf5\x92w\a\x01\xc28s\xfb\x8e\xcb{\xd4W\x94+\x87\xefTk\xf6\x16\u0775\xddx\xfa~\xf3\xec\xc8[\x8f\xe1\x89\xdf\x00\xe2\u0118\xc1n\x97\xa6F^#(\x7fa\x85\xf9\x16e9\x87\x97\x15\x0e'\xe7\xf0r\x0e/\xe7\xf0r\x0e_\u0085\x15\x86\x93Sr\x14\xb6S\x17V\x1a\xd2\rU\xaf\xc8\u02a5\u05a2;\x82\xd7Xm\xec\x95\xfb61T\x9bEm\x96\xc9\xd3\xde\a=\x19l\x1d'\xb0\xa4\x86\f\xb7Z\x7f\xa5N\x99\x7f\x1d\x94q\x04\b/\x85\ud3ff\xd4\u031a(v\x18KCI;\x01\x84G\xee\u06d8l\xa6\xb9\xfd\x9e\u0408\xb6_mZ\xd9J{\x17\xaf\xed\x02|\xf6\aX\xe8\x87\xd8\x01\x84\xff\x9c\xee\x92zk\vk\xc1\xdfj:~#'\xf2K\xaf\x0eU\xf3f\x1e\xaf\xb2\x92x9\u040c\xff\xf2\xc2!\x97\xdc\xcb\xca\xf23\xf5\xca\xdci\xf0L\xd1\xee@\xf4\x93\xe5\xdc\xce\xc7\x00\xc2\xcaj\xc3\xd3:\u05f4\u0216\xb44l\xe9\x98\"\xaf4[\xacR\xdf\x19\xb4\xb0X\x02\x106\xfb\x1c\xd4\\s\x9aJ'\x80\xf0\x98o\x9d\xc6^}g\xfc\a \x9c:&\xed\xae/\xfb\xaa5@\xd8\xe5z\x8e\xf1\xb6F\xd1\a\x00\u0099M\xa3\xef\x9d\xfe\xf5\xc7\v@l\xb2\xd1zg\xdb\x17W\x16\x13\x94\xbfv\xb7\x9dY\x9bVc\u0526J\x0fi\xdaT\xef_\u0466b\u04ad\xe5\xda\xf4\x7f\xadM\xcbG|\xee\xf3\u0794\x9d:H\x7f&Aeh\xa8r\x9dY\x11uf9\t\xc9F\x7f\xd0\xe6\xf0]\xae\x04\x01\x88O\x8c\xd3\x1f\xb0\xf9\xdb;'\x82dM3\xfe\xd0=se~\xdb\xe3\x18@<'\xae\x8f\xffd\xa7+]\t\x12Ln\xc3\xe4\x92Q.\x19e[2\xb2\xb6S%\xe3S1\x92q+T.g\xc9Ho\u00b3a\xb6{\rj\xfd\xaeMm\xac6\xcb_\x7f\x1d\xff\xb0\xfbg\xb9\x90,\xb6\x90\xe4\xee\x13}\xaft\xde\t\x15Cd\xc05!\x9c\xd1\xda\xf3\u03fe+'\xac\xf8E>O\u04e8\xdc\r\x14U\xfb\x97r\xf9\xaf\xb4\xaf\xcd\xce^\xb3z\a*\xf3\xfe\xbb0\xd9B\xcf\xf3\xfe\xcf9\x00\xe1\u0235\xfa\xe1sn\xbe0\x00\b\xff\xd6\xdaq\xb6Y\xc2\u025f\x00b}\u074daw\x12\x96\x8e!(\x7f)\xf1\x81\\\xae\xc9\xe5\x9a\\\xae\xc9\xe5\x9a\\\xae\xc9\xe5\x9a\\\xaeI\"\u05d4\xe71\xc85\xd6^Z\xee*|-\xc6\xe8\u015c\xdb^\xf6\xf1\xe2B\xe73<]u\xef\x1ep?\x9aH%8}O\xaf8\xbdr\xf8\xc9\x14~q\xbf\x8b\xa9\x8at\xaaY\xda2\x8dR\xcdk\xca\a,7*WW\x10\"\x99#\xcfv9\xf2B=!\x15 \xfc\xc1\xf8\x8ez\xc7\xfb\xc7\f\xe4\xf2V6\xe5\xed\xb8\xfe\x97\x97\u018fo\xb7\x8c \xc1\x90\xdd\xc9\x1f\xb2ry+\x97\xb7b\xe4m\x0e\xf4\xa5\xdf]:8\xdf\xeb\u02caZ\xac\x80\x8a\x1c\xe1\xf7\x99\xb3\xc7U\xae?,\xf7\xbbw\xd6>\xec~Ug'O\xd5\xd6\xf7y\xed\x98\xfa'\n \xfc\xbc\xda\x1a\u02e6\x89K\xf7\x00\x88\u076f\u034b\xec\xba{\xd2/\x82\xf2\xcf\x03\xa9\xc9(p\x95R\x98\x05n\x14\u0141+~\xf8G\x04\xaeL\xec%\x93\xef%,\xb7\xbd\x84,M\xaa[\x97\xc7\x12Jc+a\x0e\\X6\xadZ\xda\x17\xa8\x16\xbd\x9e\xa7\x9co\xef\"G`\xe1\x9e\xf7\xdc?\xfd\x9a\u06d3K\x10\x80\xf8\x81O\x03\xcdm\x83\x1fe\x10\x04 n\xe6g\xec\u0578q\\8A\x00\xe2\xdeu\x8d\x9am\x01n\r\t\x925\x99\x8a\xfb\xed\xbc\xf0e\xf6<\xffo<\u05fe\xf4\xb7\xad\xb2\u035b \x82\x04C;\x87iY\u045f\xa2S=)\x16*t\x12\x99\x04\f@\xf8\xec\x8d\xdf_kmm\xdcb=OV\xa6Ziy\xc6L\xf7\u03fb\x94\xfa,M.\u0361\u0336\xd4\x19\xb3\xac\xf7\xfcI\xa0x\xf2\x1b\x11\xe1U\xbe\x93\xefMi^[\x1b \x9c\xa5\xf3\xb1\u00d7nK~I\xaa\xe7\x1c$\xad\x92hq\xc1\xab\x92a\u0314\x80&\x16j\x1f\x01\xc2&\xed\xd1\xe4\xe8\xad\x1d&\x00\x84\xdb6}mhj\x7f\xef\x19UF\xfcx\xa4\x83\xe6O5\x16}\xa9,Os\xa9+\xd8\x19\x99\xbb\x8eO#H\u042b6T\xcdU\xe6g\x11\xf2\x14HhJ\x9f\xc5\xe9v-]\xa85\xbd\xf94\xb6\xb6\xf9\x9e\xf4\b\x81\xf9\x8b\xa4\xd5\xd6l\xbe\xbf\xa6\x93\xfbv\xde\xea\xefY\xeb\x06\\\xcd}\x8ai\xe1!j\xc1\xf1\xf66\xf5\xf4e\x8b.\x85\xab\xd0@\xeatk\xc2\u0353=]\xb3\x01\xc2\xddO9\x9fnm\xbdP\x0f |\xe4\xd3\xea\x85\x1e\x9e\xfd\xc6\x03\x88k)\xdb-\U0003cf2b\rAy\xf4X\xe3\x03#=Vi\xc1\xbc\x95\xec#e\xc0*\x1b\xff#\xf4X\xbe\xfe\xf3\xbf\xe7l\x15c\xfd\x87u\xa2\xb0_\u0337Eiv\xbbI\t\xea\xa1\xc05\xaa\xfb\xf0\x9e\xcey\x82\x00\u012d\x8cF\xdf6^i\u0453\xa0\xb2\xb5\xdf\xde%\xa8\u0225\x84\xec=\xf7\xad4\x8c\b\x02\x10_\xbct\xe7\xecJ\x93\xadW\t*G\xfb\xe5L\u07b1\xca\u02b5\xe6o\x82\x04\xad\x1a,\xa6U#\u0176\xaa\xab\xb8\x8aT\x82*y\u0532\x04U\xd8\xd4h\xc6\xcb\xed\xdb:\xc4\x10\x04 \xbe\xb1k\xf2\xe9\xb3G\x92\xaa\x12T1\xd5\x06'i\u0487,\xd59=\t\x02\x10w\xd7\xd7\xddTi\xd2\xcc*\x04\x01\x88\xb5=\x0f<\xdb\xf3P\x97E\x90\u0329\r|\u0178\u07ca\xbeUF\x02\x88\u06fc>}l\xdf\xc3\u02ef\b\x12L\xf9\xf3\x99V\xc5>\u0452\x18\xa3\x8a#7\x8ah\x12\xd2\xff\x12(\x11\x87\x02\x1d\x87p\x9f\x9dq\x13\x9bV\x1b\xf1^\x88U=\xae\x91\xd6\xcc\xe0d\xdfo\x00\xe1S{\xf6\x19\x9f2\xb9\xdeVP\x01E\n\xdbA7$\x96'_+\xc4Z\x9ft\xa4M\xef\x8c\xc0+\xafwg\xab\b\\\x91\xe0\x10\x83\xeaPS\xe8\xe76\u03ae\x1e\x82oXQ\xa7\xb2\xbf\xaejo\x80\xb0e}\xdbK\x86\xe7\xccls\x9f(\u6f1e~\x92\xea\u0102\xde\x10\xe1t\x1cu\xeads\x8d\xb5B\xc6e\xd8\xc7,\u032cO\xcf\u0179/\xb0/\xbe\xd98\x14u\xb7\x94\x8e\x8c\x8aU\xd7Y\xb9\xc6<\b \xbc\xf3\u0620=o\xaeG?\xa6\n\x9acGc\xeb\x8dl\x89\xcf\x02\x84#f^i\x9c\xe5\xad\x18@\xfd\ue91b\xbf\xad\x15\xe7v\xa2\xad\xbdA\xacw\xa6\xd5\xd7K\x0e\x9d\x9e\x10$\x186N\xd4\xcc\xd1\"K\xc1\x05\x96\xd6\xe6\x97\xcafC\x13\x1a\x19(\xd2}#7\x1da\x0fh\xb5?\x99\xda /\x0e\xbb\x1f\xbd\x9a\xc0\x1a&0\xdag\xe2\x97\xcfr \x9d\xa0I\xb0\xf8b\"%\x87\x87\xf0o\xe3jGv^\xbf\xf9\x9e\xdf\xda\xcb\xe9\xc3\xc0\xb1\xf8V*IO\xf0F\xe2\x9e\xd8\x15+2&\x9co-4DN\xb6\x9a\x99\xe3yyq\x1a\xd3\xf0,I\xfc)\xb7\x11~i&f\\l?}\x89\x88N\xef\x95\xe3\xd8K\xb5\u07a7\xe6\x00\u155a\xa6i\x17\x06Z\xd4\x01\b\x0fzu\xdc\xc8\"1\xb5\x92\f\xea\xfe\xe8\xaeiC\x0f[7=\n\x10V\xb6\xb9_\xa5f\x9d~O\x01\xc4\u03eej\xf8N\xd4\xfebDP\x9e\xee\xaf\xfa\x93Q\xf7\xabvf\xd4\xfd*\\\xcaL\xa82\xe8\x1f\xd1\xfd\xac\"\xe76\x15\xd0\xfdyGp\u0212\xeeG-\xff\r\xdd/B\x00\x96\x90\xe8\xfb\x97\xa0\xa4n.3G\xb6\xb8\xdbO\x91 \xa97`\xe9\x1e\xac\xa1\xd1$r\x8dK\xea\xc2\xdf\x04\x01\x88w\u054a\xe7\f\xb1\xbe4\x98 \x00q\xe2*\xe3\x9c\u0461ow\x12$\xf5\xaa\x96\xee\x019qA\xfb:W\xaf\x9c\u0490\xa02\x1c\xba\xd2\u0304-\xab\xa1[\u0699\xb0\xff\xfc\xd0\xf5,A\xb1\x9a,\n\x1a\x18R\xe3\xc5r\x82\x00\xc4\u0787w\xe0\xb6[\xa2\xee\x11\x04 \xeewW}\xe5s\xdbU\x93\b\x02\x10\x9b\xf9^\xff\x15\xd9\xf3\xccl\x82\x00\u011f'\xd7V\x1bP\xff\xf2\f\x82\xa4^U\x8f\x12T\x15U7\xact.\xb3\xc1m\x82\x00\xc4YW\xfe\xf4\x8b\xbf\xfc\xa3\x11A\x00\xe2\x83.\xa36\xad\x1cYy\x02A\x00\xe2\xe0\xf3\xf7\x8e\xcfY\xd9o\x1dA2\x17\x06\xb1O\x9ai\u0421\xa6\xd2i\x00\xf1\xa9\xd7\x17\x7ff\xe4<\xdcH\x90 \f\x12\xcc\x14\x06\x89*\u077d\x9cNR[\x9c]\xdc\xe0\xfd\x9b\a\u04ef\x88\xbeY\xc1\x03 \xec0uX\u018e\xf7v\x89\x027\xb6\x91\x16\x1eq\x948\xd9\x155\xa5\xbb\xc4\x1c\u06039\xbb\xb8\xd8\xc1\x93\xa2\xf7S0e\xbe\x15\x89A\u041b\u059f\x9a\xa2\u05fd\xf1t\xbd\x88M\xefo\x02\x845\xb2\xccm\x9a\xbd\xe2\xb0x\xf0\xb1\xdd\xf5\xa4\xd8\xc6\xfc\v\x15\xfe6\x8d\x96\xd7C\x17R\xab\xd6\xd0{\u074c'?\x12\u05e5\x7f\xb8\xd0\xe8\xb4\xe0\x1a\xb2\x92\xdc\xd8A\x1dn\x12Deh\xde\x06\xe1\xefc\xa7\x1b\xbaW~Q\x05 \\_o\xf9\xcd\xe0\x8fC\xdb\b\x19\xe6\xec\xc0\xdevM\x13\xc6\x0f\x04\b\xa7\x9c\xad\x9f>)PE\x0f <\xccs\xdb\xc2\xd0G\xd1\u03e9*}\xc1\x8a\xb4\xa7\xf5m\xdam\xa0\x86-\xb2\x93?6\xf8u\xd1b5A\x82qz\x90\x1f\x80\xf8\xdff\x04O\x11\x1f\xd0(\xbey\xd2&S\x84\x87\x9fu\xb4X?\xe7H\f@\xb8z/\xd0\xe8g\xad\xb1/r\x9f-Y\xca+\xcfzz\xfcj\xfc\xeby+\xe5\xdb\x02\x0fQ&\xb9\u0322;\xd0\x11 \xbcs\u056d/\x1dt\x8c\xcc\xc5\xfani\x843\x9d\x00\xc2\xe1\xbblc\xb8;\xaa\x7f\x17\x1a-]\x95u\xf6\xe9\x1cq\x99\t\x10686,\xfdSC\u034d\x00\xe1u\x93O\x19hG\a\xf0\x03\xea\xdcK\xd4}\xaf\x9b\xf8\xe5*j\xfa\x7f\x99\xca\u071d\xff\xf3\u00a1_K\xce\x04z2s\xad;\xcfO\xde9P\xfb\"@8,\xee^\u0625v\x1b\xb3x\xb0\xcb\xf3}/^\xf4\xdb\xc5\xeb\xfa&\xeb\xba\xee\x0e\xd4\xec\n\x10N\xfa\xfe\xcb\xea\xd0\x1c_K\x00q\x9dL{\xaf\xf0.\xda\x1b\b\xca\v\x81hVf\x0e\x81\xb0\x98C 7h!\x90\xda\xf2\x10\x88<\x04\"\x0f\x81\xc8C \xe5\x18\x02\t\x127t7\xcb^\b\xa4\xe8.\x84\x8a\x1a\x02\xa9+{CW\xa2\xf7N*\xc1{U\xbdc\xd3Uc\x14\xeb\x13\xc4k\xb6\x8b\xe7\x0e}\xd1\x1aU\x97 \x00\xf1@P\xa9\xf1\x8fm\xc1\xbf\b\x02\x10\xaf\xee>\xbf\u03a2\xef[2\b\xaa`\xe1\x8c\xeb\u057a\x85\xf6\xbf}\xbb7A<\x87\xf5\xc3\xfc\u0606\xf0Dw\x82d.\x9c\xf1\xbd\x9a\xebI\x9b\r\xf1\xef\x00\xc43go\xec\xf1\xe8BVs\x82\x04\xe1\x8c\x1bL\xe1\f\x13\xea^\xe7:b4f\x91\xbb\xfe\xc9x\xa7%\x9fK=\xd1cR\u02a0`\xfdo5\xeeJ\xfah\xea~\xb6y5j\xba\xfa\x9c\x0e\x1bL%\xc3}\x9a&\x1f\xec8\xd6\xfe\xba\xa0\x81Ri\xe9\ued04\x18z\xc0\x04\x16\x89\xb1\x14h\xec\xef\x92\xc6D\x8aD\a\xc4]=Zn\xf1\x12\xa1^\xd0{nX/j\xb6\x02@\xf8O\u0103Zv\u0363^\x8a\xeeVzi\x85\xd7X\xdf\xd5\xe2\x8e=\x18\u012d\a\x106\t\xa8\xf6\xf2\xc0\xd1\u0593\x00\xc2U\xc2\xc7\xde<\xa1\xd8v+UAo\xb6\xef\xb7\xf6\xee\xde\xea\n\xd4p\xc3 \xf7\xa7]\x1f\xa4\xfeyG\x10\xbf\x03\x15\x86\xf3\x03\a\"\xc2\r\xd9b\xc2\r\xa7\xa0\x8a\x8c\x86\x1bhJ\xdd6\xfb\x1agD\xe0\u06f3\xd4&\x1c\xa73x\xe3\xe1\xc36+\xf9\x15\xbc\u03e0\xe4\xf7\x16\u06f6'I\xec]\x84\xd3\xd0\x10\xd58\x0f\x1f|\xaf\fw\fy-d@^\x13\xe7\xf9\xa8\xe8\x98\x02\x80po\x1do\xf5\x06K/\r\x06\b+$L\xfa^\xfbD\xbf3\u048d\xb0\x14+\x00\xd8\xf4\\\xc0\x9b]k:\b\xae\x91\x80VL\xf9*M\xa84QLDC\n\x1e\x9a\x12Sy|K\xf9\u0360\xeaJ'\xa5X\x021i!\xa2\x02-\xf3\xdb(\xce\xdaz\xf9\xfb\x06\x80p\xdd\xc96\u04ff\x1e|\xb6\x11 \xbc\xacfT\x9d\xa8\x86\xa3\x17\t^\u03b4\xd7Zd1\x10\xe6hO\xbf\xb40u\xc9\x1dqO\xb1\xe4L`\u04df\xc2+\xe1\x90\a5\xf6\xb0>v\xbe\x0e\x10\x1e6~\xd7\xc4\x10Gv\x7f\x80p\xca\xc2Yj\x13\x1f\xafw\xe7q\x83X]\x9b*\xd7\x12\x97\x12\x94\xbf_\u068f1*\xa2\u051a\xf9\xee\xd5l\u0294\xa6hZ6\x04\xbf\u0523\"\n\x13\xc4H+\xd6\x02j\x8e\x97|CHYn\b\x91\x96z\xc2!\xac1a\xcdB\xbah\x10$hU\xf9&\xde\xd2i\xf1\x02i\xf5\xeeG[\xd4u\xde\u07eb!A\x00\xe2\t\u03df)\u0106\xcc\xe5\x12\x04 n\xa4et\xfbG\x8b!\x11\x04U0\x05\xe9V7\xfd\xeb\u02fa\xbb/\x12\x04 \u05aa\x9e\xd8\xc8\"Y1\x87 \x99S\x90\xad\x9a\xfchr\xe6\x91k\x16\x80\xf8\xebF\xfb\xd7\u05f4\xeff\x13$\xf0\xfc\xaa\f\n\x12\x1d\xa0\xad\x1bO\x96|\u0778%\xbf\xa25\xa1\x96\xd0\xc7}\xd8n\x8e\x1c\x17\xc1\xd0\xcd\x11\xb7\xb6uo\xc9\xf1\xb5\xa8?U\xafu?\x93\x0f\x00\u013f\xd6\xf84\x9b\xfd{\xd2>\x82\x00\xc4\xde\xfa\u0577z\xa8\xffJ \xa8lW\xc3J\x7f!\xbb\xa2\xaf\x86Im\xa5Z\xebr\xfb\xaam\x8c\xa7\xaa\x13\x04 \x1e\xb0e\u02f1hv\xdbN\x04\x01\x88\xb7\xaco8,v\u0105\x95\x04U0-\x13\xf5\xe6\xe4\xc8\xc43}\xce\x12\x04 N[\xf6\xed\xee\xd1%\x9f\x9d\t\x929-cq\xd1\xc5\xdd\xea\xb2\xe5L\x00q\xaf'\u034f\x9e\xe8\x19\x10I\x90`\x16\x1d\u00b4\x1a\u01a2%\xf7\x16\xd1\u0662\xf68\x977G\xd6z8g\xb0\xbe;\xfb\xa8`\xe6\xaaD[\x9fJ\x96|}\xaa\xc8\x06\u00c2\xe7\xa84\x951a%\xc9\"\x17\xe5@\u077f\\\xe4Z\xb6\xb7o\xd7Q\xa3\x064\x06\b7;\x13\xeb:;\xb8\xa5\x95\xd4d\xd9\xe8'M\xb9\x99#M\x97\x02\x84\r\x0f\xb4\xe9\x9e:\u0436\aU5,^\x1a\xae\x15\x12{\xe55U\x1f\xdd\xf9\xb4\xd1\xc2\xeb\xf9\xe5w\x04\tFB]\xea\xae\xdf\"yeD\x1f\xf9\xf3\x7fT&\xcbY\xbc\x16\x7f\x9e\xcd\xed\x1e\xf3\xcaW\xf4nj^\xfd\xf7t\xbc\x92\xed<\xeb\xf2|~\xc9\x1f0\x88\xa6}\xd4\x15\x1b\n\xd9(\x8f\xd5(Mc\x87\xc5\x1e\xfb\x8cg\x03\x84M-M\xed\xb3\x94\u73d7k\xc22\u0444q[>|F\xb3\xe7\x18\x00\x84#?\xb9\rm\x9e\xa5P\a@\x9c>3\xe5\xee\xfc\xd95\x96\x10\x94\xa7\t\u054c\x195!\xea\u0368\t\x91\x1a\u034d\u06c9\xa1\x99\xfb\xe9\xfeZ\"VmU\x92MSOv)\xac\xfd\xfc\xe2\xedU\x82\n\xf4\x13\xc4+\xf7\xdd|\x93\xd1wq\x1aA\x92\x97k\x88W\t\u02b5\xdb#\xbaux\u07c5v\x04\x01\x88\xab\xf6\xbf\x19\x05\xb4\xee\xeb\x13$s\xd4\xc63c\u05e5\xc5j\xd6\xdd\x00\xc4\x1b\uce07>.\xfc\xb6\x9f A\xe4\xe0,\x03\xb5Q:Ux\xf4\x0fw\xf6\x99(\xb0$\xf3\u009fY\xe4\x13\x9f%\x85s\xc9m8\xa2=:\xdfP\x86\u66fc\xb0\x0f\xf2\xf7p\xa7\x1b\x18\xc5y\x9b;\xcc\xdbX\xcf\xf6ts\x80\xf0\u019c\t\x8f\xfd\xbb\u06bd\x91\xb0L^%+\xd3\x10\xda\u030f\xf0\xf8[}\xda\xfb\xb7\xc4k\x00\xc2\x03\x17O\xf9\x1e\x1e\xee\xc6\xf3\f\xb7l\xdc\xdb6\xb4],\xe8\v\u017eL!\xf3\x89\xfc/\xd0\xcfPAE\x94\x17\x19\u06d3\xf8\xae\xb4pu\xfa\xb8s\u018f\x97\xac:\xa2\x9b\f\xe1=\u07eb\xa6v\xcc\xc9\xce\xe3~\xe2\x0e\x9f\n*\xbc\t\xc1\xc2}B\xee'\xa3\xf9?\xaa\x0f\xeb\b=\u079a\xe3\xea>\x85\xd3\xc7\xdd\u0347\xe3\xe6#\xa9A\\\xed?\x7f\x117\xb0\xa31@x\"\xae\xf7&\xa2\xa5\a\xff\x10\x18\xee}1Q\xff\xed\xc5\u709e%k_j\x89E\xbf\x03\xe1\xf6Uu\x9b\xf7o\xf9\xa9\x1a\xaf\x1e\xbe\xdfS;\x0f\xa9q^h\"\x1b\xc0\xbe\xd8\xe4\xcb\xcc\xe5<6p\xb4\xf7\xeb\x05\xbb\xabnl\x04\x10\u079e\xc0\xaa\xf5u\u0162\xa5T.\xe7th\x86\x89}U\xb7x\x82\x04\u01b4\xab\xf0x\xc9\xe7r\a\xf3-\xb5(e\xa0\x8e'\x8fb'\xb6x\x8a\xe6\xf4E\xb4S\x81\xba\xfb\u069f\xa9\x85\xec:\xd5\x01\bO[qrs\xdb;3\xa2\x00\xc2\xedvW\x9a>+,5o\x7fP\x82\x98b\xf3\xaa\xf5XfF\u03c0\xfc\xc9[P\x92\xbe\x92\x1a\xbdb\x88\x9e\x8ao\xdas\x1e\x8c\xdcV\x8f\xa562R\x10;;[\xfc\x83]\xca\u0730)\r\x89\xf0\xfd\xdb_m\xfa-0\x9a\xca\xf3\xe9\xebZ{\xf6{6f<@8\xbe:\xfb\x82j\x1d\x85\xdd\x00\xe1ov\xcdO\x1a\xa9\x84\xf2\xbcj\xf6\xc2\x1e\x9b\xeb\u07dc!X\xe9N\xa6\x191\u017d[\xb9\xbb\x04\f\x91\xb4\xb1glZ\x9f<\u06e5\u017b\x92=X\u033c\xd1btK\x87-/\xb66\x03\b\x1fQ\xba\xa5\xfcqI\x9d}\x00\xe11\xf7\xba\u07f3g\xad\xcb\x06\x10'\xb6<\xf1i\xee\xceHW\x82\xf2S{b\x99i\xe4\vf\x1a\xb9\x8fF#\x7f\x89[O\xb5\x925\x1eY\xa1bi\x9d\x9f%\xb8nKJ\x8c\"\xa8<\x99n;st\xf7\xe1\xfa\x97\xcf\t\x929\xa6\xfb\u0461\u01df\xe7\xe3\x17_\x06\x10_m\xdb\r4\xc0Z\xb1\x04\xf1MRe\x03\x13\xd3\xfd-g\xbae\xc5tC\x98\x98\xeenF\xa6k/3su\x0e\xbcB/\v-\xb6K\xf7u\xc5?z\xd1C\xe8\xe8\xc5FU\xbf<^rm\xe63^k\xcf\x19}}\xef\xacs\x97\x05\u016b'\x86\xe6fI\xca\x06\xfe\xbaxe\u0395\x03\x93#\x1c\xef\xbc\u05e8,\xc4\x17\x8d\xcfx\x8f\x9d\xbb\xdb\xf51@\xd8,v\xd0\xfe\xf3\u0767\r\x00\b\xaf\x8a\xb7H\xa8\xffctW*W\x9e\xe27z\u03a6\xe3\xedf\x12$\xe7\xca\xe5=\xfe\xe4\\YB\xae<\xdf\"\xe9\xad\xda>\xb5\xd7\x00\xe1\xc67\xaa~\x9905ZK\xd0\u9bb4\xe8}\x91\x85\x0eA\xf0^\xf4\xb0\xa74\xb3\xee\xa8H\xb5\xe4\x90^\xee\x15\x90~C\xa1\xc3\x1b\x85\xbegIo\x87\x02c.g`\xc6\xc8@\xaf\xc3=\x01\xc2s~:>\xed\u0428f\x1c@X\xe5Jl\xe3\x87\x03\x1c\xd7\x03\x88\xb7z6\x9d\xf6k\x82[\x7f\x82\xf2O.\xe8\xc5H\xe4U\xa73\x12yUS\n\x91WYN?\xb9\xe0\x9f\u07d3^\xba\x1b\xb5[vrtO]W\xe7\x1cA\x82U\xb2\xd9b\x96E\xd1\x03\xeaz\x8bD\x02\x80\u0776\x04u\x1b9\xaa\xef\xd3i\xc6N!\x04\t\n\xd5JL0o\x87\xf4\xb2q\x1cJR\xe8\x97}X\xcd\xff\xbc\x83l\x82\x00\xc4\xd5\uf3f5^\xf9z\xb45A\xff\x0f\x8b.\x87S\x16n\xd4n\xd2\xe3\x8d\xc26\x1f\x82\x00\xc4\x1b6\x1co\x9d\x92\xb6\xb5\x11A\u5a32\xf5f\xa6,\x0f=\x90cLPY\x0e\u0112d\x98M\xd1\xfa\xd8\xd1\xf5G\xddy\x04\x95\xf1@,I\xa1'\x0f~\x1e0\xa7)w'A\x00\xe27\x1f?\xae\x98a\xf2n A\xf2\x81XJ\x03\x91U\x95\xd3\xe5S\xbc\x85\x05A\xbcI\u0236\xce\xdb\x1e}7c\x82\xcaq j\xa7%\x1fn^\xe9\xda\x16\x82x\xfe[\xa3\u3a79\xe3\xe6\xbe#H\xe6\x02L\xfa\xabF5\x9a\xb6\t\xbc\x06\x10o\x19\xa2g\xfe+\xa2M A\x82\xa5T\xc6# \xbf1\x055X;\xc5\xc5T\u06cb\x91\xf1W\x8b\x9d\x82\"\xa0\x05\\\xdaN6\xfa\xa4,\xedd\xa7I\xfe_}\xcd]\x06\x1f\x04\bk\x1f\xb9\xf3.l\xc9\xd7[\xd2\n\x80(NRn\xa8\x96\xf60\u03d1\x9b\x95A\xb3\xb6\x93\xbcY\u06d5J\xb3\xf6l8<8\xa5\xcd\xdbh\x80p\xb0\xfa\x82\xb9\u068a\xa1\xaf\xa5\u056c^\xd3\xe6\xe9\u015c\xbc\xfc\x85_\xd5\x17b\x1a\xee(\xff\x14E\xf1iL\xa2\xec\x8c\xd2NT\xff*\x85Z\xf5\x0f\xbc\x9bU\xa5\xff\xa3\x8eBz-\xdc*\xb2\x1d\xf8\x15\x1b\v\x10^\xaa\xd2#\xc2Q\xd1\xcd\f \xbc\u0797\xfdR\xd9c\xdf\x03j|(\xf1\xeeN\xe7\x9bQ\xeb\x02\t\x12\x8c\xec\xd1\u053c\xb8\"\xeb(\x05\xcey\x88\xa1\x9e\xf3 jX\x17\xbfI\xd9\xed$iiI\xcfz\x18We\xf6\xa2\xaf\xc7b\xb4\xa8\xb2z\xbbiR'\xbb>f\xa3\xf9\x95\xfc\xcd\x10i\x8a\xa3\xd20\xda\x1eg\tj\xdc\x16 \xec\xc6\x1a\xfd\xd9w\x0fJ\x92\xf8\x99T{E8\xe1\x8aQ\u043b\x06\xaf\xae\x02\x84\x95\xfd\xe6w\xbc\x11\xfaiw\xae})@\x88\x00\xc2\xd5w|\xb9y\xf7\xb8K-~\r\xdf0\xb4\xc0q\xd1\xfb[\xa8z\xb6\xec\xf3\v\v\x0e-\xd7_\xbe?B\x9f\xd4e\x15\xac\xaf\xd6\xf7\rc\x7f\xaf\xfc\xe9-\xd5@Jp\xa3\x1a\x17&Z\xfcv\x05\b_\x9b\xb2i\xec\xdc%\x8fj\x00\x88\xbbFi\x9av\xda8\xee\x04A\xf9\xb7_\xd6`\f\xa4(\xce`>\xec\xc0\x8c\x12HQXAo\xf6\xf2Y\xba\xcb\xf5<\x99b$\x0e\xab\x12ulU\xa4\x8b\xde\u016b\xa2\n\xb5u\xe6__8/]U\xb4x\xa6\xe6zm\u01df\x05\x10\x80x\xf9\x05\xcew\xfd\xe8\xceY\x04\x01\x88\xb7vi\nA2\x17Q\xf9\x1a\x908{|\u01b2%\x00\xe2c\x0f>\u06258\xfc^A\x10\x7f\f\xa8E3\xa8x\x15\xc1\xbeKR\x90A\xeeN\xbe.\x1cyL\xa54b*\xcf\x19zCAE\x1eS\x91\x9d\x98\n\x1aL\x8f\xa9\xfc\xa6\xc5T.\x88\xe1\x950\xb8\xd8\xeby2\x17T\x81\"\xaf,e:'G\xcc.\x18\u047e\xf2\xef\x97)\x11\x1e=b\xb1\u066a\xf7\xd6\x1f\x00\xc2\xdbOj\x0eN\u07e23\r la\xd9\xd12-\"P\x8d\xaa\n\xbd\x9c\x8e%\xc7,\xebr\x9a:\xc4\xf7]<5\xe4\xae\xe1\xe8\u0752\u0184\xde\x7fl5~\xf7\xce\xc1\u00e81!\x8b\xc1F\x86\xfd\xa6\x184$H\x1e\x13*o/'\x8f\tI\x18\x13\xb2\xabo\x00\xaf\x9f{\x12\r\x10\xfe\xb1v\xd6\xf1Q\x83\xd3\x17\n\xacX\x9f\x9a\x02sCL\n\xcc\x12~&Q\x19\x9d\rEs\n\xb5\x82\x9eoOx\x92mC\xed\xe5\x86\xc7M\xedPB\x03\xbeP\xe5\xce\x16?,)\f^\x1aNo\x85\xba\xe3\x11\x13\x9b\x11\xbd+d\xc8j\xd2[\xa7q\xf3\x8e&_\x04\b\xc7\u034b\x8f2\x8dKy\x01 \xfe\xe4\xe8\xf0\x80\xe3\x7fp\x10A\xf9[\xdc?0\x87\xac\xba0\x87\xac\x00-dU\xe4\xe8\u04cazz\xae\x87\x186\xa2\x10N\xcd\x01)\xb3 @\xa9\x87\xc0\xfe\xf5d\xf3R\xce5p\xbfp\xdcpU\xe8F\x82\x00\u01065v\xbd\xf5\xae<\xbb'Aek3\xf2\xfbX\xff\xb2\x01K\x12\xcej\xb2(h`H\x8d\x17\xcb\t\x02\x10{\x1f\u0781\xdbn\x89\xbaG\x10\x80\xb8\xdf]\xf5\x95\xcfmWM\"\b@\xac\xc7\xed\x7f\xe0\x95\xe2\xb2P\x82\x00\u01336\xdd\xf9:uQ\xe0.\x82\xa4^\xd5\xd2\xdd\xe6wB\xe9\x86{H\x93\xb7\x88 \x00\xf1\xb5\xbe#Z;\xd8lT$H\xe6\x02G\xcdz\x18\xfelY\xd7\xfd\x1d\x80\xf8\xcf\xdd$\x83\x93K\x9c>\x11$\x98\x1c\xfc\x19B\x15(\x882y\xa2\xee\u0167\xb7\xbe\x14\x95\u02e4\x12%\xb8H\x9d~W\x9a\xe1\xd5=\xd0^I\xb5#@\xb8q\xfc\xec\x15\x9f\xd9\xe7\xbb\t\u01bf\xbb8\r\xdfV\xd2\u0108o\x92jx\xeeII\xdbc\x9a\x84\xc2N\x82k\x12\x85\x93p\xab\x9c\t\u07be\xfc\xbbf\x1c\x8fpF\x8e\xd1\xeb\x9a\x12\x9f\x0e\x10\xf6{\xf6\"iR\xfb\xe7f\x00\xe1\x06*\xeb}\xef6\xe2\xf6\a\b\xbb}\x19\xf7U\xd7!S\xf4Y\xb2\xae\x00\xe1/\xb1>\x9f\xe7~\xeb\x8cyZ\xc9\xfe\u1d84\x1e\v\xe6P%r\x86\xb6c\xa2\xb9\xcd\xcdA\x04\t\xba\xe3\xb2\xec,8\x8b\xde\x00\u03d3W\u00de\xb6\xb1\xfax\xb7\xe5\x19*\x17\x1e\xd8-m\xe9\b\xd7T\xfe\x12\xcc_\u07ba\x9f\xb7\x1b\xb0\xf0v#+w\xef!\xb2`-\xf5\xb2r\xf6\f\xb7\xb5\xb3\x06\b\uf7ed\xa1\x12\xf8m\xcd~\x9e\x8e\x9a\u0788\xbbam\xfc\x02\x00qd\x93\xa1\xc9k\a\xa8\xdc#(?\x91\x1b3\xf2~U\x17\xe6\x1d\xf1\x1d(\xaeK\xa5\u022e\xd0\n\xca\xfb\x95\xb7\x8a\xf1`JW\xa8\xab\xdbr\xde_Q8\x9c\x9c\xf7\xcby\x7f\x05\xe5\xfd\xff\x9b$\x83\x7f\xc1fJ\x92su7\xf9\x84\xa2\xa2\xea\xc2s\x04\x01\x885\x8f^>\xf0\xb6Z\xf0[\x82x\xe6\xf1\xb4\xee\xb6;*;\xd5\t\x02\x10\xf7W\xb6\x1epr@\xcd\x14\x82\x00\u012c\xa8\x9c\u6b7b\x8e\t\"\xa8\x82i\xc5\xca\xc3\x176<\xe4|z\vA\x00\xe2\a\xc6?F\xed`+\x1c\"H\xe6\xb4bG\x8bZ-Vf\x8e\xdc\x0f v6_\xf9}\x84c\xf4;\x82\x04\x84b\x10\xd3V\x81@\n\xe1bu\xae\xe8Z\x11M\x12\u00f4\x90\xa1\xa4\xeb\xbd\xffO\xad(i\xd5\x1dK\xbd\xea^R\xab\xfa\xea\t\x8b\x16\xbe\xfa\xe9\xbe\x16 l\x82\fn\xc1T\x9b\xb6\x00a#\xdd\xdd\xd8N\xd7\xc5\x06 \x9c\x84\x03\xc2\xc7/\xf6\x98A\x15w\xb7~\xad\xef\x1e86\x96\xf7\xb0e\x9f\a\x87\x99\xe9\x85kRe\xf2\x93\xc9\xde!\xcb\xeb\x1f\xb3%H`\x89\x9b\xa8kpO\u016c\xc1m\x85\u02a5\xa0\x93i\x17\x16Ql\x90\xb2Z\xdb$h\x93NJFTU\xaa\xa6\xbe\x81\xbb\x1f\xdad\x90\xb5\xe1\x7f\xa5\xa9\xa5\\\xd8R\x19\aif{\xdb\xfe\xf4\x9dP\x19 \xdcw\xfd\u021a\xedOhv\x01\b\x1f\x9fvgIN\x84k}\x00\xf1\xe5\x17q\xe7cj4ZJP\xfe\x15)M\x19\x03\x00\n\u028c\x01\x00V\x12m>\xaaO?\x12\xafB\x05\x00\xc4\x1d\xfdZn\xb9\xaf\xe5\xc3\xc6\xfc^L;}b\xf2\x12U\x82\xa4\xdcD\xd2\u0717P>1\x806\xe1\xbb\x1f*\xeeS\x9bG\x10\x80\xd8xy+\xc7\u02daI'\b\x929n\xaa\xdah\u0675\xa5I\xcb|\x01\u012d<\x7f}\xd0\r\xdb\xf9\x95 ~/+>fJ\xb94\x11\x93\x00\xcbM\xe2\x97\\T\xfek\x91\u072c\xbc\\\xd3\xc2\xc9\x1f\x13\x1c\xf9\x9e\u0255\xef[\xb4a\xf5\"\xb9\x13\xfd\xfa\x88\xcd.\x92 \xa9b\x89A@g5\u01df<\x8f\xfb\xa7e\xafo\x93\xfd\a\x1d\x04\b?\xcd@\xeeS\xb4,\x1b\t\xbc\\\x1f\xa6\xb5\x1d_\xda\xdaN[>\x8d\x90\x80\xaf\x179\x17\x89\x904ZCY\x14{z\xa2\x13\xf6\v\xa9Uk\xe8\xbdn\u019b\xc8]Zx\x9d\x7f\x05B:\xf3\xcbs@\x9c^\xcf\xed\xa0z\xb0v\xfeG.\x01n\xee\xae\xcel\x97!\xbe\xee>\xce\f7\u0408\xac\x0e\xa5\x9b&\xb4\x9dzp\xb8\xeeh.\x95}\x8c\xf1S\xad\xd9f^t\xefR+\xf4\x101}@)4wN\xbf\xbb\x9a\xcbj\x8a\xbe{\x8d\xd7\xe83]\xf7Uo7\xb4\xd6\x0e\x80\xb0\xc1\x81\x97\x06\xfe\xca\xf5\x06S\x99\xaa\x8a\xf7\x8d:\u06cdM^\x10\u012f\xea\x06\u0457\xd2Y\n(\xa9\x17\xd56h\xd6T\xd2$F\x1dW\xe7\xc5=\xfc\x9au\xe6\u0458\r\xcb\x7f\f\xf10K\x03\b\xf7\x0em\u076e\xdb\x1e\xeez\x80p\u055d:\x9b\x17\xbfvY.\x98N&\xd3\x18\xb69\xbfF:\xb0~a6\xe6\xec\xe3<\x85\xc3HDS'-x\uac64\xfe\x01q\x0f\xb3\xe4L`3>\x8c\xd7E6_\"\u0627\xb3o\U000ef16fhib\x8b>\x1f\x1f}\xbe}\xffj\x00a\xb3-\xba\xd72\u032aG\x02\x88U\uf1bf\u076e\xdc-\x8c\xa0<\xb6\xa8\xf2\x9c\x91-\xb2\xec\x99\xd9bS\x9a7\xf4\xfe7\xd8b\xb9\x11B9\ac\xe0`?{f\xb2\xb7L\xb3\x1aD\x90\xccq\xb0C\x1b\xf7\xe8=\xb5\xf9y\x0f@<(d\x18\xf7\xfe\xa9[\x0f\t\x12p0s\xa6\xf8`\xf6\xff\x8e\x83\xa1\x1fL\x1c\u0300\xb6\xc3\u4564\x1cl\x86\xe4\x14L\n\xa7+^\x19\xddpz\xc7\r{\xaf\x96\x1f\xb5\xaa\x98\xcc\xe9\xe9gN\f8\xb1\x9bvG1\xc4'#\xea\xc5hl\xbb~\x86\xa0\n\xc1\x9c\x94\x83\x12\x87W\x89\xbc~\x1b \x9c\x99\x8eX\x8f\x8co%\b\f\xba\x01-\x85\xe7\x7fMv,\xceL8\xe7\x18\x17\xbe\v \xdc\xf3\u2418\xc1\x0f\x02\x1a\x03\x88\u03ecg\x7fz\x16\xc1\xedKP\x1e\xd9AC\x19\xc9\x0e\\\xc5Hv\xe0\x18\xd1n\xa7\xe8\x85\xf6\xe5\xbc\xceY\xe0~`\x8d\x8c\xee\xc7n\u06cd\n#H\xe6fI\xa3\x86]>w\u069b\xf1\x19@\xdc7f\x88o\xf3\x87+G\x13\xc4/\xad \x9f\x92zHtG\x917\xa7R\xec(\xf1\u03c7\xea\xc1\x96?\xaaS\x9d\u0221y\xbb\xb4_U\xea\xaaL\x10O\x93\x05\xe9\xb4\xddx\xf2\xe9~\x82\xf2\x8cK\xe1\x1a\xa3q!#\xe6;\x05!mN\xfb\xc7W\xd1\xcb\xe5\xb6\x11Y\xb2\x7f\x1f\xe0\x17\xb60(\xa3\x05\x80\x98U#\xd3\xde:\xbe\xba*A\x02\xe3\x18\xc2\xc0\x88\xa0\x13\xc3\b\u0241\xda\xf4\xac\x92i\x92.\x16\x16\x9f\x02\xb9\nQ\xa0U\xbe\x93\xefMi^[\x1b \xdc~T\xbd\xb8\u0329\x97\xaf\xe7>O\xccV\x9c\xbf~U\xc1\x89\u0626I\x93U\xbe\xf1\u01e2\x00\xc2\xc72N\xc2\u03ee\x8a\u05e8^`V\xfc!\x1b\x85*a\x9e\x04\xf1-\xe7ta^]\x82\xeb\xa0D\xc7\xe6x\xceI\xa1\xffp\xef\xb7\x0e\x91\xfcU\\\t\xcf\x04v\x15\xaa\xabJ\xef\x13[\xf4\x0f\xa9\xac\a\b_\r\x98XGw\xc0gK\x80\xb0\xc1\xa1\xfb\xfb\xda7Ux\x06 >\x15\xbe\xf2qz\xf7a\xba\x04\xe5y4Ef\x8f\xc6j\xc0\xec\xd1^\xd2b\x03\x1d\xc4\xe5\x90c\xd1\x1d^^Y\x94\xa2]p\xc5\xcc\xe2+\x97\xe9\x02\x87\xb0\u01845\v\xe9\xa2A\x10\x80\xf8\xf4\xb3.\xaekn\\yN\x90\x10m\x19\xf0-v\xfd\xf36+\xcc\b\x929\xb7=\xe8\xcf:\xfd\xe9\x0e\xf3tx\xb4e\xdf\x1c\xef\x9c\xefC\xbb\x12$0t\x17&\xb7}\x98\xd1ms\u0118\x1e\xa6]\x18\u03fd\xcd\xff\x15\u00cd\xf1\x05Z\xb4\xd8i8\x12\xa4\f\x89\xcep\xe0y\xb9-V\xa9\xef\fZX,\x01\b\x9b}\x0ej\xae9M\x85~\xdad\xb3\x1f\xdd\\\x0e\x8c\u0771\x13 \\'\xe5\xe8^\xbd\x94\xb6\xcfD/\xbc\xd3'-\a!\xc78\x7f\xff\xc0\x1e\x19\xa3\x8cL\x01\u009c\xe1/\x9bE\x85\x85q\xa8\x93@w\xa4\x1a\\e\xaa\xf6C\x82\x84ZMTbH\x91\x15\x1a\x89\xf3B\x10\xee\xb1\xe6\xb3\xd9\x19\xbb\xe0\x16\xd4F\xb9\xfe\xf3\xeb\x81\x11\xde\xcfc\x01\xc2\xf6Y\x1d\x87\x87\xee\xb1\xe6q\u053a\x1a\v\xfdm-\xc6.$(\u03e3+\x8f`\xf6\xe8\xb1\xcc\xd1\xde\xf94\x8f~O|\xa6\x17\u0363W\xf0\xb4y\xf9,\xf0\x97\xb3\xc0\x8b\xc8\x1a\xbd?\xed\xbe\xb1\x88\xa0r\xd4\x0f\x1b\xb5\x1f\x82\xe63\x9b\x9d$H\xe6\xe6\x9c&c\a\x19o\x1a\xf1\xce\x0f@\x1c\xed\x11|\xd9U\xfb\xceu\x82\x04ct$S\xf0\xb4\x0e\u3713 \xc6\u043f\xd2G\xba\f\xcd%\xd2\xd1(\x8f\xbd\xb6\xeaGr2\x0e\xf3k\xb7\x97^\xf3\"\x02\x8a)5U\n\x85\xdb\x13\xb2li`\xe55k\x85\xe6\xb6K\x1e\x8d\x9f_Y\x9bn\x06\x10\u058e9\xb2\xb7j\x1f\xa7\xb6\u0539M\x1fe\xad\xd3\xf1\xeb\xfb\x80 A\xf7W\xa6)\x1cn\x04}\xdas(\x9c\xce+\x95tHW\x80\xb0j\x8c\xfd\x860\x0f?z2c\xe4\xfb\xb7x\xf4\xc1zO\xa4\xaa\x99X\xfe\u02c6\xba\f\xef\xf2\x1d |\xd1\xe0\x83]\xad&\xecw\x00\xe2\x06k\a\xdf\fI?4\x91\xa0\xfc\xf5\xd4\xd1\xf2\x19V>\u00d6`\x86\x95\xda\nv\x9bfGS\xce{Y\x9d\"\b@\x8c \xbe\x95*\xd83\u0370v\x94\x93\n\xb91\x8c\xabF\xbco-\xa6\x0fu\xfb\xfc\u04ee\xf2_\xcd\x19?\xde\xd91\x7fAN\x84u\x89n\xc3\x02\x93J\xd7\xf5\xdd\xf4\xdb5\tW\x13r\x85\x17z&\xa1\u0334qA\x00\xe1u\x93\xbeu\x8d\xdf;ww\xfe \xa5\x9c\xfc\xc7\u0361\xac\x8f\\\xae\x10\x9c\x812\xfd\x04xfy?\xd4zH[sD\xb8\xed\x8a\xf6aa\xd6/\x16\xd2ZZd\xaf \xac\xaa\xe3Q\xf7\x95\xfas\u0691z\x10\x0f\u055dx\xb51\u01e0\x06A\x82\x0e\xb8E\xdd\xd6_\x01\xe6\xe7a\xfc\"\x16\xce2\xb0pv\xe3\xb0)\u02d54\x1bF\xd88\xec\xc0\xcc\x01\xf1_\xb7\b\xadg\xd3\x16y\x8b\x9f\xd9\xef+:\xc0@\xb74\x7f\xa1\xa1sf\xee\xdd\x1b\xd1IN/\x01\xc2z\xd5[f^6\x9a\x19X\xf0\u06b7\xe7u\xfb\x06~\xaa\xec\xb7\x11 \xdc\xf7\xfb\xed\x9c>S\xa6\xde\x05\b?\xba\x10\x93\xee\x9b\xf3\xf3+\x80\xd8T\xf3\xd7\xe8+\x1e\xbb\x8f\x11\x94G2T\xe71\x92\f\xc5E\u0317\xb5\xd9PH\x86B\x14}\xfe\x95Gm+\x04\x9b\x90\u0168m\u0658\x8e\xb4\xb63\x97\xa5\xe98\x95\xa0\xcc\xf7g%^]\xfb(\xf5\x0fA\x00\xe2W\x89\x9b|u6\xfb\x04\x10T\x8e\xa6\x93\xec\x02Uj&7\x18D\x10\x808}^X\xf5x\xf4\xe6\x05AB\xa63\xd5\xff\xdc \xdb\x0e\x96m\t\xe2\r\x88*\x11\xf5j\xe5l\x7fK\x90\xcc\xf1\xc5\xef\x11\u9b15\x8bB\xc6\x00\x88knT\xc96\x89y\x1aD\x90@\u04ddeZ\x058B[\xfa/r\u0612(\xbe\x98\x03{\x88\x1b^\xf4\xdb,%\xa0R\xa29\x81#@x\xe7\xaa[_:\xe8\x18\x99\xf3{fy\xf1\xf7,\x8b&\x14N\x92\xc6\xf6\xfd\v\x1c\x05\x8a\xf0\xd4\xf0W\xea\xaa\xdb\xe69\x03\x843n\xc5\\\x1d\xfa\xf1\xc85\x80\xf0\xfb\x15\xfbc\a\xec\xfc}Sh\x96N9\xd2\xe2\xfc\xebqSW\x01\x84\xd5jk)\x0fHn_\x85J\xc5B{>\xbd\xea\xbe\xe2\x9c\x06A\x82\u01bdO\r\x95\x94\xf9\tK\xa2w\x8e:\xf1\xaa\x8fv\u018c\x19}=\x91\xbe\xc4\xd2Y\xa7]\xd0@\xbf\xd6y\xabJ\"iT\xfe9\u0117\xa4aP\xb4: \xbc\x14\xb6?\xfeR3k\xa2tL\x94W\xff\x91\xfb6&\x9bin\xbf\xc7c\xfb3#VxTv\x8e)\xc8\xc7PT;\x9fG&\xc3n\x02\x847\xd4\xf9\xa0\xf4)]\xb93@\xd8t\xf4)\x0f\x9d\x97\u0775\x00\xc4K\xb3\x9a\xd7<\x18{\u0611\xa0<>V%\x90\x99\x8f}a\xe6c\xa7)\xe3_QU\x1c\x1f\x9b(\x8f\b\xc99\x9ct\xd6\\\nL\u0113\x0e\x8d\x7f\xf1q\xff\x18#\x82d\xc7\xdc\xca\xe1\xc4\x1a9\xef\xfbK\xdew\xad\xee\xcb\x0f\xfdl#\xdb\x13$dn\x93\xbb\r\xc0\t}\xbc\xee\x12\x04 \xfex\u072a[\xa0\xdfj\r\x82d\x8e\xf7!#\xc7A\x86\u027b\x7f\x02\x88\x8f\xd9W\xe9\x1e\xc7\xd2?E\x10\u07d8T\xfa3\xf0>\xa5*\xd4Q\x93\x83nQo;q\x94t\xb1)\a6\x15\x13\x80\xfbZ\x86\xd3y\x91+/\xc8\xf0\x92\xeeL_\x90\xe8\u066f6\xadl\xa5\xbd\xcb\r \x1c\xe0\xb3?\xc0B?\xc4N\xe8\xf3\xf3\xea/u\x94T\f\x9f\x03\x84\xa3V}N\xc8^r\xa6\x8f\xa0\xd9t)\xf1\xcc7\xc5\n\xe3\x16\xb9\x10D&\xa3\x9e\x05\x1abz\ud00d\xcd^\xec\x8e\xe0\x91c\xdb\x13-\xe0\xe7\xf1q\xd4g]{\x9b`\x194\xf8\a\xf5.\x05|\xb8v\xe0VS\xd7\x06\x93\b\x12\xa8\xa1*b\x1b\x8f\x05\xa5i\xffNr\xfb\x97\xc8\xfe\x8f\xd44\x9d\xf7q\xe3\xd4i2d\xff\x8e\x92\xb6\x0e}\xa7\x91\u0741\xe8'\u02f9\x9d\x8f\x01\x84\x95\u0546\xa7u\xaei\x91-\xd4\x103\xe6\x1d\xd1z\xff\xfd\xd3#\x9e\x8etJ\x01\xbf|?\xd0\x16\xcf\x11\xaej\xf7\xfa\xe7\xd5\a\xd7\xfc\xa8\xf6?\xf8\xcb>\xeb%\vf<'\b@\xfc'\tg\xc5\x06\xf5\xaeC\x10@x\u025b\xed\xc1'5\xdd\x04\xf7\xbc#\x95\x7fOR\xe6\xc0\x16\xe2C\xf3\xff\xdfA(\u0420\x89\x1d\xea\xbf\xf4<\xe9\xff\x1b \xfc\u06b9\xd5n\xb3\x10\xfb\v\x00\xe1\xb13A#\xdd\xf5\x0fT\x01\u011b\x0fy_p\xaf\xf3p\x06A\xf9\x1at;\xa3\x06Uf1jP\xa5\x1b\x14\r\xaaT[\x8c\x06e\xa9\x95\xbf(\x90k\xd0\x7fC\x83V\xa8mE\u07d0q\x87\xb9\xb1\x13O\x11$\xb0y\x19H\u04d1\xab\xe4\x7fC%\x97\xdb=\xc9O`\xc2\nTm\xd1]\x82\x00\u0109\xcb.<\x982\xff\x89\"A2\xa7\u027b\xeeK\x8d\xc6>w\xfcx-\xbfDK\xbb\xcdb\u03c9\x04\tfB'\x06M\xae \xe0\xbc\xf4\xecXV\x91!.\u03ce\xe59\xb7\"\xecT\xea\xcdR\xdaR@\xa2fq\x13j\x96![\ud35a\xae\xbd\xa8\x03\x10\xbeu\u0458\xbd\"\xae\xc7\x10\x81\xaf\f\x17\xb767\x8e\xb9\xcd\xfeg\x94X:\xa6\xe9w\xe1m\xf6\x1b\u0595X\xa1\xf7\xdd\xf1y\xd6e\xc2\xd89\xbc\u028fh{}\xcb\xe5C:\xa3\x01\xc2q\x91j\xef\x06=\xdaK\xcb^\x82\xd86\xe1\xf9\xe2\xb3\u01ce\xc5\x10\x94\x1f\u0210\xf5ccE\u06ff\xe8\u0367\xbcn8\x1bf\xbb\u05e0\xd6\xef\xda\xd4a\xd3f\xf9\xeb\xaf\xe3\x1fv\xff,Wu\x92\xa9:X\xe0tn\u06ba\xaam\xb1\xcf\u00e6u`\xc1\x85\xf0]gnGX\x7fn\u0662`q\xbe\xdd\xcb\u0651\x18\xddJ=\xf7u\xd2\u0293\xef\x1f\xf1:\u0470\u068aZ\x00\xe1\xea?\x9e-h\xd7l\xa9-\x80x#g\xca\xd3M\xecg\xba\x04\xe5\xc9\u056a\xa9\x8crUi\x02\xb3\\mM[2\x15c\a9h\xb3<\x85\xed\xff.=E\xa5\xb0\x95\x9b\xb6\x9c\xa1\xf7X\xc3\xe0\u0189\xf5\x04\x95\xa1\xa1\xca\x13\xe6dZ\x12\x8aJ\x98+7C\xedhW9q\xe2\x94V\x1f\t\x02\x107\xf1\xcf\xee\xd8\u0080{\x8f \x99\x93\x84=\x8c\xd3n\xfd\xc9\f\xed\x0f ^\xd9~\x91wB\x83'o\t\u26eeZG\x06I\xa8%H\x10\x1d\xe9L]\x95\xedJ9yQlehi\xa5\xb9m\x9a^\xfc.u\xad0\xbd\xf0q~\x87\xd0A;\xbe$\x00\x84Cq\x9f\xe7'~\xbam\x16\xf8\x89C\x14F\x8b\xfc\xc40Z\u0624B\xf8\nz\aP;\xb3\xa4\a,\xb6\x9d\xf2c\x9e\x12\xf7!\xaf\x83\x92l\xf5\x1ao\xaf\xbe\xe4\x92T\x9b\xaa\f\x82P\xe5\xd0T\xa3F\xea\xd9:j\xfc\x0e\x06\b\u03fe\xaeg\xba\xfdB\xe7E\xd4b\xdf\xd9^\x7fQ\xba\xa2\x13\xcd\x04 \xae\xfb\xfe\xaa\xf3\xcan7\x92\b\x02\b\xa7\xf5>\xb1t\xa1\x89\x7f\x15\x81Q\x1f\x93\x9d\xabi\xe5\x89\u04cc1\x0f\x86\xc4\xe9\xdc\xda=(\xeeQ\xee\x05\xa9w\xf1s\x8d\x8b\x01\b't\u02f8\x90\xa9\xaf\xfa\a \x1c\xfe(\xdd5\vM\x1b\x03\x10\xb6\xf9\u0779m\x8f\xd5\xdf\xc2\x00\xc2\xf6\x13&\xa3\x9e#LM\x00\u00b3V>\xd1\x1f\x1f5n$\x80x\xa4M\xf8\u0498\xb8\x19\x8e\x04\xe5\xdf\xc4\xe3\xc7\x18\xe3P<\u00dc\x16\x1eL\x99\x11\x14n\x89\x8bq\xf4\x94\xc78\xe41\x8e\xa21\x0ek\xeeZ\x16\x84*\xd6l~\xfbA\xee:\x00\x11dY\xfa\xbaB\xee\n\x00Y}9n<\x00@#\xee:U\x88X,\xfe\x88\xc1\xfdgt\xdeU\x7ff\xada\x04\t\ucb0b\x1b\x8f\xa7\u028dw\xfd'\x84x\xb3-k\x11\x04 \u07b1%\xdcb\x8cJ\x15m\x82\x04\xeaX\x81\xbaT\xe8L\xb7\xac\xb2X\xa6c\x01\x84ol\xd78\xe1\xfb\xdb{\xea\xbf\u0669\x06!\xb1\xb3Wo\xea=^@t\x06\xd3V\x16k\x94\xfa\x10\xaf\x80\x9e\xef\xff\xe9\xdc\x10nyW\xa9\xeb\xb7^\xb6\x8f\xa8\xc5\xe8\xe5\u05e2\xff)\x8dQ\xa2\x05}\xee\x81\xd2c\xad-B\xd7w\x9aE\x10@\xb8\x92jO\xa7\xe3[\x7f|\x92\xaf\xfb\xfd{\x91\tq\xeb~E/\",\x85u?\xd6_\xad\xfb\x9d\xb5\x18}i\xda3\xbfL\x80\xf0z\xa7\xb7\x97\xaa\xa9\x9a\xcc\x05\b\xbbeDV\xbfu\xbd3\xc4\xfc\xec\xad\xd9\x04\x01\x88\xedsf\x99\f:\xfa\xf2\bA2\x17\xdf\t>\xfdjM\x9c\u03f5&<\xaf\x13\xfa%\xed\xe7\x8a1\x83\b\x12\x88\xbd\x8b\f\xf1\x1d\xb8\x982\xa7\xc1\xfe\xe2F\xb6\xfc\xec\xd2\x02g\x97R\xf4m\xa7\u031b`\x9biK\xfa9\xf2\xf0\u8457U\x1b\xbd\x9bI\x90 \x1c\u01a2r\xf1\x1bt.\xce]\x02\x95\u0290\x8c\xd3j=h\x93Y\xe3\u0531\x0f\xe8\xd7\xc6Y~\xf7\\\x9b\xb4pk{9E\x0f\u0341\x823\xb7\u0521j\x9e\x8f\u43f0\xae\x85}\xa7\xd8k\xc3y\xed\xde/\xf5\xdd\xd3\xde!\x99\x06\xfcf\xdbC[g6\xe1?\xb86\xac)2\x19P\xf4\xf3\xd9\x00a\x8e\xf6\xf4K\vS\x97\xdc)\xf9Sx\xedmt\xa1R\xd8qC\r#\x80\U0001f451;\x1a\x9a\x06\xfc\x04\b?\xd8m\xdb`\u03c0\xa7G\x01\xc2\xea\a[e7sl\xc7\x01\b\x9f{\x10Ss\x91YT0\x8f~\x8c[\x10{B\xf9\xc7#\x82\xf23\xfaz3g\xf4-g\xce\xe8\x1bE\xcb\xe8\xdb%\x8e\u0657E\xa6\x95\x9c\xd9W8f/\u0234\x82\x82L\xab\u077e\xc6]4\xb5\x9bG\x12T\x86\xe6#\xe7\xce\x15\x8e;\x172\x9fII\xebz\xe8=1\xf8@\x10\x80\x98]\xb7\u049e*#\xad7\x13$s\xec\xb4\xe1JOG\xb7\xe3{\xf6\x01\x88G\x04\xbd\x7fs\xdcx\xe9I\x82\x04\xde\u0543\x89\x9dn`Z:\x14k\x93\x19\xfc\xaa\x91\xd60\xf1r\xec\xe3\xee\u035f\xed\x8b\x1e\x83\xc8t\\+-\xbb\x86\u06b4\x120N\xb6P,\xec\xf7\xd7Z[\x1b\xb7X\xbf\r |\xeam\x1b\xc7\x1f[\xa2*\x03\x84\x8f\x05?\xb1\v\xfe\xac}\x15 |x\x0e|\x14\xe2\x1f\xd7L\xd2\xd7P/\u0735R\xf6=\x88\xbe8\xc7R\xc9j\xc7!\x87\x7f\u0535\xf5\x98D\x90\xc0\x8bEQO\u06d0\a\x8e+$+\x95\x0eE\x9c)\xbe\t\x8b\\\xc6,n\xa5\x8a\xd2L\x87\xae\xc4'\xb4\xd1\u040a,X\x93_\x1f\x86V\xea8\xff\x94\t@\xb8\xea\xb5M\xaa\xfa+\xc6\xdb\x02\x84kN\xb5\x1c\xf9>}\xb0\x11\x80\x18\xaf?`\xb6fO\xf3K\x04\xe5\a\x89\xf7\u02e9\xa4\x9cJ\u02a9\xa4\x9cJ\u02a9d\x85\xa3\x92\x8ai\fT\x92%\xf2\xdcr\xb2\x12\x99\xfb\x9d9\xb4\x1b4s`\b-Nj!~%4\xef*\xa8:b\x92\x172\x8b=\x19\xf2\xdd!w\x1f}\xf4H@R\xa5\x17\x16U\xd3l\x1f\xcezr\xae\x83\x10\xbb\xbc2-,@mF\x8f\x8f\x00\xe1\x80\u020dwT_\x1d\xdd)\xf4\xf9\xbci{\x13,\u0702\xcc\x01\xc217\x0fL\xb9\xbd\xde\xe8\x05\x95\x9e9\x9cM|\x7f\xa6\x9b\xfam1\u0197\x03O\x89\xf1)\x15q\xdf\xccc1&S\xc1\xf6\xd4\b\x1d\xf7\xf7\xae\xff\xe5Uc\xf5\xce\x03\x84w\xea\r>z-\xf3ZM\x1eq\x9b\x1e\xd1\xca\xef\xc87z\xb4\xdc\xf6c\xf4\bo\xb4'\x90 A\xb7\xcb\xf7\xd4\xfcC\x02DhOMs\xf3\x13\xc3o\xef\x9f\xfd\x06@|\xc3\xfe\xd4+\xa0k\xfa\x8c\xa0<\u06aeQ\x8b9\xb7C\xbe\xa7FN\xdb\xe5{j\xe4\x02A.\x10\xe4{jJ}O\x8d\x8a\x17\x83\x14QAg\u0311\xa7`\x95O\n\x16*\x90xEQ\x9d\u04c3V\xf7h\xa0\xfa\xed)A\x02\x974[\x9e\xa3\xf5\u03cbQA\x97!\u13b6t\xe7\x8f\xcfI\xf4\x1c-\xa9l\x8bC\xf8\xcc\u07b4y\xadf\xd74\x03\bs\xc6)\x8dT\xe9~/\x02 |\xe9\xee\xf9Q\xed\x02\x14\xdb\x00\x84\xaf\xf5\u02dcr\u00ecg:O\x86,\x98\x92\x15q{\xffM\x82\xf2\x05\xf2d\xf9\xba\x96\\ \u02d6@\x16,L\xf0F\x82\x02\x80\x98\x8dn\xee\xb2^\u063b\aA\xf2u-\xb9l-\u05ba\x16\xcf|\xa2~\xdf\xea\xea\xf8iY\x15\x82\x00\xc4O\xf4\x17\xfc\x1cu:t\x1aA2'&9}6~\xf080\xd6\n@<4\xcc\xef\xe8\xe1\xb83\xad\b\xe2\x1b\x94\xeaZ\x061\xa9t\x90:\nrX-\x98\u04a7P\xaa\xd8i\x8a%X\x18CE||\xc1\xdb\xf3\xfc$\"\x87\xb9\u00e4\xc8\u0755\xb2\xaae\xa5q\xbe\xa9\x82\x90$\xe04\xfd\xac\xbd\x7fm\xe3\xd5<\xa21\xba\x7f\x9bY\xd7\xed\x9a\x01\x84\xb5\f\xcc\xf7\xdbl\x1b\xa0*\xd5\xf6)\x03Q[V\xed\xa3\xa6\xb6\xf3\xbe\xc1\xb8:\xfd\x01\xc2s\xc3\xf6Z\xf4s\xf7\x9f\x9a\x04\t\x86\xcbHQq\x19j\xbb\xe6 .\x85\x12\xa1\"\a\xe8\x8b\\\x13F\xcb\u014d*\xb6\x18Z\xf5\u03cc\x1f\u017f\xb2\x8fm\xea\r7\x1b\xde6\xe7\xc1\xe9\xf7\xfb\x18V\xcfY\xff\xe1\x1f\x1b?Rk\x9fkqn\xf3\x8d\xdf\xd5j\r\x10\xfeUg\xaa\xf2\xa4\xbe\a\xce\v\xfd*\xb1\x01kB\\\x8d1gx\xeah\xd89\xc5[u\xd2\xc7P\xebr\\\xe5\xed\xc8?\xcf\xd7\xf9S\a\xd8\xd6\xcdu\x0f\u074c\u0699A\x10@8\xf9\xdd\xe54\xe7\xe5\u01eb\t\xcc\xfb\xb8\xfc\xbc\x81\x7fL(\xa7\xf0YRa\xb2a\u0259 \xa8\xbe\x98\xac\x95\x92dJ\xe7\x06\x86~i&f\\l?}\x89\xa4Oq\x10zJ\x9f\x9dq\x13\x9bV\x1b\xf1\x1e \xdc\xc9\xect\u029d\x98_\xa9\x00a\xc5\xe4\xee\x19\xf3\x1d\x13\x9f\x03\x84S,\x8fjw\x9c\vO\x01\x84_\fJ\x1d\xf7#&\xd9\r@||\\\xa3\xfa\xabU\xc3t\t\u02bfL\xcdR\xae\xb9\xe5\x9a[&5\xb7\xaa@4\xdd\x1f\xbe\xbcg\x9an\xf8\v\x82\xe4\x9a[\xae\xb9\xffNs\xa7\xfb\xbe\xb9\xb99i\xa6.A2\xa7\xb9\x9b\xec\xb2\xd4k{,q\x0e\x808\xe6J\xff^pgDS\x82\xf8\x06\xa5\xc6t~\xb8\xf2r1\x9a\xbb\x1d\xa3\u699d\x16#\xa0c\n\x82\xaf\x1d\x11\xa7\x0ef\x89?\xfdL\xf1\x7f\xa1\xbe\xe5\xea\xa1\xec\xd5w\xa5\xb9\x99\x1bcS\x03\x0f\b\xfd\u02afw\xeb\xe5\xdbw|_\x0e\x10\xbe\xd4\x18k\x86M\x8ahF\x15\a\xcd\xee_\xdd\x1d\xba\xfc\xc00\x82\x04\x9c\xa6\xbd\xf8a\x91w\x9ah6%y\x82J/\xa9\xae\u0713\xde\xcd\f\xab7\xb4\u1170i\x8d\f\uf78d\x9a\xed\x11j\x9e\xab\xf3\xdd\xfa\x8e\xe8p\xbd\x1a@8\xa7\xe1\xa27&\xcf\xee\xc9#\br\x1f \x8f \xd0#\b\xe7\x0f\xff:\xa4=\xf5\xfeY\x82x\xec\xe2\xb0\xdd\xc0\xd7Q\xcf\"\b\x02\b\xd7a;\xf4F\v:\x9a\xcb\xc3\n\xf2\xb0BE\x0e+\u062d8\xe1X7\xf4\xf5V\x00q\xdd\t\x0f5\x95\xe6uYLP\xfe\xfd\x11[\x18\xc3\n\xf2\\wyXA\x9e\xeb.\x0f`\xc8\x03\x18\x7f\x9b\xeb\xeeV\x82\x12\xfa~\xb8\xd1z\x81\xfd\xf0H\x82\x00\xc4K\x02{\xc5=\xda<\u0408 \x00\xf1\xf0\xaf\xcbZh\x1f\x18\xb9\x80 \x99\v\x95\x84\xfei^\xa9\xe7\xed\xa0\xe3\x00b\xb5\x8e\xab\xe2\xdd9/\x02\t\x12\x84J\xfe0\xa5'\xfc\x10\x13*i\xc2\x18*\xb9/fdT\xa0|\xf8\xe2\x16\xa6\xb8W@\x1c\x13\xd3,\x15\xf6\xf2v7\x80\xb0f\xf3\xe3\xfb\u00beL\x17\x9c\xd0sQLUh\xf7\xd7S'h[\xbe2(^/\x88v\a\x05\xfaF\u01e6\xf1\xecs*s\xcd\x01\xc2\x03\xb1Gt\x95c\xe1\u07c4\xd4\xd0\xc1\x8f\xdfs\x94>\x05\xc7\x03\x84!k\xd2\xd4\a\xd5\xe2U\x01\xc2\xc9\t\x17\x1dw\xc4\x1aZSu\x8f\xf1\x8b\x9e\xf1\xa7\xa6~{L\x90`\xa8\xec\xa0^\u06a0F\u027e\x11\x9bh\xeaHi`z#\xf2\xc737\x84\xde%\xa5\xd4\xc0\x05[Ui\xff\xa3\x973\x13.\xb0\x01\xc2\xcd\x1f\x1dZ\x17pj\t\xef\xbfz\x97k\xed\r\x9a\xa6\xc5\x12\xf8\x8c!\xb4\x98\x8av\xa9\x8f\x9a\xd2v&\x94\x94\xe1\x00\xcf,\xef\x87Z\x0f\xfb\b,\xe2\x1f\xbcO\xddMt\x14\xa3\x98\xf7\xa9/\xb8\xea\xe3\xe4\xd5Sc\x06O|\xb5\xbb\u0291V\xd4\xd1:\xade\xaa\xb9\xed\u043d)\x04\x01\x84\xb3v\xf4i\xab0\xe5}=\xc1\xc0M\xe6g\xfc\xcb\x03\x12\xffL@\xe2\xba\u063c\xff\x8ap\x83z\xf5\xf1U\x16\\\u024a\xda*\xe5\xfa\xb8\x95i}.\xbdK\xb9\xf9S}\xb8'@\xb8^\xcdg\xbf\x83\xc2\xc2o\xe4>zX\xe1i\u0202\xe3\xedMzS\x92\xf9\ba\xbf\r\x87\x1f\xcc\x04*\xcb\x00\xc2\xd6\x7f\x0elp_\x99\xfc\x8d\xe7\x18\x02\xf6\xa4\xba\xfb\xbdl\x03 \xee:\xb7O\xdcM\xdde\xe7\t\u028b\xd5T\xab)\x8f\xd5\xc8c5\xf2X\x8d\xcb\xe8\x02H'iuj\xd3y\xab\f>\x87k^\x13\xe2\xaf\v\x94g\x8e\n\xee\xedz\x1f \xecV\xf9X\xf7\x80\u04d1\x8b\x01\u0097\x9bn\xcd6\xb2\xaf\x7f\x89\xaa.\xb5R;\xce\x1b\xe8\x1b\xbd\x93 \x00\xb1\u024e\x13\n?\x0ekT&H0\xac\xb6Q\x03DFt\u02d2^\u0206'\x93v\x9d\xb9\x1da\xfd\xb9e\v~\xf7\x9c\x10\xd3u!%\x89Y\xb1\xa5\xd5I\u057eNn\x1f\xf1\ucb7bP'}u\xbdy\xac\xf1\xdam\r\x00\u00b1WW\xadL\b~\x11'\xa0(:\x14\x06\x0e_\xca=\x99\x88[:\xff\x8d\xf83\xc2I]j-3\xba\x18\xfe\x93\xfa\xdc\vO\xffc\xef\xcc\xe3jj\xc28>g\xda7iA\x96\u0212H\x84\xec\xc9\x1e\xa2\x94\"\xfb\x92\x14\xa1}\xb3D\u0672/)[HhC\xa9\x90}\xc9ZQDv\u029e7K\u0598D\xbd\x9f\xdb=9\u077asn\x97\x1b\xb7\x9a\xff\x9eO\xf7v\xee9s\x9e\x99y~\xdf\u76596\x19:\x8aq\xaa\xd8\x0e\xec\xaf\xe7m\xaa\xfc}F\a\xc6\x02\x10\xd5k\"u4\xf1\xbe\xc5e\x82\x87\b\x1e\"xHl\xf0\x90\x90S\x1e\xfd\xe6\xb7K\x9c\x1b\x93\x9c\xb6\xbe3\x80H~\x89\xba\xe2\u055f\x0f\xf4\x01D\xefu\x8c\xee\x7f\x8b2\xfc\x0fP\xe8\xeb5\xa5U\x8a\xa1N\xab\x19\xeb\u05ee\x1cO\x04\xe2!\x99\xae\x82\xf1\x10\xae\x80T\x1a\xe7\xf8\u0163\x8e<\x8b\xea\x86z\xd8\xee)J\x81+*z\x842\xce?X\xf8v\x8fB\x14c\x11\xa4TIH\xe9eh\x9d~\x1f\xf7]]\xc5X\"o\xcd\xca=\xe91\x0f\xf6\xea\xb44q\xfa\t\xc6\x12\x9f\x0e!*J\x85>I\xbe4\xf4\x94\x88\xd4d,\x82\xae*\t]\xa54\xcc~?\xc8:\u0500\xb1D\u079a\"#[\xfa\xea2j\xbe\xf3#Z0\x16\xa0\xd0\xee\x87#7\x83|x\x8e\xb1\x00\x85\xee\xf7L=\xe5\xeb3U\x96\xb1\xc4\x0ew=\x8e\xd8&{\uce65!\xa0\xd0*\x8b8\x93\xa3m\u01b4`,\xae\xbb\xcb\xce\x10\x80\xbb\xa0\t\xaeP@\x8a\xfbA\x13\xaa\x11o\x00;\xdb\xc5\xc6ijq\xf8\xe3fC\x87\xe9\x85T9\x9d[-\xab\n\xaa\x8d\xacK\xf3Z\xf3$/~\xf6y\xecu3\x8c\x03Z\xc0\xd4Y\u0371\xb2n\u0282\x01\x05\x01\xb1n\x1e\x8cEg\xe4r\xb1'a\x89\xf7\x96\x80\x9c\x16j?Af@\v=\xf9\x85\xd8f\x99\xe9\x93\xeb\xf7\xc4\u0712\x86\"T+\xfe\x1aoX\xc9S}\xf9\x8b\x1a\x8f%\x13*Z\xf9WZuL\xd8l\xacdQo/\xa7\xed\xe6x\x1c\x98c\xaa\xeb?\xba\xb42\xb8\xd6I3\xdb\xf5\xd8\xec\x1f\xc5wa\xcc\x1f\x8a\x9b\f\xf2\xc0\x9d\xe7Z\xeaJvA\xdd'\xa3A\xbd\x1f\u0451\xca\x02\xae\x93\x95;1v\"n\x9bB\u1392\xe5<\xcf\u06fe*M\xf4\u05fe\x8b\x03\x10\xa1\x9c\x88\xc8K\xfb\x15\x83\xe8\xb7>\x9a\xfb \xe5=|\x00\x8b\xe4\xe7\xef\x9d\xcc\x03jo\v\xec\xd6\xfeng\xba$\xedu\xd9Q\x9b\xa3\u03cc]=\u9e73\xe8\b\x7fd)x\u035e\fv\xa0S\xf2\x19\xf4\xf3\x98\x8f\u0794\x8a\\E\x12\xdbj_\xcfN\x985\xfe^AN\xa9\xafBd\xef\xb8}\x8f\x9d{Q\xd3\xd2\xcf{r\x87\u079a}\xef|\xdb\x03\x88./j\xf9\xa3\xc9\xfa\u05det\xf3\u0297\xed4\\m\xcay\xec\x87\xd8\xfe$\xe0\x86\xf9o\x83\xc4y\xec\xc1I+\xe2#f\a\xdd(\xbe\x8a\v\xfbU\xa4D\x85\xf7\x03\x166i\xe6\xae\xe5\xc3\x19\x89\x8b\xd6\xfe\xd7(\x1e\u0711)\xdd6\x03\x17\x86\xca\xd9-\xacC\xeb\x8aee\x03\x8eAnv6\x1e\"/7\xe4e\xd7\xcc\u0374k\x10\xff\xcaL\xfd\x9c1\x80\xe8K\u02c1AAwtj\x01\x88\x0eE\xe6\xf6\xd9\xdbmQ_\x00Q++\xdd]O\x1a5_\x05(\xe4\x97\xe7e\x1b\xdas|\x04c\x95\b}%'\xc1B_B\xb0\u043f\x8a\x13\xfa\xe5\x16*\x8a\x99\xd0'\xba\x86\xe8\x1a\xb1\xd05\xc5>\x7f\x87\x14F\xd5t\x8a\x85)\x8c\xaa:\x14\xeb=\u028b\x1d\xa2\x12\xad\xc2X\x80B}\x87O\xd0\x18\x15\x9a\xe0\xc8Xb'\xdaG\x1a\xff\xfco\xceH\x9fC\x80B[\x87N\xfc\xd1F\xdeN\x92\xb1\xe8\xd9L\x8f\x88v\"\xda\xff\xa2h\x97\x88\xab~\tX\xa2\xceE\xa2\xceM+\xa2\xcee\fou\xa9}\xc1\xcd\xf6O\xa56\xf7\xbdi\xe0D|\xd1g\x9c\xf2\x16\x96-\xf0\xe4/3o\xddSm`\x16u\x9d\xfb\x1bK\xb0\xf2\xb3\xf2\xb5V\xe3\xf6\xd9\xc3\xe3\xb7\xf4\t\a\x10\xb5\xd5\xc9T\xd1{}\xf8&\x80\xe8\xee\x12\xd7\x10\xf9.E\xbd\x01D\xf7\x8e\xde;\xb3\xd8?\xfb1\x80(~\xfb\xab\x11!\xd0\xfd\x1e\xa0\x90cS\x03\x8d\x05\xfd\xbd\x8e1\u05af\xfcj\x7f\x81\xb2K\xdaF\xb0\xecj\x8d\x99n\xa4\xbcYd\x17\x9c\xfe\xefe\x17\u026fV\xbd\u0214_~\x95\xa9\xafE3\xe2\xed_~80\xb1;cU@\xd4\x10\x95OT\xbep*\xff\xdf\xc8\xf8'TZ\x10T]u\x9b\xb1\x00\x85>\xfbE\xfa\xd6\xdf\x1f\xf7\x9d\xb1\xc4N\xd4l\xd7\xd9;\xcb1u\xe71@\xa1\xb6\v\xdfmQ\x9brh.c\u0459\xc8=\x02D\x8d\x14\x9e\xee\x16R'\xf9O\xf0LE=\xe5T\xe9b\xe6_+\x00\xbeq$\xf3$\x7f\x1c\xb4r~l\xcf\x1e\xdba\xefV*\xb6\xe1\x89#\x95\xbc\x9aeh[\x9d\x1a\a \xb2\\\x13\x92\x19\xf9Z2\x1e+1\x92:\\\u063bo\xfe\xfc\xb9\x8cEK\x8cO\xd8\xd2l\x96\x1d\xfajh\x8c\xfe\x9b\xdbm\x15_p\xf9\x81\xa1F\xcf\xc6u7\x06\x10\xe9\xb9]n\x17\x9a\xaf_\xc2\x06\x8cq\xd0@\x81%\x8a#\xeb\xe8+\xb2\x8e\xbe\xb85\x8eW\tdR\xea\xa1\xe6\u05df\xb3\xa3\xe5\xcb}!\x00\xa2\xf6\xf3<\x1e\xfb\fu\xfd\x80\xbd\x96zW_E\xef\x86s\xb3\xb1\x1d_\xf6B\xaf\xc7\xea\x03\xb6&0\x16\x80\xa8a7\x83\xafV\x9fB/\u040e\xb6\x11[\x1b@0C5\x1b\xc20\x98\xa1/7\x00\xa9O\xd5\u5e76\xa5\r7R\xc53\x82SE\xf7\x0f\xf5\xfe9\x86[\x8e\xdd\x0f\x9b\x12\x15\xa4\xf5\u05e8\fE\xfbmvM\x00\x10\x8d\xfb\xf1y\u043a\xe5.;\x01Du\xd5}\x837\xfb\xd6\xda\n(\xa4\xee\xdb\xf8\xa1v\xe7\x88D\xc6\xfa\xb5\xed\xe0T\xa2\xa5\x89\x96&Z\x9ahi\xa2\xa5\x89\x96\xfe\xa7ZZ\xfe\xa2\x00--S\x88\xd7\xd2\x12\x06\x82\xb44dY\xd3YHi\v\x96k\xe2/\x16D\xbaF\xbbT,\x94\u0571\xb6\xf6\u03799K\xe8\xb6*\xb7?_\xe9B\x8b\xc9\xf8\x86\xfc\xe3\u06eb\xb9\x91'D\xd2\xf0\xeaP\xad.\x9f|y\xbe\xba\xb5\xdf\xfe\xa5nm#O\x03\x88z\xd5n\xba\xde\xf5\xcbh\xfe\xb1&G\xcax5\xb8\xfd\\\xb5\xc3P+\xc6\xe2\xbe1\xc9\x1d8\x86\x01\x8d\x84j\xd0\xe2\xd7_T\u026f\x9fx\x9fXz_\xa3$\a0'\xe1\xfdR\x00Q\x83C\u1a43\xbf\xd4\xeaG\xfb\x90:F\x19P\x0f\u0208\xcbgW\x8c\xaa\x8c[.?\xedw\xcf\u033cc\x16\xf6Z\x13~\xea\x1c\xbd\x1e\xb7A\r;F=\n\xdf4t\x92~\xbbx\xc6\x02\x10i(\x1e\xb3\x8f1j\u031c\x8bBpK\xcd\x18v*\x17\xb7\x94\xeb\xba\xd8\xd5\xe2NW\xccVaG\x81\x86\xa8\xb1\xf2\xee\xf1C\x8e3\x16\xdd\xd3\xe3Yo\xf6\xd7\xde\xc0\x9e\xb8\x01\xe1XE\x06\x041\x1a/_\xbd\x8c\x8a:\xa5\x9b6\x82\x1e'\xdc\xf0\xe3D]\xfe\xe3DQfE^oQ4\xfe\x89}*\ucb2e\xacc&[\x17-~\xecSKo_=~}j6\x80\xc8g\x88o\xb2\xb2\x9e\xc3W\x9e\xcf\x7f\xaer\xae\xf7\xca\xeb\xa37\x80\xa8O\x9fQ\x9b\x86^\xcf\u01a3\xbd\x06j\xb3\x13O\x1f\xea\u05c4t\xd1\xdf\xec\xa2\xe3%=Bo\xa6\xa9\xec\xc1v\xd1=\x06J\x8f\xd7v\x9e\u059d\xb1\x00\x85\x86\\\x91\f6\u021ev\x8e\xb1\x00\x85\xe6\x06\x19e\\5\x1a\xb8\x83\xb1\x00Do\xcf\u0145X\x7f[:\x13@t4\xb0\u01d4Vq\x9bdi\x1fw*+\r\xaa\x03P]\xcb\xffhY\vg\xf7\xe1D\xc0\xfc%\x01\x03\xd1\xf8s\x1dr\x8e\u00d6R\x9c\xf9\xfe\xa5^\x8b\xc03\u0393\x00D=\xe5\xb6<\x88m\x9ar\x1ePh\xc1\xba\xae\xd3\xc3\x1b\xce\xe8\xcbX\xbfXi3\xc2J\t+%\xac\x94\xb0R\xc2J\t+\xe5\xc7J\xdf\nb\xa5C\xf1\xac\x14\xb6\xc1\xb3R(),+M\x16\xc0J\x03\xd9\xd0Z\x05*\xcfjX\x1cR\xfa\xf3\xe0\xfa\xcb\r\xd2vI\x8a,8\x99\x1ei\xdb\xf3\xed\xa2v\x9a\xe1y\x18\x95/\x90\xae\x96\xd3{\x04\xa0>\x177\xed?\u01bbGR\xff\xd4\x1e\x93\xb0\x12\xac;\xb5Grs\x82\xd9G\u01a2Y\xe9U\xbcoH\xaaWqV*\xd1\n\xcf@Rq\xac\x14w\x84s\x19VZ\xae\\\xaft-_\xbbJ\x86\xa5\xa2\x19\xf0*\xc2QK5\xf3\x96\u047d\x17\xd8\xce?=Pdp\xf5\u0638\xc8\b\x93\x0f\xdbbx~\u5463\x95\xd1\u0670\xee\x19\x9c\xb1\xef\xd0\xca/\xe9\x1d\xbf\xe1x\x10D.\xfe\x99\xa6'\xdb\x0e\xcd \xe4\xe67\xc9\xcd\u0758UFa\xadz\xbd\xc0\x0e\x1b~\xef\x83\xf3\xee\xcc6Y\xcbXt\xcf\xf2\xad\x18\\\xed_M\xe1j\x1f\xdc\xc0R\xf4\x12\xc3Vq\xb3(\xcf\xdb\xf5\xc1?o\xb9\xec9\x1bZ\xc5x\xde\xd3EI;fn\xc8\xd3\xe1y\u0238\x18\x9b\x9b_\f\xa2>\x01\x886\xdc\xd2\xd1\\\xe1\xd3\x17O\xaa\xe0\u07a2\xe8\x9d\xcfwn\"\x1d\xee7;\\T\xf0\xd1\xe7\xe7\xe4\xbb\x1c\xc3v8ts\xfd|\xca\xd8R\x93\xb1\x00\x85\xfa\r\xdbPp\xa2sp\x04c\x01\n\xf9Z\x1e\xe8\xd6$\xbd\x7fO\xc6\x02\x10\u075f\x1b7j[lX\fg\xa0\x1d\xb5z\xfa\r]\x8dQ5\x10\x95\x0e\xb3\x9bFP\xe9\xdfC\xa5Y\xcd%\xe5\xd3\x1a\xf6Z\x00 \xfa|\xa7g\xb0\xf7\xb5\x9d\x1cW\xef\xbb^\xe3\xfe\xac]\x0fv\x02\n\xa9]1\xcc\xd9&\x91v\x9f\xb1~\xa1\xd2{\x04\x95\x12TJP)A\xa5\x04\x95\n\x8fJ!\x8dJ\xdbtZ9\"\xea{T\x10c\x01\nY\xbe\xd0v]\x90qK\x8e\xb1\xc4\x0e\x95n\xb8\xff-m\u06f2:6\x80B\xefZ\xc4h\x0f\u062a;\x89\xb1\xb8\x0e\xa5\xbc[\x00*U\xa2\U00028514\x95V\xafPC\xe8\xb2\xd2\ax\xb8\x05\xc7\v\x02\x9fP\x99\x8d}\x93\xb2R\xa1\xcaJ\xcb\xe9\xfdR\xa2p\xd9oJy\x91\xe04\x88$7\x1b\x8d\x93H\x1b\xad\xc6s\xf7z\xed'\xf4+\x98\xd6\xfa\x05\x80h\xff\xa3H\xa5\xb6\x1a\xe1\xf8\n\xb4\xa1\x13C\xbb?\x9b\xbd/\x9b\xb1\xb8>\"k\xc1\xc2V\xbbT\f\xa0|\xaf\xa6\x00\x85T\xb1\x92*\xd6\x1a\xc4}\x04V\xb1\x8e\xf4\xf9\x19\xf1\xe2h\xc2b\xc6\x02\x14\x8a8\xf22\xb7\u067d]O\x19\x8b\x1e\x15\x9eUl\xf0\x88\xc0\r\x1e9\x15\x1a<\xaa\xf0\x98\x1d\x9a\xdc\xe5\xfe\xea~\x9e\xca\xf4hCjaI-\xec\xdf\xe9\xe8\x02ka\x1d[\xfd\xf8$5~\xde9\xc6\x02\x14\xea\x9b\u0671\xdfM\x1f\xdff\x8c\x05(\xd4\xe9\xeb\xf2\xc9R\x1d\xfd\x8b\x18\v@\xb4\xe6`Qr\xf36\xaf\"\x01D]\xfa\xf60,\x9c\xe0VX\x03\x01/\xa9\x85\x15\x83ZX\xefqg\u0374\x16Ox\x05(4(pt\x9c\xe7:\xb9\u06cc\xf5\v\xf0\x06\x10\xc0K\x00/\x01\xbc\x04\xf0\x12\xc0K\x00/?\xc0;N\x00\xe0U<\x81\a\xbc\xa4\x16V\x8c\xe3\x10\xb1\xac\x85\x95\xb7!H\x98 \xe1\x7f\x86\x84e\xee\xb2 \xe16\u0553\xf5\x92*\\R\x85K\x98\u045fT\xe16v\b\x7f3\xc6f\xa7:c\xd1=\u02c3\x00^\x8a\xd4\xe3\x92z\xdc\u02ab\u01ed\u0575\xd76\xad\x0e\xaf\xb4\x19\vPh\xfa\xe0\xc8\xd1f/RB\x19\v@\xb4m\xfb\xde4\xe9\a\x03S9S\xe1\uc0cf\x87\xae\xd1ZU\x03\xc9,)\xbd\x15\x83\xd2\xdb3K\xbd\xde\x19NB!\x80B\x19W\xd3\xfb\ua76fS\x9b\xb1~\x1dE\xdbA \x99%\xc7\xe7\x102[-\xc8,9>\x87\x90Yr|\x8e\xd8\x1e\x9f#\x1b \x80\x01K\x9d\xc72\xe0\xa2\xedX\x04\xec]Q\x00\u0325{Fe'\xbb\x01vN\u038e\x0eN6\x1e\u03b8\x83\xec rL\x1fpm\xb9\xde\u04eb\x00\"\xf5\x06\xe7\x15f\x9bM\xeb\x00 \u04bd\x12\xee\xea\xb1:\xa9\a\rv\xf2\xf9\xc94\xec}\x14J\x86`\x81\x89D\x17\xcct\v\x7f\xb0\x91I\r\xa18\x01\xa7U\xf1g\xff\x96\xd3D\xf8\x98\u0245v\xac\x8aj\f\xecA\x13\xeb\xb7J\x1d\xb3\x9e\xf0\xe8=\x7f\x05PN&\x94\n\x9bJ\x9d\x13\xba\xe3\xc1y\x85\xc0z\xb3\x16\x03\x88\xda\xcf\xddW\xcbv\xf3\x12\x9fR.\xec\xc2E\xe2\xb8\xe8\x1a\x17\u074d:\xfe\xe3\xba\xf5\xd6\xd7&\xd8\xce|o\xf9\xa38[\x87\x84\xd5\xc5\xf71\xb1l9\xd50gn\xf4\u0523\xec\xf4l\xe2\xe4a7\xcd\xce\r\x1fV\xbe\xed\xab\xd2D\x7f\xed\xbb8\x00\x11\u0289\x88\xbc\xb4_1\b@\xb4\xdd\xda\xd7Y\xd9\xf8\xc2:\x00\u0467\xd6\xcdG\xbf3\x8fX\t(\xf4\xf1k\xd3\xd7=\x06i\xe90\u05afl\x8a\xa7\xe0lJ[\xc1u\xeey\xb8lJ\x7f\xb6l\n\xc1\xdb$(\xab\x8ex\xbb\xd8\x7f;\xfd\x05\xf5 \xaa\\ I\xfb\xfd\xa9\xa3\xf2M\xfb\x9d|\xde\xcdq\xcb\xd5\xcb/\x18\x8bGx\x0e\xc9K\xdc\xf6\xa2}\xd0@\xc6\x02\x14\n0\ue902:\xf5\xb8\xcfXb\x17\xcf\x7f\x99\xfd\xe0\xf3\ub2cey\x80Bc\xee\xc8\xecW\x8ej\x90\xc2X\\g\x92\x93\x13\x10\xcfK\x8f\x10\x14\xcfK\u02d0x^\x14\xf1<9\xbe\xfd\x1f@DA\u01f7s\x15k\x83\xaa\xab[\n\xa1%wt\u04624y\xfeg\x84\xf34;\x8f\xe9vn\x9c\x8e<\xcb\xc1~\x0e\xfd\xedr\xc5|\x82\xd23\x85\xd4C\x96..V\u0758=\x15S#\xfd\xbf\xf4\xe7\xe7\x14\xb3\xb5\xa4e\xf5^\x00\x88\xd2rnL_X\xd7\xcc\x14@\u47f8\xe3\u0401\xa8K2\x00\xa26O\xe4\x1d\xd3\xdfuo\b Z\xd8\xc1\xc33\xad\u03de\x0e\x00\xa2\x83\xd6G\xea\xae\xf3\x1bo\x8cU\x88)a1:n}\x15\xfa0\x16\xedk\x8b~\xa5\xa1\xcb*\u012bx\x85X\xb4\x96\x92\xae\xa0D\x14E\xb2\x06\xa7\xea\xdaO\x90\x19\xd0BO~!\xd6\tg\xfa\xe4\xfa=1\xb7L&)\x1c\xe1S8\x95\xae\xbe\x8f\xa5X\r\x89]\xfc*\x02@$\xfbcl\xce\xca\xcd \x0ePho\xbb\xbboN\xcf\xfah\xc9X\xbfV\x99\xdf\x11\xac\xbe\xaf\v\xaee\u070cS\xdf/\xc5\\}\x93Z\u01aa'j\xf8\xd52\n{\x87\x8e\xbfq\x87^\xd9_\xac\xcf)\xcb\fb,@\xa1\x1d\xf5\x1e\x00\x1d\u07d6\xc7\x18K|\x9c\x9b\xa0%\x82\x96D_9\x19r\xd0L\xa2Ox\xf8;\xc6\x12;>\x10j\xbb*9\xc8\xff\xd3\x01@\xa1\u0098^s\xb5&f\xa72\x16\xd7uk%\v\xe0\x032\x0e\xd8>Z(\xa1$\x88\x1d\xc0\xc4J\xc7\x03\x95\xbdTY(\xa1\xe6\u0223\xf66y\u03bc\xe3\xa5S\xbf\x1eG\xb3\xb9\x85\xe9\x86\xda=;H\x0f\x18\xe52$\xa5\x9a\xe5R\x95\xa0&\x98pLE\xe7H\xcc\xfa\xcf\xf3\xe9\xd2Z\xc1\xbb\x9bU\\\x87\x8a\xe0%\xec\xf7\x0fX7Oi\xcbV\x9e\xb8\xf5\xa2K\xb3\x17\x97\xb7f\x0e\x04\x10\x99L\xe8\xbb[m\xd1GU\x00\xd10\x8b\xd7gU\r\xf7w\u00ca\x9ey\xdf4\xa2\xb4\xa3_K0\x16\xf7\xd5J\xb6c-\xb2\xfb\xb5\xb5\xde'\xcc\xca\xcb_y\xb5\x8a\xe7\x18\xb1\x8b5\xb1cbU{1'\x1aN\xab\x17\xfcl\xd6\x11\x8e3\x8ex\x1eyx\u0088`z|\xf1\xc3D\xdcp \x19x\xf8\r<-\xaa\xc4\xe0b\\\xb4\xdaE\x188\xf6\aE\xdd+\x92<\xa6\xba\xf5V^\x00 \x92j{\xd8x\x9ea\xaf\x91\x00\xa2\u0703V~]\x878\xe2\u05ec\x1byx\x05,\xd5\x1f\xa1\x87\x1d\x1f^\xadL\xbcn\xde%\u024b\xb1\x00\x85\x02\xee\xf6t\xca\u0697\u0747\xb1\x00D\xfd\xe2\vl\xdc^\xde?G\u03f7z\x94\x1c\x06\x9a\x90\x02\u05daAGFq\xefB\xb8\x02WG\xec\x94\xec\xb3\xfe\xae\ue799\xfa\xab\xf9\x8f(\u0732W\xb6\x11\xa5\xf8\xfe_\xcdN=a\xb9qW\x87\xe2\x8b\xf4+\x1b\xe2\x0er\xb3\xb3\xf1\xc0T\xa9\xf0\x14\u036eQ\x19\x8a\xf6\xdb\xec\x9a\xc0}\xeb\xd98\fTt\x0eW[\xf2\a\x80H\x84\xe0\xc9\x11@4\xe8\u1ee7\xfd\xfcs\xdap\x86\xdb5\x92\xb9\x8d-\xe7qB\xee\xe3Stg\u073e\xbbL\x03@4\xb2\xddH;\xe7\xddm\xc3\xe9\t\xc9\a\xf7\u04c5\xd0\x1a\xc7I=\xf1w%\xd4\x0e\x02x\xe7\xf0\x8f;\xf4#G\xdep\x03\x80\u023cy#i\xcdm\u05dbq\xdf\xc0\x8a\xb2\xba\x80\xe3(\u01ae\x9e\xb4n\xb5\u6fe8E\x88\xdf.\x9d\xd1\xd8{*#\xc4\xf2S\xdbV\xa5]e\xe4\xd7e\xca\x1b\xbe>\x9cF\x8f :\xdc\xfbQ\xa4\xe4Jdt\xc9I\x90|\xab\xc1\a\xba\xd9\xd8r\xba\v\xfe\xfd\u016e+\\\xb7\xe6\xe6\x03;\xee\xe3\x9e\xe6^\xbe.\xa5\xc6\xeb\xd2\xcc\x13\x17\xf9W|7\x98\x8alu\xc1i\xfd\x83q\xb92T\xe4\xf0\xff*0\xa5g\f\xf9\x10\xec\xf7x\x98A\xe9&j\xff\xc1\xc4\xde\x11<>\x0f \xda\x06\xba\xb4\xeb\xd7\xe2%g\xb0\xd3\xf1O\xf2\x19\xf9\xc9\xf5\x12\x80\xc88\xdc\xe7\xaa\xd5\xc9z\xed\xb9\x0f\x90D\xc9R\xdc,\x17\xcf\xef\x988y\x98:8\xd9\u0678\xd9\xf2o\xac\u02a2\xecX\xc7\xc0L);3\xb7\xed\xb7\xf2\x7fm\a r\u03ef\xf3\u042c\xb1\xe78\x00\x91Z\u0699\x8c%\x83\xa2W\x00\n\x99\xfbt\xb0\xd8Q{\xc1G\xc6*\xc1\xbbu\x01\xc1\xbb\x04\xef\x12\xbcK\xf0.\xc1\xbb\x04\xef\xd6$\xbc\xfbI\x00\u0795\xc3\x04\x91\xc5(\xab\xb9 \xbc+Q\xae\xfb\x13\xca\xc2\x19\xf8\xca)\xf5\x1a_\x14\xf7G\xf5o5\x14\x0f\x88\xc65\xbd\u03ff\xfd\xf6Z\xe2r\"\xcf\xef\xdd\xf2x\xdem\u06a4\u015c\x87\x1f\xd3\xe1\u029eK\xf1Z\xe3\x01D\u0261\xf2\xef\u0332\xa2kc\xa1\x96u\u068b5\xa7\x13\x12\xce0\x16=R\x14T\bzK\x9e\xc5Aoh%,\xf4.\x84u\xf0/\xaa\xb2\xd4)\xf1bq\xf5\xe2\xe1\x19k\xe6OLX\xb0\x18@\xf4q\u038d\xb6\xba\x8b\x8e\u0323\xddD\v#\u06a8l2w\x95\x9f\xbb\xaaI\xf6\x11\xa2\xeb\xdd4\x02\xba_\xd8\xf0\x1d{\xdd\xf3O\xdbd\xe8(\u01a9b\a;\xa7\xa1\x9d\xdb\xcd\xdb\xee4\x82\xb1\x00\x85\x86\xfd\\\xe6\x95\xd2f\xdfs\xc6\x02\x10M\x97\xbb\xa1q\xab\xc1}\x1b\x9a\x06\xb8S2\x14!\xf85bp\xab\xaa\x04\xbf\x90\xfa\x8a\xc5\xd1T:\x0e\xbeW\xfc\xa7\x9dx~Z\xf5\u0139\\\x8d{\xefu\xe9\xeb\xdbaP\xee\x00\xfe.f\xec\x8a\xe5\x92L\xf3\x1f\x94x7\x18e]\xa4\a*\x84\x03\ua61f(\xf6b\xfe\u0747\xf9\x896\xed\xdbxK\xea\x86.\xe7\xcf\xde\xd9\xde\x02\xe6\xb5JL<\xbdq\xbf^\xf3\xeb\x7f\x9a\u0600\xe8\xf8\xbd\xc2\x0f\u0675\xbbt\x01\x10\xf5R5\x9b\xb9\x892i\x06 \xb2\xb8\xd06\xd0,\xd8Y\x11@$\xff\xba\xab\x8b\u0126\xa3\xfb\xaa\x1b\b\x9e\xfc%6)\xedQ\xb4\x02\x80h\xa3\xff\xe9\x8cE\xbd[\x1f\x04\x14\xfa\xb6\xd2W.R\xb6\xc1f\xc6\xfa\x05\x82\x9b\x12\x10L@0\x01\xc1\x04\x04\x13\x10L@p\r\x02\xc1\xcaj\x02@\xb0\xac\n\x1e\x04K\xb4\x10\x04\x82\xe1]\"\xa6\xf9\x95\u06d5\xdb\x18\xb4z\xd6\xf9^`y\x14\xdcA<\xd8I]t\xf0\x8e\xf3n\xb4\xac\x9a-:+\xbbt0\x80h(r9^+aC\x1e\xefi\x19\x1f\xbe\x16J\x7f\\\x92\n \xa2$f\u033d\xa7\x9a*\a \xba\x91v\xc162Q\xcf\x12\v\az\xbd\xec\x9dzbn\xdec\xc6\x12\x888\x9bU\xbc!\xe8>I\xbd 4\xb1\x15Ph\xc1\xf1\xedm\x16\x8d\xf3\xfc\xc6X\xf4Pm(\x80\x90J\xe8\xe2t9\xae\x92\x88\xf7\xac\xe9\xf2U\xa1\xa5G\xf5EeO\xa1\xb2ru+\xb9\xfe\xb8\xca;A\x88\xa3F\xa26\xdd\xfc\xdcI\xab\xfb`\xee[+b\xe9W\xd70;Ab\xfb\x8d\x8f\x90\xe4\x01\xb7\x92\n\x9b\x9b/\xd13\x01a^\r\x1e\xbd\xff\xc4\xd1;#\x7fth7\xac\xf9\xacO\u0628\xc0l]\xd3\a\xa6Ke\x1a\xf2\\\xe0\x89\xe2\xcc\x17Q\x976O\xe4>h\x16K#\x94;A\x83\xf9\xecw\x0e\xe7,\x8e\xcf\xfaG%O\xd7V\x1d\x93+\xecU\xb0\x87rg\xa6\x8f\xb0\xb8xK\xa1\t\xcf3\u0785-G\x82\xb8\x16\xae\x00\xa2;c\v\x9eiO\u07ff\x18@d\x1f9J\u04b8nt.\xcfW}\x9e\xbav\xf6\x9c\xe7\xf0\x1e@$\xdb\xe2\xf5\xc5co\x86\xbb`)\x82\xbc\xf9\x069\x97\u1e72\x8cE\x0f\xd1Y\xd8\xfd\u07ea,:\xf0e\xa9Q\x11J,\xf0\xbfM\xce\rm\xaa\x7f+\xb7\u9081\x8dK\xc7\xea/\x8b\xce\x16\\\x92+\x9aIw*\xbeK\x1eK\x94\xa2\xb0w\x82\x1f\x18\xe2/\xa7\xa6\xb5WV\v\x05\x10Y\xcfY}\xe2\x98L\xf7q\x00\xa2i\xfdz\xd5O\x88P\xf6\a\x10\x85\x1d}\xbd2\xbb\x83D\x1d@!\u04e5\xcb\xfa\xdc\xea\xfa\xfa\ac\x95D\u048a\x17\x05G\xd2\x05\x82#\xe9\v\xb8\x9a\v\x151\x8f\xa4I\xcdE\xd5\v\x85\xf8\xd5\\\x94\t\x85\n\xcfu\xed\xb9\xe2\xb5q$c\x89\x8f\xcb\x11\xf1Vc\xc4\x1b2\x1ay\xe1\xf2\xab\u03eb\x1a1\x96\xd8E\xdf\x03@\x00\f\x9e\xbd\xb2\a\xa0\u0411o\xad\aY*\x04\xc72\x16\x9dfX) \xfa\x96T\xc4$V\x8b6\xb1G\u07f0\xf8[\xf6\xf8N\u0645\x7f\xe4\xcdw\x00\x84hw\x8c\xfc]\xf7\x82\xe0\x00\x9eh\xa9Y\xff5\xb6~\xde\xcd/p>_\x0e\x14\xe2\xf3\x03\xbci\xcd\xd0\x06{\x12+4\xc4\xc9\t\xaaBr\x82\xba\u03a6\xd8w\xe0\xe5\x04\xe5%\n9Q%\x92\x1blw\x80\x1dmD\x11~\u02eb\x18l\x90xr\xb6\x13\x80\xe8V\xaf\xa4\x0f#\xddsj\x03\x88\x1a\xc6\xceW\x8e\xf5\x89\xd0\xe0\xb9\u0668\x1bO\xf5\xcfn8\x91\x0f \x1a<-m\xde|\xd3\x15\xb9\xd8Pt\xa2Oaw\xff\x8b\xfa\x8bY\xfap\xd1\x01\xec\x9b\x17\x9f<0D\u02dbD+\xec\xde]\xcf\x1e@\xe4\xea\xec\xb7B\xdd\xddA\x13\xab/\x02\u06e87\xf4\u06d4\xfe\x85\xb1\xe8\x8e2\xb4\xfa\xe9\x8bBJ\xbb\"\xd1}\xcdLPB4*\xf3\xc9\xfa\xb6\u05daw\xa7;\xaa\xa0\x96\u008c\xe1\xda\xeb3\r[w\u05fb\u0179\xb6\xf3\xe3/\xed\x977\xbf\x02 \x1asRrWK\u00e7\u0780B\x96o\x13\x1f\xb7n;\u06c2\xb1~\x89\x99\x965;-@\xc4L\xcd\x123\x7f#-@\x8e^\x15ka\xc2\xef\xe8\xd52\xee3\xe3z\xb0Q\xeb'm\xde3\x16\xa0\xd0x\xf7\x15s\xac\xd6\x7fJ`,\xb1\x13&N\x1a\x97\xbf,\xcci\xe5\x02(\x04\a\xaf\xee\xf1\u07e09W\x18\x8b\x16&Z\x82\xd2\x02\xed1\xc2D\xc0i\xeb\xf0\xb7\x89q\xf1\xfc\xb8\xfc\xc0P\xa3g\xe3\xba\x1b\x03\x88Ln%,\xec\x1c8w-\xdde=\xb1\x92\x83Z\x8a\x99v\xa8\xa1\x15\x93\x1c\xe5\x0e\x8f)U\x98\xf7\x1f>\xee<_\xe1Z\x06[a\xb3\x006<\x8dri`\x93D\xe7\x1c\xef\xa5\"\x8b\xe3\xd1|\xbd\xc7\x03\x1e4\xe5\x04\xaf\xafN\\\x9c\xb3m\xdf\x01m\x9e\x1f\xfc\x04\xb6k\xbd\xd6j[\b \x1a\xe6:\xe6\xa2N\x9eV\x046\xceK\xd8\xd0\xd2$\xa0V\xce\xeaj\x15\xbc\xf7v\xe9\xf4pL\xfa\xedPl\xf0\x9eW\x7f\xdc\xc3\t#\x97^d,\xdaMOW\xc7\xe0\x9d\xd4\x15\nQWX\x14\u02deL\xa9x\xf2p\x8a\xb0\xc3\xc6T\x9e\x9b\x8e=\xe5\xdcbd\x8c\n\xe7\xa6{\xab\r\xb7>~g\\\xef\xd27m\xb4\xa8G\x97\xdb3\x96\xbf\x01\x10\r\xd0\xc8\x1b\xbe\xfd\x9cv\x1a\x80H\xe3@\xfb\x86K\xc3.\xcd\xe5\u0205\xc5~S\x1d\xe5\xf4\x11c\xfd\x92\v\x83H\xee\x83\u0205\x9a#\x17\xc4\xc0\xe5H\xee\xa3\xeaI\x8c\x1a\x9e\xfbP\x12$1n\xf2\x93\x18<:\xa2Pb1>\xec\xf7\u01c5\xfd\xa6\x15\v\xfb\x1b\xb0\x84\xfd\x98c\xf3\xb1C([\xf9\u033fE\xf5\xa5#\x82\xcb>\xeb\xe7\xc8/0\xfa\xc0\tcBw\u0712{u8\x8a\xe7\xf3e>\xd1i\xa6N~\x83\x01Dg\xd2c\xbd2\xb6u\x7f\x89\r\x11\xa7\x9c\xbe\x96{\xcaP1\x83\xc5\xf9\n\xa9\x13,cJ\x15\x13\x05\xc57\xf6\x98\xc5eD\xf2<\x95\xbc\xba\v\xa2\x1b6\xa1\x85\xcaO\x8e\xf8\xf3\xee8\xf6\xce\xe4\u04a6I\xad\xcf\x01\x88\xa2Z\x9b\x1fN\xc9I\xa9\v *\x98\x1f\xd2\xce\xfbP\xdeI\xac\b\xb2\xfep|\x8c;\xdc?\x8f\xb1\xe8)Q\x96{\xffD\x04\xd5H\x11\x04\xd1\x7f\x0e\xed\xf6\r\xf4\x9fp\x1e@\xb4\xd3\\y\xc5\xc07]\xa6\x01\n\xc5_\x1d\xb2\xd3;\xea\xd3\x19\xc6*\xd1\x13*\x0e\x02\xf5\x84\xf46\xc1\xfb\xd7\xd8\xe2\xf4D<\x9b\x9e\x10\x83->\x88\x9e\xa8\x1ezB\xfc\xf6\xaf\xd9M\x12\x1d5]\x85\xf0Kt\xfc3G\xed\x1cJ\x01\x10\xb5\xe8tw\xc7D\xcf\x05\tX\xa7\xeb\xd4c\xbd\xf2\xc2\xd4\xe3\x99\xfe\u05f5$\x01D\xab\xae\xbd\xcf\xd9\xfa\xba\xf0-\x80\xa8\xed\x11\xa9t\x95\x90\xae\x039=o\xfc\xcb\xcb\xf7\u04b7,\x05\x14\x9a\xff\xe1\x84|\xc4D\xc9D\xc6\xfa\xb5c\xf0\x1b\x92\xc1%\u0125\xea\x13\x97R\xe94\t@\xa1y_\xa6\xbaH7\x90Mf,\xf1q9\x92\xc1\xadz\xec\x84%\x83\vi\x97k\xd3i\u5228\xefQA\x8c\x05(\xf4\u0734\x9e\xfd3\xe3o?\x19K\xec\x88\xc6\xf8\x16\x1d\xef\xd7}\xba\xf30\xa0\xd0\xdeoo;NI\xed\x11\xc0X\\\x87\xaa\x1d/\x80h(%\x97\xed9\xa3\x1c<\xa6\xd3\u07a8R6\x1ff\xfakm\u06db\xb2\xf9!+;\xfe\xb1\x98+\xf7\xfbq\xdc\xef\xabR\u02bc\xf3\xbdG\xa5\xe7W\xb1\u05697g6\xdexrw\x87\x05\xa5&w\x88V,R\xd2\xf8\xafpY\v\x00\x91\xe3S\xabU#Zu\xd7\x04\x10\xe9v\xdaR\xe7\xd0\xf9\xd9\xf4\xa1R\x8a+\xb0\xa3M\xa1\x94\ak\xe6\xba\xe4\xc0))\xba|\x1d\xbfq\xb1\xe4\x1b\x8cj0.Z\xad\xcb?OY\xea1jE\xc2\u02fdr\xc0Xa[\xd7U\xd8\xd6\xe5\xadWSW\xf4\xf4\xbd\x01\xfa\r\x03\x10]\xec\xbd\xefz\xe7\x1b\x9b\xf7\xd1O\xa3\u02bde\xc6\xdf\xfb\xba\u064e\xb0))#\xc0\xe4\xea\x8b?\xeb\x88i\a\xd63\x8c]\xe9y\xe15K\x10\xc3Z4,>X\u03b8h\xb5]E\xaa!\xcam\xe1I?\r\x13\xb9\x96zQ)S\x8c_Y\xceT<\x02 \xaa\xdd\xf9\xa9g\x8f`\x173\x00\xd1\xc6O\x93\xd7\xd6\xdbk\xb9\x82n\x1f\xd6\u0303\v\xbee\x85tOQ\xbd\x88\xbf\xb0\xad\xea\xdfz\x11\xf3\x7f\xa6\xcc\x1dS\u0405#\u04cf\xae\xd7(z~wi\n\xcf\x7f\x1d\x1a\xb8\xaf\u0380o\x99S\x00D\u0766\xfe\xb7\xf9\xfe\xcdLg\x00\u047cm~a\x0f\xd5.\xee\xe26\xdc\u028a\xdc\xebX|\xcb\v\xf3\x16K\xdd\u0685\xfa\rr\x1e6-|\x01 \xfa1\xd2f\xb0\u0508\xffB\x00DR=\xb7\x9c\x8diox\x12@\xa4\u05ac\xddt\x87K\xba\xe9\x00\xa2#&\t\xc9}\xe43\u0570\x00\xa1E\xb3\xbd\xb3v\xbc\x95\xceb,@\xa1\u05eft\x16\a+~>\xc1X\\7\x92~\x85\x1fE\xa8\x9c\n\r\xcbT\x8c\xa0a\x99\x9a\\q\x98\xc3\x1d\x84\u02ad\xb6`\x9a\xf8\xb7\x8eg\xe7\xc8\xef\xf3\xed\xb5\xe1\xb7\xc0\x80\xa5<-\x1f\xe3\xaf\xe9p+\xad\xe09\xf7\xf5\u01d4\xddo\xd2\xd4y\x9a\x98\xf5(\x88\xa6\x8d\xea\xba \xbc_\xcav\x00\x91\x05\\\xe6\xff\xf4\xab\f\xeeX4\n9G\x8f}\x90\x16\x11\xa3\xcfX\x80B\xe3b2\x94\xad\u05a4\xccf,z\xbe\xb9\\\xa1\xf7-\xb9R\xe04l\xc4>\xfdH\x94\xb4\xb6\x90S\xec\xdf\xf7\n\x88\xeeE\x1c\x18\xaa\x95\xbd\x9c\xde\vVb4\xceC8s.\xb6'\xc1\x1b\xc2>j!\f$\xb3\xf0\xef\xcf\xc2\xe5V@\x95\x9e\x85\xc9\u0309\x9b9K\x7f\xb5\xbeV\xc2R\xd5\t\x1b\xd4\x01D~\x17gn\xedU\xb0\xf06\x80hY\xe7\xc33\x96\xe5\xd7~\xc0\xff\xa7+\xb8\x01\xfa\xb1\xdb\xf2\xf3\xa7\xf7T\xe8\x0e \x8a\xef\xbeS>@\xee\xfe`\x00Q\x8f\xf07\x1bN\xf7\x97\x90\xc1\x0efz-;\u078c_\xd8\xf9+c\x01\ni\xfa\xdcTZ\xa4\xb4\xef)c\x01\n5\x1b\xdb03:n\xc3\x7f\x8c\x05 \x8a\xe8v\xfa\xd9j\xa3\xd8\x00\x00\xd1A9\x95\xf6M\xba\xed\xa3\xc7=x\x84,^\xaa\xe1d\xbd(\x8a;\xae\x97\x9d\xd3,\x9c\u0747\x8b\x81\u0606h\xfd\x80)\x97\x8dt/d\x00\x88.\xb9\x7f\xda\u8cfc\xab+\xe7\x194\x93\xae\u05db\x93\xd1\fP\u80e5\xb1\xe7\xe6\a1>\x8c\xf5\x8by\xcf$\u031b0o\u00bc\t\xf3&\u031b0o\x1c\xf3\xee \x88y\x0ffa\xde\xfd\xb1\u033b\x90j$$\xf4~\xca\n\xbd\x85\u06afW\xe8\x15\u00e2\x9a\xb8\x9d\xa9\x8c%\xe7\xe6}H\xe2!?\x1a'r,\xc7\xf6\xe9\xfb\x1d@\x04\x97\xeb#\xe7\xe0F\xcb9\xb1\xf7\xb3\x95?\xfa\x18-\xef\xc6m-\x85\xbb,\x94|\x86 \xdd-\xa5Y\xad\xf0\xf7\x006\xfc-\xd9\x10?\x92\x8b\x11\xc5\u3881\xa9,!\x12a\xf5\x84\xd5\xd7\\\xe2\U0001bb3e\xd4W\xdfe\x14\f\x9b\xa1\xa3\xa3\t \xd2W\x18X\u05fe\xc1\xf5h\x00Q\x88\xa6\xea\xfe\xe5A\xed\xaept\xe0\x81\x91:\xe7u\u05b4\xc7r\x85\xc0\xbb\x19+\x8e\x99\u05fe\xceX4\x1b\xef\xcd\xc2\xc6\t\xf4\xaeR\u043bx\xca\x18+\x10\\+U[p\xdd\n\x0f\xae!\x01\xd7b3%\x11p]\xe9\xe0\xba\xd4\xe1\x7f~\xb3F\f\xfbylI \x80\xe8\xe7\xd5\xcd\xe3\xf7\x18m@\x00\xa2/\x1a\u00cfZ,pn\x84\x1d`f5\xd6I1\xa8\x17\xb3\x8c\xb1\x00\x85\x1a\xebR*S.tNc,\x00Q\xf8\x8eG{o\x15,\xcc\xe6tM]\xf5\x80\xb9\xa6:I\x849\x13\xe6\xcc\u029c\x87\xd9M\x13\x0f\xe6<\xa6\x93\xc1\xf5\xde\xc7M\x14\x01D\xc1\xae\x01\u05fcb.\f\x06\x10\r\xfa\x99\u0666\x7f@\xde\x11@\xa1\xc9)\xf1\xd72B2\xba2\u05af\x95\xed\xdd\x042g\xe9\xeb\x82W\xb6o\xc61\xe7\x97l\u0319\xacl'\u0339\u06ael\x17\x03\xe7&t\xbbz\xd0ma\xef\xd0\xe97\xee\xd0\xf3\xfdU\xfd\x15\x13F\x852\x16\xa0\xd0\x13*-\b\xaa\xae\xba\xcdX\x80B!\a\xcd$\xfa\x84\x87\xbfc,\xb1\xe3\u8876\xab\x92\x83\xfc?\x1d\x00\x14*\x8c\xe95Wkbv*cq]W^W\x00G\x97>\x81\xe5\xe8E\u06f1\x18\u077b\xa2\x10\x9d+d\xffl\xad\x15DI-\xa6\xec\xbd\x13&\xf9\x18@t\xda\xff\xc65\x17\xa9\xce\x05\xf4\xc4\xfb\x91\xdfZ~\xec}\x14Jm\u009f\x98\x12\x85\x99\u0721\x13\x9b\x80\u0528x\x8cC\xef\xc2\xfb\x10;(\xfaT<\xc0r\xa1\x1d\xab\xa2\"\u02d1Ggl\xf2\x9cy\xc7K\xa7~=\x00Qc\xf7\xff\xa6\xb8Z\xa6\x8e\xe0/\x81*X@\xb3p\x90T\xaa\xc9\xde\tG\x01DnF\xe7M\xed\xcd\xcf.\xa2\x9bG\x87E\"~\xad\xf0\xdd\u04db\xbb\xb1mc\xb6B\xd8\xe0\xb4\\\xd0\xcd\xfa\xe2\xf8\xbe\x02\x88\xe6Z\xa8F\xadI\xcdr\a\x10\x9d\x05\xb7\xb6\xdd\xd3\xfb\x99\xc7\xd3F\xd6]\xf7\xa5\u0579\x953\x1d@\xf46\xc9\xfcUg'\xb7\x81<\x9fg\x1e\x9c\xa8yiZV\x18\x80h\xa7vQr\xec\xca\xd8\xf3Xm3s\xa1Z\\X\x97\xa3\x12,\xbeU\b\xf7\xb3\xf9\xaavU\x81\x1d\x0267\xa7\x84U\x17.<\x8d~0b\xf7\xb5\x1f11\xad\x00D-\x96\xff0\x0fia\xdc\x1d@\x14\x99\xb9\xd0\xff\xe0\x7fG%\xe9\xb6\x1a\xc5\x06>D\u04d0\x7f\x01|\xfc\x8b\x86\xb4\b\xd8\xf5\xc6d\u0671\x8b<_\xb59\x9c\xf2\xf3\xb5\xf9\xe4\x0e\x00\xa2\xa3j\x9a\xdeM\xf6'\xbc\x06\x10\r\xf3\xfb2\xa6\xce\xfa\u7bf0d#{\xab\xce\xfe\xc7\xcdg\xc91\x16\x80(w\xfe\x98/\x06\xe3\xc6\xd1[\x15I\x18\x91u\xe85\x9c\\\xd0}U\xd8u\xe8\xfccJ\x88|\xd6\xdf\xd5\xdd3S\x7fu\xf1\xb5E\xbb:\xbdhi\xd9\x06\xa3\x97\xa6\x1b\x17\xad\xb6\xae\xf09\x06\xb8[/=\xc5kY5[tVv\xe9\xe0\u04b7\xe2}g\xcc\x13i\xab\xeb\x9c\x19;u\xe6\xaa53\xba\xde\x7f\a \x9a\xbc\xf3E\xbd6\x16v\xc1\x80B\u05ba\xdf\x16(\x15\xd9Y2V\t@Q\xddD\x00\n\x01(\x04\xa0\x10\x80B\x00\n\x01(5\b\xa0(,\x17\x04P\xeeWe\x80\"]\x1b\xb3\x19\xa2\x10\xc9\x1e\x17\x91%{\x9c\xbf\u9a3c\v\x96O\xa4\x83\x02\x13,\xac\x91x\x8a\t$$\"\t\xac\xf9]X\x03'\xb3ME\u0344?\u0203\x1b\xfc\x15\xed-\x1b\xfb\x95\xdaL\xf0w\xa22\xce\xd3;\xa6\x0f\xb8\xb6\\\xef\xe9U\x91\xc4uHO\xfb{\xff@\xc5\xf5\xdc\xdbM\xe2\xf6\u0506\x94\x06\xcf\xff\x988y\x98:8\xd9\u0678\xd9\xf2\x7fS\xa2\xe8\x81\xc2x\x00\xae\x8b\xee\xcc\u0736\xdf\xca\xff\xb5\x1d\xc7\xfd\x96\xcb\u0754\xb6\x99\x14\u00d9s\xf6o\u06f5\xf0\u7969\x80B\u05dbH\xb7\x95\xfdj\xb8\x82\xb1J\xf0T\x1d\x19\x82\xa7\b\x9e\"x\x8a\xe0)\x82\xa7\b\x9e\xaaAxJ)_\x00\x9e\x92\u06c9\xed\xa3\x85\x92\u0379\x9f\xe1\x17\xa0H\x94\xeb\xfe\xa5z\u0197\xaa\xa2\xc2D@^\x1e\xbb\x85\xe9\x86\xda=;H\x0f|\u550f\u021b\xe5/\x14\aT\xbcYxS\x8b\xc3\xc3&t\xd7\xdezA\v@t\xf3B/\x9b\xa0d\xa3\xe1\xf48\xba\x81\xadh\xa2\x1c]*\xdff5Ln\x89\xc65\xbd\u03ff\xfd\xf6Z\xe2r\"\xefQ\x82\x1e\u03fbM\x9b\xb4\x98\xf3\xf0c:\\\xd9s)^\x8b#\x17\x92C\xe5\u07d9eE\xd7\xc6\xf2\x00\xeb\xb4\x17kN'$\x9ca,:\x00\x1e\xc6\n2~\ud22a\x8a;Z\a\n\x81K\xe9\x80\x1d\xf6\u00bf(\u07f2\x932g\u021a\xe5`\u03dd\aE\x97I\xe7H\u00bd\xa72B,?\xb5m\x05 \xea\x95*\x15\xb6\xbb\r\xb0!\xee.\xbe\xee>\xaa\xbe\xdd\u0668\x96\xba#\x01Dr\x96\xf9\xeb\xe4\x9ei}\xa2\xfdi\bF\xdd\xc1\xdal9\x03\u036a2\xcb9\xb0\xf6\t\x11\xb4\xfc\xb2z\x9f\xaf\xb7\xbc\xa0\xa2\x03 r9\x9c`\xae\xa9\x1a\xc5\x1d\x1d\xaa\xee\x91Q\x1c\xffT\xd19\x12\xb3\xfe\xf3\xfc\xe9\x00\"\xcf\xcd/W\xb4za\xf7\x0e{\xdd\u0156\x81\xeb/\x1e\x88\xc1\x9d\x19C\xa1N*Oe\a\x9e\xbe\u05c8\xb1\x00\x85\xdc\xd2\xdaI\xf5r[{\x9b\xb1\x00DM\x12\xda\\\xbe\xbd\xbd\x839\x1d\x89\xe9`\x8b\u061e\xe2!kQ\x18%C\xfd=\xca*\xcc\x00\n\xd1\xe9\xf5\xd6\xd1m4~\xd4\xc76f\xfb\xc0\xff\xbe\xd8?\xe8\xf9\x89\x10\xd9\xdfX\xabw\x84\xdb\u0675(\xcd2\xad5\xcd\xc6\xc3\xc1\xcb\xce\xc4\xc9\xc3n\x9a\x9d\xdbp\xb1\x98,!\x1at\xcflN\xe0\x9dM\xdc\x05\xfe\xc6,/\x9am8*n$\xd9~G\xf7\xe8\xc6\xcbn\xe3\xb6B6\xf7R\x8a\x94\\\x896w+\xfd\x92\u0282P+O\xc7\xe2G/n\x18\x81#\x9fi\xff\x9cgG\xb7\x98\x1c\xa2\x139e\x96\xab\x0fs\xf6\xf8\x93\x9f\u2368\x9b\xbe\xda#\xef\xa9<|\x00\x80\u023a\ueb95\xc7?\xb9\x84\x03\x88\xc2\xfb<\x9a\xa7:[n\a\x80\xc8\xff\xb4t\x03\xff\a\xb5\x00\xe7\xbb[\fg7\x9c8V\aP\xe8\u054b\x10\xc76\x1b-{0V\t\x0fU\x8e\x14\xc8C\xa5\xce\b\xdec\x0fw\xb4\xbb\xe4-\xb6\x193\x9f-,\"\x1cQ\xc4\x1c\xf1\x9f!C\u0751\xbb\xeb|x\xde\xeb\x1dc\xd1\xe1\x149\xec\xb6\xc6\xe3?Q\x1cv+2\xfc\xb7v^\x9f\xe4\xac\xddC\xbb3\x16\xa0\xd0w\xbd\xe5\xa3v\xc0Y\xea\x8c%v\xf8\xaf\x96\xf7\xcc\xc4YW\xfc2\x01\x85\xce\u02b4K\xc8R\x9b\xe2\xccX4\xdd\xdb'\x00\xffIj\vD|\xf7\xf0\x9b\xb4\tQ\x85\xc2?h\xe4\x043[\xa2\x06\x1f\x1e\xa0\xfcJ\x95\xeel\x01,\x9d\xed\x18~\xe4\x10\xadt\x12\x91\"\xca<\xdfM\xdab\x8f\x1a\x97\n\x16E\xe3\xef^\b\xfa1ET7\xb7\xdf?`\xdd<\xa5-[y\u29cb.\xcd^\\\u079a9\x90\xd3\x18mb\x92\xc2\x1e\x00\xd1p\x85\x9b\x1ey\r\xa5\x8f\x02\x88F\x9d\xdd\xe6~\xa5uJ_\x8e\xd9\xed\xc8\xc3\xc3S{\xbf\a\x14j\u4cf9\xd7\xcbI\xc6\xdf\x19\xabD\xaf\xd72&z\x9d\xe8u\xa2\u05c9^'z\xbd:\xebu\xd9\xc1\x02\xf4\xba\x94\x91 \xbd.\xf9\x01\xaf\xd7kr\xed\xc9C\xb6Ql\xafP\"O\x14\xf7\xc7\xfd\u0756,\xef\xa3\xe6\x84Q8\xe9\xe4%\x97\xfec\u0455sW\x00D\xa9Cb\u06de>\xe6\xe5\xcbs\xad\u01fe\x86\x9b\xfc\xf5=\xc3\xe8\xc6|+rB\xc1\x9b[z\xa7Q4)\u03af\xa8\x91\xe8\x1c\xe0w.\xc2\t\xcb\x1f{?\xb4\xcfPi\x91\xc8\xe3(e\xaf\u00b3\x86H\x98\x15uS\xc5\x02^4<\x1fb\x04m\x96g\x02\x88V^\xfdTt\xe4\xc8\xc3<\x00\x91\xdc\xe0\xe7\x03L\x16\xafT\x04\x10\xa9\xe7]\x1b:\xf7\xbc)>\xd9^\xfb\xae\x81\xeb\xfbA\x93\x0f2\x16\x1d\xd0\xdc#\x1c\xe3\x0f\x18\x03D('\"\xf2\xd2~\xc5 \xba\xdf-\x10\t\xc7\xe0a%Dn\n\x94\x9b\x89K\xde\xf97\x1f\xb2\x97\xd3)\x14z\u00b3\xfd\x8c\xa6\x8e\x03\x10\x05\r\u044eNWs\xdc\xc1\x89A\\\xdf\xe8?Oj3\x95\xb1~m\xd62\x82\xa8I\xa2&\x89\x9a$j\x92\xa8\xc9\xea\xac&\x15G\tR\x93\x87q\xf5\xd8\x12\xc3\xf1^?O\xa8@\u03f8huon\x13\u0523\xd4y>4q\xf2\xb0\xb0q\xe3\x1fBq\"\x8e\xcd=\u05f7\x7fv\xf2\xf6\b\x00\x91\xf9\u031e\xb3a\u07ad\xdd\xf4\x18\xb2\x97\xa5KV!\x89[\xdc*\x1aT\x1d\x9e\x7f\x19\xe8fc\xcb\xda,\x9f\xe5\x16nW\u050c\xd6\xe0D\xc3\xcd=>\x9a_mx\x9b\x1e\xa9\x96\xb1\r\xad#\x05K\xcd\x1a\xa0 D\xd4\xf0\x86A\xadv\xafI\x9b\xbc\x8d\xe7.\n\xbe\xd9>\x1bs-\xed+\x80h\xd8,i\xf3'\x16\x06\xde\x00\xa2.\x93\x95uZjw\xf1\xa5]\xb7\x1e&h\xa22Y|\xba\xdc\u6d55V\xf7\x80\t\u033d\xcf\xf9\x9a\xaf\x1c\xae\u043f\xe2\u0622&\xf8\x12\xc6O\u018f;zNq\x82\x17\xc7\x0f\x969M9\xfc\xc5{\xee[l\u02cf\xdd7\xcap\xab\xb6\xc5e\xac\x88\x95}0\u012bc/\u02d3\x8c\xc5}\a\xd2.\xdc\xdan\"bE\x91\x8c\xff\v:\xd9\x0e\xf7\x13\x7f\x9e\x94\x87H\xc3\x15\xb5\xb6\xb0Q\x7fC\xf7\xcf>\xd8\xfc<\xd1\xd4l\x9a\xda\xea\xecX\xb0h\xe53\xba\n\xa0\u4831r`\xa3\x10\xba\vYa!h+\x14\x88:\xba+\xe6J\x04\x0f)9nI\x06\xff\x06\x9f\xe2~\x9bTXT\xe5\n\v\x88\x1d\x9d\x96\xb5n\x1ak@\x0f|\x83X\u0191\xbf\xbcjBx\xb8\xc2y\xb4\xb1\xa6\x12\a]&\xc0@N\x14\xde\xd7bR\xedkI\xcdh\x7f\xb0a\x1b\xd3\xf5E\xe3,b[\xb9/\xa2&}\x912\xeeZx`N'\xdez\x86\x83/\xa6.\x19\xe7\xd6\x17@\xf4p\xd8r\xfb\u3ce6\xb4\x03\x10\u0665\x8f\xef\xbf5\xcec9\xedXmq\xbc\xea3[\x1f\x06\xd5\xfd\xb5`\x9a\xbc\x81\xc4\xd5\u03a1]~pws\xa86\xfb\x1e\xb8|\tK*\u051a\xca\xdf\xd38\u05cd\xce\xe9k\x1f\xee\xf7\xc8\x1bK\xb1\xd6\xf9\x9c\xfe8\xf3\x91~\x18c\xd13\xc14\xec\xbe\x06\x84b\x11\x8aE(\xd6\x1fQ,\x88T\x9f.\x1f\xf9\xfe\xb3~\x00\x80(|C\x03\xe3\xbd&\x03n\x03\n-\xe8j\xbad_\xef\x16&\x8cU\"\xdek\xc7\n\x14\xef\xd2\xd3\x04\uf4ea\x8f\x994\xa4X6\xce\xf8;\xe2MT\x1b\xa1\x12\xa0P\x19@\x01\x9d|\xde\xcdq\xcb\xd5\xcb/\x18\xeb\x1fR\x86\x05\xad\x1f+\xb7\xb9zt\x1bc\x11\xca@(CU\xa1\f\xa3\xbe\x04\xb4\xaa\x17;v\x05c\x89\x1deX\xfdSG\xa1w\x86\xdf\x11@!\xf9\u039bR\x9d\xed^\xcec,\xae\xeb\xca\xcb\t\xa0\f2u\xb8_\xc0/\x88\x90N\xc6/\x88(\xa4:\xb0\xc4\xe85sK)LDh\xd3\xf4jQ\x8c\xbdfI\x06\xacG\xa5\x97\xe0T\u014d_\xb1'\bq\x1e\xfd\x15\xbe\xc9\xca\xed\xff\xc0z\xf8\x8ah\xd6\xc7X5}\xd7\xcd y\xe8\x03Q\xb5\x84IO\xcd\xfb\xf92\x91\vy<,\xf1\xf8\xb6\x91wc\xeeks$\xc5\u0458SkZ\xfeG\aO\x12:5s?\x89B\xd8\xfc\xf7\xf9\a\x9fUL\xa5\xba\x9dXu-\xf6Cxj\xe6\xc8Z\xea\xf3s\x8a\xd9Z\u04b2z/\x00DGW\xce\xcc\u02df\xbc`5\x80\xa8O\xc4t\xa3FqoO\x01\x88F\x1d|q\xb9\x81\xc3\xf1v\x1cYlh\x9f\x98\xbc\xb9\x16\x7f\x101\x1bP\u0222s||\u06d6\xc1\v\x19\x8bv\xb5s\xdc>Vit\xa5\xf2v\x8d\x84\xc8l\xe7\xc0f\x0f'\xdd\xeb\x82\xf5\xbca_]\xb7^_\x19F\x13p\xb2?\xa40\xfbC\xfe\x05\x18\xf5G\u0329\xd3\xc2F\xa6\xc7F\x84\xf7\x02\x10\x85\u074f\xaa?\xaaGvC\x8e\x9f\x1b\xf9\f\xf7\xdaox\x9e\xb1~\x9d\xef\xa2G\xb8\x05\xe1\x16\x84[\x10nA\xb8\x05\xe1\x16b\xc0-j\xf9\v\xaa\x8e\xf8,\x90[DT\xfaF\x0eUQbCk\x96Q\f\xb6\x10\xaa@DT\u02b0\x90\xda\xc56\xb4\xda\n\xd5\xc0D<\t!\x9evm\xfa\x94\xf6m\xed\xa9\xfe\u0620R\xb1a\xe6\x8d1\u059b'\x03\x88N-\xef!1{\u05600\x9ek]\b\xbf\x1c3>\x17X\x11*A\xa8\x04\xe9XBP\x89@\xb8{\x85\xd1\\\xb7\xc9X*a\x90C\xe9\xefq:8\x93\xb1hb?\x19\xbbr\x89\x9ceQ\xc3\x1d\xf1\x1f\xb1\x8a\xbf\xb2M\xca\u018a\u052c\x90`\xe1o\x04\v\x10\xad\x99\xe0\x175\xfd\xd9{[z\xf6;\u03fd\xbdr+\xbdD\xb5\x9ck\x14\xb6\x94\t\xd2\tH\x11-%\xe3Y\xd2\xc3\xf5\x8eK\x15\xf3\xbb\xc0\xca.\x96\"~ZQ?m\xb5n\xee\xeag\xf9\xd2\xf9\x9c\xe8\xe5\xf18\x99\x9e\x9d\xf4\xb7\x00\x88\xcc\xe3soN3I\xc8\x05\x10\xf5\xcc^\x94\xd6w\x8a\x89\x1f\x80('\xf5\xc0\x9e,\xf5\xebF\x00\xa2+\xea\xd3l\x1a~^:\x04@\xe4y\xe6I\xbb\xd5\xf5[\xcf\a\x14R\xfbPO\xe1l\x80\xc3r\xc6*\x81\xa6u\r\b4%\u0414@S\x02M\t4%\xd0T\f\xa0\xa9\xf2\x1a\x01\xd0T\xa1\x0enI\x99\u053dJ\xafG\xaa\x8a[\x02I\x1ea\x19\xbd$\x97\xb0L\xd0\xd4uB4\xff1\xd1\x14\xc9\xceY\x97&H\x04\x8d\xa2R\xfc\xe8\xd9\u031f\r\x9e\xd7\x17\xfe\xad\x8a\x86\xfc\xfd\x85\xaeE\x1c\xb0\xa2\x0e\x98\x96sc\xfa\u00baf\xa6\x00\"\xff\xc4\x1d\x87\x0eD]\x92\x11\xd5\xe0\xf4r|\xfc{\xb9\xab]\xde\x03\x88\xbaz\x84=\x97\x9a\xe0/\xc1s\x17F\xbe\xdd~\xac\u069e\u0319.\f\xbf'\u079b\xdbta.=T}\u0108\f\u0263,\x0e(\x9a\xf5w\x95\x8d\xa51\x04a\x8e\xeb\x1b\xf7\aj\x0f\xe8-\xb7$.\xb2t\\\t\x7f\xac\xfb\xf2\xc9L\t\xee\xd4B\x8c\ueda4s\t\u0579T\x1f(Iw1?}\x02@4\xac\xc7\xd7\xe4\xd1\xf9\x81\x9at\v\x1e\x15*s\x89\r\u0205z{\xb3\xc9\xdb\x13\xea\xedE\xa6\x80W\xe1m\xeb\x06\x01\x88.\xf8\xe4\u065f\xb1z.\x05 \xba\xd9\xe5\xe4l\x9b\xb1+wbG\xc0\x93\x87\xfd\xee\xeb~\xd9\xc0y\u0739\xab\n?\x8d\\/\xb1\x0f;D\xf4\xb6]z%F\xf9\xf4glZ%x\x9a\xfe\xcaWo\xe4\x9e2\x16=\x12\x1a\x93#\xc2IZ\xa5\xe6\xa5U\xfaW*\xba/\xba\x8f{\x86\"z\x9f\xab\xb2\xf1\x10s\xac\xf7\xdf?%\x02[B\xe3\xb0\xc8ah\xfc\x85=\xcd8\xda\xe0\xe3\xa2\xcd{\xb5\xec8\x7f=kc\xd4\u01e5\u00e2V\x00\xa2vi\xb27\xb6\xac\x8bl\u0119\xa2Z-\xed&{\xae\xf7z@\xa1\xa6.\xcd\x0e=j\xfdx\x17c\x95\xb0c\xc5\xd7\x02\u0671LW\xc1\xec\xb8\b\x13\xd6I\xe3\xfaHq\xb8#\xcf&b\xf4\xb0\x9d\\\x94\xf4KTh\x19e\x9c\x7f\xb0\xf0\xed\x1e\x85(\u01aa\xc1\xbc\xd9\xf37n\xe6\xc5,\xf3\u04cb\xf3\xeb\x043\x16\xa0P\xfb\x96\x87\xef\x9fs\xb38\xc1X\x80Bc\xf6$\xee\u0533uMb,\x91\xb7\xa6\xc8p\xb4\xde\xf3\xacZ\xaa\u07cfM`,@!\u04e1\xa9\x8dVL4;\xcbX\xe2\xd3!D\x85\xb0\xd1'\u0257\x86\x9e\x12\x91\x9a\x8cU\x83\xb9\xb6\xc8:D\xc2\xf6Wk\xcf>\xef\xa1\xc7X\x80B\xf9\xfd\xe6\xf8\xf7\xd4_6\x8f\xb1D\u079a\"\xc3\xde\xfa\xea2j\xbe\xf3#Z0\x16\xa0P\u0728\xdc$\u0364I\x8e\x8c\x05(d9v\x91\u0107>\xf3m\x18K\xecX8\x1c\xd1\xf9\x90\xba\xe3\u0581\x80BfJ\u046d\x95N\x1c\ba,\x1ah{\b`\xe1\x12\xa6\x18\x16^t\x06\xd3Qx\xb7\xe0^\x83\x1f3&p\xaf\xccL\xdc\xfd\x9d\xed\xec\xed\x1dl\x1d\xec\x9c\xf8K\x03O\\\x1b\x96\x8aFzl3\xd4\xed\xd8b\x83\x98\xfb>\x02E\x93\x8c\x16b\xfb\xe5\xd9<\x8b\x13\xe7nx\xa5(\x17\xbe\xcc\x01@\xf4\xec\u6664\x11\x1f\x0e\xa5\x00\x88r\x83\x0e$\x0e\x89\xfa\x91\x8e\xd5\xc9]r\xd2A\xb8q\u06d3\xa2\xd4\xc9v\u00b6\xb1=V\x11\xbd\x9849.\xbc\xbf\x11\u7a5e\xcf\xf0\xeb\xe7\xf2\xbc` &\xa4\x82\xa8\xc0>\xcf\xc0|\u07158\x00Q3\x97\a\x1f\xd2-\xe7\x9bc\xf5\xaclJoeG\xcd\xee\x1e\x8cE\xab\x06C\xdc\xfe?\x85Ts\x16A\x9bM\xc9\xffcAk'D\xcb\xe2\xc4/\xaeeu\xc7\x14\xf6o#}M\t\xfb\x9a\x1c\xf7l:\xb6e\u01fa\xd3\xdc\xc6@\xfc\x85\ubbc3\x8a.\xfe\u0164\xb2h3\xc7\x10\r\xf4\r\trQr8SZ!\xc3]\x1d=\xb2\xfa\x8e\xe4J\x99\xa2X\xf6\xa7\xf7\x11&5)\x92u\xd3\x10\x8d<\xa1y9\xbd\xaew\xb7\xd27\xbdfEJ\u00aeQ\xa7M\xff<\x81\xdd\\\xd5)\xb1WD\xd71\x00\xa2\xf4&\x86\xf5\x8d\x97\xdf\xe8\f(\x14s\xbd\x8d\u059ay\x86\xed\x18\xeb\xd7Y\u0692\x82\xa9\xc0\f\xc1T\xa0#\x8e\n\xf8\xb1P\x01\x92\xeb$\xda\b\xa3\x8d^\x86\xd6\xe9\xf7q\xdf\xd5U\x8c%> \x89\xa4\n\xab\x9e\x1cIi\x98\xfd~\x90u\xa8\x01cU19\xb2\xfb\xe1\xc8\xcd \x1f\x9ec,\xf1\xe9\x10\x84\xac\x12\xb2*\x16d\x159g~\x19So\u00f8\x15\x8c%v\xfa\u0732\xdf\"\xd39\xc3\xe58\x93\x9c\xc21\xa7\xdd\u01b2\xf9S\x19\x8b\x0e\x9a\xc6\t\u029d\xfbr\xbf\x80\xdf|K\xa2\xa3\xb0\x1bIU\xa5Uf\x7fX\x94\b\xd1\xcd\v\xbdl\x82\x92\x8dJ\xf6\x0e\xf8\xce2\xbc\x88\xa6Y*[\x85\v\xd5,.<\xcd\u04b4\xf6\xe7\xc7kS|\x9f\x03\x88f\xca\xe5\xff\\\xdcRv5\xf7\xe9\xee\xb3\xaa4\xed\xe9\x8cA\xaf\x01D\x97\x93g\x8e\xe9\xa7\xd1\x1e\xbf\x11P\xa8q\x83\xa8\xc1\x1a\xa9}\x18\x8b\xeb6\x92{q\xe9\xf6BJ\x89\x05O\xa4SrU\bO\xe0A\xc4\u0406\x9e\x1aQ\x05\a\xf9\x1f$\xcf\xf1\u0537\xceVs@\xaee?\xeec\xaf`\u03e0W\x92+\x94\x12\u066b=l\x1a[\x04X\xd0\xd5\xf6\xf0\t;\x1a(\x84\xfb\xf1\xc1\xd3\x19.\x98\xfa\x13\x90\xf1\x0f:\u01518\xab\xaf\xf6\xfam\x86\xd0>\x9a\xc8\xc6r\xd7\n\x05\x7f\x8a\xff\xc5\x02\xdf^\x1b\xfet\xb8\xb0\x13\xd5\xc8\x1f*\xbb\xa5\xff\xca\xe1A\x91B\xdf\x17\xff\xfee/\xaa\xa1w\u01cd\xa7\xd6\xfd\xcd\xde\xef\x04\x105\xff\xafQ\xd6>W\x97\xa1\x00\xa2\x8e]\x15\x1a\xd5\x1d=.\x96g\x18\xcb<\xf5:L\xe1\xbf\x13\xdd\x00D\x9d\xc2\xcc\x17\xcc\xf7\xd3u)\xed\xe6\x91WU\xa3oX\x16/B\xbc\xf6hS@\xd7+#\n\x00D\x13&\xf6\x9br(\xf2#\xf4\xdc\x13;@!;\x83\xe4\xc9>]W\xbdd,\xae\xbbK\x1f\x10Tg\xb0\rWg0\x8a\xfbA\x13\xaa\x11op>\xdb\xc5\xc6ijq>\xcc\u0366DlA9\x96\x8d\xc6\u01676\xbe\x94\x06\xe27`\x89\x16\x99\xf0\x9f\xa3!\xfap\xb4I\x8eSD\n}b\x7fu\xa90\u0434\xbbT\xe7\xac\xd15\\\xa1=D\xadG\xfe,\xf4\xbd\xe3\xe3\x8b\xd5\xf8\x81\xdd;\xdd\x0e\xfa\xac\x16\xceX4G{\x82=\x82\xe8\xef\x97\u050bB\xccCd.\x19yAm\x83\xa41\xb6\xb1&\xc4dLHT\x9c\"_\xfc(\xc6\xfcI\xa3\xc9 \x0f\xfe\xe9h\x1e)\xb2\xc1y\x9e\xfd\x88\x9f\xe7\x12\xb9\x8d\xf2\x0f+\x11\xec\x00D\xef\xfa\xed\\\xf2Z\xcf\xdcZ\xd8+\xf2\x7fC\xf6\x00\xa2y\xb1\xb9\n\x1b\x86\xbf\xb5\x06\x10)\xb9\xf9\x87h\u0389\xe0`\xe9\xb6\xef\xb0\xc2\xe1\\\xa0\xc2M_\x00\x91\xf6\"\xd5\t\x1a\x1f|\xf4\x01D;\u01deii\xa5\xffb\vg\xa4t\x8d\xbc1#\xe4\xdd(\x00Q\xcfd8\u032eV@\x1e\xa0P\v9\xcfI\x16\v.\xb4e\xac_u\x12\xfeD\x1a\x13iL\xa41\x91\xc6D\x1a\x13iL\xa41\x91\xc6\x7f$\x8d\xe5\x9b\x11iL\xa4q\x95\x96\xc62#\xc4\xe8\x1c\x9c*.\x8d\x0fr/Un\x130c\x96\x9c9[\u05b38O\x98\xfb*B\xc2\xe7tn7\xb6+\x15\x8bo\x81yJ\xeb\xee\x8a&\x9f$\u07b7\x01\x10\xe9\x8c\b\u9aef\x1f>\x9fU\xd2\xff\u06b1\xae\xbaI\xfak\xa3\u06f5\xf2\xbd\xa1\xf8\x85\x86CC\xb8p\xa8\xdck\xfb\v\x1b\xc7\x15=,\u06f4\xa6v\xee\xf4\xc0\x1e\x8dmu\x01r[\x0e;\xa2|\xbco=\xef\u02ee|\u034a\\E\n\xfb0\xf9\v\x8c&O\x1f\xaby\x0e@4 zwpFp\xf3\xa1\xa5[\xf7`~\xe3\xdb\x1d\x1fZ\xdf\xe5>\xc5*\xee\xaf\u0525\xd4x9\x83\xb1\xab'\x1d\xaa\x8c\x14\x19\xf0\xa0\x00\u0337k\x9d11k\xf7\xa3\xd27T\x10\xf1\xfa\xe4\xf0\u070f\xbb\xe9\x10\xd5\x02\x8biV\v\xbc\xd7\xca/o\x19m62j\xf5PM.n*\xda\xca\xddMS\xb8\xed\x03+o\u0105h\xfe;\xab\x00Kk-\xce\xfc\xb5\xf3l\xb6\xce\xd4]\xea\xc1\x00\xa2\u010bTT\xb3\x8eI\xf9\u071b\xfe\x86\x19\x06\xff^\xed\x90\x04\x80(C/u\xef\x8dQ\x97\u0197n\\\xe5e\xf6\xf1\xe7\xa6o6\x17\xe9X\xaa8N=h\xe7\xccNW\x00D\x9bn-PM\x8b\xda\x11\x05 r\xdd\xfbMr\xcc\xf4\x80\x03\x80B]\n\xeb-n\xec\xfeA\x81\xb1Jp\x94Z\x94@\x1c%\xd7E \x8e\x92-\xc4\x04\x99\xb2\xa6d\xd9\x0e\xc1\x11\xd5k\xd9\x0eY\xa5P\xf5\x10F\xb5\\\xa5@\xb6\xc8 i\x86\xea\xbbE\u01ab\x01\x03c\x14U\x06\xdeg,\xb1\xe3s\xd1\xf3\x86\xfe\x97\xe9\xb5m3\xa0\x90\xfd0\x97\xf9\xad5\xfe\xcbg,\x9a\xcf\x19\b\xe2swq|.P\x18>g\\e\xf8\\\xf5\u0635\xb1Z\xb1\xbd\x841f\xaf\xb5\u05ff\xe1\x7fx<\u7e8aC\xb2\xf4Cm\xbf\xe0w\x92\\4\xb0\xe1#\x9b\x90>\u068cE\xb3\xbd\xd6\u061d$\xbf\xb1\xb0\xbd\x13\x94,U\x95V\xb6@\x14\xf7\xb6S\xf0\xa0\xdc\xd9*\xd8&\xf4\t\\0\xaa\xf3\xa1\xfb\x8f\xe9Y\x90\x1c\xd1 \xc4\x11\r\x85\x92w\x7f\xed\xf1[\x16\x90\x15\u07df\xe0\xb2\x16!$\xddd\xea\x98S\xa5_\u024a\xa4.!-\x8e\x1d\xa8#\xae\x04\u04be\n\x11\xc8Xn\xa2\xa7\xf2\b\xa4(\xe6\x05\x88\xe6\xcd\xd0H^b8b\x17\x80hv\x7f\x8b\x93\xe3\xda\xcd\\\x02 \xaa7\u04f4A\xeb}^\xe3\x01D\n\xa6=\u00a2\x1f\x0f\xb9\x00 *j\xba\xcfj\ucef7\x1c\xefM\x99V\xbb\x91\xf3|\xb5\x8b\x9c\xd9{@\xc0\x91\xdcs\xd1G\x00\x85\n\xefm\xea\xe3;mI/\xc6*\x01v\r\x1e\t\x06vd\x9f\x1d\x02\xec\b\xb0\x139\xbe \xfb\xec\xfc=\xa6A\xf6\xd9!\x04\x9b\x10\xec\xeaN\xb0\xab\xc9>;*\x82 \x9fb\x12\xb6_\x17J9\xb3J\x16\t\x8a\xfe\x9a\x01\x7f\x89\xc8l\xd5#\x99\xcd\xc2\x00+\x91'\x94+\xa0\xa9L\x9e\xc0S[S\x9a'$-\xb8\x16\xdd;\xefJ]\x00\xd1\u0603\xe6\x91u\xc2-\x8cx\x9e\\\xccycelG\x04\xaf\xb0\x8c\xc25v;\xa2B*\x8a-e\xe6U\xf1\x9d\x1f\x19\x10\x9c=\xfe,c\xd1`Z\xb7B\xa3\xaet.\xe6p\xb1B\xc9E\xf8V$[\xfe\b1\xa3\x90-\x7f\xfetx\xfb\xd3-\x7f\u0220X\xb5\x06\xc5\xe7\x01W\xe7\xe6Nl\u06c0\x1ek\xb40(\x8f\xcaf\x99\xfe\xabQ\x16\xb6FF2\x10\xb9\xad\u02dap\xfa\u897b\xd8\u06c0\x9a\xdf\u0480{\xa0\"v\u00bc`k\xbd`\x8be\x88\x05c\x01\n\xc5\x7f\x7f\x90\xac\xedj\x93\xc5X\x00\"\xf3a\xf3\x8f\xae\xed\xe6Z\x87\x9e\xfa\xba\x93\xa4.\x9f\xa4.&Qh\u029a\xc2+\xe9\xde\u0185}\xb5\xedW\xa9\x1e\xa3\xfbt*&\xdf\xe9\x80\xcb\xe1\t\xf9\xe3\xbc\v<\x02\xae\xee^\x9f\x1a\xfb\xa49\u724e\xce\xeb\xb6\xe3\x89\u0361\xdfH\f\xba\x00\x88\x8c\n\x9a\x15\xbch'\x93A\x8f@\xdf\xf1[\x15\xdc\u0094h\xffA2\x92{a\x17\xfco\x0e\xc1\xfc\xe6\x00\xe1R\xbcv\xa5sU\xaf\x1fD\xa5N\xb2\x03\x1b\xb9>\x9e\x89=%\xff\x98h~\u06f6\xf4oko\v\xec\xd6\xfeng\xee(lZvt\xe1\xae\xe3\xe0\xefy\x98\xa6\xbc\xd4\xc6pl\x835v\xb1\x00\xa2+Ws\u6bdd\xb2Q\n@tf\xe6\xd0\x17\xbb\x14\xb7\xb6\a\x10\rK_\xdcyn\x97\xd3\xd6\x00\xa2\xf6\xa77k\xe6&E\\\x03\x10\x8d\xbc9\xf9\xd2\xc4\x11\xcd\xd6\x02\x88\u06aa\x7f\xfb\x1c\u06e4\xd0\x17@\x94\u05a7o{WM\xe5K\x00\xa2\xe8\x80\xc4@\xa5\xc0\xaf\xb7\x00D\x8f2\xd3\xfd\xad\x8f\xdau\x06\x14j\xf8\xc2\x014M^\xe1\xc1X%I.\x8dS$\xc9E\x92\\$\xc9E\x92\\$\xc9E\x92\\$\xc9E\x92\\$\xc9\xf5\xaf\x93\\\xcaj\x82\x92\\\x1fI\x92\x8b$\xb9H\x92\xeb_\xa3!\xc2s\xab\x18\u03ed\xbc$\u05c8\n\x8d\xba2\x1a$\xc9E\x92\\$\xc9E\x06E1\x1a\x14\xcb$\xb9\x86`P\x1e\xac]#\x92\\\x85\x94fU\te\x1c\xcaj5N\xf0>\xcb\xc1~\x8e\xa8F\x82\xfe\x8d\xcc\x1a,U\u06b5\x8f3`\x1f\xd9\u07ac\xa1\xde\xd6\xc7\x1c\xd7)\x1a.\x95\xdfA\xc5\x04{\xbf\x85'\x17*JJ\xef<\x8f\x9dZ\xa5]\x1ef\x19\x1cN:\xc8X\x80B\u0441\t\xf2\x17=M\x8e2\x16\x80\xc8\xd6-\x87\u029f\x129\x90~5\xef\xc9\xf1]\x15?\xbe\xcb\x0e\x97!\xe9\xcb\xfd@\xb8e>\x9c\xdf\xd7\x19\x1f\xf1f\u07146\xe6\x9cw|!\xe5t\xdf\x01\x13\xbe\x94\xf6\xf2\x86\x94\x06\xaf\x96\xf4t,\xf6H|\x1a\xab\xb4\u07e1#;\xe7\\\x93m\xa2\x0f \xba\xa5\xe8\x7f\xa4a\xbfN\xa78~\xb7k\xf8\xc3\xc5\x1b\x9aA@!\x87\u0567R\xf7E\x19\xdcb\xac\x92$F\x9d\x1e$\x89A\x92\x18$\x89A\x92\x18$\x89A\x92\x18$\x89A\x92\x18$\x89\xf1\xaf\x93\x18\n\x01\x02\x92\x18r\xdb\xf1I\frZ69-\x9b\x9c\x96\xfd\xafO\u02d6z\x8f\xa3\xd5\x12\a\t\xad&\xb4\xba\xba\xd0\xeaj=\x10\x8cn\xb1\xb5S\xc6<\x90F\xfb\xdaG\f\u380e\xd6\b\xba[m6\x92[\x1d\xeb\x15\x9f\xd9\u070e?W\xe4\\\xf7e\xe0\xc9\xec\xbb\x05cR\xb1\xa3~\xef\x97\x03\xcf8\xb8\x82p\xc6\x02\x10\xe9/7\n\xf1\xd25(\x89\x1b\xces\x9f\x90\xf0\u058a\xf0\u05bf\xb7\xe59n7\xa7\xd5\x1e6\x8d-\x02,>\x01\x88&\u01ff;\b\x1cG\xea\x00\x88\x02\xf7\xb4J\x98\xfbl\x82!\xa0\x90\xdf\a\xf7\x86\xc9\x01\xa1]\x19\xab\x04\xa1j:\tF\xa8\x11\x82\x11\xaa\x13\x0e\xa1\x9ebC\xa8\xd3\xff\xbd\xfc'|\xb5z\xf0U\xe6\x14J\xe4_\x14\x93\xa1\x10m*\xcfX\xe2C\x9b\b~%\xf8\x95\xe0W\x82_\t~\x15;\xfc\xfa>mP\xb7\x91\u05cb\xec\x19K\xec\xf0\xab\xf2i\xa9 \xad\xd3\xe7\xae\x03\nm\x18\xd2j\x80l\x87\xa1C\x18\x8b\xeb\xeej+\x04\xe0W\x99\x9b\x82\x10\xab\xcc\u048a\u00da\x9a\x8eXk.E-\x94\xb2b\xc1a\x12\xeb\xf8\x8b\x1eN\xb3$s\u03fb\u0094\xccb\x0e\x12\xff\x97T\x90\xe7\xa4)\x88F}\xc8\x0e\xef\x9b\xf6vW\x8d\xa2\x82e6gne\xb4o\x03L\xcdu\xf9\xe7T\x90s_\xb6\xd1\v\xa2\x97v\xb65\a\x10\xadW\x1a3\xe6PbP\x10\x80\xe8x\xaaC\u0682k\x81=\x00D'\x17\xb4\x8cr\xf4\xb3\xfb\xc4\xc3\u029a\a7q\x19l \xb9\x99\xfb\b\xb70NYaJ\xf1\x0f n\b\x90\x7f{D\u03f83P\a\x10-\xdf\xeb\xd5z\x96\x86\xf5h\u06b76\xb2U\xe7\xdab\x86}~;\x87\xd3\xff\u01ff\x1dJ\xdd\xeb\xf6\xb0<\a\xb7\xad\x9d\u317d\x8a=\xcfU47\xdd\xe8\xa8\xeb\x11\xf9\xb3R\x1b\xb32\x87\f\x7f9\xcb\f-\xe9\u01ce<\x0e8v\xf0\xe63\u0772\xae\xc8r&\xf6@\xb0[\xfb\xd9\x01S\x00QA\xe0\x13\xb7\u047e\xaf\x8f`\xf9\u076a\x86\tKz\x9co\xfe\x9e\xb1\xe8\xc4\xeb\x12\xee\xfb#\u042e\x8aA\xbb\xbf{;\x15:6\xb1PN\x8f\xff\xfd\x14o\x9aQ\f\xf6\xbe\xe1\xb3\xf8\x92\xa3*\x1e@\xfe\x8ba\xb38@\x89\xc2O\xb3\xb9\"\x19\bmx~\xbd@\xe5\u06b3\v\x06\xf3\u05caO\x18\x93\x92<\xdf\xf5r\xe7\xd6{i\xb9\xbf\x86-\xb3;N\xe80\x06jb\xdb\xd7V\xa8\n\x8e\n\x8f-v\x00\xa2O\x9d\xdb\\\xb6<\xbd\xae\x87\xf0\u0457\x8dXG_U:'{e\xff\x90\xe6\xf9\xbd_)\x03\x88B2l\ubbcfR=\v J\xb7j\xbc\xea\xe3\x86 -\x9e)\xd1{\xc4\xe5\xd5^\u038f\xaf\x02\x88\xda\xea7<\xa0\u05e6\xfd\x18\x00Q\xe7%)~\x96=\xba\r\xa3G\x177\x16O\x95\xec#ly\x10y\xe5\"\x7f\xe5T5\xa9\x06\x91\x04\x10e}2\x19s\xf5M\xba+\x80\xa8vQ;\x83\xc0^c\x1c\x89\xee\xab\x1e\xba\x0f\xa2]\x17\a\xbb[\xee\xdb\xc2\t\x0e\xafOit\xfb\xc6\xc6\xee\x8by\xbez\u00a0\xa3\xe6;\x99\xfc\xc9\x00\xa2vrQ\x1f\xfa\x84d\xd4-\x1d2]\xbd\x1b \x93p\xb1\xdfV\x00\xd1\xf3{.\xca\x16\t\xa9y\x00\xa2y\x1b\xc6}\x94\xb0\xa8k\b(t\xb9\xee\u034b}[\xc9Og\xac\x92\xb4\xab\xfaO\xc1i\u05d9\x82\u04ee\x06\xb8\xb4\xebB\xb6\xb4k[6\x15Hp\xb9\x88qy\x95\"\xe3;\xec\xd6\u0769\x95\xaa\xf9\x80\xb1\xc4'UDR\xf5\xd5#U/\xe2\xd6t\xfc\x8d\a\xf0\xca\xfeb}NYf\x10c\x01\n\xe9=\u03ea\xa5\xfa\xfd\xd8\x04\xc6\x02\x14\u0283\xbd:-M\x9c~\x82\xb1\u0127C\x90b\x02RL \x16\xc5\x04\xc80\"\xef\u578f\xe361\x96\xd8\xe5N\xb3\xc1\xaa \xa5\\\xbf\xab\x80Bm\x1a\u0394\\\x99x\xa15c\xd1\x04\xd5J@\xeeT\xda\x17\x0f\xbd\xe0C~E\xf3x\xd2\x00\xfd0\xb1\x1b\x1c\u0232\xff\x96h\xcaX+\xfb\x10j\xbeN\t\xd1*\xf5\xc5\t\xf6\x03?\xb6\x12\u58c8Eq\xf1\n\xfc\xa3\x886\xa7\xcb? \x84hH\xe3;\xfbC\xa5\n4\x00D\xad\xf3\xf5\xfa\xc8\xd7\ub743\xbd\u0636I\xea\xb1\xd1\x1a\xaf\xeec\x13\f\xcb$l5\x1bv[\u0704\xb1\xe8)\xcf\v\xb3,\x04\xb7\xe7\t6\xf4\xf9\x9dDP\xb1 \u02ea\xdfj\u8348/\xfd\x00D;\v\xb2~l^\xbf~&\xddibq\xbd\u0253\xf4\xa6*\u059b\x8e\xfd\xb5\xde$\x1a\x04\xb6\xbe\u044d\xf5\xad7;w\x02\x10\u5f4e\u02bb\xad5\xfa\x0e\xf6\xb7W\x8dz\x9e\xbd\xf7\x8aS\x01\xb6\xf3\xed\r\x92\xbd;\xbd\xe5\x92/\x8c\x05 Z\x14\xfe\xa8N\xd7/7\xe9\xd0Sr\x17\xf7\xb8\u07aa\x97\xe8\xe3\xffN\x1c\x85L\xf4Y\x8e\u0728\xd3\xc9m\xcb$l#/;\xa4\xf5\xe4U\xc1-\xee\v.B\uc66c\xa2\x8b\xd89]\xf4\xe7\xc0\x8b\xf6\xb0w\x88\x06\xfa\x86\x04\xb9(9\x9c)M\xa5\u0b8e\x1eY}Gr1H\xd1k\x01O\x7f\xa4\u00b4\u0511\xff\u040d\x7f\x02\xde\x13\x10\x16\x16<\xbd\xec)\x91cU|\x95\u0398\xab\xfc\xea`\xa5\xff\xd3s\xc2)\r8\xbaK\x03\x00Q\xc4\xe7Sk\xcfHX\xf2\x9c\xcd\xde\xfbPB\xa7\u0363\xafs\x13\x97\x7fo\xef\x9bY\xb8_\x1a\xcc\xfd\xa0\xec\x81\xf9\x16\xce\xee\x0e\x02\x0f\xccw\x04\x10=\x9c\xb1\xe2\xa9\xcbZ\xcdX\x00\x91\xc5z\xef\x91\x13'd,\u2faa\x9d\xec)\xe2Y\\\xa8^\xb17\xf9\x9b9\u0539\xfe\xa3\xa6=\x85\xe1\xdbK\xb7\x7f?\x1b\xfb\xae\x8fG\x84qhH\xac\xe8\x0eD\xf5\xd6v\\{:b\xd9|\x1e\xf96Dw\xba\u04a7\x0e\x1fg\x00\x88\xd2V\x16\x05\r\x978s\x1b{\u0648\xcf{\xd6n<\xd4n\"\x16\x8f4\x98\bF\xcfT\xae\u07d3\xb1\xe8\xf7E\x9f\xce\xc7\xe7\xc0\u0127,H$\x8cKR\u0130\xf6\x19\"\xe7\x98\xd0\xd6\x1d\xdfo\u00f5\x05D\xe1y\xe3\x1f&\xe4\xde\xe8T\xfc(\x7fp\x90 DS\xb7\x99-Q\u025a\xc1\xd1m\u047d\xb2\xbbx(Dn\x00\x14\xea\xea\x99{jb\xdc6m\xc6\xfa\xb5\xef\xaa.\xd1mD\xb7\x11\xddFt\x1b\xd1mD\xb7\x11\xddFt\x1b\xd1mx\u0766\xf0J\x80n\x93o\x80/+\x91\xbc\x87\u06cb\x11\x0eb\xe9E5\xf6\x9c\xb6BJ\x9bE\xa2Vb\xb3\x94\xcb\xf5Uf\xb3\xf0\xa4\x01K7\u02c4\xcd\xc6J\x16\xf5\xf6:\x01\x88\xe6x\x1c\x98c\xaa\xeb?\x9a\xe7\xf3s\x8a\xd9Z\u04b2z/\x00DOW\xba4\xf2\xcfzc@{\x931\x8e\x1d(\xe0\x9f\xa3\x90jQ%x\x80q\xd1j\x17a\xf2\xfc\x7f\x90\xa1<\x15\xbbL+eGO9\x00Q\xf2\x94\xcc\xe3\x1e\xab\xb5h\xa9y\xbcJ\u051a\x94z\xa8\xf9\xf5\xe7\xech\xf9r_\bG\u05db\xb6JW\xb6\x7f\xb5\x0e{-\xfd\xba\x8a\xb5\x1f\xfb'\xd6\xc2\xeav\xd4DrJ\xfa\x80>\x9b\x18\x8b\xeb@R\xea\xac\xed\\r~\u06bf\x1c\x05+r\x16\x93\u023a{EN\x99*\xf5\x8e\xc2\xea^_\x97\x18\x92\xce\x19\x0e\xccO<\rn\xf03r\x17\x19\x05\x85\x1a\x05\x8f\xcfi\xf8\xfedb\xb09\x19\x05\xab\xd0(X\xd9ej\xa5\x1ej\xc1\xb2Cj\xb9_?fq\x06\xb9\x19.\x06\x1dV9v\xc4^K\xe9\x8b\xfc\x9eT\xfd\xab{\xb0\xa3`\xca\r\xeb\xfe{\x0e_\xf8\xc2X\x9c\xc8w\xea\x82\xeb3\x9ai\x8ec,\x00\u0443E\x1b\xfa.\xbb\xbf\xfa\v\xed`\xc1\xb8\xf3\xafj\b\xdd\xfc\xf3\xea\x1d\xceUL\xca\xd6:\x99\u06b9\xbb3\xa5,\x98nP\xaa\xe8\xef\xf0R\x9bxs9UY\x00Qj\xf7\x8c\xc9\xe7\xe6\xcf\xf5\xe5\xfc5x\xa0\xa7Za\\\x04\xa0\x90\xfe\x9e\x17\u06ca\x90\xbf2c\xfdB\xa6[\x05\"S\xd9t\xc1\xc8t\vf|\x92a9\xb4Y,\x18\x16A\xa6\x04\x99\x12dJ\x90\xa9\xe8\x91)\xbc\xf3\xef\u074d \xd3j\x83L\xff\r\x13\xbdq3\xa4\xf6\xb5\xb7\x1a\x14c\x01\n\xado\xe4jl\xb47w\x1bc\x89\x1d\xfe\xf4\x0e\x81K%,b\x9e\x03\n=\xb5\xe8m\xb0\xf1en8cq]Wq\xa5 \xfcy\x01\x8f?a:\xf73\xfcn\xa5p\xb1P\x82\xa9\xb4\xca#b\xee\xcf\xc4\xdcg\x96\x96:\xff\xa7\x9bs\xb4\x9f}D\xfb\x87\xb3$O\x03\x88t\a\xbc\xe89\b)ja\xe5\xf3\x94\xf6\x9f\x9be\xc6\\\xee\xcfX\xb4`j\x85-\xed\x9cS\x11\x16\u03a7\x02\xb4t\xa7\xa8S\xd9\xe5\xa1\u011f\xab\x8e?/\x1c\xbew\xe8\xb5\u076a?y\xbe\x1ako\x8b:i\xa0\t\x00\"\xd5\xf6N\xc7M\x0fn\xd1\xe2\xfa\x8e\x94-F\xcaK\xb5f!\xa2\u0401\xff>L\xa2\xe0\xd2\xf8\x16_vF-\xda_\xdfv*a\xe3B\xb3\xf1\xe2\x1b\u06cb\xbf\xb19B\x9d\x86)\u010d\xe1\u0089E/[\xba8\xac\x9f\u0780\xe7v;\xad\xbd\x1c\xe2\xddM6\x11@\x14\xaa\xd3u\xb8\xd4\xe8\xc8\u6d3f\x05\x90P\x89O\xa8Dh\xfb_\xa7\xed[\xbb/\u952b\xbf\xfc1g\xcc]\xf0\xbe\xd5\xc2f\n\r\xb1\xbf\x90\x974\xbdp\xdd\xe17w\xb1\u1082\x85\xb3\x8f\x82\xef\u01c5\x8c\xc5\t=\u04a9!\x9b\xf2O\xda\xd2o1\x80\xd0v\xea\xcfi{\xb9\xae\u01ed\x8af\xebz\xc5o\xben#[5\xbd\xf1\x83o\x00\x88f\xadz8t\x95[\x93\x87\x00\xa2\x10?=\xeb\xba\xd3\aF\x03\n-\x93r\x9f}8=b!c\x95\xa0vU+\x82\xda\tj'\xa8\x9d\xa0v\x82\xda\tj'\xa8\x9d\xa0\xf6\x9a\x82\xda\xe5\x06\b@\xed2\x1b\xf0\xa8]\"\b\x87\xca([\xa1D\bY!,\xc4\n\xe1]\x9b>\xa5}[{\x8a\u0195\xd4KL\xd0I\xedg\x19\x94\xaa\u03f6\x89Uz\x1f\x83\x1b\xce1\n\x93w\xac\x89\xc7^\u02fa\x97\xd3'\x9d;\xedL\xb0\xb24t\xe8\u02f9\x19^G:0\x16\xdd5\xd3YYu\xc9>\x06\xa2\xe9\xc1SI\x0f\x16\xaa\a\x1f\xaak\xbc\xec\u00ce\xb9>\xa4\a\x8b\xb0\a\xff\x9b5\xf8\x05\xcb\u018c\xf5\x95\x99\u011f\xd7p\xaeuR\xd7N\xf9\xd6\rp\x19\u06c3-\ua635\xcaH\xaf7\x8f\xb1\x00\x85\xc6o\x1f\xd4|J\xf4\xba\x8f\x8c\xc5ia\xad\xd8K\x0e'\x9d\xf5i\xef\xa0\xcf\xfe\xe2C\x9b\xbe\xb1\u0426\x13\x94\xac\x98\xd2&\x9c\xb3\xf4;:\xea\xe8\xa0z\xf5g`\x9b\xf8\x80\u0479\x9f\xae\x9e\xaf\xde\x14?\xe0D\xdc1\x18\x7f\xb4!i\x88e\u01ad\x9c!\xbb&\x03\x88\x9a\xa8-B+\xbd/M\x04\x10\xb9\xc6\x15eO~\xd4A\x8f\x137\xfe<;\xc5e\x83\x95\x1bc\x95\xb0\xa5\xda\x1a\x02\u0652\x9c\x9b\xe0\x93u{`\x06\t\xd9\xe5\x84-\x11\xb6$\x1elI\x1c6\x8b$l\xa9z\xb0\xa5*\x7f\x06)\xa1_\x84~U_\xfaU\xfbh\xed{Ru\xac\xde0\x96\xd8\u046f4\xabV\xae\xaf^\x9d\x8d\xe2LXk\xc3v$\x1f}\x1b\xccX\\\u05d5\x9e&\x80~IZc\xc2.IUn\xd8U\x91\x13,\xaaR\xd5C\xf1\xab\u0420\xea\xfc\x12\x0e6\xb6\xdc\xfeja\xe3\xc6_&p\"e\xab\xe4\xfew\x12\xfb\x9f\x92\a\x10\xe5>\x9f^\xab\x8d\u0389\x92]<\xafT\xba\x84\x15\x87#B\v\xa9\xbb,\xcf\xf9\xb1\xaa\xbc~\xa3\xb22\x84\x96H\xac\xef\xfe\xd1j?\xb3V\x06\x87\x86\x00\x88\xbe;z\xfd\f\xcd\xdf\x1a_\xf5\xc1\\\xdd>\xab\x93z\xb49\xb3\x14@t\xff\u03bbK\xc7S)m\xece\xbd\x0f\xef\xfb\x94\x03(\xdcf\xa4\x14\x82\xcb\xd5\xce?\x9f\xdf\xf1\x16c\xd1N\x93\u016d\u4ab1\xf5\"\x7fr2%\xa7\x0fNx4OwS\u068e\xb7\xc5\x17\xc3\x14\x9f\x94\x8c`x\x99\u07c2jj_\xafh\xefBz\x04\xfc\xe3\xe2\x935\x87\xd3&\xddy\xea\xd1\f@\x94\xa8`\xb0\xf9\xe4\x13\x9d\xfd\x80B\xa6\x8e\n2\xb3\u06c6mf\xac_\x80\xc0V \x90\x1f,\x10\x10\xc8\xd7\xc6\xccTr\x13Y\x00\x818(6\x02\b\xaa\a \x10qk:\xfe\xc6\x03xe\x7f\xb1>\xa7,3\x88\xb1\x00\x85\xf4\x9eg\xd5R\xfd~l\x02c\x01\n\xe5\xc1^\x9d\x96&N?\xc1X\xe2\xd3!\b\xc2 \bCl\x10\x868t\b\x820\xaa\r\u00a8\xe2\a\xc0\xf4\x9b\xdc)3\xb5\xe3*\x7f\xc6\x12;\xec\x11\x15\xea\"o\xb0s\xb5\f\xa0\x90s\xe0\xfa\x8d3\x1b\x9f\xad\xc7X\\w\x97z$\x00{H\xa8c\x82\u0252\xed\x0f+vp\xe7\"|\xe4)\"\xf1_\xd9\xea\x90o\\\x02\xd1\x1c\xd77\xee\x0f\xd4\x1e\xf4\xafn\x1c\xa3\x9aT\x15@\xf4F\xbdo}\x9dY\xedqu3\x10\xa5\xaf[\xaawA\xdb\xe7&V\xb4\x0f\x19\xde|z\xa3z\xe3\xa2\x18\x8bv\xea\x8d\xd8E\x1e59\xed>\x8a\xfb\xece\xd57-\xe1\xdd\xf9\xaboG\xacW\x9a\x18\xac\xdc\xdb\xfa\xb3\xf5Lzz\xae\u02fd\xba\"%W2ip}\xf2\x0fr\xfa\xc5o\xe5\x10\xae\x84\xa2_\xd9\xf1\x9cm\xc7'Gf\xcb~\x88\x02\xcf\xe8)t<\xd9u-\r8\x8a/S\x97R\u3f4c\xb1\xab'g\xc2\xe3\x1f\u4562\n\x96\xcd\"\xde%4\xee\xb4\v@\xd4}c\xdbU\x05\x85\x85)\x00\xa2\x95/\xe6\xdd\xf7Z\xf8\x8c\xf38+e\xebG\x8e\xd6x\xa8\a \xea\xf1=\xae\xf5\x94o\xd2\xf7\x01\x85\xf6\xab\xa85\x1dl\xd8\xec\vc\x95\xb0\x86&\x9f\x04\x17#D\b.Fp\xc2\x15#\x9c\"\xc5\b\x845\xfc\xb5b\x04\b9\xffS\x14\x93\xa1\x10m*\xcfX\xe2#\\\x88\x92'J\x9e(y\xa2\u4252\x17;%\xff>mP\xb7\x91\u05cb\xec\x19K\uc53c\xf2i\xa9 \xad\xd3\xe7\xae\x03\nm\x18\xd2j\x80l\x87\xa1C\x18\x8b\xeb\xeeu\x95\x04(y\x95W\xd8~](\xb5\x91\xfb\x19~\xa7,\xa9\xc1,\xf1\x1c)\xf7\u01d4\xfb\x17\xef~>eJN\xab\x9e-\xce5\xe4i\x0e1G\x04B\xed{\xe1\u0133\xef\xc5\xf0\xb0\t\u0775\xb7^\xd0\x02\x10\u077c\xd0\xcb&(\xd9h8=\xb1|g\x19\x90\xabPaLEo\xa6\xa2\u06c1\xdcc\x99\x8c\xa9\b|\xb7\x13b;\xfe\xa9<\x0e\xb9=,\xcf\xc1mk\xe7x\x11\xf6\u03ea\xb6\u1488\x1c\xfc\xfa\xa0I+F\xeei\xea\xc8\xf3{7\x9f\u03f4\xf6\x02fIW\u048b\xd4\xec_\x03\x88V\xbd\x7fy\xae^w'\xfe/\x9b\xf3\u0740\xd8\xf1g\u06ae|\xbe\x0f\xab\n,\xd2\xf2\xa6^\xfd8\u075c\xb1\x00\x85\xde\xdf\xf6\xf3\xb2\x8c\xd9k\xc2X\x00\xa2\x9d\xab\x9b|0\xeb\xd3\xe0\x7f\xf6\xae<\x1e\xaa/\x8a\xdfw\xc7.IZ\x94J{\xd1\xfak\u045e6\x8aD\xa5}\xb1T\x94\"\x94\n\xed\x1b\xadR\tm\xa2\x12m\x92\x8a\x92\x8a\xd2\"\x12\xed\x11\x95\x16Q\u0466\xae\x16~\x9f1O\xcfd\xee\x1bS\x83\xc1\xfd\xef|\x98y\xf3\xee\xbd\xe7\x9e{\xce\xf7{\u03b9*4\xc4\xfb\x19Gh\xe6SJ,\xect\"%OU\x1ev\x1awPC4\\}\x81Z\u040f\xd0\\\xec\u033f\xb33q\x06\u0663\a\u045b\xfb\x1c\x86W.8\x82\x9b\u01ffjq8\x17@\x14Y\xf0\xf8\x94\u03af\x89\a\x05\xab16\u02dc\x9f\x0f\xae\x1d\x11\x9d\xad\xf6(G\v@\xa4\xa6\xd3,w\x99\xfa\xd2tzu_b\xb3\x12\xd6\xffF\b\xf93v\x1cF\x89\xd9?\xe2\x00\x88\ued8f?\x9c4\xfe\xea\x94\u2338\xf2\xe8\xc7\xceg\x0fO\x8a,\xfc9]\xc1ocd\x89\x9b\xb9\xe2\xc3\xcf\xce8\xc4Yr!\xbb'o`\xaf1\x8bG[%uJ\x8d\xdf\xd9]`\xcb\xf5wm\xf0\x05\x05|gG\xc6\x01\x85\x05\u02a3\x86\x14>\xd1\x01\xd7S\xe0/\x7f\x8a\xff\x98Ba\xfb\x9c\x13\xe44:\x01\x88j\xf6\x18^\xeb\xf0\xd2f\x8a\x00\xa2D\xa7\xb97\xae\xeb\xc3\xcd\x00\xa2\xf7\x03\xb2W\x9e\xf9\x96\x1a\x05 \x1a7\u00b3\xbe\xa7|\x1b%\x00Qt\xac\xf1\xdc\u018f\"\x83\x00D]^\xbf\x8c\xdf\xc4\x19X\vP\x88Z\x7fzQ\u0702\xff\xe63R\x11\xf5\xdfp\f\xa1\xfe\t\xf5O\xa8\x7fB\xfd\x13\xea\x9fP\xff\x84\xfa'\xd4?\xa1\xfe+3\xf5_\xcbN\b\xf5_\xd3\x05O\xfdK)\tC\x849Q\"]3!Yi\xfb\u055a\xb9\u0227\b\xe5.\x80r/x\xcc2\xf2\xa0\x7fEP\xc5M6\xf0\x05\xd3\x10\x9d\x0f?\x97\x9b\u077dq\x04_8< 9\xc2u\xa2\xb7E\x04\x80hF\xbc\xfb\xae\xde7G\xb6\x03\x10=\xf0N7\xae\x7f\xc4\xe71\x16\\\xea\x95ot6\xa6w\xf70F\u2a4d\x82\x0e\xb6\x17h\xa9\xb8\xe4*=\xc1\xe6F\xa9Ob\u03f6\xbaA\a\xbb\x99\xb8(\xf8D\x99\x97<\x91:!\xf1\x92\xa32\x1f\x85\x1d\x852\xc1\x82\xb5\x8e;\xd8\xec2\xe5F%ew\xc4\xdeX\xeap\xad\xbb\xe6a:`\xd8\xcc\u0089\xc0\xc9\"\x9d\xea\x85_i\x8cuT\xca\xe8v0K\x00\u0467\xee\xed\xae\x8d\xbe\xb0\xa57m\xe2\xdcE\xca\x14$\x8c\u073f\x9e\u0342\x19\xb9\x9bG\rZ\xe4\xe9d(\x03\x88|\xefNo\xe0\x11T\xfb\x12\x80(\u0464\xc9\u018f\xdb<\x9b\xf2\x19\xe7Ec\xaemZh\xf74\x8e\u05a1\x02\x914\xa5\xf0+G\xf1\xebw\xb1\xf4\u03afh\x97\xbf\x89w\x9bJ\x01\x88\xd2>\xe9O\x8c{\x9b\xe8\x00 \xaaU\u0431\xeb\xf6\xfe\x13mi\xfd\x8cb\xa3.E\xd0\xf7i\x12\xad\xef\\\x8b\xf9tQ\x8a\xd5]\x95\x96Q\x00\xa2\xb6\xfd\x8el\x83\xf1\xd9\xf6\x15\xae\xef\xdc\xf7\x9a~l\u0671\xb5\u0767\x1b\x03\x88<\x94&N<\x15\xe5\xe9\t :\x17o}kY\xc2\xf6\xde\\\xb7cY\xeb \xdb\x15\x96\x9f\xf84\xbb\xc5.\r\xfba]\xa5\xbc\x01D\xfe1\xc3\xe6\x8f>\xe2\xe3\x84=\xf7\xbcg\x1fl\xdd\x7f\xc7\xe84\x00\x91\u03d5\xaf\xa3\xac\xef\xbd\xfe\x81\xfdl\xe4\xe8\xcc\x0e\xae\x0f\a\xf8\x02\x88\xa6\\\x1a{B\xad\xe1[_\xecg\xbd\\\xb4\vL\xbf.\x02X/2\xa8\xady\xdc\u0093\x91\u024c\x04 Z\xa7{\xa0\xaev\xcbs\xbbi\x85\xb9L\xd8\xc8\u04b3\x918\xa2\xce\u0232\u0708:7\xab\x93\u0473\xbc\xb9\xda\xea\xeb\xbdx\xb2gW\xed^\x00\"\xcf^'\f\xdf^\xb4\xce\x02\x14R\U00019a3c\x14\xee]\xc0HE\xe4\x92\xfa\x0e\xa1\xe4\x92\xdcl\xe1\x17\xa8u\xc1\xb8\u0572+\xd8\xc8%\x9b\x8a\a7\t\xb9T5\u0225\xd1\x05\xbb\xe4\xb9V\xb8p\x97Ph\xf1\x97\x19\xf62\r\xe5n0\x92\xe4\xa8\x1c!\x98\xaa\x06\xc1D\xab\x1c\xa4U\xae]\xb7\rc\x82\xbe\ay2\x92\xe4P\xe8\x84\u00a9\x1a\x14N\xb1V\xfe\x1ei\xcdFF<\x1c5\x8c\x91\x00\x85\xba\xc7u;zT'(\x94\x91$\x8e 9\xbb\xb2^\x98A\x8a\xecG@!\u04f06(=\xfd\xfa\x17F\xe2)S\xedwB\b\x12\x95\xc7\x7f\xee\x9a\xf1\u058eEy\x9fOy/\xfe\xa7\x13Z\xf8\xbf\xb3\x7f\xfa\xb5&\x96\x82\xfdS\a\xfa\vKx_\xa8M)\xf3g\x8d\x15=p\xa8p\xc0\xbe\xfa\xe5zVX\x81)wZ\xde\x0f\u06b7&\xab\xbd\xf181N\x8b\xe0`\x85;-\x8bOd+n\x1b\xf5n\x1c\u07f4\\_\x96pL'\xf7f=\x00\u0464P\xe3\xc0\xba\x01#\xfb\xf1\xfd?7H/L\xd3\"8\x17@4\xbeG\\\x9e\xee\xe9K5\xf9<\xfc\x17\xe7\x17\x9eK\u06a1\xac\x05 \xaac\x17\x1f\xf6\xed\u0633Z\x00\"\xf7\x99\xbbON\xed\xd1b\x00M\x11\xc6\xe3)B\x99)\xac\xa0\x7fQ\x05\x9aLSa\xf0\xa9\xf4]\xbc\xf3\xae\xf5\xe7.3q\x98\xe7\xc87\x8c\x9a\x81\xf0Z\xffL0\x89m\x7fI[\xb1 \x1dR\xb5y\xbf\xc1\x98\x9b\x81\U000e63f1(\xeat\x96\x89?97\x94\x86\xf5\x98\x84\xd7QQ\x06Wla\xaf4h\x98\x99\xd2,\xff%\x80\xe8\xe7X\x8ba\xd2c\xde\xf8\xd2\xef\xda\x053\x91\xac\xb5\x06E6(\x8b\r\rj \x16<\xbf\x1ch]\xcb\u04acIw\xcch~\xcf|\xf1\u939d\xa6\x9b1zN\x8d0\x00Q\xad\xee\xcf\x17\xf4\xdee?\x02@\xb4\u34f9{\xfd\u00e3\xd7\xd3\xf3\xb3\x9f\xc5\xf9\xa2\xec\xf13+\x8a\n\x88q!\u0281\xb5.\xaf\x85X\xfa+\xd6e\xe2\x0f\xedX\x00Q\xb8\x87Z\xc1\x8b\x87kc\xf9\xbeuJ\xefH\xdd!\xdfR\xa7\x01\x88z\xcex\xe3\xfd\xf8N\xaa\x1d\u05e2\xee^q0E5\xc6\x1f@4\xea\xc1\x876\xc1{S\xa7sE\x87\u043a\u04a3[\x99\x97\xd7\xf1R\xe9N\xddb\xffW\x8b\x1f\xb4H'-\xc8\x19@\x94\xbcyz\x94\xb6WkM\x00\x91f\xbf\x9bo\a\x7fo\x89\xbb\xee\x8eBrg\xde\x1a\x87w<#\xc7H\x80BV[N\x0ft\xd5\xd6\x1d\xcfH4\xde3\b\x7f\xfc\xc0\v\xc2\xce\x15\x88\xdbw,F\xb0\v\x8b\xa3u\xfc\xcf,oC\xbb\x99\x12\xc6hBt\xd2\xfe|\xbd\xdb\xf7[]\xa1Ux<\x9b]*\xa1\xdf%\x8e\x8bj\xab\xe9\x10-\xe8~\xbf[N\xb4\xf55\xbe\x8f\xdeM{\xe0\x9ey\xde#\n@\x14\xb3\x80r\xeb>xL2\x80hY\xef1\x17{k\xa9\xe3{E\xae\x9c2t\xa6v\u00f1\x03\x19\x89\xf6Kp\x83\xe2w\xa1\xa4U\x84\xa9\xbaT\f\xfb\xc9\xcfaSz\xa9%lt\xedW\x9c\xd6\xff\xee\xf5*\xb0&\xb8\x84\xe2\t\xdd{\xc4\xc7\xc0\xfa\x18\x10\x85t\xb3\x9cg\xf0\\q/=U\xc3\xcb\xdeW\xab\x8a.B\xf1\x8fN\xaa\xa9b\xae5\xf2]7\x00\xd1\xe1\xff\x0e\xf7Z\xdaP\xad&\x80\xa8\xcf\xda\xc9g\xaf\xc7t{L\xccg\x19\x9bO\x8b\xc3\xeb\x1cMZE)s\xa7\xff\xe4\xb8/\v\x12\xcd\x13\xb0\xe6\xb3g\x13\x93`\x93\xf3!\x9b\x19\tPh\xbf\xf4\x95\xf3Gf\xcd\xf4e$@\xa1\xc3\x13\x1a\x0e\xeb0Yj\x03#q=\xc03}\xa9:M\x9bpO\u01fc\xcevf\x0f\x7f\xb8\xf0\xbc\xf6jp\x89\x0eD#F\f\x9b>\x993a%\xa0\x90\xbb\\\xbb>'O\xc9x3R\x11;\xa7\u049f\xb0s\x84\x9d\xabR\xec\x1c\x04\x14\u028f\xee\xd1w}\x96n #I\x8e\xca\x11v\xaeJ\xb1sE*\xf7\xc4\xe5\xc3\x1b\xf7\xdbG\x863\x12a\xe7\b;W\xbe\xec\u0736\xc9\xce.\x17:u\td$\x89c\xe7\x9a\a\xb6\x9f\x91z)\xfc*\xa0\x90\u02c0A&\xff\xa5\x8e\xb1d$\u069b\xd8!\x84\x9d\x93\x1e\x83)G\xf8\xe7\u060f\xebc\xd9Nu\xf6x\xe1v\x90\xd6l\xa9\v\xbf\xdb'\x14~\xd2d\xc1\xb4\xdfd\xdfG\x8c\xd7\x03\xc3K\x13\xde\xe4\u00f5l\x96\xc1\x84%\u011e.R\xfc@\b3\x16\u00ac0\x193`\xe7\xa2v\v\u07fb7\x01\x10\xb5\f\u0219\x97\xf90\u020373WDM\x1d\x16!\xb3\u07ca\xef\x15\x1a{%u\xd1r\f\xfc%\xeaS\x9c\xf8\x9e\xe2\xb2-\xa3\x86|\x80\x9b5\x80(e\xac\x9ej\xc1\u0396\xdc\x05\xd0\xe9\x9f}G?t` \u07dc\xbc\xb1\x8cl\xd6\xdcoCC\x00\x91>g\x8e\x8a\x8da\u0771\u0628B}gs\xd9/\xc3t\u05b1\u060b|j=\xcb\x11\x10,\x98\xec\x90(|\a\xa2u\x1a\xc7\x14\xf7\xef\xafo%\xc6w.c,\x05\xa2$\v\xbf|\xe5ga\xae\x00\xa2f\x8f:,y\xa3\xa6\xa9\b zpz\xa8\xff\u0500\xde\xca\xd8\xc0\xfac\xf6Z\xe9\u037d\x15\xe3\x18\x89&\x12k\xfe\x99\xc0P\xcd.\x9e\u0347\xd4\xef\u04c7\xef\x93E]q\xf2)<3n\x8b\xa9\r`ea\xb1\xbd\xdd0\xe6t\xef\xd3\x11\xafo\xca\x15\xd0\xf7\x94S]\xd9\x00AJ$\xba\x81\xbb\x921ew\x16\x94\xe8\xce-\xde\x16\xdc\x10\xe9-\xf7\xf5\xb4W\xb2\xbe\b \xb2\x86\x89\xddT\x15\xfdj\xf0\x99\xbc-\a\xa6hj=\xb8\xc8\xdd #\xac-\xde\u01d9\u01ee.\x9e\xe4\f\xfb\xaeVl\x95z\xc8\x14@4\x7f\x88W\xebC\xeb\\6s\x8d\x02\uacef\xe3\xf7\x15\xdc\xd08\xc0%\xe1e\x9d\x1fS\xa4\x19\xa9\bF\xa9\xbb[(\x8c\"\xdf_x\a\x1d\x19\x8cC!7\x86\rFyP\xf1\x01\x06\x81Q\xaa\x06\x8cRa7\xf1\ueb5f\f\xda,o}\x96\x91$G\xb9\t`S5\x00\x9b\nk\xc8\xf3\x8c\xba\xe5\tko\xbc\xcfH\x04\x1a\"\xd0P\xf9BC[\x97\xaa,\xce\xeaU'\x9d\x91$\x0e\x1a\xba\xf3J\xe3\ud754\xd6\u0240B\xb5\xd68[Z\xb7\xe9y\x96\x91x\xcaT\xa3\x89\x10hH\xce\xec\xcf]\xf3;q\xbb`\x0f6o{\u045fA\x0f{\xd6v\xbf?=\xb9!\x96s\xedl\xad\xe7Z8\xda\u1b81\x84\xe8\xfd\u029b\xa3\x96x|\x9f\x02 \x1ax\xf7\xe7\xd6V\xcev\xab\xb9\xa1w\u03a6\x17\x94\u0539\xab4]\xe6%\b\xd8\xc2'N\xc8\xf6\xc1\x82SR#0\xbe\xa4\x94*[\xc0\xa0&\x12\xf2\xc0\x9d\xd5\x14\xac\x99\xc2%\x97`\xc7S\xfaZZ[\xbe\xdaq\xaf\x05s\x1e,l\u04e0>\x80(C\xe7W\xe6\x8c\x13=\xe3\v\x9fW\"\x81\xa0\x04\fW,8X05R\rN\xd0n\b \x1a\xb4rrP\xa8\x9e\xe9 \x00Q\u02cf\xbd\r\u031a\x7fK\xa5mr<\x9b\xc1\u0785\xed\x05Q\xd5`4\x9e\xae\xeccS$[\x16\xab_-\x13#\x04\xfe\"\xeb\xee\x12\xb8O \xaa\x1b\xb2\xee\x89Q\u01ddC\x01DK\x96Iwr9\xbd\xe3\x00\u07cf\xefhj\xf7(T_g\x1d\x80\xc8Q\xa1\xf3\xe7\x8f\xf5\xf6\x9c\xe3\xfb\xbf\xfb\xaa0\xa8\x19ut \x80\xe8\u00f6\xad]N9\x0e\u06c4\x85F>l\xd5\xea+\x9f>b\t\x1b\xf0W\xd4,A\xb0\x1e\xb0\xe1\xce\x12\x03\xfdQ\x85\x9d|K\x81\u064b\x00\xcc:\xf0M\xfa\u00f65b\xbd~Fv\x06\x10Ml\xb72y`\x9f\fg\x00Q\xf39W\x97\x1cn\xb8\xfb\b=W\xa2\xe5\x1cIjnWEL\xe4\xf7-6z\xad\xea\xf6\x9f\u035f\x12\xa6\xf3\xed|\xea\u04a6\xdc\xc374\xed\xd2G\xffM\x17\x1b\x01\x88\x8e\xc6}\xcc\b^\xadu\x1b\v\x8d67\u0659\xe6\x1a\xed\u058f\x91\x00D\xaa\a\\\xb2\x03\xd2\xfc2i\x94t\x13\xaf\xbb\x7f\xb5EI\xc5\xd7:\x1cw\xd1w\xf1\xf3\xbd\xa9I\xf3U\x97\xe4\xd6\x0e+\x0e\xd6=\uc450?c\xe8\xa9\xfe\x85?\x87\xb9b\x9c\xbd\xf5:\xfe\x8a\xf1%\x1e\x0f\xb5\x0e\xcc\xe9\xc4k\x0e\xa7\xff\xe7Px\r\xd9\x19\x7f\x1b\xeb\x9e\xd0o*3{\x9f\xd9\ucc63\xe8t\x00J\x8f\xf7\xaejT\xdd\x12\x19\xbd\xbc\xae\xe0\x12g\x19%\u01fc@\x94\xd70b\x92\xc3;\xfd\\\x00\x91\x8b\xeb\x99\x1f\x1b\x9a\xbd:\xcd\xdd\xfe\xfb\x82n\x06Dg?\x03\x14RZz\xfd\xe9\xbd>\xab\x9e1R\x11F\xdb\xe0\xa9P\x8cV\xa1\x8ep\x8c\xf6\t\u01af\x96\xd7\"\x18-\xc1h\xab#F+\t-\xa4\tF[e0Z\xd2S\x9d\xe0\xba\x04\u05ed:=\u057f\x8d\b\u045f\xbfpN\x02#I\x1c\xf2\xbc\xcd\x7f\xb5\xdbc\xc3\xf7\a\x01\x85\xae\xc0\x9cD\xe3\xb5V\x17\x18\x89\xa7\xee\u029b\x84 \u03ca\xcf\xf1\t{R\u067c\xff\xb1\x94\xf1\xf9\x97\xf9M\xab\xe5\x10)\x88\x01\xc0}:\uf816\x9fe:\xddV\xa6\xea\xf4E\u0387\xa7\x85#\xa2\xff8\xceJ\xd8z=\x9f\xda\xc6\x06z\x99\xe3\xe7\xec\x9fuM|Pt\xa5\xc0\uc2e5\xbeB\xb4\x02\xad\x1f\x15\x9a\x1c\xb5\x99\xef\xa3\xc1\u064e\x9a\xf6\x9f\xf4\u0378\xcb5S}\u0525{\xf7~\x00\x88\xba(\x8d\xcfI\xb9\xa7\xf7\x01\x8b\x97-\xc85\xaf\xef\xa7\x7f\u0485\x91x\x8b'Sb\xf3\n\xee\x12\xb3\x1e{O\xf9\xa7\xd2\xcf\xca\xdc\xd2o\xb2\xeaG;\x90M&\x91\x9b\xccd\xfa\xb2\xa6\xcf4\xe7\xdf\x05\x10\u024c\\\x11\\\xb7\xdd\x02\x9af\xe4\f\xc7`L\x1c\x15\xe2%\x94\xf4\x12\U000a9595\xc2M\xd0-\xd8d_\xea\x97\xe1\x19\xb4\xbfe\xb0\xd7_w\x9c1OGy\x19\x80H\xba\xc3i\xdd\xc5}\xfa\x8f\x15\xa7CU\u04773@4\xd7\xfe\xe1\xafOw\xae\xe1*\x12 \x9a\x19\xb4w\xc2\xeeF\x87nb\x8f\xad\x8d\xad\x1e{q\x9e\xea\x8cf$@!\xf7\xda\n\x96)M\xe6\xdc`\xa4\xc2t\x80\xed\x97W\x1e\xf4U\xa2\xf7\xa0\x13\x8e\xfb\xa9J\xad\xab\x05\x93#\xdcE\xf0O\xf1^\x99\x9d\xe1\x8dky\x02\xd1U\x95\x04\xd7\xf17\"\x8f\U000c6f4f\x9d(\xb2\xe1e\xcc\xff\vQ\xc4\xea{\x16\x16\u0178\x8e\x9f\xf9\x1c\x06\xec)N\u02b8\xdc8\x18\xed\x16\x9f\xbf\x91\xc5qs\xef\xa0?\xe3\u0661\xf3,-\x1c1\xa4\xe6\xdc\xe2/\xb3Ye8:j\xe1?\x95\u05a2\x1a\xb8;e\v2\xfe\xccS*R=\xf1\xde6K\x95\xc1\u0176\xfc\xa6\xdcppfz\xb8\x8f\xfe)\x00Q\xd3\xf9\x13g\xaf\x98\u0759;\x0f\x1b\x95\xb7oW\t-\x90\x03\x10\xad\xb9\xd7\xcd\uf109\xf1N\x00Q\ubede\x03\xea[\f\x1c\xcd\xfd@\xea\xa2\xd3\xeeqI\xf9\x80B\xf7\xdfM7\xb3\\6T\x89\x91~\xe7\xe2/&<\x0f\xe1y\b\xcfCx\x1e\xc2\xf3\x10\x9e\x87\xf0<\x84\xe7!<\x0f\xe1yJ\xcb\xf3(\xb6\x15\xc2\xf3\xc8t\x10\xc6\xe5H?\x13\xf9~\xdcj\x8b\xddT\xe3\xbbx9\xc1\x84\x10\x12@\b\xc1Ml\x87\xea$|\xf0%\xf1Xu\x89\xfa\xf7\xb2\u012a\xf9J\u32e3\x84S\xbdu\x95F\xd6?<\x17@\xe4\xec\x18\xecl\xa8\xe5:\xa1Z\xa3\xf4\xfd\f\x12\x87\xbd\u050b\x18\xc5\xf7Q\x9d\xb8\u06dd\x12N\x0f\xe0n\xda=\xbd\x95\xac{v\u036a\xc9\x1d\xc2\xf1o\x9b\x9f\xfb\xd6[\x84\xc5\x14\x1bmH\x9f\x1b\xb8^#\x9f\x91xj+u\x83w\"\b\xc2\f[\xb0`\x86\xaf)\x05\xaa\xb2c\x86\xf8K\xf0\xb4&\xe6\x0fn'\x93\xa0\x84\xb59\xb6\a\xbc\xce\xfa\xec\xdd\xc2;\x99\vb\u0651\u0102\x1d\x7fzO\x85x\x94\xb5\x95s\xb9\x00\x8d\x1c\x00\x91\xa5O-\x97S[\x13c\x00D\x1f\x9b\x85m\x8e\u07af\x10^\x1c\xe6K\xf9\xd0\u078a\x13\xe0\x15L\x9b23\xf6\xf1\xe4C-\xfc\xdd\xc2Aey\t\xa9\x18\xcex\x87[\ufbfc0[\xac+\xf2\u06ca\xa2\xb1\xa2\xbe-\xf6\\\xfe\xb6\xb9\xcb\xea\x17jq\x86bz[\xf1\\c\x8a=.\xcfO\xee\x13\xf9\xbc\xaei\"\x80(k\xb7\xaa\x95\x7f\xfa\xb0\xc0\xe2Z6?\xe0\xfa{\xfd\xd7\xf5\xe6\x14\xfe\x9c\xae`\x1d+\xbc8\x92m=\v\x8d\xa0\u0720\xf0\x03Z'\xe5v\x03\x88^\xa7\xbc\xe4<\xda9\x10\x01\x88\xc6:\xc6\xec,\xf0\x936\xe1\x067\xaf\xc0\xd6<\xe05\x94\x91\x8a0\xd8F}\t\x06K0X\x82\xc1\x12\f\x96`\xb0\x04\x83%\x18,\xc1`\t\x06K0\xd8\xd2b\xb0*\x99B0\u061a\x8b\xb0\xfb\x9a\xe0\xb3\xff\x1a\xbb\x11|\x96\xe0\xb3\x04\x9f%\xf8l5\xc2g\xe5\x1a\xe1j\x10\xa4^\xe1g\x82 t\x04\xa1+=BGl'\xb1\x9d\x92f;9\xc1\x01\x87mdj\xa7\xd0\n\xf8\x16\x03\xb7\u0093\xa4\xec\xa4J\x17\xa7V\x99\xb2\x90\xfd\xe7\xe6\xdeN\x9fpi%\xf6\xb9\xed\xbe9E\xec\x97\xff:\x0e\xeb\"\xbc=\xd8G\xc6qo\xe0\x03F\xe2\xfa\x18)\xb7\x9d&\xe5\xad\xf6\xa4\x03\x03\x9d\xdf]7\t\x9bK\xd8\\\xde\xc27\u5367\x06%_\x84\x1b\xd1\xdb\xe7\b\xef\x1f%\x95\u5beaNl\x01D]\xe6\xd7\xc8\xe6\xec2\xb8.\u062a\xf1\u0693\t%\xf72\x9c\xe2#F\xef\xf0\xff\x0f@4.\xafqD\xd0\x1c\xa3\xb7\xc5w\xaf\xd8\xca;rMz\xfa\xdc\xda\xee;\x05@\u0521\x8b\xca\xd2e\xefj\xe4\x03\x88\xeal\xec\xd9u\xdd\xe2\xfd\xfe\x80B\xcdo\f=\xd4,0\xee4#\x15\x91\x88\r;\x13\x12\x91\x90\x88\x84D$$\"!\x11\t\x89HHDB\"\x12\x12\x91\x90\x88\xa5n\u0615*\x84DT\x94\u0153\x88\x9cG\xc2HD\xceF\x82\x89TiL$\x9f\xf2e\xb1\x97U\x030)|\xddc\xf8\xa1\x88p\x83\xc74q\xe9\xd3Q\u05ed[\x16+\xf9\xec\xe4\x8bVc\uc6ff\xbc\xb63U\x0f@\xe4\xd6\xf2\u0761\x8b\ajL\x03\x10\xd5\b\x9a\xb3l\xed\xb9\xf6\x0f\xb0`N-\xdf\ufc8f\x9c\x8f\xf5a$\xde\xd2\xca\xe2\xeeE\xfc\xa35\xd5u\f-T\x90\xca\xfa}\xba\xc7}e\x9bY\xf3\x11\xf6\xcb&\xf4\xbf\x9e\xc3\x1b\xbc\xf4>L\xdc,m\x89\xa1_\xaa\xb5\xe5#M\x88J\u0744H\\SU\x0e\xd9\x13\xa5\x9f*\xfb\x7f\x9a\xaa\xc8\x13nMc\xf7\xf6\x95\a\x10\u0758\x96z\xceqS\u04e2\xcbf\xdf\vsD\xa8#X\x12zz\xe9o\xaf\x16\x05/\xe6\x1e\x95!\xed'\x8d\xb9\xb3h\xeckQ\x7f\a\xcb\x13c\x8e*\u05d4_S\xddRo*\xf3t\xe3t\xe9\x89_6\xfa\xdcP\x94\r\x80y1G\xb3\x89\xb7\xc7_\xbc~\b\xabR\x81\x87mm\a\xfdZ?\x00@\xf4\xcd\xdb\xe4\xcd\xd0L\xf3\xa7\xd8\xcf.)h\xeb\xbckR\xc6H\x00\x91\x8bW\xfe\xab\x90'{\xfaa?\xab\x1e>\xb5wx\xc0\xc9/\xd8C\xaf\xc3\xcfUZ\x8f\xd7Pk\x18\tPy\x81\xc0\xb5\xd6\xcbW-~\v\x00\xa2S\xaf\xef[n[\u058dn\x11(u\x80w9I\xb5\xbd\xd2\u0116\xa7\xc4\xe2\xb9C\x04\xa75\x9b\x9b\xd6{p\xb6\u98c3\xe2\x81\xee)\xf1u\x9d\x12\xe91\xf6\xc5\x1f\xf3\xc9\xc8P\x8dc\xa8\u05d1\x06KF\xfdv\x99\xfe\xe0A~\t\x9e_\xfd\xb9\x8e\x963-\xe7\xcd\x1fEs\"\xac\xf6S\xf0\x05\u06b6\x00\xa2\xc5[\\\x15z)\u06ef\xfe\xfb\xa7p\xadZhH\xb6,\x158\xea\xcd\xdf?\x85\xbb\xc8\xf7\x7f\xa9\xa4\xbd3\fY\f \xe24\x8fP{\xb3'u\x04o\n\xe8.\x9c,S\x80E\x83\xc5j\xb2 2\xb1\xf9xu\u04bc\x9am\xfe\xe1\xbd\xecE|/\xfcu;\xae!\xa7~f*\xf4\xd9\x06 Zy>\xb4\u064d\xec\x14\v\x00Q\xff\u01d3#\xa8\xbc\xa8E\x00\xa2\xd9}\x1f\x1f\xf1\xfd\xb2\x9b\x03 \x1a\xb8\xd2a\xa9\xe1\xf0Z\xcd\x00\x854\x0fD\xff\xba\xb8E\xbe\x15\x11G\u0345\xdf\xc6M\x88#B\x1c\x11\xe2\x88\x10G\x848\"\xc4\x11!\x8e\bqD\x88#B\x1c\xd1\u0111\xda0!\u0111\xea~\x99}\x1b\xf4\a\x10\x85\xdf\u07f0h\xf8k\xef<\xec!=\xa0K\xcb,K\u0345\xea\x00\xa2\xb3\xfd\xdcT\x0fO\x9dp\x0e\xfb\xd99\xeb\xba\a\xa5\xb9Mj\n \xfat\xe0\\\xa8\x86~\xe2k\xecgw\xd8y\xf5\xca\xda\x06\xa6`\x83\xa3m\x1ef\x13\xb5\x8d\x9f~a$\x00Q\xd7\xf0^\xdb|s\xbeN\xe6)\x9e\xd4|\xdcUm\x05\xdfXrZ\"(9J2sZp\xbbuP\xf8\xf8\xf0\xa1\xf5\x1b\xcc\xc6\xcefp\xbf\xe8_\x0e\v2x%\x9e\x954\xd3e\xb0\xe8\x99.E\xdb \xdeo\x90\x8c\u04a3\x974\xc0KrTH\x8e\x8a\xd8sT\x1c\xf65\u0255\xd9\x1f\xe1\x06 \xea\xe3\xf3\xf9\u0613Ofm\x00\x856l\xf5\v\xfb\x12\xab\xb5\x87\x91~wH\x96&9*$G\x85\u4a14\xe6\rI\x8e\n\xc9Q!9*$G\x85\u4a10\x1c\x15\x92\xa3R\xd8!9TH\x8e\x8a\x92\x12>GE*[\x18:.\xe5O\x8a\x9b\xabvq3\x81\xaf\xb2<\x00D\x0f\x9f\xcf~\xbal\u045c\x99\x80B*\xf1\x1bv\xcd\xf1^\xab\xc5HEl`\x13\x17\xc2\x06\x126\x90\xb0\x81\x84\r$l a\x03\t\x1bH\xd8@\xc2\x06\x126\xb0\xb4l`\x9d6B\xd8@\x95\x91,l`\x94P6p\xbe\xa8\xf7\xa5\x8a\v1,\a\xb0\xb4\xf4\x88\xa1\xed?!\x86\xff-\xccs\x93)H\xe6F~\xb7\xc7i6?T\xc7=F\x9c\xb0re\xbc`\x15\xd6\"\x1cdI\x0e\xb2d\xe9A\xb1\x91\x8bPzP\x91\xf8\xe1\x1f\xa5\a\x16\tZ[\x9e\xea\xae\x18\u02f77L\x0e\xef\xf8\xd8#\xaepC,\xa9\x13<\xf3\xec\xc6q\x8b\x01DA\u02ee\xf9\xcc\xd4\xc8\xc6\xd5\x10P\xe8\x80B\x9f\xf9\u06dd\x1a\x9ca$\x9e2\u0558\x86%\ue696\x86\xb8\xab\x86\xd3\xde\u02f4Ct\xa7\x15\x10\xd1\xf8\xc2W\fx\xa0\x10\x89'\u016a\xaf\xa1\xc7\xd6\xd7^\xf9\xf63\xd2=/\u0580\xbb\xaf\xbf\xd6\xedav\xda]U\x9c\u0510$d\x8fT%\x96K\xf6\xae0\xf7G\u0583\xa5TX\n\xbf7J\xa0\xb1\xf4$\tV\xffb\xcc\xcb\x0f\x95\x84\xf4+]\x97\xbaK\xba}\xd1\xc8\xf9\x12nh\xb6e\x10\x1dXr\xf0\xa7y>L\x12ik\x17~e;>\x16}T6\xd7\x15\x8bZR-6\x8f\xd0\xe1jt\x17\x7f\xbd,\x9a\xa7\xa2\xdcE\u029e(\xfc\n\xde\xc1/\xff\x12K\xac\xfb\xe7'\xe73x\xc3(\xcf@\x91\u07eb\xfc*\xc7[\xbci\x94v\xc4\xc1~8\x80\xe8\xe6Q\x83\x16y:\x19\xca\x00\xa2\xda:\xd6n\x96\xb5/Z\x01\x88V\x99l\xf1]|\xd5\xf0\r\u07ea\xce\xff\x05\xf7d\xa7\xc8^\xa6w\xc2\x18Q\x1b\xa8\xe4s\x00~\xfd~\x94e\xadp\xd1*\b\xf8a10[\"\x91=w\xed\xc7\u02df\xf09\xb3\x11@\x94\x16\xef5\xf2\xeb\x8bVt\xbb\x1b\xea\x11\x8be\xa1\x0e\x89lY\xa8Y\xf8\xc9\xf6\x15\xcff\x113\xc9T\xb7\xd3\u0674\xf9\x8d\xea\x00\x91\u07d1m\xe3\xfc\xeb;r\xd7\xecrJ\xad\xba\x9aoZsW\xbd\xc7\xc2\xc8\xef\x9d]\xba\x18\x03\x88\xda\x1e\\\xef\x93^c\x16w\xcb\xef\x8b>jpj\xd0\x15~\x1ew\xafev\u05c0\xddO\xd7\x01\x88\xbe(m\xf7\xd9\x17\xd6n*\xf6d\x0f\xf5\u059e\x15\xb92\xeb\x17\u05dd\xbbm\xf3\xd1\xcc\xf1\x86?\xf6\xb3\xddg~6\x9c\xf8\xa4y\x14\x80\xa8uZD\u03a0\xa3\xe15\xb1\x9f\xf5\xde\xd18S\xd6\x00:`\x03\r\xbd=\x8a\v\x97\xaf\x91]\xcbH\x00\xa2M\xb1/\x1c\xe7\xa4_\xfdL\x1fQ\aq\t\x05\xf9\x94\x12KFA\"%OU\x9e\x8c\x02\xfc\x8e\x1d\xae\xbe@-\xe8Gh.v\x92\xdf\u06598\x83\xec\u0443h{\"\x8e\xfbnE\xaa\x02\xe6\xcfoSx/\x7f\xbf\xadA\x17:\x15g\xdfo\u030c\xef+F\xf4\"\x95\xab/U,9A\xd7b\xef\xe7\xf8\u072e \x84\xb6V\x1e\xc6B[K\v\xc3m9gY\x8aX\u0143`\x975m\x81q\xf2\x9d\x1d\xde\xceOVM\x1e\\\xd5x\x85|\xea;a\x84\x050\xc2%:.\x16\x1by\x89N\u03ac#)\x7f\x92@Y\xc7\xc8 6\xf9\x8e:\x1f\x00\x14\x9e<4\xb9\xc6\x01\xbfl\x00\x91F\xb3\xd0\xfc.\xda\x0eK\x01D_0\x93\xf8\xebp\xa7\x03\x88\xb6P]\xc3^\xab\xbc\xe5\xf1keY\x146\x03@4\xe9\xf8\xde$=\x95C\x0f\xf8@\xb9\xa9\u07baJ#\xeb\x1f\xe6F\xf4\u038e\xc1\u0386Z\xae\x13\xca|\xe4\x92\\\x0e\xd7\xcf q\xd8K\xbd\x88Q|\x1f\u0549\xbb\xdd)\xe1\xf4\x00\xee\xa6\xdd\xd3[\u027ag\u05ec\x9a\xdc!\x1c\xff\xb6\xf9\xb9o\xbdEX,\xb1\u0446\xf4\xb9\x81\xeb5\xf2\x19\x89\xc6\"\x9a\xe3\x92\x16\xe0\xc5\xd2$-\x90MA6\x85Dm\x8a\xf0O\xab\xee\xdb^x\xbf\x99f\xce\xd508\x9aL\x1a\xb9\x1d[\x80\xcfC2D$1CD\xaa\xb50\u01de\xf3\x02K\xa2\x16\x04\x95%{+\x06\rt\xb8\xf5\xfe\xca\v\xb3\u017at\xc0\xff\x8e\x8dj\x8d\x10\x9dj]\x82\aBD\xb8o\x9b\x8dj\xfd\xd7\xfb\xb6\xe7\xf2\xe5\xde\x1c\x8e\xbc\xeb;\xfaS\x87\xb6\x00\xa2\xf5\xc3\x0e\xcfY\xde\xd5\\O\u4ded\xd8\xdb\xc1!Z\xdc\xda\xe6a\xcc\u0364(\x00\u0440F\r|}\xf7\xcd\xe1O\x01\x9c\u0669\xdb\xc0Z\xf2{\xfd\xe8%Rg\t7\xb2x\x04\xe7\xdf\xdb\u03caLW\xe2\x00\x88,}j\xb9\x9c\u069a\x18\x83\xb5\v\xf1[\u0342\x1b\xd6}\xb4\x9co\x86\u05b4j\xfc$\xc6X\xae?\x80(\xf5\xe3\xfb\xd8[Y\x9e\xca\xd8\a\xa8\xb6;\x923%\xe2\xfc\x1d\x00Q\xeb\xa6\xf6\xc9}\\\x9a\nN|(\xfc\xec+\xa3\xb5I\x8f\x147`\x1d\xc5\xed2_C:6\xd77d$\x00\x91\xdb\xea=\xd74\x96\xdf\xe9O\x1b\x9b&\x84t.o\xd2Y,\u05cc\xffC\vn\xde\xea6\xe4\xbdE\x89\x82m\xd1\x1e\xcc=\xab\xdf\rT\xd1\xe8\xe4\xfe\x9ew\xc0\x15\x84\xf3\x9e[\x06$s\x99\xd0\xc35\x96\xbe\v\x1a\xd5l\xd8Y\x00\xd1\xc5\xfb\xef\xe74x\xff\xf2\x17\x80\xc8U\xe3\xed\x82Y\xb7\xb5\"\x00DG\xde+(\x1e\xf6\xe2\xd4\x03\x14z\x90\x95\xc5\x19\xb9o\x8f9#\x151\u014dc\bSL\x98b\xc2\x14\x13\xa6\x980\u0144)&L1a\x8a\tSL\x98\xe2R3\xc5\x0e\x84)\x96\x14\u05140\u0144)&L1!\xc5$\x96\x14#L1\xd9\x14dS\x10\xa6\x980\u0144)&L1a\x8a\tS,\xaa\xf6\x12\xa6\xf8o\x98b\x18\u035b6\xc2\x14W2\xa6\xb8\u0697\xfd.\xb6\xd9\x1c\u077coPw\x00\xd1\xc0f\xb9\xa6\xc3\xfa\x1cw\x04\x14Z|\xbb\xe6\xbdd\xdb)\xfb\x18\xa9\x88\u032d7Q(\x99+\xdf_8\x99+\x83qB\xe5p\r=\b\x99K\xc8\xdc*M\xe6J\x82r\x132\xb7\u0290\xb9\x15\xc3\xd6>\xa3ny\xc2\xda\x1b\xef3\x12\xad\xbf\xb3*^\xb9\t1[5\x88Y\xe6~P\xe4\x91\xd6ld\xc4\xc3Q\xc3\x18\tPh\xebR\x95\xc5Y\xbd\xea\xa43\x92\xc4\u045ew^i\xbc\xbd\x93\xd2:\x19P\xa8\xd6\x1agK\xeb6=\xcf2\x12O\x99j<\x11B{\xca\xcd\xc4\u04de\x1c5\f\x84\x8dC-\xb1\xfe\x81\b\x9d\x15\xad\xf8\xbc\xec\xb4\x06m\x87'\x1d\xfa2\b@\xb4\xefG\xdaOo\x0f\x8f9\xf4n\x1f\x85q\xfd`}6\x98\xa3\xba6?\x15\xbd\xcbu\xd5\x00,!\x8a\x8bjq\xe7\x99\xdb\x19?\xecs\xdd,\xe3F\xc6\x15\xc4\x1c\xc4\x06\xee\t\r\xbe\x85~\x99\\[\x8b\x91x\xca$\u074cu\u038b\xae\x1e\x96z\x85\xedsl!\x9c\r\xae^,\x84\xb8lE\xcfU\xd4\xc9U\xc9\xc7\xd4i;\xd6\x13g+\xf2\x89\xad\x10\x83\xad\u0227\x8e\xb2(r\xd50$\x85\xaf{\xaeR0\x1f\xc5\x16o\u022bC\x03\x9a,?(\x0f je\xdeE\x7fV#\xeb\xe3\x00\xa2\x0e\xa9am\x8c\xbauZ\x8b}l\u03157\xf2\xd7^^<\x8f5\x89\xdd~\x86\xba\xfc\x1c\xe4\x1b\xcdH\x80B\x1a\xfb;\u05b9!\xf5\xac\x03#\x01\x88\xeaf\xccoz\xfa\xd5\x1eH\xdb\xc2A<[X\xb5\x01N|\x87\xd0m\xdf]N\xacq\x90\xd7\xc7\xce|X^\x9b;\xab\xbf{]\xe5\r;\x8c\xe786\xa5\x1a\xf3}p\xa4\xdd|kG\ub156L\u0548n\xc1\xa6\xe5\x7fF\x06&\u05b6\xf66\xd6V\xcebfR\xb8j\xd5\u0524\xf9\xaaKrk\x87\x01\x88\x96\xa4{$\xa2\xe0\xa3)\x00\xa2\x8d/r|\x15\x02S\xeb\u04b6\x95\xeeVZ\xf2\xb6\xc2c\xbc\x7f\x94\xd4\x01\xf1\x00\xbab\xb8w\x13\"w\x83\x9a\xb5\x0e\x98%=\xa5us\x01\xee\x95-y\xaf\xcc\xfc\xc3\xc8\xceQLc\x81h\u042b\xe1\u0357\x8f\xeb9\x927m\xaf1\xf3I\x1b\x12uJ\x8d\x9f\xc2\\`[\xa8\x01\xf8r\xa5\xe2\x86\xe2\xe8\xb7\x06i\x03\xc6\xebv.|\xa2\x03nP\x7f\xf9Ss\xf9~\xaa\x8d\xe5\x1e;\xb3\u135f\x02\x88\x1c\xfd\xbe7\xf99\xfbr\f\xd7\x12K\xf5\u0506\xebZo\x02\x105\xfc\xd0\xe2{L^~\b\x80\xe8\xb8\xc6\u0771\xab\x94m.\x00\x88jv\xef\xd46\xfeh\xab\x8e\x00\xa29\xf62\xdf\xf5\u0584\xcf\x00\x14Z\xd6q\x94\x9c\x93\xda\x02}F*B\x98k\xeb\tE\x98\xe5f\vE\x98\xe5\xba`\\\a\xd9\x15l\b\xb3\x04\xe0\x14\x04a\xae\x1a\bs1\x9cb\xf6I\xabW\x1f\x82M{1\x12\xadQ6\x15\xafn\x04\xf3\xad\x1a\x98\xef\xe8\x82]\xf2\\u\xe3q\x80\xe8\x89\u02c77\uedcf\fg$\xc9Q9\x82\xc4V\r$\xb6\x98\xcaI\x01\n\xe9\xado\x90\xb1\xed\bRg$@\xa1l\u02ce\x13/kml\xc8H\x12\x87\xc66\x99|\xa2\xe9\xdcG\xde\xf7\x00\x854\xf7\x04Z)\x86|\x7f\xc1H<\x85\x92\xdf+\x04\x8d\x95\xf1\x11\x84\x15\xd1G\x80\x14\xfd\x19\xfd\xdf1T\xe1gL\x16L+\x02\x94\xa4\xdec\xbc\x15\xa9SxM\x16\x01oq\xe2\xcbPr\u0656QC>\xc0\u035a\xfe\t]\x16\x8b \xa5\xca\x06\xb4\x04bS\xec\xaa\x1a\xd4U\xa8\xb3\xc7\xf1\xafP\x96\xc0:\xb3xR\x00\xa2V\xfb\x1f\xed:\xf4Y=\x11@\xe4\xf7\xbc\u01cc\x1b\xb5\v\xb6\xf3\xbd\xf2\x81\x11\x9d\x0f6\xb8y\xe9\x1d\xd7\x1f\x9f\xf9\xfe\xe0\x97\x89;N\xd2\u01bd\x1fo\xff0\xabe\xe20\xaf\bO\xabW\xea0\x93\xe7/\x14d\xb1X\xd8\x12h\v+\xd8#\xda\xecY\x8a\rj\xfc\xe2\xa3x\xef\xe2\"j\r\x80h\x87b7\xa7-\xd1^6\xfc\x10\u030a\x17\x93k\xe6\xaa\xf6g\x1f/vLl\xda\xf2\xef\x8b/\xaeI\xb8\xfbN5gj\xcc\xe9W\x00\xa2\u0624H\xa7;u\xaf\xcb\x00\x88\x1c\xf4\xdez\xf5\x1c\x1b\xd3\x18@\x14\xdc#\xfe\xde]\xad\xed\xa3\x01DK2O\xe9\xa7\x1c\xd2\xcd\xe3{V\xa7\u039a\xdd\xfcG.\x9f\x05 \x8a\xe9z\xe8lx\xeb\xc3\xc1X\x8c\xa4\xf5\xbeOJ\xbf\x14\x804\x8b\x8d\u03e7\x1aT\n\xa8\xae\x10A\x10\x06\xc6\nBl\xe9\xd1\xfc^\xd3\xe2si\xd9\xeaS\xfd\xe0\x9d\u037d\x01Dp\x8a~\xe7\x957'\xb4\x06\x10\u037b\xe0\xb0\u4937^=\x00\u0479G/?\x9eK\xdc:\x16\v\xef\x9d\x19\xb9+=\xf9\xdeKSF\xa2\xf7\xf7\x1d\x1c\x0eR\xf0\x9c\x05\xbd;H\xc9R\x92\x89\xdeAdw\xdcO\xb3K\xcenS\xec\xba\x05\xe4NI9\x93\x9d\u050d\u05ab\xab\x82q\x9d\"H\x8e\xae\U000e3d8b\xb0kY\xb5\xa9\u063a\xa2\xc1J\xeb\"\x86\xae\xd8O\xffD+\x16\r\x17\vy\x84\x9bJ\x88\xf2GH\x1f\u02125~%\xc6\x13\x15\x97X\rQ\vc\xfd\xe4\xbc\xc7\n\xc6|sq\xb0\xde\xed-Q\xbe\x893\x00D\xc6\x11\xcfw5\xfc\x15\xe8\xcf\xf7\x7f\xb5\xf8A\x8bt\u0482\x9c\x01D!\xdd[\x8d\n\x1fh\x1e\v J\xdae\x1a\x99\xa5b\x99\x02 \x92\xb5\xb8o\f\xf6\x1a\x98q\rNf\xfdOR:\xa3\xa7\x02\n\xedl\u4ab2\xea\x9a\xecPF*\x82\x93\xea\xde#p\x12\x81\x93\b\x9cD\xe0$\x02'\x118\x89\xc0I\x04N\xaax8I\xa9\x9d\x108I\x01\xe0R\x8f8\xe3Y\x00\x19h\xc0\x12\xe2\xb7(}\xb1\x9c\u055f\xa9PT\n\xcb\x0e\x90\x9c\\\x10\xe2^\x8b\xe0^7\x1f\xa8r\u0220\x8f\xcc\x14\x00\xd1\xfd{\x8b\x1f\xc4\xde;\xb5\x11@d5\x038(\xfa\x9a\xf1JO\v\x9e\xb2\xcce0V\xd7$G# J\xb2\xf0\xcbW~\x16\xe6\xca7\v\xf7\xde\xeb_\xf52\u04cc\x06\x10y~\xe8\u0763\xe7\xf9s\x03i\x88v*\xc6\u0357iQ\x9ah?_\xfa#\xcbq(}\t\x1f*HV^Z>'\x13oH8\x97\xb1\x9b(\x9f:*RE\xee\x1fFf\xbaH\x016\xd9\xec\"l\xf6Us>\xeeY\xd1\"\xb7\x105~RW\u07e0\xed\xa6U\xf4\ff\xb2\x01\xfc\xe1\xffZ\x0en%\xfa\xd2:\x91\xa5\x15ii\x83\xadW]]\xb6\x0fy\x02\x88j\x19uM\\\xa27m\x13\xdfG\xfdn\xed\x8fh\xa6\xe7:\x1d@t\xa1\u01c9%\xd9_c\x17\x02\x882\xe2N\xf5\x1a\xed\u0576\x11A]\x85\xa2\xae\xe6\x93V\xda\xc5\xd4o\xce_\xaf\x7f\xcf\xf8\xc9\xea\xf7k\xfbs?\xbac\xc1'\x15\r\x87\xf5\x82\xa1J\xeeXn\xef\xf6z\xf8\xc0\xdf\xfc*\x16\xb6U]\xb6L'\xe3Z\x86\f#\xd1>\x1b\xaa\xf6\xb0\xed[\\J\x1bAt+\x9f\xa9\x12\x8c\xe8\xcal\xae\xd5\xc1'\xb7\xce-\xee_\x03\xf6M\xb2\\\xd6\xe0$\x80\xc8\xc2wL\xf2\x887\x96F\x80BV^\xd3\xefh\x99,i\xc9H\xbfs\x05\x15\b\xb8K\xc0]\x02\xee\x12p\x97\x80\xbb\x04\xdc%\xe0\xae\u0103\xbb\x1c\x1a\xdc\xf5\xb9\xd6h\u01ce\xda\xcb\x1b3\x12\xa0P\u07f9^\x81*\xcf\xc7\x1b2\x92\u0101\xbb\x8f\x0e\x98\xb7\xc8\xf9<\xa4\x16\xa0\u0401\xbd3\x97\x0e\u0231\xbe\xc8H<\x85\x92\xb7\x10\x96+8\xa5\x14\xb9\x82J\xf8\\\xc1\x93\xb8\\\xc1E\xa5\u00a8H\xbe\x1f\xc9\xf7#\xf9~$\xdf\xef\x9f\xf3\xfdr\xe2\xcf\x05\xb5\x9aw\xad\x056\x94_\xd6\xf7\xfc6\xd3\xf0\xbb\x8fH\xbe\xdf_\"Oi'\"\x16\xbc\xb6v\xf7\xc5\x02GI\u0364\f\x9e(\x1aF1\x12\xbd\xbfI\xbe\x1fA\x87\xaa\x06:T,\xdf\xcfA\xa3K\x9f+\xe3\xfb\xeb\x03\n\xe9\u067d\xb3\xf4\n{\xbb\x9a\x91H\xbe\x1f\x81\x84\b$D !\x02\t\x11H\x88@B\x04\x12\x92$H\x88\xe4\xfb\x91|\xbf\nw\xafI\xbe\x1f\xc9\xf7#\xf9~\xd5d\xb3\x93|\xbf*\xbb\xb4$\u07ef\x98\x1d\xe6\xfc\x13\xeaz\xcd$@{\u03e2&\xb3\xb9^\\b\xed\xd1\xc78\xdf^\x00\x88nn\x9e8D\xfe\xee\xdcg|\xdf\x1a\xe7\xbe\xc0[\xa1I\xfa.\x00\xd1\xe8\x1b\xfa+O\x0f\x18b\x82\x1d\xcb\xc5\xe1\xba\xe6V\x1f\xeb<\xc7\u00b6W\x06\xff7cU\x8d[\u028cD\xfbl$\u07cf\xe4\xfbU!S%J\xbe\u07c8\xa1+\xcdG\xf8\xd8m\x04\x14J\xea\xdb,\xfe\u032c\u0401\x8cT\x04\xee\u05ba\"\x14\u0715\xd5\x14\n\xee\xca|\xc4y}:,\xe0.\xb5\x85\xc5\xd7#\xa0\xa8\xb8A\xd1?\x00\xa9C\xcd\x0e\xee3\xf00K`$\xdad\xf6d[\x15\x84\u074c\x15\x02r\x12<\xf3_5E \x9e\x99\xea\xe6Q'\x1ef\xbdb\xa4\x12\xea3\xfb\xf6\xae~\x9a\xcf\xda\xe50R9\xaa\x8f\xb8\x00K\x82M\xfe\xab\xfa\b\xc4&M;*\x0e\xef\x11\xd0\xe7\x15#\x15\xa9\x0f,R\x9f4\x9f7\x8frr\xdcl\x19\tP\xa8\xf9\xa13z1v\x1a/\x18I\xe2\xb0\xc9_v\xbb\xa7\xe8\xdc\x18\xb1\x02P\xe8\u00b7\x83\xb7\xcc\xe7<\x7f\xcaH<\x85\x92\x9f,\x04\x9b\x94\xa6\x97\n\x7f\u056atk\xcc}\xaa\u031dt\xdcy\u064f\xd7\\m\xc1\xf0\x03\xc6\azh\xdb\xf2\xba\xc3{\xe9k\x82}:|V\xcc4>?e]\xf0\xf0~\xe9\x93{\xe9\x02\x88\xbe\xbe;\xf4u\x99\xf3\x93\x9f|\xaevmJ\x99\xef\u06e3i\xb0K\x94<\x1fV\x90\xa6\u063b\x9c\xef\xe9h=*\xf6\xc2+QG4\x83\xef)uj,X\x9e\x04\x06\x19qEO\x83-\xd6OL\xc6\xf1\xf5\xfd\u04d7nj\xae\xb4v'}'\x13\xc7\xf2\u03c5\u05f5\xb1\xb1\xb6w\xb4\x9eN\xdf;[\x94@\xc6h\xe0\xc0y\xd3M\xaci\xb5\x80u\xf0\xf30\x0f\x8b&\x89\x1b\xc6Z\xa7\x178{U_\a\xda\x19(j\xf7-\u061a\x0f\x16\x87\xfeq\xc3j\xeff\xff\xb5}\xe2|\rU\x17u\x81H=\xe2\xed-\xa3\t\xaaf|\xdf\x7f6\xd2c\u00e5\u037d4\x00DJ-\x9f/\xba<\xecI\a\x00\xd1\xe6\xfbks\u031b6\xf9\xca\x1b\xfdW\x91\xc2\x10\x11\x93\t\xad\x04\aA\u031a\x8b9\xe2*6vh\xdc\xdf\xdb\xe5\xd1\xd2\xef\x00\xa2\x94\x01C\xbf\x7f+8\x15\x04 \x9a7\xc8k\xf9\xe8\x86k{\x02\x88.\xbb\xaf|\xdfe\xd6u9\x00\xd1)]\x97\xb4\xb5\xeb\xa8\xf7X8 E\xba\xde\"\x1d\xf7\u04cf\x19\x89\u07a1gx7\xfd\n\x80\x03\xe2X\xe0\x00w\u07b7J\x01\a\x94e\xe0?j\x8a\xee\xf9\xff\xae\xb72\xc3\xee\xe2\xdb\v\xe2B\x14\xb5<{\u04bb\xb3\xedok\xc4\xf7I\xa3\xa2QU\u06f8\x9a\xbe\xe3\xc0u\xc1\xcd\u079d#\x86-\xa5\xf7\xbc0(\x04c\xbaz]V\xf4\bk\xaf\xdc\xeb\xef\x9f\u009d,\u057ay\x91?G\x1d,\xbad\x81\x83\xc3l\n\xd2\x04\xff\x82\x91\xe5L\v\x06\xb2\xa9d&\x12\xa24\xa5\x98snO\xa9$\x00QF\x97\x91\x96g\x1e\xacx\n :q\xe9\xbfKj \xe6\f\x80\xc8f\xe1\x90n\xdb\x0e\x8e\xb6\xe2:\x893\x86;\xa7\xca\x1f\xb8\xcbHEX\x86\xb2)\xc12\b\x96A\xb0\f\x82e\x10,\x83`\x19\x04\xcb\x10\x03\x96!\xfbU\b\x96!\xd5\r{\xa5\xa3\x01^\x17\x97`\xc3\xd9\xf1\xa5\xe7\u02cb\xbb'8\x97\xf8U\xc3\xf1r\xdbgm\xdf\a \n\xa9\xf3\xc8`\xa0\xc3B\x1d\ft\xc2\xec\uc288\xb5\x8byH\xeb#\xea\xecK2\xd6\xfd\x04 jn\x1bZ##/\xe4:m\x8d|1\x8e\t\x9c\xc1\xb2\xeb\u0152dT\u01b44D&W\x0eG\x0fP\xf5\xddA\xab\xce:6\xbb;N\x92\xf5\xaa\x92\xe5tAt\xf3V\u05c4\xcc\xfec;\xf0\xe9\xa0\xd6z\xff\x8b\xbbt\x9b^\a\x10e\xe5*7\x8b>\xec\xb6\x1b\xfb\v\x93@w\xfb\xe1\x9bUv`\x83\xf1\xadmv\xbad\xaf]\x9d\xcdHt0\xbe\x85\x04\xe3$\x18\x97\xf4`\xbc\xeaG\xdcut\xa7\x9c_t\xf25w\xb3\xcfkj\x9ar\xdbm&w\xd7>\u07a1\xf3\xd0)b\xd3xF\xfa\xdd\"h\x16\t\xb3I\x98M\xc2l\x12f\x930\x9b\x84\xd9$\xcc\x16C\x98\xad\b\x84\x84\u0672\x8fpa\xb6\x14\xee\n\xfb\xca\x1a\xfcq&\xe1\a\x94O)\xe3G\x94)xD|\xf5%e\xdaY\xc5ITGm:\x9f\xa3fw\xc26Ui\xeb\xe2\x18\x00\x91\xe3\ue034\xb4-\x1b}\x00D\xea\x97}\xfbA\x8bu\xa9\x00\xa2\rq\x9f\n\xc2\xc2Rr\xb9\x01\x9a\x91\xf7\xe1ii\xf7\xbe\xd0\x06\xb4\x11\x9b\x01ek4S\xc9\xc2U\u0780j\xe2_\xfaMit\u0b28\x84\xf8\x922\xd4\x01K>\x1dH\x8dXt(t\xb1\xce'\x00\xf3\x06k\xf7\x8ex'\x93\u00cdj\xac\xf2oGO\x94\x99\x0f \xba\xff\xa5\xc1\xc6m\n?\xd6\x01\x88>O6\x96\x9b\xd8\u0317\xeb\xcc#\x19O\x95\xed\xcbTG\xf1=\xaa\x96\u06c5\x17\xe9\x8e\xfe-\x01D\x17\x0e\xad\xb6_\xf8Uf<\x80y\xff=Y\xde\xcdN\xe9'\xbd\xd5\xc6c|pNc\xb6=H\xe6\x9fo\xfey\x93\xf2\x8cm\v\x06K`f\x0f\xb1\xa4\xfc\x96\x14\"\xdd\xd3\xcauGt\uedcf\xefY*\xfd;>\u0732\x1ep\x1f\xb0\xd4\xd2\u641d\u053b\x0f\xd8\xc9nx8\xc5lc\x9b\xa6\xed\xb0P\x98\xbe\xf4\xf8\xae\xd2\v\x8fOd$\u0680\xe7\xfenNG\xa00\x02\x85\x15\x83\xc2\n\x12\xb1\xa9 Gy/XRg$\x05>\x83he\x9d\xc6\xce\t5\x06\xb6\x01\x10\xb9hi\u03d7I5?\x02 \xf2\xffu\xe1\xcea\xf9~\x93\x00DG\xe2\xd3\xe4\xb4\xd6\xc8i\x02\n\xbd\xb72\xaf\xb7m\u04dc(F*\x02\x9c\x1a\x7f\x12\n8\xc9\xc9\b\x05\x9cd\x130\x87\x9dl#\xb6\x06D\xa4=\a\x89g\xc5\u069e\xe3w<{\xa6\x9d\xef\x05eM\x8b\u014cT\x8ep\x88\xb8\x9aZ\x11\xdc\xf5_\xd5G`\xff\xaa\xf3/z\xda\xfa\xc4]{\xc9H%\u0434#\v\xfa\xf7T\xa9\xdf\u018f\x91\b\x18K\xc0\xd8\x7f\x02c\xd1e\xab\xbc\x1b\xea\xfd\"o1\x92\u0121i{\xa6vP\xeb>-\xc4\x0eP\xe8\xd3K\xf0\xaaC\x9cV_F\xe2)T\xdd\xe3B\xd04\xb9\xf5\xbc\x0f\xe0\vp\xe4\xfa\x96\xa6\x00\xe7\xdf+ex\x1b\xe0\x06\xef9\x98\x82\a\xd6\x02l\x01\xa5\xd3\xc5v\x8fX\\\xe9J\xd1^\x1a\xa2I\xa1\u0181u\x03F\xf6\xe3\xfb\x7f\xe3\xce\xf3Z\x7fl\xe0\xbaY\xa4\xca\xd4%\xf7\x01D\a.\xaf\x9d3,y\xddI\x00\x91\xc6\u05a17\xef\xabM\\K\u01f9I\x98 V\u039b\xc5\xces\x8e\xb3\xdcC\xe4\x8a]\xb8|\xca_tu\x16\x01#\xb3$j%\x92Z%8\xaa\x8fQ\f\\\xc2\u0758\x0fs\x87\x86\xdc\x7fl\xf6\x92\x9eA\x11.\x18\x12<\x17\x92|\xc1P\x15Y=\xbdwi\x9a\u07fb\x8e\t\xe0\xfe\xf5K\x1f\x1d\xa3+\x1f\x8c\x01DOFM<\x1cl\xe3\x1b\x03 \xea\xb7\u02e2\xbfS\xf4\xe1p\u07bcJ\x9dg9T\xa5\u0597\xf5\xa1Z\xce\xe9a\x12j\xa1\xa6\x13oQ$o\xb1v\xb2\x92\x8c\xb6\xf1\x85\b\x00\x91Q\xef\xaf7&\xe4mo,.\v5\xa3\xd2Y\xa8J\xb7z\x81\xb1 #\xa0C=O\x00\u0455%\xb9V\x17M^H\x03\x88\xeeh\x9fw\xb2\x98\xb4a\x1f\x80\xc8&\u621d\x01%\xd3\x01@\x14\xfe\xf3\xd5b\x9b\xaea\x1c\xbegi\x9c\xf64^3\xa1\r\xf7\xa3\x8e\xeb\xe7\x9dx\x9c\xdcy\f\xd6*\xc8\x0f\xb9\x92u\xed\xb0c\x0fl\x9e\u0518a\x17-\x8f\xad\xbet\x92\x91\xe8\x10}\t\xb6L\xb2\x9a\xe4Iq\x96b)\xb1\xa2bnA\xec\x7f\x95\xcb\xe0\xa9t\x1b\x8cdWI\xae{&(\xbb\n\xa2!\x89c\xc6\x16\xac\xe8\xdc\x18@\xb4\xfes\a\xd7o',j\xd0\xf3Jr\xae\xaaO\xce\x15DJ\xae\xa7So\xbf\x9e\xf7\r@\xe4\x11p\u0773\xc5\u04bb\x9e\x80B\xef\xd2<\x86\xef\x9b\xfau\x14#\xfd\xbeQo\x91P\u029a\xb4\u01eb\x1a\\\x1di\x8fGh9\xd2\x1e\x8f\xb4\xc7+\xfb\x9c\x12|{\xbc\xdf\xea\xf3\u04fe\x93\xc2\xc8=~~\x8c\x04(\xb4\xc8\xed\xc0\xacs\x03z\xada$>4H\x12X]\xe5\ufe5a\x1d\xbe\xfe\xe4\x0e!1\xf6\xf5\fm\x19\xed&\x8c\xc4S(ye!\xacn\xd9\u0768W\xbc-\xbc\x88\x0e\xf8_^\xc1\a\xd1\xcc\xf4\xeb\x9bO'f-\xe1sY\x92/k\xcc;\xf3\xe3\xb8\n_\xb8[\x85\xafH\xe3\u0174\xd8\x1b\xf5h^\x8a\u0728\x87\xf1\xe4\u024dz\xe4F=a7\xeaE\xec\x1c\xf2,R}Y\x0e\x80\xc8\xee\x89Q\x9b\xe4\xb6\xeb\xcea!\xb9.\xad\r\xeaL6j\x12\xceH\xf4\x0e\xb5\xc6\u055cT\xb9\xcee\x92\xd2V\x8bg)^\xf3f\xb7\x06%_\xe4G\xd1\xc8\x0e\xa6_=?\x9eT\u0276\x1a@d\x9f\u057d\xd50\xe5\xba\xc7\xe8\x90\xda\x02\xe3\x84s\xda`^\x9cO\xd7\xf3a.\x8b^\xc0+xG\x9e\\\x85'I\x06\x91\u063c?\xaf\xd9T\x9dp\xe7\xc9\u052d\xed\x8e\xf0\xe3\xe2F\xed?+}x\\\x1b@\x14|k\xcc\xd9Do\x9f\x9aX\r\uc97f\xe3\u0325\xf7\xe8\x1d\x16\xe5\x1a\xb6\xe3Z\xb3\xa6\xdfgub$z-\xae\xf1FZ\rP\xae\xaax\xe1\xdd\u05ee\x1c\xef\x18\xbb\xd6\xc9\x00\xa2\xc8\a\xcbO\xba\xef\xa8\xe5\x0f(\xb4\xad\xfd\xaa\x99\u0516\xbe\xa1\x8c\xf4\xbb\ub86ep0\xe5\x8e\U0002e1fbp`\xca\x1b\xb6\xae\x87\xa4\x05]u\axH\v:\x82\xfa\x10\u0507\xa0>\x95\f\xf5\xf9\u0bed\xd88\xde\xe3\f#I\x1c\xeaS;\xfa\xf2\x82\x9a\xdd\x02\xc7\x03\nM\xcd\u02eb)\xffx\xac\a#\xf1\x14\xaa^7!\xa8\x8f\xa2\x8d\xb0\\\x13E\r\x9e\xdf\u01dekR\x9d/\xaf\xab\xee\xb5\u0382/\xf0*4\xc0OXZ\u071d\x11\x81\xda,\x856\x15\xfe\xfc\xe0\xa0\x1b\xb3Z\u055e\x98M\xff\xc4P6\xec\xa0.\u0456\x92\xdd\u072bg+\a\x88\xee\xb7\x01a\x1a9\x83\xf8\x95}\xd7\xc4\xeb\xc7\x12\x1e\xcf\xcc\x06\x10\xcd\xd2n]?\xac\xb7\x9c\f\x80\xa8\xc5&N\xdf(\u0649\xfdxj\x84\xbf\x9f\xb1(\xa9\x8b\xdc\xcfH\xeeg\xacz\xe6\x9d\xdc\xcfX1\x06\x9a\xdc\xcfX\x91\xf73\x1e)\u063cbs\xbb\x11{\x01Dg\x1f\x1c\x1e\x93\xd1q\xca-,\xfcz\xb0\x81\xeeus\xff\xb3\x1cF\u2b51\xc2\x0e^\a\xb1\xea\xdbw\xac\xeau\xa9\x92`\x9bA:\x88I\xac\x15\x12\xf9~F1\u07fbW\u01ae\xa1\x88oS\xe6\x14|^\u00c8I\x0e\xef\xf4s\xab\xc3d\x96yn\xc0\xf8\x99\xedVE\xdbo\xff\u011bLN\x18\xef\x97J$p\x8b\xe3zC\xe2\xf9WX\x13\xbb\xc5\xd72\xa5~&\x99\xdd`_\xcb\xca\u0410\xb0r\x9c\x02\x8d;\xcfk\xfd\xb1\x81\xf3XQ\xd7\x12\x9b\x9ao8ev\x7f#%\x13\xae\u01db\xfa\xbc\u07e5E\xdeS&\x03\x886\xcd}\xc2\xc9\v[\xc8\xdd\xdd\xdf\x0e\xe9\xde9\xd1q\xaf4w\xa3\xbf\xaewa\xbb\xea\xb9\a\x80B[\xdb\xd5Y\xab\xab\x1a\xbc\x97\x91~\xb3\xc9}\b\x9bL\xd8d\xc2&\x136\x99\xb0\u0244M&lr\xb5b\x93\xb5\b\x9bL\x82\x0e\xc2&\x136\x99\xb0\u0244M&lr\x15\u06f0\x84M\xae^\xebM\xd8\xe4\xaa\xc0&o$lrUc,%\xd8f\x106Yb\xad\x10a\x93\t\x9b\\E\xd8\xe4cX69JH?0\xe2\xf4K\xa2\xd3\x0f\u0464!\xed?&\x99\x98^f_\xc6\xdf}\xcf$s\x19+\x87\xed/K\x0ey\xe3\x93~\x8dwL\x9a}\x02@\x14vr|@\xaf\xd3k\xb7\x00\x88\xe6\x9b\xcd5H\x06\xee\x1b\xb9bH\xe7A\x89G\xd6\xf5\x04\x14\x1a\x950\xbb\x81\xf1\r\x8b\u068cT\xc4!k\xb4%\x1c2\xe1\x90\t\x87L8d\xc2!\x13\x0e\x99p\xc8\u0549C\xae__\b\x87\xac\x1c\x85\xebC'\xb3\x93\xc5'\x84\x03X\xc8\xc1\x06\xa2\xc3\v),z/1Q(A\xa9DA\xa9ne&\xcdZYo\x84!\x80\xc85j\xef\xa9\u082b\xb2\x00\xa2&-;\xc4lU\xd8}\x8f7\x99RZ\x95N\xc7\xca88'h\x9b(h\x9bW\x81\xd4Z\xa7__\xf3\x01D;\xd6\xd6n\xf0_\xd6\fn\xd8\xd4\\\xbboG\u0650\u045a\xf4d\x92V\x87\x12\xa6\xe3\"\xb5:\xf4<\xba\xcc\xc9'F\xab\r\x80\xa8\xbe\xc6#\x85\xb1\x93u\xe5xK'\x97\x82\tH\xe5\xfc1/\xce\xdf\xeaP\u038eE/\xe4\xfa\xe1\x83\xdaJI\xeds\x8e\xe3\x8d)\xc7\x15kR\xf2)\xdcd\xb2\x18Z\x11\xe8\x85\xe9\xe4P\x15\xe9P\xad\x9d\xac$\xa3m|!\x02@d\xd4\xfb\xeb\x8d\ty\xdb\x1b\xd33\x18\x8eQ\xd8R\xcf\xc5\f\xd1W\u03c9\xac\x9eH\xab\x17\x18\v2\x02:\xd4\xf3\x04\x10]Y\x92ku\xd1\xe4\x854\x80\xe8\x8e\xf6y'\x8bI\x1b\xf6\x01\x88lb\x8e\xd8\x19P2\x1d$z\xcfZ\x12'E$'%\xc1Q}\x8cb\xe0\x12\xee\x11\xf80wh\xc8\xfd\xc7f/\u0175g\xad*\u075e\xadt\xab\xa7\xf7.M\xf3{\xd71\x01\u073f~\xe9\xa3ct\xe5\x831\x80\xe8\u0268\x89\x87\x83m|c\x00D\xfdvY\xf4w\x8a>\x1c\x0e \n\xb7\x8b\xb5\x9aX?l\x03\u07f3\xbe\x9f\x91\u0355:Y\xfb\x12\x80hZ\u042f<\x98\xa8\xfa\x12{\x92\xf7\u0639\xef\xf5W7g\xc1\xa3q\x02\x14:~\xea\x91^=\xb3\x9f~\x8cD\xa3\xf3-\xb1W)U\x93\xbc\x14\xceR\\\xef\xd9|\xcex\xde\x14\x94\x9c\x9c*\x981Q\xe9\x0eE\x92\xcd\"\xb9\xc6OP6\vDC\x12\u01cc-X\u04791\x80h\xfd\xe7\x0e\xae\xdfNX\u0520\xe7\xb5J\xa7e\x90\x1c\x97J\x99\xe3\x02\xd1\x15w\x1d\x87_\xe6#\x14\x00D\x13\xb7]\xfa\x12\xf8\xa9_\"\xa0\xd0d\xf5\xf75\x9b\u0229\xdef\xa4\xdfE\u05daB\ts\xb9\xd9B\ts\xb9.\x18|Bv\x05\x1ba>\x8b\x05\x95\x80\xed\xb1\xb6I\x9c\uc438\xf8tt\xf7r\xf2\xcaw\a\x14\x83\x18\xa9|i\xaejD\xb2\xbf\xf2\xab;\xe8\u3478\x8d\x8cT\u0326Sh\xf6I\xabW\x1f\x82M{1\x12\xadQ6\x15\xafn\xe2\xe2\xdf\xd1'\xa9W}\x16p\x02\x1b3R\xf9\xaa[5\"\xe5c\xd5_\xe7\f\x1d\xe7\u05d5\x91\xf8XU\x0ew5z\x84\xf5p:\xe9{\x8c\x91$G\xe5\xc4\xc5\u0663\x83\xea\xf7C.)\x0e\xd5f\xa4\xf2U\xb9jD\xe4\xaf\u06aa \xfb\xcd*B\x87\x91J\xa8\\\xebm'n\xb6\xe8`\xbb\x92\x91\x00\x85\x8c\x9d\xbb\x86\xd6k\\/\x99\x91\xf8|\x15I \xf2\xf5\xa3\x1e-4\x1f\xfe\xe6\b\xa0\x90\xba\x9c\x8a\xaa\xef\u022f5\x18\x89\xa7PuW\b!\xf2k\x0f\xfds\u7337v\x9cE\a\xc0\xc6\x7f\x02\x89\x86\xbfi~N\xdb?\x83c\x13K\xc1\x10\x00\x9d\xa3\x02\xdf\U0007e02b\x03\x84\xe1\"\xc7c\u0419e\xb7T\xcfx\xac\u0408\x8cgc.\t\xbe \x18_(\xacu\x9c6-\xb3m\u07d6\xd1\xea|_\u028a~\xb2Y\xf1l\xdf\f\x00\x91\xf7\u06c4\xc9\xe7\xf7(5\x02\x10\xf5\x98\x18\xeb\x7f\xc8}J\xf7\xdf\xdf\xe7\x00\x88\x1a\xbf\u0631\x03h\xbd\t\a\x105\x98\xd2\xee\u8a8bA\xdcqo\xe8\xd7{\xd5L\x99i<\xaa5\xbf\xe6M<\x04\x0f\xe9K\x9f\xf0\xad\x19Xu>\x8d\xe5\x7f\xc7\xff\u0139\f\xedfJX,\b\x91V\u060f\x91\x93\x03\xdf|\xe1\x9b\xff6\x0f\x9aq\xfak\\lA+\xb0-\x9bv\xf7\xc1\xc4HL\xe3\n\xac\x85\xaa\x9e\xda\x0f\xd1,\u0347\xd1KCVO\xe6\xfbh\x97\x1a\xad\x0f\u050d\xa9?\x12@\xa4s{lH\xbf\xdeG\xeeb\xc1\xe5\x1d\x9b&/\xceM\xbcg\xcdH\xbc\xc5P|\x80Wt\x99\u036cd;\x87&\xdbeF\t\xdb\x0f2R\xf8\x99\xd4\x12\u0303\x15\u06ef5\x03\xe1\xb5\xfe\x99`\x12\xefY\xd2,\xf7\xb8\xe7K\xa9\b\xa8\xe9\x1fcA\x1f\xa3\x1c\xcc\xf5x\\\xbd\xdaP\x9a\xbc\x82Ix\xad\x16e\x18\u0156\xf0J\x83\x86\x99)\xcd\xf2_\x02\x88~\x8e\xb5\x18&=\xe6\x8d/\xfd\xae\xff\xfd\xfd&\u0247\x99,sD\x95H\xaf*v\xb8H\fb\xc6}\xb8%\xfb\x9a\xf0\x1a\xdct\u01cc\xe6\xf7\xcc\x17\x9f\xee\xd8i\xba\x19\xa3\xe7\xd4\b\xe3Z\xb1\x9e\xcd\xf2^\r\xffn\x01 zmm\x97\xb7\xefV\xfb\xa2:\xee\x12\fkq\xdbU\"\xb1\xe4\xef5YL\vQ\x0eIkB\x16\x82\xfa\xa7\x85\xa8\xd5\xfd\xf9\x82\u07bb\xecG\x00\x88B3\"?\xf67\u0715\x06`\xde\xcf5~\xb1&\xe1\x9d\xf8\xbe\x94}~\xc5\u0736;9\xbd\x01D\u9b7eKi\xa4~\xb9\x02 \xfa\x10\xaa\xec\xa3<\xc7|)\x80h\xad\xe6k\xd3\xf3\x1a\x9aw\x00D\u074e78\x19u\xb9\xc6\x1ar\x1eU\xc8y\x14`z]f\x9ff\x7f[\xee\xee\xbe\xe9\xbcH6\xed\xe8O\xec\xd1\u0526\xfbW\x1f\xcb\xf4\x1d\x1e\x8c\x04(4e\x83\xd1\xc3\xe5\x93\x7f\xcdb$\xda\xfc\xab\b;l\xa4b\u0635\x95\xae\xf6\x97\xda\xc6b#\xe1W\x9c#\x96\x0f\x13Y\x923J8\xf5\xf8ep \xd6X\x885\x86\xc8'\xef\xa7wO\x95\xcd\xd7\xe8\xa9\x1a^\xf6\xa7ZU4\xa6\xc5?\xbaH\xf5Qv\xadw\xae\x83\x00Dm\x1fq\xdaIEf\xb9\x01\x88\x1co%u\xb0\x0ePh%\x06c)E\x8ce\tc\xe9\x98:\xaf\xe9\x01]\xa3\xe6\xfc\x87\u064c\xe3\x0e\x81\xe34\x86\x03\x88\xdeh.\xef\xbcQg\xa4\x1e\x80(y\u00d1\xae}\xee\xfc\xd7\x06k,\xa7\xa7\xffg{\xa1I~:#\x01\nm{{\xcfg\xc7V\xd3\xe1\x8c\x04 j\xa1\xdc\xc5q\xe3\x87U\x03\x00DV\xfb\u00fe\x0e\x99t\xfa3\xedZ\xca\xe0R&\xaaK>\t\x95\xf7\x1bp\xe3\xfb\xa4\xaeCQ\xdeA\fO\xcb\x05h\xaa-/\x19G4g\x01\x9b\x95\x89\x01\xae\xf6>\x1d\xf1\xfa\xa6\\\xc1.\xde\u0333\x14pO\xff\xd7,3\xc1\xf3\u03dd\xd3\x176]\rOj\xf7\xd4\xe2\xd3\xda\xc3![\xbb_\xd9uv\xb78_\f\xb7\xc7p/f\x9dhv\xf4\u04b9\xa5#\xf9^\xec\xf8\x9d/\x91\x03\x14\xa4/\x03\x88\fj\xba\xcc\x1f\x13\xaa\x98\\\xf8\x7f)\x8a*\u010c<\x87\uf5f2\x9b_\x00 r\xbbq<\xb7y\xf4\u03f7\x00\xa2\xadY\xa7Wl2\x9b\xfb\x13PhO\x9f{u~>]z\x96\x91\x8a\x18\xe3\xc6\x17\x853\u018f\x843\xc6~8\xc68\x9b\x8d1.\u0445\x8e0\u01841\xfe;\xc6X\xd47\xb4\xfd\x8b7\\\xf8\xfa\u02f8he\u0661\x8c\x04(\xb4\xb7~2h\xb3\xbc\xf5YF\x92\x1c\xb2\x90\xf0\u04c4\x9f&\xfc4\xe1\xa7\u02c8\x9f\u05bcj^\x7fX\xcf\x19\x96\x8c\xc4\x17\x90J\x02?}\xa9\u5c6dMt\xafq\xd7a\xa3\xfdC\xab\xe4\u06d6\xa7\x19\x89\xa7Pu\x02\x85\xf0\u04f5\xb2XH\x04g\xa1\xec@{\x8cK\x8d=\u00cb\x02\xc9\x7f\f\xf6\xcb!kr@\xa9_\u01b6\x18\x02\x00\x91\u05c29\x0f\x16\xb6iP\x1f@\xf4t\xdeA-?\xcb\xf4P\x82\x17\x95\x06\xbd\xe7\u072b\x0e \x91\xd8&\xcfe@T\xc8*\x1bY\x9a\xb6\x85\x9b\u060e\xc7I\xf8@\xe5\x9f\u057c\xfa\xc2Ce=r\xc9\u0343\x81\xa8\x9fA\u2c17z\x11\xa3\xf8>\xaa\x13w\xbbS\xc2\xe9\x01M\x01D\xa1\xaf\xd6=\u04d4\xb7\xd8\f \x9a\x9f\xfce\xceT\xc5\xc7\b\v\x8c\xfd\xda\x1f\xe8\xb3a\x94\xfegF\u2a6d\xc2`\\\x13\x14\x883\x15X_'\x1fz\xb1m\x90\x19\xec\u0410\f\xd9*d\xab\xfc\xedV\xb1\xd0i\xb8#\xe4km\xfe\x06\xef\x8aq\xfd\xd3\xef\x8f\xcc1\x05\x10E\xdf?\xbb}\xa3i\xe7\xba4\xa8\xd4\x02\x836\u0270d\x06Tc\xafJ\xfa:\x8b\xd7\xc0\x91\u0182\xc1\x05\x97\xc5\x00s\xea\x16l\xb2\xc7*u\x89\xae\x93%\xc8L\x81\xa3\x86H\xf3\u065aq\x8b\xd7y\xfc\xe0\x9b\x00[\xbf\x9f\x87~]R\x95\x03\x10)\xd5O\xca\xff\xb1\xec\x14\xafOl\xc1/\x16\xb5\x88g7k\x82_\x01\x8b6\x97\xd3h\xa5\x01D\x9fl\x9f\xa55\xe7t\xe2n\x1f\xed\x1c%\x0f7\x8b\v\n|\xdb\xe7g\u01a4+\xcf\xeeo\xddH;\x87\xaa,s\x90.\xf4\xae%QP\xffr\x9a\x03Y\x00Qv\xb8\u04b0\xb3\xea[\xfba\xf7X\xc8\xc1\x17\x9aJK\xe5:\xf0\xcdL\xd8\u206a\u05dft\xf9\x01 Z\xb2\xa2\xff\xa1]~\xeb\xfb\xd3g\\\t\u023f\xf8\x01hQ\x1d\u048e\xc4F\xd0.\xfd\x15\xeb2\xf1\x87vl\x15\x8bM\xca \x1b\b}\b\t\xfd\x150\xec\xae\x19\u07f7\x96\xf5\xb9bX\xfb\ub3da\\q\x97\x8b\ua90e\x8f\xb8\x11\x8d\xceMprvd\xd7\x06\xd8a\x8d]{\xacu\xc6\xd5\xe78\xae\x90B\xe3'|\x04\x93\xf7~n\xccH\x00\xa2\xcb/;\x8eM\xbc[0\x80>\x126T\xf7\x92|B\xa1V[\n\x95\xfbn\xbd\xff\x84\x91\xf5\xe7:Z\xce,\xac\\\u019cNCS\xde?\x1f\xe4\x9a\xd9N\xb0\x03gh9_\x88\x03W\xf8\x8a\x19N\xf1\x11\xa3w\xf8\xff\a \xfa\xf1SG}\u020a-\xd1\\C1\xdc1C}Y\xce6@\xa1\x86\u0747\xeeO}\xab\xa1\xccHE4\xae\xf2v\xa14\xae\xfc\x1c\xa14\xae|W\x8cc-\xb7\x92\x8d\xc6\xed\xc0\x96QC\xe0z1\xc3\xf5b\x9e8\xfb\xbfxWX\xa7\xbd\xe2\xa5\xcc&w\x19\tP\xe8\xed\xb5_C\xe3\xaf\xe65c$@\xa1\xbd\x96[\x1e\u050co\x9c\xccH\xf4\x11\xa3P\xf1T\x15\xa1\xfe\xab\f\xf5/\xce\xd9\x14[f@\xfb\x17i5k\x7f?;\x95\x91\x00\x85ra\xffnk\xa3fE0\x92\xe4l\b\x92.P5\xd2\x05\xc4<\x9bs\xffb\x00\vr\xe2:\xad\x9f:\u078f\x91\x00\x85:\u0551U]\xbe\xf4PKF\x02\x14\u069f2\xd6\x1b\xe4\xc1hF\x02\x14\xeas(\xf7\u0541\x8f\x93\xbd\x18\x89/R\x94\x04f\xf95\xd8\u8a54\xbd\"\x0eP\xa8\x9d\xfa\x1c\xa9\rQW4\x19\x89\xc6\xdd2\x850\xcbp\b\xc6\u07c2\x80\rk\xd0g\xf3\xb7\x14\u0141 \v\xf6\xb8\xa7\x03\x88\x82\xbc\xee|\xee\u05b4\u05f0\"\xff^,\xad;E\xb8|\u0189\xafX\xd6e[F\r\xf9\x007n\x10\x9f~\xe7\xe2\xf51\x1fN\xc5\x02\x88\xb2=\x83\xa3\f\x82~&b\xbdu\xed\xccD\x10\xa0\xdb\xe1\x86\x19\x8aJ\x9b\xb0\xe3\x1e\x9f\x97\u0392\xbc\x18]3\xaf\xfd\x00\x85\xfa:\x99\xb4\x89\xee\\)\x14\xa6\xa2\xa36\x882\x95\xfd\u034e\x8c|\"\x18;\u0fb7\u01e6\x9f\xad\xbf\xbf\xcfr\xc2B\x1b\xaf\xcf\xdf\u07155\xafS\x1e#\u045b\x7f\v\xae\xb4\x88@\x1b\x04\xda\xf8\x03\xda8\xc5;\u079aR\x8d\x05&\xeb0E9\x15\xbfcbd&\xd4}w8\x8d\xd7\xfb\xad`\x9f\xe0e3\xa2\xb5\u0646\xb7\aJ\xf7\xae\"\xa8\x17\x1f\xdc\xea:~\xe6s\x18\xb0\xa7\xf8\xec\x0e\xb2\xb0\xea\xf1t\xccA\xee:h\x98(\x0f[\xe8\xb3t\x11\x80\xc8u\xb9\u03421\xe7\xa7N\xe3z\xf5\xe9g\a\x9a~Q\te\xa4\xdf\xf5E\xf7\x85b0\n\u00c4b0\n\xb50>\x81\xbc)\v\x06#\t\xe1\x03\x89\xa7IQ\xf80S\u078f\xfc\xf90#\u02d9\x16\xa5x\x18ngh\u076e\xe5}F\xaeC\x00\x80\xc8~\xa7\u06d0\x1cY\xb8\x11@4\xadc\xa6W\u07ce#}\x01Dk[\u00cfa\xb6M\x14\x01\x85:/\u025b\xa5\xa6j\xb3\x98\x91\x8a\xa2{\x8d \xe1\xd1}\x1d\xe1\x19\x16Op\u047d\x16\xb9\x04\x82D\xf7\xe5\x13\xddK\xd6%\x10\x92\x10\x98\x90H\x9dD\xea$R'\x91:\x89\xd4%.R\xff6\"D\x7f\xfe\xc29\t\x8c$q\x91\xfa6\xff\xd5n\x8f\r\xdf\x1f\x04\x14\xba\x02s\x12\x8d\xd7Z]`$\x9e\xba\xd7\x1d+$R\xaf\xb5\x14\xbb\xaf\xf3e\xe8\x04[\xfc\x05\x1a\xd2\xcf\xc8\x05\x1a\xa5m\xf5\\\x99\xea\xacJ\xfb2s\xf9F>\xea\xe0\xd4^\xadv^i\n \xbas\xa5\xbf\x85\xe7\x8d~tGNN0\x8b\xd1\x15\u03f4\x94C\xf7\xd9\xd2O\x8b=\u07f44\xab\xf5\xf9\xa9{\xec\xf2\x17\x00\xa29\xf2y\xbfV\xb7\x96\xdbD\x9f\xa9\xe4\xd2\v\xd2\xc9\xff_F.\xe6K/\xf6\xf4V\xb2\xee\xd95\xab&w\b\u01ffm~\xee[o\x11\x16\xdej\xb4!}n\xe0z\x8d|F\xa2\xb1\x88\xe6\xd8K/.b\x86\xcb\u05fd\x99l\n\xb2)$jS\x84\x7fZu\xdf\xf6\xc2\xfb\xcd<\x05\x94U\xc3\xe0h2i\x18O\xa8z\xfb<\x84\u06900j\xa3PY\xa5Z\vs\xec9/\xf07\x8f\x04\x95\xde\xe7\x17\xad;\xb8\x984\xd0\xe1\xd6\xfb+/\xcc\x16\xeb\xd2\x01\xff;\xbc\xad\u0267\"D\xdaM\x85_\xc1d3\xf2f\xa6\xd4u\xdcX\x8aE\xb7`\xd38\xc1s/\x02\xf9P<\xdb\xf0p\xe4]\xdf\u045f:\xb4\x05\x10\xad\x1fvx\xce\xf2\xae\xe6z\"\xbf-\xae\u047c8\u0796?72i\u0094<\xe5\xd3:\x19\x00\xa2\xfb\u01a6u\x02\x8c]L\xb9\xf6\xbc\xb5\xcd\u00d8\x9bIQ\x00\xa2\x01\x8d\x1a\xf8\xfa\xee\x9b3\x96\xcf^\xcf\xec\xd4m`-\xf9\xbd~\xf4\x12\xa9\xb3\x84\x1bY\x98\xfbTJm?\u0674\xb7\xac\xb3G9\x00\"K\x9fZ.\xa7\xb6&\xc6`\xedB\xfcV\xb3\xe0\x86u\x1f-\u76e15\xad\x1a?\x891\x96\xeb\x0f J\xfd\xf8>\xf6V\x96\xa72\xf6\x01\xaa\xed\x8e\xe4L\x898\x7f\a@\u053a\xa9}r\x1f\x97\xa6\xab\xf1\x9f}e\xb46\xe9\x91\xe2\x06\xac\xa3\xb8]\xe6kH\xc7\xe6\xfa\x86\x8c\x04 r[\xbd\xe7\x9a\xc6\xf2;\xf4\xd5.R\x01\xf8\xc4\xf3\x16,\x94\xe8kJ\x81\xaa<\x94\xa8\xa8\xe9\xe8Z\x13\xf3\a\xb7\x93IP\xc2N\xbd\xed\x01\xaf\xb3>{\xb7\U00010782\x03\x82\t\u0452\x1cfy'9C\x14k\xb1q\xf8Vm\xe7\u0785\xbf\xad\u02d2\x7f\xcdf\xe5\v\xb5XnP\xf8\x01\xad\x93r\xbb\xe9h`\x1a\x86\x1c\xa6\x8fWuJ\x8d\xffx[`\xcb=\xe1lX\xa8\xdcb'\x8a\xe1\xe0\xcc\xf4p\x1f\xfdS\xb4\"\xbe\xc5\xd1\xf6\x05\xcfx3\xcf\xfc\xc7\u020e\xe7\x14\x16\x9c\xc7}G\xc4I\xe0\xcfr\xcf\xce8\xc4Yr!\xbb\xe7\xbf\f\x95\x1f\xb8i\x96q@a\x81\xf2\xa8!\x00\xa2\xe9\xe34V\x83Y:q\x00\"\xa7\xf4y\xf2g\x02R\x8c\xcak\x94\xf6|\xa3\xcc\x1f\x9e>i\xf1\xbcP\x9d\x7f\x19%?\x0e\x83\xc2\xf69'\xc8it\x02\x10\xc9\x04\xf6\x9a\xf8\xd2\xd3\xe6*\x80H\xe1Z\xdb\u0769r\x01\x1a\x00\xa2h\x17\xd3\x13\x8ew?y\x00\x88\x06\a\xd4\xdco\xad^\xe7\x15\x80\xc8Qc\x94\xdb\xd3gc\xb8\u05b0\xc1\xcbw\xb96\xab\xb6>\x02\x14z\x93\xe9\xe1\xba\xd25\xab\x1d#\x15\x11\xf6\xf5e\x85\x12\xf6\xf2\u03c4\x13\xf6A\x98@C\xee+!\xec\taO\b{B\xd8\x13\u00be\x9a\x13\xf6\x92`\xed\ta_e\b\xfb\x8aa\xe4\x93\xee\xf8\xd6Jx\xa7F1\x12\xa0\xd0\xe5\x1a\x0f\xdaO]m\x18\xc3H|8\x9b$\x90\xefV;\xf6>\u0672\xffi,\xa0\x90\x86i\xf2*?\xf3\x8f\x05\x8c\xc4S\xdd\x1ao\x84\x90\xef\n\x1e\xc2p\xb8\xa2;\xc4\x05\xa3W\xff\xb1@\x92\u0553\xc8\xc0 \xb9\x16\xcd\xe2\n\x8e[5\xa6M\xa3\x14\x1b>Tm\xb1\xfa|\x98\xc7v\x9c\\/c\xe6-\x9f2\xaf\x18m\x96\\rJ\xb4\xb9\xc5\xe6b\xc4}}ni\xe0\x1e\xab N\xfd\x96\xa8t\v\xac~K\x85\\W\xab7w\xcdR\x00\xd1\xc29\xe7\u05ccM\xae5\x81o\xd2\xcf/L\xeeXGe\xd9D\x00QC\xab\x04\x97D\u00dfN\xb4\x85\x88\xe6!d\xea\x94ZQ\x80\xeelo9o\xa6\xa5\x9d\xad\xa5\xe3<\xeb\xe9]\xf4\xfe\x13\x9f\xe6\xff{\xbb\x83\xbf}\x15\b j\u04e4\xff\xbe)aw\xfb\xd01\xd6\x05\x96\x92+\xb1lB\xfc\xbd\xb9\xf9#\xa4\x0fd\xc9\x1a\xbf\x12\xe3&\xc4_\x90\xdb\xc2X?9\ufc421\u07c4\x1e\xacw{K\x94o\"\xf7\xc81\x8ex\xbe\xab\xe1\xaf@\xffb\xff\xe7\xd9\xc1\xad,g\x87D\x9d\x0f\xf9T\n\x8b=\xa7\x0e\v?\x03\xab\x99\xef Q\x16\x10\xa2\x81\x8b=\x9f\xf8\x9cm\u0413\xef\xc5\xdb<\x98\xd9\xe6\xbf\b\u05fb\x00\xa2\x8c\xcda\xf5\xd1\xdd\xf6\x0f\x00D\x8d\"\xddV\u07ff\x95~\x18@\xd4\xe0\u072a\xa0\x11\x17e\xd2\x01D2\xf3\a*{\x9e\t\xa8\x81\xa5f\xbe\xa7vO]=\xf0\x8e\x1b#\xd1:\u07aa\xb2\xf68\xfew>\xc6\x1e@\xe4\x9f\xe2\xbd2;\xc3\x1bW\xdb\a\xd1U\x95\x04\xd7\xf17\"y\xed\xc7q\x1de\x8a\x1a\x01UTG\x19\x97\x1b\a\xa3\xdd\xe2\xf3yH\x1e\xa6\\\xaeT\x15n\xdc]bd\x9c~\xfby\xfcK%\x00\xd1\u032d\xde\xd3\x14s&\xe5p\xb5\xb5\x81\xdc\xc0\u01b7\xf4!\xa0\xd0Q\x8f+\x9d\xbb\xd6_\u0496\x91\x8a\xf0\xf0\x86#\x84\xe3\xe1\u01c4\xe3\xe1\x8e8<\xfc2\xc1\xc3\t\x1e^\x1d\xf1pIPn\x82\x87W\x19<\xbcb\x00\xefg\xd4-OX{\xe3}F\x92\x1c\xe5&\xd86\xc1\xb6\u014fm\u07d0\x1d\xd7uMZk[F\x928l\xbb\x9b\xc5\xec\xf8\x8b\x861\x11\xdc\x18\xe1\xd9\u02d0\xfem'\x9b1\x12OukM\x13\x82m+\xa5\t\u00f6\x95\xb6bR\xf1\xaa5\f[\x85R\xa6\xf3\xe1\xe92\a\xda%\n\x88,e\xdd\x17\xb5\x8d\r\x98)\x01\x83\x97\x0f0SU`p\xec.{\xb8V^\xdew\x8e\xaa>?\x84:\xff\x83\xbc\u029bg\xa7\x00D\xa3-\xac~\xfe\xba\xda\xff\x16\x8d\x007cY#\xce)\xb2F%\xd7H\\\xd8h9T\xb8\x12l\xb4jc\xa3\xca#g\xf9/0*\xf0\x02\x10\xe9^t\xdc\x1c`0DOLT\vD\xfd:\xf7\xef\xac?\xe9}8a\x8a\bSD\x98\"b\r%\xdf\x1a\ne\x8a\x12\x92\x12\xd6m\x9b\xde\xe5:\x96)J\xf8\xf1\xd6\xf6\xfe\xa2;\x9a\x8cD\xeb\xf8(x\xc3c\x9c\xcb.\xb1U\xb2\x81\t\xff\u05b1Zm\x1b\xf8\x9e\xc6\xda\xd0\a\xea#{\xd9&H\xad\x11g\xcco\v \x1a\x9a\xf2\xfe\xf9 \xd7\xccv\\\xa3\xb1Y*\xbb\xc9\xe8\xc5+\xcb\x03V\xe0)d\xe1\x93\x1aP\xf5\xf8\xbeRtQ\x84\xe0\aN\a\x10\xf5\xba\xac\xe8\x11\xd6^\x99\xe7J\x17\x1c\xe0\xa9G\x89V#\xa2\xbd(w\x11\xfa\xfdh\xfe\xe3eG\u067b\x7f\xffv\x96\x00\"\u057ay\x91?G\x1d|\n jev\xf2\x9d\u03ebM\x1c\x00Q\x90\xfe}\xcb\u07b7\x17\r\x05\x10\xb9{\xffz\x93|\xdeR\x8b\xeb\xe7\xf4=\xff\xd9w\x97\xc7UF\xfa\u076bB\x87\xa0(\x04E!(\nAQ\b\x8aBP\x14\x82\xa2\x10\x14\xa5\x82Q\x94\x9a;\x85\xa0(\xf2\x86\xc2P\x14\xb9\x02\xe1\x89\t\x12\x9e\\Y&=\xf8W\xb3%\xb4\x8d*}O\xd7\x19\xe2y?\x9e\xa5j\u0372\x1e\x99x+&\x02L0\x83/\xca<\x11i\xd7r\xecq\x95\xb9\x82\xa3t1\"R\xfc\xd9\v\xc5\xde@Jnr\xd2\xe3\x17J;\x00D\x14t\xc8\xdctp\xc5\x12l\u0634P>\xf1\u7a9b\xd17\xe9\xc9\xf2g;\x87\xa6\x8b4%\x85_i\xc52\xf9\xd5<\x83\a\"\xb5\xf8A\x8bt\u0482\x9c\x01D\xbe\x1d\xde\x05\rZ\xada\x83\r\xe9\xa6\x1d\xb8\x9e\xec\x1d\xeff\x04 j\xbe\xd0$R\xcf\xff\xe6\t\xbege\x1dO\x1ck\x9b\xfe\u029b7\xefR&bB\xe3Xv\x96\b\x1b\x84\xbf\xc3\xe6{\xb5\x02\xb3\x90\x15\x05\x8d*\x04\x8d\xe3o\\\xfctQ\x8a\xd5]\x95\x96Q|\xd6\xe0\u03e7\xf0]\x1ePpN\xd4MP\xd1@\x9d\xfae\xdf~\xd0b]*\x80hC\u0727\x82\xb0\xb0\x94\\\xda\xe9l\xf1\xf7\xa0\x9d\x80|.\xc9M\xc4%F\xa8tF\xa8\xf9@\x95C\x06}d\xa6\x00\x88\xee\xdf[\xfc \xf6\u07a9\x8d\x00\xa2u\x9f_\x1dQ\x988\xb7\x05\x80(i\xb4\xfb\x14\xe7&\xe6\u05f0\xa8\u85b7\r/\xeb\x84\x1f\xe9\xcbH4\xed\u0510\xa0\xa2\xd5\r\x15\u0367\x1a\nE\x1e\xab\x97\x0f\x06\u046d\xf9W\x13\xee\xaa\xc5|\xe2\x87'\u014d\xf8\xe6S;J3\xf3\u0121+\x0f\x87\x0e\xa2=\x9f\x82\x86J\xaf\x91\xbe\xc3\x15C\xa3\x8e\xaf\x9d\u042d1\x80\u022c}o\xeaB\xb2<\xd7\xc2\x1a\xa5\x030V^\xce]\xc2\xfb\x94\x92V\x8e\x95/\xee'\xad\x1c\xcb\x19\x16 \xad\x1c\xcb\x0f+\x90\xf8V\x8e\xe5\x06j\x89\xab\x854a\x04\xfeUQ\x05v\x8b>\xff\xa2\xa7\xadO\u0735\x97\x8cT\x814\xc12\u0367\xca\xed\xe2\xc2w3\x12\xa0\u042b\xfe\x06\xfb\x87\x1d\xf5y\xcdH\x12\ajm\xbe\u05f5\x9d\xdf5\x85k\x80B\xe1\r\xd4\xe3OO\xbb\xa8\xc3H<\u056dm!\x04\xd4Rl%,9T\xe1\x91\x04\u07a7%\xc1m\xfd0qK\xab\x0f\xbdGD97}G#\x86/\xca\x1c\x94\xab\x84\x8d\\\xf3a4\x9b\u07f3\x05\xaf\x88%\x8a.\xf1\x00\x86\xa8\x05\xc5\xd8\x0e\xa5\x1f\xfc\x06\x9f\xee\xb8\xfdx\x88x\xa6\x82\x12k\xbe\xea4\xfa+e\x9e\xdeP\xe9\x1a\x91\x15\xfb\x7ft\x8d\xd7Me\xe4\u06bf\x04\x10\xf9{}\xba\xf5\xcd=r064\xaf\xa1\x9e\x9a4q\x9c\xb79\x80h\xd8\xf0\x88q\x9f\x87\xa8\xa7\xf3=\xabN\xdb\x1b\u02e6\xd4\xccy\f 2r\xde\x10\xf1|\x9f\x12/\xf2\u0257v'\x85\u48b7J\x14%\x97\xf3\xcfJrq\xe5r\x96K\x1bA\xb2AK\xb7A\xc37\xcc\xc9\xcd3_\xb6\t@4\xe0\u042c~\x8dB\xdeE\x8a\xae)e\x95\xf5[\x955E\x82=\xadb\xff\xcf\r\xd2\v\u04f4\b\xce\x05\x10}\xfb\xe0\x05\x16e\f\xda\xcb=\xac\x8dj\xeahrv\x9f\xe5Nf\xb7V\x05\r5G(\x01\x88\x9ew\x1do\u07e4Y\xa7l,\xf4\xbe\xc8\u0520\xf5~\xc3\xcf\xdd\x19\x89\xb7\x04\xb2\xf2G\x8e\xf7\u60b6z\x95KF\xb6\x00\x10]\xca\xf1\x9d\xe9\xf6yE\xa8\x18WT\xb0\x81\x9a\x06 \xb2\t=\xb1\x13\xf4\x1c\xe9\xc9\u07ca\xa9c3\x00L&\\\x06\x10)\x9a\x1f\xcd\xdco\x98\xb3\x90\xef\xff\xc7l\xbbN\xb2\xbc\xf7\xb33\xd7\x1e\xd4Z~\xc1\\\xa7I\x16\x80\xe8l\xac\xea.\x05\xb7_\x0f\xe9\x19\xd4\xe3\xbd\u079f\xd9\n&\u05b6\xf66\x85\x9bV\xe2\x12[$\xc7\u0340\xc84W\xdb\xec\xfa\xfb\xfe\xbf\xb8;|lH\xfc\x88\x8f\xf3\xbd\x00D\x83\x15\x16\xaf\x03\x19\xfeA\x00\xa2k\xe0\xce\xe0\u0404\xc7\x1f\xb8\x1blvC\xdfc\xab7\x1b\x03\n\xb9\x9dD\u0347\xef\ubd93\x91\x8a\bB\xf5\x1e\x84 $\x04!!\b\tAH\bBB\x10\x12\x82\x90\x10\x84\x84 \x94,\x82Pe\x850\x82\xf0\x19.\xeb]\xfaQ\x99sX\x951\xb1\\*\x8c\xc5zI\xad\xc1\xcfY>u\x9b\xb0?\x15\xcc\xfe\x88\xa5\xfe\xe2\xeaT\x8e\xe7x*v\x05}\x9a\xb9\xb2\xb9j\rD_U\u04a9\xa2\xca)\xe0\xad\u0324Y+\xeb\x8d0\x04\x10\xb9F\xed=\x15\x1ctUV\\\xc6\xe9\u0554\x939\xf2q\xda9\x00\xa2\x1e\x8e\a_HOu\xe5\xf0\xbdE\xbf\xe5=\x7fn\xdcs\x83{\\\xf4\xf9\x1e\xf5\u0225\xd9J\xba\xf3\xaft$&\xea\x96^\xc5R|!\x9e\x04\xfe\xb2&T08\xb3\xb3\xc3\xdb\xf9\u026a\xc9t\xe1\x06'\x86e\xe3r\\\xb1\xea+\x80\xc5\x17\xbe\xa9E\xb0\xee\xd3\xc9\xe6\x12is\xd5NV\x92\xd16\xbe\x10\x01 2\xea\xfd\xf5\u0184\xbc\xedE\xe0Ix\xe9\xa9C\xc1s1C\xf4\xd5s\"\xab'\xd2\xea\x05\u0182\x8c\x80\x0e\xf5<\x01DW\x96\xe4Z]4y!\r \xba\xa3}\xde\xc9b\u0486}X\vx\xfe\xf4\x8a\xc7Z_\xb6M\x17\xa7U\xaa\xf8\xb2\"\xbf\xc6\xef\vN\x9bG\b&\x9f\xb8\xcfM\x1f\xfe\x9c3Mq\xf7\x18,\xb7i\x1a\xb7\xadE\xc2\xd89\x1cF\xa2\x8d\xba-\xe16\t\xb7)\"\xb7y\x1e\u02df\x11\u06b3\xc2\r\xa7 \xda\x13\xa2\xb8\x9eA\x93\xf6?\xc8\xf7\xac;u\xcf\xcf\xf0<\xd7\u034f\x86%I\xf5\x1c\xa9\x9e\x93\xb8\x9a\xa8Jg=I\xf5\x1c\xb1\xdfb\xaa\x9e\xf3\x18\xb8G\xee\xc2\xfd\tyX\x86i\x98Q\xb2\xfc\x7f\xaf\x95#\x18\x89\xb7\x04\u0286<\xaaH\x10\xc3\u0502\x85azM)P\x95\x9fa\xc2\x1d\x87Z\x13\xf3\a\xb7\x93IP\u00aa\xb4\xed\x01\xaf\xb3>{\xb7\\\xa8B\xbc\x93\x98~\x82\x8f\x90\x82\xc8w\xf4\xdd{\x99\x06\xfe\u6100\x92\x90C\a[wW\xf5\u05a6\u0499\xf9\xdfn:D\x06M\xde\xe8*?\xb5,\xe0\u0360\xd4M,#(u\x90\xe7+\x90\x9a\u023f_\u044a\xa8\x89\xacrkS%.\u03e1\b\xc9.N\x92\xfd\xdc\xc8\u0207\x89\xef\xd7rg{t\x87\xe9\xd3\x13\xb2\xf3\xeaI\x98A\xb3*\xafM#\xd81\xe5\x1a\xb4\xbc\xa3N\xe7f\xcf\x0e\b\x13\xe3\xa6\x11\xec\x1bs\r\xda\xdba\x1bF7\xeb\xde8\x8boS\xe8\xe6.8:\xe3q_\x05\x00Q\xf70\xd5\xeb7>\xf5q\xe2\aC,:\x9bl\xbf:\xb9\x1b\x80h\u07ed\xcf!C\xfeg\xef\xba\xe3j\xfe\xde\xf8\xf9\x9c\xdb\x1e*\x8a4\xac\x10\u026a\x9f=J\t\xa5E\xb2W\xd2Bi\x88\x8c\x88(dd\x93Y\xd9DD\xc8\xcc\xc8\x16\x99!\x12\xa2\"\x94\xbeN\xa8~\xaf\xdb\xfd\xe4\xd3\xe5\x9e{\xbb\xdc[\xb7:\xff=/]\xf7\x9e\xf1\xac\xf3~\xde\xe79\xfd\x1f\xe6\x02\x886P\nw;\x1b\xfa\r\xae\xa9{\xc3N\xedB\xb6\xde\xf96d\xfb\x91\xfeb\xdf\x1b\xb6\xc3\x1au\xf7I7\xeb\xba~\x85\\k\xdf\xc1\xff\xdcv\xe7:\xbd_\x00\x88\x16n.\xcei\x14wN\x9b\xeb\xefK\xb6\xb9\xb5\x98\xf1\xe6\xce6\x00Q\x93\xf6\xf6\x97l\xfewg6\x80(\xef1\xeb\x85\xef\x1bs\x13\xf184qS.%\u0321}\xf4\xaa\xaf\x1c\x99\xac=\x18@\xb4\x7f\xb0\xdb\xf4O\x8f3\xfa\x02\x88\x96>\f\xae\x17\xb7H\x87\x9d\xd75S\x8c\x9a\xf4\xc8D\xdb\r@\xa4\xf5B3\xdd\u0462\x8b6\xa0P\x9bz\a\"\x87\xe6Gj3\u04af\v\xf8\x11\x84@D\bD\x84@T\x91\x11\x12\x02\x11!\x10\x11\x02\x11!\x10\x11\x02\x11!\x10U\xe2\x05\xfc\u05c2\bDUy\x01\xbf\x12\xf2\ufff9\xe3\xea\r \xda]o\xa8wgC\x950\x00\xd1\xcf\u00ec\x9e{\xd6\xdc_C\x1f\xebk\xfd\x05\xfc\xea\vGS\x7fw\x01\x9f\xad\x0f+\xfdW5\xabw;\xac1\x80\xc8fW~\xbf\xb1\xca{u\xe8h&\x99\x17\xf0+\xc1\xb4\x88\x02VT\x01\u05d7H-\n(\xfa\xaf\x18@\xb4nQ\u0746\x1d\xb3'\xf6\x12\x95s:4J/\xf2\xfb\u021b=\x00D\x16=w\xf6\x92\u07df\u03cd\xf1/H\xf3\u0737b\xfd\xa6\xff\x00DE9\xdfV\xaa}\u0364\x1f$\xad\xed\x17\xf0E4\x15qc\xe2\x98\u2dda~|Lx~ \xa7T+\xb1\xbd\x04\\\x88\x9f\x10\xcaO\u0719\xa6=Dq\xcf\x1c\xb6\xa7}\\\xd0?\xf6a\xea\xb87\xf4\n\xfes/\x01W\xe1w\xaf\x8a{\tT\xbb\xdd\xeb\xf7\xe1E\xeb\xef\xc6Cv\xb1\xff\xf5k\x0f\x13\xdbK\x9f\xed\x00D\xcf\a\x8d\xd8wh\u02b6\xcbXg~e\u00c2\u039a\x96\x9b\x12\x00D\x9d\x8c\xd5\xd42zl\x0e\xc1\xba\x88\x85&[\xb6(=2i\x86\xa5G=\x95i\x1e\xe0{d\xb72#\xd1N\xfd.\xfe\x02>\xa1G\x11z\x14\xa1G\xd5\x1azTmj\xabP\xedb\b/\xe6\x14D\xae\u03fc\x12\x0eO5i\a Zf\xed;s\x96\xc5\xfeg\x00\xa2\xe9R\xbd\xa6|j\xb3\xa1=\xa0\xd0}\xe9\xa4\x1bR\x8f\x9anc\xa4_\x8f\xe8\xbe!%:R\xa2#%:R\xa2#%:R\xa2#%:R\xa2#%:\xc9*\xd1\xd5k+\xc9%:\xd2#\xbb:\x96\xe8\xaa\xefq\xf5/Kt\xa4G6\xe9\x91Mzd\u05f0\x12\x9d\xc4\u05b5H\x8fl\xd2#\xbb\xf6\xec\x1e\xe9\x91])=\xb2e\xb5(9\x8a\x94\xe8H\x89\xaerJt\xb5\xa9\fT\xed\\.\xe9\xae-!\x17\x7f\x7fu\u05ee\xec%\xaf\xbdW\x13g9\x1a\x1d\r\u070c\xa6\xb1\xf3\xc6T3}#\xe9\xa8f\x00\xa2\u065e\xdd]\xda\xf6\xd3\xff\x0fP(\xfa\x83\x8f?\xf8\xbe\u00d6\x91\u028a\x9d\xaa\x05\x02\x8b\x9d\n\ua08b\x9d\xcf1\xc7.y\x03>\xc5N\x96B\xd5\u05c3D\x85\xa8\xa3\xfb\x17\x9f\xce\xff\x10\xad\xb8\x97\x91j1\xcc\xee\xff\x17\x83y3\xc5\xeelp\xa1F\x04#\x01\nuhy,5\xd1\xd7>\x81\x91\x00\x85FD_\xd8n\xe8\xecs\x95\x91D\xbe\x9a\"C\xe1\r_\xbf\xa8S\xf7\xfb\xc91\x8c\x04(d=\xf0\x96\u0392\xb16\xe7\x19Ir\f\x82T\xff\xc5Q\xfd\x17\x99A\x1c\xdf\xf2n\xc5\xf9\xd7\xdd\r\x19\tP\xa8\xd0lfH\xcf\xf6\xa1\xb3\x19I\xe4\xab)2r@{u\xd9z\xf3\x02w7g$@\xa1\xd8a\xb9Wu\xaf\x8e\xf3d$Z\xe7\xf91\x06DUT\x15\x15%\xa0\xd6V\xffE\xa6\xdc\xd77\u01ccz6\xd2!\x86\x91\x00\x85\xfe\xd7S\xbd\xfe\xaa=\x97\x963\x92\xc8WSd\u401c\xa4\xa2\xfe\xb7\xae\x146e$@\xa1OGnO\b\xf5\xecj\xccH\x80B-7l\xa5\xa6l\xb9\u0606\x91$\xae\x10\xbb\xb9\xces\xbd\x83u\xeb|\x03\x14\xcaxF\xb9\xdf1\xff\xc2b$\x8e\xba\xcbD\t(\xc4J5\xc0\x14bK\xcea\f\xe5WS\xe0\xd2O-\xc7\xdb\xff\x18\xce73Y\xa9\xf9T\x17WW\x0fg\x0f\x17/\xdeX\x8e?n\r\xcb\xf5!\uefb9\x87\x81Q\xf3\xd5\n\\\xa7\u030b&\xc90\xeb\xf9\xf8 \x00Q\u0124\x82\xee\xb7\x0e.\xdaO\xc7\xeb:\xbf\xfa\x15\x95~\xa7\x83\xff\x84\xb2:3\xc4\x15\"`\xed(D\u0520\xbbB5\x06\x88\xcdQ\xef\xd3P\x7fJ\a\xfc\x93z\x87\xd2\u26fb%\xcf\u01f6\x92\xe5iT\x10\xf5\xe9\x1a\xa3\xb5){\xc5i,~\xab`\xd5H\xf5a\xe3\xb4\xe5\x8cD\xdb\xc2p|\xbf/\x82\xdfV\f\xbfu\xe4\xac\xd3\xef\x95\x7fk\x0f/\x17'\f\u0289s\x84\x10\xf5\x0e?<\xcf\xea\xd6\xd7h\xce2\x1f\xfe\xe5\u0739>hKo\u00dc\n\xab>'A\x10\xa2!;w\x0f\xb23\x8b\x1e\xde<\x95<1\x13@\xd4Z\xbdm\u0595n\xf3f\x97\xfe]\x8a\xa2 \xdb\x1a\xb4\xfb\xce\xfe\xa2|Z\xfeG\xb5\x97\xce[x\xe7\x9c\xe5^\xce6\xdf{\u037dE\xdd\x11\xb9\xff|\xd8s\x03\x10uo\x1f2\xb0\xd10/N\x9eQ\xf2\x99\x8f\u035d\xa7dD0\x15'\xae\xa9\xfcP\xbb\x93q\xc98p\x85\x10S\xe1}B\xe5\x8d\b\xb0\x8f\x86N'O%\xda\\x|\x84\xab`>\xe1\xa6\u0395@\xa3\x94\x1bt\xc4\xfc\x83DU\xfe\xf04\xaa\xe2\xd7I\xb1g\xf5\xd2/\x92\xc5k E\t\x85\x1c\xb1\xb7\xe32\xf6\xdb\xfe\x19\xd6a\xeb\xc5:\xf5\xb0\x80\x93\x01\x19w\x84\xfdF\u079a\xe6\x0e J\x9f\xb3:\xeb\xf1\xbc\x92k\x00\xa2\xb4[1\u02fd4\x03\x8d\x01Dr\xfa\x1d[>x\x15\xf7\x843\xa9T>\xfa\xb7\x17cJ\x15\xc6A\xb0\x9a#\x8ag\xf9!2\xc8\u07be\xa4\u00e9>i\\\x8av\xfbA\x98\x85[w\x95h\x00\x91a\xea\x90\xe6\nH\xef#\x80\xe8q\x9f\v\x9b\xfc\xbf\x9d5\xe3\xfa\xa8\xb2y\xb4\xef\xf7=\xda\u05b4F\x9c\xe44W\xfd{X\x94\xdftk\xe9\xc58Ql4\xef\xf0\aQc\xd3\xfb\xa3T\xee\f\x8d\x02\x10\xe9\xb9[i>r\a\xab\xb8\x96Z\u00b1r\xd1\xd8\xc0K\u07dd\x06;\\2\x8e\xd2GsU>\xe6\\\x8dZ\tUt0^\\\xcb2h\xe7\x98n-6]j\x02 J\xb9\xd4\xdbi\xed\xb5^e\x97\\s\xf9q\xf6\xcfTA\xc6@<\u00bf\xa9\xfd\xf2G}\x8f\xad.|\xec\xcc\xf5{{<\x13\x9bO\b\v\xfd\t \xca\\h/w\u03fe\xbb+\x80h\u01ce\x9d\x87\xa7|:\xb0\x05[i\xd0?zh\x86\x9e\xb9Y'F\xa2\xb3\xcc\x01\xb8\x8e]\xac\xe7|\xd2\x17\x16\x85G\x03Vb2:!\xd6Z\x14\x19\x9a\x96\xa7LP?\u0624\v\x9d&Y\b\xa5n$\xb3\xaa\x81\x99\x15\xdbg\xe97\xea\xbd}t\xfc\xfd\x1e\x00\"\u06c6\x9f\xb4\xd2\x1a\x19\x18q\x99\xd7\x00\xfb\xd63\xfdg\xe9\xa8\x01\x88\xf2-:_4\u0330Jd'Q\xabmB\x8e\x8d\xff\xc1\xfe@\xc0\u01b4&.\xcd\\\x829s\x8c\xc1\xfb\\>\xdeH\\\x1e\x17\xa2 \xbb\xc4\xf0\xe1-\xea\xf6\u3693\u0448G\xee\x9fA\u02f3\x00\xa2k\xaa\xa3\xf4\xbf\x1a\u03a7_\xbb\x80M0u\x1f*S\xec!\xb6\x1af\x1e5\xa4\xa8\x0fQrW\xcdU\xdd.\xad\xfe\x8e\xfd\u078b\xaf\xda\xdc\xd7W\x8a\xad\x8b\r'*C?\xb8\xb5\x97\xdf\xf2\x91\x91\x00D}\xddu;\\\xdb\u05fc?\x1d\"\xe8\xda!\xaf\x1av7>5\uc7d4\"U\xfdk\xd8\x18-\xc3\xec\xcd\u072d\x8b\xdd\xd7\xcd\a?\xb0\x1b\xe2\xe7?\xbcK\xf6\xa2\x0f\xaf8K\xb4\xe4\x17*\xc5\xf5A\v\x1f\xce\x12\x0e\xe5\x84\xf4\x8a\xe9=\u07c4\x93\xeds\xf6\x9d\xb9\xbfmp^\xdbV\xe5\xa9\xff\x05\x8f\x8a\xf7\xdc9\xd5N\xa9\xf4\xe7,x\x8f\xa6\xf4\xba\x02?[+\xf5Mrf'\xa2\r\x8e\xc8m\xa6\x15C\t\u05f5\xa2\xe4\x1d\x8e\x11A\x1b\x926\xa5\u024d\xb2\xf9{2\r-\x04f\xd5M\xdfE+\xf8\xab\f\xea[\xfa\x8d>\xb8A\xfc\xe5Oq{\x17k\xf3\xac\x8c\x13\x1b-\xe3\x00DM\xfcFL\n\x9a\u0501\xbd\xa234\"K\xba\ue63c\x14@\xe4o\xb3hr\x86\xb2J6;\xbd\xed\xb1\xa1\x95\x87U\x9fx\x00\u044f\xc6-\ak\xf7\xbb\xa2\n(\xf4\xb9\xe5\xe4\xf4\xb6\x13\xbdS\x19\xa9\x8c\x0e\xd0AG0\x1d\x80\x12L\a\xb8\x8e\xa3\x034 t\x00B\a\xa8\x8dt\x00IPnB\a\xa81t\x00\t{\x1f\x82\x94\xf6Ii\x9f\x94\xf6Ii\xbfb\xa5}\xa4]\xf0r\x87jN\x10#q\x9d\x80%\xa1\xb4\x7f\xfa\xc0w\u03f8\xff\r\xd0\a\x14\u0498\xef7\xf7X\x83Gv\x8c\xc4\u0456\xe6\xcf\x05\x94\xf6\x9b\x85\xe3\u1ffa\x8d\x04\x95\xf6\xd5\xee\xf1I\x95\x95gbK\xfb\u0154\x14\xa6B'6\xdc\xe8\u07cf\xc6n\xa2\xaah\xa8\xac\\c=\xf8\xf0\xed\xcd\"]\n!\xb8\x01\xc2,\x85h\xd0I\xecR\x1c}\xa5\xd5\xf4\x9d\xc2p\xda\u07f2\x9e\x89\x88.\xc0\n\xe5\r\x0e\xb0\r\xf8\x89HjD\x13\xb9\x96{\xcb\xce\x02\x0f\xdfM\x9d\x8e\x88Q\x9b\xb0\xe0\u0749\xc9sg5\x99\xdf\xfc\xa4(g\xe7\xcc5\xbbn\xaf\x8d|v\x8c\x19\u027b\x03\x87\x98\x89\x01\xfe\xf1RNz\u05db-\xa5me'\x9fj\r\xe5\xfb\xafP|M\xaaa\x88\x11\"\x83\xe8\u07a5\x01F\xf5\x96:\xad\xe4n\xa4\xf1\xbf \xbbB*S\x97m\x0f\u00d3\x97\xf5}\xe9\u0336\xf0Yq\xf7\x12,\xb2\x1ajq\xf6Hv$\x9f\r\x94\xd5\xc1Zm1\xd5H\xac\f*\xb1\x19\xbf\x98\xfdg\xe6\xe4\x06Fu\u01c7\u0565\x17\xe9\x01?\xf3\x88\xfa\u05ca\xe5\x04Q\xadS\x8d22\x11\xec\xe2\xa6-\x0f6\xb8(\xe6\x19s\x99\xd3\xc1#\x13\xcd\xe5\xbcM\x1c\xe9\x88V \xd6B[\xe5\x04M\x89\r++\xf8\xd9\xcdh\x12V\xfeV\xe3\xb1\xeb\xbfl\xf2,\xe9\x83\x11\xf1[\xb94\xde!\xa4\xad^\xef\xfa\u6d03\u0215\xa4\xb0q\x1f\x15@\xce\xf4\xe4L\xff\xd7gz\x88\x06\x19\xaf1\xb5\xb1_\xf1\x8a\xd6\x14;\f\xf7\x15j\xf0a\x97\x10P\xa0\x96\x81\x02\xb6'\xff;\xf2\xf3u\xfeC\xec0\x1e\xc8,\x9a\xf0\xd4W\xf12\x165p\xd7M\xba\xfc\xd8i\xdcxF\x02\x14\xca\r\x19\x91\xafrlX\x06#\x01\x88\x0e\xaf8p<;Wz:\xad\x87\r\xf1\xd7*Hk\xc0\xdf[\x03b\x9a\xf6\rv\u243f\x84m\xda7'\xfc\xb1A\xf4\xe4\xf6\xcbxk\x94\xb5\x8b\x9f\x00[*\xf5=\xef\x02n%\f^\x17\xd9Q\xc8/\xf1\xe2\xfa\x92\xba\t\x89\xb9\x9aO>\x19\x00\x88\x92\x1f\x9di\xf5h\xbf\xaa2\x80h\xde\xfb\xab\xcfN\xcdl;\x01P\b\x9d\x8e\xdaq\xea\xdd\xe7I\x8cTvI\xa0\xe3:\xceo\x92\x9e\x81\xe4\x92\x00\xb9$@z\x06\x92K\x02\x95\xa7\u0724g \xb9X@.\x16\x90\x8b\x05\xb8T\xb8V_,\xa8\x19=\x03[\xd2\xcf!\xe0/\x16t\xc0\xaax\xb1\xba\x01\xe7o\xf8\x8b\x05\xf5\xd2\xf8\xa4\xd7*\x93y\xa3\x9c\x1c\u0590(j\xc2\x13\xb8 \xe1\x9fW\xafP\x8e\xf7\x0fM\x12\xe2l(j\xce\xf7oM=\n\xdf(h\xf6lQH\x17[\xa9\xc6|,W4\v\xe2\u0135 !\xcb\xfb\xc7\xecZ|IA\x88c\xb1\xa8y\xb0\xec\x05y9\xe3\x99\xeb}\xb5\xe6\x17\x00D__\x9f\x89\xfb6\xcc\xef\x03\xd7\xe9Q72\xfayw\u05f5zt\x98\xe6W\x9a\x81'\xf0=*\xc5s\t\xa3\xac\xfd\x8e1\xd6Lf\x8a\xad\xb3\f\xa6L\x96\xc7\xf2q\xfd\xd1\xdb+\x96\x94\x92%\xb3\x94,\xd7\xfd\xa7\u04fe\u027b'\x02\x88\xe2\xfaO\u882d\xb5*\x89\xeb\xa3;\xe3\xe3\u00af\xad}-Ck\xd6}~\xfa\x1e)\xd4M\x1b\u0455\xa4\xa1.>,\b\xd3n\u02b9\x06)\x15D\xd2\xdaSe\xe5\xda\x15>\xe2L\xeaS\xc5\r_\xf8\xfbk%!XN\xc0_\x95\xbe\u060ec\xf6\xca\x10\x85n*\xde\xc1\x02\xd4]\n@T\xa0\xdc\x04\xe9O\r_\f \xba\xe5\xd9Qf>\xfa\xceV\xe7\xa9ko\xce\xeesgk\f\x80\xa8$ o\xdd[\xe9\xde>\\\x9a}s\xd2|\x8d\x95\xe6wNp\xf4Dv|\u0155\x97v\xb3\xb2J|\x98\x10\x06\x12\u079cW\xa8\xd7p=\xf9n\xa5@\xc4u\xfe\x8fWI\xfe\xac,\a\x00\x91c\x82n\xd2\xdd\xfa3\xba\x02\x88\x16\x9d\xb7N:\xaf\t m\xc3i\xfc<\xcb\x01Q\xb5\xfc\x1dV\x03\xe9Y\x01\xfcbj\xbf\xda\x1bSEP\xb7Z\xa4w\xf8F\xfe\u7dd9\\\xea\u073b\x9d\u0394\xe0>\xe6\a\x00D\xca\xeb\xa7h\xf9\xa2:y\x00\xa2\x93\x05\x1ag\xa7\x1di\xa9\xca\xf5\xd1I\xc1\xdb\x17\x1c\x9e\x1aN\xa3\xdb\xf0\xae\xd8\xd9Yp\x02\x9fP(\x84.\u0524P(\"\xab[6\xd8;\xa7\xd1I=\xbd\xb2x\x8a?\x1e\x9d\x13g\xac\x15\u06ed\x11\xdf\xfaG\x93\x9c\xf3\x1f\xb9q)\U0003e7faR;\xad\x9e\xc4\x01\x88\xbe\x85^\xd9\xf3\xe4b\xeb\xb7\x00\"\x1f\xa5f\xeb\x06/\x9e\xa8\x05 :\xe8\xd6\xf2\x80\xbd\u0312\xffa\x8b\x8a\xe3\x1f\x9bFN\\r/\x8b\xfd\v[\xdb\xde8\x10cD\x9f\x05\xe0\x1f\xd8Py\xcc_W\xac]w\t!E\x92\t)X\x88\xc2t\xabW\a\xad\xc9\x1b\x17r\xcd\xc4?\xa4\xd9\xe7M;\x1f[qm\x1c\xe1\x93\xd4\x16>\u025bi\rb|\xc7\xe8\xfc\x87\xa5\x8b\xa8\xa6\xadL}\x03\xcc\x02\x19\x89c\xff\xcaOp\xb7G\x14\xa7\xe0\xb3\xc4l\xa1\xe2\x1e\xcfF\xb7\xf8\xff\xc1\xf1\a>\xf8\x8d\x14\x81\xeb+g9/5\x9e\xb7ls\xb2o\x01\x80\xe8\u0151\xe0y=\xf6OI\a\x10\u075d\xf4Ne\xf7\x9b\xf4\u5735Pp\xe4\x93]*\xf0\xa1\x9b\x17\xcb\xee\x126\xf5\x14\x13\bB\x0ek\xe4\xb0F\x0ek5&A'\x875rX#\x87\xb5\x7f;\xacA\xa4|\xf0P\xebS\xdfvo!g1r\x16\x13\xc3Y\f\xa2\xbc\v\xeb}\xbeoX\xbb\x8c\xeb\xef\xb9{'\xb9\x17u\x99\v\x00D\x93Y\x96\xbbo^\xf5|N\xeb\x18yOA\xc0z\x0f\xfa\xb9v\xe3\xfc\xcc3\xeb8\xb3\xab)\xef)\xecS:8e\xb8\xc5\u01f7\xd8\xef\xed\xd6i\xc5#\x8d\xeb\xf1\xbb\xb1\xc7;\xef:\x17G\x9f\x9e\xe44\x9f\x91\x00D\xf6\xdej\u6b7cT\xff\xe3\xe8\x10\xeb\x1cg\x86\xe4=\x05A\xd1F\xd8\xf7\x14\x8a\xe1p\xce\xfa)Q\xf2\xf4\x1a\xd9\xd1Z\xb8\x1f\xb7\xe6}8\x04#a/\x16@d\u49d4\u02ca\xb0\xba\xca\u06e2*p\x85\x80mQ\x99c\xa3\x16\xf6\x1f\xeb\xe4\n \xea\xf1\xfe\xec\xec\x8c\xf8\xb3e\x8f\x80\x05\xe3\x06\\y\x8fFp\x1f[\x99G#z\x9an\xff\xec\xfd\u015f\xc3\xdc.I\u01be\xf4 \xda5g\xab\u00d9\x92\xd48\x93\xa2\x11;\x85\\s/\xae5o\xaf\xb5\xd9\xf4\xd3\u0173\r\x01D\xa9\x9d\x86~\xee=\xae#;\xee\xba\x1e\xe9\xe4\xf0c\xcbz\x1d\x00\xd1\xe1\xa4\xdb\xdbJ\xb6M|\x0f \xb2[yw\x8d\u0314:M\x01Da\x91\u058a'FM\r\x04\x10=\xb3\x19}\xa0\x9d^V\x18\xa0P\x13\xd9I\xebb\xf7\x06)3R\xd9\xed\x8c\xd6K9\xe3#\xb73\xc8\xed\fr;\x83\xdc\xce \xb73*O\xb9\xc9\xed\fr;\x83\xdc\xce \xb73\xf8\x14\xc2\xc8\xed\x8c\xea};\xa3Q\xfd_\xc7 \xfaw~\xbb\x9d\xa1e\x89\x87\xb3\x15\xe92\"\xfev\x86\xa2\x1c\x9f\xf4Zf\v\xf6\xd9\a\x91_F\x10C\xf1N\x04\x97\x11\xfc6\xf6~*\xdf)G\x9d\xb6\\)\x11_I\xa9\u0223\xd4U\x86}\xffFio\x91\u01fan\xf5\xe3J\x11\x1d\x8bq\xb7,\x84.7:\u30fa\xc4=\xc8\xfb[\xb9\xc3 {\xfb\x92\x0e\xa7\xfa\xa4\xd1\xdaAnYH\xd8-\v[\xcd&\xc3Y\x872|\x01Do\xf2\x15\xb3\xdc\f\vw\u043bq\x12\xf3PK\x85\xe1D\xbe\x1d\xf0jg\xe9D$U\x12\f\xfc\xd9\xd8\xf4\xfe(\x95;C\xa3\x00D\x13\xf6'\xe87\x1d\xecE\xef$\xb4\xe4wHnP\x05\xfe\x9a(\x80\xc4v\x01D\x01W>\xfc\u05ea\xad\x1f\xd7Tv\x17~\xdfx\u33b5t-\xa8m\x11\"\xe3\x9fD\xc6\xe9;[\x95|>d\x18\x87\xadtE\xae|\xb4\xf2\xc7\xcf=k\x19\x89\xe3\\\xea$a&\xc9\xdd-\xbb\xceR\x1c\xdfQ\xa9\x11\x9f|A~7\x1f\u2733X\x9f\x19\xab\x9e\x0f\xe8\x88(\xe1_o\xef\xdd\xdf_?\xf74\r\xc1\x92\xde\u05d5\x94J\x93\xde\u05d2\x9dJc{_K\u525d\xb0'\xb5\x90\x8f/\xd4\x15I\x8a')\xcf\x19\xfd\xed\x97\xfc\xc6Z\x91\x9e\uf8f5\xb9\x93!\xed!H'k\xa1lL\xb2s\xd8\nt\xb2\xa6,Eb\x13\x92\xfd\u0792X\x17y\xb8\xf5\xbd\xd3n\xbd\xbe[\x01\x88V\x1b\ajm\x1d\xa0\xb7\v@tL\xfa\u04d7\xb8\xa4\x8c=\x00\xa2O\xb6r\xb9gFnjH\x0e\xa1\xe4\x10*\xd2C(DF\xba+[X*9\xff\x8f\xd6\x1e\xc2\xd0\x14\xea\x14[S\x18\x9a\xc9]5Wu\xbb\xb4\xfa;\xf6{/\xbejs__)\xb6.\xf6\xdc:\u046as\xa6\xff\x93\xf1\xcb\x18\tP\xe8\u01d7\xe1\x96M\xa6\x1f\x96g$\xf6\x8e\x14\xbb\xaf\x92\xf1\xd7q\xa0\xcf<\x11\xf8~\u0344\xb6\u027daB\xd26\xa9Q8\xda\xe6[\xf1\xd26gsB\x90:\xa5F\x7f\xbd\xa5\x97\x8b\x8f\xbf\xd3\x14\x8fi3\xcbQ\x06)\xae2\xa3\xb5\x8b\x9f\x9f\x05\xfbC|\xd6\xe4wNb9\x8fvj\u0506\xd3\x05O\u0303\x00DKC/\x9dz08`Sy\xa3\u04a64\xb9\xbe\xcf\xc1\xdf\xd3\xc1\xc3\xd3{\x8a\x8b/\xb6\xc5u9\xf3\xb76\xcf\xca8\xb1\xd12\x0e@\xb4\xc3#\xbc\xcb\xf3\xa1mSJ\xbf\u07027e\xd4\xd6E\xc0\x97\x96\x8eX\xce\xecD\xb4\xc1\x119\xce[\xee8\xf6\xa9\xadKe\xb1O\xaf\xa7\xadW\x1c\x1b\x7f\u069a=\xdd\v\xbb\xfb\xb5\xf2\\\xbb\x1a@4n\xdf\xc5\xe1u\x87\xd4\xfd\t(T\x18\xf7\xaa\xf0\x80\x99\xd3*F*\xa3d\xb6P\x14L\xc9\xf4\x10H\xc9T\uc223d\xce\xe3S3\x96\x04\xd6\x1a\xa1d\xd6\x18J\xa6(WSd\x8cM\xc3\xd7/\xea\xd4\xfd~r\f#\x01\n\x15\xc0\xde\xff[t\xc1=\x81\x91$\xc7 \b\x8d\x93\xd08y\a!B\xe3$4NB\xe3$4\xce\xca\xde\xfe\x8a\xd38\xbde3\x8d\xac\x8c\xf3\xde2\x12\xd7i^\x12h\x9cE:\x87\xc3\x0eZ\x84\x87\x00\n\xa5\xcb\xfe\x97\x05\xceg\xb4c$\x8e\xb64t\x16@\xe3\xac\x1f\x87\xa7q\u02bd\xa8P\xa9Y.J\x10\xdbS\xce\x11\xdf\x1b\xb9X\xca\x1f\xcf\xf6<\xf7\xafu\xd0*ao\xbe\t\xbe\x14\u04e6\x9ev\x88\xd0s\x10\x06\x8b\x10u=\xe8\xb7R\x8e\xceg\xe9\x19\xc5&\x17\x06\xd2Ng'\xbfR\x8eo\xc5\xf9\x92\xfc\xea\xd25\xa7\x94#6\x107\xbe\xbd\xf6U\u00f9qE\\\x00\xc2!9\xcfqA\x1b\xb3\xcf\u04bb\xa1\xcd'>d\xff+\xffPx{\x12W\x1d\x06\x83|%%\xac\xf0z\xf9\u07f0\x14\xae\x15\xd2~s/fM\xd3\v\xaa\x00\xa2\xf3m;\x8d\x8e}\x18\u05f8\x96\x03\xd6\xc5\xf0\x84\xd8q\xfcj\xc6\xc9\xe2X\xcf:>\xa7f\xcaY\u072dQDP&\xad\xa6\xa5\xcf.\x13\xe0\xb3Y\xad\xcf\x1d\xe4\xb2[+\xf9q\xab.i\u0519\x01 \xb20\xd4RQs\xb72\x01\x105\x8d\xfe\u07ca\xaf\xc1\x19\xaf\xb0%\b\xb5&\x8d\x9d\u07df\xb4Mb$@!\xab.\xfe\x81\xab\x1c_\x8ea$\u03a6*\xef\xc16\x06\x9cD\x88r\x84(G\x88r\x84('\x01\x99\x1f!\xca\x11\xa2\x9c@}%D\xb9\xaa\xe7\xd9\x10\xa2\x9c\xe4\x11\xe5HV/\xa1Y\xbd\x01:k\xb1\x01\xac\x9eK\xef\xc4\x17\x1c\xe9\x8c\xdfaU4\xd4+q\x9f\xe11t\x99\x99>9~O\xeb=5\x17\xe5T\xaa\x9eEv{\xfa\xf2\xf4\x82#\x01\x17\xb1\xdf\xfb-. \xe1g\x1b\u06ee\xd8#\u072d\xcd\xcb\xc66\xb3\xcb\xd8\xc0H\x00\"\xc35\u06df\xba\x1d\xbd\u054d\u03ab\x039ZK\bc\x82\x8cSX\xc2X\u5450\xb8=\x11CB*l\x7f9\xf9E3\u012a\xe4\xe1T\x80\x13\xd5\u05e6\xf5\xabK\xd9\xdd\uecd3\xb8\xa7\xb9\xf9\xe3:\x06\f\x00\x14\xda\xd8sv\xea\xd5k)\xe7\x18\xa9\x8c\x13U\xb7\x93`N\xd4K\xc1\x9c\xa8=8NT\x01iSG8Q\x95\u00c9\x92\xac6u\x92\xa0\u0704\xdfTc\xf8MUC`J\xa7n\xaf\x85u\xc3\x1e2\x92\xe4(\xb7\xa8H+h\xa7\xf6\xc3\xd8\xf3\x8a\xfd;3R\xe5*w-b\xb2,X\xa5 \xfb\xcd5\xc1\x84\x91\x84\x1f\xa1\xf7_\x8c\x10\xaa\x1b*\x9e\xcfjt\x9f\x91\xd8\u65f2M\xf5\xce\aM\x8a\x91*U\x7f\t\x11\xaff\x10\xf1\u0409\x9b\xa1OL\x16jh1\x12\u05c9X\x12\x98XA\xede\xf3\xf7\xbdv\xb1\x02\x14\u04b3C\xdf\x1b-qo\xc2H\x1cm\x91i \x80\x89\u014a\xc2\xe4\xf8\xac\xb1\x9c?4\xa6t\xb8\xa6d\x11\xe0\xed\xe45\xd1\xd2k\x9a\x8b\x9b\xafS\xd9\u0457\xa5\x8a?\x10\x10\xa8D\u04a0\x12\x11N\xc5E4P>{*o\u018d\x8f\xdde\xde\xcb\x03@\xf4zR\x90\x99\xf7\xeb\x1f\xfd0\x91\x02\xa2\x1f\xae\x05\xc6v\xa3n\xc4\n;\\7a\x87\xcb\x1b\xf2`\x0f\xb7G\xce^\xd7\xe1\xdfO\xa7\x03\x88>\x05F\x98\xb9'\xfdx\t \u0694\u062eq\xe7\x17\xd6\xeb\xb0\xff\u037eq\xcb#\xb3\xaejw\xc1bPQ\xfau\xb3\xc1\u0646o\x19\x89\x8e_f\x9cQ\xf3\x02\x9e\xfex\"\xaf\x1c\xf0\x94I)\xd4X\xe0\t\"\xf51\xdb\x0e6\x1d\x90\x89\x7f\x1aVcM\xcf`{\u01fd\xa9\x9c\xc5\xc8\xe7,\xd4\x1fW\x12=9`\xce\xef\x17\x0fK\xbd\x9c\x8b\xaf\x1f\xf6B\x1d\xef,\x1d\xa3\xb4\x9d6%\xf7\xbf]\xd0mT\xe9/\xd2\u07b5\t\xa5\xcb\xf59\xfb\xa9~\x1e\xd3<\xa6\xbb\u043f\x8c{4\x01\xf7\x13\u026a#\x1f\xe8\xdcL\xbd\f \xbah\xf4\xc8&e\xc7\xce\x1b\x00\xa2^\x91f\xa6\xb6w4\xa7\x00\x88f(f\xe8\xbd\x18\x18,\x05(\xb4}u\x8bOK\f\x87(3R\x19z\xd4l\x12A\x8f\bzD\xd0#\x82\x1e\x11\xf4\x88\xa0G\x04=\"\xe8\x11A\x8f\bzD\u0423Z\x87\x1e\u0577\x16\x80\x1e\xd5\u06c75\x8bb\xe9b\xce\xdf\xf0\x17\xf4\xa4\x8f\xf0A\x8d\xc4\xd8\xd0\xcb\r@\xd4x\xf4\xa3w\xcf\xfcX\u02a5\xdf(\u0386^\xee\x00\xa2&/.\xd9\xee\x91\xeb;\x8a\x8b\x90\xe4\xf6\xbd\xa9\xbf\xa3|Z\x17\x00\x91\x81t\xa3\xd7O\xe4\xe7\x06q\xcd\\\xc2\xf12\xd2\u03ca\x1f\xbcV\fo\xf0q\xb4\xa2\xd9aqcoB\xed\xb07\xd7\x0e7U\xcd\x7f\xb9\xe2\xfa\xbc\xd7\x00\xa2\xc9\xf2\x85E\xc1-\xe5\x96\xd1\xf1g/?N\xe4\xf4\x8aS\xf8'\x88\xddK\xb8\x00\x88>\x9am_\x98mh7T\xec^\xc2\x15@4\xfbp\xae\xe2\xeaA\x1f\x86ry\x89\xabs\xef\x1c4)\xb8Q\x1f@4\xf2\xa8\xdd\x1e\x8d]\xf6\xbdDe{C\xa4-\xde\xf5\x8d?\u0641\xeb\xf7\x0e\xeb^m~\xed\xee\xedz\x00\xa2\x19\x9b3\u04ee\xf4\xb8 \r J\x19\x98\xdd\xd6(fk\x7f,j\x99\xe4\xff`\xb0\xf4e\xf5\xe3\x8c\xc4\xd9Re\u0722q_\xe6V\ue0fb\x0eE=\xe5\xfb\x05\x90\"zU\xdd\xf4J/\xb9\xeeV4\xf3Pw\x1a&\xd4\xc6\xc1\x84\xaf\x04g\a\xb5/F\x16S\u036bE\x90\xb4(Y\xe6]\xe1\xc1p\xb2\xc9N\x02-\xbd\xfc+\xf0c\xceh\xc2\u1775\x00DK\xaeN\x9b\xe8k\xa22\x17@$\xdd\xf6\x98\xc5\xec\x1e\xbd\x1dkZ\x89\xabX\xf6\xba\xa0dZ6\x84\xcfu\xa8e\xff\xda+\xc1Y\x84n\xb1\x82\xb7yD\xe3\x16+p\u0447\xeb\x96@\x9f\u058a\xcenA\x03\x00D\x8b\x9c3\xbc{\u07ff\xb7ZTf,{`\xa0e\xda\xd2\ue7f8\xcby\xe4\xecS\xfe\xecSL5\xc1N\xddY\xa8\xfb\x9d\x15V\x05v\xea\x1ek8rH\xca\f\xc7L\xce\uabee\xf8\x0fa/\u014a&w\xdez\xef\xd5Ps\x9bO\xdb\x01D\xab\x14\xcf^a\x99\xad\xe9\a 2]\xa6\xa2\xbb)\xe50\x1d\x0fX\xc1\xc2\xde{-f\xb5\u01df\u06ab*W\xaa\xa5N\xc1\xa2y\x97\x06\v\n\xba\xd3\x17\u02e9\xb0\x8a/\xbek-w\x15\x8e\x15\xbe\x7f\x81\x85\x8c\x99-)ti}\x7f\uc2e8\xe7\x00\xa2\xde{7\xf7=>\xf2F \x80\u8411\xa3\u07f5S_\xf4\xb1\xf1|\xb3A\x9d\xcekFm\xbb\x00 \n>a3cKq+\xde\xf1\x9c\xfd\xd9k\u07ed\xb2e\xa3\xbf\x14\xb3\xb3\x94#E\x9e\x87L\xce\xf0\xbe4\xc9\xfe\xec\u0494\xe1\x1f\xea\xe6|\xd7\xc2\x1e\xb7\x1c?\xee\xeb\x12\xb50\xa0%#\x01\nMX\xb5\x8f\u05680\u064c\x91\x00Dr\xdd\u00a7\xab\xac\x1c\u0511\x8e:\u079c;\xa0\x84DR>\xd5\u02ba\xf4\xea\xc9\xc9\x1e\x87\xf1\x19\ue3e3\xaai\xdb\xe6\xfc\xe4\xb4]\x1e\xc6Y'a\x9bT\xe3b\u03dc\xf0\xc7\x06\u0453\xdb/\xe3\xedQ8\x9d\xa6\xf9y\x94R#y\x17p+a\xf0\xbaH\xce.\x9b\xfd\x8e1\xf7\xf7uq\x9a\x86\xb9\xfa\xe9U\xfe\xc6\xd1r\xb5\x81\xe8\x80S$\xa7GI\xf7\u07eb\x01|9)\x9e\x00\xa2\xfe\xcf>\xbe2\v\xc9j\x03 \xea\xabaU\u0429\xdb\xdeH\x00Q\xf6\xbeo\x1f\xfe7An8\xa0\x90\x9e\xd1p\u02e3\a\xc7\xcfb\xa42\u0289^;B9!\x94\x13B9\xa9\xc8\b\t\xe5\x84PN\b\xe5DR\x94\x9bPN\b\xe5\x84PN\b\xe5\x84PNDB9i\xa0J('\x84rB('\x84rB('\xb5\x8f\x1a@('D\xaf\b\xe5D\xc2b$\xa1\x9c\x10\xca\t\xa1\x9cT\xc7\xea2\xa1\x9c\x10\xca\t\xa1\x9c\x10\xa7@('\"q\x15\x84r\xf2\x17\x94\x13\xd6\xff\b\xe5\x84PN*F9))\x12\u0607\x85Wc\xf3\x8a<_\xe2\xc9>\x95\xae\fQ\xe8\xa6\xe2\x1d\xfc\xf7\xdf\xc2^\xbd\xa3\xb1\xb9\xb2\u051eA\xef\xff\xfe[\xd8\n\xf0\xb0H\xed\xc5\a\xeb\xd8\xd9\x00\"V\xb3\x04\xcd\xf7[\xd2l\xd8fz\xb5\xfb\xc9\ue52a\x01\x80H\xa1\xcfpS5\xb3\x90\xee\x80B\xab\x8f\xbb\xf48\xe1\x04\x7f2\xd2/\xda\xcc~B\x9b!\xb4\x19B\x9b\xa9\xc8\b\tm\x86\xd0f\bmFR\x94\x9b\xd0f\bm\x86\xd0f\bm\x86\xd0fDC\x9bY&\x806\xa3\xd1\x01\x0f\xc0\u026a\tB\xfae.\x13\xda\f\xa1\u0354\xa3\xcd\xd4\u07b7\x9aY\x87\b\u02c6\a\xcb\x06.\xe3\x97S\x8e\u0100\u0322zWQ\x9c>\xc8\x19@\xb4\x922\x8e\xcfT\xcbq\x17\xbb\x0f\x9a\b \x1a\x19\xb3\xf5^?\xb5\u074f\xb8|\u0418\r\x16\xca\xf6\r\xf6y\x01\x88fN;4\xd3\xda d\xb8\xd8g.\xb9\xb4\x11\x88zY\xdd\x1d\xf0\xa6_\xc2 \xae\x8f\x9a\xdcLn\x7f\xe7\x98)\xdbh\xb7tW\xf6\xe8j\x9c]\a@\x14\xf2\xf5\xc0\xf5\x9b\xd7<\xdb`\xa1\xed\xd7-\x86uR\x18\u8cd9\x918j\xab\xfc\x05G\x11\x82\xe7*D\x11\"FA\x8cB\x92\x8c\xe2D\u0782\x87\x9eg?.\xa7\xd1\xddw8\xd87\x86\u0420j4U\xb8F\u0454\n\x04\u0494\x8e\xe2iJ0\x15o\xbd\xc5p\n\xf6?\u03ac8\xbb\t\xe7\xd3*\xbe@\xecSP\xe4\xe9\x8c\xcbm\u078c*\xa4\xc1\x01K>\u00e6\x1a\b\u0367\x10\xc9+\u0778**D\xc56\xd2\xd1\u0672vo\x85\xfdF\x1c\xd7\x05\"=;\u02e7\x85\xa9\nvl}\xf1\x8e\xdd\xea\x91\xf34\x1f\xbbtme\x8c\xbe\xe5\xddP\t\xe7\xf2\x8a\u04e7\xdaM\nOw\xb7\x11v7\x85)+\xe39\x1fi3\xf5\x8d\xeeu\xbd\xa1\f z\xe2}\xbfQR\xec\xa4\x01\xa2\xf2Y\xbd\xf6\xf5\x1f\xfd=\u057a\r\xad\xc2;\xf9\xe9\xb7/!\x84\xf1\"\x84\xd9\xe3\x11D!\x88ZXR\x81hN\xa5;\xe46\x9a/\x1d\xb4v\x8f\xd0\xe3\xaa<\x02\x99\xde{\x9d\x17\xfb}\xbc\a\x02\x88\xf6\xef\x1f{\xab\xef\xe0Y\x9b\xb9v \x01\xdd\xf6\xef\xb7c\x0f\xfd\\:\x04\xfc|\xda\x1d\xcc\xe3\xf5\u00b8\xd6Z\xad\xd6S8>\xee_\xde+\xe6\xab\x06,\x00\x91\xcbF\xd5Yq\xab\xee^\u0186\xf9V\x13\x1e\x1f\x99w\xc4\xf6*\u05c8\xff\xe7=\xe4\u070d\x86\x06%l\xbf\b\xd6*v~\x9e\x05\xb0_0\u0332\xa7\xd6]]\xe7Sl\xbf\xbfy\xe8\x85\xf8sS\xb2\xb1\x9f\x8d\x88\x9e\x9c\xbe!7p1\xf6\xdc\xf7\xb3k\xbd\x95\x97\xf7'\xd81\x12\x80\xe8\xbc\xe3\x85\xc5\ue067\xc6\xd0J\u065a\xb3l\xe4\xb9oAz\x00\u0452\xb7Ks\xfbn\f0\xc6n\xc8\x1d\xe7\x1f\xa3\x0f\xde\n5(]\xa2>\x1c\xb0\\XN\x13DF~J\xb9\xac\b\xab\xab\xbc\x1d\xd6\u07f0\x97\xfe\xa9\xd3\xcd\xf9\xa0\xaf;\xe2\xa7j\x8ef\x9f\xc4\xf4\x8d\xf2\x1e\u0106\xa7\x01\n\u0758\xa7\x99\x7f\xd1,-\x8f\x91\xca(;\u037d\be\x87Pv\be\xa7\"#$\x94\x1dB\xd9!\x94\x1dIQnB\xd9!\x94\x1dB\xd9!\x94\x1dB\xd9\x11\teG\u04dePv\be\x87Pv\be\x87PvD\xec\x83\b;\xa1:\xb2\x13\be\x87\x18\x051\nB\xd9!\x94\x1dB\xd9!\x94\x1dB\xd9!\x94\x1d\x1e\xfaM(;\x84\xb2C(;\xb5C\xad\te\xe7\xaf(;\x1f\te\xa7\xc6Svj}\xa7 \xcf\xcd#\x80\xc2\xf3\xeelG]\xb4\xb8\x93k\x88lSi@!\xc3e\x99\xdeW|\xfb\xe50R\x19\xed\xa8\x89+\xa1\x1d\x11\xda\x11\xa1\x1dUd\x84\x84vDhG\x84v$)\xcaMhG\x84vDhG\x84vDhG\"\xa1\x1d\xa9\x0f\x10@;R\xb3\xc0\u04ce\xa4\xc6\vB\xee\xa5\xeaU\x1c\x98\x15ieC\xdc\xe5)\xccIq\xa6O\x8e\xdf\xd3zO\xcdEYi\xab\x8e\x1c\x1b\xa8J86\x7frlJ>\xf1\x99\xf9\xb9\x7f\x05\xa6]+\x05%\x84\x00\xa2Y!\xc3\xdc^\xc1][\x00D&sF\x0eZ\xf8d\xe8\b.lf\x8de\x84_\x83\x1d\u07ca\x00D\x8b\u0725^l\xe9\xc3\n\a\x10-hXG\xab\xd7\xfa\x06\xb3\xb1h\xde\xfd\xce\x06[7\x15,\xb8\xccH\x1ceR:\x81}\x9b\xa9IEX\x1c\xb5p\u0667\xf5i\xfcL\xf9\xc2\x18\x13\x1a\xa7\x19\x88\xc1i\x14\xd5\xf8\xe04\"z\xe7\xa7\x12\x88\x02\x15\x7f\xe7\x87s\xfe\xff\xdbw~:N/\f\x95)y\xcav\xf4\xc9C[7\u06ed\xbe\xe2\xb2(c\x16!\x16\x88\x96X \xd7J \xb1\xe0-\x96\x1fP\x92]\xf1z\x95(\b\x02U\xe0Dl\xf2n\xe4\x1b\xb6\xb2/\v\xd9\xd1\xfc\n\xcd>\x15\xdf\u02b2\xf7'\x8d\xb1\x89c\xa5V\xeb\xd9\xd6\xeaU,\x97rE\xd3,\x85vl+\x84\xaa\u0751\x8a\xf2\xbf&A\xbc+\xca7\x0eX\xe9\x15\x9a\xbcS\x01\x10}k?\xa3S\xc2y/\xb67B\xcbl\xbbY\xae\xb9~\x8a\xcb\a\x9f\x8a\xe8|\xab\xfe\x8e\x9cE\xf4\xa1\xe2\x8f\xc0TNSY\x99\xf8\x9d\x12\u00a4y\xeb\x9d\u011b\xf4\x85k\x8a\x1d\x06\xf9\xef;B\x9b`\xb2\xf0V\xbbJ\x14V\xfb\xef\x0e\x91m\xb5\x9f2\x1d\x06\xab\x18\riE\x9b\xe0\a~\xec\x82\x04\xa1\xf2\x8b\xd2\xff2\a\xaf({Ec\xd2C+\xfcB\x10v\xf3\xcb\x19T\x13\x87f\v\xce\xcb-\x1a\x00 R\xcdo\x91\x9e\xae\xa5c-\xf4h\xf9\x19\xfa\xbf\x8e\x96\xdb\xfcU\aG\xad\xd7\xd5Q:\r z!w\xab(\u07b6W\x01\x80\xe8\xf0\x94\xc2\xf0\vC\xf2\xa3\x00D\xe3=\x0e\u077fxh\xeaV\xeedka\x17'i_\xe3t\x00Q\xc8\xd1\u01ef2\x83\x06\xcdg\xa7\x00oo\x9euPRh\a R\xf8d\xf5\xc5H/3\x16\x9b.\xb4\b\xb1\x18\xbf|Zn\x02\x80\xa8\xb1\x8e\xee\xe5\xe3\x83[+a?\xbb\xcb\xd5xprA3\xb6\xe1<,Q\xb1\u02c8d\xbd\xc3~\xf6\xedn\x8b\xdc\u0704\x03\xad\xb1\xa7\x17\xf5\x8fkYm\xa4\xb2\x9f1\x12\xfb\xcc\u04ecAt\xec\x8e\xe8o\xb4q\xdd\xc5?~D\xb8\bU\xcfE\x10\xea\xdd\"\xcf\xf2\xef\x16\xad9g\xa8ht\xba\xcb\n\xce~m\xff\x85\xa9q\xfd\x0f[z?+5&\x94\x1b\xa4\x99\x93k\x97\x97Cvr4\ue7fa\x9c8\xb7\x1a\xd6T\xa7O\xd4\x01\x00\xd1\xff\x9e\u03ea\xfb\xdaTi\x1e\xa0P\u0699b\x87\xa7G/\xade\xa42\xbaAS\x03B7 t\x03B7 t\x03B7\xa8l\xe5&t\x03B7 t\x03B7 t\x03B7\xa8r\xba\x81\x86\x12\xa1\x1b\x10\xba\x01\xa1\x1b\x10\xba\x01\xa1\x1b\u0520e't\x03B7 t\x03B7 t\x03B7 t\x03B7 t\x03B7 t\x83\xaa\xa6\x1b\xb0\xd6\x12\xba\x01\xa1\x1bH\x06\u0760\xd6wh09\xaf\xdeqK\xf4\u0349\x00\xa2\f\xe7QS\x16\xee2q\x00\x14\xb2\xfb\xd6\xd8\xf4\xbf\xdb\u01fe0R\x19e\xa2eOB\x99 \x94\tB\x99 \x94\tB\x99\xa8l\xe5&\x94\tB\x99 \x94\tB\x99 \x94\tB\x99\xa8r\u0284V#\x01\x94\t\xf20\x8c@D\x82<\fC\x1e\x86!\x0f\xc3\xfc\x1d\x8b\x84\xbc\x81!\x1a\x1fD\xde\xc0 \x0f\xc3\x10\xa3 F!\x1e\xa3 \x0f\xc3\xfcK\xceC\bU\x92H\xa8\"\x0f\xc3\xfc\xc1; \x0f\xc3p-\x1dy\x18\x06\xa7\xdf\xe4a\x18\xf20\f\x17\x8cM\x1e\x86\xa9\xb1jM\x1e\x86\xf9\xe3\xdcW\x81\x87a\xa4N\x93\x87a\xc4\u00ce*\x89\xe6\xa0\xe5M(\xdd\xdf\bInN\xd3<\xa6\xbb0\x9dF*\x9f\xb1z\xdd)l\xe0\xaa\xce3\xbb\x97\xfe\xb6\x05\x1f\xe2\x14\xbf\xc0\\\xaa\xdbrf'\xa2\r\x8e\xc8\u0440\x02\x9c\xc0\xf9.%J\xbe\xacn\xe3[\xde\x1dhS\x9a\xdc9\xac\xbf';\x8d\x9d\x82o\xb8R\xde\t[\x9bge\x9c\xd8h\x19G\xabg\x0e\xe7;\xff\xd4\u0712t\xce\xca3\x7f\xb1\x9d\xca9\xf9\x95\x9c\xc6\xfd\x1f!\x17\xc1\x8bk\x11r\xdf\xedf\xcd9\x9b\xdb\xf5_\xa6\xca\x1d\a\x9b\xbe\x8bV\xf0W\x19\xd4\x17@\xe4<\xb4q0p7\xb9\t \n\xc8\xf0\x95?\xbe\xeb\x99me\xcd\u049bk\x96\xc5\x033F\xce\xf6=j\xf2/\xb3\u43aa(~\xfb\xcc;r\x8d\xdb\x03\x88d\xf6t\x1b\xf1f\xed\x94+\x00\"\x85\xa4V\x9b\xd3\xe4v5\x06\x10%\xce\x1a{x\xda\xfd\xbcp\x00\x91\xf9\xae:Q\x1e\xda\xeao\x01DEm\x0e\x99\xf6\xbaun?\x80\xe8\x8bl\xef\xf6C\xf2\xdf\xda\x03\nE\xb2\xe6]j\xd4'6\x9f\x91\xcaHd\x1a\xcf\x05\x93\xc8X\x02Id\n7qhBC~$2\xf7\xaa\xa7\"\x10\x12Y\xcd \x91\xfd\xb2E\nM:\xe2\xfa\xf6\xf3\xa1\xb1\xdd\x18Ir\u050d\u043aj\x06\xad\xab\x9c\xbaM\xeea\x85n\x9b\xfb>d$Z\xa3\b\u044a\x10\xad\b\u044a\x10\xad\b\u044aB\x17\xae\xd4\xfd\xb2\xc0u\xf5WF\xe2\xaa7H\x02\u046a\xa7\xb2\x8f\x95\u0354mk\xd8*t\xa9\xc1\u058f\x1d\xa52\x18\x89\xcef#\x04\x10\xad\xe4G\xe2\x89VR\x01\u0602r\x7f\x02\xc5\xf2\x82b[\xf0)T\xd5\xce\xf2v\xb9\xbf'*e6\x91\x913|\x03 ja\xa2\xe6Z\x1c\xae\xb1\x87^\xb6\xb7\x98\xb3\x18u\x80\x8f\x9a\u055c\xa2`\u0269jQ\xa4.\xb7\x95\x81\rgnm\xf9v\xff6\x00\u047d\xa91\x8a\xe3\xb7.?\x82\xfd\xae\xa1\xbd\xbd\xf2\xf4\x1f\xb5\xb3\xc4\u2697G\x9d\b\x94\xfa\xb0&\x88\x91h\xf7s\x8c/k\x85EU\xbd\x97\xe2\x8de\xb2\xbd\xd4\xd1\x17\xffM(~\xa7o%Bs\xe4\r\xa7\xb2\xbdT\u062d\xf4\x83\x19\xddL\xb99\x17\xd3\ud6bb\x1c\x1a\xbb\xa39\x80\xc8'\xf0\xae\xcf\f\xe9\x93W\x89\x97\x12\xcaK\xedL\xcdP\x1c\xe4#\x93B\xbc\x94\b\xbd\x94\xb8\t%\xe5\xb6rnh\\\xbd\xdc\xff\xbe\xbc`\xcf$t\xc4\xc8y\xb2\xe3x\xd74\xd8\xdfu\xda\xc0E\xe5\xc1=\x90\x84\xf5R\xea\xf3\x0e\xe7(M,^\xc5H\x80B\xbb\xb54\xaf\xcf3\t\xcad$\x00\xd1\xfc\xc3r\x0f,w~\xddFk\x872\x9f\xba\xcb]J\x9e\xaa\xfeu\x17\x882\x0e\x1c\xeb`\xb8\xa8\xc4\x1a\xbb\xbcA\xb7\xe6w\xf1\x03\x99F\x00\xa2\xbc\x9ffo\x9e\xf5}\xd7\x12P(\ua8b1o\xfa#\xebbF*\x03y\xd5C\x05\x83\xbc>\x82o\nw\u00c1\xbc\xa1\x04\xe4% \xaf\x84\x80\xbc\x12\x80\xba\x11\x90\xb7f\x80\xbc\xe4\xee.\x81\x94\t\xa4L e\x02)K\"\xa4\x9cj\xf6\xe0\xdd\u0641\xefW1\x92\xc4A\xcazf\xa7\xb3\xedw\xf9u\a\x14\xba\xfb\xe4x\x03\xe3\xc8\u04f6\x8c\xc4\xd1\x16\xb9\xc7\x02 e\xd9\xc9xH\x19\x9e\u010058,\x00\xabF\x7f\xb42\xa2\x03\v\xef\x1c\xb4\u0729p\U0006107d2Fu\xb3\x00\x10-8f9\xaa\xbd|\xdai\xda\f\xbe\xe0\x0e\xf8'\xc4~\xc0'\xd7,D\x86U@\xb4\xec\xf0\xf4#iz.\xbc\x8f\xb6\xa5\x8d\xe8\u059c\xce|\xfcc\xc4-\xeca\x7f\u012d\x13;\xc3edz0\x12\x8d5.\u00b6\xd1v\"\x15\x91?+\"\xa20\xd2\u0616\nv\x8f\xf4O\xad\xa3\x1d\xc8\x13\x8c\x91\xc2m\xb5\xc2H\t\xdaX\x9dj\"\x10}\x9f\xd8z\xa6\u05d7\xf0\x87\u062f\xf5\x1d\x11}\xa1\xd9\xee\xbdO\xb0\xbe\xa8}\xe3\x1f#_\x16\x1b\xc40\x12\x80\xa8\xfd\x99\xd7\xf7\x0e{\xbe\xb7\xa0u\x82p\xbb\xb9U\xa9\xe2\xdcn\x88\x86\u033e5\xa3\xe1z\x1fv~\xb7w\xf1\x1e\x18\xe6\xfd\xbf@F*\xc3#\xeb'\t\xc4#\x15\xba\t&\x9dR\x18\xe7%o\xc7\x0f\x8f\x9cR\xf5gh\x82G\xd6\f\xa2B\x82\t\xe8\xfb\xaf\xea\xc3\x13\xf4\x1d\xdbNq`\x97]=\xde2\xd2\x1f\xea\xf3\u04fb\xbd\x82\xfd\x96\x1d;\x18\tP\xe8\xd3\u0233N\xfaKVz2\x92\xc4\xe1j\xad\x06\x9a7\xb9~\xcbq%\xa0\x90\xb6\u03bb\a\xcdn\xbd\xe8\xc6H\x1c\x85R\xb2\x15\x80\xab\xc9\xd9\xe2q5\xd6\xc6*\xc0\xd5\\\xb9\xce?/\x1a\xb6\x1axo\xf7W3\x00Q\u0595k\x8a\x8dg\u074b\xa1M\xfb\x1e\xee\u023e\x81\x8f\t\x1d\xe2\xec\x043Y\a\x1f\xdfi\x12v\x92\x85\xc8\xe1\u04beD\xd3z\xdbhp\x82:\xcd\u03c9-\x11\xf7l\xc5|\u0605hq\u30caQQ\r\\E8f1c*\x10\xdds\xdaQ\xac\x92\x1e\x1f\x02 j\xfa\xa4\xed\x9c\xf7\x9a\xad\x15\xb9\u0536\xe1\xb5\x1d\x97\x9do\r\x1e\x00 2\xfd\xf8\xb3\xa0\u0384\xbe6\xd8_\xd8\u06e1\xb0\xf1\x91\v\x9b\u0331gue#\x96\xca\xc0\xf7\xb2\x9f\x19\x89\xc6\r\x17W\x1dn\x88o\u04b2N=,\xe0d@\xc6\x1d\x11\xe2\x86\xf8\x1e\"\xe9sVg=\x9eWr\x8dk\xf1\xad\xfa\xb4Vtv\vb/\xfe\"\xe7\f\xef\xde\xf7\xef\xad\x16\x99\x13jJii%,z\xf9\x9e\xf65\xcfpN(\x92/\xcb\xf4Wo\xb4\xa9\xfc\x0e\xe1\xbd\xf0\xbd\u0448i\x8b\u07f4\xabc\xc0\x80\xa8E\xe7P\xd3~z\x11\u06f9\x14X\xbb\xfd]\x97sF\x8d\x86\x03\x88&\fPy}$v\xc3$\xec/\xf4\x0e\x8a\xcb>\x9dW\xd4\x0e\xeb\x8e\u059e>ch\xfe|\xe4IF\x02\x10\xdd/0\x19k\u7576\x9fN\x1cnsT\x97W\xc7\b\xc2\\,\xcf\\\xe4\xacI?\u039ahR\x1a\\\x9fd\xae\xc9K\x94]K\x9a\xf6\x0fsk\xb3 \xd1{M\x9ex\x16\xb3\x12\xfa\xf3J\xd2bjyE\x8c\xd8\xfb\xe5:\x04\x105V\xf6s]u\xe0]\t\x80\xc8<\xce\xd2o\xf9\xbcw2\x80B\xd1\t\xf6\u037f\x86\xbe:\xc5Hepv\x83M\x82\xe9\xb5\xe4!\x1e\x02gK:\x9cM\x1e\xe2\x11#HJ\u023c\x95\x87\x9c\x122o%C\xb8\x84\xcc[y\xb8.!\xf3\x92\x92gM+y\u0590\x87x\x14g\v*:X\xf2):\x1c\x95\\2/\xcc\xc1\xe1}G\xf8`u\xa4[|\xf5gH\xd6\x10\x12$DQ\xa7\xbc\x923\x86\x9f\x9f\x8f\xfd\xde6\xdf\x02\x12\xa2\xe4\xff\x1b\x8a\xc5\xff\xf2\xc0b\xdb\xce\n\xc1\x83\x19\x89.Gx\x10\x1as\x15\u04d8\xcf\xe0\xdc\xd3\x02>\xeeI4\x9a-n\xf7\xc4\xd3\tA4\xd3'\xc7\xefi\xbd\xa7\xe6\xc4\xdfH\xa8\xbf\xc9Q\xef\xd3P\x7fJ\a\\\xa3\x16\x88\x0e\xa5\xc57wK\x9e_\x88\xf57S\x9a.N\xbb\xbe\xa8\xdbjF\x02\x10\xed\xe8\x943\xd9|\xdd\xdc\xe3\xb4~\x97pf\u022b\xde`\x8f\xaf7\x14Su)%\xaa\xfa\x17\x1c0\x11\x9a\xf7i\x1e\xb3e\x8f\xe3\r}N\xa8\xc8*b\xf7\xe9C\x89\xb6\xbf\xc1\u05d5\x81\xf4\xca-\xe0,k\xa5tqV\xc4\xed\xae\x0f\xae\xbd\xb1\xa8\x1b,\x0f\xad\x1f\xb9\xf4T\x9e\xf7.\xb1\xfc*\xb6\xe1q\x9d.\x03U\xf7\x056U\x04\x10=\xb7\xf9h\xdd\xfc\xe7\x8b\x1c\x00\x91\xbd\x9fC\xfb\xa8\xa2W&\x00\xa2\x06o-\x9f\x8f\x1f\u0416\xfd\x01\x8dU\xc9q]4n\x14\x02\n\x8d\u0236~ku^j\x10#\x95!\xf4\r\x7f\nF\xe8c\x04#\xf4\xfe8\x84\xfe\x12i\x80A\x10\xfaJ@\xe8I\x97c\x82\x99\x93.\xc7\x04\xc5&(v\xe5\xa0\xd8\x12\xa0\xdc\x04\xe2\xae\x19\x10\xb7\xb0#\xf4\xf9\x8b\x116\x0f\v\x1a\x18\xa2\xf1v\r#\x01\n\xedNZ\xfa\xe1r\xfc\x87\xeb\x8c\x04(\xe4\xaeSg\xe5\x989}/2\x92\xc4\xe1\xed\xfe+\x16\xd4),<\x9c\x04(\xf4s\xe6<\xb5\xc0\x9d].3\x12Gu\xeb\xa8\n\xc0\u06d5\x00\x1eo\x97\xbe)i\xfd\x98%\xf7uY\x8at:\x15\xa2\xd3\u9ae5\xde:!/r\x8c\xe9\xbaNW\x1c8Y\x8c\x9fG1\u057cZ\xe0`\x16%\u02fc+<\x18N\xbc\xee\x84\x19\f\xc3\x10/\xb7\xaa\xfec\xceh\xc2\u1775\x00Dg\x0e\x876\xb9\xbe\xb5\xa7<\x80\xe8\u0684\xb4S\u04d65)\x03\xb3\xc4\xdf\xc3\xc1M\xd8e\xe4\x8dM\xb1\x97\xb1G\xce^\xd7\xe1\xdfO\xa7\x03\x88>\x05F\x98\xb9'\xfdx\x89\xf1\xff\x105I\xfaj\n\v\xedR9\u00ed\xce=\x1cL\n\x1fo\xf7\x88z\xff\x0e@T\xff\x87%z\xd0j\x8e!\xf6kS?\xd9L\x1d\x93r\xa8\x15\x16\x18\xdd\xfd\xf3b\xcb6V\x87\xa72\x12G\x11dd\xf9\xaaVY\x8b\xeb\xaat\xfc\x15|&W\x9c-\xae\xb9^\xd0-\xbf];\xeb'\xaf\xbc\xb0\xed.\xdb\x03\xda%\xbc\x8a\xd0*\xda\x13I\x1c\xbfP\x8e\xff\xd4L\xedO\xa7/D\xd8\x11\xc7O\x1c\xbf\xc49\xfe\xaai\x15\xbe\xe0\xe1\xe2;\xad\xbaFE\x00\x88\xb4\xc6\xce>rB\xd1\xed\n\xf6k\xe3\a\x85>9\xb1{\xc3F\xac\xe3W\xed\xae\xa5\xdc\u00f9\xbb\x1b#\x01\n\x15\xe6Q\xb9n\x9e\x8d\xb61\x12\x80(\xa7+\xbc<}\xd2\xf5\bZQ\xd2\xf0\xd7r\xf4\xf0e\xb2\x92LJ\x81\xaa\x99U2\xb6\x92\xbds6\xbd\x95>\xeav\x10v?\xf2\r2\xe4\x1a\xda!\xceI\xb4\x0f\xe7\x98\u05d0\xaa\xcf\xf5\xb9\xc1N\x1c<\x00W\xe1\x81H\x7f\xf4\xee\x9cQ\x13\xdap\x9c\xa2\xe5\xef\x8f\xea[\xbb\xf8q\\\x80\x14E\xc1\nT\x89\x8e-r:b'_W\x0e@\xb4\xd5f\xe7\xac\xe5\ub91f\x00\x88\xcc\xd2\xc3\xec\x1d\xc7\xc5\xeb\x02\nm\xeb)5\xa1\xd3;\xa7G\x8cTV\x04j\xb4M`\x11H!Mp\u05e1]\x18\xaf.\x9fO\x8a@\xa4\b$!E \thrE\x8a@5\xa3\b\xf4[\u03d0\xe7\xb3>\xbf_\x91\xbc\x7f #I\x8e\u0291BP\xcd(\x04\xfd\xa6r2\x87\xc3\x1b\xca\x7f\x99\xf8\x82\x91$G\xe5Hy\xa6f\x94g~S9\xaf\t\x1e\u029a\x1d\xeb\xa91\x12\xa0P\xc3D\x9ds+v\xbf\xf7`$\x89+\x9a\x8c\xb9\xee7l\xe2\xe1\xa11\x80Bs\xf3/\xae4\xb8\xd7e\x0e#q\x14\xaa\xde\x02\x01E\x93\xbaf\x9c\x0f\xa8Sj\xdct.\x0fO\xceA\xbeX\rw#\x99NM m\x82\xa6\xd8&\x12\u0170\xa1P\a\xd1RKx\xc6\xc7\x12$\n\x19\xa9\x04\u012c\xda\x01\x89\xe5\xfe\xaey\xcbl\x86\u024b\xbd3\x01D\xc9S\xf3\xb5\x1d.\xb7\xb6\x03\x10\xa9n\u855edn\x97\a Z{\xfd\xf1>\x9b\x02\x95\xd54\xac\xfb\x96\x0f\\&\x99:&n\u0628*uL\x82\xdfc,\xf7\xf7\xc1\x8d>\xac\xce{1~\x0e\x80H]A\xd7\xe3\xab\xcb\xe4y\x00\xa2\x05\xb6\x8ek\x9c\xf3s\x83\x00D!i\x9f\xe7\xeco\xfb]\x8e\xb3\x98R\xd3\xf9\xa4\x12R}\xf1'\xfbZ\x8a\x7f\x97*`\x02\xde\xf4\xa85\xf8\xa1\xfeq\xff\x83\xaf\xeb-7\x12d\xae\xbc8\xa1\x7fP\x14\xf1\xb1B\xf9\xd8\xd8N-\x06\x9d\xe83\xfe:\x80hy\xa7\x87\xad\v<\x1b$p\x16\xa9\x9a\xf5x\x12\u0758\xc5\xec\x9e!\xb2\x1cq\xfa\x98\xcak\u05c3\xec\b\x17\x959\xfb\xd4\u0605\xe6\\\xbb#\xdf}\xe1\xd9s\xfbs\x10\x80\xc87\xf6\u029a\xbd\xae\xa6\x9c\xb6q\xc5r\xe1\x1c\x80T\x8bj\xc0\xf5S\x16S\xa6xxO\xf3p\xb6\xf7\xa0C\xdbm\xcc\xc5&\xde\u0385\xbb\x00\n\x17\x912'\xaf2\xa73\x9f\x18@u\x14J\xc3kmd\x80\xa8\xfeT'\xcf\xddAA=\xb8>Zx\xfe\xd0\u0705!K\u065b\xb2\xf6gs\xe5\xf3\xfd\xea\x8f\x05\x10\xc5g^\xf7\x1e\xb5w\xd8%Z-\xcfsl\x9b9\x00\xf5\xf1uv\xf0\xa0O%p=\xbf\xa2)\tE\x12fPU\x11\x8a*\xb3\xfb\xa9\xbf\xe3\x94(\xd4\xc82\x15@\x94\xdf}\xe3d\xb7A;\x92h=\xbd$TX!\xfe\xb8z\xf9\xe3\xeav&\x82\xa8\x8e\xfc\xb1\x89\xde\x01\xc1\x9f\xb8>:4\xfb\u0723i\x9f\u05ae\x02\x10E\x1cH\xf1Z\xff\u056e.\x80\xa8\x91k\x9a\xaf\u073e\aG\x01D+\xda\xe6\xd8Z\xd6\u037a\x06 *\xe93\xf7\xf9\xf0\xe0O\xa1\u0632\xfc\x05\x10\xba\x7fN\xff\x93%\x8cD\xef\x11iy\xc9\xfdXw\xf8\xa1~\x06\x13\xb2\xae\xa7\x03\n\xfd\x94\xb2\x9a\x17\xb8\xb1k #\x95\x95\xa9\xeb\x19\t,S+\xf6\x17|WQ\x05S\xa6V\x18C\xca\u0524L-!ej\t\xb8_C\xca\xd45\xa3L-y\xfd\xfd$\xa0:I\n\xe2\xa4 N\n\xe2\xa4 .\xa6\x82x\xcbs-\xf5Z7[\u0711\x91\xb8\x8e\xec\x92P\x107\x00\xb3\xfa\xe6\x06k\x96\x86\x92\v\x86guMf\xece$\x8eB\xc9\x1e\x14P\x10\x97\x9e\x8e\u0265\xa5\x8d8(lcJ\x87\x1b\xad\r\xf0v\xf2\x9ah\xe95\xcd\xc5\xcd\u05e9\x8ci\\=\x9e\xc6 \xcfL\u053c\x12D\xc7\xfd\xfbfn\x98>'\x9a\v\x01p\xba\xbf\xd3\xdb\xc0(\xc1\x18@\xe4\xf7d\xe6\x81\xe1\xe6G\xeb\xd0:\u0593\x1f\xd0\xea\xc8\a\xe9\x94\x18-+\x1d\u034e\n\x8f\x86c\xe6.\x151\xcf?\xee\xb0\xd0\u04e7?\x04\xb9\x968\xf8\x8bR\xd7\x19\x9e\xd7\xce\x01\x88n\xf7\u0238\x98e _\x04 \xba\xfc1\xf5\xeew\xa5a>\x00\xa2\x90\xa9\xeaKM\x037\xdc\xe7\f\xb8:\xdf\xef;\x9c\xbb_9Y\xbb~\x12\xf6\xbb\x8a\x96\xce\xdd\xf3\xb0\xc58\n\v\"\x8d\xcb{\x92\xd4\xc2o\xd52F\xa2\u0551\u0159\nyRE\x10\xbeT:\xed\x1b\xbf'@\xa5Q\xe8\xd7\xf3\x1f\xd5\xc0(t\xea\xbf\xfe\x19\x14\xbe\xfa&\x80(\xfe\x82\xf2\xa2|\x8d\xe0h\x00\x91\xff\xdb\a\xf7nL\fZ\n(T\x7fh[\x1b\xf9\xb6\x87\x9d\x18\xa9\f:\xd3<+\x10:#7<\btV#\xa03\t8\xea\x11\xe8\xacf@g\xe4\x86\a\x01\xb4\xaa\x04\u0402e*w\xbc\u0376\xb3*\xad\x9df3\x92\xe4\xa8\x1c\x01\xb4j\x12\xa0\xf5K\xe5\u078c\u020a\xb9\uaef2+#\x01\n\x85&\xf9\xf4z=b\xd5\x1cF\x928@\xaba\xffvwV>\xef6\x02P\xe8\xf3\u04b4\xe0\u260fS\x19\x89\xa3P\u0291\x02\x00-%'\xac\xe5\x14\u02f8c\xbb\xa3\u0109\x9b\xa6R=\xdbb\xad\xaa\x9ae\x91\xec&\xff>x\xc7\xfd7\xfd\xff!\x04\x10\x99\xef\xbd\xe6\u07a2\xee\x88\\\xae\x01\xbc\xd4x\u07b2\xcd\u027e\x05\x00\xa2#AgS\xe7\xd8~}\x04 Z\x10\xa8\xae\x93\x92\x19W\xc8\xd9\"\x96\a\xe6D\xc7j_1L\xb6\x88_\x18\xba\xc9\xe7v\x80\xe4\xe06\x04!&\b1\x16!v\u0372r\x82\x16\x8d\x8a\xb8,\xcbg\xcaF]\xc5\xdb\xcd\xfe\a \x1ag\xe5\x12\u05f5]\xd0\x06\xec/#\xd1%\x14\\3\xae\x92\n\x95K\xaa\xc2\xcd$\x1c\x88\xe9\x9d\xd0\xe7\x06\xa7\xd6U,\xf5\x12\xe3[\xa4v\xf1\xc1\u0461,\xc7i\xf0\b\f\xceB1\xfb\x85@\x18!\xda\xf0m\u0168\x94s)\u01a2\xf9\x1d\xfc\xeb\xf4\xfa\xabC>\\\u06ad\xae\xc6\xd9H>\xfck!\u0180\v\xd7\xd81\xc0\xb0f\x19\xaf\x06\xa9q\xed\xa2l\xbb\xb5[\xc6&\x00\x8b\xd2\x1f\x9f\x89\xf1\xdb\xff\xb8\xd0x3\xec\xa9\xf0m\xf6d\xaac\x0f\x00\xd1\x15\x93\t\xd2\xf2E\x89^\xa4\xe6G\t\xaeb\xbc\x12\\\xc5\u0607\xabb|\xe3W\u0150\x00\xc0\x85T1jF\x15\xe37X\xb98\xb1K\xcf%\xd9\x16{\x18IrT\x8eT2H%\x83T2H%\x83PsI%\xa3\xbaT2\xf8Ss\xf7\xce:\xb9bYPd\x0e#I\\%\xe3\xe4`\xab\xe5\x1d\u07f4\x19\a(\xa4\x99c\x95>\u02e3Y\aF\xe2(\x94F\xb2\x80J\x86\xfaJ\\\xb5Bq\\EzTI\x16@[\xccz\x8a\xbf\xc7\u03aa\xa2\xf2\x8bd\xd7\x19\x8a!\xbf\xf2\x8b\xc4` \x14\xef\xe6R\xe5/4\xef\x13\xf7\xf6V\xb7\xab\u02d2e\x9f\x10moyp\xa0\xa2\xb7\x067\xa4r\xa0\xb3_\x8c\xfe\xfe\x96c\x00D\xcd'\x8e\x8eX\x96:\xdb\x1b@\x14\x9eu\xf5\x80\xed\b\x85\x1b\x00\"\u07d0=\xde\t\xfb\x93\x10]]=\xc7\a\x14&\xd6_U\xd6_)=\x01\xab\xd6\xfa\xf1U\x81u\xeaa\x01'\x032\xee\x88p{\xf1\xa5\x81\xf49\xab\xb3\x1e\xcf+\xb9\u01b5\xbdV}Z+:\xbb\x05\r\x00\x10-r\xce\xf0\xee}\xff\xdej\x89\xb3\xfeV\x97\x8a'\xbd~\x11\u0442k\xe0\xef7\xac\x98\xffrE@\x0e\xfb\xef\xad7\f\x9f\x17\xd6?\x1c@\xd4\xfb\xa7\x93\xd3\xe7\x81\xeb\xcf\x03\x88.76\x1c\xb5G%$\x8f\xd6\xd6\xe3\xfc\x0e\x01\xc1|p\xfeZk\xe1\xa4\xc2!\xfe\n\aD)\xb3\x8f\xafq\x1f\xa1o\xc1\xb5%\xa9W\xae\a\xe9\xdfH\x8c\x05\x10i\xb5\xdb\xd4=t@R;v\xa4nY/\xc4?ul}\x8e\xd2\u02bd\xf9\xf5\xb2F\xe9\xaf:\xf8O(K\xc0e\xdea\x00h\x99\x98\n\x91.df\xf31\x16\x19K~qT\x99OO\xd0L\xde\x1b\xf0\x1b\xe1\xe3\x0fC%\x1d\x1f\x85m\xa5\x85/\xb7\ap\x95\xdbg\xad~\xa7$\xbf+\x94nlG\xba\x9aV\xb0\xab\xa9\x9em\x8f\x92{\x9dw\xed\x05\x10\xcdX\xf4||+\xbd\xf1\x19\x00\xa2\xd8\xfe[\xad\xd0\xcc\xf7\x8f\x00D\xd6\xdbs\x8e%~\xf7(\xaa\xee6!\xe9\xf4\xbf\x9a`\x13\xd5.9,\xf7\xf7\x1b\xea\x9b{\x83\xb31\xdb\x00D\xf1\xb3\x17<]\xd4.9\x94m\b\x9d\xa5\x8ab\xdc\x16\xb0\x17\xf3\u054bs\xac\xc5k\x92\xd2\x01D\x97\xb2[\xde\xd6\x0fy\xde\t@4o\xb7G?W9\x13-\xee\x1b\x8dV\r\xf3\xfew\xf1\xe4\f\x00\xd1\xc2n\u0364\u06ab\xdf:\x84\r\xaaZC\x06.\x98>\x13\u0187\x04Z?a|H\x1e\xa8/a\xd6/\x12\xc6\xc7;~\u01df\xe3x\xc6G%\x14}\xaa\x9d\xf9\x97+\x90\xf9\xe6\x8d{\xaegc\x1f%\xc2\xca\x03\xe1\x88\xf0\xe7\x88,\x88kZl\xdb\xf4\xd0v\xae}\x9a\xb3\xf4U\u02c5VyC\xd9J32`_p\xa3\xf9\x8d\x00D\x9d,\xfa\x00{\xfd\xe3+8\x9a,w\x14\xcf\x119\x8e\xe3\x88\xfcA\xfe \xfc\x0e\xc2\ufa19I\xafh\xf8\x1d&|\x02M\xf55\x18B\xfe \xe4\x0f\x91\x93?\xca\x7f\xc1\x04\xa5\xa5\x1f\xea\x8fZ~\x14@t\xf6\xf6\xf3\x9f\u078d6\xa8bC\xe4;V=\xb9N]\x15\xa6\x12\xc6GMe|\xac\x99oj\xd1#\xbam},\xe3\u30a5jZ\xc3##.2\x12\xbd\xed\x84\xf1\xc1\xcd\xf80\x8eP_1&\xe5u:\xa0\u04031\x1a\xa3N\x1e\x1b\xf3\x95\x91~u\xbaxC\x18\x1f\x84\xf1QS\x18\x1f\xbf\xca\xef+\x8c\x9b\x8e\x98\x9f:a:#I\x8e\xca\x11\xc6GMb|\x90N\x17\x84\xf1\xf1\xaf*G\x18\x1f\x84\xf1Q\x9d\x19\x1f\x9d\xb5\xd5\x16\xe5.\xb8\xec\xc3H\\'\x10I`|,\x98\xbe\xfe\x9am\xf1\xb5N\x80BVz\xee\u018b\x9e\xa6\x842\x12G\xa14.\v`|\xa8/\xc41>\x14\\\xf8v\xba\x80\xa4\xd3E\xf5/}\x10\xdeC\x8d\x86\x80%\xca>E\xc3{\x90\xbeLx\x0f\x12h\xfd\x84\xf7 yx\xb6\x84Y\xbf(x\x0f\xd4i~*\xb0D\xdc\x189\xa9\xe5\xf3\xaf\xe5g\x1b\u07fa^G\xb3\x93\x12\xd7\x16\x1fyj\xb3%\xcfw\x1c\xfb\xef;\xf6:G\xcdN\xd9\xed\t \x92>\x04\u05d8\x1bG\xa7\u0450\xea}l-_\xf6\x11\x06\x86\x95\u0742\x99\x13w\x89Qv\x12\x1f\x95\x91\xed\u02a79JV\x85\u05d8s\x9c*\xc15\xa0\xe0\xe3\x15\xb0\xa0\u7fd7\xf9 \xdaYp\xba\xe1m\x9d=\xed\xb9\xb6\xe3\xe6 \x83Q:\x9f\xb5\xd8\xfb\xd9\xd2\xe2\xc1\xa6\x1e\xbb\xa6\xc7\xd0\x01\xb2\xdaVs\t\xfd\x81\xd0\x1fH{\v\xc2p \f\a\xb1\xb7\xb7\xd8\x7fj\x9be+\xfd\v\xb3\xb9\xbe\xebs\xea\xfb\x94)\u02b1\b@t^\xf5B\u00f1\xb9\x1b>bs\x88D\xe9.-\xbe\xd8\xe6\xd6%d\x87\x9aJv\x18\xa4x\xfb\xeb\xe1\x80\x00\x1c\u07c5B\x17\xd7\xdf]10\xf3\xa81#\xd1\xdbN\xc8\x0e\xdcd\a\xa9\xe6SN\xcf\x18g\xbc\x06P\xa8C\xd0\xc6E\xd1\xfbd\xc2\x19\xa9\x8c\xec\xd0`\v!;\x10\xb2CM!;\x90\xf6\x16\x84\xec\xf0\xaf*G\xc8\x0e\x84\xec@\xc8\x0e\xff\xbcS\x84\xecP{\xc8\x0e\x8e\xdf\u06c5\xa5F\xee/`$\xae\x13\x88$\x90\x1d\x82\x1b\xda<\xf0<\xe2\x14\x0e(\x94\xa5\xb7q\xc6\xfa\x03\x96y\x8c\xc4Q(\xa59\x02\xc8\x0e\x8a=\xb1\x96S,\xed\x85#B\b\x85U\xf0E\xd0\u029d\x9d\x0e\x9f\x99\xda\xdc1F\u036b\xb2\xb0\x8aj\x87\x9c\x96\xfb{\xa2Rf\x13\x199\xc37\x00\xa2V+g-\xcb(\x94){\x80{%\xe6\xd4\xc2r\xacPm\x80\xa5\xc7\xcf\xcd~\xe1\xf3\x00wu;\xb5\x93\x12\x18y\xd4\x15\xfb\xa8k\x91m\xc0\x91\xcf#t\x1ep\x19]D\x98[\xdfv\x03\xfb\xb3g:j\x88\xbe\xaf\x95\x9c\xe76\xec/L\xec\xa6q=z\xef\x13\xdc;\xde\x14\xb2MY\xa8\x1d\x9c\x19\xbb\x92\x91h\xa7\xbb\x03\xebt\x9d\x85\xad\x98\x11'ZQ'\x1a\xb9>\xef\xf6\xb7\x15g\xcci'\xf8\x05\xe7DO\u052czz1\xe4G \x81\xfb\xf8uMh\xc8G\xb5$\xc6\u1cff\u0705\x7f\xe0c\x95~\xa8\x13f6\f\xb3\xb3\x9c\xe2\x04\x7fQ\xea:\xc3\xf3\xda9\x00\xd1Y\xeb\u0457\u7f1e\x91\x05 2\xed\x9c\xddtqH\xff\xc6\xc4MW\x9a\x9b\x8e\\\xd0G\xf5a\xdbIz\\\xbbc\xeck\x998\xa3\xad\xfaY\xb6\x1b_\xb6+8!\xd4i\x00\xf6\x17\xfag\xf7\xdfr\xf7\x88\xff\f\xac\x9b^\xe3\x99)\x05\x87\xef\xe8\xc7H\x00\xa2;\xa3|eWQ\xf2\xcb\bH\xcf\x13\xa4/\x99mSW\xb5\xde\xd6v\x80BK\xe2\x97>\xef\xdcp\xd8\x06F*\x03\xe9[\xc6\x12\x90\x9e\x80\xf45\x05\xa4'7\x12\tH\xff\xaf*GzP\x13\x90\x9e\x80\xf4\x04\xa4' }\x85Az\xa5\xe3\xe3\v\x8c\xc3\x16\xdcf$\x89\x03\xe9\xd1\xe6\xe7?\xce\xdb\xf8o\x04\x14\xf2\xcex\xd1sQ\xb7\xbc\xed\x8c\xc4Q(\xedp\x01 \xbd\x96=\x1e\xa4g=\xe4\xfcM\x9dR\u3695\x83\x87\xa77\xfd\x89\xc5|\x18\xdd\x04\xb5\xad\x1c\xa0\x85B5\x8b\xc0WL\xe9\xf0\xc1\x7fr\x84\x1aE5\x84K \xf23Y\xb9\xb4}]\xfb\x14.\xe8\xe1\x7f\xd4\xeb\xab\x0f\aOW\a\x10M[t\u01a1\xfe\t\x93\xff\x00D\x1e\xcf5\xc6R%\xfbT\xb0 \u00f1\a\u00c2\xeb\x15\x0f\xae\xc3H\x9c5\xaeo\u00f1\\^v/k\xce\x17\xd6b\x95\xdd\xf5\x90\xc5\xc1\xc9\xf0\x06\x1f\x8d\x14#A\xde\x05@Tl#\x1d\x9d-k\xf7V\x84\xd80oH\xc4\x15@\xa4gg\xf9\xb40U\xc1\x8ek\xa7v\xd6O^ya\xdb\u0749\x00\"\xbb\x84W\x11ZE{\xe8\a\x01\xa8\xbd\xe2^\x96j\u01d1f\xcf<\x14o\xed\xc30\u1141N+\xbc\b\xecq=\xb3\x1a\xb4rV\u05a8\\\xaeq=|\xca:\xdf\xf1{\xe8\x06\x00\u047cNq\xa9O\x17\x8cf\xaf\u05c1V{\xc3\xf6\xdfW\x8a\xabr\u053er\x03\xe0\u07e3\xf6\xd53t\x8a\xa6\xd2P\t\xf7q+\xab\xd2\xf0!OM\xdeo\u0621k\xd52{\x80h\xe3\x83\xf5\u050fl\xeb0\xae\x99\xbe\x8c\xf2\xec\xbb 3Y\x0f@t\xfbJ\xc8\xc33[#[a\x7f\xe1\u031d[\xcf7\u067d\t\xc4\x06\xd4u\a4\r\x82\xebw3e$@\xa1ek\x87i\xd9\xc5m\xf5e$:D:\xe2B$k!\xdeq\x14\xc3m\xd8`0\x13\x83=\vQ\xd2\x14\xceg:>^\xdc\u0574gIc\xda`\n\xf9\f\x9b\xba*|\x15y\t6\rq\xc6\xf8\x9a\x7f\x9c\x13\u06f9\xc7\x16\x99\x1e\xbfi}b\x8eh~\a\x1f\a\xbd\xb7\x1c\\j5Vv\x16\xc7b\xf8\x10\x9b\x84\x18\x03.\x19\xc1\x8d!t\xf5\x87w\xa7'}\xe2\x8e\u0171\xf1\xf9\x05\xf7;\xa5d\xb2S\x18\x8b\xa2\xa2P\xbb\x9eZ\x00\"gu\xc57#\x9e\xc6u\xe6\xfa\xa8L\x90\xa3\xd4\xc9\xe0>\x8f\x00D\xfbN\x1f\tH?*\xab\u0399\xceI>\xae3T`\xdc\x16\xee\xe6\x99+\xd7\xcd3\xdd\xf5\xf7\x8c\f\xa6\xed)\xc2\xcey\xce\xc0-?,uN}\xe7\xf6wJ\x87o_\xd5\xe9u\x14@\x94\xbc\u0879mK\xd9\x01\xb4).\xc2\x05\xf7\x81\xe2\x0e\xee\x95[\x84-\x86S\xf9\x05\xf7^\xe4,_\xd5\tI\xf5\v\xb8\x01;\x14\xdbX\xcd|\x12\xcbej\x19\xa9\x0f\x86=\xbem,\r \x92b\xb9\x9b\x1e\x98\x9cX\x88\xfd\x85\x0f:c\a\xd8g#|\xc0m\xb9\xe8\xfe\x11]\xd75\xf6\x8cD\xc7\xd6\xe9\xd8\u063a\x99\x1c?y\x1c?\xe1L~\xb1{\x8d(\x021o\x83\xc5\a\xe2\r\xdfV\x8cJ9\x97b,\x9a\xdf\xc1\ab\xfd\xd5!\x1f.\xedVW\xe3\xa8\xc0V\xfc:x\n\xec\xc2V\xe1D\v\x1f\x92o+[\xea\x1a\xcbkqSK\xe2\xfc\xeaZ\xeeQ\t\xd4\x00\x10\x15\xdcV\x18\xf0\xe5LzZ\xb5\x8f\xb3\xc7\a'\xb3\x1a\xd4\xdf~\x83\x1d\x93\x06'6\xf1?m>\x95\xb6PB%&\x81L\xd2\u04a3\xea\x17|\xc5O%62}\u052a[\x87\x05\v\x19\tP\xe8Y\xae\x9bU\xfe\xed\xf4y\x8c\x04 Rj\xfa\xe2\xaa\u03cf\u0393\xe9pB\x88k\xdc\u0135\xc4!s\x1e\xdb,\xee\xbe\x1eP\xa8\xe7\xae\xc5\xf3\xb7\xf7\xef|\x85\x91\u0288k\xf5\xbd\tq\x8d\x10\xd7j\fq\xad\xecv\xb9m\x9b\xb1\xa7R\x16\xc6\xfa0\x92\xe4\xa8\x1c!\xae\xd5$\xe2\x1a\xb9]N\x88k\xff\xaar\x84\xb8F\x88k\u0559\xb8\x16\xe1\xb9cZb\xc2\xe5]\x8c\xc4u\x84\x91\x04\xe2\u06b9\xf8\xee)\u05b2V\x8d\x01\x85F\xc0\xbc>\xfa\a\x1d\x1e1\x12G\xa1\x14\xed\x05\x10\xd7\x14T\xf1\xc45\xa9i\x18hP\x9c\x8dA\xb9o\x9c\xab+\xf9\u03fb\a\xccl\x01D\xb9\xda?V\xb5\xbe\u0763\f\xfa\x88\xc1A\x1f~5\x8dJ\xb0A\xdc\x13\xaal\xb6@\xd5\xf6C&h\b\x7f4d\u022d$\xe56\xd1,-.;|\xdez\xc2\xdb\xeb\xaf\xebd\x00\x88\x9ee\x16\xe4MvP\x9b\x04 z\x1fxU\x7fT\xfd\x86/\xb1?\xf6\xfd\xd2\xf4\xd7\v\u06b5\xe2\x8d\xf7\x06\x00\nu\xdd6\xd3\xdf\xfb\v|\xc2H\x1c5\x90\xf6\xaa\x10wN\xda\b{\x15\xdbI\xdc\u014bjw\xafZD~xP\u30f7V?\x1b4\xbd\u02ab\xbe\x95\ud1eb\xb6\xeaK\x80\xe7\x9a\xe7j;\xee\xdf7s\xc3\xf49\xdco\x8b8\xdd\xdf\xe9m`\x94`\f \x92\xdf}oD\u04b3\xa3\ufc3f\xb0\xf3]\u07f9+\xc7$\xb6\xc6\xfa\xd7ao\xfb\x0fS\xb99\u00d4\x91\x00\x85P\x93\xcf\xe7w\x16?\xf9\xc2H\x00\xa2,\x10\xf0z\xa4|\x83G\x04x\xe6\t<\x9b\x1f\xffd\x96\xaf\xbb\xc8\x18P(\xec\xe5\x10\u01cc\xb8\u0723\x8cT\x06<\xd7]'\x10xVZ\"\x10xV\x1a\x84q\xa9\x8a\xdb\xf9\x01\u03cf\xaa\xfe|L\x80\xe7\x9a\x01<\v;B\u03ff\x18\xe1\xf4\u032fC\x13Ud\xfb3\x12\xa0\xd0\xd6\x06O\x81\xfe\xbc\x96'\x19Ir\x94\x9b@\xdc5\x03\xe2\x16v\x84^\x7f1B\xffO7\xdb/\x193l\a#\x01\n\xa5S\xb7\xd7\u00baa\x0f\x19Ir\x94\x9b\x80\xe95\x03L\x17v\x84\xde\x7f1B\xa8n\xa8x>\xab\xd1}Fb\x9b_\xca6\xd5;\x1f4)F\x92\x1c\xe5&\xb0}\u0340\xed\x85\x1d\xa1\xcf_\x8c\xb0yX\xd0\xc0\x10\x8d\xb7k\x18\tPhw\xd2\xd2\x0f\x97\xe3?\\g$@\xa15/\xcf'5\xeaw\x7f\x19#I\\\x81@\xa3\xc9\xf9\xa617=\x1c\x01\x85\x86\xac|h\x16z\xe2hGF\xa2\x11\xb4\xdb\x02\n\x04\xac\x978\x80\x87\xa6\a7\xa6t\xb8\xa6d\x11\xe0\xed\xe45\xd1\xd2k\x9a\x8b\x9b\xaf\x93\x17}\xeca\xd9\xf0!\x13^\xe1C\u0354\x188\x88w\xde\v\xd1L\x9f\x1c\xbf\xa7\xf5\x9e\x9a\x8br*\xe2~\x96\x96g\x96\x03\x91\x9a~|Lx~\xa0\xbb(\xa7\"\xee;}\xf4\u0574\x7f\xa7\xafrtZ\b\xda\xd4\x04..\xc7\xe2C\x03{e\x8c\xeaf\x01 Zp\xccrT{\xf9\xb4\xd3\xf4\xd8\xea\xe3P\xb5\xe7|\x80\xb2\xaf\xd5\x02(+U\x99\x8a\x0e\u01b3\u071dd\x88\xd6\xfbO~4]\xbfa\x03\x00\xd1K\u07dd\x06;\\2\x8e\x12\\Mbq\xb5b\xaay\xb5\x00\xd6,J\x96yWx0\x1c\xb7\xfcG\v\xb0?\xee\u03d7\xb3r\xff1g4\xe1\xf0\xceZ\x00\xa29kOFu|07\x12@\x143Fuqg\x8b\xf6&\x00\xa2\u02c3TNv;\xe0r\x0e;\xec\xf9\x86\xd7_\x84\x9d[\x1d\x8d\xc5\xed\xda9\x9c\xed7Iy\xc6VF\xa2\xe1\xfb\xb5\x92F\x80u\x03\x105\x1e\xfd\xe8\xdd3?\x962_o+\n\x02\xac;\x80\xa8\u024bK\xb6{\xe4\xfa\x8e\xe2\xda\x12\xb7\xefM\xfd\x1d\xe5\u04fa\x00\x88\f\xa4\x1b\xbd~\"?7Hd\x9e<\xb6\xa5\x82\xdd#\xfdSt3 \xd6;\x9c'\x8f!%\x0f\u2689k\x96l\xd7,71}\xd0\xfeV\xf3\x1ea\x87}}\xfc6\xb7f\xd9\x1d\x17`]s\x17)\x8b\"\x1b\xb9\xa7]\x19\t@\xe4b\x1f3{\xc55\xdd\u0474+\xb0\xe6xi^\xd5\x15{|u\xa5\x98\xaaK)Q\xb5\xab\xbc\x82\xd3\xee\xc7\xf1\x86>'Td\x15\xb1\xfb\xf4\xa1D\xdb\xdf\xe0\xeb\xca\xc0\u0495\x1b\xc09\xb24\xa1t\xb9>g?\xd5\xcfc\x9a\xc7t\x17\xba\xf8\u00bb\xf6\xe2\x03 \xf2;zm\u0775\x94\xdb\xce\xf46,\xe0\xec\x91\x12%_vH\xf6-o\x17\u0694&\xd778\xf8{:xxzO\xc1\xfd\x02w\xcekm\x9e\x95qb\xa3%\xdd\"\x97R\xc4\x15\xe2|8sb\xfe`;u\u06bf\x8c\u008bk\x14M\xdfE+\xf8\xab\f\xea\v \x1aZ?r\xe9\xa9<\xef]b\xf9Uo\xae_E\xf1\xdbg\u0791k\xdc\x1e@T\xa7\xcb@\xd5}\x81M\x15\x01D\xcfm>Z7\xff\xf9\"\a@d\xef\xe7\xd0>\xaa\xe8\x15\xdbR\x83v\xb4\x9a:m\xd5=Y\x00Q+Y\xd6 \u04e4\xde\t\x80Bc\xf5\xfd\xfd\x1a\xa6\x1fk\xc0He\xe5\xaez\xd3\x04\x96\xbb\x94G\b,w)7\u0144w\xa5\xa9|\xca],\x85\xaa\u01d5H\xb9\xab\u0194\xbbD\xb9\x9a\"\xab\x86\x19\xbe~Q\xa7\xee\xf7\x93c\x18\tP\xa8\x00\xf6\xfe\u07e2\v\xee\t\x8c$9\x06AJd5\xa6D&\xca\xd5\x14Y\x05\xad\xbd\xbal\xbdy\x81\xbb\x9b3\x12\xa0P\xd43\xc7\r\xa0\x10&2\x92\xe4\x18\x04)\xab\u0558\xb2\x9a(WSdU\xb7\x9c\xa4\xa2\xfe\xb7\xae\x146e$@!\x8d\x9f\xf6\x11\xa0\xee\xb4\x16\x8c$9\x06AJq5\xa6\x14'\xca\xd5\x14Y\xa5\xce\xef\xe8\x1e\xd41:\xf2\x11#\x01\n]\u0697Q\xb8\xf8\xbc\xff|F\x02\x14:\xb4\xc0\xe2\xb6{\xfbkO\x18I\xe2\xcaw\xa7\xc6\xf5\x88\x0f;0t\"\xa0P\x83\xbc\x92\xab\xfb\xa5.\xe81\x12\x8dN?\x17P\xbe\x932\xa7Xl\xa1\xc7\xefc\xec\xeb\xe2J\u00f2\\\a/4j_\x89\xc2\u0497^\x99\x8cD{\x8fd>`\xebk>P\xd8\x16!\xc1\xd6a\xff\x0e\xb6R\xbf\xc0VF\x02\xd4/\u0615\x12\x04\xc0R\xbf\x00X\xea7(V4\x13u\x16v\xa28(\x96\xfa\x05\xc52\x12\xa0~\x81\xb2\x94 x\x96\xfa\x05\xcfR\xbf\x01\xb5\xa2\x99\xa8\x8b\xb0\x13\xc5\x01\xb5\xd4/\xa0\x96\x91\x00\xf5\v\xb2\xa5\x04\x81\xb7\xd4/\xf0\x96\xfa\x8d\xb9.\x9a\x89\xba\t;Q\x1c\x8aK\xfdBq\x19\tP\xbf\xf0\\J\x10\x9b\x9d\xfa\xc5fg$@\xfd\xe2\xb5S\x82\x18\xee\x14\x1a\x99\xbfA\xf5\u0363\xcej\x8cDGVW~8j+J\x99\"8*\x9eU\xber\xe7\xd0\xcf\xd3\x1c\x1e\x97`\xd1\xd5y!\x89I\x83\xdb\x0f^\x02 \xba\u04a7\xbfE\xb7\x81\x86?\x00\x8568\x9d\xd2\x19\x19\xf6*\x9c\x91\xca\xc07\x8d\x01\x04|#\xe0\x9b\xa8\xc17\xff\xbf\x18\u031b)vg\x83\v5\"\x18\tP\xa8C\xcbc\xa9\x89\xbe\xf6\t\x8c\x04(4\"\xfa\xc2vCg\x9f\xab\x8cT\xcd\xc07\ub077t\x96\x8c\xb59\xcfH\x92c\x10\x04|\x13\a\xf8&2\x838\xbe\xe5\u074a\xf3\xaf\xbb\x1b2\x12\xa0P\xa1\xd9\u0310\x9e\xedCg3R5\x03\xdfb\x87\xe5^\u057d:\u0393\x91$\xc7 \b\xf8&\x0e\xf0Md\x06q}s\u0328g#\x1db\x18\tPh\xefN\xf9\xf4O \u024d\x91\xaa\x19\xf8\xd6XJq\x98\xa6O\xbb\\F\x92\x1c\x83 \xe0\x9b8\xc07\x91\x19\x84|\xea\u37e3\x8f%\xab1\x12\xdb\xc1\xba\xb7\x8b[<\xb0\xff\x13F\xaaf\xe0\u06e7\x0f\xfe\x83Y\v\f\xd4\x18\tP\u0235\xe9p\xcf0\xf3\xbb\xf9\x8c$q\xe0\x9b\xb2\xf6Q\xb5\ucb39I\x80B\vLN\x19d\xac\u0765\xc3H\x1cu\x97\x8d\x15\x04\xbee`\xb8\xa3%\xe7\x04R\xac\u061fZ\x8e\xf7\x19c8\xdf\xcc\x1c\xed\u0327\xba\xb8\xbaz8{\xb8x\xf1>v\xfb\xe3\u05b0\x1cY\xa4\xfb\xe6\x1e\x06F\xcdW+p\x11\xbc.\x9a$\u00ec\xe7\xe3\x83\x00D\x11\x93\n\xba\xdf:\xb8h?\xed\xd2R\x7fq\xaeJ\xbf\xd3\xc1\x7f\u00af\x87\xedBq\x94M\u04a5\x82P6\xab\x8a\xb2Y{\xbaT<\u067b\xd7hK\xef\xe4\x9c\n[\x0f']\xfa\xe3\x96\x00\xdez\x02\xb8\xa2\u0459E\x0fo\x9eJ\x9e\x98\t j\xad\xde6\xebJ\xb7y\xb3K\xff.EQ\x90\xed\x1b\xb4\xfb\xce\xfe\xa2\a\x00%KJ\x06\x1b\x16w\x8a.\xd5\xf3\xf8\x8bT\xaf\x10(C\xd53\xba\xfe\x8c\x04\xa8B\u0658+\x1d\n6\xf5\xfa%\xd0n@\x02.\xfb\x12\\\xb8\u01902I\x0f\x12\x82\xf1\xd6X\x82%\xe9AB\xf0\xda\x1aK\x96$=H\b\xf6Zc\x89\x8f\x12\u0503d\u0772\xef\xee\x1a?5{3\x92\xf0#\xf4\xfd\x8b\x11>\xbcwBZZ~\xe9yF\x02\x14j/\xbf\xc2\a\u016b}`$\x89\x03u\xa7*\xc8S\a\x14\xa9=\x80B\x1d\x8e\x0e\xd1(\x8cL\xf0c$\x8e\x1d\xd5I\x16\x00\xea*+\xe0\x1a\x02\u0219\xe3M\xb0\x98\x15\xc9\xc7\t\xb1\x9c1\xe7?\xec\x19\x8e\x80\xa5\x04,%`iE\xc0\xd2E\xef\x87\x06\xf5k\xf1I\x01\xe3\xfc Z\x92\xadt\xf9\xf5\x93C\xaat\xcd\xe6\x8f\xd7-\xcb\u0669T\x1f>\xac8\x8a\xaa\x16&)\u0717\xf3\x861\xd9\xcb\x16rul\xebA:]\x13\u0662\xff\xf26q\xd3g\xe5\x88t\x1d\xc4m\xcf\xc2}9.vB\xf4\xd5\xc1G\x19\x85\xae\xfa\x0f@\x94s\xdfzC\xbda\a\xa6\x89t\x1d\xc4\xed\f\x84\xfbr\xdeP5{\x1d\xbc\x8aG^\x83\x9f\xee\x05\x02\x88\xc2\xd7^4}\xec\u0536\xadH\u05e1\x12\x1ae\b\xf1\xe5>x}\xc8\x04\x1fLN\x99\xb3\x95-\xb6\xf1\xbb\xfc\xba1gz\x00\x88\x8eY\x1d+\xf9\xa4*\xf3\x98\v\xcc\xee\x1d\xf1\xb4\x9f\xc6)\xcf\x16\x00\xa2FG\xe7~q\b\xd62\xa7\xfd\xccl\f\x8aL\x1c\x10q@\xc4\x01\x11\a\xf4/\x0e\b3\xa6F\xcf\x12#\xe6e\xd9\xd7\xc3\x16\x7f?=mu\xd6\xd3l\xc6^F\xa2\x97w5\xbf\n\xef\x10J\x85\xaa\x99\x15^\x0f\xb1\xd5}q;\xab\xf99}\xe8e\xd3\xffZ`\xf7Pj\xe1\xa9'\xaeJ;\xeb\x00\x88|-\xb6\xcfxd\xfcv \xa0P\xfd\x13~;rS\xf4\x1b2RY\xcdSj\x8b\xc0\x9a'\x94\x16X\xf3\xa4nc\xa2\x15\xa5\x8d7\xbc*\xe1\xd8UYQ)|\xbfvh@\xfdT\x1dF\x928l\xa4\xb0o\xe0\xa53s\xce\x0e\a\x14\x9a?0Co\u01de\xa5\xc7\x18\x89\u0585\xe1\xfc\xb1\x91\x92'\xbc\x15\xa1d\x1d^\x0fFp\xfe\xf4{\x97#\xce\x1bGC\xa6:\xf8\xf36(*\xc7\\\\\xbf\xa9\x91\x9c\x9f\u0521\x1a\xf2\xf8I\x1b\xa7i\xce\xee\xc2\xfe\xee%\xbf\xd4\xd4.\xe6\xdb\x7f\x00\x88\xfav\xcd>7\xf5\xdb\a\x17\x00Q\a\x8b\xae\x9d\xf5d\u00ac\x01Dc{\xfb\xcahl\x1c\xb0\x19Ph\xc2\xe7&\t\xf5F\x8f\xbd\xceHeNJ\xf6\xae@'\u017a \xd0I\xb1\x16c\x9c\x14|\xcc\a\xb5\xfb\x13U\xafz\x0fV}\xaeK\xfdw\xb7M\x8aS_\u03d6\x8c$\xe2U\x9d\xfe\x17\xc37\xec;\xeb\xec\xba\xec&\x17\x19I\xe4\xab*\xde;7\x9f\x13\xe0\xe0s%\x0e\xcf\x19\tP\u8389Y\xcb]\x8bM?0\x92\xa4\x05\x98\xc2N\xbb\xf4\xf4\xdcz\xb3\x95e\xb0\xd1\xdbB\xdd3\xef\x9b1\x12m\xa3\xf7\x04`\xef\xd4f\\\xa6\x81\xbbz-\xc1\xd1G\x8f\x86\x8dL>7\xfb\u0579\xab\xd8\xf9\x7f\xeb\xe1\x90\xdcz{\xfb#\x9c\u0444\v\b\xb0B\x8d\x8a\xb7>L\a\x10\x1d\xe8\x95\xf4x\u01b2%\xbc9\xb7\xa5T\xdd\xe3%\xee\xa7BC\xeeqF\x95\x80\v\xcee\x9a\xc2?:W\u05a0mw\x0eU\xbf\xf2\u012a5\x80\xe8\xf4\xe4\b3\x1d\u0168\x18\xb6\xee\xf7\xdc\xf0^\xd1\xc07\x15@4\xc4\xed\u03ac\xfa\xfd\xee\x17\x03\nmKU\x19\x9d\xaf{\xb6%#\x95\x05v\x05)\x81\x81]\xba\x81\xc0\xc0.\x85{>S\xaa-G\x15I`'\x81\xbd\xda\x06v\x91\xae\ua33f\x18\xbeM\x04\f\xd3\xee\xb2o?#\x89|U\xc5{#S\x1a|\xacs\xdd\xef\x81+#\x01\nu\x7f\x1c\x1eb\xb6\xea\xfa\xff\x18I\xd2\xd2%\xd4Qmz\u03de\xdd'\xfd\a(\xf4\xd8q\u02aa>M\xa4\xbc\x18\x89\xf6p\x87\x04\xe4K\xb03._\xca\xc3\xfbF\x92/\t\x9b/\x89ih3\xb0C\xf3\xf4\x1e\xdfs\xc0^\x9bTl)\xdf\u028f\xb5\xa1\u0789CS\x00D{\xe3\xbe\x1c\xa93\xbd\x01V\x85\xd1=\x1b\xf7%\xc7#oLa$Zy,\xb0\xa9\xdc6|*7\x81\xf3\x9f\xfe!\x95\xc3\xcdio\xcc\xd3\xefo\xb2N\xc9bW%\xa1\xaf\xe7\x1d\xef\x89\xcd\x1b\x949(\x81\t^\xc5\u01ca\u02d5xo\x1bDCM\xbc\u01b5\x1e\xe0\x80\xd7\xfb\xbc\x9c\x91]=O\xbe\xec\xc4\x19\xeb]l\xdaw\xa0\x82i_\x15N%`\x02\\\xbe\u0428\xf1r\x00\xd1x\v\xe3\xed\xed\xc7\xdey\x04 \xba\x1c\x1b\x90\x1c\x11=\xf3\x18\x80\xa8K\xf0\xf1'y\x16\xbd\xa4\x00\x85\x12|\xbf\xe5\xbf8\x9f\x11\xcbHe\u0260R\x17\x81\u0260\x8c\xa7\xc0dP\xa6\x13\xc6\xe1I\a\xf3+\x9c\x92d\x90$\x83$\x19\xac\xa5\u0260HWu\xd6_\f\xbf\xf3\u03183\x97^\x0e\x1e\xcaH\"_U\xf1\xf6x\xb8\xa9\xba\xb5nhd\xfcNF\x02\x14\x9a2\xf1q\xfd\x15\xedN\x1fe$\x89K\xb1\u05eb}k{>dO\f\xa0\xd0]\xebi}\u01der\tg$:n\x84\tJ\xb1\xef\xe1\xea\n\xcb\xf9\xb4: )v\xcdI\xb1\xc54\xb4Y\u0621!\xc7\xc8\xf05\xf5GY`,\x1d\xa2m!\xb7\xd4>\xe7{i\xb2\xf7V\xfd\xfb\x1d[\xeaT\x126\xfbGyR{\x06\x9cw\bd$Z}C\xb1\xd9\xff1|\xf6\x1f\xc0\xd1y\x91g\xff\xb8\x99&\xa5\xb8-\x9b\xb1\xff\xc1%\xecZi\x84\xac\x8a)\xf8\xde0\x833\xf23\x82\xcf\x04\x15\x9f\x81p\x894\xef-\x86h\xad\xf3\xa7\xb5\xee%\xa9x\xac\x15\r\x1f}\xf2\xbf\x0f\xd7{rf\x90\x89=)$V\xf0\xa4 q\x13t{itG\x7f\xf5\xd8i\x00\xa2\xbe\xd2\xf6\xaf\xb5\x0e\xed\x8f\x02\x10\xd9=\xd9ra\x93F\x9b\a\x00\"\x99%-\xbbmO\xcd\x1a\v(\xa4\xfc\xcai\xc7\u02cc\x90c\x8cTv~\x90\x1b-\xb8J\xbc\\p\x95\xd8\x11\xe7\u0363\xf9\xd0\u00a9B>\u0567jt%\\t\x84\x1dQ]\u032a\xb2\x9c\xbc\xde\x15c\xd5\x0e\xbdg)1\x12\xa0\x90Ut\xf4\xf1SN\x1d;3R\x15\xe6\xb7uX\xf5\xef\xdc)\x19w\x9a\x91$.\xbfz\xa6\xd7n\xed4\x87\xe6{\x00\x85\xc6N\xda\xdbm\u073a\xd9\xe1\x8cDC\x98\xe1\x02\xf2+\xd6\x05\xdcu+\x18\x87\xb7\xba\xd9\x18=\xc6\x1a\x95\tg\t~\x8f\f\x96^\xd3\xec\x9d|y\xbbGv\x12\xb0\xd2\x7fU\xb3z\xb7\xc3\x1a\x03\x88.lM_\x96\xd0\xfcK>=8E>.\xa1\x80\x0f\x1fu\x89P\xbck^\xdc#\xfcTy\xfb`v\x9e\u0573Y`\xebm\xdbs\xef\x02\x88Tr\x068\xb4|\xe7\xc2*\xaf\x19\x9a\x94\x06\xd7\x7f\xe9\xe7\xeb\xe4\xccw]v\xd7\x1b\xea\xdd\xd9P%\f@t\xa7\xdd\\\xb3(\xb3\f:\x85\xcb\xe23\xf5\x93B\u0344\xe9:SA\xfa\xb4h\xa6\xd3\xc8`\xdc\xe8%\xed\u050b\x00D+\xe2\x83\xeay\xb2X\x90\x8b\xd3o\x9c\xfe`\xad\xc5\xcc\xd6\xef\x01D\x1fn\x8f}\xb9\xf5\xa5\xf1\x17\xf6\"\u073e\f4\xfaI\xd1\xd0\xceE\fM\ue3fd\x17\xb4\x00\xff\xcc\x1fgO\xee\xbfq\x81\x86S\x95\xdf\xd6\x01\x10\xe9\xb6^sw\xe1\xe7!\x1d\xb0\xb1z\xc5~\xa5\x05\xdf\a\x9c\xe7M\x04c\xa7\x93\xf9\x9f\x1b?\x88RZ\xb5\x87\x91D\x88\x18\xf3\xe6\x02\xe3g\xd6\xcc\x7fm\xf3\xecq2#\xb1\xd3\u066c\xdayB\u04d0\xa8@\x00Q'\x13\x8b9?\xdby\xea\x03\n\xd9,id=\xe6\x96\xd1\x0eF*K2\xe4\x1f\bL2\xa4:\vN2\x8a1I\x06\u02daO\x92\x01\xa3x3\u056b\xaaA\x0eI|jw\u20fevO\x1c\xe7o6\u03ca\x91\xaa0\x1bj\x94\xf0c\xf7\xf8\x11\xbd\x13\x19I\xe2\xb2!\x85\x91\u0357DkX\xb2\xffS\aMw\xc3\xcf~\x1e\xdb\x18\x89F\x9b\xc6\t\u0286\x821\u0650\x0f\xc6\x10\xb9\x1a\x8a\n\xf16\xbb\x17WP\xdbe?\xa9\x81\xf6\xa0Dc\x00\xd1\u05d3\xb3\x06\xf7]\xbd\xe0\b\ud52ea{\x80\xc2\uee23\x14\xe0G\xb8U\x166\x06\x96\xdc\xc5\xfa\u016aY\x94\xbf}>\xbb\xc9\xdc+G\x9f7\xf5c\xe7`\xb9;Z\x0e\x0fx\x1eD_\x12\xa8\xb6W\xfd\xd91\xf8\xcb\xee\xa7Am\u05eb\x9c\x06\x10e\xb9o^\xd2~\\\xd0\x17\xec\xf7\xaa\xef\xa7\xda\xed\xd4\xf2]-L\xc6\xf3\x8f\xd9\xee\x85\xf3*\x9bC\xf5N\xcc\xc4&437D\x9bn\x18\xfes9#\u044a\xbaO\xbc\xd5qanC\xb1\xd7\xf9\xe5\u0107};;\xb6\xfd\x8c]\xdc\xe1E\a\xbbG\x06l\xb7\xa1\x95\xbe\xd4\xc75\xa4\xea\xff\x91\b\xb3\x9d\r\xee=k\x88\xdc\x17Lni_\xb0\x9a\xd3\u057c$\xe2\xf7\x10\u03fc\xfb]%\xe6\a\x91\xa1R\xf7u-o\xac\x1a\t \xba\x1b<\xc0}\u0555\xa0\x1b\xec\xcf\x1e:7\xec\xee:\xbb\x0e\x80B\xb6\xc7\v\xb3b\x1c\x91\x03#\xfdB\x906\x93\xe4\x8e$w$\xb9#\u025dx\x92;\xa9\x96\x82J\x89\x06\x9c\x0f\xa8Sj\\#w\xf0\xf0\xf4\xa659\xad\xe2\xe1;\x80\xfe/\xdb\xf9e[\x1d\xf9\xa4\x16W\x84L-$\b\xba\x82H\xe5\xe5\xf0\x1b\xc9\x17\x9a\r\xa17\xbd\xa23\xf1\xe6\xea\x87\xdfT5\xff\xe5\x8a\xeb\xf3^\x03\x88n\r\xa8\x1f\xa2\xd2\xe0Iwac\x96\x13W\xcc\xfa\xf9Usg\xb3V\x9bw\x01\x88\x1euo\xdd3}`\xc10\x00\u046c\xd1~N\x0e}{Ecs\x90M?\x1b\xcfH\xe97t2#\xd1\xdbw\x9d3\x10q\xd5\xe8\x84\xc9A\xf0(L\x8bz\xb3\xc1\x801\xaf\xf0\x173n]\xd3\x0f]\u05f3\x90F\x8a\xb2\x7fY\tw\xb9\u05073\xfa\x92\xf8\xdfS\xa8\xaaL\xf7\x05\xaa\u0402]\x11\xf76\xbc\v8W\xbeI\xf5\xb3i\xf5XM\n3\x92\x01D\xbeJ\x91k\v\x9e\xe6M\x00\x10\xd9\xf9\x874\xd7\xdad\x7f\x11P\xe8\xd98\u01dc\x8f\x0fu\x03\x18\xa9,GQ\xb6'9\n\xc9QH\x8eBr\x14\xf1\xe4(r\xcf\x04\xe4(2\x1eX'P\f\xff(\xeep9`VY;\xd6\x18Ai\x0e\x1c/t\x9a\x03\x9b\x914G\xd4iN\xc9%>\u02f6\x1as\x81\xa4\xc2i\x84\x97\xa8\xc6\xfcbs\x1c\xeb\u0420\x8e\x97\xb8\xa2\xb5\xee\xf3\xb7)9\x89\xdb\xce\x00\x88tr?\xaf\xd7^\xbe\xa9\xa0\x94o\xe6\x7f\xa4\xd5S\x7f|\xf9j\xc0\xe0\x8cO\xbe;M>0\x12\xa0P\x812\xeb\xa6i\xfb\xe2\xe1\x8cDG\xcb\xc1\xb8\xd2t\xd9=e\x9ea\xe9\x00\u0582\xfe\xa2\x9e\xf9\u03eb\x97\xda\xe6G;\xdbY\xed\x06s\xfd\xfd\xb6u\x92\xfe\x84\xc8\xd875I\r\xd6>\t=\xd1im\xbc!\xbdC\x931)\x10\xf1\x15\xc2\xfb\nL^\x9f1{\xf9\xd8\xe3\x83V\xdc\xc0Z\xdb\xf9\x1f\xdb.\xec\x8d72b$\x00\u0452O\xcf\x12RW9>\xa2\xfd\xba\x89xi\x88Uq\xc4)\xa64xG@K\xebi\xf4!'\xfd\xf7\u0515\x1d\x1c\xa7x\xb8\u03ac\xd6g \x88\x9a\xdc{\x7f\xf4\xea\xd8\xf9\xbe\xe5\x8fC\x9a\xcb\xe0\xc2\x1f\xd9\u01ff\x97\x0e\u0342\xf7\xe9\xcf\x16\xd3M\u01dbkx\xc5\x033F\xce\xf6=j\x02 \x1as\xcc3K\xe6\u0081\xd5\x00\xa2\xd7\xef\xbb*\x0f2\xd9k\v(tp\xd3\x17\xfbpEc\x8a\x91~\x81\xbf\n\xe4`E\x0eV\xe4`E\x0eV\xe29X\xb1\xd6\t\x02\x7f\xdb\xe2\x12\x12\u0729J\xc2\x18c\xa5c5\xe2\x93<\x15T8\xe5\xe08\x85\x92S\x15\x1f+\xc7\xf5\x05\n\xbb\x1aB\x80\xe8\xe1\x1eK\xb9\u0229j\xba\x00\xa2\xf4\xabT\x84\xf7\xb0v;\x01\x85\xda,\xbf\xb6\xe9\x96\xee\x8f\xf7\x8c\xf4\xab\xef\\ I\tHJ@R\x02\x92\x12\x88)%\x90\x13\x90\x12Pkq)\x01]\x05jL\xe9p\xd7\xc8J\xaf\x14\x96\xfaD_\xa7_\x0f\xf0\u009a\x0fh`\x9c\xff\xb7H\xa7\xe7zk\xde\xf2&\xa7\xb1\xa3T\x9d\x82\xdcf-\xd2nea#oN\xaa\xd9[\u077a\a\x1b1\x12\xbd\xa8}\xaaG\xe4\xb5\xc0\x00\r\xfd+\x12z\xd3\x1e<\xa9\xabe\xb37\xf9\xaf\xbe\u027b\xfc7\xad\x9e:\xdbuHQ\xe2\x05\x00Q\xb3q\xfbZw\xc8Xw\x03@d\xf9\xd0v\xf4\xac\xba\xads\x01\x85\x8aF\xcd\xeaZ\x10\xf7u5#\x95Ea\x95\x0e$\n\x93(L\xa20\x89\xc2\xe2\x89\xc2\n\xa7\x05Da\xe9\x93|*\x9en\x02K\x99Z\xc23\xb6\x9e\xf3+e\x92h\xce\x19\xfaA\xfc:`\x1e\xa3\x179\xfaQ\x1e\xe3^\xe28\xc5ll\xb0\xfbe.\x94@nZ\xdbe\xe3\xbc\x1cv\x01\x884\x7f.\xa2\xfe\xf7*\x7f\x1f\x80\xc8\xd5q\xc2]7\xd7)\xa6\u0624c\x95\xd9G\u04ee\xc3\xf2'0\x12\x1d\xab\xf4\xb0\xf5\u019e\xa2)\xc3\xfdy=\x93\xefC,\xd5p\x1ftow\x8cWf\x1d\xed\x05 \x1a\x9a\xe3\xdarx\xa2\xf6U\xee\x92\xed\x9f\u0276S\u03778\x8b\x92e\xde\xc2\x14\x04\xff\xe1\x96\u02d9\u00e1M\xaeo\xed)\x0f \x8a\xf9\xbcw\u6211Z\xf7\xb1\xa9\xec\x0e\xb5E\xbdtz5\u06c2\xb5\x94\x03\xc5\xc5\x11\xe3\x9d\x0ftc$\x00\xd1\x11\xdfi{z6qS\xa1\x93\u00fb\x9cZ`\xed\xc9\xd41h[\x85\x12\xf5O\xf3\xcf{\xfaY =\xda\xe1,\u1b1d\x12%_\x96Or\xf4~\x12\xdf{\x1f8T\x95V\r\x88\xb5\xe8\x87Ej/>X\xc7\xce\x06\x10%n\xfc\xa9k\xfcj\x0f\xfdB(}\xed\xf6\xcf=\xfc\xe3\xa7,|\xfc\xd9\xd9.?\x00\x17\xb2'\xaaUos\x81\xbbQ\xcf\a\xff>\x1d)\xect\xc6\x18/\f\xdf>m\xbd/\x80\xa8c\u06b1\xadf\u05b9u\x00D\x91M\xc0\xd7\xddC\x12\xfe\xcf\u0795\xc7\xd5\xf4D\xf1\xb9\u04eeM\x84D\x96\xec\x15\x12B\xf6H?!-\x88P\xa2E\xfb\x8e,\x91$kd\t!-*\xfb\x9a\xd2b\t\t\t![Y\x92(\x15\u0647R\xbf\xcf\xf3n\u075e\x9a\xfbzy\xf4\xe2\xfew>\xf5\xde}sg\xce\xcc\xf9~\xbfg\u6329\u0fd9\x10\xf6\u037ei\x99|\u03dd\x8d:\x01\x88\x16\xbb\xad\xfcfm\xf6\xb0\x10@\xa4\x9a\xa7*?\xe6\xce\x11\xab*\x8a\xfc\xf3\x1c\xb2r'y\xca\u00df\t\xdbh+'gG['\v\x0fg7\x8e\xb0R\xe7\xe5\xa8!\xce\x1ay\x95\xfb\x8dK\xf9\x9aT\x06 \x9at\xf5\xc2\xfa\xa8i2\xaa?~f(\xed\xdba\xbaT\uac53W\xe7\x8f\xc7\xda\x02\x88\x82:I;\xf9\x8c_\x14\v \u06b1\xa3\x93\xc7g\xafna\x00\xa2W7\x15l\xb5m\x95Z\x00\x88\u0714\x95Dg\xf6_\x9e\x04\b\xe4=g\xfbIW\x85\x13Q\x94UuV}&W\xe2,4\x93;q\xee\x82\t\x8b\x90\xee\x9eT\xd8W\x00\x89\U000dafc38W\x1c\x160\xdeL-\xeb\xc89\xa6{\x1b\xdb##\xdaS\x16 \x90M\x8e\u1643\x1b\xee\x1bS\x16 \xd0\xd8N\xbd\xbf\x1dO\xd79AY\x800\xaa\b\x96 \xa0\x10\xb9\xa8\"_\x8b\u077a\x8b}\x0f\u0761,\x81\u35c5_T^\x9e\xd9\x17\xb3\x1a\x10hu\xbbqAS\xe3F\u0365,\x92>&s\xe1\x97B\xc5\xdc8\xa4P(\x06\xddS=\xff\xc3\xc1\x8f\xd1\xccH\u009b\xc6\xfbqW\x93cg\xa4\x15\xfdj+R;B$\x9fJ\xc5\xcdj+\xacU\x97\xf7\xad\x8e\xecP\xde\xc6Zl\xa5\u0687\xab\xdd\xf9\x8fe\xee\xdf)#33q\xf6xv3\xc9\xf7kF\xc8r4\xc9\u0223\xf6\xe4/7d\u034fS<#\xba\x0en\xbe\xfe`\xb6\x06G\x04\x96\b\xb8}\xdd|\xdb\xee\xcf\x00\"\x9f\xa2\xb4\x1b\x15\x9f\x82\x06s|?J\xcc HO\xf3\x85\b92q?;\x88\x8e\x83\x83\xad\x8b\x87\xed\x1c\x1d\xf2\x03>\xf4\xc3O\u0525\xb79\x8b\xd4\xf8\xbe\x93\x1a8\xdf\xf1\xcaY\xf2\aZ\xb0\xa7\a5\x15F\xba\u0359dAR\xc2b\x1a\xc7it#\x82\x83\xe2\xe1\xe9\x0e\x0e\xfa\x17\x93\xbf\x00\x88^\ao\xd7K\xb01k\xc3r\xcao\x83G\x8cig\x1f\xc1\xf1\xac\ue0fe\xcf\xd7\x14\xbf\xc5\n\xd4\"\xcb\xfb\xa9fg\xed\xc2\u0577$P~\x92v\ae\xcd&w(\x8b\xec\xf1\xb0\u0191>\xa8\xd8\xc7\xf6\x8c\x9f\xd7&\x03gwC\x01\x18b\x88\x06g\xbc\xd1\xf3\x9d\xfa\x9f\x1c\xf9\xecZ\x0f\xb5\x1b8\xbb\xdbz\xd8\xce\xc3\xec \xb4`\x8ds\xab%\x97\xd6d\x05\xdc\x05\x10]9\x1a-6kQ\xd6\x1d\x00\xd1\xf6\"\xdb\xd6R\x0f\x84\x03\x01\x81\xee\x17\xdfQ\u0752?M\x9b\xb2*Q\x96\xe4Y\x06e1(\x8bAY\r\x8c\xb2\u0115\xb9\xa0,Q\x15\x9cv*\xb4\x85Nn\xa7\x917\xcb\t\xc5\xda\xe7\x1fG\\\xae<\xcfZ\xf7%\xb2\xa6\xebQ\r\xe2a\xf9\\\xc0\x11\xb5\x16nz%%\x11\xe9o\u02f7E\xf8U\u01029\x92]\x17\x1a\x00\x88\x1e\x1f\xba\x96~\xe1x/u\x00\x91\xfe\x0e\xa5\xccl9\xfd\x96uA\x89u\xc2-X\x94\bg\x8cU\xf7\xb96\xb5+\x80\u8dbfz\xb6\xf7\x93\x057\xc9Q\xa9\xb1m\xb0\xfa\x90\xf9\xd7}4,\u022f\x8c\xa5\xd1\x7f1\xb9\xa1\xba\xefP\xe4c\xbc\xc4\f8D{?%\xb6No\x1b\xdd\x1b@\xb4<#\xa6\x83\u0667L\xa9?:>\x0f\u0787/\xe8\xd5m\xe1,\x00\u045c\xef\u0459\x8a\x1a.k9\xbeu5\xfdm\xd2\xece\u0773\x00D\xc7?\\:: _v5\x19\xe0\xf4pa\xb1i]\x9a^N<\xa1s\x05fj\xff\xb6\xa9\xcd7\x02\xd8a\xda\xecW\x96o\x85\\9>\xbal\xae\u06d0\xf9seY`}@\xee8\xe39\xfb\x17(\xe3S\bJ\v\xfa{\x15\xcc\uf005\xe8;\xee\xe9Kh\xfa\x8c\x1bFY\xa4\a\xa40\x10\x9d\xff\x10\xdd\nW\xbe\x9c\x1f\xd8]\x7f\xf2\xb6\xdd\xe7_*\xa6\x03\x88\\^\xbd\xb7\xe9\xdaAh7\x80h\xb6\xbc\xab=*.\xdc\x05\bt9c\xd5>\x17\x17\xdf9\x94U\x05\xe3o30\x9e\x81\xf1\x8d\x10\u018b\x11\x10\x8a\x02\x02\xcd\u0378\xaf\xac|==\x9c\xb2\x04\x0e\xc6O^\xee\xb8\u016atO2 \x90\xcc\xd4G;\xdcM:+S\x16\t\xe35\xb9\xc0x\xb1\xc5<\xc3xNH 4\x9bf&\n\xa9\xd3Q\x81\x7f\x15\a\u00ba\x04s!ND7[\u7551\xbdT,\x80He`\u01efy\u3fb1\x96\xea@#\xf7\xfbh\x9e\xf8'\xb2?q\xe5\xbe\x7f\xfc\xb3+\xaf8\xbd.\x95\xc5\x1b\xe1\xf0T\xebT\x8b\xf8W\xf6\x97\xdf\x15\xb3\xfe\xff!\x7f&\xa1uo\u0739?:|\xb7\xe3\xe2\xfe\v\xb7\x8a\x1e\x00 Z\xe0u\xcc\xdf_n\xd1\x02\x8eoUX\x06\xbc8.\x16\x97\x06 \xda\u0471\xfd\xf5y[.\xbd!\xa7\xd5.|\x91X)\u072e\x9b\xdbuC\xf8\xa1tN\xe4D\xe3\x12\x8f\xeb\x02\xf0i\xe0z\u00faH\xf5~O3T\x99\u07b6D\x91\x85\f\x87\u0195g\x8be\x98w\xe6\x1b\xbd\xc3\xfaE\xd3\xfe9\x9eZ\xc1.\x13\x00D\x0f\r\xbd\xd4gT\x1cM\xe2\xf8h\u8b00\x17\x8f\xfbeN\x04\x10\x99;\x9b6\xef\x7f`\xfe\t,\x9e\xfdoq\xd2\x15\x05\xffK\x83i7E\xf2\xb0e\xac\xf2+\xb24\xc3\xff\x84\x1d\xe4\xa8\xe17vu\xf3h\xe4\x8b\x05D\x87_\xa9\xb7;[ \x99\xca1\x14\xda>YE\x1f\xdd\xfa\xba\x03\x88\xc2/Yu\x1d\xad\xba+\x13@\xd4%K\xa1\xa4\"\xa7\xb9\x19\x96\x18e6}\xa2\x15\xff\u01659e\t\x18\xfb\x81(\xcfd\xafo\xc0\x85\xef\xad\x01\x81\xc2\xe3\x15$\u63bc\xf7\x89\xb2\xaa\x0e\x10<\xe7\n\xed\x99\x03\x04\x8d\x10\xda3\a\b\x98\x03\x04\x82p\x80@\u0491[\xea\x81)\x99&\xb0\xbb\x9e\x99\x92iL\xc94\xa6d\x1aS2\xedo*\x99&\x9c\xf1\xaf\x9dx\xc0\x14\r\xc3\xd5\x17\xe1,\x1a\xa6S>\xb2\x8b\xf5\xdaf\xa7\xc9\x05\x8a9\xf2\xc0\x1cy`\x8e<\b\u0191\x87uj\xb7\xfd\xac_F\xe8\x01\x88\x9e]\xbb&\xb3\xb7\xdfzk@\xa0!\xa1\xa5:_\xd6$\ue8ac\xaa\xea\xe8\x8a\u0733x\u04f8S\xfd\x8e\xb8,\x9e3\x93\xc5c\xb2x\u0572xB\x80@\xc5w\xe4{\xdf\xec\xfa\u0604\xb2\x00\x81:w\xd6?X>R\xfa-e\x01\x02E\xf4\x1b\xe6\xe58\xd3\xf4\x1beU\xa7y\xe8\xa1~\xfa\x10\x93\xd8\xd5\x03)K\xe0\u0630y\xf2\xd9&A'\xae/\a\x04\xba&5|\xaa\xf6\xd8\to(\x8b\xedr\x12\u02f9\xb0a\xf1+4l\xf8\t\x96\x1d\x88\xd6e\xb1\xab\u0224\x01\xa2{\xb9\xae\xfc:\x15\xeb<\xf0\x0f \x8fU\u05b6\u05ddng\x04d\xe1\u0210\x05Z\x92\x97:-\x1d\xc4\x11\xb5|G(L\xfe\x92\x10\xfd\x14@t\xc90\xee\xa6c\x8f\xa0o\x1c+p\xeb\xa2\xeb)\u7557D\xb2L`\xbeq\xe5\ub0f6dg\xac\xc3\x01q\xa3\xba%M:\xd0t\xd3[\xec\xf0\xf0\xa7\x03X\xbf\xb1\f\xbf,\xf1\xf6#\xb39~$\xa9\xdd^Y\xe9K\x1b3\U000491a3RKz_z1\x17@\x14\xa1\xf9\xcd&\xf4@\x93{\x1c=\xfe\xedqnt\xc7\xc2Y\x87\x00Di'_\b\x19)\xf7\xb5\xc6>k\xf4\xbd>\x1b\x0f\xf4\xfd>\x04\x8b\xd4\xfb\xe6\xce\xd0L\xb1\xb0\u0423,v\xef\x8b$1N^\a'\x17\xb6\xc38\xb90m\x92\xde\x00\xeb\xbe5\u07ba\xb64)_\xde\x1f\xa2G\xdeb\x1ea6{\u05b2\a\xe58M\x14n\xf0\xa9P}0\n\rD\x9256}r\a\x10\xf9=j\x9a\xf86\xebx \xb90\xd7x\x85\xea\xc8g)\xb6\x1au\x83x\u068f~\xfdF\xd3\xe7W1\x02\f?\u05f8\xdf:xs]\x93\x9f\xf6i\x9fQ\xc61x\xc7\xef\xb7P\x81\x8e\xf7\u025b\x19\x9f\xe1\u07dfo\x83\x82ku\xb5A\xe9y\xcf\xd8t\xce1\xd3\"\xbe\xe5=\x89\x1e\xe2\x91m_\xf6a\xf1\xe5\xc13D3\xfe\x1b\u0533)\xe76\u04b3\xa9[\u06fe\xd6\a\x00\xa2\x9d\xd9r\u05af\x92\x14p?\x00\x11\xb4\x8a}\xb6x\u038e\f\xec\x12\x9e\x9a\xf0\"\xd8A!\u010f\xb2X\xc4\xe8\u0602\xc2\xe9~q\xea\x02\xa6\xa8@\u0531\xc2\xf1i\xea\xd3\x10u@\xa0\x94\x92}A{\x8e\xab\xad\xa0\xacJ\x8a$\x9f\u011d\"]\xe1N\x916\xe2(\x12\u074ek&\x1b\xcadC\x05>\x1bZ\x8d\x91\xd9h\xf5U\xbd<\xb4\x8b8e\t\x1c#\xbb\xbf\xe8c\xe4\xb5\x03\x86g\x01\x81\x96\x1f\a\x9b\xd3\xfc\xa2\x94)\x8b\xed\x18MOqad2\xa4\xe7P\r\x99\xe0l\xe9\xe9@jZ0\xb4\xf6\xbb4~\xf8\x9c\xf2\xcfR\x9e\xb1U\xed+\x1c\tO_\xb1\xbb\x81j\x8a\xbe\xa7\xa3\x95\x1b%\x81%\xe1\xe3\x0fo\x1bm,x\r8\xb39\xa2\u022a#\xe3\x86>\x9f>H\a@4\xaf\xe3\x9c\a9\xfd\x9f\xf7\xc1f\x0e\x14\x8e\x9e\xda\xdbW\xb4\r+NYd{(\xad\xd4\x1f\xc9\nNOe\xd2-W\a\x8clBvT\xe7\xbav\x14\xb9\xf2\x14pU\v\x1byWm_\xfeQ\xa3Y\u0671\x8d\x00\xa2\xb1[\xa4/\xde\xec}1\xb2\u05af\xd9\xd7\xfaWOVh\x9cg\xb7x\xa0\xdc\x11\xf6y\x94r\xc9q\xdc2\xe4M\xc8\x1d+\xe1\u02eb\u0630\u03186\x00\xa2\xd5\u0167O\x05\xdd\xd0?@.\x93K0\x12/\xb7^\x83\x98^\x13lG\x81\xe8\b\x91j\x97vq\xdc\x12\x00\xd1\xedS\xf7\x03Z\xaa\r<\u00d9\x91\xa8\x06\xa5<\x1d\xe9\xa0\x14\xd1\xf2\xe7\x18\x86UM\xec\x7fv\xb6[\xf8e\xa8\xee\xd5M\x9d~i\x81_\x9d\xeaa\xe96\\\u05bb\xf6\x87\u0529$\x13D\xa1\t\vF\xae|\xe3=\x19@\xb49\xedB\xc7]\xcb\u0786\x02\x88\xa4\xd6\x1c\xaa\xf8\x96,\xea\x8cu\xc7\x03\x89!v\t\xf6_\a\x00\x88\x82\u0766F/lZ\xa8\x02 \xea\x94M\xcc\xc8Y\xf0\xec\x01V\xe42\x95\xb4^\xf1z\xa5a\x01e\x01\x88\x9e\xed\xe8k\xfea\xa5\xd5S\u049fm\x1a\xc7Y\xe8rB\x84nO\u045f\xf5\x11\u03a33\xa7\xfb\x05\x88\xed\xb9\x9c7\x05@d\x19j\x13\xe3\x92\xe90\xf9\x97|\xe4\x99\xfc\x8eS\x87\xec\xf4\xb4\xab\uf27a\xb02\xc53f\xf1\xed|\xf6\x9b\xf2\xf1\\\xf8o\xa0\x88\x10\xedNw?\xed\xfa\xe5\xf4:\x00\xd1\\\xb3Ok\xcez?z\x06 RIr0\x94\x11\x1e\xd9\x1c\x10\xe8~\xf4k\x9f=g\xd3OSV\x95\x88Y\u0308\x98\x8c\x88\u0248\x98\xff\x90\x88\xf9\x92\x9b\x889\x9eN\xc4\x14\x12\xa6\x111'\xf1&b\x96\x13\n\\T\xccbZi\x8e'\xb6D\xbb&W[bS\u01b4?\xef\\0\u07cfo\v\xf5\xed\u026f/\x1b[\x1fj\x8a\x85\x84\xc9\xf1\xfd\xa7\x17\xecL\xf8\x0e j*\x16\xf1\xb4\x9dQRW\x00\x91\x9bc\xb8\x8b\x8d\xf8\x95\xca{\x8e\xa7\xf0&{\x96\x13\x8a\\u\xcf\x7f\xads\xc3?L>\xa0\xd6\u02d3\xf5\x84\x95{\x86\xf7X\xbc\xe1H7\x1e\x85\u04b8\x9d=\xaf_\x1e\x17\xb9\x94\x14J\x15\xb8\n\xa5iu\x15JEn\xf1*\x94\xe2n4\x131\xa5\x13\x96Jy\x16J\x19-\xb41JMUZ(D\x06\x1a6\xf9\x8e\u99c6U)\x9b4\x88\xac\xfcw\u02de\x8c\xb2\xf9W\xba\x1b\xa5l6F\x11s\x8ep\xb1B\x9f)ME8:\xe5\xe8\xe8\xb6~s5\x83\x97\xb3P\u0551\u037a%Y\xcf_a_\x7f\xb7YE\x93\xc2e\xcb\xe2\x01D\xf2\xe2m\xba\xe7j.'\xe9\xbe\xf09\xbc\x88\t\xe5\x1b\xa3\x889\t\x13v\b\xdc\xed\\\x9c\xc2\x12\x7fJ\xcb`\xba\x83r3\xfe\n\x9c\u057b\xe3\xe5YYc_\x1b\xc5T\x00\x91Yv\xae\xb7F?\x19\xce3P\xed\u04ba\xacj5co:\x80\u8069\x82\xa2g+\xa1d\xec\x0f\xa8\xbeY\xb2h\xad\xeb\xea5,\xf7n\xe1\xb2\xf1\x91\\\xf2\"F\xf5dTO\x01P=w\xde5\u077d+\u05b0\x04@4_\xd7g\xac\xf6\x9cGFX\xd5\xf3\u07771\xde~\x8eW\xc3(\v@d\xd9~t\xd1\u0520\x05\x8e\x8c\xeaYo\x1f\x11P\xd5S\xdf\xcaF0TOI\x03\u03cf\xbai\xb7\u05f2b\xb9[Lw\xa7r[V\xac\x16?}\xe3\xf0g\x03\x95\u0240@Y1\xcbf?\x7fv\xae/eU\xaa\x9e\u2af8\xab\x9e\xcc\xe9\xb6\u01a7z\n\xea\xe9\xb6_\xafQYM\x86\xbczzjO\xe9]\u02f6S\x96\xc0\u0250\v\x14\xd2\x12\x9a\\\xb6\x9b\xc5\xea\x15\x8fU\xb7\u05b5\xf9~\x98\xb2Hd\\\xc2E\x86\x84'\xb8\xa9+\u042a.\xb7\xb9T\xbc\xa0\x81\x9c'\xf1~_\xdf\xf3\v\xac\x85\xd4\xdd\xf4\xed\xf9e\xf2M\x94\xea\xf1\xa0\xd9\x1c\x0f\x9a\xe9\x99\xe2j\xb7?\u010b\x15\xa8\fs\x8cL\x93\xda\x14q\xac\x8c\xa5\xd3\xf6h\xbe\x9e: \x87\x9c\xc6cin\x9f\xa9\xe5\xac\u06af\x1f\x90\xe1h#Q\xed\x1e\x9b\xbaD\x05\xb6\x0f\xfe\x86\x83-\x9cCP\xad\xbb\xae\x94\xf4\u06fb\xbdX]\t@4.~\xf8ZC\xd1P\x16\xe7\xed\xb6\xe7\xf6D\xc5g+%\x00D\xa9M3U\xef\x9b8\xb8\x03\x88\x143\xdfj\xa8\xe9|\xc7\xed\\!\x90\x8bqA\xd3\u0743\xdcFS\x16\u9592\x8d\x03\xec4\x9e\xb4\xe6\x8f\xd6\x1e`?\xbcF5\x89_/w]\uf9f0\xfa\xbc\xcb\xc6\u01c3{\fR\xbb\v \xf2j\xe6{p\xb1\xd7\x00S\x00\x91AZjW\x7f\xe8\xd4\x1f@4\xb8m\u022c\xf7\xdb\xf7h\x01\x02\x9d\xf8\xd0b\xa7\x8c\xab\xc5\v\u02aa\xbaap\t\x03H\x18@\xc2\x00\x92\x06\x04$\"y\\\x00\x89P4-_\xab,0'd\xcf\r\xb7\b\xb5\xa3\xcb\xd0\xe8\xd0LU\xa29\xfe\x9b\x1e\xb4\xd9<>d\xec\xaa\x05\xd7\x0f\xfb\xd7\xf8_\xf4\xef\x13\xc3\xdf\x1f\xe6\x8c\t\x89\x03=l\r\xaf\x9e\xc9\xe3\xf8\xe1M\xb1\x9d\xe2\x88\xfd\x93\xf7\xb1\x16\xde\xf2\xde/*\xb2\x15\xd7p|\xc9h\x9bEvp\xc4\xf8\xca\xfbf\x0e\xd0\xe2!\x9f?\u0419\xbc\xbc\u04cfI\x93\xc3+~\xaayP\x9dr\x98\x86\xf1\x89j\x9f\xbc\x97)7j\xe2\n\xdf\x15\x00\xa2\x87\xf7\n\x0e?\x91|y\v@4\xad\xef\xc8\t\u0132\xd1\xe1\x00\xa2A\x8f\xfa\xecT\x1f\xf7\xe5\b\x80(t\xf8\x06\xb4\xfc\xc4\xee(,\xe0\xd2^/\x1d3q\xe0\x13\x7f\xca\x02\x04\x8a}]vY#\xa2\xff\b\xcabP\x98\xe0\xa00}+\x1b\vz\x14v\xe8\x96\xea-]\xfd\xa2\xc9\xf5\x7f\n\xab\xcfs{\x06\xcc:\xa7\xe4\x92\a \xba\xd4\xeb\xf2\xb9ru\xb7\xfb\x00\xa2\xa9\"\xad\xade\xdb\x06w\a\x10]~\xbcPB\xcc\u06b8? \xd0\xc4\xfb/K\x8fg\xed\xfaNY\x95(L\xec\t\x83\xc2\x18\x14\u01a0\xb0\x86\x94\x85\xc6p\x93\x85Ns\x95\x85\xec\xf1E)\xf8w\xcd\xee\xef8\xebY-\x9a\xb6\x8eiw\xea\xc5:\x85B^\x7f\x05s\x8d\x14{:\xeb\xd2\xc2!\x1c*\xc5#\x8f\x1aX\xa5\x9a\xb2\xd6\xf8:\xba\u0697V\u013c\xe9\x93p@k\x0e\x80h\u0354\xb05A:1~\x00\xa2\xe0\xfd\xad\x82\xf5\xd5d\x14\x01D\xb3\xdb?\u0650y\xa6\x13\x1e\xab\xa0\x0f~}B\xbb\xcf\u0220,\xb2\x97\xa7\xff\x9c\xcfd`\u026f\xeey\x7f\xb8\xbf\x85\u93a0\xe4-\x00\xa2-\u074b/|U>\x14\a\btj\xc4\u050cp#\xe3\t\x94U\x95\xfdy\u0344y&\xcc3a\xbe!\xc5\x16#nb\x8b<\xd70\x9fZ\x97\xecO9!O\x13\xa4r\xff@\xfa\xa7\x81\xe4\x91m\"\xb7\xddwH\x18-\xe2\xf8\x92\x93\xee\x1bK\xe5V\xe2\xe4I\x00b!\xdb\x01(\x9fa\xe3\x01\xf2\"\xe8\xca\x02p\x82\xa5\x8f4\xc2\xfc\xd2L\x97i\x86J=;$\xfc\xf8\x80\u0282\xf7\xb2\xe9\x19\x00\"\x9f\u3cc5\u0136+\x06a!\u0132g\x1f\xc7\xc1g\u04dfP\xd6\u07e1l\b\xde\x06\x92\x86\xcb/\xf1\xa4l$\x1e85\xe2k\xde\xfc\xed\x00\"\xa9=\xca\x13\u00dc\x12Y/\xe4\xe2\xbd\xca1w\xd5\xf6Q\x80@\v}G|(\xd6r\xb0\xa7\xac\xaa\xfc\x92\x12\x03y\x18\xc8\xc3@\x9e\x86\x84<~\xdc \x8fn\xdd\xf2K\x92\\\x91\x11]\xa9\xa4\xfa\xe2\xa1\x06K/\xf1i\xfb\xcc&\xdf\x04\xa5S+\x84|8~]c\xc1\xac\x83\xbb\xfe\u06d7Gv\xcd\"z\xbf\xc9f\xcabP\x92\xe0\xa0$\xfe\xe4\x7fx\u0685\xe3,\xa3\xf4~\xf9\x14\xf9\xd5\x00\xa2\xf6\xfd\xda&\x94\u060d\xfc\x04 \u0695*\xe7o\xbb\x1f:\x02\x02=8\\:\xf3\u045a\xa5\xa1\x94U%\fi3(\x89AI\fJj\xc8\xfc\xcf\x01n(\xa9-W\xf8s\x93&\xff\x93C\x1b\x11\x1b\u06d9\xf7j\xe1Wwe\xc1\xe5E]Mx>\x1fI\x9b0\xaa\xa7@\x84u\xacr\xa2\x19\r\xfa\xfc\a\u01a6\u0697\x1e\xe6x\xdc\xedQ\xfc\u0785\x15\xbdl\x0e\xac\x13\xef\x1b\xc2\xfa\xeb\x19+\x9b[\x99j3Z\x02\x88\u013eLSH\xabx\xb7\x1e\x8b\x87\xae\r\x1b\xf2\xf6\f\xd4\xd8AY\x7fG\x8eI\xf0\xa0\x0fDk#\x0ek\x1cD\x812\x00\xa2\u05a7\x834\x8e^\tz\x06\b\u0524\xeb\r\u066c.\x9b\xa2(\xab\x12J\xb4Y\xcd\x1dJ0u\x95\x1a\x1f\x94`\xea*1u\x95j\xaf\xab\u050a\xdbu]\xf2\xf9\xec\x0f`\x8a\xc3\u01f2\vc0\xc5\xe1k\xf5Y\xa68|\xc3\x14\x87\xaf\xed\xaf\xf3\x00D\x9e\u00df\xa6\x0e]\xf4q\"\xbb\u07dbAn\xa0\\\x8e\xbc:\x81{%$\xc9\xcfu\x1dC\xf2\u013fd\x026\xdc1\xe5\u465a6L9y\xa6\xe8\xd2\xdf\xe9\xa0L9\xf9\x9a}RUN\x9e`\x8a\xe41\x13\x88)\x92\u01f8\x9b\xe0\xb8\x1bS$\xaf\xb2H^\xea*\xe7,\x8f\xddnM\x00D\x1d\x12\xb2\x81K\xe1\xf7m\xe4\xba\xec\x8b\xc7\xf2\xf0\x01\xfd\x86OXI\xe9\xf8\u046f4\u04f3\xa1k\xa5=l\xa2tC[\xef\xceNr\xf6\xc6aB\x1c\x81\xe3\xa6?\xed\x8f\x1dG\xb3\xd4\x11\xad\xeb>\xfd\xeb\u0557\x8do\x16(_\xdc\xd5!\xa6\xf3\x1b\x8e\xc1\t4-\xfb\x96\xdf\xd6\xcc\x00@$\xb1\xdao\xb4\xa4\xaezK\xec,H\x9f\xf20p\xf0\x8e\xf7G\x01D\aG\xed\xdcg\u066c\xa7\x10\xe9\xdeL\u037f\xbf\xbb\xe6\x1fg)\xb6\x89A\x9d\u0147\xf5\xa80cyZ\x82\xcbX\xff\xf0\xfbgj\x7f\bg=7a\x8e\x87Xuy\xdf\xea\xc8\x0e\xe5m\x00\xa2\xde\xc1m\u0517\xeaJ\\`\u0164\xb0\x15e\xf1\aze\x00\x88\xa6\xb6\x19\xb3k\xce.\xe58\xac;~\x9d\xb3r\xaa|\x82\xaa\x1c\xab\x19\xee;\u0156n]\xb8\x0e@\x14\xb5F\xa3\xa2\xcfY\x17\xac\u048a4wD9\x96\xaa\xe7\x05P\x16\x80hU\xf7%\xd7\xf2w_*&\xfd\x99\xa9\xf9'\xb0>R\xad\xe6\u07fd\x91\x1b\r?\x8b_\x8d\xa7\xcd\xc8\t\u2a6f\xf1F\xa8\u51e8\xab\xa2\x00\"w\xdb\xc8\xed\xc1\x99\x97\xf7\x03\x02\xe5\xf9{.\x91\xda\xd0\xff\x11eUf\xe4Z\xe73\x199\xc7d\xe4\xfe\x9d\x8c\\\x8b\x1c.\x19\xb9\xe6\xbat\x199\xe6\xa6\x13\u6993F\u06b9\xfc\xbe\xe9\xa4isn\xf9=\xd9\xcbu\xcd\xefI\xdc\xe31\xbf'\x11\x8c\xd7\x04\x84\xf31\xe1X\xf8\b\x9d\xc0\x1b\u0273\xc0;\x97\xeeq\x9a\xbc\xaa\xbf\x15\xb985\xae\x82&/i\xc4U\xff\xc0\x0e1\x87\f\x06\x91\x0eX~q\xed\x81y\xb3\xf9\xa6\x88y\x82\x8fQ\x8a\x97f\xda\x01\x88Fl\x9f2{k\xc93},\xfa\x9e\x1e\xae\xa6\xd7Q\xff\xc6\x0e\x8egu\xbe\xfc\xb4\x7f\x8b\x80\x9e6\x00\xa2qe\x89\xd3.\x1eR\x12%\xa1\xd3#:\\\xb5\xef\xb7K\xb15\xb8J\xf5\x81\x9f\xc2o\x9d\xf6\x9fv\x8c\xa1\xdes{Y(\u03fe\xc3\xf1\xac\xe6_s\u04cfz\xb7\xbc\xd88\xe5\"\xd8\xfe\xfd\xf4]~\x0e\xc78^\xc9{W\xf7\x83\xe1+\xb2\x1e\x03\x88\x9c\\\xe6w\xf1-mu\x14\xdb'\a\xf7\xb8\x1d\x18\xeaU\xb4\x9d\\\xd5V\xe0\x96;=:7u\xe7y\xb9cV\xb4z\xadh\x10\xb9*+\u0758\xef-\xf1\xa6j}\xa2Y\xbc\xe6\xfd\xf6\u014bY\x9f~\xcf\xfa\xd4\x18\x97\"\u03d5\xe1\u05f6\xb4[v\x95\xa3'\fw\xdfMz\xf0t\xdds\x00\xd1\u04e0\"\xd7\xefA\xb7\u0571\xaf\xbft\u055d\x96\x9a\xad&\x1c\x04\x10\x8d\x0e\xf6{\xbd\xb3g\x8b\xf7,\x8f[9\xb0\xc9\xeb\x82[\x83\xc9\xfcM\f\x1e\xab\tI0\xf9\x9bZ\xf278\x04K\xe0\x10\xecO\xf9\x9b\xc5t\xf9\x1b\xbd\u07dd\xbf\xa9\xa1zU\x13\x91\x1a\xd7\f\xa9>Z\x05\x01\xbd\u02b3\xdf6u\x05\x10E\\\xed\xf0\xca\xd4v\b\xe0\xf8\xff\u025c\xb0\xb0Vr\xef\x7f\u0732l\xea\xb5\xefh\x8b;\xed\xb1\xd3\xe6\xc2\t\xcbwz\x01\u035a\x03\x88\xb4b\x0f\x18\xcd\u03bc\xf8\x89I\xf80\t\x1f\x01H\xf8\xa8>r\xcchk\xae\x15\x02 \x1arG\xaaWa\u01e0\xe6\u0604\xcf\x19\xff-\xefw\xbc^\u051d\xb2\x00D\xfd\x83[\xcf\xee\xb93\\\x83I\xf8\b\xba\x8f\xf0\x9a\xf0\x11\xc4#XSz\x96\x8d\xd8\xd0\xef\xde\n\x16VI$t\xcf[\xff'\x03\b4D\xb3\u0361\u00faO\xc7QVe\u00a7\xa9,\xf7\x84\x0fs\x9a\xbb\xf1%|\x04\xf54\xb70 \u040e}\u01d7\x18\x14\x99\x04S\x16 \u040b\x80\xc1AY\xfa.g(\v\x10\xc8r~\x1b\x87>O\x03\xa2)\x8b#\x03S&W\xd2\xfc\x85i\xc1+\xca\x12\xb8\fL\u05a9\xf9]\xba\xb5\x1e\xff\x10\x10\xe8\u0204#\xeb^\xfag\xe9P\x16\xdb\xe5\xa4\xe6s\xc9\xc0\x88g\xfcb\v^_\x97g\x01kA\xb50\x03Q\x97\xf0\a\xc1Q\x1f\xda\xdc\x02\x10\x85\xe6\f\xb0\xbc\u04acb3\x80\xc8h\xa2D\x89f\x97-\xd79\xde\xdco\xde\u0108w\xb2y\xef\x00D\xcaR\xc7lvO{5\b\v\x93c&k94\x9d\"&\x81e\x01IS\xda\xdd\xd0:\xda\xe1&e\x91\xae\xf6\xb1\xb1\xcf\x15q\xdc\\\xb9A3W\xf8ua\xf5\x9f\x99\x0f\x10-\x15\xb6ZV!]\xa8\xf4\ufe7e\x9f\u066e\xb3)\xb1\xe5!X\xd7?3\xf2\u5eec\xa6\x8bj\u03ee\xb3\\_\xe7\xcd\\\xeb\xc1\"N\xa3(\v@\xf4}\xb1\xea(b\xe8\xc4\\\x00\xd1\xf6[\xa3\xf5\xe6|\xf8\xa4E\x06\x0f\xf7\x9fC\xb0\x80raH^P_\xa3\xa0W\xc5a\xae\xb5\xb8\x1a<\xf2C4\\\xae\xf4\xb0J\xdcpr\x16\x13\xaf\xb0\nD\xa3\xd9\xd8\xf8\xa3\xb5\xfe?C\xf6\x91\x1e\u038e\xec\x86ZT\xed\xb3\xe0\u0709\xe1\xe2`\xeba\xe0\xe6l\xe99\x87\xed1\nD\v\xce\x0fx:j[\xb8\xd3\x14b\xd3\xf1\x11\u0378\xdd\xcfk+\x80\xa8\xb9\xce\u019b\xe5\xa8Sd\xc34\x86\xe5\xc5#o\u0739!*\x92\xd8\x05@\xb4E(98m\xe2\x12V\xd7\xcdJ\xcc_l\x1f\x00\xb7\x00\x88V\xca\x13]J\xado\x9a\x03\x88\xf2W\x0e\x81Y\x9d\x06\xeb\x01\x88\xec-\xd5\u039fM\u072f\x05\b$\xd5\xffA\xa0\u04ab\xf6\xdb)\xabR\x17\x90\xd6dt\x01F\x17`t\x81\x06\xd4\x05$B\xb8\xe8\x02b/it\x81\xf34\xba\xc0\x7f\xbc\xe9\x02\xe5\x84\x14\x17a\xe0\xef/J\x06\x91\xe3\x8e\tEq:\xd7\x06\x03\x886\xae\xeb~\xc0\xcc@3\x9b3\x7fX\xf7\xbd\x982\\\xa5\x84\x7f\xa1C\u55ff\x13\x16Ks\xff\b \xfa\u043a\xbf\x81\x88\xb9\xeaU\x00\xd1\xf2\xb8S\a=\x1d\xf7\x93\x89[a\x84\xd7\x1e\xa07\x8eO\xe1\xba\a\xeb\xe1\xfc\xe6V,\xa8\x10\u053e\xd3$\xd3\xdbB\x9c\xdd\xd3\xc9\xcd\xcdJ\xb9\u04f0\xfb\x00\xa2v\v:\xf6Y\x91s\u018f\xf4\x89\x958n5\xben\x19nE\x1a\xa2\xf2\x0f\xc9\x15\xd5\xfe\xef:\xfeQh|\xa9!\v8\xb6L\u06f9\xcfwM\xf8\b,\xde\x7f\xd8w\u0650Kc\xbe%b\x99M\xefIy\xa5\u048b\xfd\x0eR\x16\xe9\x84\xe3\xff&'\x9c\x84s\xc2\x1a\xdeU\x9b\x13\xf2\x89,\v\x9a\fP\xad\xe7B\xa3\xd6\a\x1dA\x83\xe6\xb1\xc8\xf4\x8a]\xe7\x1c\xbc\x93\xcfa]\xca\xeb\x89\xf0\xc9\xee#\x0e\xa7c]j\xf4\xd6A\xa2BZ\x9b\xafP\x16\xcbS\xb7F\xf9\x86\xad\r\xcf`\xf9\xf7\xbc\x13\xe2\a\x8de\xee\x92C\xe0\xd78\xc8r\xc5\xed\x9f7\xbf\xe9;{4F\xb2\f\x91\x1f\f\xfc\x9a8\xa1\xd7\x06\x00\xd1X\xd5s\xb7\x86/\x1c0\x945\xf03\u008d\x87\xc4G\xb7\x01\x04\xea\x19uLrw\xc1\x83\xad\x94UI\x9fZ\x98p\xa7O\xcc9\xba\xc6G\x9f\x98st\xcc9\xba\xda\xcf\xd1\xc9\x19pak\xb2r4lm:\r[k\xf1\x0ffq\x85Y\xfc\x81h\xb3\xaf\u06d5\xb9Q\x00\xa2}\xe7\x9eU\xe8+\x87,\a\xf0k\x88d\xfb\xe5-\n+\xa9\u05ff\x99\xc4\xfd\xa9w\x1e\xed\u06d4\xdf\xf3\xe3\xfa\xef\x00\xa2\t\xc9\x06\xbbZ\u02d8~\x06\x10\x15*$\x14\r\xb2\x8b$\xa1\x9d\xd4*<\x91\x125\xc7a\xd8\u01fcb\xd8\xcaRH\xb5-\x8f.u\xd9\u066c\xc2\x1e \xaa\x99\u01aen\x1e\x1cpmS\xbf\xb5+\x97\xf6\xf6\xf3\xc6k\xb4m\x8f\xe6L\xabH\x9e\xc1\x89\xdc\xec[\\692\xb1;\x80\xe8\u0351!9Y\xbe\x17\xc9\xfblD\x06`b\xac\xf0w|\xc8*'\x0ec\xbb\xd3\x1a\xff\xb5_|97\x00\x91\xd2Nc\xd5\xe8\xefr\xa5\xb8hT-\xac\xe26\xc8\xe2g\aN\x1b\u012e\xb75(\v\xfe'0\x1b\xfd\xea\xb8G/t\x93\xf2\x9a\xb0K\x1f\x9a\x03\x88\x94\x8b\xb3zo:|\xc2\x01@T\x94\xf8\xbe\xe5\x7f'\x97\xebq\xea\x18\x97\xff\xeb\xf0|\xfd\xb0\xf3\x00\xa2\xbc\x87\xa6\xf2+\x97\x0e\xbe\xc3)F\xd7\x0e\x9a\xde\xfe\xf6s&\x16t\xfe\u051b}\x8c\xfa\xb7x\xcd_4\xe2\xfd&z\xbe\xeb@\xbc\xe0\xdch\x1e9_5\xf9\xeb\xac\xde\u0779pU\xbe\xed\xa8o\xf8^\xe3\xdc\x10\xeb\xfbNj\xe0|\xc7+g\x01D\x8a\x12\xb1\x97\xaew\r\x9a\v \x1a\xf1\t\xcdk\xab\xee\x95\x00 \x1a\x95\xe9\xe4\x13\xa3-\xcfZ\x1c\xfb\x9e\x1f,\x17\x19\x17\xc0\xa9\xa4\x18\xcb\uce730Y\xb8\x17\x80Hd\xe4\xe3\x1d\x91%C\xe7a\xc9\u0783\xf6\xf9'_\xee\r\x1f\x82\xa5\xb5\x0f\xe7\xed\x88\xde~oa(e\x91\vm\xe9?\x1ce\x84\xef\xe0\xa2\xcc\x0e\xbaUa\x91 D\x99\x7f)\x90@\xf4x\xfb\x9e\xa4\x98M\xa7\xa6W\x85\x05\x9a\x98q\xe6\xb7\xc7\f&,\xf0\x18\x16\x98\b\xc0-\x02,\xb0_\"I\x94I\x8c\xe2x\xc0\xfc\r\xcd\xdc\x14\x03\x12\xf2Y\u0123\x9dt\xd0\r\xb97]\xb0\x11`\xec@u\x89\xcf\u31dc\xc2F\x00E\xaf\x97Ay'\x1f\xbe\xa3,\x00QL\xabS\xa6\xbaO\xf4\f\x01D\x817\xe6\u0310\xbb\x7f%\x81\x9cER\x8d\xe3DLE\x14\xfb'\xb1\ab\xfe\xfc\x1c\xa0\xe4w\x88\xacY{\xba\x03\x83\xbcT^\xbd\xd0\r\xbd\x11o\u0231\xac\x9a\xf9\xba\x1d\x94\xeb\xf7]\x06@\xb4\xb7\xb9\xc4-\xd3\xe0-\xa7\x00D\xa6\xa3-\xe2z\xb7\xf9\xb6\x11@\x14\x13y{\xb1{\xd7S\xece\xd0\x03\xdf\x16\xfe\xf4P\xb5\x96IOO\xb6s\x96\x1f\xb8\x18@\xe4c\xb4\xeb[\xa9\xb8\xe1&,\x90\xf0]\xb8w\xd8\xeb%}d)\x8b\x1c\xd2~\x8d\x032\x8c\xe4\x1ak1cj\xd5j\u02655Y\x01\xec\xfd\xd0C\u83aab\xday\xd9\u0777\xa3\xe3\x99\xf4k,\xff\xb85\xb7k\xea\x8a.\xf1\x00\"\xeb\xc1q\xd3P\x9c\x7f\"\v\xa3]$z*\xb6\xba:\x92\xb2\xaa\xa2\xe6z&j2Q\x93\x89\x9a\r\x1d5\xdfq\x8b\x9ak\xb8EM8\x94.j\u06b3\u07cdz\x0fv\xd4$\xff\xab\x8d\xff\xaa\a\xadD\u0243\f\xc9\xc9\x04\x12\az\xd8\x1a^=\x93\u01d9\u05cf\xed\x14G\uc7fc\xaf\x11\x05\xd95z\xaa\xeb\xf4\xdeG\x9f\x03\x10i\x85x?0\x9b\xd7j,\xbb\xf5{\xf1\x8di\x98.\xad\xf6\xc9\xf0\xc0\x1d\xa6\uff8c.\x05\x10=X\xab\xb9\xa5\xa8\xd7\xcea\u0628,Q\x18\x18\xd9ef\xf01\xcab\xa2r\xd5\xe7\u0605\x121\xed\xecwi\xe8\x99\\\xbbG\x0f\x01D\xe99\xba{\xcd\xcdG\xb3\x1e\x9b\xb4h\xd54\xd1\xf9\x9d\xfe\x03\x04J5\xff\xbc-$\xde]\x92\xb2\xaa\xa2\xf27&*3Q\x99\x89\xca\r\x1c\x95\x85\u0378De!\xf9\xaaE\xf0G\u02cd=gWe_\x17\xe2D\xef\x11u\x13\xbde\xf0\xaeR\xb9\xb1\xf4\xe7)\xcayh\x95?g\x9d\x7f\xa1`\xd3OgP\xf7~Jl\x9d\xde6\xba7G(J3T\x99\u07b6D\xf1G\x81\xfd\xb8\xf2l\xb1\f\xf3\xce\x1c\xff\xb7\u06f0w\xae\x1c\n\x1b\x00 Z\x1b\xf9-\xd2\xee\xfb\xfb\x8e\xd8u\u07ff\x8b\x90Y\xfa\xc2\xf1\xb64\xceTN\xf0P\xeb\xba\xf2+\xb24#\xf1\xa4v`!\xb8U\xb4p\x83\x02\xd1\xf2\x8c\x98\x0ef\x9f2\xa5\x00D\x87_\xa9\xb7;[ \x99\xca1\x14\xda>YE\x1f\xdd\xfa\xba\xb3\x00\xc4%\xab\xae\xa3Uwe\x02\x02\x99E\xcf\xfen\x1d$\xebIYd\xaf\xb5\xfa9].\x98\xf8\xc0\n\xa7\x9d\xff:p\x80H\x7f\xf2\xb6\xdd\xe7_*\xa6\x03\x88\xe2'\xbdU\x98\xdb\u05b45\x80\xa8oq\x97]'\xdbF\xb5\x06\x04\u04bd\xd1/\\\xe4\xa6\xf0*\u02aa\x84\x00\xf2\x17\x19\b\xc0@\x80?\a\x01\x84\x00\x81\x8a\xef\xc8\xf7\xbe\xd9\xf5\xb1\te\x01\x02u\xee\xac\x7f\xb0|\xa4\xf4[\xca\x02\x04\x8a\xe87\xcc\xcbq\xa6\xe97\u02aa\x01\x01\xe4\x95<{DFv{CY\x02\a\x01\xf4\x94\x95\x866\x95|s\xeaG\xcd\x02I\xd56F\x1a*\x94\xc5v;\xb9n\\ @S1\x9a\xddYf4\xbb\xb3\xea|\u00b3*\xe6WNvN\n\xe2\xe9h\xc5\xef\x13\x9e<\x87\x17\xce-Fe\x1f\x15\xf6*w\xdf\x19\t \x1a\xd1up\xf3\xf5\a\xb35\xaa\xb9\x19D\x85\u6af6v\x91\xd9p\x02@\xb4\xadh\xc5\xe4S\xeeC\xe3\x01D\a\xceM\\*z\xd47\x98\xd7\xee\xa9q\x00\x96\xe3\xbf?\xb6\\5\xda\xeeq7y3\xe7\xd9\xd9\x16\xe3\x00D_\x1dD]\xe2\x1d\u049c\x00D\"\xa9i\xb1YG\\\xa5\xd8=%\xbd\x88\x9b2$\u074b\xebEP:\x15\ubf31Hf\x1a-\u06ac\xcb\xc1#\xd6k\xc9D\xc3\xcb\xc3\n\x80)\x80\xa8Df\xd9\xcc\xe4\x96KU\x01D\xb7&\xbc\xf2\xd3\xed?=\x94cm\xa8\x03db\x8f:\x0f`\x0e\x87\x8b \x1a4f\u0740\x13ez?N^\xec_\xb8\xe2^\xeb\xe04v\xbf\x89w\xa2Q\u0504\xbc\xb0\xfdU.dD'\u015d\xe0\xc7\xe1\x1a\xba3\x1c\x9b\xf1\xbf>\xa7\xee7\xbba\x7f\x17\u04cdf\x8f\xf3\xbc\x0e\xaci;\x84\xc3\xd7O8\x0e\xddL\x9cT\xda\u03d5\x91\xf0\xe7\\\x11?\x10q\u0286V\x0f\x0f\r\xbd\x85\x00D\xb6s}z\xcc\nO3!\a\x8ef'U91\x9c\xee\x9f\xd2X\u05e6v\x05\x10\xed\xe9\x18\xbe\xee\xf2d\xc7\xda\xd9Dc\xe5\x98,\xb7\xb3L\xf50\x88-\x9b\u018ar\x01\U000ca336;\r\x1e\x0e *V\x90\x00\xdb\xfd,X\xb1M\xf3\xdc\xcb\\\x05\x93\x1e\x95Pi\x1d~9\x85\xb8\xc1\xc0\uff46\xddh\u0602`E\x19fYi\x80ee\xad\xeb\x13\xbf\x91\x1bJU\x00D\xc4\xd7f\t\xae\xe6j\xda\x00\"\u00f0\x11\x1f\x8e\xb4\xd9>\t@\xa4\xa3\xa1\xb2\xbc\u067dX\x15\x8e\a\xbc\x99\xb3\x7f\xdfA]Q\x96O\xbb\xf6\xb1j\xab\x1d\x11\xacN\x06\xfc\xe4\x9fY\x82\x8e\x83\x83\xad\x8b\x87\xed\x9c1\xa4?f\xd2\xe5\xdf\xe0!:\xbc0\f?\u0297i\xbc|u\x1d\x86\xd9\x14\xff}\x1e<\xa0z\x17\x8d\r\xb44\xdbT\x94!\xcc\xea\xe3f\xb3\xba\x9f|7\xa8\xf6\xd4\x12\xcb-\u0398w(\x0f1\xfe\xd2\ufdf8\xc5\xfb\x1e\xeb\xcd\x16\x8d)\x18\xc6\u0323z\u03a3\x1f\xc3\xf9b\xce\x02e\xff\xe0\x83\x1e\x00\xa2\xe5\x9e{\xb5\xf4\xd2\xcfi\xb0\x06\xee\xaeH\xa9e\xd2;gv\x17%\xd0\xf5\x83\x10{\xdfo\x05\x8dz\x83sB*\x8a\xf2\u0691\xf3\n\aj\xac:\u04c6s\xf2\x96u?\x19\xf5\xd00\xd4\x02@\xa4\xea\x15\xb3\x01\xecn\xe2\b 2-\u9ba2*\n\xfa\x03\x88\xbeE\xb4>7i\xc7\u03b6\xd8Th`_\xe4#\x04W\xf7\xa1,\x00\x91g\xf3\xab\u075c\x9e{\x8fc\xbf\xe6\x9b\xc6!z\xf2\xba\u0248\xd5i\xf6\xea\xcd\xd7\x19\xe5\x9a^\x06\x10\xc5~r{4\xc82\"\n@\xa41\xaa]\xf7\x1e\xcb\u038e\x00\x04z4\xf2\xe5\xae\xed\x1f\x9b\xf4\xa5\xac\xaa\xa2\x81\ua316\xc9h\x99\x8c\x96\xd9\xd0Z\xe6\x16nZ\xa6\a\xa3e2ZfCj\x99\xf9\\\xb5\u031du\xd12+\x8e\xe2)3=.\x86\xbf\x1f\x17\xbf\x9f:s\xc5~\xf15F\x00\"y\x9f\x1e^\x01.\xb1o\x04\x91\x97\x8ao\xa0S?\x0f\u0428\x9f\xbe\x8c\xfa\xf9\x17\xaa\x9f5\xb6cVgP.t\xffd\b\xec\xaf\x11\xd8j#\x95\xf40\xcc\xc6i\xa8%\xe7%\xeb\xe3\xb6\xea\xf6\u04db\xd3S\x0e@\xb4'\xc0g\xf2\xccW3\xda\x01\x88V\xae\xf0\x12\n0\x91\xd9L*\xa2\xb1tr\xe9\nF.mdri*\x8d\\\x1aZ\xf7e\u03bdzA\x95\x1f_\xaeq\xd6Zp\x85SfEj\x04+\xd28\xd0\xec\u04d2\xa4\xf7\xa7\x01D}+\xd6z\xef\xff\xfaL\x9c\xf5N\xad\xa5\xbdE\x0e\xb5\xa8\x00\x10e\xebU,Q\xbc\xb2_\x91\xe3\x01\x99O\a%\xbct\xd3\xee\x0f \xba\xb9\xfd\u00b5\xf9OZ\x92\xb5\x04*+[\xfd\x16\xa5\x95\xd1\x019t@f\x1e\xfd\x99y\xf4\xa3u\x1dVL\x7f\x17\x16\xbf\xe9.\x80hqN\xc5\xf8\xa5k/}\x02\x10]\u04bc\xaar%=1\xb0\x0e\xfdF*\xad\xbfQM\x85\u8f0e\xee\xd3u)\xbd\x9a\xb28\x9cs|b\xbb\x97O\xa4\x01D\xb3\xbc\xdc\xe7\x8ec\x05\x01a7\u55b7\amI\xe1\x9bl\x88\xad\x8d\x97>\xf8\xf9\x85\x02\x15\x89\xef\x00\"\xaf~\xffu\x0e;g=\t@\xd4qS7\x95\xc7\u0291o\xb0d\xe5\xe1\xd2\xeb\xc6\xe3w}\u0464,\x00\x91\xd8<\xb3\xbd\xc57o\xf5#\a`z\xe3`+\x15\xfb\xe8\xf6y48b\x80hp\xc6\x1b=\u07e9\xff\xc9\x01\x88\x8c\x95\x86\xbfO\xb7^\xd4\x1b@\xe4\xe67\xe9\xbf\xf7\x06F\x17\x01\x81Nm.\x1f\x16\xb75\xaf-eUR#\xf1\xa3\f5b\xa8\x11C\x8d\x1a\x98\x1a\x894\xe7B\x8d\x84\x86s\x83\xf9\xf0=\x9d&{\x94\x8b\xdeKx\xd1V\xb61\xc0?\xfbO\x95aa\x81\x81)G\xd2E\x02c\xafGr\u0438\xba<{A\xf5\xa6\xd66'x+\xd9f\xc1\u046a\xa2\xb4\xc3Y\xc3}\xee_\xe2h\x7f\x9e\xef\xd5\x04}\xc7\xdev\x00\xa2\xa3\xa0\xb3,H{\xbb\x06@\x147o\xd5\u030d\x97\u01b3\xc0\xca\xfa\xd2\xf8-\x9d\x837\xa4p|k\x99\xff9)\xb1W\x97u\xc9n\x97\xa7A\u0579\xf8!\xe1\xcf\xcb4\xd4\xd8B\xf4\xec\xdd\xcb\xd7\xf9\xbbM[p|i\x8c\xb4J\u2536\xadr\x01D\xcd_\x9aon:s\x87\x11\x16|\xec9\xbb7\xb0\x95\xea\u4794EvhX\u3a36\x83C\x1cl\x81T\x00\x10G\xf0\xa0\xf2\x93\x1b.Kz\x93\xcf\xfe\xf5#\xfe\xb9\x8f\xb7\x1aJ~\xb2\x90\x06\x10\xe9\xa4};\xddw\xe7\x85P@\xa0\x18\x91\xef\x83\x1d\x95\x17\u07e6\xacJ\xdc\"\u04dc\xc1-\fnapK\x03\xe3\x96&\xf3\xb9\xe0\x16\tI\xac\xa4[Q\x88WtSxTt\xd7\xd0\x06*\x93\xba\xef\u4a3e\xf8\xe1\xd6\xf2\xb2\x81\x1d\x9b\xa5\ue73a\x91C\xfa9\xae\xec\xfe\xb6\xf5\x1b\x95\xe9\x00\"\xbde\xe13\xc7n\x9e1\x00@\xa4\xa6\xb1\xcdi\xe9\xca'A\xa4\xbe\xfd\x81\x9b\x00\xbe\x8a\x1b\xca\x13\x1b\x8c\x17s\xab\xaeJ\xa9M\xe1\xa9!\xad\xe37\f\xd6\xeb\x0e\x14\x1e\"\x92+\xdf\xf48;\x95\x01\xa1\x81\x1a6\xbd\x00D/\xb6-^\xaa\xb1\xd3\xdc\t@df9\xfb\xed\x9e\xd8\x1c3r\x8d\u01e9\x99\xa4\u0509\x95\x7f\x89.\r#\xff\xfe\x96\xee)\u02d1;\xe6X\xe45\xb1\u0782\xea\x8f\x11\xbf\xdf]\xeajPY\x92:\x80\xe8\xf9\x9e\x91\xfe{\x87\x94\x18\x01\x88,64\xd5w\u0732\x80\xbcF\x99\u0220\xd3/\xf7\xe0\u0757\x97\v+\x7f\x94\xa9\u010d\u072f;4D%\xe5\xb9\xf6\x85\x83\xee\x0f\xf9G\x94\xd31\x17V\xf8\r\xd4\xce\xe1\xec\x8e\xe5\xe5\xe6\u01b7\n<\x03\x01D\xaa\x91\xfb\u03e5>\xa9\x9cR\xf0 \xb7\xddC-h\xd9d\x11\xaf\u012d\x9c8B\xe7T\x8bi&\xf1\xe4\xbfu\x12\xf3\xfbB\x1aW\x00\u0444\xa9\xcbFu\xdb\xff\xe4\x1c\x87\x1bx-Y7\xb3\xbc0\xe1\f\x80\xa8[\x9f\xe2\xe6\xaa\xc63X\xcd\nk\xd5&e\xf5\xd5\xdcN\x1c\x1f=z<\xe8\u0317\xff.u\a\x10\xb5*]\xe6#\xd3=\x89\xf5\xd1-g\xbf\x94Dd\xa9=\xfa\xa3ZuH\xe0*\xb3\U0001d949\x00\")\xd7\xc0/\x92E\x06\xd9X\xbah\xf9e\xcc\xea\x02\xaf\xe3\xa7)\xebG+\xb4~\x86\xcdc\x9d<\xacl\xac\xdcj'4\xac\xfe\u04fcl\u07b3\xff\xb3#\xdd\x00D\x06\x86\xc1w\xf7\xaeW\xea\t r2\\\xd4\xcb[N\u00ee*\xed\xd0(8(\x86\xd5\xe9[\xd9X\u0433\xbaC\xb7To\xe9\xea\x17M\xae?7d5\xb6\xcb\xc6\u01c3{\fRcq\u00c4\xb5\x93\xe7E\x86\xa9\xbd\x03\x10)\x0f\xbf\xde:\x8eP5\x05\x04\xba\xd2\xf4x\x8b\xb1\xe6\xea\u0454Uu\xf9\xe7~\x86\x1b2\u0710\xe1\x86\r\xcc\r\xa5\xa4\xb9\xb0\x9d&a\f7\xac\xe2\x86\x12\xab\xb9Q?\x89!4\xd4\x0fv\xa5\xc1@\x154\xf3\xbf\x80G\f\u0127z\xb8\xbf\x01\x1fU\xc7\x04\x06;Z\x8a>\x96\xfc\\\n \x92Nt*\xb6\x1f\xd9q\x19\xc7\xeb\u05aa\xa87^8X\xed\u0377\xcf\b\x14\xb6Qr\xc8\x03\x10\xe9\x9bX\u070a\xce\xeb\xcb\xea\x04\xad^)\xb2\xe6#{\x8ef;\x84p\r|\xc5P\xe2\xdfI\x89a\x02\x1dbX\xc57J\xfc\xb7\xf3T\xb6\x0fN\xa0\xf1\u03ee\xbc\xee\\\xfb\xa7\x16\x84\xac\x84\xe3!\x1b,\xa5\xdc\x00D\xce\x1bF\x05\xa4\x86\x89\x1c\x06\x10\u0755Tx\x81\x9e\b\x0f\xe6\xf8\x96QK\xb9\x9b\xb7#\x1cW\x02\x88,o\x9f=\x12\xf8\xb4\xf3I\x86\xfb\v\xc6\xd82\u071f\a\ueff0y6\x1a\xb61\x8a\x94E\x8eKJ\xe3\x80n\x8dk\xc3\u07df\xba\xecg\xf0\x87x\x89\x933SR\x01D\u07e6\xfe\xd71Z7a\x13 \xd0]\xdf\r\xff\xc5U\u0139RV\xd5e?o\x19\x18\xc9\xc0\xc8?\a#E\x01\x81\"\xc3%\x16\xee\xf0(\xecBY\x80@\x8f\x84\x0ef\f\x8b?\x14CY\x80@>\x97\xe7\u0359\x10\xf5Q\x9b\xb2j\xc0\xc8\xe7\xe2\xe3\x15-\x8b\xf5\t\xca\x128\x18\xa9\xfc\"\xb7\xb8\xf5\xf9\xe4\xf3\x80@S\u068f\x97]\x7f~\xd0K\xcab\xbb\x9d\x9c1\x17\x18\xd9t\a6\xf1\xc3\x14\xc8d\nd\xfeZ\xf7\u0525@\xa6\x8c4\xb7d\x9b\xf4yL-7\xec\x84\xe3\x01e\xf3\x9c-\xc3H{\xf5P\x14\x9b\xb4\xf5\xec\xdeysk#\x00\xd1\u4e69;\xbcW\xc1\x99\xec\x17\x16\u03e7!pB14u*\xd7\xd31\xbf\xdc\xdf]\xa7\xf2\x12M\x88\xdb\u0307B\x95|\xea\xf7kpu\u0795\xb9E]8\xbc\xdaz\xe1\xee\u04e0\xa4\xf7+~b}~\x17\xb6\xfc\x89\xa5\x19~\x8f\xdb\xe4\x17\xdfo\x16\x80hmQ@l\x88\u03a8\u02b4\f\xddE2\xc4X\xba\x7f\xb6\xe2q\xe2Td\xe13f\x7f\xb6\x8a\x18\xff\xe6\xe5\x15\xebr9\xb7\xf0W3\x00D\xc7<\u05c8\xfbo=m\xc4\xf1\u047c\xdd\x1eW\xc5\xd4\u079d\xe0\xf0\x9f6\x93+\xf2\xbc\u05e9\x8c\x02\x10\x8d\xf4\xee\xd0\xe7\xf0\xd9%\xd9\x00\xa2\x95.Q\xcb|\xfaM\xde\xc4\xee]\x11\x11\x9a\xae\x17\xbeS\xa72\xc0\x8d\xa7v\xa5{#\xd5BD\x01D\xcb\u07ef;\x975\xcc?\x02@\xd4\u03ee\xd5\xeb\xb3Z&\xc3\x00D\xc2mv\x96:\xdf\xd3\xfc\f \x9a9}x\u05c5\u05c7-'\xd7])\x9a\xca%y<\xad||\xf1a\xf6\x0f[\xf0%\xe5&\x88\x01\x92Y\xe0\x1at\x81\x13\x1e|M2w\xe7\x95!\x00\xa2G\x17\xf4\xfc\x94&\x98k\x03\x88$2\x86\\\x8b\xd6\x10\x9f\a \xba\x98\xaf\xba\xa7\xf0\x88\x989\xc7\x03\x0e(n\xea t?\xfb=\x80h\xaa\xdc\xca\xfc<\xbbrir\xf6drKc\xbf\xae%\x8d=\u02b9r\xbbU2\x1d\xe8\x19\xcb\xe3x\x97\x13R4%\x9a\x04\xbb\xcc#\xffeJ\xfd\xd1\xd4\u0483\xf7\xe1\vzu[8\x8b\xe3\xa3\x1dg\xcbi\xb6t\x0f\xf3\x05\x10\xb5\xc9\xee\xf6\xeeq\x87fv\x00\xa2;\xb0o\u0170\xf1\xb1\xd2\xd8\xe8\x150\xe3@\u04e2fE\xf2\x94E\xbaO\x8d\xca\xeb\x1c/Su\x81\x98vm\x00\x13;\\\xe5\xc4+LL pi\xe5\x9f\x00\x1f\xe3Y\xb5t\x8e\xc8/yV\xa4T\xfbp\xb5;\xff\xb1\xcc7\xdf\\\xe7\x05(\x1c\xd3\xe7\xf8\xe8\x87\x1ea\x8a\xf3On;\x05 \n+\x1b\x99s\xdfR#\t\x8b42\x94\xb2\xa5\xf4\u0586Ka\xfd\xad\u06c0\xbe\xd1\xe7\xe1\xca\\\xca\x02\x04\xea\xe1\x13\x97\xff|\xfb\x91B\xca\x02\x10)\xed\a\xb2\xb3\xc6?\xebF\x8e-S\x84\x9b?;dk/\xc2\xfd\xe9\xe9\xe4\xd7.\xbbT\xd5\x00\x81\xcc\xc6\xc6o\xe9\x95-,DY\x95\xb0P\xe2<\x03\v\x19X\xc8\xc0\u0086\x86\x85\x9d\xb9\xc1B\x03n\xd0OX\x88\xeb\xfd\x1c?\x1c<\x87.\xda\x1e\xa5\xf1\xfe0\x9e\x16\xad?\x88\x9d\xd6G\xf8\xbf\x18z\x13\x90;\x86rh%\"\x9e\xb6\xba\xf1^T\x9aOk\xfb\xf5XY\xe5\x1b\xab\x8d\xdap`\x8a\xbe\au\xd7/\xba,\xe6\x0f ZT\x11\xbb4:F\xe2+\xc7\xf7\xc3\x1eg+\x8a\x94t'\xf7\x99\x12\x05\xb8]\x06:\xe4\aN\xd2\xfb\u02ef\xe8\x85\xec\x1f\u0425=\x8d\u07ce\xc6\xd5\xfe\xfe1\xc4\x01\x8f\xd53a\xeb;c\f\xe7\x02\x88\xfa-\xec\xfcE\xf2^\xcf4\x00\x91\u06e0\xbe;\xde}X\u0279\x19\xb5\x87\xf9\xa5\x12b\xda\xd4\xeb\x00\"\x85\x82\u0122\xf1b\u065aX\x88\xb6\xf5\xf3D\x19\xc51\x9dvS\x169\nLUr\xfe@\xb0\xdfY\x95\xa1\x1bLfr6\xa6\xc9Y\xed\xa3\xea\xbb\xfb_9\x7f\x97\x10\x05\x10\xbd\xb4K\xb8?`\xd8\x135, 5\xfa\x9e=\xdd^\xef\xea\r,\xc8n7\xff[\xf7A\xeb\x82/S\x16\xe9\x01L%\x80\xdf\x00\xb2\x1b\xa0\x12\x80q\xd6U\xd9\x1ce\x13#@\xa0\f\xaf\xd0cQ\xbd\x17\x8aQV\x95\xa2:\x93\x01\xe2\f\x10o\x84@\\\x88\x04\xe2qc\u07de\xf4Mt\x92\xa6,\x81\x03\xe2\xfd\xc5Jf\u077367d\xb56\xe1\u06db\a\xcf]WQ\x16\x89\xb3\x93\xb9\x00q\xa1bn\x8a\xaaPh\xdd\x14\xd5\x1a\x97\x01V\x8f\xfe\xb8\x9c\xeb\xefPT\x85~)V^6\x8e\xd4\xdc5\xbf\x9d\x1d\x80H\xab\xcfn\xad\xf31V\xc3\xd9\xcdl\f\x9b\xeeX\xe8E\"\xe0\xf6u\xf3m\xbb?\x03\x88\xa6\x8f\xbc\"\xd7\xd9h\xfd[\x8e\ufeeei3\xa7p\xc7\xe4m\xe4\xc8\xc4\xe1\x04\xd2\xca{)}~\xb7@Z[\xb9\xd2\xca\v\x9c+\x8ai\x1c\xa7\u044d\b\x0e\x7f\x84\xa7;8\xe8_L\xfe\x02 z\x1d\xbc]/\xc1\u01ac\r\xcb)\xbf\r\x1e1\xa6\x9d}\x04\u01f3\f\x1e\x15:\u8bd2\xac\x00\x10m\xdc4Z=\xb7\xc5\xc8\b,\x12\x1b><\xd8\xebCX\xb66e5.\xb9\xf3\xd7!\f\x1d\x9e\x13\u013c\xb5\u0610/+\n\xb7#I\x00Q\u068aC\xcdb\u035a\xdf\x04\x04*\xef\x9f\x1a\xf2\xde\xf3~\be1yk\x06e1(K`P\u05bf\x98\xb7\xfeM(\xeb\xef\xcfyBdL\x1c\xd8\xfb\xd5U\xfb4\xc7\xf7\u00dd\xb6\xcd?\x99s\xa1\x199\x94\u063cu%,c\xf2\u058d;o\xbdi\u00e8\xbe;m^\xeb\xb2PQHx\xcf\xe8\xfb\xa6\x91X \xf7}\xbd\xfb\x8a\x11}\x1f;S\x16\x03\xe4\x04Y\x98\x83(\x024_\nC[=\x06\x10\x8d\x8ev\x8a\b\xf6kV\x01\b\xb4+`\x90\xd7\xc0\u03e5\xf6\x94Uu.%\x83\x01r\f\x90c\x80\\\x03\x039\xb1\xfeL\u07ba\xb1\xa5\xc6\xf8\x06D\xfb\xbb\x8e\x7fV\x9c,y\x81\x1c\x15&o\xfd;;{\xc1 \xeb\xe2\xa0#\x03Gr~tJ\xbe\x82\xcc\xcd\xc0h\x00Q\xa0zB^\u04bdvk\xc8\x10\xc5\u4b59\xc9IN\xcej\x1f\xdd\"\x16f\xdf\xe2\xf5`g\x00\xd1\xd8N^7\x95\x9d^\xc6a\x01\xe9\x00qC\xcd\xed\xab?HbAvA3\x05\xf9\xf8\x9c1\xa2\x94Ez\x00Y\xdfJ\xd0A\xf6\x9f\xca\x04\xc7Oz\xab0\xb7\xadik\x00\xbf\x06y\xcc\x0f>S\xf2\x02\x10h\x96\x84\xef\xc7\xc3Qw\xbaPV\x95D\u0647A\xb6\f\xb2m\x84\u0216`/_\xe8}r\x9f\xfb[d\xc32(K\xe0\x90\xadB[O\xfb\v{%\x93\x00\x81\xba\x88-l\xb3\xe2A\x9bB\xca\"\x81\xebVn\x12e\x16\x0e\xd9\x125\x96\xb9\xda\xd6\xf8r\x82\x06\x00W\x84cKp44\xfaYzA\xdc\xc0C\xf9\xf8Gv;\xfd\xf1N\x8d\xbb\xa7\x98\xf2\xbb\u069b\x8cY\xbb}'\u0289}\x1a#\u04c1#\xa0\x1959\xd2k\xff\xf4\xd0b\x00\x91\xe9\x9eA\xe9\x9b\xf7\xed\xb9\a \xfa\x96\xdcuKQ\x98\x04\xa9\xfc\t\x89U\x89>?\x1ej\xec9\xbbj\xa4\x16aVI\x82\aa\xad\xf2\xa4\xbb\x10\r\u013d\x8d\xaf\xa8r\b\xbb\xe4\xf2\xd0\x06ND\x922\xa6\xfdy\xe7\x82\xf9~\xf5\x1f~!\x00\x91e\xaa\x87Al\xd94\x16\xaeY\xf7\xfe\xb8\xbdM\xa0\x96\x19\x80H\xf5h\xce\xc3]*\x97\x038~\xf0\xd3\x02\x8f\xf2;\xabb\xde\x00\x88NO\xeam\xb9\"\xf3\xe6U\xec8.\x96\x7f{\xe0\x88\xf6zE\u06be\xfcW\xe9B\x9dTh!\x8e\xbe\xbf:[\u7551\xbdT,\x80\xa8i\xff\x1cO\xad`\x97\t\x00\"\xa7\xd9\xea\xd1\x19\x91\x9f&\xfd\xb8S@\xdc/\xcby\xc2t,\x90KM\x8b\nk\xbf\xee\xc10\xca\x120\xb4\x06\x91\x9d\xe8\x19\xef\x9c\r\x0e\x85\x80@\xab\xe2$\xe7\x1a4\t\x1dMYU\u0229\v\x83\x9c\x18\xe4\xd4\b\x91\x13$\x91\xd3\x04m\xcdM\x8e\xbb\xb4\xfd(K\xe0\x90\x93\xe3\x87^\xaf\x97\xf4\xde\u040c\xe5v\xafW\u01fe\x9c\x15\xf2\x81\xb2H\u4d1a\x1br\xba\xc9 \xa7F\x81\x9c`)\x1e99\xe3\x90\x13\xee\xa6\xfe\x9f\x04&\x06-\xb1\u0412\xa2\u01f0u]O\xcc\xcf\u010e\xdd\xf3\xf0\xb1\xe9Y\xd2\xda\xd8\xd3\x03\fZ\xe27ZB\xa7\xe7\xb5:1\xad\x10\x8b\x96\x9a\xdf\x1a1\xab\x83\xeau5\xca\x128\xb4\xb4\xd3\n\xe9G\xe58u\x02\x04r\x1c\xde\xdb\xfa\xe5\x87u&\x94Uu\xf2\xb7\x1d\x83\x96\x18\xb4\xd4\bo\xb0\xae\u0320\xde-\x8f\fU}R`DY\x02\x87\x966[\x87H\xb5\xc8\xcf\xff\x06\b$'\xb3(\xaao\x87\xc7w)\x8b\xedvb\u02f9\xa0%\xd1+\xd8\f*\xcdMb\xbf\x1e\xc7\b\x01K\xd2Zp\xf5\ue1bd\x04\xbaz\x94q\xf7\xfc\x14]z\xe7\xfcu\x00\xd1&\xddv\u04ffm;v\x00@\x94/\xe7\xfbe\xca\xf7k\xb3\xfeh\x1eh\xb5g\xff\x05\xf9\xd6\x03\x928\x05\xaf\xbf%I[\x87\x1b\xb9\xffdg\x97\xd9\xedp9\x9f{\u051e\xe3\xa3\xd7\xc7n\xf0\xef\x13==\x14@\xa4\x13v`s\xaa\xe5\u070e\x00\xa2\xb1\u0105\x1b\xaf.\x8bN \x03\xe2i\\\x18\xa5/\xbeX\t\xa7\xe1x\xbah\xab\xf8\xdb\xd7\tf)hLK\x01D\xa6\u00e4W\x94m\xcbI\xe2\xf8\xd6T\xef\xaeoZ|S\xef\x06 j\xd3\xf2\xee\a\xe9G\x03\x87c\xd1f\xd1\xeaf\xa2\xaf\xcc\xd6~\xc4o\xc1\xcc\f\xbf\xd09\xb2k;\xca\x128\x98\x1c\xf8\xb9\xc57\xcd\x1d\x1b\xddXX\"Ls\xe3\xd4\xd2\x0f\x1d(\xabJT\xbc\xce\xc0d\x06&7BQ\x91 \xaf\xfb\xee:\xa0\xc9\a\x15\xb1\x16=\xb4\x00Dk7=\xbaW\xf8IC\x14\x8b}Z\x17\xec{u;he:\u059f\x97>\x8f0]\xb8\xbc\xa4\x80\xb2XKr\xb3\x9bi\xfb\xf7\xf7\xffNY\x00\xa2m^\x8f?\xad\x99r\xc3J\xe0@\x9d\xef]\x0f\u07f3G2\x8f\x01\x02U\f\x169\xfe(>\xe46eU\x82:iG\xae\xa0NX\x93;\xa8+\xc7L\x17!Z6\x16.\x80\xa0\xee\xeb\xdf\x01\xea\u02896\x02\x86\xeax\xfd]\xa7z\xfc\xae\xe7\u06f4\u07abg\x9a\x84R\x16 P\xf3\x94\xbeM\u0547-\x94\xa2,@ \xbd\x88\x88S\xf1\x16}4)\v\x10\xe8\xa3V\xb2\xb9\xa7\xf6R=\xca\xe2\xbd\xd9.\xf5h6\x94W\x93\xab\xc8H\xfe\x18\x88\x86\xb3\xcc}\x913\xf3\x9bkf\x03\x88f\xac9\xd8\xe6e\xe62\a,\x16\xce\x1c`\xd9\xcf>Z\xba'e\x91\xe0N\x8e\x10#\x1a\xc1\xf1\x16\x9d\xda5\x8f\xb1\xba\x1e\xb5\x1f`a\xf7\xaf0A\xb0X\xcf\xe3\xbb\x0f\x9a)N\xd8w\xb3\xfa\x93\x9a\x13M9\xbe\x80{\x90\vG\xef\xa77\x99\xb3jM\x7f\xb8\xe2\u01d3F\xd7\xfe\xa4\xf1\xb4O\"\x9bt\xd6\xcbc[\xa6\xce@\xf6u\xa6\x15\x91\xb5?I\x1fs:\u01e5\x0eDM\xe8\u05ee:]\x06\x02W\x1c8\xd6k\n\x80h\xe5\xc83\x87\x83N%\x90\x95\xa8\xef\xfd\x8c\x9f\xc7:yX\xd9X\xb9\x196\xca\xf0\xed\xfb&\xfc\xdd\xd0\xf5Y\xeb\x00D\x97&\xbfq{\xac\x18\xff\x12@t\xf2\xee\xf8\xcd\u066a\u71b3\xa0\xb9\xfa\xc3\xec\x9e'&eSV%\xebj\x9a\u01b0.\x86u1\xac\x8ba]\xbf\x87uIM\xe1\u00ba\u0123\xb0[i\x1e\xd1\xecs\x81\xd2th\xae/\xcfy\xeb\xcf\x7f?\xfe\xab\x16Q\xc42o\xde\xd5{;I\x92\x15\xc2?\xb7\xf1-\x9c\xf8%\xa2Q\x06\xbe\xc5]+\x9c\xa2\x87ZT*\xe2!\x7f\xff 6\xc2A\x9a\xa55\xd4\xdebP\x99+\x80\xe8\xb5X\xfb\x1d\x01\xa3\xf5\xba2:\x03\xa330:\xc3\u07fbD5v\x9d\xa1\xe8R\xbb\xfe\x92y\xb97)\x8b\x84$K\x18\x9d\x81\xd1\x19\xea\xae3T\x9dY\xaf6\xf6V\xeed\xa0x\xf83\xad\x1em\xe5\xe4\xech\xebd\xe1\xe1\xec\xd6(\x03\xfd\xa4\xab\x17\xd6GM\x93Q\xfd\xf13Ci\u07ee\xd6W\x80H\uac53W\xe7\x8f\xc7\xda\x02\x88\x82:I;\xf9\x8c_\x14\v \xba?\xdd\xf7\xe9*oC[\x00\xd1\xf1\xf2\x96[_\xc7\v\xb3\xf8\xd1\xeam\x8e\xa9\xa3\x03\xf6\x8c\xa5\xacJMC\x9c{AiF\xd3`4\rF\xd3`4\x8dzi\x1a\xc2\xe3\xb8h\x1aB\x92\xb5i\x1a?\xed3K\u0093\x9f&\x98\x95\x87\xb8E\xa3\x88\x10\x1a4\xd0\xf2\x13\xaf\xd02\x9eWhYc\xf7\x17-\xb4\xe4\xedl0g\x1c\xf2)\u0379\xec)T`\f z\xb2\xd5;h\xcf\xc9\x16\xe1\x00\"\x93/93\xbc\x9e\xe9)\x00\x88&\a\xce\xeeU!\xe9^\x84\r3\u04f5\xc3\xfd\x16\xbb\x9b\x86\xd6\x1e4\xa9n\xe3C\x11\xbbj\xedn\x7f\xb2\"\xc4[s\x8c;\x80(\xe9\x89\xc1H\x1f\x8f\a\xb5\xb7\x90\x85\xe6\xd6|\x94\xcd\x0f\x9e\xb4\xfe=M\xff\xf1;\xd8/\xe0h\xec\xf7\xf7\xa9'\xf4\xb6\x0f]\t z/\xac2:\xfd\xcc\xce\x00V\xd77\x9dT\xb8z@v0\x168w\x1a>s\xb9J\xe1\xd9\xff(\x8btNR\xae\xab\x058\xd7\x10m(\xe0<\xfbgn\xca3p\xc6y\xc0S\xcb\xcc\u045a\x93{\x96`\a`\xea\xf7CZa\v\xf6L\xa0\x85\xd38\xec\xca\x01\xa7\u07ea\xb4(\xf1\xd9x\u0092\xe5\x01\x87\xd3F\xe9\xbf9}\x8a5\xc0\xa2W\x06\x88\xec|\x96\x0e\bt\xa43(\x8d-\x7fp\x8a\xb2\xaa\n*+0@\x86\x012\f\x90a\x80\xcc\xef\x012\"\x11\\\x80\x8c\xb0\xcd\u03cb\x80\x89\xad\xc7\\\xf6\xab\xee\xfa\xb9 \xc8\xf8\xca\xcc\xcd\xfc\x9f\xd7zc\xab\xdaWm\xfb\xfa1E'\x00\x91\xe3\xad\xd17V\xa9\xe5\xa4\x01\x88\xce\u03eb\x98\xde\xfc\xe3\xe1\b\x00\xd1*\x89\u062dQ;e\x1e\x93\xeb[Hm0\f\u06cer\xa1QxH6\t\xa7G\u04dc\xe3\xac\xc0\x1d\xc0\xc4\xfa\x82K\x9da\x9a}\xedzE\r\fP-\xa4{\xceLR\x80S5\x15\x01D\xadGx\x9a\xc9?\x99\x95\v \x82\xb7/\xb5\xcb\xf4\x1d1\x90\\\x98F\u0409\x97\x90W\x14y\x99W\x14YS\xd2\xe4\xd6e5$M\xfcO\xd8c\xbd)\xcfM>?\xa4\xdc-\x14@\xd4a\u00c3\x12\x83\xc1\xea\xcf\x00DC\xb6\x99O\xdb\xed\xb9W\x9c\xf5\xd7nW_\xce\xeb;\xbd?\x16P\x1c\xda,~G\xd9\xdaI\x93e\nG\x1d\xff2\xd48\r\x8b-\x8emy\x16\x9e\x17\xf2\xf4(\xcd[aO\xc2\xfd18\xc8y^z\x94\xb2\xedgmc\xbbX\x00\xd1L\u037e-\xe7\xb9u\xdc\b j\xf6\u278ex\xc6do\x00Q\xaf~\xddo\x9f\xfcN\xac\xc5\"C\xfdD\xb8`\xec\x01\xed@\xca\x02\x10\xad\b\u0574\x91\u05d6\xddJ\xfa\x97Dc\x06\x89\x98\n\xc5c\xdc,\xe6\xb0\x16T\x1cR\x84h\xeer\xfb\xae\x06\x9f6\xbd\x01\x10\x89\u0331\xc88|\xcdo\x16\x80h[\xd9Y\xff\b\xdds\x19\x80@\x01\x1d\xf6\xa8\x8c\xb3\x98\u07c7\xb2*\x01\xa2\xd8X\x06 2\x00\x91\x01\x88\f@\xfc=\x00\x11\xde\xe5\x02\x10+\x93\x9d5\xa5*\xf2\xb2\xb8\xf6D[\x8eW\xd2Y\xe0b\xe1d\xf9c\xb7\xa5\x9b\x05\xb9\xbaW\x01\x8b\xbf9+\x8a\x891_\xc2,\xb2;m\xce\xd3\xc4\xc6\x18\x99Oo\x94\xbb<\xbe^\x80\r\xac\x85\x0f\xb5\xf3\x94\x9a\x1djGY\x82'\xb9\xb0:h\xe3\xbd\aO\xa4\u0546\xe0\xef\x1d\v.\xcaP\xb9\x13\x93\xf5\xa5^\x19L\x8et\xe1&\xe7E\u0593\xbe'\x9f\a\x10]\xf6|\u0464\x97\x8e\xa9\x03\x80HL\xbe\xaf\xfa\xabn\x0f5\x00\x81v\xbe\xbd\xa3(\xff\xfc\xa4%eUFT)q&\xa22\x11\x95\x89\xa8LD\xfd=\x11Ul3\xb7\u0711{\xed+_\xb5\xbb\xec\xbbbJ\xd1\xf2\x16\xcaj_\xbfY1\xa9\u495c\xfa]\xc3\xd1C\xe8v9\xc1 B\x84\xf5\xef6\x84B\xe5\"\xe8\xe5b\xe5fc\xe5\xech\xe5\xe1f;GcL\x1f^\xb3<\x9c{Gd\x92VDm\xfe,w\u5dd0\xdb:l:c\xb9V(v=n\xd8]p=6\x15\xe8/\xcc\xdc[Y!\x02`\xfc\xa1\xf6e\x96#\r\x89\xcd\xf3\xf1\x1d\x16\xf1\xd8!\xd8\xeb\x9c>\rIV\x9ex?6\x94E\xbf\x87G\x98m\xb4\xb9\xa0\n z\x97\xff^l\x9f\xea\bC\x00\xd1\xdb7Y\xaaM\f\x97/\xc2\x02\xa6\x83\xf7\xd4d/\f\xb8\x11AY\xe4\xbc*&D1\x80)\x06\x0f\x98\x16\xb0\xe7\x01\xdf\x01\x13nrvi\xbe\b\xfc73'\x15\v\xa3\xae_\xe9\xe6\xbfu\xc8\xd7\xe8\x1f\xad\xb3\xc5\u0767\xc4/|\xf5<\xbb\xe5\xc3N\x17\x1d\xd8%\xe7*\xce\xe1~\xae\"\x98\xf6\xc0UCl\\R\x93\xd2\xda\xda\xf5Z\xa0)\x80\xe8\xe0\xad6\xfdZ\xa6\xde{J\u03a7>\xb8\xb7('$\xe92\x81\xb5\x1e,c\xad\xdb\x0e\xb6\xd6^\x1c\x8a\xb0`\xac(\x18\x0f\x93\xd0\xca\xfc\xbaf\x9d\xdc2\x00\xd1\x1d\xb3\u062bG\xa5\xf7t\xa8>\xf8\xba\x9f\x1e\x14;.t\xbb\x00 \x12\xbf\xa8\x93\\\xa8\x1f\x15\xc8~72\x99 EHT\xa2A6\xba\xd2\xc2\x0f=\xa6\x05CK\x95K_\xf4\x12\xbbC\xa7\xab\xf1t\xf3\xd7q\x85\xc8#\"w#\x86\x01\x88Z/JH\x96\xf4)<\x06 \xea6Z\xb3tf\u01b6C\x80@/c\x96\x1a\xb5\xb8b\xacFY\x95\x84@\u0195!\x04\f!`\b\x01C\b~\x0f!\x90(\xe3B\bD\xe2\xb0\a\xe4j\x9cc\xa1\xa6\"\xae\xea\x17vu\x18\xce\xee\x82V\x84\xa7\x8b\xe7y\x01\x88NmNt\x16Jo\xbf\x8f\x1c\xa7\x10\x9c\xa0n\u024c\uebcf.f\u4bb5rqZ\x7f\u01ba)\x96T\xf5\x9f\xb5K\xa7\u0256eJXR\xd9;\xca{\xea\xf37\x12\x9e\x94Eb\xc3f\f\xa9dH%C*\xebK*\xaf`\a\xbfq\xd0\xcdD\x93\xc3\xc7\xf2\xe4v}\x01\x10m\xd3\x1d\x987\xac\xff\x9ep\x00\x91\xe3\u052b\xdf\u06fa\xb4\xbc\x06\bT\x14\xb0^\xa7\x93A\xd2m\u02aa:\xc6T\u019dy\xdaqe\x9e\xc2\x1a8\u6e4c\x8ey\xde\xc3\xfa\x14?I\x1e\xbf\x88)\xbas\xe1\x91OQ\x84\xe4>\xcab\xd8j\xed-\xf5\xacGK_8L<\xe3\xfb\xb5E0e5 [\x9d\xda\xe4\xa2\xd3\x05\xd7Q\xa7(\v\x10HxZ\xbc\xad\xa5\xe2@+\xca\x02\x04\u04a9\x18\xbaqf\x89\xeb\x17\xcaj@\xb6\xbaH~\xef\xc1e\x85\x9fm)K\xe0\xd8\xea\xf2]\x89n\xcd+\x82^\xb1\xb8\xf5\xb1\x90\xe0w\xa2M e\x91\xab\x891\x17\xb6\n\xb7\xe1\x8ah\x9e\xadK,\xaaX\x8fw\xf3\x99\xec'Sk\xdd(g+kk\xdb9\xb6VN\xb5c#O\xfas.?R)Z;\a\xabht\xde\u0504#\xb0]\x18~\x13\x16d\xcfb\x05\xab`\xbbOZ\xd7\x0f\xf9\x1d ga\x00\xfe\xf2\xc5!8\xe0\xceln\xc1\xc2\u0282\xa5\xce+\x8fu\x97\xbc\xcdCs<\x01D[\x17\x8f\xeek\xaf\xee\xfe\b\x8b\xc6\xd5\u0429\xf2\x99\xb9w\xf7S\x169\x16\xab\xab\xc6\xef\xafA\xe3\x93\xd9\r\xffY\xb8\x19o\xebde\x81\x01=\xb8\x89\x01\u0470\x8dG\x97\xea]\xff\xc8\u0388\x19V\xcdu\x8e\xcf\xe1\xce\xd9\u37eaz+\xe7\xe1\u45a1,\x80\x9c\xbe\xa4\xe2\xe2\x13K{\x13\x00\u044cYQ\xae]\xa7\u06c5\x00\x02\x99\xa7\xdaEN|1-\x86\xb2\xaa\xaa\x82\xbf\xe5\n\x82\xc4\xd7s\x05A\xe2\x931\x93S,\x82F\xa5\x12\x8a\xa5CH\x0f\xf0\b)\x9a\x16Xx\u042d\xf8\xcd\bYN\x8f\xeaS\x8f\x00d:}t\xce\xe2a\x96+)\v\x10Hds\x8a\u0673\x8e\x91\x19\x94E\u0389o4\x10\x89\x8fo2\xbb>o\xf2r\x94P\xb7\xef\u0144\x05e\x01\x02\xc9\xdf77\u069a?\u00c8\xb2\x18E\xbf\x0e\x8a\xfe\xdey\xd9=\x977_\xe9EY\xac\xaf\xb7q\xd61\xdc\xfa\u064d\xb2\xf8\x8e\x8d\xf9\x06\xa1\n/\x7f\u05fd\x9e\xf2\xb5#e\x01\x02\xed\xb1Mv\x9c6eq4e\x91\x93\xb7\u0182\xde\x00\x93W\xa3\x1e\xaf>\xafyI\x7f\u01efm\xfc)\x8b5y\xefh\xdc^s$*\x85\xb2\xfe\xf0\xe4\xad\u03db\xd8O|\xe1\xe5\u06e5b\x1fe\x01\x02\xbd.)\xd9\xe2=\xb2x\x1ce1\x93\xb7\x0e\x93\xd7?\xf5\u025c\u01ebF\x8f\xa4,@\xa0\xdc\x10\xc9)\x0e\xfeJ\x1f(\xabqM\u07af\u077f|\xbe\xe7\x1d\u06ac\xca\x00\x04\xeay\xbb\xec\x90\u1870\xb9\x94%p<)\xe6\xd6\xc6\xcf\x17\u058d\xe8\a\b4\xe6\x15\x98\xbf\xe1\xf0\xcbu\x94E&\xed:q\xe1I\x955\xe8j\xd2\x05\xdc\t\xb8\x1f\xff\x1c\x87]\xb7&\xe2\x89Am\x98\xa2\xf6\xd5\n\xa2\u00d6\x96S\xc1\xb8\x961\xecN\xcf\xc0\xef,\xab-\xbc\xe3\x17\x0e\xbeU\x87\xa0\xbdn\x9fEUN\x1c{#FD\x1b\xe6\xb3\x00\xe6\xb4\xf5c\x82\xde\x18\xbd\x05\x10\xed\x84\xd1E\xda>\xedu\x00D\xe6\t\u03fb\xbd\vYu\x02\x9f\xc61?\u06f5\x9d\xaf\x1a\u00b2\x8b/\x87\x1d\v\u5dc4\x04Q\x16\x19r:a\xd9E\x1e\x9e]T\xecc\xd7\x14\xab\x85^\xd4q\xe00]\u03ca>\x98\x11\u124e(/rP?\xba\xc6\x1e\x7f\x9e1>\xb6W\x17\xb1v\xbb\xbb\xb1_\xa7\xacv\u05a0\xe3jX\xa9\xe8\xf2\u00c51\xef\xd6\a@\xe4$4\xe3\xbd\xe7Ax\x93O\xd3b6kZ\xa4_\x1e\xb4\xac\xb8\u076bT\x00\x91\xd8\xfcU\xfd\xd3\u05bd;P]\xbe\x96\x8f\xfep+3\xd6A\x81\x9c\xa5M\x7f\x8f4]y(\xb4\xa6\x7fi\xd7E\xb4\xae\xe5}!z\u0436\x9f\xe5\xb4 \u0476\xbf\xf0\x18V\xfft\xbf\x1a5h\xea\xb8v9\xac'\x86\x8f\xb5\xdb\xef\x7f*\f@\xb4\xb7\xf3v\xe9+S\x1f\xef\x01\x10-\xe8\xa1\xf7\xe8H\xb9\xfeN\x00\x91b\xf9\x04\xabyvoU\x00\x81\x9a=\x19\x98\xf3\xd2\xe4]\a\u02aa\xe4}-\x9br\xe7}\x1b\xb8\xf3>\x13\x1c\xef\x8b\xfc\r\xbc\xafa\x88\u074fF\xf5\xfak8\\\x8d\t\xdb\xf00\x90\x9fx\x8ao(\xb1\xb7\xbcX\xf3\xa5K\xa2:S\x16 \x90l\xe7\xd0\xed\x0eYk\xca(\v\x10(\xadu\u786f\x85#=(\v\x10h\u05ee\xd8\xde\x0f\xb3\xf7v\xa4\xac\xc6\x05\x1d\xd1\xcb\xf9\x1a\xd2}\xc3\x12\x94)\xebON^~\x11\xbb?:y\x7f?\x87c&/\xbf'\xafPS\xab\x81\ufb8f\x1fOY,\x8e4E\xb1h\xe8\xe8pDY\x8dl\xf2\xbeU\xe9\u053f\xab\u0378n\x94\x05\b$=1\xc7\xe7\xfe\x84\x14s\xca\x128\xe6w\xad\xbf\u0670i'\xdfl\x03\x04z\xe5\xe8\x13\xb5\xee\xc0\xa1\u03d4\u015e\x03\xd2\xda\\\x98\x9fx v\r*\x17ZZ\xfbV\x90j\x87\xbf4\xea~\u0627\xb2 \xb50M\x02*\x15\x9b\x80\xc2\x00\x96\n\xdc]\xe3x\xb8\xc0\xef\x14\x94\u0742\x8f\x9e\xff9L<\x06 ju\xf2n\xf1\u0180\x8f\xb5'\x90X\x00zx\xdc\x13'}\x9f\xc4J\xd6]\xe3&\xbf\xea\x9bR\xf9\xd4O\x1a\xbc\xf7\x93\xc6o\xe9\xa7\xe1\xedMV\xb6\x9f\xe2GN>\xb2\xfeXKIv\xdb\xe3hzb%\xd6}M0\xae\u0245\xb3\xe3\x9ad_xr\xde\xd2[\x0e\xc78\xf2\xb5\xd3%%\xfal[o\\\xc1\x91\xaf\x9d\xed\xa5e\x1e\xf3\xa5=\x8b\x89\r\xfa\xac>\xbb\xd3As\x15\x00Q\xb1\xe6\n\xb5\u033c\xb8\xa5X\x1e\x1fu\xddn\xc1+\xc5A\x81\x94\xc5v\x04\xe1\x17\xb8\x1d\u05c4-{7\x1f\xfd+\xd6]o\xc1\a\x99\x8a\x8fuO\xf4\xba4\xf6A\x9b\xdbR\xcc?k\xacW7\x00Q~\xdb-\x9dU.\xaenM\xaev\xbd1\xfc\r~\xa2\x9b\xc8s\xfe\x85\x05\x8f\xa7ral\x17\xa9o\xb9\xb0\xa4\xa3\xfe\x1d\xae\xee\x1e\"\x01 JX\x96\x93k\xbe\xef\xd1A\xfe\xf6\xb4`/\x99\r\xd3\u04cb{|\x8b\r_8_\x935\xe8\xed\x94\xfau\x94\xdb\"\x82\u07de<\xb7hOVJ\xc7\x1d\u0625n\xbf\xc6h\v\xeb#M\xbaR\x16\x80h\x89K\xa0\x84{\x87=\x8b\xc9U\xcf\x1b\xbbS\xf94^\xbd\\\x8c\xdd\x1b\xf1\xbb\xc4K\x88f.o5p\xebi\xef\x8f\xd8\xee\xb8d\xfcFi\x93U\xcaeF\x90\xfc\xf1\x93\x9et\u06f2\xf9\xa2\xb5W\xfb\xe5\u010d1c\xcc\xf2\x14\u067f\x8c\xb9\xf3\xa1N\xfb\xc1\xdf\xfa\x9cst\xd7A\x9d\u0215&\x13\xa3\xa9\xda\xd1\xee\x01\xaf\u05eb\xb1\xe2X\xe6w\xb9'E\xe3\x8f-\x02\x10%o/S\xea\x9b\x13=\x8al\bs\xa3\u00ef\xdf\xe8\xe0\xaf0\u03f2\ufc49\xaf\x00D\xb7:]\xeb\x9e6\xc6\xe9\x01\x80h\xb9\xd9\xe3\xe5\xafo\xb4?\t\b\x14\xbf=#t\xf1\x92\x01i\x94U%\f\xbbp\x17\x86\xbbq\x15\x86\xc5\xde\xe2\x84\xe1\xa1t\xc2\xf0rF\x18f\x84\xe1\xbfF[\xe2E\x18n\x18\xf1\xa8\xc7\u0487\x9b\xd7\x1d-\x1fFY\x7fr\"2\"/#\xf2\n\x9c\xc8\xdb0\x13\xb1Uv\u0189n\x92W#(\v\x10\xe8\xc9]\xe1\x00\xa5q\xab\xceS\x96\xc0\t\xb6\x8bo\x1a\xf4\xfepC\xc4\v\x10\xc8v\u39edwD7\x17P\x16\u06dfe\x9ap\x11l%\xa6\xe2\x05[a]Z\x80Vy\u064b0\xe6\x88_5]\xf7,\xef\xban\x8d[n\xffR\x99c\x04/\xa0\xb9\x9a\xec\u0531\u91e7\x01W\x97\xe6\x02\x88D\xec\xc4\xda7\xc9~T\x19!\xc6\u0429G|\xeaV\x81\xd74\xf8\u042dn\x8b\xfd{\x9c=\x9dBn;\xac\xb1\u0269Z\xc7\xc5\xfc)\xe1\x94\x0fo\xb57\xe9\x9a\xf2|\xa1\xc1C9\xb8\x92\xc2\r\xb9\xa6\n\x06\xb3\xc3\x01D~;v\x8a\x06\fz\xd0\x01@\xa4\xf3)\xb3\xdf\xe6\u02eb\u0571\xc2K\x85\xe15\xd7w\U000c8794\x05\bd\xfe\xb1\xc5\xf0U\u0681\n\x94E.\x13\xb9X\xe1\xf9\n\r|\x88\u016eO\x15+\xeb\xa9\xee\xf2\xa7#\xb3\x02N\x8f8\x19|`\x1d\xc7\xffcb6X5\xbf\xb4/\xf3\xdf\xf2\x99\u76e7n\xec\xb8\xc1e\x04\xb9\x00\xdd\xc4\xe9\xda[\xff\xc0\xca\xf4\xef-\xf8\u031a^\x8f5\x1d\xa2%\xdf\"\n\xbbo\xee!\x8f\x15Z\xb5\xd6\u023f\xcb\xe8\uc643_\xfe\xecz\u010f\x15\x99\xb7\x89\xb2\x00D\x8e[\xf7.{\x916\xee\x02\xb9\xe8-etgFw\xe6\xaf\ue339\xb5\x98\xfe\xae\xe1\xcaU[\xa7|d\x17\xeb\xb5\xcdN3\xc2\xf3_-<\x1b\xbc2\xb9;s\x8b\xd9\x1c\x00\xd1\xdd\xc3M\xb7w \x9e\xb3X\xb7\u04e7}\xc3\xc0`p\x86\xb2*\x85gY9\xae\u00b3\xd89\xee\u00b3?&\xf2\x8bf\xd2\t\xcf\xfatz\xd7^\x01\x14\x9e\x99S\xa5\xff\xc8\xc1\xb4ZO\x95\nw\xb6\x10\xbe\x95\xa5:\x89\xb2\x1aP\xbb\xd2\xdekq\x7f\xe5\xf3\x97\x0e\x94\xf5''\x15?Ed\xe6\xb4\xe7?2\xa9j=\xed\x99,\xec\x93\xe2\xd31\xf2?\xcaj\xc0I\xd5-m\xe2|I?\xd1\xf5\x94\x05\b\xf4QS\xb2\xfb\xbd\xfc\xc2\xe7\x94%p\x82\xf0,\x89\xc7)k\xdb~o\x0f\b\xb4\xb14\xf5\xabhi|\x00e\x91!\xba9\x17AX\u0605\xfb\xf5\xde\xc2\x1d\xb1\x95b\x84\x9c1\x10@\b\xb7k\xe8\u01cc\xe9GCa\xbf\xf0L\xfe\x13x&\xff\r}\xc1wNNq\xc7\xdd\xfb\xa2dY\xf0Q\xe5p\xe2tawQ,\xf8KZ\xb6\xa4K\xb8\xde\u0245d\xd7\xdd\xfe\x03\xfd\xaa\xc1{\xbf\xf2\xf9hl=\xfb\xf5\xbf\xb3J\xa7\xd6\n\x9b\x9a\x01\x88\xa2\xbf\xfalX:\xda\xec\x16\xb6_%K\xc2\tY!\x831\xb5S\x84?pq\xfa\x9e\x8c%A&^\xabY\xf4\xd3\xe4N\x9b\x15\xe6\xc5%C\xb1l\xbcyh\xf6V\xf5\xf7\x9b\x1dh\xba\xb2!\xeeP\x9fh`\xb9]\xcf+\x99\xc0j&\xef^MX\xfde\xc6%3\xca\"!\x89\v\xf6x\xf1M\xbcPR\xb1\x89-\xaf4\xf0\xf1b\x96\xf7\x98\n\x1b\xdcX;\xba@\r;b\xf6\xc6\xe6}z\xae_\xeb\xc9\xe8'\xb4\xfa\xc9\xf8\u07e1\x9fL\xbb\x16\xb6F\xe4\xe8\x83\xfb\x00\xa2\x14\xedK\x99M*\xfc\xf6\x02\x88\xda.-\xb9g\u04a7\xdbC@\xa0\x14\xab\x16\x9d\xdaX\xb4[DY\x95\u0338\xe92\x86\x193\u0318\x01\xf1\f3f\x981\u00cc\x19f\xfc\xd72c\xf1\xe5\\\x98\xb1H\xee\xcfk\x83\x89\xad\aY\xc0)\x9d\xdd\xee\x9fq({\x82\nq\x02[c\xab\xda\xebk\xda\xff\xf8\xbc#\xb7l\a?\x8a\ay\x8b9\f\x11\xd9=X\x01@\xb4K\xad\u04f0\xf7\xef^\x18\x00\x88\xb6[XJ$\xacx\u07dd$\xf9\x05\xb5\t\x01\xd8v\x97\v\xe3\xcb\xc7\n\xed\xc1\x89\x02V\xf8\xdb\x1e+\xb3:u\xe7\x8eu?\xc7\xc4nr}\xcf1\xb5\x1e\xe1i&\xffdV.\x80\b\u07be\xd4.\xd3w\xc4@ry\u04e6\t-\x95'py\xd01Ry\xd61j\x96\xd0\xe5\xd6i5\x92\xf7x\xc2m\x8fu\xad<7\xf9\xfc\x90r\xb7P\x00Q\x87\r\x0fJ\f\x06\xab?\x03\x10I\xb5/^\x01\xdc-\xa7\x03\x88\x8ehmV\xed\xe4\x9a9\vK\x9f&\x8do\xbf\xd9$\"~1\x9f;R\x83\xf7\x8e\xd4\x10\xbc\x8e\x94\xdd\xd3[jn\x87\u052e\x00\xa2\xacV\xdbE\x9e\xbb\xa5\xf5\xc1vd[\xf5b\r\x1d\xb5\x88\v\x00\"\ud451\x17\xae;<\x1f\x89\xa5\xa4}\x0f\x86\bY\xdf8'I\xf3V\x95e\x99\xea\xde\x0f\xfc\x96\x1d\xec9\xa6\xe1(e\xdb\xcf\xda\xc6v\xb1\x00\xa2\x99\x9a}[\xces\xeb\xb8\x11@\xd4\xec\xc5=\x1d\xf1\x8c\xc9\xde\x00\"w\x0f\xcbO\xc6`\xd89\xac\x021i\xa9\xd2\xc0d9\u01f1\x94\x05 \xb2h1\xa2\xf7L\x9f\xb5\x9dI\x14\xe8\xc0\x88\x11\xff\x94\x18\xe1Z{m\xb01n\x16sX\xf1\x9f_\x8a\x04D\x9d\xe4O\xa8\xa7v\xd0\x0f\x04\x10\r=y\xb9\xfd\xc1\x13\xb7YM}3\xacm\x9aT\xbb\x82\v\x80@F/\xd7\x15w\xf7\x03\xb1\x94U)D\u0225p\x15\"\x04\xeel\x18S,\x9a\x11/\x04\x90g\xf1R,\xbaaxV\v\x95]}bn\xdc\xe8DY\x024\x11\x99\xc2\u03cc\xe0\xf1\xe7\v?7\xccD\u073e\xdbb\xfbXk\xe9^\x94\x05\b\xb4\u0334\u01d8\x1c+\xbd\x18\xca\x128\xc1cJH\x8b\xe7]\x86h\xba\x01\x02\u0779\xe5\x91\xde\u07fd\x89\x13e\xb1}S\u009c\x8b\xe0!z\x06wbC\xf8\b]\xd2\xf9\xdf\xd9\xc9\xff\xcbWi\xce\x1d\xb5\xaf\xa2\xdb\xfc\f%ru\xafq_\xf6\xbfyt\ub5fb\xb5\xf7\x12\x85\x8d\x996i\x80\xec\xb9\xd7tjB\x8d}\xf8LI\xf2z\x92\x1bn%\xc9\xf93\xb6\x1d\xc7\xf8e\x9a\xc4>\xe5\x94\x05\x16\r\xbc8t\xa9R\xeb\x00\x00\xd1\xfe\xf5[\xbe7\x1d)\xb4\v@\xe4\u06bb\x93\x92\xfb\x90\x03\xf3\xc8\xc1\xbc\x88\xa1>LU\xfa?\xe6\x02\xb8\u196fJ\x0f\xab\u0562\u01e8:g\x1d\xbel\xcd\x15\xbf~\x96\xb2HL\xec\u0314\xadg\x04\x9euf\xb8\x9bV\x7f\xa1j=D!Fw\xee\x16\xe8\x85\xcd\x02\x10\x9d:Z\xa6z\xa1g\xccw\x00QB\xc5!\xa4\xee\x98\t\x01\x81d\xc5]\xdb=]\xffV\x9d\xb2\xaa\xb6\x95\xf4\xe6\xaa\xe6H|\xe0\xaa\xe6H$b\x964\t\t|b\xa5\x1c\xf6\xa4[\xefp\xa3\xc3\xe7J\x14s\xea\x81\u0407wo\xa6k\xe2\xfft\x0fe\x01\x02\xbd\x17\xce\x1b\xec)\x14\xadDY\r\u01ee\u0414\xde\a\xceYl+.\xa4,\xbew\x9cc}\xd8\xf7\u02cfS\x92e\xc5t)\v\x10H-\xf7\x89L\xb3o\xa7gR\x16 \x90W\x9a\\\u0718S\x13FQ\x16\tM\x99\xadH\x8c\x9a'\x98\"\x02\xb3\x15\x89\u064a\xc4(s\xccV\xa4\xf5\x80@\xef\x02[Y\xcf\x0e\xd4mAY\x02\xa7\u0339~.\xdera~\xe6\"@\xa0\xa9\x0e=.<\xb75\x16\xa2,\xb6o\x8a|\xe7\xa2\xccA_\f\xee\x83\xc3i\xe6\xe7*\xbc\xc7\u3127\u0681[\xed\x9c\xe3\xeb\x99!=V\xb9\x86\xf7\u0160\x16\x88B2v\x7f\xfax\x7f\xf9d\x86u\v\x18\xeb\x86(sq\xf0P\x7f\xa5\xcd1X~\xadltl\xb8\xb6j\xd4\"\xca\"C\x98.\x8e_\x97\x13r4\x04\xfb.!!\x00\x04\xbbv_v\u444cK\xa4?\x8bKuP:\x8a%\xe3\xcd\xc7\xf4Z\xa9\x9ebMr\x01\x92\xd6\xfd\xfdd\x1c\"\x9f\x8f\x9f\xfa\x84\xdb9\xb4#\x1d\x82\xb9:\xae\xc6\xd5q\xe2#\x06H\x16\fN\x8d\x04\x10u\x82E\x13\xe2\xee{\xf9\x03\x02\r\xea[\xfa\xc1\xc8\xfcF1eU\xea\x062C\xb9\xea\x06\"\xdcu\x03\x11\x9cn \"A\x93\x81`t\x03F7\xe0U7\x805\ue82f\xee3_\xff\x8c\xcf\u032e\u01ebK'T\xec\x12\x1b\x1b\x7f\x83\xb2\x00\x81\xce\x13\xc6\xdf\x14RJ\x97Q\x16C&\xea@&\xf4\"\"N\xc5[\xf4\u0464\xac\x06\xe4\r2B-o\u07280O\xa4,@\xa0\xc9[\x13f\x1e9\xad>\x9e\xb2\x04\x8e7\xec?\xa53h\xc5C\xcf'\x80@9\x1f\x1e\xfa\xe5\xe9\xf98P\x16\xdb\r\xc5%\xb9\xf0\x06\x91\x81\xb8\x8c>4\xc3OE\x1e\x12\xbf8@\x05\xd1n\x7f\x9f\xe2\x97\xfe\xaf-\xc8\t\xf3\x82nY8Qw6Ry\xf7\x95G\xdd\xdb8\x9b\xfc\x8a&~\xb7\u053d\x9f\xd7\x1ec[G\x17\a[k/\xf6\xbfk\x9cL\xa0\xfa\xaa\xee5\xea\x1c9j\xd4\x05y\xda\u07db\u05edu\xab\xda9A=JO\r\xea\xb9\xe1\xca~\x9b\xc01\x00\xa2<\xb1~\x9d\xa7?\xef|\xf7\u01f3\xeb{\xe8a\x8a\x9a\x90\x9d\xc9\xeb\xc8y\x00\xa2\xe3\xf1\x92\xd7\xee\u01adO\x04\x10i\xc8\x06&%\x04\x98\xabq|\xab\u06c7\xc8K>\t\x8b\a\x00\x88ddg\xcc\xcd=|5\x81t2\xfc\x11\x11\bp\xc9\xd9\xcbxO\xe1a\xcb\xfdl,8\x8f0\xc8*V\xed>\x9e<\x05D\x8cg7\xb1\u03b5\xc4\x18_\xa9\xe9+s\xfb\x1f\x0e\xdc\x107\xe4\x11\x80\xc8d\x89\xfbT\xbfQ\xddpu\n R\x89l\xa1\xe6\xb8}\x9c\x11\u034a\xca\xef\x8d'\x11V\xab\x89V\xa3\xd6\xd7~_\u070f#\x02\xa3Nt\r-UQ\xa0,\xd2IC\xb1\xc9\xe44\x1a\xae\x1b\x80=\x17P7/\xe5\x0fK\xed#\x9e\xde\xd3i\x97o3\xecH\xec\xb99$\xe5\xa3oq\x16\xbb\xd1\x11|\xe1j\xac\x95_7\xab8G{e\x81*\xe9\xaeu\xa0R5;\x00\xa2A\x17$7\u01aa\xc9\x0e\x02\x10\x85o\xda\u0622g\xbfmW\xc9\x19\vhk\x15\xfe\xad\xf3\x13\xa2\xd9s\xef\xe4\x1e\xcc\x1b\x00\x00Dn\x0eQ\xbb\x9b\x8f~?\x1d@\xb4^*\xc5y\x8bK\xe7\xe3\x80@\x03G\xad\xf6\xf6K=\x9aFY\x95,R\xfa\x7f\xf6\xae<.\xa6/\x8a\xdfw\xa7}\xb5\xb5([\x91_\x89\x92%K\x94\xbd\x90\xb4H)\"\x95\x94\x16\xa5\x12\xd9#\"e\r\u0673Ed\u02d65\x945d\xa7D\xb6\x84B\x85Ki~\x9f1/\xafQ\xf7M\x93IS\xde\x7f\xe7c\x9a\xf1\u07bd\xe7\x9c{\xbe\xdfs\xee9\xfb\xf8\xa2H\t\xfew\t\xc4qw\t\xc4\xe9\xee\x120(\x92A\x91\x02\xa3\xc8\at\x89\xb2\n\nUWQ$3|D\xd8\xc3Gv\xab^w\xb3\xb2\xbe8\x9c\x92j\x11y\xcej\x97tvK\xf7\x8b\u0394\x04\b\xf4\xaeW\xfai\xa3B\xfb\xa3\x94$r\xc8\xf3\xbe\xf4\u0529\x9esm:\x01\x02-\xdb\x11\xbe\xa6\u013d\xc77J\u2aae\xa4)\x1f\xe4)f\x81C\x9e,q|\xa9\x92\xf0\x91g\x88\xa08\u0444\xbb\xa8*D\x13\x9e\x0f\a\xfb\x04\xd0\x16\xacF\x05.\xd7l\x9c\xb6\xa4%\x80\xe8\xdc\xc6g\x11Im>\x15\x92\xdeJ\x96\xc6[U\x18\xfcZ\xae\u013bB\xba\x8c\x16\xec\xd4@\u062c\xf8\xce\u0326m\x8e\x1b\xab\xbc\xae\xfdI!\xef\r\xbdY\xfdb\xfb=\xcf\xe2\xbe^\x85\xe1\xd5\xe5^\x1dW\xa2\x8d\xb5\x84\x19\x82\x12\bBx\x9d\x16\xed\u018e\x0e\xd7k\xf2\x03@\x14ytNco\x16\v\xf2\xc4s\x9d\x9f\xdd]5p\x9a\xce\x1b\x00\xd1\xfb4\xa7\xa7\x1b\x9fv\xfe\x04 \x9a\xa1\xed\x14m\xebw\x9a[\x1d\xcd.\xad<\xa0b\xa7\b\xba\x00e\xee\xa3j\xb1\xab`P\x1a\x0f1\xbe\x8c\x9d\xd9\xdeW\xfe\x95\x02g\t\x9e\x1d,\x99\x1e9\xe45\x80\u81fb\xfb\xdb-\xaa\xacYX\xe01\xd9\xf9\xbc\\\xcbeO-\xb0x\xec\xd1\u011c#\xe1z\xc75(\x89\xb4\xa5T\x06\x8f\x89\x1e\x1ek\x8b\xab\xb5e\xa0\x1a\x80H\xf7\xd3\xfd$v@gU\x00Q\x96\u06a1Qc\x9eK\xcd\x02\x10\xb9\xd8\xdb\xf4\xc9\xd2\xefj\v\b\xb4s\xfcm\x1f'\x85\x13a\x94T\x86\xdad\xe7\xf2\xcf\xfd\xf1oE'\x8ekE'F\u05ca\x8e\xc0\xb9\xa0\xca\xd3\x1f\xd47k\x05\x96\xd5\x1a\x02\xdb\xe86\u05fd\xd9\xd6\xf3J\x94T\x8b\x10\xeb\xfc5b\x96\xf9L\x0f%Jb\xd0\x14\x83\xa6\xea5\x9a*\xbd\xe0\x12\v\x06\x9cxKI\"\x87\xa6\xf4\xbe\xdcL3\xf8zI\x02\x10\xe8\xf6\x19\xab\xa9\u047d\xaf\u0724$\xd2E\x87\xf2AS\xac\x1f\xd8<^w\xbc\xf9\n\x80}\\\xaa\x8b}8\x01\x86\xcaL\xa5\x9b\x8b\u29a9\x00\x88$\xc69\xec\\|\x8d\xfd\x994\xc9e4\xbe\xe5\xd8\u07eaN\xacf\xb8\xcfy3\as\u05a1\xc9c\xe0J\x00\x91\xbb\xde\xea\xd6o7*\x04cB\x13\xea\xe1+`\x11~\xb1\xbb\x10\x1e\xee\xb3\xfe\xaca`\u049a!#y3v_\x9a*\xdb;\xde_\xf1\x96\v\"\xd9\a~\x19\n\xcf\x1f\xfe\xbcf\x82=v\xab\xdeB\x99kn\u056d\x10\v\xbf\x14\xe0\xeao\xa28\v@t\\a\xf0\xc2U\xe6\xc3\x17\xfe\xec\xc2\x1a\xddD\xf9r\x92)\x80\xc8\xe5\u5146\xbb\xce;\xa4\x03\x02y\xf7\x8e\xfdq\xa9\xf9\xa8\xae\x94T\x16\x86\xc9D\xf1\x0f\xc3\xce\xf0\x0f\xc3\xc2pa\xd8]&\f\xfb\xcbaX\xc5\x0eXL\x18\u0184au)\f\xab5>\xb4ER\xf1\xceq\xa3\x8c\x93)\t\x10(Jm\xf6\xd5Sz\x96i\x94$rA_\xb3\xa6\xe9\xc5\x03\xbd\xbf\xe4\x03\x02%k>_\"wg\xf5\x12J\"\x1d\xf1\n~A\x9f/\xbf\xa0\x0fj\xd2\xf9r\x03\x1a\xba\xa9\x9e\xc4r\u0099\x9f\x7f\xddL9LQ\xe5aO\xee\x9b^\xa0Y\xb6\x15\xf8\x1b\xd5U\x8d\xf8\x84\xf4\xcc3vG\xe8w(\xfc\xe2\xc2\x1b6v\x9f|%q\xf3\xf9\xce\x00\xa2P\xed\xee\x91\xe2\xab9\x86\x85\t\x1bg,\xba;\xfdA\xf4k\x16%\x91j\xf3\xb1\x86\xcb\x0f\x84\x117V\xbeT\x105\\:DN\xefC\xf1ll4y{\x8a\xa3\xffD5\x85\xb5u4\x9a$\xf0\x93\xf2-0e\r\xbc\x93\xf2K\x87>w\b\xf1?d\x02 :vV\xef\xd2c\xcd{\x1a\x00\"\xbd\x0f9\x12\x03\xa76\x9a\r\b\x94\xee\x18\xe1\xda\xdd\xecGWJ\xfa\u056a\xbd\x1b\u07f8Tz&\xff\xe6^\x031q\xa9\xd4J\x9a\xe6^L\\Z#qi5\xfbn\xd7^\xfb+\xa8G\x13\x98\u05ad\xf6W\xf5\\\xa3k!\x91\x7f\xadi\x9b\xdeo\xc5v\x04P\x12 \u0406\rG\xf5\x1fen\u05e0\xa4Z\x8cfuf?Z\x19\xb1\xbf\u0518\x92\xfe\xa6!\n\xb3e\xd6_3\u011ao\x99\xc5\x18\xa2\xb0\r\x91\xd5\xc0\xad\xfb\xa7\xeb\xe6\xe6\x94\xc49\x84F\xaa\xbd\xef= \x16QR-\x1a\xa2Jf\xfa\xa1\xffd\xafl\xa3$\x8e\xffV\uc6b4`\u0702\xd0\xf9\xb5\xe4\xe4}\x0f\xb1\xe0\xfe\u01bd8\x8f[[cB(\x89\xb4l\x1bnz\xa7\x12p_L\x03\xee\xcf\x10R\x18p\xff7\xfb\x9a\tJ\x06\x8cS\x98\xb7\xa4\xe8\u0219\xc6X2`\xe7\xc0\x9b\x86\xf6\xfd\a\x8d\xe6\xbe\xe4?\xdfN\x9c\x9d]\x1d:\x84\xbd\x05\xbb.B\x98v\xff\a\xfc\xc9\u064e\x13\xbf\x9b\xcfIO\x06\x109\u577e\xf3\u073a/\x10*\x7f\x12`\x1f6\u0269m\xce+\x00\u0470\xac\xc2\xc6\xecE\x92\xcd\x01\x81\xee\xab\x1c\xe9s\xb7\xeb\xc3q\x94\xf4\xab\xbc\xaa\x80\xc9\xeb\xd53\xfe\x84\xc9\xeb1y=&\xaf\xc7\xe4\xf5x\xf2ze\xf8\n\x9f\xd7\xf3\xc0\xb8p\xa8Ec\x9e\xf5\xe4\xb6\xecO\xeb\xedD\x13\xb2\x7f\xae\xf2Ss\xbd\f\xfbD\xd5\x1f\x9b\xebK\x85\xd6\u0378\xf2\x85)\x17-\xcc-\xceN\rd\xe5\xda\x00\x88\xb2V\u03ca\xde|X)\x16@d\xb1\u0338\xdb\xd7\x1f6\x9c\bt\xf1\xa0Q\xb6\xddg\xac\xad<\xf9\xc5Y\u0397\xeb\x1c\xbe\x1d\xbc2\xca\x16@\x14+uD\xef\xc7S\xab\v\u0620\x7f\ubc8df!\xe7#\x1eQ\x12\xb9\u0723\xb0\x19\xbd:[\b\xf6\x87\xcdu{q\xbf\xfe;\x05b\xe1\xe6^\xf9\x0fp\x1eP\xf5\xee\xcb\xe3w\xf77\xbd\x00 \xca%\xe0\xc1\x1d\u074c\x9f\x00\x88\x88\xab\xb9:'\x12\xb6e\x01\x02\xadt[\xd0:\xb6\xa1\xa5\x1d%\x95\x85~r\xc5|C?\x89\r|C?\tW\x8c\xdf\x10\u01f5\x16d:\x13\xd5\xe4\x99_\x7f;\x131\x81-\x13\xd82\x81\xad\xf0\x02\xdb&\xbb%\x1eZJ?\x8a\xa7$\x91\vlS6j\xf5\xf4\x9b\xd1\xe0, \xd0\xe4a_$\xb2\xe1\xa8\fJ\"\u03dfV\xfc2\v#\xf8f\x16$i\xec\xf4\xef\u0795\x15 6\xae\xac\xb5\x06D\x8dSUT\x9f\xf4s\xbcHzE\xa6\x14OdK\xf1*\x0fP]\x84\xa5\b\a\xc2B2\x8bW\xb1\xc7\xf0\x84\xfe\x1b\xb7\x15\x1f\x8ag)&\x01\x88V\r\xbft\xc5\xff\u04a4\x85\x00\"\xed{\xf7\x83\xed\xcdlObc\xf8k\x12G\xc2\xd7+n\x8a\xa2$R\xbd\xd6ac\xf8l\x1a\xe2~;v\xe2\xe7\x9f\x04\xf1\u00b9-\xbb\xf4\x8e\xb5\xe9&+\xb6.6\xe0\x9f|\xe2\xc0\xf3\x0f\x1f\xdc?\x906\u051c\u03c4\x91\x82\xca{\x1c\u05f9\x1e;\xfc\xed\xc5[*\xf0\xd8\xc6\xcfo>\x01\x88n\xa3s\xcb\u0097\xad\xe5v)\xf2\xac|\x85,Hm\x10\x82\xaa\x7fl\x16oy\xee\xe2\xc7\xcd\x00\"k\xdfk:\x06K\xaep\x1e\xa2\x81\xa5q\xf7\x06\xf6\xc1F\x80@\xaf.85\x10\x1fs\xb9\v%\x95a\xa0\xc6\x04\xff\xf2Af6(\x83\x81D\x06\x031\xb3A\x99\u0660\xa2\x89\x82\x98\u0660\xcclPf6\xa8\x90\x8d\x8a\x99\rZ\x8b\xb3A\xa5n\xf2\xa1\x16\xc4\xe2\xf8Q\vb\x8e\xf8\x00\xb0nS\vL\xc5e\xb5+.{1\x15\x975Pq\x99A\xb3p{\xb8i\xc3?\xa8[s\xc6N5\x15\x8eq\xc9\xe9o_\xb7\xd9\xfb\xfb>\x1e ~W\xf3\xf1\x8c\x86\xe6:\x1cwU\x94Y\xec\xfe}\x96\xe78\x00Q\u01f3\xfb\u0743\xa3\xbb\xbe\xc6\xd25\xfaA3g\xf9\xe4I\x86Q\x12\x19\xe7\x14\xe1\xea,\x99\x01\xb2\xbf\xf8\x1df\x80,W!,\xe8\u07fc\x94\xd0\xc43[\x995\xccl\xf9\xe1M]\b\u055d\xe5\f\xb0\xcdWv\xfa\xd9>\x9a\xcf8\x06\xaa0\xc4\xe7S\xe3\xdcSUpQ/\x1a\xbd\xee\xf7Q<\xb9\x1d\x80\xa8ei\x13\x9d\xe6C_\r\xfa\xfbL\xd8\xc5aWw\x16\xa4\xb9y\x00\x88\xb6K\xde\u03b3\xde\xf3T\x15\x10\xe8\x8erT_\xbd\x9cy%\x94\xf4\xab\x1a\xa0!S\b\xca\x14\x82\n\xfcjL\xbe\x9c\u0257\xff#\xf9\xf2\xfaQ\b*\u0444_\xbe\xfc-\xa6\xe1u\x85S\xb7\u0095\a!%\x9d\x8a\x8eO\xb7\x1e\xb0b\xdeA\xf2y\xf4\xf1\x93L\xb7\xe2jV\xdd\xe9N\x1b\x01\x06\xd8\x06\x93_a\x06\xd8V\xbe\xe3|\a\xd8n\x8fG1\x05nq\xdck\xb5\xd8ra\xc1\n\x83\x9d+\a\xaa\x7f4\x91\x16\xa2A\x05s\xfek8C\xca\x10\v\x1d>\xed|<\xa7C\xb4\xe2I\x0e\xf2tx\xa1G\xdc\xf3\b\xc5\xfe\xee\u06d7a\xeaO\u009a\xb5\xa4Q*a\x03mW\xa5\x9d\u0766\x9a-\xff\x86\x85\x85\xfe\x97\x9e8m\xd9y\u0380\x92H\xe5\xfe\xca}\x92\x7f\xa0\xb7\x0e3\x16\a@\xe4|\xb7\xdd\u0251\xf2\x1a\xff\x01\x88\xec\x92\xde\x16\xaf{|5\x02\x10\xc8w\x8e\xc2f?th=%\xfdj\xb1\xb3\x9c\x7f\x8e\\\x89/2\x90z\x82\xf1\xd5R\xbaL\x8b\x9d\xbf\x8d\f\x98,2\x93E\x16Ml\xc0d\x91\x99,2\x93Ef\xb2\xc8K\x01\x81R\x1a\x1c6\xb5\x9e\xa9-II\"\a\xb8'&\x9c\xcd\xce\xd2^\xd0\x06\x10\xe8}\x7f\xab.#\xfag\u03e6$2\xbe\xe9\xcd/\x8b|B\xc4\x00w)\x16p\xb3&c\x828\x96!]\x10\xc7\x00\xee\xda\x02\u0717h\x00\xf7bA\x93\xf4\x15\x0e8\xfa\x1c=\x06\x90\xf9\x9d\xd2\xfa\"\xde\xf2\xab\x1f\x80h\u787d\xed\xd5\xe3z\xdc\xc0\xa2\xbb\xbb\xd3\x067\bMmwO\xa8/\xd3I\xe0\x97\xa9\x1a\xcd\xf4\xc9j\xdb>aF>\x80hd\xc3m\xe9\xf9\x1a\xf2\xfe\x80@M\xb5^}\xd7^\xd8\xe6\x1b%\x95\xa1\x9eF{\xf9\u78d7\xf0\xbf\xb3m\x83\xcbGo\xa5\xa32\x19\xd4S\x7fP\x0f\x93\x05g\xb2\u0889{\x98,8\x93\x05g\xb2\xe0L\x16|) \u041c13\x17\xf48\xcejJI\"G&\ucea9Z\x12\xea%\xdf\x14\x10\xe8\x92\xfc\xc2Q\u0693\xf6u\xa5$2\xaaz\u0387L\x107e\xc8\x04\x86L\xa8\x012\x01^\xc0\x04\xfa0\x1c\x1f\xe8\xd7\x04\x99 FC&\u051b\v\xf3\x18Xlr,\xcb\xc7b\xeeI\x1f\xe1.\x85h_r\xc7,\u0149\xbe\xb6\tK\x0f(\xcb\x02\x88\u06af{\x10{\xcb@\xad\x03\x96,\xe8'\xd3Uj\xc6\x11\xb1\xca\xef$\x04s\x0e\xba\x9esV\u0377\xebh@Id\x186\x11\x97\x93g\xaez\xffZ]\xe6\xaa7\xc1\xa4\uaad9\xaa\u07e1\xd0\xfd\x82\u0316{o\x01D/w\xf7\f\u0677Z\xb5- \x90\xb1\x9d\x98\xf5\n\x13\x7fsJ*#\xadd\xae\xf0O\xd5\xdf\xe2\xdfl}-.U\xff\x9a&U\xcf4\x1a\xac1\xa2\xab\xfe6\x1a\x9c\u00d4\x040%\x01\"\x88\xe2\x05)\t\x10\xe6\xbe\v\r\xe4\xbfK\xfdaz=\xe5\x9b\x06%\x01\x02\xb9\x8cz\x96g\xd2e\xa6\x1b%\x01\x02=\xef7\x9a\x1d\xf6\u057e=%\x89\x1c\xf2_\xfb\xb5Y\xfeT\xeb'l@\xa0\u03fb2\u0556\x9d\x88xMI\xa4'I\xe2\x83\xfc\xe1\x10\x1c@\x93\xe0~\u0412h\xc6\x1b\x92\x05Ov\xf6q\xfd\x19\xa4\xf8;\xff\nk\x8f\xd3\xd8\xff\xa2\xbf\x05\xc41HpS\xfa\xc6\xcfE\x0f\xe6\xd92ie*\xad\xfc\xf5\xc3\u047cV}\xdfL\u0186\xe7\x8es\x96f\r\xed\x13>\x06\v~\xcc\xc2S\xd8O\x1eK\xe9P\x12\xb9\xbe\xbd\xb1i\xe5\xbf\x7f\xa1Y0,\x03\xd1\u04b3\xdb\u00bfnLt\xc4.K\xee\x8bv\xa9\xfe \x95{a\xc0\x8ck\u05ed\x88\xe6<\x7fg\xe9;\xc5#\xc0#\u020d\xef\xfc!+\xbdW\x8d\x1b:\xeeq\a\x10\xed\xf5-\\\xbe2_\xa1\x15\x80H\xd5^bT\x9f\xce\xfb\xbf\x01\x02\xa5\xbc^s\x9f\xed\u2c96\x92\xca\"\xda\x06\xdd\xf9F\xb4\xe2\x8b\xf9\x17\x9fZc\x8c_l\v]\xf1i]?#\x85\x16\xd4\x1d+T.\x98$?^\x9c\x92H\xaf\u02d4t2\xf1[]\x8f\xdfD\xa8\xa4sj\x8e\xed\x03\xbfP\xb1o\x94$r\xb1\u0605\xfe\x9dJ\xdc\u04ef(s0\xf2\x84s\x97\xcd\xe6\xf7\xeeAI\\\u0754\xf1\xe5\x13\x8bI\xce\xc5z\x86R\x169+\x01\xdf\xed\x16V\x98\xdcG\xd9p5r\x06\x7f\xc8\x1dA\xd4\u0671\xd9\xe5\xdc\xe9)W\u0267\x93\xa5;Q\x98a8\x15\u0329*\xc3p\x04\xc9\x12\xf1\x1b\x81)\x84\x1d\x1f\xba\xa4I\xd0#\x95\xb8\x1e<\xbc^\vY)+{\rv\x1a\x80h\xfaZO\xa3\x8f&\xa7]\x01D\u02efK\x0e\x88\x94H\xaf\xbc\xa1#'\xbc< \x7ff\x9c\\\ufe03\x94DF&\u05b4\xac#\x8b \xffL\x19\x97\xd0$\x1e\n\xaa\x1e\xa5D\f\xcd\xe9\x98\\y'Nl\xd8!\xc0\xc6\xf8\bKk\x1e\xe9\x16\xebYL\u05f3\xe6\xf9\\\xac\xf9\xdd\xf6\xf2\xeaa^uR\x95\xc2\xfaLy\xe3~\xd6\xc0\x04@\xd4\xc3\xdf6)f\xcb\xee\x8d\xe4^\x15`B\xdajAT\xac\x7f4\x17\xe4\x151\x1e#\xec\xc0\xe1\x92\\\x19\xa3\x15\x00\xa2\xfc\x8f\x8e^\x01\xce\xc7\xcf3\x10\x95\x82\xa8\xca.\xe7}\a\xae_\xef\x87\xc5b\au\xd4>\xf8\x0e\xf5\xc1\xf5\x17#\xd0\u0699\xbb\x17\x1d\x17\xdf\xedCI\x80@\xe6\xaf.\xcd\xf1\xedl\x90@I\x9c\xffve\xaa\uc3d0\xbc\x14\xf2\xac:\x89\xbdS[\xffzr\xd9V\x0eb-\xdc\u071dyA\xec\u03ffnF\x9f\x8d\xfa'\an\xcd<\xd6\xfa\xa4\xee\x97fI\x00\xa2\x97\xa7\u19b4\x99\xf7\xb9\x01\xdf_\xed8\x1c\xe4\x1f\xe4{\xc2g\x00g\x83K\xfb\xfa\xf4\xff\xf2\xb1\xd5.@\xa0(\xd9+>\x99\x87#FPR\x19\x81\xa0r\x8c/\x81 \x95\u037f\xaf\xd8n\x8c\xb7\x95\xfcJW\xc7]\xd7AZ\xcd\x13\bLu4S\x1d-\x9a\x14\x02S\x1d\xcdTG3\xd5\xd1Lu\xf4R@\xa0\xbc\xbe/\xd7&\x1a\xccgQ\x92\xc8\xf1r\x1e\xfa\xfd\x1e\xaa\x99,\xe08|q\x1b\xd9\u066f\xbbY\u0723$\xaen*\xac\xe1\xc3\xcb\xc9\f\xc7\xf3rb#\xf9\xf1rb4cHk\x9f\x97c&IU\x9dF\xf9m\x92T[:F\x93\x99$U\xe5e\xe5\x9d$E\u05e5|\x15~\xc0\xb7\x00\x93\xa4\x84cFW\x9a\x1bdX\xeav\xcf\xe5\xc1\x92\u02de\xa9Etv\x8dv\x05\x10\xadh\xd1\"b\u0326s\b@T\xf8\xea\xde\u0278G\x89\x95#\xf9`@\xa0\x83\u047bQ\xa6\xe3\x8a\u0454D\xe6g+\xd0\r\x95\x92\x9d\xe2Q\xd8\xdb\x1bM\xaa\xbeb\x98\xe2aR\x9fJ\x8934\xb1\xc8u\x01IPv\x18\xe6\xb9\xf8\u050e\nI\xe32\"\x8f\xf79\x1c\xb3'\x82\xe7\xf3\xb0If\x1e\x8d\x12\x12\xe4\xeb\x97\x1a~6\x9a\xeft`\u0282\xc6\x00\"\xbdK\x9e\xa7\x03\xcdL\xfc\xc8hX\x1fW\xf8\xf3\x99fjb\x05\x12\x95\u07c15C\x90W\x14JQ1DG\x8a\xf6\x8b\u0270@W\x00\xd1\xe3\x80\b\v\x85e\xb3\x97\x92:\xcc\xdc\x02an\x81\xf0\xde\x02\xd9\xe4i\xa3\xef\xbe\xcd\xe6\x1c\x96.]ly`A\xe2[_\\I\x10\x81^\xb5Hqr\x8a|\xf6\x8a\x92\x00\x81.\x0f\xc9Q\x7f\xe6\x17%NI\x00\"\xedc\xc7\xe3\xd4/\r\xb9F\u0185J\xb8\x81\x80L\xe7\xc6\x7f\xf7:H\x98@t\xfc0Z:\x9e\x19\x13\x88\x8f\x06\u028d\t\xd4\xe9\xef\xa9RrI\xd3\r@\xa4p0\xcd\xe0]\xb0]\xf1\xdf\xe7\xef\x03\x96\x14<\x9c\x7fPz\x13\x80H\xf1\x11\xd1\xff\u0646\u0331\x80@\xde\xde\xd2\xee\r\xecN\xf4\xa4\xa4_sA\xd2\xf9\xf2\xf7\x12\x1b\xf8_iq\xc5\x04\x01\xe2\x87h\xc0\rs\xa5\x85\xb9\xd2\"\xf0\x95\x16\xa6$\x92)\x89\x14E\uad4e\x96D6\xd9-\xf1\xd0R\xfaQ<%\x89\x1c\xf5\x9a\xb2Q\xab\xa7\u07cc\x06g\x01\x81&\x0f\xfb\"\x91\rGeP\x12\u026c~\xe1W\x12Y@S\x12\xb9\xb3J\xec\b\u02d3\x1fC\xcbjNc\xea\x7f\xb7\x8d\xc4\x1f\x87\x14\x8dSUT\x9f\xf4s\xbcH:V\x9a\xee\x1dL\xd5e5\xab.\x1f\xd1,[\x1c~\xd6}\u054a\x80*W\x14\xa11_#F\xe5\x97\xf6\xf1\x8a\xb5\u3260\xd5>.\xda\xe7o.\x8f\x00D\xa1\xe8\xf8r\x99il#\x8exw\u05f2\x1f\x9a\x8b\u00b0\xc0\xf7\xba\u02ec\xe8g\x1a\xc1\xfa\x94\x04\b\x14\xf7\xbcUi\xa7\xa8\x0e\x06\x94D\xa2\xdd\x16\u0602\u0303\xf5\xbf\xba\xf2\x02\x8d\u02ac\xc0\xb3\x89US\x19\xa1\xbdH\xd6\xfa\u00ec\x04+\x83\v<\xca\xd1<\xf3\xd5\xedw\u025bN\x01\x88\xf4\xf7k\xeb\x99\x0f|\x1bI\xfa\x16\r\\\xa5eN5*-k\xe92 \xe3\x02\x05u\x81\x10u\xdd}\x89\xb5q\\gm,\x97\xa3\xa1\x9c7\x7fCa\xe6G\xac\xe7H\x95\x1b\x9c\x95hu\u0504\x92\x00D\x11\xdb\x1e\xde>V\xfa\xf0\x1b\xa9]\xe9\xd8\x1a\xcc\x7f\xa5;-S\x99)\xf2\x95\x99Xs\xb9vN{\u0671\x9e\xb6\x10@\xd4\xd6\xf7U\xa7\x17\xec\xb6\x0f\x01DG\xad<\u05ff\xd2p\n\xe4\x00\xfd@\xbb\xae\xa6\xb6kS)\xa9\x8c\xd9i:\x84/\xb3#]\u023f\xc3\xeeI\x8cw\x96\xa6)G`\x98\x1d\x86\xd9\x11\x9c\xd9ajU\x99ZU\xd1\xe4v\x98ZU\xa6V\x95\xa9UejU\x97\x02\x02}Z\xae2a\xfcrS%J\x129\xc2\xd4\xefK\u07aa\xf3S\xef\x85\x00\x02\xd9{\xe9\x9c\x7f\xeea\u00e2$\xaen*\xaa\xf2\xabU=\x81'L\xc5+\xd4|T~w\xf62\u07d2\xd6\x10\x9a\x12\xa1:M\x982\xe5\xb0\xd5.\x87\x1d\u0354\xc3\xd6@9l\x85R\xa0r\vw\x95Kv\xd0\xd7Q\bP\x91\xf8\xf7\xe9\xe86\xa5m\xfd\xc7w\xb91\x98\a\xf6\xbb\x1b\f?\xfa=\xc0\xc8\x05@\xb4Zg{\x9e\xbf\x82\\\x18\x80\x88\x1d\x95t.w\xf7\u032fXRI\xb5[O\xb3\xb4]\xfd\x92(\t\x10(?\xa1\xad\xbf\xa6\u05ca\xbe\x94D\xba\u0085X::\ub7eas}E\xa3_\x89\xdc\v\xcd5\xa9_B{\xd5\xed\xa7\xaejNe\x19\xf5\xe6\xd1$\xd5\x1b\r\x1b\xa8Z\x8e\x8f\x05\x10\xcdyQ\xa87~u\xb7\x93dx=\x06\u00ce\xb0Z\u04dcl\"\xc6]3GU5\x8f*\xe64\xaa\xc6i\x04\x11{\xc9\xc23\xb6\xa3v5\xc7\xf2\xd7+\x1eI\xf6\xdf3\xden)\xd6E\xbf\xd6\u0753\xa7\x95\xcaZII\x00\"\xe5\xc2>#\xc7\xda}\xcf&C\xcb\xf6\xb8\xaaX\xa6w\xfa\xaf\x85fz\xa7\x13L\xb1l=-\x96\xadJJ\xe5\x96\xcf\xf4x\xa5\xbe\xb7\xd3\x00D7z_\U000f8c2c\xd5t@\xa0\x84\xcc\a\x11\xaf\x9d\x82\aSRYJE~\x02\u07d4\x8a\xf8\x19\xfe\xdd2\xc30A\x83\xd8]:\xe8S\xc1 j\x9fM\xaa;I\x87\x0e\x86.\xbe\x191jg)\x89\x8c\u04d8rR\xa6\x9cT\x14\xd9\xd1:ZN\x1a\xa56\xfb\xea)=\xcb4J\x129v\xb4Y\xd3\xf4\xe2\x81\xde_\xf2\x01\x81\x925\x9f/\x91\xbb\xb3z\t%quS\u0483\x0f;*\x9e\xf3\xbbg\xb0\xf3\b\x98\xc8}\xd5\xc7\xdc\xe7\xfe=\x82\xe4\x02a\x16oLj\xe3VyQ\u0264\x9f\x7f?\xfd\xf7?7\xed?@H\xb1\x02\xe6\xac\x7f\xfa=\xe6\xa6bN\x97\xcd\x00\xa2\xbb\a\x92^^l{A\x1e@t\xb3oh\u068a\u015b\x9f\x91\xa7\xd43>\x8b#\xe6\x85\xe1D*D'\xbc!\bQy\x9c\x82\xc74\x93xB\x92\xfe\x9a\x1e_\xfa\xd9x\x1e\x05\x10\x8d1\xec\xac\x1c\u4bf1\x8c\xf4\xf1\a\x7f\x95\x00\xfd\xfc\xbaM\xe0\xf8)\x14L\xaf\xfc(\x86\xb9tG\xf1\x10\x81p\xd7\u03ef\xc8a\x8f\x12Q\xaa\x9b\xc1\xae\xe8B\t\x95)\x97\xbb\x0e\xe7\xd2\x1e]\xf9\xeec\xb9\x1f\t\x1csJ\x15\xda\x1b\xaa\x01\x88\x9e,\x1c/\xb1_i\x88\nG\x1c\xed\xdf_\u03e87$Wg2]\xb9H'A\xeb\xe7\xbe\bZ?\xc7>!\xe8\x86\xce\x14\xb4>T\x18\x9b\xb07{w\xfb\xc2\"\x9d\xa6\x00\xa2\u0715\x0f5]LwpV\xf5\xf4\x96[\r\xf4\x89=\xe9\x00\xa2\xa6\xe1A\vo\xaekUy7~\x0e\"\u031a\xfc\xc1\xb6Y\x87A\x9a\x00\xa2\x94\xbb\xef\x16\x06\xcd[\"\x87\x05\x87\ng\xb3m\xd4\\\xcc+\a\xa8\xc1\xc2\xe1\x1f&\x01\x88V\xb7\x95+y/\xe6\xeb\f Z\xa3m\xeb\xf8\xf0\xd0\x0e\xfc\f\xfa\xb67\x96\xc9n\t^\x11CI?\x9f\xa3\xff\uf9cb\xad\x8f\x9b_ '\xec\xa1[\u079f\x96\xf2v\x0fa0\xe0T#\x89\x9f\xf5\x88\x16\xe0\xbat\xc4S\x00\x91\xa2\xd8\x00\xe9\xd5\u040c\xf5+\xf4\xc6\xd5\x10n\xc2S\t\xe3\x7f\x87\x81B)!\xe4\xec\xe2S\xd7{\x03\fm;\xe0\xea\"!\xb2\xff\xb1\xb7\xe7\xd6\xe0\xcd\xc3~>\u01dfL\x17\xe0\x9c\tc2C\xdaE\xa7m|\xff\xf3\xc7z\u29cca\xc8F\u04cc\xbc\xec~a\xb9\xba\x00\"mi\x9d\x90=\x93\xe2\xfb\x00\x88\x94T\x97Zj\xb5O\xdd\n\b\xd4g\xdf\xe2^\xfb\u03d6\x0e\xa1\xa42\xb8\xd5\xf8\"\xff\n6%\xfe\xbd\x05\x9f`|\xbc\x94.]oA\x06n\xd5\x04\xdcbj\xbc\x98\x1a/\xd1\x04\\L\x8d\x17S\xe3\xc5\xd4x15^K\x01\x81R\x1a\x1c6\xb5\x9e\xa9-II\"\xc7bLL8\x9b\x9d\xa5\xbd\xa0\r \xd0\xfb\xfeV]F\xf4\u03deMI\\\u0754\x99\xcc\a\xa8K\xae\u00b2\x18\xa5\x84,\x9e\xc6x%\x18\x8d\xc1\xdeSs<\x86\x90:=\xb5\x1e\\r\xfeaX+9\x00\xd1\xf5\u038ft'\xc5\xf7\x9b\x05 :\xa5\xb3J]i\u076b@\xee\x8aH8\xf2'\x85D\x8a\xf7\x10o\x8f\xe5=\xc46\xe1R\x10\xaet11\xc3{\b\x99\xf7\xf0\xa7\xe3=\xba\b\\{\xf1U\xe0\u068b:\xcd|$/\xcf\xd8\xfa\xed\xb1{\x10\x80H\xfcLN\v\xa9=\a;b1s\u0285\x03\xb9\xf9\x87\xe5\v\x84\xbc\xf0\x9d\x04_\xf8Nu\x7f\xe1\xe7\x0ey\x9e\x9b\x7f\xb8\xf8\x1d\x80\u8f7b_\x83u\x9e\xd9\x11\u0605\xff|\xb1\xa1\u02f5VW\xd5\x01DEw\u058c\xd8(?\x7f\x1f\x96\xb78\xbc?\xf2\xe8\xc3\u06cb\xaf\xfdE\xca\xc9aj\x84xk\xafU\xeeX\u02a9\xf1\xb9\xb1\xe1\xd3L\x97\u07a2$!RNO'\xe6K\f\x82\xc74\x01D}\xfa\u03d9\xe8\xa8\xd9\xe1%\x19\xb6\xef\xc66u\xbbIS\xbd\xb2\x02;:\xe4oV\xafp\xb6\xddA\xcc\xf2\u0192\x01\xb9\xed\xb1{=\xc9f\xacA\x87\xa5K\xb8\x87\xeb?[{\x12\\UrNH\x81N\xff\x94V\x17\xd9\x1acd\xff\x9c\xcc\xfb\x90\x9e\xf5\xa3}\x87\x8e\xc7\x00D\xb3\r<\x87zo\xbd\xdd\n\x10(\xd4\x11v\\Pp}3%\xfd\"\xf3\x9a\xf2%\xf3\x98Fc\xccu\u053fNU2\x8d\u0198\u0290:\u0169\xd4\xd1\u0290\xfa\xd1hL\u0398\x1f\xa7r\x15\xeb\x19JY\n\xdc\xcfhf\xaf&\xd3\xd8p\u077e\x10GS\xfa\xca\f*|e\x88\xa1D\xaa5=\xd3EX[(w\xf5\x9e\x96Mj\xa7-<\xe80-\x19\x06\xd9I\x8b\xad\x06\x10E\x18\x99\x054\xddkg\x01 2\x97\x1d\xa0\xf8\xd8\xf3\xd0],\x8e\xda \xde95\xab\xfb\xd3C\x94D2N\x91\xb4a\xed\xaf\u02e4\xd6\u060bV\u04eb\xde\xf8\xaa\xf2\x9czY+s\xdc \x0e\xac\xafdW\xa8\x12*\xa7\xb74sB\x05P8\xdc\xc59\x88\xd6\u0199%\x0eP\xcci$4{\x1de\xb8~\xb7c\xb8\x17\xcff\xc7?s\u0613\x7fv\xf1c\x00\xd1\xe5p\xbf\xeb\xcb\xcf\xec\x1c\b \xcal\xa1\xb1\xfe\xa8k\x8c/\xe9\xb4\"pET\xb8\x19\xbb|Z\x99\t\u075b\ty\xca\xea\x9d\x17\u0776\xa8MPyC\xaa\x8ds\xfdw^\x03\xd9\x11\x93\xab\xfc&\x93\xff\x88,=\xb5\x7fa\xab+\x1b{I\x03\x88\xf6}\x8c\x9b6\xcaA\xed\x0e\x80H\xfdqA\xe0\x14Y\xc5l,\x9dP\\\x10\xbc\x0et\\\xd9\x06\xeb\x7f\xd8\u024b\x97\x8e\xdee<\x97\x92\x00\x81T{?^\xb5u\xbb\xaf;%\x01\x88\\\x1e\u0317\x1f4\xec\xf3]\xd2\xf1\xf4\xe56\xca\x17\x85\xe2\x1f\x17\x8e\xcf}\xd4\x7f\xe9\x13\xfb\x0e\x95\x13M\x9c\x95\xb8\x95}\xae\xa9Y\xfc\x93M?\x9fC\xa8\xc5?v\xdc\xf7mJ(\xf3\xfc\x9d\xb53\x17J\xe0h\x03\xdc\xd1w#\u013a\xe9d\xdd\x14nn\xad\xdf\xefa\xa0\xa9\xbf\x9bs\x00F\x91\xb9w;\xc4\b\x02\x02\x88\n,\xccUY\xe6\x83\xf4*\xf7\x83\xe6nS\xf8\xf8\xc1\x9f\n\x98\x13|=\xc9z\xf5V\xb2\xc9$\x11\xc0]6j\xcf-|\xcbN\x1b\v\x81\xee\n)\xd1x@\xb2\xc7g\x95/\x01W\xb0tZ\x02\x18\xb3\xe8_\xc6\xcel\xef+\xffJ\x01\xf7\xb5rgC\xacXv\u068b\xc4\x06\xc7\x04%\x93\xb1\xcd\u05d6\xf5\x8fl\xf3x\xd3\xf9\xcf\x00\"\x8b\xa0'>G\xfa\x94t\x04\x10\x9d\xec\xd0+l~J\u04efeD\xdfOkkF4\xe5\xf9\xcd\xc1>\x01\xfd<||\xbd=pj\xf6\xe7m\xf8\xb0\xe4C\xe5\n\x88\xb1\xbeS\xe1\xfaJD|\xe9,\x00Q\xae\xbd\xb6\u034a\x87\xcf7\x01\x88\xac\x06\xb6>3\xfa\xa4\xceX@ \xd7C\x9a\x1d\xb67\x9b7\x85\x92~5l\xe3\u07ca\x9fi\xd8\xc60d\xa2\u00d01\xc5|L1\x9fhrdL1\x1fS\xcc\xc7\x14\xf31\xc5|\xf5\xa8a\xdbf>\u0133\x8c\x01\x9ex\x16\x9b\u038fx\x16\xebPo;\xb11\xb3\x1a\xcbf5\xc2\xdet\x1c<3\xc8QY\x96\\\n\x19\x9a\xa5\xa80\xb5\x83\x1f\x0f\xcf\xde `\xb3/\xbbj\xf6\xfa\u00bc\u06e4w\x87\x83f\xdf\xf2:\xc0c.o\xb4?\u027e\x9d7q*\x80\xc8v[\x83\xfd.\r}\x14xP\xbbR\x9e\u065ck+\x9a\xb1\x01Dlv\xa3\x16\xd2:FY\x00\"\xe3\x81G\x0f\x9cl\xa7\x93\x85%\xd9\u07b7s\xdf\x16\xad\xf9=\x87\x92\xb8+*\x1e\x8ee\xef\xe7\xfc\xad\xe6`\x95l+_~?\x8dF\x11Dz[\xcb\xef\xe5q\xc3\xc3/'g\xb1g\x03\x88V\xec~\xee\xae\xe6\xe0\xa5\f R\xf7\u07daX\xdc\xc5\u0259\f;OcX\x03Vh\xddid\xe6\xf2/x\xfa\u06a1\xe2\x93\xe6d\xbf\x18\x1b\xf78^\xb8+-\xdagE\xed\xac\xf4\f\x9d\xefGc\xa7O5\x04\x10\x19\xfe\xf0\xcc\xcc85\a\x7f\xcf\xf7@\xc3\vO\xafd\xa8\xe2G+m\xb1\xd5R\xbdpO~\x0e%\x01\x88\xb2:\x9d~\xbfif\xc6(\xd25\x1ba\xf3\x1b\x15z:\x96\xab4\x8d\xc3\x0eH\x11\x85>i\x10\xa9\xf7\x19\xd0\xf2\xde\xd1\xe8V\u0635\xfb\x11y\xba\xab\xdf\x05g.\x9f\xc2\u051f\xd6F\xfdi\x1d\xc8'\xb1/\xd1\xf7#\x13\xed(\x00\"\x98\x99i6\xd6\xf0RY^k@U\xb2+BQ@g\x8e\x02\xeesu\xb5\aC\x95\x13\x05\xfdM\x8co\xf8\xa9\u051b\x16l\xea\xf2bx\xbb\x8b\x7f=\xb3\x13\x11s\x18-\x950Y\a Z\x9e`q\xd0+\xfe\xdaH\x00\xd1\xc1\x84c\xbd\xe1\xf4>\x1b\x00\x81$`l\x1a\x98w>\x8e\x92~\rY~\xcb\xd4>3\x99\x9d:\x94\xd9aj\x9f\x99\xdagQ\xa4\xa0\x99\xda\xe7Z\xac}\x96U\xe4W\xfb<\x8f\xa6\xf6\u0645\x1f\x05\xcdR\xae\xaf\xb5\u03f0\xc2tP\xa6\xf6\xb9B\xeds)\x01h\x16\xa2\u00a5G\xbe\xac\xeb\n\x01\x03s!WW\x95\xd3\v\xa3\r\x97Z\x8e\xca\xf8\xb0\x01@\xd4n\xa1\x94\xd4-%\x9b\xa7<<\x80\x98\xb2\xbdi\xbc\xf9:=N8\xff4\xe9j\xb0t\x86\x17\x80\u0237M$\u0634\xe6\xf8F,\xb6\x7fp\xc40\xb9\u00ce\u0653(\x89\xb4\xa3OX\xaeu\x84pF\x04W\xb2U|\x99\xd4*L.\x16\xa5\xad*\xbf?\xed\x96\xf4\x1c\x17'\xfe\x99\x03>n\xf6\x1b\x96S\xd4w\xc1[\xceV\x1d\x1b\x15\xb9r\xe5\xf5[\xa4\x89[\xe1j\xa0Uh\xbc\x9a\x88\xf1\xa7L!s\xcd\x172\xbf\x1b:\xe4@\xe1\x96\xddW\xb103w\xc8\xe1Q\x8b\xdc\xd3\x1fc\xed^\xa9\xa3\xe1\x10S\xcd\xcfV\x94\x04 *z\xd2\xd4\u02ea\x99Z\"\xe9\x02\x1c\xb8\xec\\%\x9c^\"\x9e\xd3\v\xfe\xbd\x1e\xb5Fg\x1eC\x14\xd8k\xe7K\x7fc\xeb\xca\xcf\a\xceR4\x9a\xab\xfar\xd3\xeb\r\xe0\xe7\xd3\xfdk\x95\xcc\xec\xd3|\x98'\x11\xf4\x9a\x10i\x9cL\xef\xe8\xd8b\u03b22\u05b4\xde\x14\xf3z\u017b\xbe|\xd2j\xf8\x10\x00\x91N\xb3m:\x01\xd9s\x93\x00\x81\xf6\xe8>\xbc\xb9\xeem7OJ*\xa3|\xe4^\xf1\xa5|\xc4\xfa\xf1\xa5|\xc4dpi9{\x9ace\x9f\x88aH\x8a\xdbD\xbe\x89\xda\xea\x1e\t}ZR\x12yLN\xa1c\x1c:\x8b \xe3\x80KZ\xd51\xc6AT\x95E\f\x10h]\xdc\xc1\x99\x96\xef\xedb(\t\x10\xe8e\xa4Qt\x86\xc5\xe4\u04d4\x04\b\xe4:U\xdd\xcb\xe0i\xe4.J\x02\x845;F\x9a\x80\xac\xb2\x1fk\xfbqZ\xd3;\a&\x95\x93\x00\x81R\xfb\xb0\xa2Zh\x05jQ\x92\xc8\x01sE\x93\u3bdb\xec;.\x01\b\x14\xfa8\xa3m\u012dS\v)\x89\xab\x8bR\xae|\x80\xb9\xc4}\x1c$`\u076e\xfa\xa9@\xb6\xf4b\xad\xa2C\xb347XK\t\xb5\xca\ud627\x0f\x1a\xfbm\u055f\u0219\xaf\n\v\xd04i|\xe5I.\xda(\xf4\x97\xb2B\xa4\x15\xfb0fg\xa1:'\xf2\u0712\xdd\xcd\xf5r#\xf6J\x9e\xc8pJ\xe0\xe7]\xc5w\xce]\a\x10\xad0m\xe1\xf8}\u0341=\x00\xa27\rC\xbf\x8e\xfcqu\xdc\xcf\xff\u06cdo\xa4YY8J> e7\xe5\xfeS7\xad\x02\x95\x84u\x9ak\x00Dp\xf4\xe0\x8es\xaf\u06b7\x05\x10\xbdL|S\xf0t\x9ca\x1a\xb9+\xb8NT??\\(\xe8\x02\x96\x12\x83i`\xc4q\x01aD\xed\xee\x1fD\xd6\u00e5?\x1aj\xad\xba\xfeW\xf7'X.\xb8\u014f\x12\xb5\x1b\x00\"\xf4\xe0\x9cX\xee\xba\xc7;x\xbe\xa5\xb5gi\xf8\xad\t\x0e\x12\x00\xa2\xf0\xf5=\x94V\xaex\xff\x11@dz\xa5\x95\xd8\xc2ly\x19\xf2\xcc<\x8e\x03\xa4\xb3\xaa\xf2\x16\xa5\x906\x05\xa0\x86w\x01\xd5\xda\x00\x0eHs\xbd\x14`y\xb4d\xd4\x0e\u0191\u0534#\x11\xff#E\xdd!\xd72\xb6\xfd\x1d3\x8e\xe8\x944i\xfc\x81\x10W]\x8eO\xe9p1JGA\x85w\x02k/=\x13\u07f7-JNr\x14\xf9K[\v\u00dc\x0e\xb8\xfe\x00\x10\xed\xebR\xf8\xfc\xfb\x99V;\xb1\xb8\xb7d\xe0\xc7\xe2W\xad7XR\x12\xa9\fd_\xceJ\xc0n\x05~\x85\x02\xbb\x15\xae\x84\v\fv!\uaf76`\xd0)\xfb\xf9\xda\xd8w\xba\xfa\xbdh\xff\xa8)/\xcfq\x9f&\x8e\x1b!\xfc\u0380[\xfaN\xb1\xaaq\x15s\xe6\u0657\x92\"\xd5\xed\x9a\xda\xebw\x00\x88\xfa\xb45j\xbc4>\xb3\x13\a\u01a5\xe7\x0f\t\xb57k\b \xb2inR\x906!D\x1f@t\xe1\xc2*\x89G\xdah- \xd02\xf5\xed\xado\xa78HSR\x19\xdaQ\xcc\xe2\x8fv\x0e\xf2G;\xd3ph\xe7\x12]\xc8Q\xd7SfB\xcb\xf1\x1e+T.\x98$?^\x9c\x92\x18p\u0140\xabZ\x03Wq\xadGw]\xb9{\xd7-J\x129p\u057cE\u07b6\xefS\xbb\x7f\x00\x04:j4\xed\u04b5/\x1f\xd7P\x12W\x17e\xf2\xf9\x80+)+\x9a\xac\xa7-\u07ec\xa7\x14\x8d\xaa\xe3b \xec:U\x9d\xdb\xf6\xae\n\xb7\xcd\xe2\xad#\xef\x12)\xb99\xf5\xd5H\x00\x91x\xdb\a\x8f%\xcf\u0635\x00\x10u\xf84\xf9\xc8\xdd\u0214\u03e47\u0463\v\xdbJ\x04\xea\xd4#\xfc\xf7\xe1\x8di\xe6\x1c\xb2\t\xbdh:\xbd\x1b\x80\xc8k\xfd\x96Ew\u01ee\xbe\xc0 \x18\xa1#\x98{\v\xfa\xcf\v\x8c\x9b5\x90\xe7[\x8d/Mib\xfa\xf8L_N\xe0\x18\xa5\xe8\xe63\xad\x99\x126\uecff\xfei\xbd\xdcC\x95}\x94DF\v7h_\xe6W\xe3\xa8\x15\xd8th\x85\xa2\x02~\x00\xa1\x94\x98\x86\xb7\u05bfn{?\xd5\xf1\t\x8d\xaa\xe2\x1a\xac\x8b\x8e\xb9AtJ=\xe7\xbe\xdfd\xe9\xf9<\x7f\xea9g\x82\u03b5\xab\xb38\xa8\xb6\xed\x9a)\xe3\xc2_|v\xe4\x00\x9f\xfd\xa3\xf6]k\x1c\x90Iz\x9a(\x1c\xc0\xb5\x15a\x8fZ\x95%\t^\xb0me\xb0\xd5\xf5\u01a4\u0285\xd0y\xd4\x7f\xd5S\t\r\xc26,\x99\xf6P\xaey\xd19\x9e?u\xd2{\x12i\xa1\xba4\x1d@$sl\u0150\a\x83\xad\xefa1^\xca\xeb\xb3\xcf\xef\x1fz\x8a\xbb\xa4A\xa0%G\x9b\xb1\v\v\x1bZP\x12 P\xee\x7fl\x93\xf7\x83W\xc6S\x12\x80(U\xeb\xd0\x7f\x17\x9f\xea4 \xf5\xd8\x13;u\x8e\xc1\xb5\xd5\u00b5\\\x93\x91\x12\xe0\xca\x03\xfb\xd6_\xf3\xf7\x90\xe7M\x86G\xb7\x912\xd6a;q\x00\xf8\u05d2S\x91\u07ee\f\xf9#\x8d7\x9e\xb0%o\xac\xf1\xeb\xf7\x00\"\x9f\xa1v\xbbc.k?\xe5\u0601\xe7\r?\xe5\x83Wu\x01D\u01fe{\xa4\x16Z\xeav\a\x04\xf2?\xa5a\x93\xbe\xf3?\x19J*\x83\xf9\n'\x19\x98\xcf\xc0|\x06\xe630\xbf\xde\xc1|\xe9k|`\xbe\xa4\x1e\x1e\xe6\xc3\"~0\x1f\xee\u00abz\x85\u03be\xfcbR!\x14(wvlv9wz\xcaU\xd2\x10K\xe9b\xcc\xeb\x02U\x8d\nkz\u04ff\x1b\xdb\xd6\x04\n\x0fIl\xff\xbeuH\xcfE<\xdf:o\xb2\xfd\xcb\xfc\xb5J\xaf8\xf0c[\xd8fw\x98\xaf\x86\x8db\u07fb\xd9O\xd4\x1cz?\x9d\x92\xc8\xc3\\\xaeJ(\x9cu\v\x8b\xc2\x05\xe8\xbaLN\xeb\xc6\xcdf\xc7\x1e\xbaB\xea\xab-$\xed\x86h\xe8\x92&A\x8fT\xe2z\xf0\xecF\vY)+{\rv\x1a\x80Hr\xff\xfe.K\xfd\xa3\xd7\x02\x88\xfc\f\x1dX\xb7\x8f\xac\x9dA\xba\x11'\x1c\xe8mS\xcb\xfe\x85\xa3\xfa\u07c7\xech\x1df\x9e}\x1f@\xb4=Tj\x95\xea\xeeE\x03\x18\f+\x02\x18\xd6\u0261\xe1\xb4Ac\xe3d\xb0x\xeeU@\u07aa\x8b\xb3\x1c&a\xad\x7f[\xeb\xf8\xff\xf6\x9b~\xedLI\x1c\x97\xd0\xe2\u009c#n\r\xe6S\x12\x80\xa8\xb8\xed\u0545\xd73gI2\x18\xb6\x160l\xa5M\x88\xeb#\x86U\t\x9e\xe17n\xa5\x1cgeR\xbcG\x18z\xda-4\xe4\x84y\xddMK\xc2'\x1e/\x06\x04\xba\x90\xc1\x9e\x93\xedP\x90DI\xbf0\xac1_\f+\xae\xc5\x1f\xc3\xe6a\x1c\xb1\x98\x11\x1d\x86\x8d\xa2\xf3\x83\xcc]\xec\xea#\x9eJ\xefbs\xd1\v$\xc8\xda\xe3\x0f\x9f\xe6;\xa5/\x92\xd9OI\fnfp\xb3\x00\x85\xea\xc8=\xdb\xeat|\xd4\x03\x1bJ\x02\x04\x1a\xdcZ\xff\xfb\xc1\xb4\x81\x87(\xa9\x02n\x0eu\xdeh:#t\xef\x1dJ\x02\x04\xfab\xe1:\xda\xec\u05b7+\x94$r\xb8Y\xf5\xe2\xa8\xe9;Jv:\x01\x02\xd9\u06aa\xeaXl\xb0\x8d\xa4$\xae.J=\u61db\rq\x91\xbfX'\xbc\x1a\xfb\xfd>}\xda\xc6\xcf?\xa0|pP\x95\x93\x98\xff\xc58\x88N\xbd^\xd1n\xe8\xed\xd5MH\x98\xc2\xd46\xff\x1e\xebB\x00\xd1\xf4\x159r\xd2;\x16zp\x02\xfb\xcf'\x9b\xa65\u06e5\xcfsH_.\xea\xd0\xfd`o;{\x00\u0466\xa6\x87/ewO\xd9\x00 \x1a\xd7\xca\xe5p\xf3\xab\x03\xcf\xffU\xcc\x1b\xb6>\xee\xf4\x94\xf3\xaas\xc9]aj\x9bq\xfb\a\u047c\xf4\xc4VN\x9f\xef\xc9\xfd\xd5\xfdyX\x10\x1b\xac\xf7\xdf\xf4q\x00\"\xfd}\u05f4{hH\xc6\xf3|k\x82J\xcfy\xd7\xf5\xfes\x03\x10\xe5\xdds\xec\xde*\xa3\xffh\x00Q\x83<\x9fQ\x0f\xdfN{K\x9e\xc9u\xaa\xb6\x99g\x03\x18GR\u00ceDh\xa0:sf\xefeg\n\xc3L9\x10\xe3\xec\xfcUQ\u0286\xf6<\xdfZ\xddGC\xa7\xcf\xeem?\x00D{\xceO~5\xca#o\x1b\x16k\x86^2n\xba|\xf0\xb2t,\xbe\x1e\xf7iG\xb3\xf0.~\xb7(\x89T\x06?\xee\x8b\xd4\xcd\xe1Cu\aUC\xb4\xe6uI\x88\x8f\xe7\x98\xe7\x00\xa2O/[>\xf0\xf9\x90\x98\a\b$=\"\xf8\xd9\xcdG\x1d\xcc(\xa9\fF62\xe7\x0f#\xa3\xf8\xc2Hq;\x1c\x8c\xdcA\x17\x88T\xe8v\xc4\xc0\xc8\x1a\x84\x91\xb5\x96\xe8\xed\xdbsy\u00ebo\xee\xf9Q\x12\x03X\x19\xc0Zk\x80u\xe3\xbe\u044e&-Mb)I\xe4\x00k\x96\x95\xf8\xab\xe6\xb1y\xbe\x80@[C\\\x12&\xf4\xb3\xeeNI\\]\x94\x9b\xc5\a\xb0J\x9f\xc7'z\u0164\xf9%zY\xa7\xaa\xd3\xe0\u04c5\xfcr\x00\x8d\x9d\xe4\xe0uO\xe8-\xb0\x84\xcc\vc{\xa4\x18\x04}[(\xc1~\xec\r *}z\xcdl\xe8\u04f8$\u048b\x8d\xa5sq\xb8a\x15\xf8\x94\xe1\x16\xec\x9eV\xab\xab-\xe7\x81C\xa2\xc2dz(N\x0e\xad\xca\x02`\x8bys&\xdc\xf3f\xa5\xa5\xdfa\xe0\xa5\xd0\xe1e\xc8\xeb\xec\xad:\x8b\x00\xef4\xc2\xc5gu'=x\x96(\x05 \xea\x94\x14,o\xf4\u0610\xf3\x03\xaeO\xb6>m\x17\xf0\xb8\U0009ec9c\xf8\xfc\xa2\xe1\x80V\xa1kTzS\x12\x19\xbf-\xa9R\xf6[|8\x8e\x03\x83=\xb8Mw\x04S?gA\xf7\u02c5g\xbfz\xbc\xe8\xe4\xb7e\x8c\xc3IR\xe9\xe2\xffZ~\x88\xbf\x1f\xe0>\x91\x02\x8d\x19T(x\xaf\xfb\xb6\x0fQ\u0724\xd7K\xd7d\xfd\b\xe4\xf9\xd3\xed\xa3\x1d]\x9a.wo\xca\xc1,A{n\xed43\xe6l^\xe3\xcdM;\x1cX\xd0\xee&\xa9?WqT\u0232\xfay\x94\xf0O1B\xb48\xb5wQ\x11Z\xa6DjS=+>\x10\x8e\xc7\x15\x1aO\x92\xff\xdd/(R\xf5\x80\x05\u03df\x16\xealU\x9bzx\xcd\x11\x00\xd1E\xf1\xdd\xc1n*/3\xb1\x94A\u01f0\u02edz\xad\xb4;\x85u\xbe\x93{H<\xeay\x9bhLI\x80@\xf1\xec\xeeOo\xf9\xc3\x16\x94\x04 Zks\xffl\xc1\x8a\x8c\u05e4\t\x84s}+C\x9e\xd4|I\x82\xe7\xef \xee\xcf'\a\xf0\xf8Y\x88N\xed\xcd\\\xa87Oy\x10wq\xb6\xfd\x8e9\u86acyW\xc5 XU1\b^\xef\x13\xfaI\xae\xfbT\xef\xcbg\x00D\xa7\xcdG_\x9c\xf1bj.\x80\xc8\xe6\xfc\xae\xfd\xd9W\x86-\x03\x10\xb5+\xe9\xb8uV[\x05\x1d\x8e\x99x\xb5\u06f3}\xe6\xe9\x1c@ W\xa7\xdc\xd4\xd5b\x01\xea\x94TF*5X\u0250J\f\xa9\u0110J\f\xa9\u0110Ju\x8aT\x92I\xe1C*Iy\xe3I%\xd6 ~\xa4\x12\xa4\x1boP\xb7[\xa37\xa1;u\x9ec\xc0q\x95\x831\x17\xe1<\xf5\xbf\r\x15j\x82\x9c9\x9dh\xf1\xe5\u00b7\xbch\x9eo\x85\xedu\x91\x1e6<\xed6\x80h\xff\xbc\xed+\x8a\xfd\xe6\xbbbAA\xa3\x1b'W\u41bf\x97\xa7$2\xc6\xc1\x99\xcao]\x01Nc\xef#<\x10\xbc*d\x9d\xc0\f\x8ap\u0207r\xba\xba\xe9\xf9Y\xebT\xc9\x05\xe4D\xbd\x1f4\xaaz\xbd\xb6\x19'!8\x91\x06\x0f\xc6e\x1f\xbe{\xf7\x16\x8f\xfa\xa4\x1d:zG\xb9\xb4\x95)\x80H\"\xb5\xf9\u06b3\xea\xf2\x1a\x00\xa2\x84t\xe3GN\xda\u12a4\xbf\x89\xc1\xf1%\xe3\uac0b\xe5,\xf1\x7f-\x8c7\x8f>z\xc7\b@\xb4'#\xf3\xc0p\x89\xed\xea\f\xff!\x02\xfcG\v\xb7\xbe\x1e#\u0347\xe3\x8bC>\x9f\x8e\x97e\xed/\n\xc1\xba\xba\x163w\xcdn\xb2\xb5\x8d=%\x01\x02\xa9\xe4\xa3\xf5\xbbB\xef\u07e5$\x00\xd1V\x19\xd7\xe9z\xb9\x05e\xbdx\xb4\x18\xfe\xa3\x9e\xf2\x1f\x15\x9c\x84\xb9\xdb\x14>N\xe2\xe7\x9b\xe4\x04_O\xb2^\xbd\xd5\x00@\x14hJ\x04\x89u1\xb6\x01\x10\xc9\xdc|\x1a-\x99S\xfc\n\x10\u0222\xe8b\x94|\xdc\xcb8J*\xe3&d\xb3\xf9r\x13LCs\xa6\xa19\x03\xa7\x99\x86\xe6\x7f\xdc\xd0\\r\x1c\x1f8-~\x1b\x0f\xa7!\u0393\xf0\"\x00\u060c\x1f\xea&*\f\x9d*\x1f8m\x14\xa8\x06\x01\xbb\xcau1\x02\x13\xddk\xeeS\xe6\x9ep\xf3\x18\u063b5\u03f7\xe4\xbf\xe4\xf5K\u06f8\x0e7\n\x9a@\x06\xff\xb1s\x94\xdb\xed\u04e0$@\xa0\xfdoN\xbby\x0eo\xf7\x86\x92\u0203\n\x17\xf1\xffv\xe1\xbd\x01\x06`\xfaUeU\x04\u0616\xf1<\xef\xba(ah\xef\xe7\x8e=\x06\x02\x88\x964\xca\\\xdf\xf5\xae\xf1yR\xddmq\xc0\xa7B_\x9dJk\xe6\x89\n\x97\xee\xcb\x1b\x03\xae\x93\x9e\x10k\xe6\x193\x11\x9e\x99\\{u\u022b\x83BL\x14\u03f7\xc6\xddT\x9d\xbbzS_'\x00\xd1\xe6\x8d\xd7]b\x96\x1f\xc2\u056bC\xd4\xf1\u0169\xce\xd2`\\\xe5\xd3{8&\xe5\xe8~,k\xf1\x8e\xe52\x94\x04\b\x04[\xaa\x7f\xden1\xeb0%\x01\x88\x865n7\xfbD\xd4\a\x16\xb9\xcdu\xbc\x99\xb7\x85\x9b\xbbh\xa0\x93\x98\x1e\xa5\x87\xa3Reg\x01\x88\xb78;5\x90\x95k\u00d3F\xba\xdc\x10\xb6\xda\xd8?a'\x80h\xb7\xd9\xd6v'\xfcgZ\x90G\x85&]yT\x85\x19\xde\xf5r8n\u0573O\x93y\x16U\xa3A\xe1\xd3\xc8+\xb3_\x00\x88\xae\x9b)\x87)\xaa<\xec\xc9}\xd3*\xcc}\xae>\x85\xe2#\xacg\x9e\xb1;B\xbfC\xe1\x17\x17^\u07a0\xfb\xe4+\x89\x9b\xcfw\x06\x10\x85jw\x8f\x14_\xdd7\x17@\xe4}\xf3Z\xcaf\xa3\xc1\x9f\xb1\xd0\u7816E\xdb\x0f\x06\xfe^\x94D\u01bdbU\xcbL_\xc6f\xa6?\xe2\xf5S\x00\xfd\xc0\rL\x85hm\x9cY\xe2\x00\u015cF\xe4\x7f\x17D\x13\xa5\x88\x88\t\xd7#\x15;\xa9>=]\xb5X\xf59\x80H\xabM\\+\xbd\xd97\xba\x92n)\x02\xc7\xdcX\xd3lP\xe1_t\xe83\x04IY\vE\x19 \xb2Mj\x9ezKyjw\x00\u047a\xed\xd3$\x9f\x1e\x98\x9a\xc08\xeaj:j\x88\xfaF'L\xeaH\xb4Y\x85%?6\xdc\xf4\x1c\xfa\xcd\xf5\xd3a\xac\xd7[3h\xe6\xfb\xa7\xbbZ\xabS\x12 \u04336So5\xd9\xf1B\x95\x92\x00DoG\xcdj\xad5c6\xd9\xd1R,\x9a;#\xban&\xa9\xeb\xccP\xf2\xaa'\x8c'\xf3X\x9cr3\x97\xc6\xedG\x9bq\x9b\xbd\xce\xfa\x1d\x00\xfc*\xba\x17J\x91\x1df\x8d,c-\xaf\x8fZ}&\x8b4\xef\xa5\xdc%\xa7\xf4\xc5\u00b7\xec|t\x17\xa0+b)QaRQ9\xef\x99,\xe0\xf1&@\x13Y\xa1\x1d(\x8ft\x8b\xf5,\xa6\xebY\xf3|.\xd6\xfcn{y\xf50/A)E^?\xbb\xc3\xd2SE\xdd*\x99s,uV\xb2\xdfp\xe2\xf1\x9d\x8b\x00\xa2MJ\xf2k\xd0\x1b\x8bC\x00\"\xb9K\xd1G\u0623n\x93\ap=\x1a\xf3\xae+9+%?\xf4\xebI\x00\xd1\xe1E\xd77\x1fn6\xb2\x01 P\xc7/\xf3\x8f\xf6FI\x8b(\xa9\x8c+m\xe1\u0357+\x95.\xe4\u02d5J\x9f\xc4\x1c\xf1\xd2\xd2x\x94\xc9p\xa5\fW*8WjA\u01d5n\xc72\"\x01t\xaf\u0588P\xe4\xb5k\x83j\xbc\x9b\x83\xe3\x80\xec\x19\u01aea\x94D*\xf2w\x1aE\xdeE\xbb\x1f\x02=\xf4\xf8\xea<\xf4\xeb\xfe\xac\xff~\xe4\x11\u0394\x04\b\xd4\xe4\xc1X\xeb\xd5oF[S\x12\u00d6V\x81-\xdd\x1e\x94\xd9a^\xe3\xb0i\x94\x04\b$\xd6\xc6Y\xecV\x86\xee\bJ\xaaE\xb6\xb4\xdfv\xe7\aa\xcf_{Q\xd2\xdf4\xaaN\xd5q\x18\x8d?v\xf5\xfe\xa6\xbe\x90\x92\xfe\xb2QU\xe7\xa1'\r\x7f9-T\x8b\x1dGI\x80@o?~\\5\xabo\xdePJb\x8c\xaa\nF\xb5\xf0R\x96\u02d3E\x03\xfaR\x12 P\xb2\xd8\u0714\xb9\x1a;\xcc(\xa9\x16\x8d\xea\xbfk\u00e7\xca.\x90XJI\x80@\x9f\x96\xabL\x18\xbf\xdcT\x89\x92D.\x05\xe1\xf7%o\xd5\xf9\xa9\xf7B\x00\x81\xec\xbdt\xce?\xf7\xb0aQ\x12W7\x9b\x18\xf1IA\xc8\xeb\xe3S\x10\x12\xf2\xfcR\x10\xe2\xe7079\xe8\xe6BbC8a\xb7\xc9\xe0@\xb7C\a\xf2%\x89]Vo\xfe(gq\xb6\xe3\xc4\xef\xe6s\u0493\x01D-c\xa4m\x0e\x89\xdd:\x8eCp5\x99\xb48* $\xc4\xd5y\tg=\xcb-\x95\xff\u0105\x01R\xad\x06\x02\x1e\x1c\xe8]\x1c\xf8-\xe2\x99:\v@\xb4|\xfdd\u02fe\xad\xba\xbb\x91\x8b\u0599\x86\x1e\xbb\x84E\xa5\x98\x10\x8f\x8d+\x1a\xc6\aX\xc2&\xc8<\x83\x8b\x02\u037c\x86\x1f\x00\x10\xa9\x1c\xbe\x9b\xb7,\xb2\u8db0\x10\xb6\xb8\xa7dK\x99\xcc\xc7e\a\xf9 \xba\xf4\x90\x90\x96\xb5\x93\xe0\xcb\u06a9F\x96\u0564\xa5\xdd\xfcG\x1d\u07df\x00\x10\u0357\v_\xa0\"\x1e\xf1FX\xcb\xea?c\xa1\u0399\xe3)\x85\xdcW}E\xb3p\x89\x84\x04\x7fC\xa9L\xcf0\xebT\x93t\xcc\xe0\x90{\xef\x14\x06gu\xe5\xb1\xcd\x15\x96[:\x81\xe2s\xe7\x00DQR\xbd7\xb9\x88\xfb\f\x02\x10\xf5Tp\x8fW\x99\xf8\x9f)\x96L\x15\xdb:\xba\xa0\xb9\u0597\u0794D\x9e\tEUJ!I\x1c\u01f6\x9b\xf2\xc7\xebp\x85\x8a5~'\u019f\xbb1\x88\x8cO\xf5N\x14\x7fy\xf0\biE\x97i\xc2\xd2:\xea\x80\xff)%\x1f\xf8\xb6\xdfV\xb5\x1f\xeaN\x00\"\xc3T\xf7\x8f3.\xf4\\BB\xa4\xef\x18\x86\x8bu\x8e\x86\xe1\"*L\xb5\xaa\xc9\x13~\xaf\x80i\xac\xbf\xaf`\x10\x8dt\xf6\n\f\xff\xfex\x01\x80H\xed\xf5\\\xb1\u0567=\x1a2\xe7\xfa\x9f\x9d\xeb\xcc\xd1]\x8d\xa3\x1b\xa2\xec\x0f\x8b\u03ad^\xad\xff\x0e\u02ea\u03f4\xe98DnK\xba1\xf6\x94\xbb9\xe4l\xfbC\r\x0e\xabS\x12 \u0416>:7\xbe\x1a+\r\xa2$\x00\xd1\v\xf1d\x87\xd1\x03\xecF\x90\xc7\xdb#B\x9a\xa8V\xfa\xf0\x1b\xa9]\xab\xb9\\m%\fo\"\x9e\xe1\r\xe6\xba_\xa1_\n\xc1iS`\xaf\x9d/\xfd\x8d\xadG`\x97\xa2\xd1\\\u0557\x9b^o\x00?\x9f\xee\u07fa*R\x9f\xee\x04H\xe5M\x9b\x1b\x9aX\x90\xc4\t\xb06\xa6\xb7\xb1]y\xc2\x1d\x10\u022eE\x86K\x8c\x83\x8a\x02%\x95\xb13M\x17\xf3eg\x98;\x01\f;#:\xec\fs'\x80\xb9\x13 \x9a\xfc\fs'\x80\xb9\x13\xc0\xdc\t`\xee\x04\u051f;\x01\x8a\xf6|HO\x99\x13x\u04b3\xea-D\xf8\x90\x9eb!4\u074b\xea4\xe9\xc9\xd4\xc1U\xb7\x0e\x0e\x8e\xa6\xa3\x8b\x99\"\xb9j\u05b7\x17\xd3,\xdcUB\x92\u019c1\xa5\xbf\xf8\x02\t\x810\xb2p\u07b5Mi[\xff\xf1]n\f\xe6a\x02\xdc\r\x86\x1f\xfd\x1e`\xe4\x02 Z\xad\xb3=\xcf_A.\f@\u010eJ:\x97\xbb{\xe6W,1\xa4\u06ad\xa7Y\u06ae~I\x94\x04\b\x94\x9f\xd0\xd6_\xd3kE_J\"]\xe1B,\xa5\x9c\xf5/\x95\x06\t\xbf\xb4\\0\xfd\x12\u06abn?uUs*\u02e87\x8f&\xa9\xdeh\xd8@\xd5r\xfc\xcf\"\xa4\x17\x85z\xe3Ww#\x87V\xb3\xc6`\xd8\x11Vk\x9a\x93M\xc4\xf8g\xe6\xa8bJ\xb6\xfff\xc96{\xc9\xc23\xb6\xa3v5\u01d2\x9e+\x1eI\xf6\xdf3\xden)\xd6E\xbf\xd6\u0753\xa7\x95\xcaZII\x00\"\xe5\xc2>#\xc7\xda}'K<\u017c\xb8\x87Z%\xdc}\x05WU\xae:;\x8e\xfb\xadZ\xaf\xce\u0199\xaez\x9f\x01-\xef\x1d\x8d\xc6\r\x11\x80\xe8G\xe4\xe9\xae~\x17\x9c\xb9\xbc\x0eS\xb3\xcd\xd4lW\x92\x15a\nf\xff$%S\xae`\xf6\xfc\xf6\f\xed\xc3\u015b\x86r\fsf\x90D\xa9\x8b\\\x03@\xa0\xa6*\x1b\x82\xc7;\r\xd9NIe)\x19\xf9U|S2b,\xbe)\x19\xd65\\\xd0\xd1\x14\x1fr\xd6\x16\xe1T\n}\xe9\x18Hf\x02\xd5?7\x81\x8a\x05\b\x94w\xa7\x89\xfe\u0376O\xec(\t\x10\xa8M\x1b\x8b\xf8\u04be\xf2\x1f(\t\x10h[\x17\xe3i\xdec\x1c\xbeSRy\x9a\t=\xb2H\xebew4\xbc;%\x01\x02\x9dY\xa0\xd9\xe5\u049eq+)I\xe4(\xba\xf6zR`\xda\xe0%m\x00\x81\xee\xdc\b\xda5\xd368\x8f\x92\xc8\x04\xab5\x1f\x8aNj-\x9e\xa2\x83_\xb1\xb8\xb4eU\xc8;v>Mh{\x9a\x1e\x8cr)\xc6\x01\xdc\x1f\xf8\xddw[cK!~}\x1b\xa2M\xc1=e/\xb6\x9e\u0763\x1a?4\x9e\xe7\x87N\xb5\u062e(\x7fq\xd9=\x00\xd14\a\xbf\x93\xcf\xee+\xf1\xcej\x9d7\xa2\u024d\x98;\u05eesN\xf3G\xe0\x88Nq\xde{r\x95p\xddn\t\\\xb7\xdb\xdf\xe6\x14\xb5\xa2Y\xbf\x0f\xd8}\x13\u06a2\xb1\xe7\xe0\x9d\x98P\x16\x14w:\x9a\ud5db\xa9\x7f\xf1\xe5D\x00\xd16\xc3\xef\xee[\xf6\xc8\xdc\xe7Y\xf1\xefO^\xec\xd2x7n/\x80\xe8\xda\xe1\x97,k\xcd\xce\x13\xb0\xbf5\xe0\xbe\xc1\xb2=\x9d\x7f\xf4\xc2\u201e3\xfbM\\ \xe7\u0703\x92HVfJ5\xb5\x1f\xfe\xab\u06bf\xa6\xdfy\u0663\x1d\xbf\x18\x91A\x88\x14.\u00b8As6\xfesj\xfd\xd3\xd1V\xa8\x1c-\x1f\xde\u032e\x9c\xe7\xa3r\x95\x95}M8\xabUn\x84Yh\x1fU\u06efI\xbb\xc8\x19\vt\xf9\xd5+x\xd6J\xb44\x1a\xb7O\x13\xfd\x92\x9f\x1a\xb4L/\xe1\xd1\xf3\x83\x0f\x94\xdaA\xef\a\xf9\xdcw|\x86\x7f\x7f\xa1m\n\xee\xa9\xcbmJ\x87\xfb6\x0e.\a\x1c\xdeW\x8eA\xab1\x81\x9a\u0411\xda\xd1\xec\xb5A\b\x80\xc8h\xb4D\xbaY\x8f\x0e\rx\u01f1\x9d\xb9\xb4\xba\xd9[\v\xc0\x89>\xc6\x1a\x98_\x1f\xbc'\x0e\xbb\x8c\x91\x11-u\xff\x1b[x\x10\xcf\xc0t\xbf9\xfc\xe6\x9bCq\x94\x04 Z9xk\xecW\xbf!\xdf1,gm\rJ\x83\xc8o\xe0]\x96\x95\xf9\x80\xf7\x80@\x9a}e\xee\xee\xbbr\u0790\x92\xca\xc0\x99\xba:_p&n\xc9\x17\x9c\x89\xabb\\\xa7\xd8\x04\xba\xbcV\x05P\\\xfb\xa5\x02u\xa7\xa2\xac\x83\xa1\x8boF\x8c\xdaYJ\"\xddo\x85\x14\fs\xdf\xef\xaf@O\xa6\xf4EH\xf7\xfd\xca!]\xf7\x9e\x9duS{kIQ\x12 \x90\xf2\u0614s{/\x84xP\x92\xc8!\xdd\x10\xb3^=s\xe4\xd7<\x04\x04r\x8aL\xba\xf3 '\xee>%q\xb5E)\x82\x0f\xd2m\xf8\x89\xfb\a\u0503\f\xf3u\r\xf4\"{\t\xc2-\x95W\xdc\xffTDr\x98\x12\x95\x06\xb0q\xab\xfc\xa4!\xa3\xfb\x9c_\x8c9\xf9\xf7\x16\x81\xden\xfe\xce\x01\xbe\xe4\xe7\xa7\xf0q\x80`\xe36\x9d\x05=\xf8\xb1\x13v\x834\\\x1efw}n\x80%\xaaU\xf7\x1f\xd9\xdeYB\x9d\x13/8g\x064\x0f\xb3\xe8\xcb\t\x12\x9e*\xa4\xb9\x86G\xf6\x95!\x17\xaaMU\x17\x8atG\xb9\xbf\x1f\x85\x03\xdc||\xbd=|\xea\xcdR\xad\x9dW\u0529Q\u0241e\x00\xa2\xc1\xab\xe4/\xdc\u053f\xb0\xa3\u04afM\xaa\xf4_\x039!J\x90\xe7\x8c\xee\r\x13\x94\xb9+\xac\xa8\xc1\xaf\x1cJ\xe1.\xf7/\x9a\x11M\x7f\u0641\xf7d\xdf@\x1f\u05c1\xc1\x93\xfd\u0766L\xa1\xa8\x1f\xed\xaa\xeeV \xf7\v\x92\xef1a\x89$]\x93\x051\r<\xc3D\x9c\xa9\xfa\x06\x96\xe5K\xe7\xfc\xdev\xa5\xbfo\u066f9\xd0\xe4\u02c5\xdc\x12v\x12\x80\xa8\u064e\xbe'\u016e\x164\xfd\xf9+\xd5m\tkzU1T\xbf\x9f\xd7@\x9a\x90'\x18\xbfHr\x84t\xd9\xebx\b\xaa\xe0\xd89\x19.j\x9d\x167\x18\xf8\xa4\x0f\x80Hl\x8e\u025e\x03\x01\x972\x00D1\u06c6\xa4\xf68\xb05\x05@\xd4\xd7h\u01da\x89oM\u02c6:\xe1^\xfd\u71ec\xaa\xdf\n,\xdb\xc6\xfd\xf8\x1d\x0e\xaf\xd3;,\xacfF\xb5\xa8\x10!S\xc7\x06\x98\x88k*\x00\x88\xf4:vQ\xdc }H\x1d\v\x9e\xe6\x15\x17\xbc\xff\x90\xfd5\x8f\xe7g\x8b@\xb3\x98\x19F\x1fo\x02\x88\x8c\xbb\xcbl2\xdc\xd0\xeb I\v\x8d\xa7\t\xb4Y\x1d\xb1$\x88\x00/\xe8\xcf\x03{?\x7f\x1f6l\xfa\xbb\xde\xe4\r~\u0600\x0eZeU\xa5\xfa\xa8\x92\xff\x8eF\xcb=\xf1Z>\x80&\x82\xaf\x13Z^\x8b\n\xba\u06a5D\xf9\x86\x94\xc6\x1d\x00\u0471\x19\x1b\xfd\x97\x0f]V\x82U\xd0\xfc;\x97\xe3\x15\f\xad\x82x~vv\xcb\xf8\xc4\f\xbfQ\u0158\xfc\x17McL\xfc\x83O\xe1Q\xbcQ7\x1a\xeb\xfaxNR\x15\x1akc\xfec\xf7@\xaf\xa7\xec\x11\x00\"\xb8M\xf6\xd3\xe9cQ\x81<\xaf\xe4\x99x\xfdG\xaa\xe5\xf4\\\x00\x11\xdbhRR\x86\xf9\xf6h\uc6bc\xb6\x9d2\xbf\xad\ue597\x9c\x9f\u0779|\xe5\xee!\x0f W+%0\x83]\x7f\x9a\xa7\x18\x8d_\xae\u043e\xbd\xdcg\xb8\u9c82M\xd6\xf3\xe7y[\x99\xf7\x9d\xd0g\u0761\x03\x84\xe3o!*\x11\xbf$\xe3\xf3\"\xae/\xcf\x7f\"'m\xb2\xfc\xc2M\xad\xc7\xdc\u05f8EC\xf5o\x16\u03b5x\x01\u02b4p\xef\a\xd1x\xa5\xdb\xfa\x1eq?\xaer\x14\xc1\xf2\u04bc\xe6#=3x\xdej\xf5\xc6t\x9b\xef\xd3N\xa4\x92~\xa8u\xe5\xf1\x1e\xfbm\x95\xf2\x1f'h\x16eQ\x95\xb7\u017f\U000b79cd\"0\xaa\xbdD'w\x82\xbaLq{\x00\u0470\x1e\x91\xe0\xc7-\xf7R\x9e\xb7\xef\xb1?\xbe\xfd\x84\xbc\xe0\x12\x00Q\xdc\xe9\x9c76\xa9\xbb\xbfa\x7f+\xe9k\xce\u046d\xf7\x12\xd5\x01DYo\x13\xbe%\xb9\xed\x8c#M\xc1\x18\x9b6\xda\xc3\xd7A\xff\xfc3\x9c\xf3\xac\xac+\x04\xedY'\x1c\xf5\x9f\xc0^\xd9m\xa2\xed\xd1g\xf5T\xd3!*\x06a\x9b\u078dt\xd1\x02\x10\x19\xba\xb6\xcf>m7T\x9a\xdc\t\xeb\n\x00)\xb0\xf2B\x1f\x12 \x11\xcaU\x9e\xe58\xe9wk\xa9\xb0\xb0\u052e\xff\xf5\x89\u0695\xfe\b\xb9\v\x94\xb2\x96\xfb\x91\xd0Or\u0767z_>\x03 \u0692\x14\xdc7,\x7f\x96-\x80h\xe5\xb5\xf3\x1a\x1b\xe6|\xd8\xc2q\x97\x8b\xf7\xb2\xbf'K\xf8b\xedIu\xf9\ua095\x05\xe6F\x00\"\xd9S\xd62\x83\xc4\x12L8\xff\xea1{\xd5\xce\xd9\xd3\\\xb1)\x84\r\xfaK\x8a\xbbd\x9d9JI\x9cs\xff\u0467\x05\xf69\x01\xa3H\x83\x9c\x88m\xc0 2\xd9\x05\xae\xf6H\tPpX\x1f\xf5\xe5L\u0508\x9b/\x9e9\xb4\xfc\xf9{\x7f\xd2c\x82\xe3\x002<\u00f3'G6\xdf\xcf]\xad\xf8\n\u06c9+y\xf4\xae\x9d%\x84h\xd8\xdd+\u06fdo7\xe3\x0ece\xc7q_\xffw\x9e\xc7\xd2w\x8a\x95\b0_\x10mL\x9br\xdc\xef\xeb\xf1\b\x00\xd1\xcd\x0f\xa7\xda\xdc\xd3:\xfd\x16@\xd4x\xb0\xe2u\x89\xe73C\x01\x81\xe6|\xfa\xb0\xac\xb8\xf8\xdbrJ\xfa\x95#sardL\x8e\x8c\u0251192&G\xf6\x97sdw\xf9\xe4\xc8\x1a\xb5\xa6\u02d1\xb1\xc4hrd#\x04\u02d1\x95\x12\xaa|\x92dy\xb4\x99\x1f\x81\x88\x19\u06b3\xb1\xdcQ\x972\xa8\xe59\xdf\u0729\v\x84v`\u07b6}\x9bj3ao\x03l\xaa(\xf9DW\xc7\xdc\xf5I?\x00D\r$\xb7=ma}\xaa-\x80\xc8\xdf;v\xb2\xbb\xd4\xe5]\xe4J\x8d\x14,\xabVJ\xa8\xf1M\xab\xfdk\x8b\x1b[h\xbb\xa7\xbd^\xe0\xcf+\xa7\x9bMtfD%\xfc'`\x1e\xee\xd8\xfa\x0e\xd7S\x87\xee\x98Mf\xd9>\xf0\xcd\xc3\xc5V5\x0f'yQ\xd0<\xdc\"\\\x1e\xaeB\xa3\x96r\xa1\x0f\v_Z\xc9\xe4\xe1\xeaE\x1e\x8eI\xb51\xa96\x88z|\xb3|\xeb\xddi\xde\xfc_\x893\x9a\u043c\xb4\xa6\xb3jL\u2b1e'\xce\xeab\x8e\xccE,O\xd5`d\x03q\x9eE\xd9?\xa0\u0642\x89\x861\xf38\u01b4\xd7\xe1\xec\u076b\x13\xf1\xf7\xa3w[\xad5\x7f\xe5u\xf8+\x80\xe8\xd1\xdb\ag}\x12\vv\x9292<\xd6-\x85w\xf0\x0e\x95\xe1\xf5k(\x835\x02\x13)\x11jUJa\xe5\u04ac\xcaq\x01SX8\xc6N\xe8\u066d\xf2\xcb\xf1\xfa\x8c\xa2M\xa8\xbb\xda%\x00\x91S\xe6\x8bY\x9d\xba(\xf0^\xe9nqMk\x91\xca\xe8\xedi\x00\xa2\x87\x0e\xaaj\x81*\xacd\xec\x7f\xa0\x9b?3d\x89_\xf8b\x00\xd1\xf9'\xaa\x03:\x9b\x8e\xb5!\u03d8\xadta\xa7/6\x1f\x96Q\xb5|\xd8\xeez\x93?\xae\x97\x86\x06\x11Kz\xc3\f\xcd/\x86/\x00D6\xbb\x7f\x88\xe9L\x99\x90\xca$\xd0\xfev\x02\xcdu|\xdf\"\xcbo)\x9dy~\x16\xad\x10\x1b\xae|)h\x00\xe7\xcc\xd2}\xb2^\xad{\xd4EN`\x19\x185\xb3sJ\n\xae;\x01\x81\xf2\xf4\x1e\xf8\\:\xd7o\t%\x01\x88\"\xdd6\x14\x1cZn\xb4\xae`?\x80\xa8\xf7\u5605\x1a\xd3\xcd\xf3\u0253\x9a\xb9O_\xc7\f\xf1_\xbbO\xcf{4\f\x8fn#e\xac\xc3v\xe2\x98J\xd2\xe4\xc1\vc\x1f\x9c\xae\xca\xf9\"\xc6\xf3#nZ\x05*\t\xeb4\xd7\x00\x88\xf4c\xd4;\xce6\x95>\xcfY\xe3\xad\xf3KN\xec\xd1K\a\x10\u066b\x0f\xda\xe0\xb2A\xf3\x18\u059e\xcc\xe7!\xff\xc2w\xfai\x00\"\xadfC\xe2\x1c4\x1eq\xb6\xa6\xf5\ubf4dFv\xba\xf8\x00[\xf9\xd3\xe4\xc5\u037c\xe5\xa6]\xb2(\x89\xb3\x8b\x11\xb3\xa4\u058e\xbf\xaeN\x1a$S\xf9S\xa7\xb5\x88(\xd5~i\xebf\xcc\x1d\xee\xc4T\xfe\x10u\u45bd\xd5\x12\x9b\x13\x91{\xacl\x00Dc\x95\xeem\ni9W\x12\x10\xe8P\xde\xf69\u05df\xbc;FIe\x95?\xad\x12\x99\xca\x1f\xa6\xf2G\xe0Wc*\x7f\x98\xca\x1f\xa6\xf2\xe7\x8f*\x7f\u0535\xf8T\xfe\xa8\x04\xd0U\xfe0\xb7\xec\x99[\xf6utq\x85}\u02feI\x1f~\xd5E\x8d\v\xabZ]$wH\xc0\xea\"\xb9 \f@\xf4\xed%kl\u050b\x80b,\x14w\xdcf\xa6v\xdbq\xc2\b\x9e\x9f\u077ed\u014f\xf7\x93?q0\x8c\xe2To\x9b&\x17\xf7\xb5&\xa3\xd7\xc7t\xa1m\\\x8d\xa7\xe3*\x10\x17\xe5\xf5g\xa4\xb0su\xec\x17X\xcb=S\x9d\x11\xfd\x93j[1v\xee\xd8\xd8\u0423q\x809\xe74\xd8x\u4c7erA:V1\xc22\\_*\f\x8d\x9f\xcb\xf3\xb3\xbe\x1d\x9c\xbb\a;\xac:W7\xc9\xefSE3N\xa8\x15\x8d}\xca\xf3J6\xfa\x8dP\xa3\xe0\xa6J\x00\xa2\xb5[\xe6\x1bO\xccO\xc1\xb1n\x10-?\xe3\xbby\xe9[\xd7/$\xe6.\xc0\x1c.\xe2\xc7i\xd4\x14f3\x87K\xcd\x1c.\xcc\xf9Q\x9b\xe7\aD\x11=\xda\xf4\xfb\xa1\xae\xbe\xfd\xd7i@sT\x04\xd5\xf8Q\xc1\x9c\x065s\x1a\xd4E\xc7\x7f\xed\xe6\x05\xff\x92W`$\u03e2\\Z\xa9.\x9f=\xf7c,\x80\xa8\xf7\xec\xe0\xf3\xfd\xf4\u05a4a__\">\xe7j\xf0\xb0hm\x00Qg\xb7W\x1eh\xb5\xdev\u03aau{\x02\xf6\x9b\xf4\xbf\xcc\xd58Iq\xbccg\xad\xe3\xab!\"\x91\x02\xfd\xc7k\x11\xde\xe0j\x11\x12\xaaV\x8b\x80\u06e3\x9f\x1f\x0e\xa9\xe9Z\x84\n\xb4s9\x16\xb7nYl\xf9\xdd\u028d\xd4+\xcd\xfc\xd0\xc0\x0f@\xb4\xedJ\xab\x1c\a\x8f^\x80\xe7\xf3\xc3\xd9[\xb7\xaa4,x\x06 j\xe70-n\xbf\u049d\x96X3>\x7f\xc8\xf5\u04d0\xc8F\x8d\x01D\xad6\xdc}\x1e\x9ej\u05d3\xb4O\xa6x\xa1\x8eY.S\xbc Z\xc5\v\xba\xeb[K\f\x9c\xd0\xdd\x04@Tx_\xc9\u04fc\x9d\xefgl\xf1\x02\xd1\xfdZ\xf4\x9ag\x86r\x94\x04 j\x9e\xa0\x95\u02c6\x93\x1a\x93\x06\xc9\x14/\xd4i-b\x8a\x17\xead\xdb\x12\xeb\xa86[\xd7|\xf1\xfd\x04 \x9a\xf4\xf0\u04e8\x00\xa5\xd7l@ \xe3\x17\u025eqS\xf7)RRY\xf1B\u00ce|\x8b\x17\u010c\xf9\x16/\x88I`\xe2.\xd6\bAB\x9aZ\xce\xf5R&\x86|\x13\xb5\xd5=\x12\xfa\xb4\xa4$\x12\xf6\xfa\xd2a\xe2\xce\"X\x19\xb0\xb8~T\x06\x88\xaa\xb2\x88\x01\x02\xad\x8b;8\xd3\xf2\xbd]\f%\x01\x02\xbd\x8c4\x8a\u03b0\x98|\x9a\x92\x00\x81\\\xa7\xaa{\x19<\x8d\xdcEI<\xa9\xfa\x92\x86\x1f\x1b\xbft\xc8\u0361$@ \x96\xf5f\xcd\xf7q`\x14%\U0005c8a2\x90\xaa\x9fq\xc2\xf3\xf4\u0341g\xe4\x00\x81`\x1b\xf3\xaf\x1d\xf7\xeeG\x94D\xe6\xf8\x0e\xf3I\xd5K\xcb\xffn\xe5\x14-Q\xd6O6\x14\xcf\xfd\xc0\"\f\xb6d\xe3\xdaq\xf2`\x8c\n\x17d\xf8w\u03a4\xa5\x1d\xa7\x00\x88\x1eg\x9e\x8ep\u024e\xd9\u02f3$\x87Jf\u03fd.\xbee\x1b\x80H|\xfe\xdd\xc0\x98\xa0&\xe4\r\x19(\x85\xa3En\u041c\x0e\xc2j\xbb\x8a\xd56a0\x0e\xdd\xc3K\xc4\x0f\xad\x9bp\x04@4[\xccm\x0e[\xfe]s\xee\xd3\v\xa7\xa1\xac\xb3\xa0o6\xbe\xfao&\x06 \u048a}\x18\xb3\xb3P\xfd\x16\x80hKv7\xd7\u02cd\xd8+9A\xddp\u93c6Z\xab\xae\xf3\xec\xf6\x82\xa0\xe1\xdb>)\xbe\xe2Dz\v\x9c6\x9cI9Z\xba\t\x8bxN\xf7}\xfd)\xa3AH\xe5\xa5%\x1c@\xd7Oq\xee\xb5\ue7e3\x1bS\x12\x19\xbf9\xd3j(y\x05\xac\x94\xa5U\xd7-\xa4\a\xceB\xd84\x16\x92+\xa0\x85\u0411x\xb5k=\xe5\x17)\xf9\xf5jK\xeb\x91\xe3\xc6\x01\x88X\x8f\xae\xf6<\xed\xe5h\xf3\uf654\xa6\xdc\x01\xf7\x8d\xa3rz`M*\u0476\xa7W\x83\x91\x92\xd2X\x93\x9a\xda;\xed\xdd\xf4\x93\xa9lJ\x02\x04Jy\x98\xbb\xf5E\xd4\x111J\x02\x10\x8dn\x13{\xa7d\xff\xe9e\x00\"\xe3f\xe7\u0460\u0426Y\xa4YM\xf9\xfd\xf8\x16Q\x0e\x05\x9e\xe5\xfe\x9fT\xc2k\xf8/\x8d\xff\x19P4%\x94+e\x0eD\x03?\x9b4,\xde\xd7\xee\x98I\x19\x13\x9c\xc3uf\x95\xacz\x9d\xb9\xc5\xf0\xf3i\x17\xfe\x1e\xee\xf7\r\xf0\xf5\xe6>(\xe9\u059b\x11My\xcb\xfd&{y\x04X\xfa\xfb\xba\x06\xbap5F\x95P\xe2\xfd\x83@\xef~\xceS\xdc*gz\x9c\x01D\x03\xe7J\xa4\xdf\xee2m5\x80\xa8\xf1\xc0e7KQ\xeb\x1d\xb5\xf30\x1c-\xee{\xe3\xce\r\t\xf1\x93Z\x00\xa2U\xac\xe4\x98k\xc3gr\x96n\xdc\xc973&E\xc2U\x00\xa2\xb0&\x84V\xf1\x84\x9bc\x01Do\xc2z\xc1\x8c\xd6FC8_\u02f0\xefx\xc8\u0393c\xaf:+7\xcc\x0fJ>\xbf\x80\x92\u0288\x13\x05;\x868a\x88\x13\x868a\x88\x93\x9a%N\xa4\x1f\xf3!N\xa44i\x88\x93s4\u0109\x99`\xc4I)!\u01c79\u0266\xa5\x06\xeaZ\x11~\xb9\x88\xd94,75\xa4\xad\x9d*\x80\xc8{\u0770\xf7\xc7\x06^5\x02\x10-\x8b\xd0\xde\xe3di\x98I\xae\xce\x10\xc1\xa8\x96RB\x81/\xd7\xf2/,h\x93y\x9f\xc4$\xafM)\x02\x10\x156\xedj)>V\xf7\n\x80h\u07b1#\xf1\x81\u07bbIx)\u0785\x86\x9c1\xc7AO\xdc\xf2`\xb7D\xd80\x94\x13\x82\xe8\xc7\x1e\xf3M\xcb\x1c=\x81gy\xe6>2\x80g&|k\u03c9\xa3\u05ff\x91\x97\x8b\xe9G\x06\xfcua\x8a\xce\u07e7s\u02ad\u0716\x9dK\xa3\x13P\x8f \x0e\x82\x9b\xbf\xe1\xac\u05ec\xe4\xb3X\x882-K\xec\xb0v\x9f}\xb8\x9a0\x02\xd9O=\xf1\xada\xdb/s)\x89T\xa9\xa4*\x91\x1epV}\u04bc0\x9c\xe6\x99WE\xf3*Q\xd0r\xaa\xf7\x0f\xf1$\xe5>\xf73\x7f\xbc\xe5D\xb1\x15\a\x97)_[\x1f\x17\xba8\xb6\x0fVW\x1fu\x9e\xd3\xeb\xe2\xa0\xef'\xb1\xba\xba\xe3EbP|\xb3>j\x94\x04\b\xd4n\u0413\x02c\xef\xfbJ\x94\x04 \x82\xcb\xee\xb32\\\x94\x1a\x03\x88\xf6\fU\u07b2{\xe7\x82Dr\x8b\x16\xd4\r6\x81}\xfb\xf72]\v\u07c0\xba\xc8&@\xb4\x00.\xffvr\x98^\x14\x80h\xb0\xee\xd9[&\u04fb\xf5\x06\x10\x19M\x9d\xdfi\x8f\xf7Y7N\xa8h\xed\xca\u069a\xfd\u0253\x92\xca\xf0\xa5J\x1a_|\xc9t\x15`\xba\n\xd4(\x04f\xba\n\u051c>3]\x05D\xb5\xab@#c>\x88[\xa1B\xff\x9b\x95\n\xbf\xad\xce\xe3\xb8\x15o:\x14-\xfd\x01 \x1a\x96l\xb9\xa1\xa9\x82\xc3\x17\x00\xd1;\u0564\xf7=F?\xff\\+i/$\xe2\xb8y\xac\xce\xfc\xfdm\x86H3/C\x7f\u017eC^\x00\xa2.\xc3\x03?\xb5\"^\xf2\xde\xdf\xd91U7\xf9\xdb8}m>L\x95\xd0.*\xd5\xfe\xaaa[\x14\xabI\x1f\xbdx\xbdm\xf4D\x00Q\x9f\xcf(\xa8Y\xc7iI\x00\xa2\xfe\xf7|\xe6&\xf6k\xe2\f \xea|\u03a8\xe1\x8ec\x91\xbcD\x82\x8d\xc2\xe6;\u04d3\xc5\xf4\x00D-K\xc5.9\x8e\xf3\xea\x84E\xca\ns\xa7O\x97R\x1a\xd7\x17K\x148\x06\x15v\u039f\xb4K\x85\x92\u0223\xa1E\x95H-\xf1\xe7\xcc\t\xf2\xe7'\x88?\xee\x04\xe9\u039c \xd5?A\xe0\a\xba\x13\xe4t\x8d\x9f \xcc!!\xe0!\xc1\x9c\a\xfc\u0383\xe0I3e\x89\x12\xe9\xfe05\xaa\x91\xbfZd\xd2\x1b\x00Q\xca!\xb3\xa7\xdb\x1a\x0f\u01bd\fD\x0f\xad\xf2\xa5\x1e\x14\u036d\xbc\xfb\x17\xe7<\x18\xaf=M\\\xab\xfd\xdev\x94\x04\b\x14\xd2V\xabx\xc1d\x9d+\x94\x04 jj\xbc\xd7?\xf9M\x97@\x00\x91\xc6\x1e]\a\xb7\"M\r2r\u04ec\x1bW\xf9\xd8\xe4\x10\xa1?\xb8\xc9W\x1b\xa6\xe3\xe2\u04e6\xbd\xcbN\xdd[?\x7f\xef\x1f\xbfiW\xd7\b\xfe\xe8\x97Q\x91\x8b\xac%\"\x00D\x03;\x99\xec\x9cj\n\xb3\x01\x81>\a\xa9~\xf6\u035f\xf5\x95\x92\xcaX\xfdF\xed\xf9\xb3\xfa\xcd\xf8W\x8d\xbd\xc4\xc5\x17\x9d\xe8\u22fa\u0382\n\x8d\xb6?V\xa8\\0I~\xbc8%1\f=\xc3\xd0\xff\v\f\xfd\x9e\xe2\x9c\xd9fg\xc2\xc7P\x92\xc81\xf4Fr\xf6\xd2\u0746\x0eL\x00\x04Jk\x9d\xa7\xdf#1o8%\x91\x14h:\x1f\x86^z$\rC\xcf\xd4\xc415q\xa2\xbd\xa0U\xa9\x89\x93\x98\x88O\x03\xb0\u0104P\x99\xe4_y@\xfc\x87\x95I\x1c\xd0\x13\u0772\xf5\b\x87\xdb,\xde\xe5i\xed\xef\xef\xa6\xd9\xda\xf8\x01\x80\xa8E\xb0\x86\xc1\xfc\xec\xd3d\xbe\x03\xca\xe1*\x93n\xe3\xf7Z\x80f6\xc1\xd8X:!z\xec\xfa^a\xaa\xb2\xe4\x7fgO\x13\x1c\x10m\x05-qz+h\x1dS\x9d\x83\xb9+\x0f\x8c\xd0I\x88wi\x0f \xda\xf1\xdc\xe4d\xc0\xbeP\u0799\xcf3\x8f\xba>\u06b8\xebC\x10\xe7[#\xa3\xf7\xbb\x99\xe5L\xc3\xe2\xbc\x1d\xa1EC\xbf\u06cb_\xc5\xc2\\\xbd\x84o\x83\x06\xf4\x99\u0646\x92HS0\xacO\xa6`\x8c1\x05(\xf6wM\xa1\xc2\u0748\xf2\xa6`/\xa0)T\x12\xfc\x95\x8bb\xff!;)\xff\xadc\xf7\u06c4v\xbcm5\x99\xf3y\xf7\x89\x8b\xae\xc6\xe7!\x9e\u03c7\xb4]8v\xb3\xda\xf9\x85\x00\"\x8d\x83\xeb\n\x13e\x97=\xc6\x1aO^\x83\xcc\xf4\xa2\t\x1b\U00045c1f\xaf\u01adO\x1e\xfdz\x0f%\x01\x88.\x1f\xbf9l\xa4\\?\x1f\x00\xd1\xddG\xa3\u01f4l\u0d194)3\x86\x0e\xaa\x9bt\xd0^\x01\xe9\xa0\xda0\x8c\xf5[\xccL_\x7f\xcf\xd4\xe2>q\xbd,\x05\xfd\xd2\xd3\xd8:\xf3Q\xf8\b\x00\x91\xa4\xff\a\x93\xb9\xa9f\xed\x01\x81b\x9f$\x0f\xdc\xf6\xb1\xcfyJ*#\x8d\x9a\fcH#\x864bH#\x864bH\xa3\xea\x93F\n\x05|H#\u064e\fi\u0110FuvA\xabB\x1aI\xf5\xa3!\x8d\xee\u0523\xebl0\x03\x87\x94i*`\xea[\x05\x0e\xffp\x9bGa\x89\xa1\xf7V\x164\xd3\x01\x105?\xbbo\xb9\xe2\xf3\u0083\x00\xa2u[',\xec\x16\xe2R\xcap`5\u0341\xc5\xf6m>\xb0\xf7K\xf8\x10\vn\u04f5BbF^\uc540\x85\xf1\xa7\xf7\x0f\xfe\xbc\xcf ~/%\x91\x01>\xbd\u0455\x95\xfe\x89\x89\xd7#\a\xc0\x92\xc79\x80;\x8c\x03\xf8\x03\a\xc00\x7f5\xe1\x1d\xaa\xc9\xfc]4k\x92\xbce\u0208\x10\xac\xcb8\x17\xe4s \xebi:\xdee\x18\x96\x18o\x99\xba\xef\xde\x13J\x02\x04\xb2\xf3`\x99\xaa'\xb4\xffNI\x00\xa2\xb3\xb1\x9a\xabo\x0e\x99\u04da\xa3\x1d.m\v\xd6\x04\xba\x1f!--\x8a\xa1\x03\xeb&\x1dX\xc8\u0778&DC\xf2\xe9\x06\xfb\xb8\xf9\x05:{y\x04L\xab-w\u0103\x8a\xcc\u0766L\x19\xc8y \u0716T\x8d\xcb\xf4\xe1\x04\xcf/\v\x1b)\xb0F\x9e\xae\u01ec\xe2\xd1\xfb\xa3\x92\u06ae\xf41\a\x10\x89\xffp\x1b;t\x17\xd4\x06\x04\xba\xa0\xd9\xfd\xb0i\xa7\xaeq\x94T\xc6*J3\xa5h\f\xab\u0230\x8a\f\xab\u0230\x8a\x7f\xc0*\xb2\xf8\x95\xa2\x11\xbbq\xe5+n\\\xb8U\xf10\xf7\x9a\xe6\xe3\xeb\xed\xe1\xec5\xc0#\xc8\u00d5;\xab^\xf8I|vJ\x95\x83u\xae\x9b`\x87W\xfd\xd8\x1b/\x9c\x87\xe6\x9c\u073d4g\xeal\u069c\x7f\v@\xa4\xf8\xce\u0326m\x8e\x1b\x8b#>\xb5\xbfz\xf3\x9c\xe6\bl\xe8\xf7\xd1\xcb9\xa0\x81\x8f\xae+6\xf2]0\xfc\u06eb\xb4\xfef1\x94Dn\xcbgl\xf7W\x91\ng\x9d\xfe,\x9a\u016cv`\u0277\xab\xcb~\xac\x17\xe3\xbe\xf0\xd3\xdfM\xd1\xd4\xdf\xcd9\x00\xb3\x85$\xbc\u0742=\x9a\xaa\x85\xfc9\x0fu\xe8@\xbe$\xb1\xcb\xeaM\xe51f\x15\xaf\x1c\x9c\xed8\xf1\xbb\xf9\x9c\xf4d\x00\xd1\xe5\x8d\u07c2O\xab\u0227\x00\x88<^7\xe0\x1b4\x89I\xf2\r\x9aX71>\x81\xd5\x1c\x7f\x88\xd6\xd6\xd9S\n\xa7\u0405\"L\xeb\xd6\x7f\xaeu+\v\x10(\xefN\x13\xfd\x9bm\x9f\xd8Q\x12 P\x9b6\x16\xf1\xa5}\xe5?P\x12 \u0436.\xc6\u04fc\xc78|\xa7$@X\xb3c\xa49&J6\rn\xd2\xfd\x99J\xac\xb3\xcb3\xc5.\xdf\xe5\xd9\x19\xa5\xa1\x00\xa2o^\x12\x93Ox]\u3727\u25ee\x1d\xcdH\xf0\x93\u3b94\xc4+\x9a\x9c\xe0 l7\x80\xd9x\x1f+\xc8e\u87ff\xa5-0\xd3\xfb\x0e\xef\x19\u0678\xee\x9d\x03\xd9\x11\xb3*\x7f\xb2\x81\xec\x88Q\x95/\x82\x00\xdd\x058K\xaf\xb0\v\xa6\x1a\xe7\x02\aN\x00\xaa0gL\xb2\xf2l]\x00\u046da9\vL\xbb:n\xc1X'DK\xda\xed\xbf~uy\xa2\x16\xcf6\u02fbn\xdf\xdeCy\xf8G\x00Q@\u0299\xf5[\xf7\xb4]\x00 \xb2\xdd\xd7Cj\x8cI\xaf\x81\xe4\u0285\xe0\xc0\x05\x9f`\xab\xack\xa7\"\xcd:fa\x17KD\xa7}pv\xc0\xf5R\x80\xe5\u0452Q\x1c\xe3\x88\fzo\xbd\xd6\xc7\xc8\x04@\x94\xa7*\r\xd6.p\u6604\xe1\xd9\xd7/T\xedtxS\x1f\xb1n\xa7\xac\xadb4F\x00\x88\xfeSz\xbd\xe0\u01f5\xdc\xcb\xd8(<\xeds\x91g\x03\xe7Y1\xf8j\u06b7>_\x8dF.\xbeJI\xa41\xf9a\x8c\t\u01f3\xf2\xecUu\x9a\x18\xfc|\xb7Uk\x0fH\x9c<\x1d\xbe\x1d@\x94\x93>\xc0\xc2O\xc5\u0182<]\x8e\xe2Rd\x15\xe6\x1d\x97\xa7\ue331\ue09dJ\x13w\x85\xd3\x1a\x18\xf7\x1d\x1d\xaa\xebSxl\xaf\xfc\xcb\x0f^\xee\xea\xb4\xe2}\xba\x18\xc7\xc8\x1a\x8d\xd3>\xfc\xa9\x871\u01ad@tzl\xab\xd2M6_\xbbT\x8e]io\a`T\xa5\u01e0\x88n\x87J\x864\x06\x10\x15\xe8,u\n\x19\x94k\xcc\xd8\x1d\xc6\xeen\xb58\xbbc\xb4W\x7fC\xecb&\x0f\x9a#;s~\xfa\x12\xac\u0749\xe5?\x1b\x9bpd\xa2\x11%\x01\x88\x86\xf8\x8f?2\u056c\xb8\x10@t\xa4}\xafA\u01fb\xecw\xe4.e\xfe\xef\xf1\x81h\xc2\xfc^t\x13g*\xfd\x7f!\x9a\u0531q\x84\xf5\v\x87T\x00\xd1\xd1\xcf\xfe\x8f{\xb8n\xdb\t Ry5\xbaU\xe6z\x10\r\b\x14\xbe\xe4^\xa7\x8cG\x05\x93(\xe9\x17\xbe}\xc1\xe0[\x06\xdf2\xf8\x96\xc1\xb7U\u0177\x1b\xf9\xe1\u06d9\f\xbee\xf0mm\xe2\xdbO4\xf86\x14\x8boOq?\xf9S|\xcb[bG8\n\x8atK\x89\nGf\xb9P\xf1=\xcdA\xb0\x1f\x1fF\xd2\xc7\xe2\xb0\xe6c\xf1\x02\xfb1\xf3wK-\xb6\x06\x105\x99\xab3-r\xf2\xd1|,8^l\xd9O\xa6\xa4\xa1\xd1\x00\x9e\xdf:\x92\xbauJ\xa8\xa1\xba\x1e'pl9\xf8N\x80\xaeMk\x00\x11\xdb\xda}\xf0\xf5\xe7lK\x06\x1c\x8b,8~\x1c\xb58\xb2\xcf\xf1U\u0594DZb\x1f\x11\x03\xc7\vp\xe0x(\x1d8\xae0\u011c\x02\u01eb\xf1\u07e3'\x9f\b\xc1\u0267\xa5GR\xbb-\xf6|\xfe\x00\x8bu\xdf\x15/\\\xdd\xfe\xd1\xee75\x82u\xbd\xda\xff\xd7vO\xe4\xc1\xf9\x8c\x19a\u0328\xe5\u0405-\xd6\xee8\xa8\x8c]\u031e\xb2\x86\x05o\xc3\u01a9`\xcd\xe8\xcaA\xf55\x9a\x8d&\x9d\xa2$\xcei\xd8%Y\xbbI\xe6\xacn\x9c`a\x171b\xbd\xf5\x8eS\xf5\x01\xebZ\xb8\xb9\xe3\xb1n\u9a68\x8d37\xae\\\a z\xf4\xec\xd1b\xf9\xe84N0p~H\a\x9f\x9e6\xe3\x16\x02\x02\u037a\xad\x99u\xf4\xfa\xbe\xa5\x94T\x86u\xe5~\xf0\u01fa\xfd\xf8\x17\xc0\xc9\xe0\xb0n\x85\xbb\x12u|\x82'\x03\x93\x19\x98,\xdc\t\x9e\xbf\xc1\xe47\xc3\u048b\xb7\xddQ\x9dFI\x80@\xf0\xe8\xf1\xa3'Z\xa8(R\x92\xc8\xc1\xe4\x82\u0215\x17&\xf7K_\v\bt\xccP\xff\x9c\xfe\xa3\x97')\x89\xab\x8bR3\xf8\xc0d\x89|/\x9ag)\x8a\x96\x8eA\xdc\xf4PH\u04c3\x1bw\x81\x8d\xe7Y\x854\x90\u046f\xfa\x1a\xf3\xdb@F\xcfv\u0776,\xef\xe4\xae\u01f30\x96\xeb\x94%\x9e\xc8~)\xe6\xe0\xd0\xfc\x19\xcbu\xa5lZ3\u01831\x9e1+\\_\xe5I\f\x89\xc3\x1a\u03cd\v\xb6\xed\x92\xc2\xe6W^*\xca1\x1e\a\xef\x05we\x9eY\x84R\x12 \x90\xec\xfd]\xfd\x9fJ\xecjII\x00\"T\xa8\xd8\xe6\xa6I\xbbT\x00Q\xfcD\x9f\x03\a=z\xae\xe0\xa5\xc3D\x1d\x98\xb0\xe3\xe8\xb2p\xb5~nBd\x94\x9e?$\xd4\u07ac!\x80\u0226\xb9IA\u0684\x10}\x00\x91\xbe\xb7B\xb2\xd2\xc8\x11\x8e\x80@\x92\x1f\xfb~\x93\xd9\x1b\xe5AIe(H^\x9eAA\f\nbP\x10\x83\x82\xfe\x02\n\x8a\xe0\x83\x82$[\u0460\xa0\xfeX\x14TJ4\x13\x10\x06\xfd\x95\x860\xbcw9Ov\x0f\xf0\xb0\xbar\xfa\x95\xd0\xfc\xff\xf5\xa3\x8a\x9a7\u00ad\xd5yb\xa4\xce\xf1\xa6KCR%\x17\x02\x88\xee\xa6\u064c{\xf5\xc3\xe8?\x00\xd1\vk_\xaf\u05c17\xec\x19\xdc\u0104~\fnbp\x13\x83\x9b\xea\x18n\x92f}\xce\xce\xdaa\\6\x89\xacG\u0778\xa3\u0637\xf2n\n\x16n\xee\xced7\x05LVg\xef-\xdd[\xa6\x16\xefm\xe9~\xa5\\O\x06\xcc\xc3j-{b\xa4\u04e3\xfd]\x00Q\xd2\x12\u06e0\x1d[\xdb\x7f\x02\x10Yu\xf5\x98\xe0\xb8\xe6\x80\x12 \xd0\xdb\xebot:{\xb7\xbeHI\xbfrC\xe7\x19T\u0120\"\x06\x151\xa8\xe8/\xa0\xa2\xbe\xfcrC\x87\x19T\xf4\x17P\x11Mo\xccj\xa2\"\x96\xf0\"\xd6x\xc7\xdd\x19\v\f.\xf4cP\x91\u0222\xa2u\xd1w]\x9d<\x1fjS\x12\xa9\xe3\x91C'{\xbd1\xb7\xf0\xd0?\xe5\x9bF\x87\xa5\xdd4)\t@$\xdf\xef\xb0{\x83\xef\xd2R\x00\xa2fN\x8e;S\xce\xccw\xae\x1f\t\x1en\xe9\x99\b$xbz\x94\x1e\x8eJ\x95\x9d\xc5\xd1\xf7\xd4\xe3G\x0e/\xea\xf6\r@t\xb1k\xe6\x87q\xa5\xca\xc3\x01\x81\xa6\x1e{\xaet6;\xf7 %\x95A\x99\x06\xa3\x19(S\xc5\u85012\f\x94\xa9\xa0,\x12\x80@;b\xa5\xa7\xaf\vx\xa7EI\x80@\x8fY\xf1\xe9\xc6'\xf6&R\x12 \xd0\xdc\xd4 \x97a;\x8b\xfaQR\x05(\xf3\\\xca\\\xcd5\u03c2\xa0$@\xa0\x03\xadP\u06e127\xbd)I\u480c\xad\xfe\xa0\xbd\xa7n\xee\x94\x05\x04\xb2\x9a\x1c\ubdea\xbb\x8c6%quQ6\x83\x0f\x94\x91\xd5\xc0C\x19\xe66\x18s\x1b\xac\xc6o\x83I\xad\u01a3\xfb\xe0P\x0e\u0397\x8d\xed\xac?r\xf1\x9cb\x06;W\x84\x15\x12\x00\xa2y\x05\x11g3\x8c\x17n\x03\x10u\xf1Ty{\xa6\xa7\x9d1\x80HL}}\xb1\xef}\xc3/\x00\xa21\x8e&m\xa7_7\x9e\u01f3\u0584\xf9\xbcS\rr\u058e\x01\x10\x8d\x90]\xbf\xb6!\xebG\xe5\x1e\x87\x13l\xcbz\xc4\x1b\xbc\xbb\xf2F\x16\v+\xb4$\xbc\x0e\xd87p\xd8DId\u0619Q\xa5\x8c\xa2\xd8f\xdc\xe8\x02\u070cX\xde4]]P\xe8\u0418\xd6\x1f\x8a\x93.\x1b\x91\xbej\x1e.\x1e7\u00db\x7f)\x94\xc1\xfa*\xf6\x97:\xe3\xe2\xfe\u070bAd_\xfa\xda?{\xa4\xe28\xee\xfb\xbd\xa1y\xf7c\x98\x8b\xc0BV\x00a\x11\x03_\xad;\x8a\xdf^e\xe3\u00f3\x92r\xcb\x1c\xfc\x15Z\xad\x9b\xfds\xa6@\xe7S=\x8f\xacMf\x9c\x19\u0199\xb5|5\xf2Hj\xa4\xca8\xac3S\x06\xeek\xac\x02u\x8ec\x9d\x99\xb8\xf9.\xfb\xa1\x1d:\x7f\xa0$@\xa0\xb3:\x1d\x14\xe4g5I\xa4$\x00\u0441\xfc\x1f\xfb\x8f4{&\xf5?{W\x1e\x17\xd3\x17\xc5\xef\xbbM\x9bJ\x12\x15B\u0296R\t\u0677\xa4\xb2U$!\xa1\x12\xd2^\xb2&{\xb6d\xdf\x15\xb2\x85\x9fD\xf6}-\x92}\x97\"DI\"\xe1R\x9a\xdfg\xcc\xcbkj\ue6c6IS\xee\x7f\xe7C3\xf3\u07b9\xe7\xde{\xbe\xdf\xf3\xbd\xe7\xf2\x9e{\xf1\x06G;\xa5\x1f\x96R\u018e@\xa4\xd6\xd6\xc8g\xf1\x85\x8e\xf5\x00\x85\x14.\xd4\xda;\xaf\x9a\xa6\x12c\xfd\xea\x1b3\x87\x90\f\xa4^JH\x86\xdf\r\x16\x05@\xa1\u0602E\xa7:\xb4^0\x8f\xb1x\x11t\xee\x81V\xe1\x91[\xf7\x18\vP\xe8d\xb5\f\xb9sS\xa7,e\xacR$\xc3B\x95\x8c\xc2\x0f\xf2}S\x18\vP\b>\x1c\xf4i\xa4\x9e\xbe\x06cI\x1d\u0270~\x9bV\xf4\xed#`=\xa0\x90\xbf\u05c6\x90}\xa1)\xf7\x18\x8b\x1f\x8b\u0560\b\x92A\xd1\x1a\x8f\xf18\x83\xb1\x18\u03e2l\xe9\x7fM\x96\x1d3\xad,\xc9b\xa5\x80\u05bc\xac\"\xf8\xbfq\xdf\v\x9e?\xe0\U000b2291\xaaA\x91\xe3;\xac\x13\xf8\xfc\x1a\xb0aQ\x1d\xd7\xee\xcb\x01D>\xe6/\u0552\ua3a0\xb3\n\x18\x8fY\xc7a\x18KrJ\u0654\xa1\xc4$\xa4\x1fJ\xb1\x95\xa8\xd2yVRE\xb0\xff\xf6\xdd\f\x98\xb7\xa3\xb1\n\x80H\xa7\xc1\x9ag\xb6G-C\xabb\x82\xc7K\x94R2\x92\r\x92\xeau~\t \xea\xddzs\xe3\x9a\x16]2\x01D+rt\xde\x0f\xb6\x8c;\x00 \xbab\xd6\xe7\xf6\xe5\xe3\u0781\x02#\xb2\xf3\xd2\xc9w\xb1}\xdf.\x05\x10\x85<\xbd\x9dhveA\x1a6\xf9\xf1\x99n\x10\xd0\xccWo\f6\xc1\xfb\xcf\xea\xea\xa2&\u03e7%0\x16\xbd\xb8\\*\x1bZ]@\u05a0\xf2_\x83\x10n\r:\u00f6\x06\xcd,\xd3\x1ad\xcb\xf6\x15d\x81b[\xa0\x8a?\u01540\xbd\xeb\x1b\x82\xbb6\x02\x10u\xd4\xc8\xf45\x1c\xf6\xe9\aY\xb50\xabV\x82[\xcb\x1d}\xaf_~\x82]\xb54\x87x\xf5\xf4\x1a\xf8|\x0ev\u057axi\xa5[u\x03\xaf\xb6\x8c\x05(4w\xc3\u019c/\x0ea+\x19\x8b\a\x9c\xf7\xe5_\xc8\xe6~\xae+uX\u052a\xb0\xf7\xe1\x80y\xe3\xde\x03\ny%\xf5\xd9\xfb8z\xf99\xc6*\u00a2Jg\t\x16%X\x94`Q\xa9\xd0\xee\xf2\xbeLu\xc6G\xcbM\xe3nY0\x16\xa0\xd0c3\x9f\u39ee-6g,\xa9\u00e2\x9f\xa7'\u013d\u0439\xb8\x1aP\xe8\u01cc\xbc\r?\xda\x1b\xea2\x16?\x16\u5eca\xc0\xa2\xb2\xb1x,\n\xc7\xf1\xff\xaf\xa4\xea\xc8\xde\xc3\u06cf\xfe\v\x96\xfbq\xff\xbc}\x19\x7f6\xb1D\xe1\xafZ\x19{2YH\xf5f\u066e\xa5sO.\x83\x9c\x8e\xf7\xdd\xeee\xc9\xc7\x7f\xf7\x96W8\xbc\xb7\u026c\xc4!M\x01D\x93\x95'7\xf8QP\xf7\x06\x80h\xeb\x9c^\x06Y+\x0f\xa6\n|\xca\xd5x\xb7\xf6\xc2@\x0f^R\xf5\xac\xfa\xacq\x19V\xef\xfc\xb1\xfb\xfc^\xb97\xcf\x1a\xb9\xce9\xc1X\xf4\u0185;\xcd&\x88N\u0116\xabbG\xf2w\xaf\x83\u0755\x06bS\xed\xfaY\xd2\xcf\xf3;r\xd5?OY1\xf1_|r\xfc\xabQ/\xfbGQ\xbfC\xb9a\x94\xe1]k\x9e\xa9V0\xe5\x91r\xfd\xbcs\x02\x7f:\xc2(%\xdcFk\xc9m\x00Qt\xb5\x80\x8e\u04ea\x9f=\x8aM\rO/J:\xe0\xa3~r\x1fv.\x8c\x9av\xcf\xf9~d\xc60\xc6\x02\x14\x8a\xa8\xb17\xb5Z\x8f\x81\x11\x8c\x05 JW0Z\xb2\xb0\xfa\x97>\xf4\xd8Vr\u1a94w&\xb1\xdb\x11}\xf2{\xff\xb5\x9a\x80BNI\x1a\xed\xfc\xba\xe9*2\u05af<\xfe>\xc9\xe3I\x1eO\xf2x\x92\xc7\xff\x85<~\x90\xa8<>\x9e%\x8f\xef+*\x8f\xa7\n\xd9\b\xc3\x7f5\x8f\x90\xf9\xa3<\"\xde~\x87\u0666I\r\xc6\xf3\xb6\x9e\xf1\xeb\xfd\u03bd\xdc\xef\xc9w\xd9|\xbc;\x1dEjy\x84\xfb\t\xb3\x15\u03f1U\x93\xfflY]G\xe0\x11\aV\x8b1\xda\xed\xb4%\x1b@\xb4\xfd\xeb\xb2ZC\xdat\xc5II(4)^K\xf6\u0542m\u038cE\xefM\xfdqz6\xdc\x19Ll@\x94\xca\xda\x19o\xfc\u0585\xbc\xbc\x1c\xc58\xea\xa8\xef\xf5\xa7\xc3\xc7\b\xbc\xf7\xac\u01ed\xe0\x991\xdf\f\x01D.cm?\x1f\xd1\x18jAO\x0f\a\x1c\x13\x8fC\xb7%\xd8\xf6Ry~\xf1$\xfch\xf9\x83\x80\x7fu~\x96\a\xba\xbd\x96~\u042be\xf5\rK\x05>5\xea\xa6\u05ac\u0551=F\x00\x886G$\xb9mX~\xf06v\u0399\xbc<\xd5Z\x11\x8c\x12\xde\xf5\x817\xa7\xf4_VS\\U`\xa3\xcbX\x00\xa2\x90\xc0\xc49S\xcf8ZW\x8d\xec^\u028f\xa5e\xbf\xde}\xfa\xc3\x13\x17y@!\xdd\a\x8b\x0f\xd8Zj\xba1\u05af\xec\xbe\x03\xc9\xee\x05\x136\x19^v\xef\xb9\xf7\x8e\xadN\x97/Y\x8cE\xb2{\x92\xddWXv\x1f?\u017b\xcdZ\xe3k\xe9\x8c%u\xd9}\xeb\x11\xc3n\xd8\xcaF*\x02\n\u0274kl\xbd\xf9\xd1\r\x1d\xc6\xe2\u01e2\xdc1Q\xd9}\v\x96\xec\u07bcl\xb4\xa9\x9cH\x10p\x9c-\x8f)\x95\xb5\xe2\x97\xf2\xc9$/\x91x^\xa2\xf1&\xf9\xcb\u9f1b\x0f\x04>5\xdd\xf8\xfc\xd1~ksqw\x92Rh\xf5\xdd\xd3y\x9e\xfa\xef\x8e2\x16\xa0\u041a\xfa\x1a\xfb\x0f\x14~[\xc5Xt\x84\xe0.\xa6.\x11H!\xc2r\x7f\xec8\x10~\\\xea\xe2\xb3\x12\xf1\xe3\xefA\xf8A\xfd^\xde\xcd\x18\vP\xa8\x7f\xcf+\xc7:\xf8\xe8\x8df,\x00\xd1\xce\xef\xe9\xc3\xe3\xda\xf7h[52h)\xe7\u01dd8\r\xd3\xda?\xb3\xb6\x04\x142\xb9\xd6\xd3w\xceQ\xffA\x8c\xf5\xabG\xdd.\x92A\x93\f\x9ad\xd0$\x83.\xff\fZ\xa1\xa9\x88\fZn\x1dN\xd3,\xb3J\xec\xccVf0\x1b]\xfe\x1f[\xceQW\xf8<\x16<\xee\xfbV\\\x12\x95-\x84+63)\xbe\xc3\x04\x06}\u0795\x7f\xf7\\\x12\x80h\x85U\x03\xa7\xefkc\xf7\x00\x882\xd4\xe6|\x1d\xfc#q\xd4_\u036c_\x1d\xca\xc8}6\xca\xec:I\x13\xff&\x8c)\xfe\xa7\x9b81\xfa>)\xe8*\x80h\xc3\x1a\xdb1\x17M\xd4\xc2\x00DK\xa6(=\xc9Y8\xef\t\xbd\xeb\x1d\xc31\xf3!eb\xe6a?\xb6-\x95\xa5y\xb6\xa4\xb4kd)\xa8DK\x01D\xcf\xf2-\xfdj\xb4\xf6/\x14\xf8\xd4~\xddS\xea7\xc2\a\x87\x03\x882/\x9e\xfd\xe6\xe6\xef\xf6\x12\x9b\xdb\xcf:\xf4!r\xea\x15O\x05,\x9e\x99\xbf\xbe\xb6w\xa1}\xb8>cU\r\xbc\"\u533f_\xf7\xaf\a\xd0\xecS;\x01\x85>\xd4\u0630\xadEH\xcfq\x8c\xf5\v\xaf|\x10\x8dW>\x8a\xc6+\xc71k\x16G\x9e-i(u\xf1z\xf1\x95\x82Ee+V\x82\xea\xf6\x1b\tj\xb7\xe65\xad\x1c\xe7?\xdb\xccX\x15\x97\x18\xa3\b\xf7Yc\xb5\xb7^\xa8\xcdXEI.,:X|v\u64edjy\x87_2\x16\x81W\x04^\x89\xa1UCc\xd3\x06\x9c\u07bb\xf4\xa1=c\x01\n\xf5\xd63\xfe~\xe0z\xaf\x83\x8cU\n^\xc5D\xa5\x02*&\xeb\x1ac\x01\n\x99\xaa|\f\x9a?\xb6V6cI\x1d\xbc\xd2\xd9\xec\xfb\xb9\xfe\xed\xb8m\x80B}\x9b\u055e;\xa4\x86\xe33\xc6\xe2\u01e2\xfc9Q\xf0J\x9b\xa5@\xb1]T\xe5\x01:\x8a\r\xc1`\x1d\xfc\xec\xf0\xc7\x1e\xc0+\x95\x0f\xe2\x7f\xc7\r\xb7!~;\xddY\x7f\x81\x7fTk\x00\u0469\xd7+Z\xf4\xbd\xb3\xbaV\xd5D\x11%NHn\xff|\xb2\xceu\xed]\xc6\x00\xa2\u0677\x0f\xe9\x8c\xf8|_\xf9\xaf\xe6i\x8fr\xa3&\x1b5\x9b:J\xe0O\x1b\xb9\xaa\x99i\x04n\x9d\x03 \x9a\xb6y\xaf\xd2\xe21-\x1b\x00\x88\u00ad\xa22\x9f\xbd\xf8\xa8\x8fM\xc3\xf4\x9e\x8d\x8f{\xaf\xd0r-c\xd1\xc0\xbeO\x99J 2\u0565\xec\b\x82=\x0e'\x91YR9f\x89\xc4J2\xef\xbf\xfbO\f\u05ca\xb5\x11\xf8\xd3O\xfa[\xebN\x8a[{\x18@d\x1f\xd3\xce\xdc\xf6\xa0\x9e!6\u075f\xbe<\xd0f\xf2\xe9\xe6a\u06393r\xdc\u0194\x84Z\x99k\x19\vP\xe8T\u04fd\xc3?\xe9\x0e\x1b\xc5X\x00\"\xddY9=\x90\xec\xd0a\xf4\xd8\xfac!N$\x1e\xe2\xb8\xf2g\xda\x1f@\x1c\xe1a\vQ\xd8\xe3\x9eKR\x86\xb4\xf4\xc2z\xe2V\u06b9:\xd6{S\"+]\xa1f\xed\xeb\x82i>\xe3\x9d_\x00\x88V\x99\xe5\x7f\xf5\xba\xb5\xa89\xa0\x90\xbaY\xb3ea\xeb@\x1ec\xfdj\x8eU\x06\xa9\x13\x01>\x04\xf8\x10\xe0C\x80\xcf?\x06|\x14\x15E\x00\x1fyw\x16\xe0\xf3\\$\xf0Y)V\xaaU\\\xad.|5\xfdW\xf3'\x89\x1d\u0558\xdcaL\xf6\x9a\x98\xf6=\xf8.Keq\xa7\x18'\x1d\\+(\xe1\x86\xc8\xef\u03beU\xeb\x0e\n\xbc\xf9\xc6\xd3?\xe4\xfa\x15\xd4\xe3\xe5\a\ag\x84l\x8e\x1e\xaa\xd8\x1e@\xd4\xca!\xfa\u194d\x1a#\xb1\x89\u07ca\x8cX\xd5\xcb\xcbF\xe91\x16\xbd\xbf;b\xdbE\xe1J,\xf8\xeaE\x8aD\x8a2n\x02\xe1\xd5\u1969\xff\x16\xe7a'\x85C\xb4\xbfp\xdedWH\xe3v\xae\x91]F\x00\x88n~L\xa8\xe6\x1b\xf6)\x85\x9e\xcc\x1fq\xc0\rwl\xa4D\x81k\x1e\xdb\xden\u03f2\x8f>\xc5\x7fP\xa2\xd1(\xa9\xb9\x8bE\u00a7\xfb\r\xbf\x14\xfcrR&\x80hZ\xefI\x17\u03ec\xbf\xfb\xed\x1f_\v%\u03f8@d\xb8\xe9@\xac\xcb\xe3\xba\x1b\x05>\xb5\u04ac\xb0\xc6`\xdb\xde&\x00\xa2\xa75\xd7\xd5^kyh.\x16L\x9dH\x9d\xdc\xe4\x15w^\xc3\xe7\x1b \xc6*B\x90*\x9e\"\x11\xa4l\x13\xd1\b2\x1b\x87 ;\xb1\xe5cU \xea\x1cl\xbc\xe7\xac\xcb\xda\xec,\xc6\xfa\x95\xfb\xcb\xd0@B\u03b5\xe6\xca!\xce\x17\x962\x16A\x9d\x04uV\x18\xea\u071cp\xd0\xea\xfc\xb8[\xbb\x19K\xeaP\xa7\xe3t\x87\xc4\x00\x940\x967\xbf\xf6o\xce0\xdd)\xa7\xcfX\xfcXT\x90\x17UnscA\x9d1\"Q\xa7\v{\x95\x83\xee\x9a\x05\x8d\xd9\x16\xd6\x1f\x98\xa3\xea\xd8\u0171\xa2\xea\r$\r\x94\\\x1a\xd8\xd4\xf0\xda\u0421\x1d\x1f\b~\xca\xcd\"'p\xc5\x01\xa3\xb6\x00\xa2!k~h\x7fI\x9f\x14\x8b\xcd\xf2\x86\xe6\x98\x1fx>b\xbc\x01c\xd1\x155\xdc\xf1\xb2\x12\x85\xb7\xbe\x12\xe8;\xe0*6\x0e\x14\x1fh\x16sO\xff\x89ow\x83wyq\x00\xa2\xdaQ\xee\x0ea\xbb\xbd\xb3I\u056ejL\xb1JT\xb5\v\t\x94Ov\xd3\u027e\xcbX\x80B#\xeet\xf6\xb84|\xef@\xc6\x02\x10\x19+\xa5O\xec3\xafM\xbb\xaa\x8c\xb9\xa4\xbcj\xd7<\xff\xea\xf1G \xc3\x0ePH\u0768\x9a1\n\xcb\xe02\u05af\xaa\x9d\x0f\xc1\\\x04s\x11\xccE0\x17\xc1\\\x12\xc0\\\x8a\xd5DU\xfa\xc6\xe0\xca\x1c\x1cW\xa9\xcb\xd7dp7}\xfc\xbb\xc7Rp)_\xf1M\xfaJ^\xcb\xf6\a\xba8\x0e\x01\x10E\u0589KHk\x7fy\x13\x80h\x94\x8e[\\\xfd\xc4^\x17\xfe*\xea\n\xdd\x18}:\xf0\x82\xd6,zT\xfeB\x8f1\x96\xa2\u067f\x9b\xe2\x97\a\x8a\xd6\xed6:\xc2\xdf\xf4A\x8a\xc0\xa7\"2f.\fKq\t\a\x10Ms\x89Go\\\u06e6\x00\x88\x1e7\t\xd9\xd3\xc2(\xa2\xe8\x06\xf2Ju\x1eNH;\x0e\xb2\xf0T\xa2\x85\a\xa2\x1e_\xe6\f\xb2\xa9\xa5o(\xf0\xa9}\ts\x17\xb5\xdb\xe9\xfc\x19@\xf4\xaeI\xf3\xef\x9eJ\xc9\xeb\xb0`\xac\u06dd\x87\xf3\x02u\xbe\xe0\xab~\x0f\xd6\xea\x9c\x7f\xff\xc2b\x19cUe\xd8)\xe5\xa5>\xa3\x9c&sT\xc7-P\x00\x14\nN?\xa5\xdaA\xbb\xbf\x06c\x15\xc1\xceZ\xde\"a\xa7\xdc8\x91\xb0S\xce\x04\xb3\x92\xc9\xe2V\xb2\x9fQ\xf1\x8d\xc0\u03bf\b;\xc5}\x18\xef\xdfx\x98\x89\xaf\xf3\x06\x9fW\x95\xb7b,@\xa1\x1e\x1d\x97\xab%f\xdc\xf7g,:\xabe\u077f\xa2\xa4\x10\xe0\x96\n\xd8\xca\tp\x85(\xb1+\x18\xe1\x8a\xfb\xbb>\xbf\xf1\xbbA9\u05cc\x17:;na,@!\xf5\u02edk\x98t\x9d\xaa\xccX\x80B}\xb6m;|\u0725\x95\x19c\x01\n\xe5u2\xc8|F\x1f\xc6\x12\xff\xb1\xfd~\xe3\xb1a-C\xa5\xb3\x99\r\xee2\x16\xa0P\x83\x13\xf9;G\r\xedz\x9e\xb1\x00\x85\xee$'\x9d\x9a\xb0\xb1\xdd6\u0192:\xe4\xfe\xad\x9e\x8e\xde\xe0\x84\xf3\xfa\xbc\xff\x1fxo\xdf-\xd5My\x8c\u014fM\x95x\x11\xc8]\xf1\x05\xbeZ\xcaY,\xaaZ\xca\u92a9t\xf2<\x85Kh\xb1\xfb\x86_\x99\xb1\x92\x8f\xf0\x84\xaeT\xd6Wl\xb3\x0fr>\xa5\x05\x87\x98\xd5\x05\x10-L\x980:\xa0\x9b*o\x87\x0fT\xd3\xef\xbfm\x8a2_\xd1\xcc-\xd5\xe9\xbd\x1c\x85\x7f\xdc\u0412\t\x19\xf6m\xbd\x85\xa79\xf8'\xf0\x11\x14[\xe6\xa7\xc5\a\xc9d\xda\x17s\fDW\u0520ND\u03d8\x9d\x00\xa2\xdd\xd6[[\x1c\x0f\x98nCo\x15\xa3\u0612\x8cV,P\xf7\xb2\x98P\x97\xbbP\xdcL\xaf\xbfX\x10C\xa8c \xea\xac;]?r\xf3\xfb[\x00\"\xd5,k\xfb\xa6o\xdcex\xe6\xb3!\x897\xcf\xe9\x0e\xa2'lY\xdf\xc4O\xc0\xa9\x8dj|z\x16~u\xc6K\x00Q\x92\xb5F\xa8\xaa\u68ce\xb4\xdf\x00\x8b\xdfn\x8a\xeb\x06\xee\n1C\xa7\x94\xdfXCG\xe8kB\xf4e\xe4tC_\x95\xf4\xea\x02o\xdciSB\u00e1\xc99<@\u05b0g\xca\xc8~\xd5z|\x11\x88\xbd\xd9\xdc\x03\xaf\xa3d\xcc\xd6\x03\x88\x1a\xc8\x7f\xb40\xaf\xe7|\x12@du\xaa\u0670\xd0\x05\xb9\u01f1\xd0\xe7B\xf3\xa9\x8f^8U\x9b\xc6Xt\x06\xac_\xa6R8'\x1bGGB\x8b\xb2K3\\\u010d9\xe1\x13\x9f\x17s\ub8ad\x0fY\xa8\xbe\xa9IG\xc3!\x96\xccGJ\x96\x05\x12\xb6t\xd8z\xfb{\xb5SX1O\x877\xbd=W\x8dZ\xd1y\"\xa2C\xc9\x19G8\xe9\xb1\f\uf9ff\xb8\xc5\x04\x97y\x19\x93T(A\xe4p\xa2~\xfc-\x8dI\xed\x01D\xeb\xb7O\x91\x7f\x16;)\x86\x8e%X\xf5\xb7\x0eL\b~\xdd\xea\xf2Toe\xba\x19\x80h\xc0i\x99\xc5g\xe75\xb6\xc0r%\x8f,?\xc0\xeb#\xc7\x0f\xc4.\x8d6\xcb\xe4\xea%\xe7\x1a?c,@\xa1\x9b\xde\v\xfa\xb8\xd79\u0511\xb1\x00D\x86\x8b;\x9cx\xdb\xdb\u048a\u0187\a(yJ8kTj9bX\xa3\u0254,U\x1e\xac\x11\xceU\xe7\x06\xda\xf4<\u0739\x1a\xde?\xe3o\xd5\xfd8\xfa\xee\x8b\xda?\x9f\u039a\x9fX\xebP\xf5K*\x18<&xLt\xef\xed3\xc1}\xac{\x80\xf0\xeb&x\xe3\xe9\xfctZ\x8b5\xd7#\xde\xd1\xd1\xff\xf3\xcb\xeaP\x1a\x02\x7f7\u0405\x0f<\x85\x7f\x8b7\x80\xc84P\xf9\xbd\u0306>\xfc{\xe4\xb91%\xf1\x81U\x80\xbb\xcb\x04L\xa8yWT\xde[3\xb3\x7fs\xca\xe3\x11\x1f\x8asO\xf3_]\x9d\xaaQ\x82\x92\x1b \xc5\vw\xa3\x93\xb7M\x9c\x1a\xcc\u44e2\xdc+\x94\x02\uf2f4\xa9:\x02_\xd4\xdbg\x82\xb9\x87\x8f\xaf\xb7\an\x00\xff\xd6Ep\x80~\xfeu\u0352\\\xc0O\xbf{\x8c\x99\xc2\x7f\xe1\f,\x80)\x8d@\x98\x85\xb8\xec)\x9e\xb7\xc0K\xad\t\xf2|0\xb1Y\x1dM\u18cb_T\x04Gw\x87\xddx\xcdz\x03\u03b7\x06\x10uh\xb9\xf4\xca\xee\xb1\xcb-\xb1\xbe\xcd\xca\xd4\\\xe78\xaa\xcdb\x00Q@\x13\xa3\x06f#\xddR\x00D\xe1\x81I\xb3\x1d'*\xd4\x00\x10E\xdd\f\xe3\xd8n\xb8\xfa\t@$s\xe5R-\u03c4\xc3\bP\xa8W\xed=>\xf3\x82\x1atb\xac\"\x96\xb2\xbe\xafH\x96R\xf1\xacH\x96Rq>f\xfbS\xb8\x8f\u01c4\x84\xa5\xfc\xd7YJ\x1b6\x96r;v*O`{\x8b\x9a\x94\xaa\xe0N\xd4\xea7^c\x98\x93EZp\xd7\u0461\x8cE\a\xe5w\x96\xa0\xdc\xc5\x1a\x94b=\xb4\xeb\xef<\xf4\xeb\x9e2\xcd~dS.\x8c\x05(T\xeb\xe1\u0201\xab3\x86\x0fd,\xc2S\x96\x81\xa7\xdc>\xf1i\xcb\xd9\xea\xa1S\x18\vP\x88\xd3\u0605s+\xd9`\x10cU Oi\xbe\xdd\xe5a\xe8\x8b\xd7^\x8c\xf57'\x95\xe9\xef\xac\r\xea\x1f\xdaz\x7f\xab7\x9f\xb1\xfe\xf2\xa4\xfa\x9d\x87\xf6\xb4}5eN\x13n4c\x01\n\xbd\xfd\xf0aUH\x8f\ucf8cE&U\x19&\xd5\xfc\x84T\xb7\x94\x05\x16=\x18\vP\xe8\xe2\xab\x05\xc2\xc2\v\xef\x1e\xee&1\xa7\xaf#\xe6\x97E\xccQ\x1c\x89\xe0\x99\x157q\xc6-\xafX\x01\x9fd4\xff\xa8\xf4v\xf6\xb8I\x00\xa2\xec\x9am.]\xed\x95\xdaI`f\xaf/\b\x97\xbbb\x10c\x0e \x9a\xafx\xf7u]\u05f7.\x00\xa2m\xb5]:\x1e}}=\x0e\xcbP\xf6\xbf~\xf0SA\xe1\xb6P\xc6\xe2{Z\xbe\x14\x03,\xb4x#\x17\x8f-\u07a4b6\x1c\xcc\x02\x81\x0f\xf0R'[E\xedN\x7f\xbedB\xd4\xf5T\x97C\xb2\xaf\x0e\x1c\xa6_F\x8e%\x05\xae\xa4\x8b=\x99Pe\x9ePA\xc9\xef\xb5&t?\xa9\x0f z\xedt\xf5\xa4\xf1\x15N!\r\xe66ax5\x19W6^\xad\xf1\xdf\xccE\xfe\x13\xb3\xb0\xf4\xf7\xc3\x13\xa2\xc1.^A\v\xbf?\x99\a \xaa\xfbz\x16g\xf5i\x0f5\xdaU\x9c\x7f!\x03\xc1\x84m\xb7\xa3\xa9>6\xb3N\xfaH\xd6\x15\u049d5`\\q\xbc\x87C\u0312X\r%\x00\xd1\x16\x95\x98\x8e\xde\xc7t\xebc\xcbK\u070c\xf6{[\u069b\xb7\xc3\xeey\xa7.M\xf6h\u07bb\x8b)c\x01\n\x99\x1f\xf5\x18\x15W\xcfr\x1fc\x01\x886\xd5w\xde\xd90\xeeQ\x12\x8d\xa1.\xf2\xd5\xd2B\xaar\xe9,U\xb9h\xfe\t\x02!U\xb92\ue0d8\u01557\x92\x98\xd1*\xf3j\xc1\xf3m\x9d\x91/\x9fX\x85\x8f\x98\x89u\xa8L\x1b;\x8b&G4\x87\x16\x15\u0145\u05b4z\xf9\u04ef{\x05\v\rq\x15\x031\u07ad\x15\x80\xc8Gfxn\xd0^xS\xec\xef\xc4\xeeQ\x10]\x8f\xef03\xbb\xc1\x9b\x04\x00\x91\xfc\xa4\x05m\xaf\x85}\xdc\x03 \x9a\x95\xf7\xb9U\xd4x\xaf\x06?\x7firY\v\x95\x12\xca@z^\u05b9\xc4m\xe4\xacD\x7f\xa1DNY<+I\x89\x88>eQ\x19\xa0\xfe\x95\x88o\x93Ok\xaa\\.Z\v\u064b\xaeR\x9e\x8c\xc0\xa7O\xadG\x9a%\xb4\xa2W}\x8b\xb2\x9c\u0410\xc8Dp\xe1M\x84}\xa3G\x0f\x01}5\x0e\x89\xfb\x9d\xf8\x04\x10\xa2\xc8y\x91m^\u06b6\xb8$\x96\x0e\v3\x1e\u00b1#f\xe1\n\xdb\x10\x87\x96\xc8u[\x0f \n\xfc\xbcy\xf1\xd6\x0ev\x0e\xbc\xc0\xc99z\x89\x9b\xb9\xdd\x19P\xe8\xfa\xaeNG\ucd6d\xce2\u05af\xbak#Rw%uWRw%uWR\"\"uWRw%uWRw\xad\x9auW=Rw%uWRw%u\xd7*\u00a0\x92\xba+\xa9\xbb\x92\xba\xab\xf4.\xf6dB\x91\xba\xabt\x84'\xa9\xbb\x92\xbak\xa5\xa8\xbb\x06a{\xb0\xe5\xb3\xd4]\xcf\xf0+'RYw\u015f\x9et\x9a\xdd\xe5k\xab\x03F\xd6X7\xf7\x1a7a\u0472\xd3\xf9\u02a4\x1a[a\xd5\xd8\xf29f\xca\\\x95\x8by\x9c\xf0\x88\xc0\xf0\xbd1\x1b\xbc\x00D3\xfa\xbf_\xf5I\xfdF\x8d\xaaX\xf1\f\x16\xeb\xc0iO\xd6\x03\xa7\x85\x94\x16v\x02p\x9f\xe2w\\\x89\x9c8\x15\xe7>\xd8?\xda\xd1\x1b\x7f\xe5\xde>\xdb]\xf79\x80H\xb9z\x1f\x9f\x8f\ua667\xb0\x83\xb1:\xf0\xacc\x94m\xb7\xe1\x00\"\xb9\x85\x8bT\xc3g'<\x02\x10M\xdd\xd3`H\xfa\x98\x8e\x99\xbce\\\x7fV\xfe\x99z\x86\x0e\x00\"\x83.\xed\xbcw\x87h\xe4\x01\n\xb9\xca\xfb\xe4\x1f\v\x99<\x9b\xb1\x8a*\xa5j'EVJI\x1f=R)-\x9fJ)\xe9\xa3G\xfa\xe8IcI\x87\xf4\u046b\xc0>zJ\xb5D\x94t\x14\\\xf1%\x1d\x99A\xa2J:2\xf2,s\xb8\u053d\x89\xe5H1\xfcq\x92\x02\x91z\xbc\xa6V\x8a\xb9\xd3%z\xc5,\xc5J\x91vr\x7f\xdaN\x8e{\x91\xc5m+\xc4jp\x86\xcd=$\x10\b\xb1\xa1\u04de\xe6\xaf\xe2:\v^ \xb9-\xff\xe0^\x19\xd5\x13\x00\xa2U\xb6\tW\x03\x12<\xe7\x03\x88\x9a\xdf\x7f0y\x88\xb5\xc3I,\u03bf&wx\xe1F\xd5\u0225\x8c\u014f \xce\xf32q\u06dc\xedXn\xdb@\u0728)\xa4\xb2Y&\xeby1qQp\xd9\x7f\xdeGR\xc1\xf4\xd8 \xdf\xc8f\xaa\xd1@\x81\xff\xe7\u053fg\xa8R/\x94\x9f\x18p\xb9,\x11v\xa3\xe2[\xe8I :?<>a\xd0$\xf8\x9a\xbb Q\xbc\xaefw\xab\xb9*\x06\x00\xa2f\u05bb\xaaMu\xf2\xb2\x01\x10\xd5\xf0\x8e\x03\xbd\xdeG\xb4\xa4#\xa6%\x06VP\xa5z\xbb\x15\x8b\v\x96)+\xf1E\xbc\x9f8\xde\xc1\xb8;46\xae \xb3Z\xa7\x15\x00\xa2\xbb/\xdbm\xa9;F3\x83~K\xd2\xc7\r@4k\xf7\xa1\x93\x05\xe9\x834\xb1\x94\x9a\xbf\xe5\x97\xd4o\xcdl\x15\xb1+Z\xfdEY\xb1\xab\u057f:3\x16\xa0\xd0\r*%`\xb8\xf2\xe9C\x8c\x05 \xaa\xff\xa0u\xbd\x95\x9f\x92\x17\xd1\xe17\x03\xdb\u01cd\xdc\x1eAI\xec\\C\xa9\x15\xa6\x9f{\xa0\x88\x15\xe6\xe7\n\xf2fr\u0489\x81\xab\xb7\xb6*\xa2J\xab\xcc]\bg\x9a\x87\x8d\x1al\x17t\x16@\x14\xb7H\xceF\xef\xec\f\x0e\xa0\u0434\x06\xbe\x8b\x9edO\x9b\xc3XE\x1cNM}\xc2\xe1\x10\x0e\x87p8\x84\xc3!\x1c\x0e\xe1p\xa4\x82\u00d9M8\x1c\xc2\xe1\x10\x0e\x87p8\x84\xc3!\x1c\x0e\xe1p\xaa\xf6\x9a-\xd5\x1cN6\x9f\x8e!\xbd\xf8\u0163v\x86\xfe\xb6F\n\xf3\xedI\xd5L\x12gX\xcd~@O\v\u0497^\x92}\u93ec\xbd\xbf#\xc8-*\x18@\u052b\xdesk/\u055e\x03\x00\x85\xe6\xd9YM\x9a\xe45M\x8b\xb1\x8a\x18\xa3:oD2F\xa4?\x02a\x8c\u02871\"\xfd\x11H\x7f\x04\xe9\xe4\x8cH\x7f\x04\xd2\x1f\x81\xf4G\x90\xf0\xa4\"\xfd\x11*\xb0?\x82j\xa6\b\"Vi\x14\x9e\x88\xe5D\x8b\"b9N,\x97\xd2Vj\"\x96\x1c\xe2/;AV\xe2\x10\x7fg6\n\x9b\x1c\xe2/\xb3[\x05\x0e\xf1s\x93Y\x1c\xb7G\"\x87\xc6\u02d3\xdcV6\u07be~\xb3\xf7\xf7}\x02\x10\xf8\x9e\xee\x93`\xb5~\xfa\xbc\xa5,\xefi\xfe\xd8\xef!\xe3G\x01\x88L\xce\xee\x1f;yM\xdb\xd7X*\xc8x\xe2\xf4\x10\x9fl\xf9P\xc6\xe2\u01d6\x1c.\x1aJ\x1c\xbe\xb7\xc1\x92\xdb\xeb$ut\xbb\x10\x9a\xb3d7Ib\x92\xdeE\x17\u054a}\xa2K2q\x98\x1c~\xac{\u0706=a\x02\xff\x1f\xeai\xedQ3&F\x85\x9e\xd6\xd6l\x98^\xa3\xea\xf44\x90\xc0T\xe8}aJ\xf6\xe7\xb5Q\xa7\x05\xa6\u008bp\u05c2\xc1\xf1}\xec\x00DG'\xe5\xd4\u0522\xeeZ\x02\x88:\u076f\xb3\u01b3\xabE3:\xc7\x1f\x8f\xa1[dLXv\xe1\xcax\v\xae8\xc3s8o?\xa7\x9a\fh\v \x9a}i\xbdnJ\ub34b\xe9\xb0#\x87\xe0\xc9!x\xc1C\xf0\x8f?\xd7\\\x19\xbbf\x99\x1e\x96O\xff\xa1wm\xf6\xf9\xcd\xdb\f\xb1{\xcf\x7f\xe7\xc3^\xea$\xec\bc,@\xa1\x8eq\xeb\x9e\x19\xafS\xd1e,\x00\xd1\x15\xf9n\xb5N\\\xe0\u04adP8\x83\xb1\x87\xe0I\xf3qr\xdc]\xfa\x9b\x8fKD\xa4K\xfaa\x97\xa5\ue1dbK\xc5\xfaa\xdb\x0f\xf4\xfa\x11\x93\xb9\xb0+\x80\xe8HN\xd2n\xbd-\x93\x93\x00\x85\f\x9a\x0e8}b\u025eu\x8cUT\xef\xa9\u06c1\xd4{H\xbd\x87\xd4{H\xbd\x87P\u04e4\xdeC\xea=\xa4\xdeC\xea=U\xb2\xdeS\xa3\x13\xa9\xf7\x90z\x0f\xa9\xf7\x90z\x0f\xa9\xf7\x90z\x0f\xa9\xf7\x90z\x0f\xa9\xf7T\xa9\x1d\x9c\xd4{*G\xbd'\x1a\xdb:\x844=&U\xa0\xbf_\x05*\u03e6\xc7e{\x9ci6\xcd\xc3\xf4G\x9e\xf5\xa0\x97(\xd2'\xb8B\xfb\x04\a\xb7\x98\u06e1\xe6\xf7\xe0t\x00Q\xd0\x02\x05*=\xec\xb3\x19\xa0\x90\xc9\xe8\xf3c\x9b_vh\xc9XE\x15$\u054e\"+H\xa4\xc7\f\xa9 \x95O\x05\x89\xf4\x98!=f\xa4\x91\xea&=f*\xb0\u01cc\xc2J\x11T\xb7\\\u04d2+\x83\xa3\u01c4q\xfcW\xdd\xc4\x7f\ue489v/n\xd8$\xfe\x87\x98\xc4\xdd\xde]\xf8\xc1o\u03df\x7f\u07a5\xe4\x9eg\xe1\xee\xe3\xeb\xed\xe1\xe32\xc1\x17w/?D\u0673\x12\a\x04/\xfb\xce\u06dd\xb3\xbd\xfa\x0f\xde\xd3jr#\x00Q\xc6\xe2\xc5\x1f\xb5\x95^\xfcG\xef\x88\xce\x18\u06aa\x14)\x82G\xf1\x9e\u00b3\x10V\x16\xa5X\xc2\xe1\xbb\xdf;Ee\xf9\xb4K\xbc\u03211\xaaS7F6\x9aF7k\xf8\u03e6BU\xfb\xf9q\xfb \xd7\"NM\xc6\vGZ\x98\xb2\xed\xf0Zb\x01\xc6b\xfc\xa8\x90e_\x8c\x1e!\x9e\x92\"y\x06\x99n\x192'\x89[\xf7\xe7\xf7\xfd\xee5\x9cK\xb7\xe49\xe4w;\xf0\r@\xa4\xea5\xb6\xc6`\x99\xb6_i\xf7d\xb1%@\xfb\xca\xfc\xf8.\xf4'\xfc\xca\ue862&.,\xa3W\xba+\x85\xa8\xc1+E\x0f\xb0\x8e\x10&GN\x0f\xa8\x95\x11Y\x18\xb0\x05@\xa4\xb3\xf4\xd1\a\xbbN&\xcfYIC\xc9wV)6\x8ajZ3\x16\x14\xc6e\xdf\x02\x10\xb5?\xf8`\x9b\xcf\xd6\xeeA\x00\xa2\xb7\xe9\x16{\xdb\u03db\xaa\x02 \xfa\u043a\x91\xab\xdbD\xa3\xb7\u060c\xbdm\xc2\\]O\xf7M\x1c\x00\xd1{\x93\xa1\xdf\xfbM\xb0\x89\xc4\xe2\xe9\xcfI\xdbT\x8f\xadR\xfb\xc86?2\xfe\"\x0f\x88\xbb\xfc\x8c\tx\xf1\x96!O\x01\xdf\xf6\xd4\xf5\xf8bn?\xfe\b\x80\xc8\u066c\xb5\xc6\u0100F\xcb\x00D_v\xbfs\xfbnh>\x1a@T\xd0 x{\xee\xf7q\u0097\xe9\u0240B\xf3\x95\xde\f_|\xb9y\x1d\xc6\x02\x10i\x9d\xd2x5\xac\x86\xcb!:\x8d\xec\x88\xed\x13Bz\xbdRx\x19\xa9e\x80\x8b\x1bo\xcb\xc5\xcbH\xf7/-\\\xba\xe4\xce\x13\xf7\"r\xa7\u02b4i\xddre\x93\xe2\xf1j3\xd3\x00D\x9d\x94\xd2G\xf7=\x94\xf3\x1cP(zLR\xd8\xf4\x83nF\x8cU\x04\xa15F\x10\x11&\x81\xd0D\x84ID\x98\x04D\x13\x11&\x11a\x12\x11&\x11aVI\x11\xa6\xf2(\x11\u0314\x82vef\xa6\xe4\xed\xa5\x97\x99\x92\v\xc32S\xb2\xae\xb8\xdaSs\xb6\u01190S\xac\xccT\xa9\xe6\xbe\xc5q\xc5~qU7\x85\x14\x8eJ\xc0gn\x84\x9b\xfa-nj\xe4\xe0Z}&\x8do\xf3\x00@T/\xeb\x065\xf4\xfb\x93\xd1X\xdaa\xbf\xd3z\x945\xff\xad\x81\x84\xc7\xdc\xf47\xc6\u0714\x8c\xf9\xef\x8f\xf9\xaeg\xdf^\x1d\xcd\xdc2\x8d\xf7)\x8e\xa7l\u01f5\xe7&a\u01fc\xe3\xc2V\xb97_\xb40\x06\x10\x99\xe9\u0177\x9c\xf6.{\x03\x96\x14\xb9\xe0\xdfiM\xf3\x96c\x9e\x13>\xf2'\x1fi\xf2j\xdc\xd9W\x9a2\xa3\xb0|d\xeb\xdd\v\xf6($$]`,\x00\xd1-\x87\xb8\x80\x9e\xc37\xf7\xa2K,jX\x01\x19i\x18@\xa4b\x15\xd00@L\xa6\x97\x9c\xf5\xff\x13\x9a\xb9\xd8Y\xff\x88f\x16\xe9*54\x9a\x03\x88\x92\u49be\xaf\x99\xb8n9\xa0\xd0>/3\xbd\xed\x91\x16Q\x8cUD3\u05e8)\x92f\x96=#\x92f\x96\r\xc5d\u02dc{lu\xdcR~\xafxT.I\x06[b<\xad\xe1\xcb\xd4\xea5\xbf\x1fsf,@\xa1\x96fn\xbe\xc9\x1b\xea\x9ee,\x9ag\"\xfa'\xa2\x7f\x92F\x96\xa9\x92\ua7d6\u059d\x91x\xca\xc8\xee:cI\x1d\u02e4]\xe7v~/\xef/\xef\x01\x85\xce\xeb\xbeX\xac|w\xf5b\xc6\xe2\xc7f\xb5\u06a2\xf4OA\xb8\x83oT\x93\xb2\xe7\xbe.\x02\xe9{\xd9\u0395U\xba\x8b\x17 \x9a\x1b}e\xabR\xff\x98\xcd\x00\"\xaf\xbeKv\x9c0\x1c\xa5Mo\x84\x1c,\xa3\x04s0{$<\x8c\x7f\xf9?>\x1a\xc3\u02f4b\u058c\xdc\xd89TK\x89\xfe\xb9Nl\xfb\x83\"\xfe?\xb9o\x85\x8f\x84\x00N\xe2\x9e\x10\ajW\u06054\u0147\xb8\x96\xfe+C\xed\xad\xb39\x00\xa2\xa7?\xa2\x0e\x1f\xdb^@Gqn\x99ObV\xc6(.\xfe+yF\x11\xc3=\x8d\xee8\x00\x88\x86\x0f\xbd\xe6\xe8u\xc7\xc9V\xe0\xf3\u00f6\x9d6\x92\xe9Sx\x11@t,\xd2-f]\xa0\x1a>\x19m6sL\xd8.\ueb71,\xeb`!u\xa7\xec\x91P\xf4\x91Ul<\x92+K\xd8V\x91{\x93\u0281\xa9\xc0\x06I\u07b1\xa9\x03-V\xcc>\x00 \xdaZ\xfb\xc8\xde\xfe\xfd\x1em\x14\xf8\xd3\xe7\xdc\xdb\xe7\xf3\x96\xa3n<3z\x87s\x86\xba\xd9S\x00\x91N\uc882Q\x93c\x84\xab\xd6&\x03\nU\xebv{\xadUV\xd3T\u01a2SVol\xbf\xc3\x05x\xfa\xa2\xd4M\\b\u02e9 \xea\xb2.\xd7\xf2\u0510\xb9\u0371\u045c\xf8=o\xff\xd0\xc0W\xe7~\xfeb\xc5_\x87\xed\u01db`\xc3wf9\xb9\x1a\xd8\xfe\xfc\x96\xde%\xd7(~\xa7=\xe6P\xbb\xf0\u056a7w\x05\x87\xa2 \x80\x88\x1b\xb1\xdb\xc1xa\xc6X\xbe\xbb\xb7\x95Lj\x1c|\xdc\xfd\x83x\xd96v\xd5sg\rJ\xfa\\}\xa9R\x02\x1d\x94\f\xedP,\xba\xe6|Tn?\xc9\xfb\xca\x19\x00\xd1L\xb0|\xee\x9eX\xa3\xc1\x00\xa2\xf9wU\x9e\xdc\x1c\xe6\xafN\xcfxc\xfe7\x96t\x1f=\x06\x81l\xe7\xd3\xfe\xa5\xf4D\xce^\xf6M\u0628\xc8M\xbc\xb89\xc0\xe9\xff\xca\u00a7\r\x80\xe8I\xcd\xcd6\xf0\u0565\a\x8bV\xa0\xd5\x16I\r(\xa4\xe0\x14h\x06l\x854B\r\x94\a5@t]D\xd7%\x9d\xe4\x00\xd1u\x11]\x17\xd1u\x11]\xd7\x12@\xa1\xcb5\xe2\xac\x06No.\xcfXR\u01f8\x8d\x8b9\x9b\x96\xda|^c@\xa1w=\a\xb4\x19\xd43m\x06c\xf1c\xb3\xc6V\x11\x8c\x9b\xd2$,\xe3\u0182u\u02e3\xfe\x85\ud200\u03c8\xabt\x9f\x04\x88NG7r9\xa8v\xf7\n\x80(}\x91z\xe3\xb5c\xff\xabEg\xbck\xf1\x92\xb1\xc58\xc9\u0600\xbfJ\xf0q\x1e\xb2lH\x9c\x1d,\x0596j\x90\x9bU\x16\xf6\xef$\xcb\xce\"E=\x92\x8a\a\x80\xe9\xd3c\x06\xfb\x9d\xad\xc2y\xb8\xe9\xf5\xb5Y\xda\xda/\x8b\x94b\xba\xe2\xf2\x7fUzR\x14\x7f\xaa\xe6s\xb7\x9b\x0e2\xbc\xa7\x01 \xaa\xf7m\xb0*u\xae^'i\x8b\xa0rn-U\xdc[\xbb\x93\xbb\x86|\xa8\xb36\x13@\xa4\xb3b\u07dd\u059fo5%\x11T\xf6\b\x8a\x9b:\xc0\xb0m\x9f\xa0\xd1\x00\xa2\u0614\xe1\x06#\xeb\xec\xfa*\xf0UW\xdb$^\xea\xb2\xdc\xff\x1c\x80\xa8Z\xb5\x9es\xf7\xb8\x9d\x12\xae#\x9a\f R\xf5\v8\xd4\xe2\xd0\xd9wlL\xb2\xccU\xb1\xc9g\x99\xc5,K\xaa\xccP6\x8d\xc3j\x96\tQe\xfa\xcc\xf1\x1emkY\xc8\u9288?\xd7\u055d\r{\xc6RV\x00\xa2\x88\xc4\xe9]\xfa\xcc\xf3\xf5\x92\xec\xd8Hw\xe3\xbbJ36V\x8b5\xe7\\\x98\xef\f \x9a\xdd\xef\xf6\xbe\xb6\xab\xb4\xfc\x05>\xb5j\xbe\xe2\xc1\xa0^\x93Z\x00\x88V.\x18\xf6\xc1\xf7\xa8\xc9L\x00\x91\u03ee\xda\x19\xd3L\x93\xf15\x87\xbe\xed'\x16\xe4_\xf04f,:\x11\xfa\xca\x17\x9c\t\xa99\x1c\xc3\xd7\x1c\x82\xb1G\xb8\xcbK1\t\x91\xf3l\xcd\xf6\xab\x8f\x85\xe4a\x17\xbdK\xf6\xef\xeb\xafp\xbf\x1c\xcf\x7fz\xa2\x82\x94\x1e\x15$)\u652d\x983\xea\xf7\x8b9\x04\xbb\xb2`\xd7}\xa65\xb7oZ4\xe6\x19\x80\xa8\xce\"x\xfa\xf6\xe9\u06b3\x00DA\xba\xfe\xef75H\x9d\r(\x94\xb5m\xa8\xd2\u0488\x89\xa3\x19\xab\xa8\xfa\xa3~]d\xf5\x87\bC+W\xf5\x87\bC\x890T\x1aij\"\f\xad@a\xa8\xca-\x114\xb5b\x14\x8e\xa6\xe6\fd\xe3\x12{\xb3\xe9\xb5J]\xf4\x81\x87\xe0\xb4(\xebK\xd5Wx\x15\xdb\xd9\xe5\xef\u07fc\xd7'g\x90\x12\x80\xe8\u0317zs\xb2l\xbf\xd2]\x17\xff!\u9293\x9c^\xae\xf3\xa2\x9bzt\xc8<\xa9\xfa\x01\xf0\x8f\rp\xf82\xea\xde\xdaK\x9fw\x02\x88Z>V\xd8\xeb8?\xb5\x1e\x9d5\x12\x155K\xe6#=\xb1KT\xd4DE]\xf9\x96\xd8\u02ae\xa2\xee\xf6\u0537E\xbb\xd9^\t\x8cE\xe3\xbb|,\xa3IT\u0504x\x13B\xbcu,\x89\xa1Y}\xcf\xdb\x04\xad\x92\xb3\xd3\xccC3\x8bz{\x84\x94\n\x9e\x9f~\xfb\xf9\x7f\xa5\xa4\xc1\x02\x1d\x85\xfe\xb1T\xa7i\x93\u0702\xe0\xeci\x05?\x7fF\xec^K\xbcxUN\xf1\x99\xd28/V\x1b@\xa4uA\xe3\xf4\xa9\xe5\xa3y\xe0\xc0`\xbfL\aM\xab\xfd\x8d\x01D\xdfv\xac\xaa\xfea\xbf\x8c\n\x0fzk\xcf\u07a7\x93\x9au\x9a\xb1\x8aX=\xdd\xee\"Y=\xa2\xe9\xae\\\xac\x1e\xd1t\x13M\xb7t\xf2zD\xd3M4\xddD\xd3M4\xddUG\u04ed\xf5N\x04Y\xae\xde\x06G\x96+\x0e\xc0\xdcs\xfbsIai\xfbVH\x99\x89\xa7\xa1\xe0\xb9\x15\xfd\v\xaa\xb3b\tx\xbf\xd4\xfe\xeb\xe7\xb6\xda\xf5\t@\xf4a\xf4)sW\xb36=i\xe7\x11u\x00V\x1d`\x18\xfc\xfd\u0136Z\xef\xe9\xe6\x9cP\xe5_\x88\x19\x12\x13\xec1\xb1\xd5^\xf5!\xba\xef8O\xd2\ub4a9D\xd7%\xe9V\\\x16\xf3whd\xea\u0095I\xb9\xe1\x00\"\xe4\xde\u0131\xdfGw.\x89AQ1h}nBN*\n{!\xd9uI\xbac\x86\xc4\x04{LXv}\xff\xf6U}\x8b\xc9\x00\xa2\xf6=<\xd6/L1oO\xe7U\xe4@\x169\x90\xf5O\xce\x0fr \x8b\x1c\xc8*\x97\b\"\a\xb2\xaa\x02\u0329\x1c\x87~\u0201,\xe9\x1d\x9b\xf29\x90\x95\x94'\xabZ`?3\x94\xb1\xe8\xa4l\x1e\xa5H\x91\x03Y\xe4@\xd6\xef\xc539\x90%E\xba\x90R\u05fa\x14\u04c5X\x8a\u0485\x10\x1c\u0302\x83\xdf?:\xdf\xfc\u0485V\xfc\xe2\xff\x9f\nI\xbaM\x1e\u066b[\xdf\xe6\xee\x00\xa23OT8\xb1O\xea\xbd\x04\x10u\\\xdfa\xe7\xc6\x03]\x9e\x02\n]zR+\xee\xfa\xcd#=\x19\xabHHR-^\xa4\x90\x84\x1c\x0f\xab\\B\x12r<\x8c\x1c\x0f\x93\u018a79\x1eV\x81\xc7\xc38WET\xbce\xac\x84U\xbc\x05\u0493B\x88\xf0\xe79,1;\x00Tf\xdb\x01J]\xe8V\f(~.\xf3\x8eO+\u054f\x97\x9d~\xe0\xaf\x05\xb8\xaa\x18v\x00qI\x82Ha\xe9\xac\xfc\xb4\xf8 \x99L{\x00Q\xea\xea\x905\x9b\xe3jG\x01\x88\x1c\xbf\xa6\r\x9f\xf2\xbc\x8f\x16\x80\xc8a\xb9\xab\x11W)P8\xbf\xc2\xdb\xee\x9d\u0323\xe6\x05\a\x0e\xdb\xc2\x7f\xd5R\nZ\xc6o\xa5\xae\x9b\x14\xf5R\xbf\x93Y\xf1r\xe2f\r\xban\x1e~\xe4n'\x00QF[\x9b\x1c\x8b)s\xbb\b\xbcs\u0726E\x9a\xebV\xb7\x06\x00\xa2\xb7G\x87\xf6<\x94_\xff\x14\x16i\xb5\u0716\xddO;\xa4Q=\x96\u01d4\xb4\xdc\x7f\xb2\xc0\xc3\xfe\xc8M8\xd8g]\x97P\x00Q.\xa7\x85\xc5\xf5\xd3\x1b\xc3\x01Du\x13\xdeM\xdf\x1d\xf8y-\x16\x04k\x1f:*'\xf3:w\x0fc\xfdJm8\x18\x10\x1c\x89\a\xc1\xae\xa5`\x8a\xb8\x1a~\\\xf4<\x1b}\xdf\xc2\u0321\xe5\a\xec\x00\f\xf9\xf1_\u01ed\x937\xf7\xff\xf9\x1c\x18e\xbf\x8d\xfbX\x972)\xfbml_\xdcLKz\xa5\xf2\xa7 \x04\"C\xa3\x16\xfd5\x12\x86\xc7\x00\x88\xb6\xac\x1e\xba\xb1}H\xf62@\xa1\x18#\x0f\x87e'vvd\xac_\xd7`%\x8bLg\x89.\xbar\xa5\xb3D\x17Mt\xd1\u0499\xd0\x12]4\xd1E\x13]4\xd1EW\x1d]\xb4\xfc|\x11(\x91\xf3\x9fh\x94\xc8q\u01a2D\x99\xbd\x98\xc4J\x06\x97\xdd\xff\x9c1mXP\xe2W\xb1K\xbd\xb83\xf9\xf8-\xb6\xa2qbZZv\xa3\x88\u876a\x00\xa2\x1d-\xf6\x9dt\xe2\x04\xcaa3\xfdS3\xa77\x89\xea\x137\x95^\u02eb\xff\x05\xbf\x9a\x8a\xefWS\xa9\xf0\xab\xf5\x99\xfa\x87\x17s\x86\x8d\x00\x10\xed\xfa6k\xe9\f\x8b\x11\xb7\xb0~U\xfa\x10E\xa9\xca\xd8YVJ\xfc=(\xbck\xdf\xd5''\xf5\x04\x10\xad\u053f\x98\xa3\x1a\xb2\xd7\x1f\x8b\x04kj~\xc8\xe89T\xcbI\u02a08w\xf5\xe716\rC\xb0\x02\x14\xa4\xf02\xc7v\xe3\x94\xc2\xee\x8cEO\x81\xdd\xfc\u04b2\x10(~\x13\x0f\u0179+\xf87\xb1W\xf0\x9d\xea\xbc\xc8\x1b\u01b1\xbb\xb1\xd8\"\xd3\x10;b\x9e\xf6#[\xb5\\\xb28\x88\xff\xe0\xa4L-\x82\xb4\x90P\x99\xfac\u051e\x87\xe7\xf6\x86\x9b\xfd9\u0271eIu\u05da\x85F\x00\xc0o\xab\xbc\xf7\x8c\xec|\xe2\x05\xa0\xd0a\xffg\xf3\xee\xf4M2b\xac\"\x8e\xa3\xfa+\x91\x1c\x87\xdc8\x91\x1c\x87\x9c\tf+\x96\ra\xdb2J\xd5j\x8a\x1f$\xc0\r\xb6\x84\x89\b\xb7\xdf\xc8\xe4\xba5\xafi\xe58\xff\xd9f\xc6\x02\x14\xca\xe5\xa4w\n\x92\xd9U\x9f\xb1*.\vG\x83\x8d\xf7\x9cuY\x9b\x9d\xc5X\x15H\xd1\xf4\xe8\xb8\\-1\xe3\xbe?c\x91\xe2\").J1l\xac\xa4\xc5\xc5;\xc9I\xa7&ll\xb7\x8d\xb1\xa4\x0e6~\xab\xa7\xa378\xe1\xbc>\xef\xff\a\xde\xdbwKuS\x1ec\u0474x\x17\x11\xb0Q.\xb2\xe4\xca\xe0\xe81a\x1c\xffU7\xf1\x9f\xbbd\xa2\u054b\x1b6\x89\xff!&q\xb3w\x17^\r\xf1\xfc\xf9\xe7b\xabhx\xdbp\xf6\xac\xc4\x01\xc1\u02fe\x0f\xe7\x99^\xfd\a\xefi5\xb9\x11/\x9f^\xbc\xf8\xa3\xb6\u048b\xff\xe8\x1d\xf1>\xe600w\x1f~q\x11\x03\xaax\n\xa4\xbf-\xb6\x06?\xe9\xd9c\xdc`q\x93h7\x81o\xf1\xdd\uf762\xb2|\xda%\x00\x91V\xdc\xea\u0725\xbdR\x15it\x9e\x82G\xe7\xb68t^\x9b-%\xb8\u0396\x12,\x15\xb3\x88[H\r\u0114X$Q\xc5u\x93\x18\x8al}\xbe\xe7\x81\xc4]\xe7\x8e\xf1\xe3`\xa5\xb8\x98\u03f1\xec/\xe9)B\xa7\xc8KK\xcd,?j\xa7\x7fM\x9e\x02 Z\xfd\xcd\xfb\x91\x95\x8f~\x12\x80h\xb0c\xfa\u0374\xcb.\xda\x00\xa2=\v\u069c\xea\xad\xefy\x0e\v2.\xbe}\xb4l\x8c\xe1\xbd\xe7\xf4 \xd4aa\x062\xc4}Y\xee^l^P\n,\xb3\xfaA\x122@\x88\x06\x99n\x192'\x89[W\xe0\xff\xd3j\x1cv\x1d\xd3t\x19oh\xaf$\xedZ\xa7\x9f\xa3)\xa8\xb6t\x1eTw\xc6\xc6\xea\xdb^\x00\x88\fb\xd6o\x1b\xf6\xf8\xf1\x1a,\x1e[\xbd%\xccK\xe5\xcc\xd5Il\a\x1f\xa8\xbee\xc1\u043f7\x10L7\xb8\xb2\xf8\xd5\r\xf7\x1e\xdfNw\xd6_\xe0\x1f\u057a\\ \xbf\xe0\x9a\xd7S\xd7\u32f9\xfd\xf8#S\xc7\xc7\xfd\xde>\u0192:\x0e\xe9\xe2#W\xb9C\x9b[\xae\x06\x14J;\x9f\xec\xae\x13\xe5\x87\x18\x8b\x1f\x9bJkDpH\n\x11\x95\x99C\x92\xbfW\x858$\xb9\xa7\xf8^-6\xb8\xb2R-6\x0e\xa9T%\xb6x\xa6\xbd\\\\\x89G!e\x8f\xe7W\xfe\\\xe3\xf1o\xb1H_\x96\x0eSS\xad\x93\x7f\x16@\xf4\u058e\x9aC\r7\xb1\u0182\xd3Gsn$\x7f\x88\xbdnMo\xf5\x1alC~\x83m\u0217\x89\xab>\x11o\xc8\u0156\x9f\xfc[C\x1el\x1a\xbd|q\xdb\xfa\xe6\x00~k\x91\x95\xda~\x93\xbf\x0e\r\xda\t(\xc4Y\x90a\xf2\x02\xe9\xf6d\xac\"rV\x05\x10%\x12!g\x89\x12\x89(\x91\b\x8bD\x94H\u04a0D\x92\x1b*\x82E\xe2\xcc\xc05\xf6\xa7:\xe1K\x81\xa5/^+\xaf<\x19\xb3IG\u078e\xf8\x9c\xf7p\xb6C\x89\xb36,m\xbd\xff\\~\x8f{\x96\x8d[\xafik\xaf\x1eW\v@\xe4\x9f\xd3\xdbhH\xfa85z\xd5%\xed!\xfe\x9c\x1f \xed!\x84\xe0\x8b\xca\xda\x1e\xe2\u070c\xe4\xb9;\u0684>a,:\xb0wa\xa5&\xd7Xpb8\xf6L\x8a\xe4\xb5&\xde\xd8P\v\fI\xdd\xed\x9c\u04f6\x1fv\xb4:_t\xf3\xb3L\xac\xa5\xf0\xf3\xa1%\xaa@q\xe7\x7f\x19\xe36\x1b\xdf\tl\u81fdM o13\rT~/\xb3\xa1\x0f\x0f\u0599\xa7\xf7\u055d1\xb8\xbd\x1do]\x9ba\xfe\xa9\u067bms\x00D\xaf\xefw\xf2\xf6H\u0699\xc6\xdba\x95N\x1eYch_\xcc*\x02B\uad49J\x85\x00!\xa2R!*\x15\x02\x85\x88J\x85\xa8T\x88J\x85\xa8T\xaa\xa4JEQS\x04\xbf \xfb\x8a\xf0\v\xe5\xc5/\x90\xc6\"\xa4\xb1\x88(\xbf\x92\xc6\"\x7f\x95\xb9\xf9\x17\x1a\x8b,\x9e\xd6z\xd8\u024d\xc9~\x8cE/-\x00[\xec\xcfg!q\xceP\n\x18\x12\xa7\xe2\x8b\xfdx\xd2\xc7iv\x97\xaf\xad\x0e\x18\t\x97~\xf1F\xb7\u05f8\t\x8b\x96\x9d\xceW\xe6\xbf$\x91\x00T\x80\x04\xe0o\xb1c\xa9\xc6q\xb7(\xef\x157\x00D\xfd\x9dzn\xb8\xe6+7\x02P(uI\xbd\xd5m\x14_E3V\x11;\xa6\xac'\x92\x1d#w\fT\xae\xa6\xac\xa4\xf8N\x8a\xef\xd2\b\x8e+i\xf1\xbdj\xdc1 \xd7TT\xf1\xfd^\u0255A\x1a\x8ep\xf0\xb6T\xef[\x167\x16\x18\xa6]\x03\x10\x9d\x9b\xc8uR\xcf\u06f7\r@\xb4@\xf1\xc8\xea\x9d\x1b\xab\xa7\xd0O\xaf$\f\xdac\x9f\xa3P&\x16_\x0e?\x8f+\x87\xcfg\xdb\u02f4\xc4VP'K\xa9\x82Z\xd8eW\xa5r\xfdb\xa9{\x90\xf3)-8\u012c.\x80h\xe9\x96<\x87\xfcn\a\xbe\x01\x88T\xbd\xc6\xd6\x18,\u04d6\xbe\xf8\x9e\xea\xceV\b\x83\xe2\xca\x05\xe2\u0155\vp\x17\x8a;<\xa5\xae)d\x1d\x03L\xe8\xa6\a\xd4\u0288,\f\xd8\x02 \xd2Y\xfa\xe8\x83]'\x93\xe7\x00\xa2\xcekG\x0e\x8d\b\u06ae\xc0\xfb\xd7fW_Ol\xed\xd4\x16\x9b\xdb\xff\xb7R\xe1\xae\xee\x18\x1f3\x00\xd1(Nd\xf5\x82\xaf\x05\u0771i\xfe\x845\xca\xf1\x9f7\x86\b\xff2:\xe8J\x9dh\x12\u51caP\x86\xd7|\xf5\xa0\x97\xc2m\x87\x10\x00\xd1\xf0\xd9'\xb6W\x8b\x85\xbb\xf1\xca\xef\x85^+\xe7\xf6\xb1\x7f\xcaX\x00\xa2v\xa7\xfd\xebR\x87\u6d24\xe3\xaba\xc9U\xaa\xe2\x9aG\xe0Q\x9cU\\\xde(\xe7\xe0\xb9\xeb\xb0\xc3k\xfb]'\xe3sD\xd7\xefl\xb0\x81]R\xcc\v\xc9q\xb3=\x9b\xda}^\xf1\x1e@4\xed\xf8\xf8\xb9\u07df\xed\x8f\x00\x10\xd9G%\xdf\v;\xb6l#\xa0\u041c\xb9\x1f\x17ZX,8\xcaXEX\xa1\xa6\x9d\xe8J:\xb9\xc0\xa1Ra\x05R\x9f&\xf5i\xe9D\v\xa4>M\xea\u04e4>M\xea\xd3U\xe7\x02\a\x85\x02\x11\x10\\\xce\x0e\x0f\xc1\xafc!8w\x97x\x18\xdc[\xd4\xdd\xc0\x92\xe0\xbeC\xe4\xbd:\xcbFt\xd2\x02\x10m2\xd4\xeb\x9a\xfb\xf1\x95\x1d\x80h\x9d\xcbh\xc5\x13ss\x9b\u04e4\xf1`\xf10;'\x1f\x8b\xd99\u02b8\x12\xf3\x1d\xb6\x9c\x92`vV\xccn\u0386\xd99b\x97\xe0\x13\xc4.\xc1K\x15jWn\x98=\x17\x04\x8ev\x02\x10\xc5t\\i\xa0\xe7\x7f\x7f\x14\x16\xcb\r\xea\xd7p\xa5\xe3\xb6\xe3\xc1\x12v\xa4\xa9\xf8\x8e4\x95>G\xaan6V\x1e\xa7\x93\xd0\x14@\x94\xac\xb9N\xf6E\xc0\xb5VXGj\x9bd\x9b\xf62\xdcv\x01@41\xb7\u0583T\u01e8\x18,>\xbe<\xcd\xe0F\x13\xb8wVU\xa2?\\\x02}z\x04\xce\xf0\u0195v)\xe4\x19\xd8\u0163\xe5\xb5\u0581\x8c\x05 \xca\x1c\x16\xd5\xea\xb2B\xef5t\xca9\x05{\xa0A\xfa\x0f\xbe\xe3\xf9\x92\x05\x96\xfd\x1aL\x88\xb8\xce\xc1\xc6\xc3 \x9b\x9d\xb3\xefo1j\xc2\x7f\x9d\x7f\xb5\xea\xed/\x92(\x92\u0416\xafW\xeb\xa0I\x82\x8e\xcdr\x9e\u78ff\fj\xb04\x86\xf7\xaf7T\xb3rWo\xad1\x92\a\xe9/\u0532\xbf7?Q\x9f\xb1~\x15\xa15D\x12KrmD\x17\xa1\v0I\x80l\x1f6\xe2\xfe2\xdb\xe2\\\nN0\x9f\xac\x903\x18\x15v\xdc\"\xc2}\xd6X\xed\xad\x17j3V\x05r\\\x17\xaeQ!\xfd\xa6{\xd4f,:\xdb#\xa5oR\xfa\x96F\xdc]IK\xdf\x03\x12Z\xbf\x9a\x1a\xf1b\x06cI\x1d\xee\x8eXj|\xb2\x8fK\xc0\x1a@\xa1/\a\x15\x17\x7f1\xa8\x97\xc9X\xf4\xf2\xbfMT\xe9\xbb#N\x17\x0e\xdb\xe3\xe7\u7d32'}\xfc\u057f\x1b\xdf\x05\x9aT-\x81\xff\xec\xed3\xc1\xce%@8\xf2\xf5\x06\x10iN\xaf}sA\xf4\x14\x1e\u0793\x1b5l\xe7\xa2k\xdc\xcf\xf4\x9c[\u01b2x\x1c\xc5\xcfG\x897\x8f\xa2\xc7V\x8b\xaa]*\xc5`}\xb3a\xfdd\x0e\xfa9\u00d5\x00\xa2\xb1F\xab\xf5\xdeFT\xa7\xb3t\xc9\nm\xff\xf8\xe1>\x1b\x87\xf4\a\x9ek\xfb\b\xa4\xee\xad\xe6\x1b\u06d9\x19\xd4L\x06\x10\x1d\u077b\x7f\xa1\xef\b\x15K\x00\x91{\xf2\xa2\x19ViY\xb9\xf4\b\x1d\xc1d$\x14\x8e-\x10\x86\xbcX\xdf\x10\xf3\xf41kFn\xec\x1c\xaa\xa5D\xff\x1c\xc4;\x94{Y\xdc\xe2{),)\xaa\xf8\xfe\xc7o\xc4\xcb4;\xebN\u05cf\xdc\xfc\xfe\x16\x0f@fY\xdb7}\xe3.\xc33\x9f\rI\xbcyNw\x10\x16%|\xdd\xea\xf2Toe\xba\x19\x80h\xe7p\xf5\xc5:Q\xef\xcf`\x01\xc3\b\xf7\xdc\xefW\xf2W\n\x8f\t\x1e\xd8j\xae\x99\xf7\xe0\xee\u0289\x19\x8cE\xfb\xd7\f[`\xaejG\xc6%Qw\x8e;\xdc\xe2\u023c{\xd3y\xf3\u016e\x9e\x89\xbd\xe1\u06cd)\x80B\xba\xb52\x03r\xbeR\xa6\x8cU\x04\x0f\xd4\ue2ae;/\x16}\x82\xdb\x1eWw\xde\xca\xc6\x11\x12xPu\xe0\x01\xa9v\x93j\xb7t\x02\x04R\xed&\xd5nR\xed&\xd5\xee%\x80B3\x9d\xa7\xcf\xebpL\xa6\x0ecI\x1d\xea\xdeuS\xab`\x8e\x97J\x1d@\xa1\x04\x95\xf9C\x9b{\xeek\xcbXtV\xa5(\x02u\xcbZ\x11\xd4MPw9\xa0nx\x11\x93\xe8\u00c5\xf8D\xbf_$v\xf9\\\u04b8{\xfc\xe4\xbc k/\xdbX\xde\U00108ed7\xbd,<\xef\x0e\x16Uv;\x9a\xeac3\ub90fd]a*\xbe+L\xcb\xc5\x15\xdd\x1a:\xce}l\xf2\xee8\x80h\xae\xf2\xc2y\x9a\xb2a\x19XW\x1c\xef\xe1\x10\xb3$VC\t@d\xb8\xfea\u052dVu[b\xb1\xb6y\xb5\xb6\n\xc1\x879fX\nB\xbd\xe3\xccUs\x1dMZ1\x16\x1d\xdbK\xb1E^r\xe0\x99\x94~\xffZ\xe9W\xb1c\xef\x1dS\x1f]]\n j`\xff\xb8\xb7L\xce\xe8>\x80B\xc1\xee\xceo\u0198\u0677c\xac_\xa5\xdf\xf6\"\xb9\x1dr\xfe\xb8r\x9d) EXR\x84\x95F8XI\x8b\xb0U\xe4\xfcq'\x11pP&\x06w\t\u06d6\xb2H\xf0\xfc\xf0\xa1\xff\xc7B\xdb\xe2\x00\u013eq\xe35AI\x87\xb7\x02\x88\xba\x9f\xf1\xb3]\xb1P\xb9\xff/\u0501=Q,\x87+\x03&\xb1\x15\x17\xc2\xc5,\xcc\x15R\x03\u012d\xcc\x15R\xea\xe2\";\ue0d2+\xa2\xbd\x87\xb7\x9f\x97\u01d8)\x18\x14\xc9\u06ad\xa9bF\xceZ!\xcc\xd1e\xfd\xdee\x00\"e\xb3\xb0\\\x13\xd5\xd9+\x00D\xc7\xf4\x8f)\xbd\xaf\xe9\xceK\xef\x13ze\xa7O\xb3\x9f6\x0f@t\xa4\xd5\xfc$\xd8y\xe3hl2jb\x9f\x93\xb9\xeb\xa5=\xc2&\xa3\xdd\xeeG\xae\xd2\x1asm\x18\x8bS\xffJ\xfb\xa8\x12\xe2\xf1\xd6N\xdaW2\xa7^N\x04\x10u\xf5\xbb\xe8p\xb2\xc6\xc4\xc1X\xd4\x11\xb9\xffd\x01B\x85\x9d\x18\x8b\x8e\xecaR\xd4+[8^\xc0-\xd9\x10\xa9-\xe9\xa3l\x94\x93?\x03;pw\x02\x9d\x02\xc6\u056d\xbe\x8e\x9e*\xa0d\xe0\vt\f\xaa\xba\xf3b\xbd\u6b24\x8d1\xc7b\x7f\xfe\xf4\b\\\x1f\xa3\x8ex\xef`\x00\u013b\x1ej\r\x8d\u00f3c\x01D(s\xe7\xae\xcb{\x95W\x01\x88\xb8FC\x06X^\x7f\x10\xc0\x9b\x90\xe3\x02\x87[\xae\xba\xb2\x13P\xc8\xf4\xd9\x13\x8f\x95GT=\x19\xebW{\ufea2\x8b\xc3\xe4Pr\xa5\x02\x10\xa4LK\u02b4\xd2\t!H\x99\x96\x94iI\x99\x96\x94i\xab\u03a1d\xc5xQe\xda}\x95\x1b\x97s.\xe0O\r\xcbb\x92>\x99R\xe0\xa5<.\xc7.\xba\x0f}\xa0\u0605=\x02\u06c5\xc3\xf6\x91\xff}\x949\xa8\\\xc8\xc3\x0eMf\xd9&N{:|$\x16\xfd\x8d\x9dz\xefb\xa0\xc2\xfe'\x12\x1eT\xd3\xdf\x18TS2\xa8,\x83\xaa\xa3x\xba\xfe\xe6\xa5j\xcf\x00D\x1b\xb2/,\x9b\xb8H\r\x7f\xee\xfa\xed\x94\xde]d\x9b\x8d\xdf\x0f \x8aQ\xfd\xf4\xfd\xfa\xb5\x1e\u04f0\xe8\xfe\xc7m{\xef\u076e-\x97I/-\xa39\xbb\xc1\x14\x15\xeb\x99\xc2y\x8d\u0240B)\xb3k\xe7\x8en\xd0\xf4\vc\xd1\xeb\xd7\xebJ\xdc\xfdZ\\\x1agT\xf5\u064b\xf3\x0e\x9fQ\xc7\x0e\xf4\xce^7\u0346\xf4\xb4\x1c\xce\x7f\xc9\x7f\xb5\x18\\H\x99\xb2\xf2W\x85\x94<\xfbb\x92\"\xb2P\\\t\x97\x9c\x90\x1a\v{7z\x95\xc8[\\|\xcd?\xe8\x1f\xb2\xb5\xb6\x00\x10\xb5\xb1\v}\xb8\xbb{\u028d\"\xb6\x12Cy\x8dgu\xa8$\n\xeb\x9b\u04a3,W\u057el\v \xa2\xd2/\xaf\xdb2\xf7\x957\x80Hc\u0133q\x06\xf5\x1d\xd2\x00D\x17\xfb\x9eH;\xb0e\xd3W@\xa1\x87+\xfa\u0339\xea\xdds#c\xfd\xba\n\\t\xdf>r\xbc\x9a\x9c\x9f \u01ebIe\xbfr2\b\x95\xb4\xb2_5\x8eW\u02e5\x88`\x10\xc8\xf1j\"\xf4f{8r\xbc\xba\xf8\xceG\x8eW\x97:^\r\xfd\xb0*\x834\x168\xbb\x1d\xdb\xc0\xeao\x1d\xaf\u0183\xd6%w\aZE\x0e\xe0\x1a`\x9d\xe5w<\xf6EN\xce\xd8\x1c:\u0088\xf6\xe0oh\x0f\xba\f\xed\xa4\x933\xbb7\x0fn\x9d\xc8\xec-7\xfd\x82\x7f>\xa0P\xe0\x8a\xc1\x06\xbd\x1d\x9f%0\xd6/\xedA\x0f\xd1\xda\x03r0\x9d\x00+r0\x9d(\x1e*)\xb4\"\x8a\a\xa2x \x8a\a\xa2x\xa8:\a\xd3\x15'\x89R<\x90\x83\u912f(\x0f\xbe\x82\x1cL'\a\xd3Kn\xc2U\xfe`\xba\xcc\x0f\x9c\x16\xa1\x90Rcao\xeeQ\x8a\x18\xf6FZO\xa6\xe3\xd9\x1e\xc5\xeb\u03cf&x\xd5\u07cf\xf5\xae\xba\xa5Q\xa8\xc9\xe51Y\xfcW'\x12\x05\"Q\xa8\xe4\x12\x85\xb3g\xf7>\xdfz\xa2\xf3f\x00Q\xe2\x8cF\xad\x0e\xea\x87V\a\x14\xaa=\xac\xad\xe3\x80'\v\x1a3V\x11\x93\xa6\xdaG$\x93F\xda\x00T\xaeS\xbf\x19\xeb\x9f:\x1aC\x9c\x1e\xacx{\x93\x8eYu\x11\x94C\x06vW\xc6.8\x12Y?\u013b\\\xcfG \x88v\u060d\u05ec7\xe0|k\x00Q\x87\x96K\xaf\xec\x1e\xbb\xdc\x12\xbb\x05eej\xaes\x1c\u0546\xb7\"\x85\xe9X\x86\xcdSU\xa9I\xff\xb8\xd0\x16z\x03]\xf8\u067fp\x81\t\xef\v\x9b\r\u07d9\xe5\xe4j`\xfb\xf3[\xccK\xe6hV\x01\xee.\x130/\xe1\xf7\xf3%8\x14\x05\x01D\xb96\xfd\xb4d\xfaY\x1a\x01\x88\x0e]\\\xd0a\xd5>\xf9w\x00\"\xb8\xd84\xa4\xcf\xf9\x86\x1f\x00\x85f\xaa[M\xcf\xfd\x9a\xfb\x99\xb1\x8a \xb5\xc6:\xd1\xe2\x14\xd2\x18\xa3RAj\"\x13!2\x11\xe9\x04\xd5D&Bd\"D&Bd\"U\xa71\x86\x8a\x85\b\xa6J\xd1\f\xcfT\xc9D\x89b\xaad\x1c\xf0\xe9\x93\x140UD!\xf0K!\xb0\x95\x8d\xb4#\xf2\x01\r\xa5\x8ab\x91\xd2\xfe\xb31?\xafw\xe5\f\x80\u0225\x8dNn\x87\xb5\xb5;c\xd1\xfe\xab\xe8]K\xc7Y9%2\x16]1\x1cS&\xdaN\xb6\x05N\x12F5\xe2\xf7\xb2d\xaf\xa1\x96Q\x9b\x80\x11!TNfo\u02e8>\xd1/\x03\xf2W\xd2\xeb\xddi\f\x8e\x94\x99\x83_\b\xa5\x8d\xd9s\xfb\x17V\u014a\xe1\xf6N\xccL{92\xfa\xc9^\xc9zZ\xba\xd7\u054a\xf1t\xb0\xfe\xf7#QS'\x99\x01\x88f\xd9\xeei\x19\xd1+,\x02\xcb\x12n\x19\x13|TgL\b6EC.\xfe[\xbc\x06_H9\xc9X\x80B\x05m\a\xedW\xb9\xce5g,\x00\u04709~\nk?\xb8X\u04f3>\x99\xbfl\naQ\xd3YDa\xd1\xd8#}\xd2\u0421\x06\xa2\x1b\x1e\xeb\xfa\xac\xb9{V\x06\xebP\x1de\xd7\xff\x12\x96\xcc\xe6o+\xff\xb0\xd0\u02c2\xfd\xcd\v)-<\xe1\xfc\xb4\x9c\tg\x7f\xfc\xda\xf3\u70a9\xe2\xf3\xb3\xf1W\xee\xed\xb3\xddu\x9f\x03\x88\x94\xab\xf7\xf1\xf9\xa8\x9ey\n\x9bl\xad\x0e<\xeb\x18e\xdbm8\x80h\x8e}\x8c\x9fNj\xe7\x19\xd2FP\x7fk\u05a8\xed\xc4\xfdG\xf4\x00D\xb6WGY\x1f<\x03v\x01\n\xbd\xdf\xe7>\xf4\xc6\xf4\xa1\xb5\x19\xebW[\x9aI\"\tj\u0496\x86\x9c\x9e$mi\x88\u04acr\xf2w\x95TiV5\xda\xd2\xc8sD\xf0w\xa4-\r9\xe6\xc5\xf6p\xa4-M%\x10\"\x89R\x14\x96k[\x9a\xb5X%\xd0\u07ff\xfcF\xbc\x83J\x10-9\xbbm\xe1\u05c8CNX\xb7d\xbel\x11\x1f\x00\xe2\xef\u0471D\x04BR/\x10\xf2\xb8\x12tvN\xff\x91\x9d\x00D\x91\x8d\"\xba\x9a\x84\u017e\x06\x14\x9a{O\xad\xdev\xa3\xed\xeb\x18\xebW\xf7\x9a\xb6\xa2\x05B\xa4{\r\xc1_\xa4{\r\x91%UR\x04FdID\x96DdID\x96T\x85\xba\xd7x\x8a\xa05H\xf7\x1aBk\x94\v\xadA\xba\xd7H\x9f6\x8d\xc8\xcf\u02bb{\xcdG\xacNA\xfao\xd2\x11\x97\x13\xba\xa6\xdcW\xae\xf3\x8a[\xc6X7>\xcd\xef\x946bt\xac6\xff%\x89z\x81\xa8\x17\xaa\x8ez\xa1\u05c4\x98\x14\xbb\xa7c}\x01DZ\x05\xa9\x9c&\x1f\xd0r@\xa1'5\xb6Ws\x8bz\xb2\x89\xb1\x8a\u0633\x9a\xb5D\xab\x176\x89d\xcf\xe4F\xe3\xd4\v\aY\xd4\v\xb0%\x1b{\x86\x9b\t\x12\xae.K\x8a\\C\xb9\x9c\xf4NA2\xbb\xea3V\x052n\x83\x8d\xf7\x9cuY\x9b\x9d\xc5X\x12w\\\xf9\x1e\x1e\x9crM\xed\xa8\xe5\xe1\xfe=\x19\x8b\xde\u0248J\x82\xa8$\xa4\x91N\xa8\xa4*\x89Z\xbb\xe5\x1e\xd9)>\xde\xcbXRG'\\\x8eh\xd2\xd1?\xb8\xc6Y@!\xbf\xfe_\xe4\xd2\xe0\xd0d\xc6\xe2\u01e6R\a\x11t\x82\xfcl\xec\xcaP(C\xab\xb4YN9iH\r\xaa\xff\xc3\xd4\n\"\xf5xM\xad\x14s\xa7K\xf4\x8a\u064aM]H*\xef\xb4#\x00\x8b#n\x8a5\u023cO\xac\xe0\x13\re\x1bEa\x8e`\xed\xf4\x88y\xa3/#\xa7\x1b\xfa\xaa\xa4W\x17\x88\x8bN\x9b\x12\x1a\x0eM\xce\xd9\x04 j1_A\xe1Vm\xfbg\x02\xc91Gc\x88\xd5\xde~\xeby\x89\xa5\xe7\xb3\x13\x89\x93\x15\x93\xbd\x00D\xbe\x8d\xc3A\xe4\xdac8\xbd=\x85\x1e\x1e6;\xdfr\xc7\fO\xc6\xfa\x05Cq\xe7\x8f\x06\x95\xbdo\x90p=\x81\x0fn\xa8D\x1d/\xe2^d\x19\\)\x1c\xaa\xe2\xe3\xd3bq\xc7Q\u0472\x9fy\x88\xef\xa6y\xff7y=\xe6\xbd\xe5\r\xd5\u0461\xe1+W&\u0762\xa7\xb8D\x9b\x11I|U\u00d0e\x91\xb7#>\xe7=\x9c\xed@\x8f*iFTN\xc7h\x8a5#\xca\xea\xdb'\xf6\u04d6\u0749x-M\x9f\xb8\xa1\v\xc6\xde~\x82\x9d\xf7\xb5M\xcc\xfaX\xe9~\x1e\xc0X\x00\xa2\xbc\x94:^\x03\xb4\xeb\x1e\xa2\x97\x80\xb9X&\xaa\uaa4d\xba\x88\xe8\x03\\S\xcc\xf1\xfe\xdd\v\xb2\xa4R\xa2\x04Q\xba|\x9b\xc6N/\x1a\xdf\x03\x10%\x9e\xd3{zbl\xa2\x19\x80\xa8q\xca\u0278c\a\xf2\xbaH\x17\xb3\xf2\u04ff\xa7\x85\x13f6EQ*\x85\xbb\x05D\x8dN\xde6qj0s\x19\x80\xe8\xe4\xd2\xe33\xae\x846w\xe2\x99\x16\x8d\x86g\xd8.\xab\x0e(tS\xc1\xb6S\xb4\xf3\x85\x15\x8cUD\x0e\xd5\t\x11-\xad\xfa$ZZu\x12\xb3\x01)*\xb2H\xab\b9D\xc8!\xb1\xc9!\"\xe1\"\x12.\u9907\x88\x84\x8bH\xb8\x88\x84\x8bH\xb8\x96\x00\n}\\\xae9\xc6u\xb9Um\u0192:\xce\xd5\xffK\xf6\xaa\v\x93\xeeO\x03\x14\x1a\xe2\xa5\x7f\u1147\xbd\fc\xf1cS\xb5\x9f\b\u03b5Z+<\xe7\u0299*\x8as\xe5\xb4di\xa8R\xa99W\xa2\xfc\xf9\xa5\xfc\x81]\xd8\xe8g\"\v\xd2(\x12\x8bUcq\xc5c\xb1\t\xe8Mb\xe2TG\xccT\x14\xa1\xb8\xc0\xbd\x9bgV\xdc\xc4\x19\xb7\xbcb\x05\xa6KF\xf3\x8fJog\x8f\x9b\x04 r\xd8Vc\xbf\x9b\x9aOu\x01\n\xa1v\xb6\xf5\xcck+\xb4\xb9\x00\".\xb7f\x03E\xfdN\xa9\x00\xa2\xae\xbd\x8e\u011el\xa1\x9f\x8a\xa5\xa4\u07b5\x18\xbbm\x8d\xee\xf77\x8c\xc5\xf7\xa8\xecB,\x15=\xf3wZaa\xc48.l\xad\xb0\x84\f\xabH\xb2\xfa:K H\xf5\xb0\x16\x1f\xcbcfq\xaf\xfcR\xb93\x00D+v\xbf\x18[w\x98\x97\x06\x80\xa8^\xc0\xd6C\xf9mF\xb8\xd0i\xa7D;mU\x10mM:m\x95\x1bqM:m\xfd-O\x17\xeb\xb4e\xf6c\xfc\xd3\xe4S3?`\t\xf0X\xb5\x8b\u03ee&k\x85b\xd7\xe3-\x0eM\xb4.\xdeW\x99\xc9X\x00\xa2T\xd3\xd3\xef\"\xa7'\x0f\xa53\xbf\f~{,\"V%bUF\xac\xea#\xa2\x96\xd2S\u0309QH\u0271\x17S\xaa\xb4\xc2\x15\"\xf9\xe06\x01\x9d\xf4\xe1K\x00\xd1\u021e\xaf6\u027a\xdc[\f \xfa\u06ba\x95~wC\xa3\x0fRX|I\x10Q|\x91\xea\xec\a\"\xf8\xf4\xa9\xf5H\xb3\x04\xde\x1c\xea\x1a\x9f\x19\xc9\x19\\\xd0\x01@\xb4\xb5\xee\x83\xc2\x16w\xee @!\x9f\xdc\x1d\xaa\xdf\xfb\xb6\x8dg\xac_'\xdc[\x89,\u00d0[%\xa5\xb2PAn\x95$*\xd6J\u0168VR\x15k\u0578UR\xa5\x8d(F\u056e\xe4\xca\xe0\xe81a\\\xd1\xf6\a\x85\xa5\xbf\xbd\xb8at\x7fJ&\x9d\xb6w\x17.\x9d\xe1\xab\xf4\xba\x94\xdcI,\xdc}|\xbd=|\\&\xf8\xe2\xf6l\x88\x94S|\xa64\u038b\xd5\x06\x10\xb9\\:\xb9\xcc\xe6\xb4\xedS\x00\x91\u0471\xf0\x9a#\xbd\xd4\xe9+\xc7\x14\xe7c)\x97\x82\xb2csZJH\x9da\u06f4\xec\u028e\xc6h\xba\x81hq\x84iq\xfa\xad\r\x9ag\x06\x97\x0f\x94\xd8/\xbe\xd0\x1b#\xeb\x86l\x1b\x02\x88\xe6eF6\f\u0699?\x98\xef\x7f\xf9n\xfc\xe0P\xa1\xaa\xfd\xfc&\xfb \u05e2\xe8\xe0\xcc\xc2%.Vl1P\xea\u4468S\u0245\xd4\x04|\xc1\x82R\x177D\xabn\x80\x18g\x9e\x8e<\xa3\x9en\xf7G\x04\x83I\xbb\xfc\xa9M\xc6\xf6\x89\x04\x10\x1d\x9bU\xb0j\x8eCDk:\xfd)u\x97A\xf1\u0728\r\v\xcf\xf3V\xb8\u06d8'\xe1\xfd\xd1\t\x96D\xe6\xef\vC=\x01D\xab\x9b*\x17\xbc\xe3\xf8\xba\x00\x88\xaa/]6\xf0kM\xff.\x02N\xbbpZ\xf1^|\xff\x1b\x0f\x00D\x85\x97;\xf5^\u0139\x19F\u01e4v\x99!O\xd5^\xb3\x8a\xff\xa0\xff\xb73\xe7\xaa\xef\xb8\xd5\x0f@\xd4VgX\xe3\xe8\xc0\xc9O\x04\xbe\xeaiz\xa3\x1b_\x823\v\x00D\u0343\x7f$\x84>\u053b\x8e\xe5^:p\vo-\x994\xb9\x19\u06e2\x01K\xf5\x9c(\x16P\xc7\xc5]\x83\xa6\x8b\xa5\b\x14\u03e5\x9e\x02~\xe8\xa9\xeb\xf1\xc5\xdc~\xfc\x11\x00\xd1\x7fi\xbb\r?\xe5\xe9\xd7\x01\x10e\xae|\xa4\xebf\xb5\xa3.\x1d`\xab\xd84x\xae,S\xb1\xeah\xb2K\xd14\xa5\xd67\t\x8d\x82\xb3Yk\x8d\x89\x01\x8d\x96\x01\x88\x9e\xbd\xbf\x1c\xae}~\xceJ\x81?]r:\xca\x12\xbe7i\x05 z\xbc\xbe\xe9C\xb9\x81oo\x02\x88\xe2\xef_Y\xfbp\xa2\xe58,\xe1\xfa1q\xea\xe3\x15\xaa\x8a\xea\x8c\x05 r\uaf6e{+\xee\xbcl:\x84\x0fT\u017b`\x89\xf8Z:\xc4\u05fdKnR\xfd\xdc\x03\x05n&\x12E\x03r#v;\x18/\xcc\x18\v \xba1\xd3{\xa0{\xd2E\x1d\x00\u044c\x19\xff]\xa8\xe7\xf6\xe9>\xa0P;\xf3\x99\xbd\xfd\xae\x0e\xe9\xccXE\xccY\xfd\xee\"\x993ryl\xe5b\u0388\u0117H|\xa5\x93;#\x12_\"\xf1%\x12_\"\xf1\xad:\x97\u01ea\xbf\x13AH\xab\xee\xab\u0304t\xf5W\xd8\x1e\x93\x1b\xc5&\xa4\xa13\x1b\x19y\x16?\xc9\xff\\D\xe1b\n \xda7z\xf4\x10\xd0W\x83>fK\xe4\x10\x12\x91C\xa4?\x8f\xbft\x92\xdb7\xaf\u009e\xb0\xb6u\u0502^\x1e\xca\xed\x00D\xcfU\xbeyOw6*\xeax\xf2\x03\u02d7\xcbO\xc1\xc0\x15\xf9nl!\xfaR|\xbe|\a\v_n!~I\x87D \x1d\x81c\xb5\x1a\xa94\xc8\x1d\xe3\xf0G\x04\xfb\u010b\xd1\xce'\xd7\xe8_\x05\x10\xbd\u0249\xcdU\x9a\xf3\xb2\xe8\xb2`\xb6\x93\xb5\x9cR\x12\xbb\xe2grY\xa8ynVY\xd8\xf7\x93,i[\x05\xc8[K\xd0\uf7676\xfdXg\xd0\xc5D\x01\x97v\xb8\xddXEs\x06Z\x0e \xdah\xf8\xb6\xfb\x89\xfd\xc6G\xe9x\xed/&\xfdN\"\x9c\x8e\xf0\xe2\x0fxt\x8ff\x8fW\x9e\v>\x02\x88\xb2\x82\xdan\x8ek0:X\u0682MB\n\xdf\x12\xc1\x16\xec\xbb v\xe0nn'\x01\u01dd\xaa\xbd\xd0`Uo\x8b'<\xd3fp\xdd7\x1d\xfb;\x90`+\x97`s\u031a\x90Z\xd7)\xb5\x19\x80\xc86b\u05eaI\xde\xff\xe9\n|\xeb\xb0\xf8\xb3\xdfW>\xba\xee\x06 j~\xb5\xff\xf0\xa5\x96r\xb8\xb1\x86\xe8.0o\xf7>=\xfe!\xdbf\xc9\xc1\xbdt\xb1\xcae\xd9\xf7^\xee>\x91.\x94\x82j\x92\xc7\x18\xf3)y\xcd\vj\U000b6820s\x13\x7f\x1cKu\xa3\t\a}6\xc2\xe1+[\x9a2\x9aeU\xa8JG**\xa2\ue52eY\xbf\xd7\x13\x99\xd6\u0252u\xb5\u051f\xa9\xa8\bW\xbfmc~Ii\xabE<\x80\xa8F\xea\x8c\x01\xabo\xcfx \xf0)\xbdC\u079d\xe4\u057c\f\x00D\x97\x97g\xee\x1c}k\x90#\x80\xc8\uc7bd\xa65\xc8X\x82\xad\xf6\x99\x98\xef;\xb8\xba\x95\xbc9c\x01\x88\x9c\xaa\xd9ELY\xa4O\x17<8\xca\xe4\xcerr\x90\x82\x1c\xa4\xa8t\a)$YH\x9d\u07b6N\xc4\t\xce\xe1C\x00\xa2\x98\xd5\x11;}\xbe\xa49\x02\n\xa5\xbc\xef\xfcX\xdfjH1\xeb\xd7%\xe7\xd1\"\v\xa9\xe4\x92sr\xc9\x1e\xb9\xe4\x9c\x1c|\xa8\x9cu\xa6Jz\xf0\xa1\x8a\\r\xdeVD\x9d\x89\\rNn\x03c{8r\xc9y%\x10\xd3br\u073fs\xc9\xf9\x95\x7f\xe8\x92s\xa2|\xadz\xca\xd7\x14\x83^{\ucd02\x9c\x00D\xdb\nGli\x92:e\x11\xa0\x90\u05fbA\xc6\u03ff\xae\xccd\xac_g\xc6\u01c8\x04l\xe4Vt\x02\xd8\u022d\xe8Do[Y!\x1b\xd1\xdb\x12\xbd-\xd1\xdb\x12\xbdm\x15\xba\x15}\x93\b\x1e\x84\u070aNx\x90r\xe1A\u022d\xe8R\xd7\x1b\x99\xb4?.\xef[\xd19\xba\xe4Vt\u018d\xa4\xd1$E\xf4\x11D\x1f\xc1\xa7\xdb\x1e\x1d\n\x98\x15\xbf\xb0w4o\x05\xaf\x15(\x1f<\xb4\xb6\x1d\xa0\xd0\x02\xa7\v\x1f\x12|\n\x03\x18\xab\x88nS;+Z\x1fA\xaeQ'7e\x95#\x83G\xaeQ':\x8c\xca\xcf?TR\x1dF\u0578F\xbd\xda+\x11\xfc\x83|.ve(\x94\xd9\u025aL\xc8P\xf4\x9f\x8d\xe7\xff\x19\xcbm\xeb\xf5\xa5\x86-\xf8\xc3\xec\xab\xd4m\xeb,$M!U\xea*\xf6\xaa'\x01\x10\u02e9~\x02NmT\xe3\u04f3\xf0\xab3xid\x92\xb5F\xa8\xaa\u68ce\xfc7-u\xfdM1\xb7E\xf3\xab\xfee\xf1\x82\xf0\x02\xbe\xf0@\xf1\x91\u051b\f\x1a\xfa\xbe\xb0\xbbW\x94\xa3@\x1a]\xf7\u00c2}\x01\xfdT\x10\x80h\x0e:\xb6\xbc\xda\x14n'\x9eyo\u05f2\x1f\xba\v\xf07+$\xb9\x85\xacy\xdeh\xb21c\x01\nE\xbf\xd0)4]\u06b2\x15c\xd1\u0437\x01\xb6\x17\xeb\x01\x96\xd9w^\xcc\x1e\xeb8\x11My\xfa\xf4\xb1A\xbe\x91\xcdT\xa3\x81\x02\xff\u03e9\x7f\xcfP\xa5^(?!(\u02cd\xef\xbf\x1f2\x12{\x91\u050dq21\x03Z]\x14\b\x8e\xfaO\xd3\xefd\x9d\x8f\xe4\x01+\xe3\xfd\u034d\xfa\xf5z\x1bN\xaf-\x8dpJ\xa67,\x03*e\xf7\xe5\x90%P\xdc%\x10\xa2\xb6\xbb\x13d\"F\xb5n\x8e%v\x1aid\xcf\xdd\xf4\xe9)\xee\xd2\x16\n\xc5+\xf7N=4\xe0H7\xc6\x02\x10\x85m{t\xe7h\xe1\xa3ott\x9d%\xfa)\xa2\x9f\xfa\xcb\xfa\xa9R/\xcf't\xd8\xe6\xc9\xcf\xc7\xd6\xd0vS7\x1cn}\x1b@\xe4sYuj\xce\xdb/J\x00\"\xdb\u01b2\x836\xbf\x986\x16P\u8fcf\xf9};\xea/y\xc0X\xbfn<\x97\x13-\x9b\"7\x9e\x13\x1eGjx\x1c\"\xcf\"\xf2,\xe9dr\x88<\x8b\u0233\x88<\x8b\u0233\xaa\u038d\xe7\xd5\uf260G\xab\x1d\xc7\u04e3\xb2\xa5\xe4\x1cB\xe9Q\xce\x15Q\xf4(gZ\x95\xbd\x18\xbd\xf5\xbf \xfe\x91\f\x01 ;^\xbea\xb5\xa7O\x8a6\xa5\xe1l\u0132\x84\xdc*\xddB\"\u02785 x\xbe\xfe\x99c\x97?\xf1_\xb5\x94\n\xa8\x98\xe3\x12\xf9\xfdP\u0625\x13\x7fvKx9\x93\u03cd\v\x9b\x06\xb8\xb6\xb9\xd1[\x00;\x8fme{\xe4\xfb\x84Nn\x00\xa2\xd5\xfa\u06f3\x03\xaa+\x87\x02\x88\xb8KO\x9c\xcb\xdc=\xfd+\x96B\xd2j\xd7\xd1\xfa\xfa.\xf3\x13\x8c\x05(\xf4>\xa6i\x80\xae\u05ca\x1e\x8cE/\x85\xf8\x8b\xc0RY\xf2\x98$1\xc9gn\xe8o\xde\xf0)\x19\xf7&\x87\x1f\xeb\x1e\xb7aO\x98\xc0\xff\x87zZ{\u050c\x89Q\xe1?`\xa9~;\xc5\xe2\xeb\xd0\u07fa\x85^\x02\xaf\xba\xfdT\xa2\xee$\x99N\x82\xd7\x16i\xddP\xab\xa1e\xe7\x1a\x05 \x9a\xf9\xf2\x93\x91\xeb\xeav'\xe9\xf4\xda\x19\u00ce\xc8\xe8U\x9e\x9b\xdd\xc9V\xf5\x9b[\x15\u064d~c7\x82\x88\xbbx\xfe\x19\x87\xa1\xbb\xeac9\xec\x15\x8f\xe5{\xeequ\u0137\x06{m\xb0'\xbbI\xbc\xccJ\xc6\x02\x10i|\xea>x\xa4\xe3\xf74z\x02f\x10A,\x11\u0116\x14\u0112rH\x95)\x87\xf8\x7f\xb1}\xa4\xb4\x7fT\x17\x00\u044b\xc6]QX;\xbb\xb5\x80B\xbbj\xcc\xf4\xdb\xd5K\xfb:c\xfdj\xfb\x95%\xb2\x1c\"k'\xba\xed\x97\x16f\xc3\xe7\x94j\xf1K\xeeO*\xe7\xfb\x93`\xa9\f\x9b\b?\x89\xf0S\n\x98\xcd2\v?\x19\xbe\f\x8d\xed\xd8\xda \xbeK\x13\x05\xc6\x02\x14\xd2\x18y\xf9\xdc\x7f\x17\xa7y0\x96\xd4q\x8d\u04ec;w|\xa3\xb2\xf6\x11\xa0\u0408\xf0\x13w\x1f\xbe\x89~\xc0X\xfchQ\x18.\x82k\x94\x8d+9W\x7f]\xbdRH\xc9c\xef^\xe1\xa6\xf1?V\xfa\xf2\x95\x92\t\x827\xff\x87\xb8;Xw\xeb`qvd\x96\x13'\"7\xdfY\xf9i\xf1A2\x99\xf6\x00\"\x87\x13\xf5\xe3oiLj\x0f :v\xfd\u0611\xa0\x1c\x9d\x1f\x00\"\x9bT\x03\x99^W\x82U\x00D\x9bFm\xf6\u06ef\xf7\x96n$\xcf\t\xc1\xb3\xb2\xd46Qt+5\x18\xbf\xfe\x94\xea\xaf-\xea\x88g\x8f2\xe3\x1bo\x1f\x81\x04&l\u059bf&\x06&\x1f\x00DS\xa6\u02fd\xd6\xdd\xcd\xe5\xd7KJ\xf7\x01g\x16\x151\xba\x7f\xbbJ\xec\xe9\xfes13\x88\xad\xb3\xcfD`\xec>'|\x1b\xf4~I\x00/\xb7t=[\xffrh\xf5\xbe\u07f10\xe5M\xe2,\xf7\xf7\xd3\x1b\xacb,zob\xefx^\u011fC\x7f\f\xb7$\x867\\\xc4M\x13]\x05\xdevAL\xdf./\x9c:\xf4\x02\x10Ml\xe4\xf6(\xad\xed\vZtI\xed\xc1I\xf4\xfc\xf01\x86\xabEb\u1a90\xb1\x82\xe8]\xefy-_.\x89\x8a\xe5\a\u0357\xaa/\xb3+6\x1e\xf2\xf7o\xde\xeb\x933H\t@d\xe6\xae\xde<\xf5\xa6\xd2\f,\xe6;\x9a|\xee\x87f\xf6\xabg\xd8\xf0\xb44\xf0I\xdc\x156\x99\xc3X\x80B=\x92\xaf\x0e36\xea\x1f\xccX\x00\xa2\x9b^\xe3\xdc\x12\x066x\x05 2^\x02\xfb\xb45-\xa03\x1a8\xf1\xd7\xd5=%Qv%\xbenW^8\u01b1\fpq\xe3mZ\x03\xaa8\xf4[>\xa1FK\xe5\xee&!\x02s\xa2\x1e\xa5%\xb8\xab\x04y\xff|\u07df\u0639\\\xb7H\xf7\xe0\xcc$\x8fO\xad\xf3\x00D\u0279\xef\xda\x19\x8fW\xf9\x0e \xba\xdfy\xd9\xc2\xeew;\xf9\xf2\u04ad/\x85\x1e\xb2MV92V\x11\xe6S\x8e\x13\x8d\xf9\xb4Eb>\xce+\x1c\xe63e\xc3|\x95=G\x96\x18\xa8;\xfaI#\xd7S\xc5U\x96\xb1\b~#\xf8\xed_\xc0o{\xf2\xdf\u0330>\xb3\u0419\xb1\xa4\x0e\xbfuR\x1e\xa2\u062eo\xaf\x18@\xa1\xebz\xd9\xc6\x1d\x0ee\xdb2\x16?Z\u41c8\xc0o\x9c\xe7,\xa8d\xabHT2\b?\xab~\xa3\xf1\xcc\x1f\v9Z;i_\u025cz9\x11\xb3\x8d\xb3t\xc5\x11\x95\x86K\xe0\xe1\xfa.\xae5\xf1\xb1ft\a\x81\u0372\x81\x92\u0080!\x8d\xb8\xd7\x01D\x1c\xdd\r\xdb\u03f4s\xb9\x81M\xfa4\x9a\x15\x9e\xbf\xd3q\x8c5c\xd1\xf5\x12\xb5\xb2a\x92\xfb\x7f\x8eI\\\xc5\xcd_\\\x04\u07b6 Ok\xbbn\xf3\x8d;\x00D\u075bvR_\xb2\xf7\xa9)\xfdl\xd5q\x98\xe4\x1e\u02fa]\ua318\xa8\x10\vb\xcd\xfb\xfa\x893\u0198|546\xae \xb3Z\xa7\x15\x00\xa2o\x03\x92\xe7\xaf\xd6]\x97\x05 z\xd9\xf1\xd3\x06\xf3\xb4\x90\xd3\xff8\xee\xb1\xf1\xd9x\xeeI\xc8\xca\x15\xd8d\xbe\u05796\xbe\xbe\u07cfq\xb0S@\xfd\x9cJPl\xbd\a\xb3\x19\vP\xe8y\xfch\u034b\x1d\xefh1\x16\x80\xa8\xcf\xee\xf5\xf7\x83\"\x93\xd6\xd3\xf1\u054b\x80\x9d\xaa\rv\x86\xfe6\xd6\xc1\fFR5\x93\xc4\x19V\xb3\x1f\x00\x88.o\x9e\x01\x83B\u04d7\x03\x88&\x9b\xab\xad\u04dbxc1\xa0\u0401\xc6?\xec44_\xd6a\xac_\xf5\xaa \xd1\xd8%^t\xbd*\x1c\x87]XZ\xf5\x90\xae\xc7U\xa8\xeb1AY\x04eUm\x94u\xfdR\xae~\x80QC=\u0192:\x94u\xe9\x9a\xd5x\xdfK*\xdb\x00\x85^\xfa\u054f\x97W\xb6:\xceX4\xca\xf2\x13\x85\xb2Z\x92\x86\xa9\xa4a*\xfe\xe1~\xff\xe2\x98\xdd8\xdc\xe4\x8b\x1f:\xc97L\xfdw!\x8dsn\x81:ev7\r\x9b\xb2\xdbL0\x7f\u0466\xa6\n^\x10\xf9}\xdbC\xb9\x9d:\xaf>1\x16\x8d\xeak`!K\xd5\xebu@\x90\f\x83d\n)%\xfe\x0f)S\x8aE\x99R@9c\x1c\xa9+\x17\xf5\xed<\xf8\u2b67\xabj\xf0\xa6X\xbe\xcbL\x87\xc2\xf5\xa3\x01D\x9e\x9f\xb8mO\x8c\xf9\xf0\x1cP\xe8\xd5cU\xed\x90C\xde1\x8cU\x84\xbe\xaa\x97\xe1\x92P\xd2\x04\x934O\xf8\xdbZH\xd2\x04\x93\xa0\xbc\xaa\x89\xf2H\x13L\xc97\xc1\x94\xbf.Jy\xe9%\xaa:'\xdbP\"\x97&\b\xcf\x13\xfd\x00D\x1f^\xab\x99\xdc\x1b`\xd1Y\xea\xd0\xe2\x1f\xd7\xea\x04N\x84K\xa8\x90\xe8&\xa9\x87SN\xbc\xdf\xc4>\xdet\x8b@\x1au\xfd<\x9c\xe8\xa8\xc8Y\r r\x19\xa9s\xbe#\xac\xa9Mo/\xd5\xf9U\x8cz\x94VQ\xae3\xc5\xcf=`\xac\xbb\xaf\xb7\xfb\x84\x00\x0f7S\xcbV\xe2&p\x82\a;\xaa\x9f\x9a\xbbs\xe5\x17\xb5+\x950\t\xa7\x8a5\xbe\x17\xb2\xc3V\xb2\x97)\xf6+\v,\r}\r\xdcZ\x9d\xa7g&({7I\xd7\x12ec\xee\xf1r$\x12\x04p\xb7\x98\x0e\xc1V\x96?w>\xafk\xfb\xf0\xc8\x16\x00\u0450n\xdbF,\x1b{\xc1\x00@\xd4U\xf1\xfc\xfa\x03\xda\xdc(\x00\x91\xad\xe2\x03\xb5\xa9\x17U\xb8XH\xfe$nd\xc1\xe6\x82\x16\x8b\x18\x8bN\u018c\xb0\x90<\x8d\x05\x92o\xe7\x9f\u046fPH\x8e[\u0097\xdc\x1dh\x159\x80k\x80\x05\xea~\xc7c_\xe4\xe4\x8c\xcd\xf9\xf9*^\xfc\xfd\x90y\x7f\x1b_>*\xb2\xe6\xff\x87\x0eU_\xe0\v\xec|\x03=&xLtg\x8e\xeaa\x1ec\x80Q\xba\xba\x9a\u04de\xb1\x00\xa2\xb5\x85\xb3\x94\x8e\xa8:L\xe7\xfb\xee\x00\x06\nc~\xd0\xc6}\xacK\x99~\xd0\xfeS\xa4\xcb\u026fw#\xe9\xa8\x13\xca>\x14=\xbd\xf0oq\xe1\x01V\xcd\xe9\x97\x16%\x87\xf3 \xfc\xe0\xbd/\x86\xab-\u073f\x18@t\xa5\xbdM\\\xa3\u8183\x00DqM\xce/\xd8=\xf3!\x02\x14j\xbf\xcbr~H\x97\bC\xc6*\x02\xac\xaa7\b`%\x80\x95\x00V\x02X\t`%\x80\xb5\xb2\x02V\x85O\"\x00\xab\x9c7\xae\b*s]\"EP\x97\xdf-\x82\xf2\x12\x82\xa5A\xcbu\u056f/n\b Z\xd5i\x80\xee\xeb\xbb\x1d\xef\xd2\x0f\u05c4Mm\xf3\xaf\xb4\n\x17\xbf\xc4\xc9s\xeaN\xf5\xc1~f\x86\xaa\xbc\xa4\u8463\u01a0\xa0m\xe7\xe9+F\xd9UJ+\xd9\xfe\xb3\xa9p\xaf\xfe\x02?\xc2\ub462\x8b\x19\vP\xe8\xd2n]\x8b\xe85\x0f\xc73\x96\xc4\xc7]b\xb88+\xfe\x87U\xd2\xe5o\x8d\x18\vPh\xed\xf1A*\xa7\x0e\x1bp\x19\vP(\"\xf5\x9e\xda\x00\xadu\xdf\x19K\xea\xc0\xf2\x84}\xa7-;O\x83O\x01\x854\x1b\xbc\xddR\xeb\u0537}\x8cEc\xe1\u01e2\x14\xc3\v\xb0\xcdi[`\xe6\xb4`\xe2Yj\xe6\x17\x03\xa6W\xf0\xff\xe7\xcc\xffYfC\xea\xe9\xeb>f\x8c\x87\x9b\x87\xbb\x8f\xf0\x04h\"\xce\xc1\u016aQ\xadU:\u058a\xd7x\xf7ZR\x05\u0434Z7>*r\xebY\vd\xa45\xee\xae=\x7f\xf3\xb9eK\x00\x91V\xcf'[\xb2\xf7\x9f\u0525W\ud6bfr\xc0\x9f_o\x1f\xe4\xfaK}}\x0e\aRB\xf9\xff\u0448jP\xaa\xb8\xee\xe51f\xca\u03dc$\xc0\x85\xce%\v\xa1\x19\xdb^,+z(\xca\xe0\rZ\xb9\x1c\x86\xff\xa5\xe1\x92\x1c;\xfa2\xea\x87\xefs\xe6\x98}\x9a8F\xb0\xe2k\xeb~\u076f\xe9\xebK\x00\xa2\x81\xe1\x16Y\xb3\xad[6\xc6\"\xaa\xec\x16m\xdbt\xdepj\x1a\xed\vX\xf5\xf9\x12L\x96\xfau\xab\xcbS\xbd\x95\xe9f\x00\xa2\xd315\xf7\x8d\x7f;o66\x85\xbf\xd1.'\xf2kV\xb3\x14\xec\x1fhD\xeb\xb8\u06cd~\xd9U\x8cG\x9f\b \xda0+g\xa2f\xfe\x905X\x1c\xa54t\xb6\xd2\xeb\x1d\x03\xa70\x16\x1d\xe0\r\xb0\x17\xaf\xfd\xf5\xf3\x93xh\xd4D}\x1a\xb0vNK\xc0\xba-\xe9J\xb3\xf9\xab;\x7f\xdb\xf5\xf3\xe9\x1c\xf8\x0f^\x92(\xec\xe7\xe1\xe3\xee\x82A\x1b\xb8\t\x03\x91\u0266/\x13\x1b\xb6=\xcf\x0f\xf3\x8e\xf8V\xa5\x98Yb\x95\x9c\x9df\x1e\x9ai \xb0C\x97l\xf2jC\xbb\xb5\xec\xcd\xce&\n\a\xf9\xf8i2Y`\x9e\x9f\x9aw\xff\xda\xf1\x9b\xa3_\x03\x88\xf4N\xfe\u023f\x9e\x99\xa3\a \xb29Z7\xd1\xc0q\x996\x80\xa8\xf0\xfd\xc1\x1e\xdb^v\x1d\x03 \xbatt\x91\u0273\u058f\xbb\x02\n\xed\xbd\xe2\x9dm\xfb\xde\u0644\xb1\x8a \x91\u04a6*\x00\x89\x82~#\xe9y\xe5e{z\u03b7\xda\x1b\x18\xab\x92A\xa2/\xb7\f\xee\xb8Xx7e,\x02\x89\b$\"\x90H\x1a \x91\u0656:\x99=\x87vx\xcaXR\a\x89\x86\x1c\xdc2\xa4U\xee\x8d\xc1\x80Bm\xcc^_\u02f0\xbb\u075a\xb1\xe8\xc5\xdbS\x04$\x92\xb9\x87\x85D\xa5\x16\xa1\xdf\xe2\u0303\xb0\xdb\xf3\x99\xdbG\xee\xa8\xd4>\xba\x85\xfe99\x96$\xf6>\xfeQ\xca\x1f[\x89\xf1\xb2\u00bf\x9b\xf7\xb2\xa3\x06\xfdw\xc7(f\xee\x10\x00\xd1\xd3\xdb\xce\a\x17\u011a\xc9\vd\x05\xba\xed\xb5\xa9\xfe)\x06<\xf3\xd2\u02f3\xa9m:\xb7\xdeD/\xf7\nX\xa0E\x1d\xc1l\xd9\x14N@[.\xe7\x14\t\xfe\xf8\x89?v\x0eW_\xac\x13\xf5\xfe\f6\x9b\x1d\xe1\x9e\xfb\xfdJ\xfeJ\xe1Q\x89\x87\x171cG\xf7\xd04T\x13^^\xfby\xd61\xcb\xff\x8d\u0292\xd7V\x8c%Xh\x93\x8a\xb3\x8e\xe2\x16d\u0516\xf4Q6\xca\xc9\xc7w\xf3\xbc\x13\xe8\x140\xaen\xf5u?\x1f\u0697?GJ\x1e\xb2\xe3\xa3\x0e;\x17\x0f\fH\x10\xbe6\xe1\xf1H\xa3\xf5\x173\xb3:\x1c\xca\x01\x10-\u028b\xa8\xe1\xbe/\x8b7\x9f\x170\xfd\xc1\xfd\xbe\x80B\v\xb7$?w\\\xd9\xf8:c\x15%\xe9\xb5L.\x1f\xaed\x82Dr\xf90\xb9|\x98\\>,\xe1IE.\x1f\xae\xc0\u02c7\xabu\x10\x81\xd2\xe5\x03q(\x9d\x13\xc3\xc6\xce\xfe;7\x19\xfe\xb1&s\\\xcfhn\xb3I\xb7\xeb\xd3+5N\x18)I\xb7V\x82k\x0e\xff\u062d\xc6\u04f5\x96\xdd\x1f{\r\u041e{\u02c6D\x8e\xb1\xfdg_\xec\xee\xf8\xe7\xf7\u5e58\x02\x88\xf6\x8d\x1e=\x04\xf4\xd58\xc4\x1f\x94\xdb\xf8\u00dde\xbc\xe1\x90\x1e\xab\u07fdG\x06\xa7D\xc0\xddl\v\xd1\xc1\xd8\xf7\xf2\u052e\x01\x19\x00\xa2\xe1C\x97X\xaey?\x90\aT7\xc2]\xef\xccg5\xec\x05 \x1ay\xe2E\xb3\x8f\x91\v\x0eJjl\x1bY\u03bb\xefx\u4667\x00\x915\xad\xfd\xc5.3\xea\xd7\t\a\x10\xed^\xb2\xeaG\x8d\x1e2\x9bx\x8b\xa0\xb1^\xfd\xc0\xce{&\u04a9\xce\x14\x9cB\xa0[\xe5\x911\x97\xe2\xa9H\xb4\x96S\xb4\xe2\"q\u4666\r\xe6\x18\"\x00\xd1\xfd\xe0\r]\xe6\xd7_y\b\xcb\xdc\xe8\x0e\x8c\xedfn\xb0\x13'\x86\xa6\x10\xc7\xe5\u06d1\x9dg\xec\xaf3\x16\x1d\x91+qZ\xe7B\xaaT\x87\xf0b,\xda=J\x91\xaal\xf7\xa6\xe2\x1c\xadx\xfd\xf9\xd1\x04\xaf\xfa\xfb\xb1\xdeU\xb74\n5\xb9<\x86\xe6>\xfe\xd5\xdbTG\xe04\xda\xe2)\x17x\x1e\uf4af\x9b\xff\xcaH\xfe.o\xd5\x19x\xf7^f\x9f\xad\xa3\x00D\xf1\xcb>\xe7\xe9.|\x14\b \x8a\x9e2\xbe\xd7\x13\xa3!\xf3\x01\x85\xf6\x85\\9a`g\u065c\xb1~i\xa5\x9f\x8a\xe4\x1c\x15\xf4Dr\x8e\xf2Y\x98\xc5Z\xbe\x03K\x8eDJ\u0615\xbe\x84]5\x81\xae8\xc7Y+O\t\xdbm\xe8\xf3\xecnm\xa6\xbb3\xd6_\x9c\x86\x12\xec[\xfe\u05e6\xe1\xe8\xdfx\u61f3n$\xacOM\xfe\xc1X\x80Bonl\x0e\u0489\x9a0\x85\xb1\xc84,\xc34\xbc\xba\xb4@\xcfnX\xe7A\x8c\x05(T\xaf_\x12w_L\xefs\x8c%\xf1q\xf7\xff\x8d\xb7j\xbcxf\xdf\xd0\xda\xe9+\x19\vP(\xf0\xe0.\xd4j\xdb\xd6\a\x8c\x05(d4PVgT\xf3\x111\x8c\x05(\xd4`\ueb9d\xaf\x823?0\x96\xd4qT\x1ck\xee\xde\xd4\xfd\x9e\xea\x80B\x89ro\xf5\xa2?\x7fh\xc9X\xfcx\x96\x9d*\x82\xa3\x82\x97q\xa0n\x16\xff?\x1aR\u0682\t\xe1d?\x17\x9f\xd1%E\u07e5\xb8\x95\xe2\xc4\v\x11\x1aH\xd4\x11nb;bt\xb98B\xefTV\xbe\xdeDmm\x00\xd1\x13K\x9fL\u057bM>c&/D\x06_\u01dct\xb3\x98\xdf\a@\xb4\xb8\xe3\x12\xc5i6\u0354\xb1\xb8\xe4\xf8i\xad\xa3-\x832jbQ\u07cb\xbe\u3ddfI\xd1\xf3e,:\ngK}\x9b\xe8\xd1X\u01da8\xcb[46\xac6\v\xeb\x16\xcf\xe0\xf73\x9f\xdb\x0e\xbcB\xc7R\xf3_\x13[\xe0/\x8b\x84\xd1\xdc\x10\xa0\xac\x9c\xd7\xf6R\xb1\xd3\xdc\xcd\xf3\u0754\t1S\xfa\xb5\b\x1dR\xfc\xb4\u018d6\xf5_\xfb\x1f\x9b\\@\x83\xbc\x9fO\xf1\x9b'|qA}K\xf6q\xc8\xf9\x9b\xbbx\xee\b\xf9ol\x17\xf3&z\xe3\x00D\x132\u03bdk\xf9=}\boC?=\xb7_\xd4\xc3\xf3\xba\x8c\xf5\xab1\xf3'\x02\xf2\b\xc8#\xd9%\x01y\x04\xe4\x11\x90']\u04d0\x80\xbcJ\x06\xf2\u458b\x00y2Q\x98x\x9d\xf0\u011e\aY_\xad\x1f\xf6\xed\xc0\u0561\x0e\x12u\xdch\xb1\x1d\xe7&\x15\x8e[\xb4\x19n\u04f0\xc9\xe8\x00 z\xed\x1b\xef\xc6\xf5<\xa7\x81\x8d\u00d6r\x9b\xe2\x13t\xef\xb7\x04\x10\xcdl\xba\xbf\xe7\xf3f6s\xb0\bvX\xca\x13\x83\x166\x9f\xc2\x18\x8b\xde\xf6Oa\xcf\x16\x13\x04\xfbO#XG\xfeS\x94\xec\xe5D#\xd7@q\xa1\xeb\xf1\u00de\xf2\xbdgE\x1c\xfb\xf9\u075d\xf9[W\xc9\xdb\x13l\xdc\xc7\n\xffZ\xde\x03k\xdd{u\xec\xde\xfe:\x17\x01DO]\x1b\xfb\xd8\xc4L;\x04 \xa24\xde\xc47\x9c|5\x18P\xe8\x9b\xc3\xf3\x91=\xa6&\xd4b\xac_=\x9e\xe7\x10\xecK\xb0/I\xba\t\xf6%\u0617`_\u9686\x04\xfbV2\xec+\xdfH\x04\xf6\xe5x\t\x13\xe1\v\xdc\xebR\u0229\x8f=\xad-\u3243\u03a5\xda]\x17/yJ\x066\xb9\x88\r\x9b\\\xa5\x0269~M\x1b>\xe5y\x1f-\x00\x91\xc3rW#\xaeR\xe0;,\xdet2\x8f\x9a\x17\x1c8\xac\xa8\x9f\xc0\xad\xf2\xf7\xaa\x9b\xd8^\x1d-\x15^\xa5\xb6\xa5v\x9e\xf9\xc0!\x0e@\xb49\xb8\u06e9\xb3\xaea\xc2\xf1\x06/\xbf\xb7/\x18y\xa3y}\xadk?\x9f\xc3\x1f\xef61\x9a\x1eO.&\x0f\x86h\xea\x8a7\u028a;\xe6{\b6\u00ce\xe3F\x86\x98Y\x06\x02\x88\xce\xddyr\xcc<\xb5\x85,\x80\u0225\x9ai\x9b\x93g\xd5e\xb0\xb8\xf0s\x8d5\x9c\xf5\x8a\x87j\xb3\xb8\xb2\xd4+\bk\xf4\xf7;/\xf3\xf3\xb9\x7f\xe4&\x1c\ucceeK(\x80(\x97\xd3\xc2\xe2\xfa\xe9\x8d\xe1<\x1f\x8e\xec\xd2w\u0613\x91\xb1X\x14\xff!\xebE\xed\xbd\xcb\xc3?2\x16\x9d\xc0\xe0\xeb\xd0\xd2\xd2iY8\x8a\xc7\xe3\xc5v\xefTg\xd9\xeb}\xc15Y\x83(sp\xee\xfa+\u01b5\xef\x11l/>\xb6\xff\x93\xa6\u03fc\x1f\xb0\xb1}q3-\xe9\x95\n\x80(l\xf0\xc0\xf5\x8e\u02ef\xd8\x01\x88\xee\x1e>\xf3\xed\u02f6,;@\xa1\xe0w*\xb7\xd2\xfb\u03f8\xcbXEX\xbc\xc6\x19\x82\xc5\t\x16' \x80`q\x82\xc5\t\x16\x97\xaeiH\xb0x%\xc3\xe2\n\xc3E`q\u0658\x92\xab\x89\xa3\xc7\x04~\x92\u01a5ou,\x99\xfd\xf6\xe2\x86M\xe2\x7f\x88\u0266\xed\u0745\xa7\xc5c\x7f\xfey\x97\x92\u9285\xbb\x8f\xaf\xb7\x87\x8f\xcb\x04_\xdcu\xb2\x10y\u07f2\xb8\xb1\xc00\xed\x1a\x80HM>\xf6\u03bd\u023cQ\x00\xa2\xe3!v7\xfa9\x9e?F\xb3\x04\xe9\u0098\x04\xecs\x14r\x16\xe1Y\x85\x8d8V\xc1\x85\xa5 \x8f\xbb{\x19\x1b\v~e\xc6\xc4\xfcGn+\x12e\x15\xcbp\x83\x9cOi\xc1!fu\x01D\xc6\xe65\xc0\xc1\x06\xd3\x0f\x01\x88\n\xae\x1e3\xfe\xa4\xbb\xa0\x1e\xbd\xc2ug\xd9[\x8a\xe4\xd0e'B\xe2\xc5%BJ\x8b\xa4E\xb9L\fD0\x16\x1bMw\x0e]hr\xf7\xb5\xa9'\x80\xa8\xd0n\xb3\u0680\xfbw\x10/7\xa7\"\x1f\xb4\x9cz\xdb\x14@\xd4%>\xcf\xf7b\x8f\x18\a,+\xd2B=n\xb5\xf5\xc1\xeb:\x92u\xa3\x9b\xd8n\x1c-}n\x1cwKq\xc4j\x85\xb5\a\x00D\x9a\xf7\x1fx\xadY\xb1\xfc.\x16\xb6\x0e2?\xaa\xe2\x11w\xa2\x13\x80(e\xf6\xe0\a\xf9\xd5\u30f1\bv\xef\x9az\x8b|\xe6-\x15^\xe0\xa7\x05.\xfb\xc4\xf5\x83\xa4y\x8b\xb1\x02S\xd0\xe4\xea\u681b+_\xce\x03\x10M\u072fV0}\xd3\xe2[\x00\xa2\tv\x99\xd3\xdfD\xae9\t \xb2\f|q\xaa\x96\xa2\x1d\xee\f0\x85,o\x9b'{4\xdaa\xcbX\xbcO\xddT0\xef,\xf3?{\xd7\x1dO\xe5\x17\xc6\xcf{\xae\x9dQI\x8bJD\x83\x86\xb45PDI\xa1\xa1\x9dUQ\xd94hj\x0f\x15\xedI\xa1\xa1]\xb4\x17\xa5EBKSE\xe5\xa7\u0492S\x8a\xdf\xe7v_\xbdn\x9c\xf7\xde[\x97.\xce\x7f\xdf\xcf\a\xaf\xf7=\xe7<\xcfy\xbe\xdf\xe79\u03e9O7\x13\x82\x01D\xcd j\x86\xf0j\x06\xe6\xd6)so\a'n$\x80\x971&\u039b\xa4;(/\xe4\x1d\x80(\xb6\ud683\xf7f\x80(\x00\xd1\xc7\u040b^\xf6\xab\x8d\xdb\x03\n\xcd:\xees\xf3A\x9e\xf2`\x06\xfd*)\xe8/P\u0190\x1d X\xc6P\xc3\xec\xca2Nl2\x06\xb9\x02\x98\xc8\x18\x92\u021f*\xe7\x15\xc0?\xad\xe6\t\x91$\x88$!\x81&%\xb4$\xc1\xe4\x97\xd1\xed.2\x05\xdf<\xb7|f\x10\xd7\f\xef4_\xbf%\xc6a\x12\x83$\x8e\xf0/1\x1b\xb9`lwm#@\xa1\xf8\u05f9Q\x13\xaf\xc6\xcfe\x10\xbda\x9e\x17\x94|\u07c8\xbfoj\x06f\xb3\x85\xa5\xc8NY1s!Tf\xe3D\x8fD\xe4D\x85\xd4v\xb6\xc4\xf3\x14\x16\xf3\xae\x9e\xc1_9\x9c'\xde\xe3>\x145\ri\x04\xf9\xfe\xb9\xad\xe3\xfd1)\x8d\xae's\xa1\u01c2\x05\xff\xa5O=\xc4\xf7\xf3\x99vu\xf5,\xecL\x9e\x01\x88\x1c\x86k\xd5]rs\x15\xae\xea\x1a\xa2\x9e\xaf\xd7?6q\xb8\x90\xcabL\x85T\xaa\xf0\xe3X\xfc'k\xd8V\xa2#K\xcdB\x159\xfc^\x0e<\x97\xbf\x1e\"r\x90[=u\x9b\x8b\x86\x00\xa2\xcf'f\xd8\xf6\t\x99\xc7e\xff\xe1j\xb1\xd1\x03\xac\xeeo\xe6\xfb\u054c\xa2\x94\x8b\x9fW\xa3^\\\xb8;r\xf4k\xd5N\x8f\x00\x85\xf6\x03\xf5\xb3\xb9\xb2z\r\x19D;\x91O\x92s\x97\x17\x8e\xdaB\xf4\x0e\xee>7f\xd4\xf5\x9b\u0605\xad\xdbY\xb3\xfd\x9c\xfeS\xdb\x12\xba*:]\xc5\xdd0V\xdc\xf8\fs\u00d8h\xef\x8f\xef\xd2\xf6e\xecL}\x0f\xa5,e\xbe\x8bL\x96\f\x99l:&h\xe2%\x00\u0474uv\xda5\xea\xc6D\xfc\xfc\x8f\xa2\xb5$\xe3~\xfe\x1b\x93ZM\xda\x06\xbf=\x04 \x9a\xb3>\xf7\u0724C\x1f\v\x00D\x9a\x8dw\xcfo\x93\x16\xc4\rD\xbc\x1b\x0e\u06d4\xf1\x87\xbe$\xed\xf73\x89v\xaeS<\xe9\xdfp\xc5wO\xc6\x11\xb5R%\xfbU\x92\x8b\t\x7f\xab\xb8'_\xd4\u0674\u69e7\xc1\xd7f\xbf\x00\x10%Z\xd4]\xa8R\xef~7z\xdc>\xb1i#\xa4\xa9\x19\xef\xd5\xe3Y\xc6!D\xf8\xb5Z6\xd5q\x17\xd7\xcc>\xd9|\x94s\xc0\xc6 \x9e\x8f/5z\x94\x95\x9asq\xdb\x19\x00\u045d\u0106]\x97m?\xc7\x1d\x8a\xde)\u046b\x96\a\x1c\xc9\xc1&\x8f\xb3\x03-\u03a6~\f:\xce @!\xb7g\xf5\xa3\x83\xb6\x8e\x0ec\x10-\x05\xee\x11\xca\xf0\xa5\xa6`o\xb6\xd4\x15~m\u042b)[\xf8\xbf\xe0\xed\x06\xd8\x12\x1b\x86\b\n9\x87\xe2\x99-\xc5\xf6m\x8fu\xec\xea\xe3\xc97[K\n\u053f\u077a\xb6\x88\xcb\x0e\x03\xc7\xdf\x0f9\xb2\xeaC0\x80\xc8m\xc8\xfa\xc9\xf1\x9d\x8a\xda\xd3\x01]\x01N]\xbd\xc8f\xcb\xc4A\xfe\x99\x83t\xa8\xfa>P\xa4r2\x9e5\xfdi9Y\xe0\x9a\x13;\fn\xcf\n\a\x10\r\xef\xdcPz\x9d\xb4\xff\x06\x00\xd1\xd4\u056a\t&MS\x8b\xb0*\xd8\xf6\xe5\x8dgmU|_\x88\xf5W\xb5\xe7t\xd6\xd5\xd5\x0e\xff\xc0 @\xa1\xb5\xcd\x03\xde6r36e\x10\x80h\xe5\xcc\x13\xc3\xf3\x02\xbd\xb7\xd2>\xa9\x19\xaf\x96\xa5\xd2U\xc0\xe0e\xa7\xbc \x19\xaaNn\x8a\x19v0\xc3\xf6)\x8ek\xddiW\x15 r\xdd\v\xec\xc1\xe6\xfaj\xe0\xddL)%\x05\xff\xfaN\xe2\x8a\xd8<4\x8c\r\x9e\x87E\xd3\xf7\u00c9\xa9*G\xd2\t\xfb\xbf\xa8\xcaIN\xfa\x9c\xac\xdb\xe3p\x11\x80hJ\xf6\xbb\xe4\xa06\xcbe\xf9\xfe*j\xb6\xc2\xc9\xdb\x1bM|\x00D\xfe9\x1a\x0en/\x15n\xd1,\u06d3WV\xa3N\xd5/\x8ez\xa7{\xbaxOp\xf1\x98\xe2\xe2\xeb\xed\xea\xd4\xde\xdc\xe0\x1f}T\x99\x0f\xc4\xcf1\xbfZ\xa7|f~T\xe8\x97Z\xbc\xa6\x97Eae\xaf-\xbew\xff\x17\xb3\x16\xd68\xbe\x9e\u03dbW\t\xb4\xf1>`9\x85Xm\xa9~\t\x95\x9ab\xb9\xbfY\xbc\xc6\xcd\xfbw\x1dX\xb5\xfb\xb4\xcd\xe1t~\xda6\x00\u0472\xb8\xe9\xd9\rC\xfbg\x02\x88\x1e\at2.x\xd1N\x17P\xc8~Dl\xab\xbdm]\xfa1\xa8Xc\xab;\x94hlDc#\x82\x00\xd1\u0604\xff\n\xa2\xb1\x11\x8d\x8dhl\xa2\xce\xe8?\xd4\u0614\x05u\x1bR\xc8\x11\xa4\xb1)l\x13\xb9\x86P\x1aWS$\xc6Z8\x89\xae\x9f\xc1Dk\xfc7\x9dJ\x9d`\xf1\xd8R\v\x85\x1fu\xfat&\xdc\u0276\x03\xb8\x88Z\x18V\b\x9b\xb38\xe8*2QD8\xf8s\xe1 y\xf1\xf5\x9dG\r\xb7\xd4\x04\x10u\x9b\u0620\x8f\\\xad\xc2\xce\u0615\xbf8\xc1\xfb\x83\x83\xaf\x92\x1c=\xa8\u06ea\x85\xb2\\\\(YF\xd4\xf5\x0f\xf4Y\xcc\xcc\xc8w\xbb\xf3u\xe9\xf2Zs\x00D\xfe\u02e0G\u01d1\x03>\x03\x88\x94Unf\xbc\xaa97\x8d\xef\xb1\u037b\xe6\xe4\xde}1(\n@\x14\x82b\xcfq\\\xac\x97\x13U\x9a\xa8\u0495@m\"\xaa\xb4dyG1\xa8\u04ba-\u07cet\xdf\u04f2\xec\x83\a\xd3\x00\x85\xbeLyz\u05f9iT0\x83h\xa2\xdc\x13\u06ea-\x9fE\x95>E\xc9Q\x92\xa8J\xe3\x1b\xb8Y\xdcq\xb6\x85{\xf2\xbab\xb5\xea[\xc3\fw\x8fS\xc8\xca#Z5\u046a\x05h\xd5\x10\xf5\xf0\xaf\xb3p\xd3Y\u05fa\xdc\xcd\xdf\xc2<\xa6\xf6\xe9\xee\xe7\x00\x85\x86\xf8\xed{{\xdcf\xee]\x06\xfdj\x9a\xbf\x9c\xc8\xcbD^&Z\x18\x91\x97\x85\xff\n\"/\x13y\x99\xc8\u02e2\xce\xe8?\x94\x97\xe5B\x04\xc8\u02dcm\x82\xe4e\x8e\r9\xa2^Q'0\x1f\xb2\xc9\xf2\xe2\x19TIf\x9d\xa2\r*\x7f\u041c\xea\x10i\x12e\xbc\x89\x1b\t\x0fY3l\xcc\xd4\u05a7\x16\x97MT\x98Q\xfbk\xa2\xc2eE\xbb\u05e5~\xea\xa0\xd9\u0542\x8f\xa8\xec\xdaQ \u07ec\x89\xdd\t\x00Q\xd0)U\xe9\x00\x95z\xa6\x00\xa2\xb7\x03O\x15\x0em\xd9m?\x96\x11\xdb'\x1d^z.Bg\x14\x83h\xf9\xee\"\xb6N\x8b0b\u0088\xab6#\xe6~\xc7R\xa7\x91\x8d\u01cd\xec0\x89\xcbxU\xd4\xf5\x8f\u025d{\xc4g\xfc\x89+V\x8dUo2\xb46\x80hJV\x83W\x83\xf6\x0f\xa7{\xbbR\x81\xec\xdf\\H\rb\xfb\xe8\xbf\xecw\xe1,\xaem\xe2\u0318\x80\xe5Z\x0ercD~/\xac\t\x8b\xc7\xd3\x1e6\xee\xf0\xfe\xc1\x9e\xa8\a\xdc\xe5Wop\x8d6&K\xb9o\xfb\xe9\xd2\x05N\xc0\xf0\xba-\x00D\xad\u008a\xc2\x14\x92\x87\xf4\a\x10y\x8f\x9e\xe3o3\xa8X\x94h\x10JD\t\"J\x10\x06ED\t\"J\x10Q\x82\x88\x12UR\x94\xa8\xb5Q\x80(\xa1\xa8\x83\xf5\f\x85\u0486\xac)\xfc_\x1d\xb8\xf2\x05\xe9\x1aR{y\xa4\xea\xcf\xc3(\xa2v\xfc\x95\xda\xc1iL\xd4\x0eq\xab\x1d\x85\xd49\xb6r\x86\xe5\xc2/\xf9r\xed\xe0W}\xc99Dr;o\xdcT\xb9\xaa\xbc\x9d\xefW}\xcdWO\xd3\u0516{\x03 *\u0234rwy\x1b\xce\xf5\xa5\xba'\xdb\xcf\x1e\xac\xda}.V0RP02\xbc\xef\xb8\v1\bPh\xec\xa5\u075e\x13\x8aT\xd3\x19D\x93\x9fK\xb8\xa6\x84\x9cGl\x96\x98[\x81\xf3TH\xf9\vOn\xc9b\xfc\xeb\u0158\xe4\x1c\xbc*\xc9cI*\x80\xc8Z\x93sJ\xa9\xe5\xe6v\u010fT\x8e\xa9\x13\xe4GFl\xd1\x1f\xe4\xfb\xbcc\xf1EC[0\x92\b,\xd5D\x82\xb4\xd2\xfc\xfbD\x0ei'\xcc\xfd3\xdf\xce\x1d\"\x95\xa8\x89X5\xff\xd2\xfa\x1es^lX|\x03\xbb\xbf-21\xea7\xeb\xee\xe1+\f\x02\x10\xb5U\u054c\xde\xe1\xa2O7u\x946\xa1d(r\x86\x9ddAH\x16\x04\x9f\x05\xa1\x0f\x1e)R\xf2\xc5\xca\x15\xed\x8b\xf6\xf2~P\xdax\xfe\xa8\x15\xa6'\x80\xa8\xf9\xa8\xa8\x9c\x91\x8ez\x03\xcbv\xacV.>\xc2\x14\xf6\xd7\xd5pR\xd5\x1fe\x91\x02 \x1ac\xe1\xbb\xdf\xe1\xd34^\x83\xa7\xa2d\xdek1\xefk\xed\xe1[\x1e_R\xaa\xa9\xa7\xf0_\xe2\xc5\xf7%]<\xa4\x12\x1b\x8e\x81w\x00D\xe7w\xde\b\ti\x9d\xa6\x00 z594'\x1f\xbe\x1f\x04 Z{\xa5\xd1rE\x98\xb5\xe6\xe7\x7f\xa9\u041e\x9fs\xdf\ry\xdd\xfeY\xaa&\x97N.\xfa\xac\xe3\xe13s(\xa0\x90\xc5\xcd\xf0Q\xfa\xfd[$3\xa887\xa3\\Spn\xc6LpnF\t\x97\x9b\x19\u0256\x9b\xa9\x88{_Hn\x86\xe4f\xca37#\xcey\x17[\xea&'\xe1G\xdf\xc4\xcb_\x9b2\bP\xc8ix\xc6\xdb^\x1df\xba0\x88\xa4lH\u02a6\x92\xa4lP\xc7A\xd6\xf3\x11\u057d?\x83$.K\xf2Ei\u07cf\xc0\x89u\xf6\x02\n\xd5\xfd\xef\x98\xe5bY\x83L\x06\xd1\xfb\xe1r\x01Y\x92\xe2+\x86\xf1)\x0e\xea\x93Hg\xd4YR\x1c\xac\xf7\n\x13\x91\xe0OD\x02\x11N\x99:\xf0\x85\x94\xdf?\u05cf\xd0j\xb19\x12@t\xb7[\xcb\xee\x19\xfd\xf3\x86\x01\x88\x94\x9e\xbaL\xb2o\xd9\xc0\x10\u03e5o\x16>\x99\xbc`\xf6\x02\x06\xd1y\xb0\x06\xd8\xe3v\x95\x91@\x93{!\u0299@\x17R\x8f\xcb\x1e.\xa6\xa6n\xb78\xc6K\x98O\xf8\xf9\xdf\u06b2\xec\xff\x85\xe2)\x95+\x8a\xc6~\x91\b\x17*\x89\xed\xfa\xabt\xbd\x826\xd63\xda\xd8\xf2\xfd<\xc9*\xa1\xb9c\xf8\xa1L\x00Q~\u01b3}\xf37\xa8\xed\xe7\x9b\xe3\xe0&\xf7>\xcfl\xf2\xe5\x10\x80\xa8\xd7\xc4^\xbdg\u073d\u0634\xe4\x1c\xbf\x7f\xfa\xea\xf9\u0754\x9eG\x00D\xaa\x1d\xc1\x84\x83\x91\xd1\u07f8^e\xa2\xc7J\xad\u050e\xbb\x01\x85>\x1e]\xb8|O\x8d\x1f\xb1\f\xfau\xc7n'\x81\u0130FO\x81\u0130\x86\f\x86\x18*\f\u019f\x98/\xe4\x9cd#\x86\x0f\xb1\xd3\xe6\xcb\x16\v\u0526T\xf8\x97\xa2\xc1\x1fD6#F\xf6y\x16\xd8\xd3y!\x83\xe8\x97*\xb5]\x96X\xaf\xbbX\xe3U\x91^\xda\xf1O^\xfaeoN\xf3\x1fo)\a\x06\x01\n\u05797\xd6v\xed\xebQ\xb6\f\xa2-\xcfV\xf2\x02\u05a2=\xac#\xe8\xcf\xf6Z\xbf\aR\xee\x1e\xee\xed\xff\xe0\xcd2\x92\xee\x9fN\xbe\x94\x91\xcb @!\u0766jv\xd9sk\x1b0\bP\xe8\x90\xd4\xe2\xe5S\xbf/\x7f\xc1 @\xa1\xb0z*\xa3\x1b\fs\xaf\xcd @\xa1Os\xed\x8a\x14\x9a\xe6*3\xa8\x921\xca&\x99\x9aw\x14\xaex4gPE\xda\xef\x9fL\xa3\xbf\xea\xfb\x8eS\xbe\xaa/bP\x05\xdb\uf7fc\xf4\xa4\x81\x99\u04c3t\x8av3\bP\xe8\xbf\xf7\xef\xd7\xcc2y\u06dfA\xc4~\xcb\xcf~/\xee\xb0\xffx\u026c\xd5^\x06\x01\n\xf5\x7fu\xc2\xf2\u04a6\x15z\f\xaad\xf6\xeb?`\xf4\x92\xf0.\t]\x18D\x14!\xa2\bU\x16E\xe8\xe4Qc\xf9]Is\x12\x18$q\x8aP\x8a\x8a\xee\x939\xda\x1ce@\xa1\xa8yF=n]<\x13\xc6 \xder\x90?)@\x11\x92\x9a%\xb0\xe8\xd5@\xf8\xca\x1dvEh-[}P\v,\xc7\xc1\x84\xd6E9x\x1a\x85\tl\x8b\xf6\x8b$\xfc\xb04\xff\xc2.\xdcRW\x7f\xd2\xff\xe1WN\xb6$\xbf\n\xfa\xa0\xd8e\ua52b\xe7\x00D\r\xe5c/%\uab9b\b 2\xceC\xfe\x1a\xed\xa6\x9f\x02\x10\u0351?\xd2\xdf\xc7}jG\x00\x91\x81\x9f\xf9\xe9\xeb\xbd\xc6>\x14\x17!,pZ\xb8\xc6q\xfb\xe0\xe2Z\x1f\\C5\xb1N\\{\xd1'\xae}\u5738o\x9d\xadog\x99\xaf\xab\xf3\xb3\xbfU3\xf5\u0339\u07d3\xc45q\v\x87,|j}Lv\xd5\xcf\xe7\xcd\xc6\xcf\xcc@\xe1G\x99kQe\xcf\x17D\xfb\x9d\x9d\xedA\xff\xba\xc7\xf8\xbe\x7f\xadK;}jkd*\x80(v`\xd3~z\x03\u07ee\x06\x10MW\xf3z\x8f\x8e\xfe\xb0\xc3\xea\x89\xe1\xc1\x9fv\xc7\ub75e\xc7 \xde\x1a\x92\x96\xc3\x1dV.\xa4j\xb1\b\x8a\xb7)y\xaalAQ\xc8/t\xc4~8n1\x96\x9b\x00\xa9\xa66^\xe7\xac\u00d4%X\x01\xb2\xa1\x8f\xe7\xbe\xf1\x03\xef\x9d\xe2}\xfa1\x16A\x8d-\xae\xfd'v\x91\xd0wf\xc7\\\xbb\x16\xbc7\xff\xce.\x05\x16]\xc5F\x87\xa2\xach\xcc\f\x1a\x00\x88\xdc9\xa3>\xfaE\xc3d1Y\x89#\xd7J\x92\x12\xba\xcey\xdb\xf8\xd5\x15\x00\x91\xec\xd4\xc5\x1do,\xff\xb0\xb7\xa4RVg\u05e7[wb'\u05e7\x9d\xad\xb2 54\x1d;\x06.xuRx\xab.{\xbdB\xb4\xcb\xe5X\xef\xd5GU\xa3\u8df0`\xdb\x13\xea\xe2\xa3\x02!\xad\foN\x95O>\xf5(\xb8]o\x11|\xb3\x82\xcf\x1a\xe6\u0751\xaa\x1f\xdd#<\r@\xf4Y\xc9U\xf7jD\x9f\xf1%\x17En^\xff\x9a\xa1\u025f\x16\x00\x88\xf4\x0f\fn`\u058f\x1a\x04 \xd2\xdc\xfc\xc5]C\xb7K]@\xa1;I#jOO\xed\xa8\u0360_w\xe9\xde\x13\\WSK\xa0|*\x93\x8e\xab\xaba\xe9\x12M\xce<\x93\xba\x1a\xc9\xe4v\x95\xf7\xcc3QD\x88\"\"\xf9\x8a\u0214\x82\u01e3\x1fO\xd0\x0ed\x90\xc4)\"\n\x96\x8f5\x1e\xd4}\xe3\b(d\xe3\xa0g~as\xa8?\x83x\xcbAq\x91\x00ED\xee\x1a\xd6\x18\v98\xa3\xe0?I\xcc9+HT\xe1x\x92\x96\u07bf\xd5\x0e\xe0\x85#\u0605\x94\x12\x89\xbb\x94\xa8(\x9de\xd8v\xff\xedY\xbd\xb2\x17\x9f\u0622\xf1\xb66{3\x06\x1auY\u02b7\xa8\xae\xe6\xcdO\xee\x1cm\xe2\r Z/\x1fi|\xe3\xfe(n8}\xca\xe6\x8a\xd9\a\x99%\xa3\xb1\x9aD\x1bo%mOs=g\x06\x01\n\xf5\xd4\xcf\xde\xf3\xba\ud3b6\f\xa2\xb5\xd0\x1dB\u067f\xd4x\u0731Yx\x90m)\x93\"\x98\xcaR\x04S\xd5-h\x8d\xfeW\xbf\xb9\xb7e\xef\xd0Ke\x12\x86(\x12\xe7+\xba\xf3\xc5\xc8{\xcf\x03V\x8c\x89\xb1\t\xbe\x8euT\x01\xb3s\x9c\x8fCj\x1a\x83\x00\x85v\xb4hUoK\xa2\xc3v\x06\x01\x88\x9c\xefd\x0f\xf8r\u011dn\xef\xc0YF\x8a5I\xb1\xa6(\u015a\xb4&Z\xea\xe8\x9fY\xd9\xc3h\xe5\x8b;\xdaW\xf2\x15\xcc\nMt\xc6/\xab}\x82o\xe5\xfd\x1e [\xfe|V\xa5\xbbf\xa9\xc4P\x1e\x89o\xf7\"\xf5x\x9c\x0e\x80\xa8U\xc4\xea\xb7;\xcc\xe6\xae\x04\x10\xa5y\xd6\x1dq\xe1*\xec\x06 *\uaf25}\a\xc7&\xef\xb8$m\xf9\x80\xc9=\xf7\x84_fP\xb1\xbe\xd7h\x03)\x8f$\u5452\xa1UT\xfe\xf2*R\x1eI\xca#Iyd\xe5\xb5_R\x1eI\x92\x01$\x19 Y\u0240\xaaQ\x1eY[]@2@)\x16\x9f\f\x90\x19%\x94\x18(\xa3)(\x19 \x9d\x86Q\x8b~\xaeX|cS\x11jAD-\xc1\x80\xe8}\x81\xfa\xe7o\xd9y\xbc\xdb}\x8bJU\x002oXA\x15)%8\xda\xfd\xd6\xee*\u03ff{J\x01\x88\u068d\xb4\xb0:\xb5\xf2\xea\x00Rw*\xd6\xf2\u014a\xab;Mb\xd3\xc3I\u0769\xa4\u059d\x16R\xf2,\xca\xef}\x9ev\xf8\xf7.\xe1\xef\u0718\xd8\xd4r\xf7\xcb\x16\xe1\xdb\xee\xed5\u56cb\xd5\u067dn\x19Y\x9d8\r Z\xdamL\xc1\xe2\x0fa\x17\x01D\x9f\xc7\xcfL\xa8\xb9\xf1xk\xac\x8c{pN\xc7\x1b\x9fTL\xbc\x19\x04(\xd4}\xea\xca\xf5\x93T\xd3{2\x887\u02b2\xfa\xc2m1\xef\xb1mZK\x95\u03d6\xb4/RfX\xc9\x12T\u0097\x19\x12\x1b\xfd\xcdFe\xa2\x9bK\xb9fw\xa1w\x0fN(F\x1a\xe5\f\xaf\x88\r\x89D\x12b\x8f$H\xb0 \x91\xc1\x02D\xb6\ub386\xacu\xbf\x15\x88M\u059d\xf0P\x1br\xf1\x8d\xf7!|\xe6\xb3\xc7%s\xdd\xf3N\xda\f\x02\x14\xfa\x10\xf9l\xd87j\xb3\x12\x83\x00D>\xdfB\xc6M\xea\xe6\xa2\xc0\x9bu\xa9\xf6\xd8;\xf0\nX2\x9f\xe7\xb0w\xe0I\xee\xa9\x12\x88\x9c\xa1u\xfa\x90\xcc\xfc,\xec0;\x84\xa9\xe9|j}\xb4\x16\xef#\xc9\xf9\x91\xca{~\x84$h\u015e\xa05\xf2\xf3.\x98Tt\x97\xeb\x15=\xcf\x16\u05bb\xb9V\xf1\v\xa0P\xa3\xd1\xc1\x06j\xabvnd\u042f\u01a6\x93\x05&hev\n>\x80\x81\xab\xab\x91.\x95\xc3)\x11\x85\xc0'l\t\x1er\x00\x83\x1c\xc0\x90\xf4\x03\x18\f{E\x13\xba\x19\xea%\xf4\u0411c\x10\u0242\x90,He\u0242\xfc\xd7\xe5\xc4#\x13\xcf\x1f\xc6\f\x92\xb8,\xc8\xfb\xa8y\xff]8\xea\xf9\x06Phi=\x9f\x91\xc6{\r62\x88V\x99\x96\n\u0202H\x1d\xc0gA(i\x01\xe9\x8d\"\xdc^\x86\xb5V\\\x89\x1cv\xec\xc4\xd1\x17\xf3\u051bvN_w\x86sYD\xf4\xedDw\xfdE\xa6\xd6XB\xa2\xfey\u0645\u054d\xfd'3\x88\x16\x0f\x02\x84\x92\xeb8\xbdpr\x1d\xe5\xc0\xe2a\xaag\x95\xa2\x98\xa6W\xf3\x90Q\xef \xb7\u01a7\xe9q\x0e\xc1\x04^\x94\xbd0\xc1k!\xa5\u02e2\xac\xe5\tM\x9f\x1dE6\x10\x87\xb2gG\x90\u0400\xeb\xee!0\u069e[\xf0,\xc1\x8f\x93m\a z\xb2v\u05ba\xedG\xd5v\x00\x88\xacW\xf5\xec\x9c\xff\u00ce\xcb*\x97\x9a\x0f\x1f\xd2%p\x83#\xdf_\xa9\xadt\xd2uM<\xfe\x1d@D]\x1dT\xa4`\xd2\xf3\t\x96\x96&L;\xfelD\a\xc5\x15Xc\xd3\xf7\x91\x1a\x12Y\xbbw\x1c\x83\x00\x85N\x1c\xed\xa5\xd7\xefC\x8a\xbd\xde\u00fd\xe4\x9b|\xca\xc8:\x15\xe8m\xdb\x03@tC\xf5\xf8m\xa9\xbd\xedr\x01D\xc67e\xd6\xd6\x1fX\xb3+\xa0\u040e\xae\x83\xe3\xd6\\n\u0791A\u0164\xb3v\x90@\xd2IN\xfd\x13\xd2Y\xbd\x82ur\xea\x9fP\\Bq\u0269\x7f\xf6S\xff5\f\x05P\\\xd9\xefx\x8a\xcbi(\xa8\x82\x0f&\t\x7f^\xb6\uc82f\xf8\xa8\xfbt\xb6\xf439m)\xf2i\u02df\xe3\u0580e\xdc^\x8b:\f\x95\xacd\xe4\xda\xf9\xebJ3k\xce\xfd\xc0\x17-\xc3\xdcv EY\xda\r@4jT\xb36\xb1w\x0eXpi[m\v\x9fA\x1f\x9d\xb6a\xa9\u0602.Q\x86\x8d\x17\xfb6a\x10\xad\x0f\x1d\x13J\xf7\x90\x9a\x86=\x16\xff\x9em\u0653c\xf1\xffv\t\x89t,\x9eX\x1b\x9b\xb5\xa5-\xfb\xa6\xe0s\xd9d\b=T\xddq2\x94x.\x03\x96hO\x8f\xc9\xd9\xe6\x87;<\xd2\x0e\xcd\xea\x84U>\xb2g{,<\u0522F*\xd6K\x9d3>7_#\xd6`\x18\x83\x00\x85\x9cjX\xd8\f\xea1\xab\x13\x83\x00D\xc9\xe7\xf7\xa6[O\x1a\xacAo\xf3R\u0603\xf2D0\xaa\u0582Q\xd1S\x01\xa3U\x99\x9cT\x89\x8f<\xf4ne\xb7\xe7\u0367\x1e\xe6\x0eG\xb3\xb1?\xce6\xfbP\x1b@4\xcbXY\xef\xfcG\xf5\x1a\x80Bc\xed\xa4\xec\xeb.\x19\xaf\u0160b-J=C\xa0\x16EN\xa8\x93\x13\xea\xe4\x84+9\xa1NN\xa8\vo\xbf\xe4\x84z\xa5\xb4_rB\x9d\b\xd7D\xb8\x96,\xe1\xbaj\x9cP\xaf\xe9$@\xb8V\xb4\xc7\v\xd7\u0486\x82\x84k\xa9\x97\xc27*d\x15\xae\xc9\xd1(\xc9=\x1a\x05\xbf\xb0\xa9\xab\xe4\u0714$\x9e\x9b\xe2\r\x7f{\xb6\xb9\x01bi\xffP\xd9\xe4\v\x88dgO\xfevd\x9f\xdcj\xbeI\xf3l\x14\x7ff\xf1\xc7\x0e\x0f\x01D\xce;\x16\x1c\xccm\x13\x7f\x11@$\xbf\xfe\xfd\xbb\x9cY\xbd\u00b0Z\xa1\x9a\xd6\xec\x97\xd3\x1f=\xd9\xc7 \xde\xe0\xca\xe4\v\x95\u04509\x8d=x\u074d\xcd\xe6\xc8\xc1\xebJ\xb6\xe6D\xa6\xc6 @\xa1wGv\x0f\xf6\xb9\x9a\x8f\\\xcdW]\x8eVW\x83D\u07dc.\x01Y;^\xac\x1e\b j{\xd3}a\x7f\xafz\xaf\x00\x85v'\xe8\x81\xc5y\x1bW0\xe8\xd7I\xe7\x1e\x02\x13}\xb2\xa7\x05&\xfad\x830\xbb\xb9L\n\xcbnN\x8a\xceI\u0479D\xaa\x90\x95\xb7\xe8\xbcBL\x8a\b\xfbD\xd8/7a_\xd4\xd7\xf6\xfa\x83\xd7n\xb6lN\xff\x85jY\xa1\f\x02\x14z\xa2\x1c\x91\x9eh\x97j\xca @!\x8f[\xe3\x94\x1d\xef\xaf\ff\x90\xc4e\x196%t\xf5sq\x93=\xc8}\xdb\xf8\xa0\xd9j\xc9\u02e70\x88\u0785{\v\xc82\xc0\x9b86\xbe\x94\xa7fhR\x8d\xf8>i\x90\xc7\xe4\xe9\xee\x1eS\\\x1d&\xf7q\xf5wuv\xa1m\x80\xd45\nV\x88D\x18\b'\x91\a\u00b9\\\x06B\xfbLN\x81\xb6\xbf\x86\x06\x80\u8079{\xb6J\x9aN\xde\xcf\xff#\u00b9c/>\xb6\xd2fA\xd3\x01:\x11~\x83\xb8\xcb\xf7\x8cu\x8fC\xf7\xc76\xc1\xb2/\xc73sf\x9a\xf6\u0289\xc7r\u07cf\a\\R\xf6\xffw\u03ddA\xf4^h\xca+\xdd,\xa3\xe0\xb3TA;Cm\xa7\xf1\bq\x05\xd5{B\xf4\x0e\xee>7f\xd4\xf5\x9b\xd8\xef\xd7\xed\xac\xd9~N\xff\xa9m\xf9u\x17R\xd9)Le\xe7\x18\xde[\x94\xf6^>\xae\xbe\xae\xfe.\x96\xee\xbe.\x13\\\xbcq'\x82q\xb6\x9e\\s\xc4m\x8d\x1b\xe9\x97~\xfe\v\v\x9e[\xff\xfd_X\xbbLp\x10\xf8/\xbc\xb8\xef\xfbE\xbb\u0145\x84o\xe6\xbc\u065b\xcf{\u1e94*=l}\xbd]\x1c|]\xbc\u037c\xfc\xb8Q\x0f6\xa4\x14\x87%\u01a5\x16\xda\x7fix\xa3\x1b\x80HK{\x89y\xb2\xd6,C\x00\u0454\xff\xd0\xdd\xf7\xb7\x8fZ\x01\nm\x1e\xf4\xf2\xc8Ej\xc7\b\x06\x15\xb3H\x95o\x02Y\xa4\xccS\xc1G\x97wav!\xe9<\x16\x16I\xfae\x11\x16)\x91!\xafX\xfbeU\xc4\"'\xbc\x8e\xf0\xbar\xe3u%\x16\xf9\xed.2\x05\xdf<\xb7|f\x10\xa0\u040c@\v\xb99C-w1H\u2616\xffMO\xcb\xc8\xc1\x9fFp\x19d\xafm\x1a\x0eZ\xa9\xfb\x19\xc4[-r\x8f\x040-\x99\xa5\xf8z.NMl\xe3('Q\xb9\u042f\x8bE\u02a4 \xd56H,\xfe\xf9E\u0157\x9a2r\xfa\x99\x00\xa2\xf0u\x1f\x93\xf2\x83\xcf\xf4\xa6\x87\xcd\x01\x13\x83P\xb8\xf6)|\xad\xa3\x8aJ\xd5bU=\x06\\b\x18e\xef$\xdf\xee\x97;\xb8\x06\x80h\xe6\xae\xd7k\xf4G\x1a)by\x8c\u057bT\xa5\xf6\x9d4#\xb0<\xce9\xab\u02dc\x8e\xd7vj2\b\xa7i\x96\xddvM,\xd6\xe3L\xacG$\xeb9Z\xd7l\xd1\xfb\xad3\x02%\xc9z$Z6)1\x8c\r\xfc\x96\xbcY\x02\xd7\xcf\x06\x10\x85\x16\f>\xba\xa8\xedgy\xac\xf5\xec_\x16\xf6m\ud138}X\ube7a\xc6Mgnf\xb7\xfe\f\x02\x14j\xde\xf1\xea\xc7\xfb\xc1\xe7\x1f3\b@4c\xda\xf1\xdb\xe3\xa3\x1e\xaf\xa4\x83\xc7&\xbc\xaf&\xc7b\xab\xb3e\xff.\x9e@\xb4\xb8\x9fe\xae\u0778\xaf\u3e6f=rQ\xe4{\x95\xa9\x13\x00\x85nn\x0elw\xad\xc9\xf1,\x06\x15K\x00\xaac\x04K\x00\xd2\x02%\x00\xe9$\x9c\x04P*\f/)\x01\xf8\xb0\xb1#C\t\x94\x00\x96V\r\t\x00[\xa0\xf5\xaf\xc8\x11S\x1b\x83<\x8e\xb5Pw=`\u0704A\\~\xfd\xcc\xe6l\xf4\xca{v\f\x02\x14\xb2\xd4n\xfb\xedp\x92\xd9\x11\x06\x01\u02b6h\x93<\xd7f(\b9\x80B\x1f/\x1a\xdc[\xa3\x12\x9e\xc2 zqyT\xc0\xca\x13+/\xaf\xa0\x95W\u07bc\xbc\u04ad\xbc\"\x8b\xb0\xb8\xf6n\x0f\x9a2\bP\xa8\u034a\x9a\x9cX\x9d6=\x18\xc4G\x94Oo\xbf6\xf6\u00ed\x1f\x9a\f\x02\x14\xb2\xbe\xf7P!Q\xda\xf00\x83$\x8e(\xc7|\xf5s\xad\xef|*\x0eP(\xb0\xaf\u2906\xb3\xda\xfa2\x88\xb7\x0e\x95\x1a\n \xca\xf2\xed\xf1DYj3&\xd4/J\xc0\xaf\xeeV\xbc\x8fe\x9eg\xe7\xe5\xed\xfbk\u07b8\x14Gy\x17L\xe8\x99\rF\xfc\xfc\xf5R\xe5z\xcc\xfa\u0089\xed\xcc\x12\xc0\xec\xff-\x1a\xef\x19\x955\u025e\u00f7%oW\xf0\x18\xaeb\\\xdf\x16@4\xb1\xabM\xea\x87u\x8f\xd4hB\xb3\x14\xb3\x17r\x06\t\x13L\x17r\x1a\xb3\xf9\xa67,\xfb)e\xc9\x12\x87\x9f\x10\x91\u014a\xd0\xee\u06f1\xec\xe1e\r\xc3\x7f\r:D3B^)\xcaG.r\x05\x10E\xe4\x9dn\x90\xa4\xb1\xab-\x80h^\xca1\xcd1yw\x14\x7f>\xdbE\x98\x91\x13Px\xc9?}\xd7\x1c\xcd^\xd9NR\x8c\x05\x10\xd5\xec\xf8\u032f\xdb&\xcf\x01\x00\"w\xc7v\xbbR\"\xf3\x06\xd3\xe3\xe9\x8b]\xcb\"\xae\xcaB\xaa\u0524\x96\xf0\xdfoY~v\x88\xf7\xb3\xdfk(m}\xcb}\x92\xb0M\xbb\x8du\x8dTWD?j\xcf7\x89\xf2\xc1\xa9\x89c\xd7o\xfd\x82\r\xe9w$M\x9el\x1d\x7f1\x9f\xef\xa9o\x8c_\xa4vit\xa6=\x80\xa8\u045bV\xafG\xe4mY\x01 r=\x94\u0579\xbd\xf2\xf5-|\xbf\x1a\xde\xf2\u0466\xc5\xf6\xf5\xa6\x03\x88\xd4V\xb5\xb5\x92\x8f\x90J\xc3\xfe\xaf\xd9\xd1\xed\xebFN]\xab\x81e][]\x96\x19\xfd\xd0k\xe6\xc6 \xdaC\xb9V\v\x0fe\x8f\xf3P\xb8U\xca\xef\xa1J;\xa1\x92\x1e\xea\x14\xf1P\x15\xe7\xa1L\xc5\u586a\x99\x13\x82\xa8 \xb7M\xd3Z\x86\xa7\x9b\x03\x88d\xce]2{\x95\xa3\u01af\x91\xea/\\\xdf,vw\xbb}\x00\xa2\xe5\xb3\xd29\xdb\xe2\xee\x8f\xc7>v_W\xedc_\x1c\xac\xff\xc3\xfa\x9b\xf0zN\x8a\x89\x1e\x1d\xdf3\b@\xd4du\xdf\xdeMW\x9e\x7fB\xdb^\f\xb61>){\xa9\xfa\xca\xcd\xcf\xd1\xf8\u02b3Y\xecI\x8f\x9b\x158Z\xc30\xe7!\x19_%\xd2\xe0|\xdc\xdd\xe5\xf3j\xfd\xb8-\x00\xa2N\x1a\x16W\x0e\xc8t\xe4\xfeG\xea\u0740\xfb\xdf\x1eu\x18\xc4\xfb\xbc\u077c\xcf\xff\xfd(\xce \x0f\x1f\x1b\tp4\x10\x19\xa5\xbc\xeb\x17doQ\v@\xa4\x97\xd6\xe8^\x98\xf3\x82#\x00\xa2\xf9\xfe\xf3\xf6\xe5\xcf:\xb9\x0fP\xe8\xc9\xc7\v\xf7\xfa\x8eQZ\u0160b\x99\xad\x8e\x06\x91\u0648\xcc&\xe9b\a\x91\u0648\xccFd6I\x90\xd9\xee\v\x92\xd9\u07b3\xc8lW1$V\x1c\x1cE\x86\xbf\xddtzk\xe0\xa3f\xdb\f@\xe4\x1c\xf5\xbd\x99R\xb2\n\xddnZ\xaa\x01\x8eb>e\xa3\x87\x03\xcb\xfe*&\xe6\x10\xa8\xa5\xfbU\u01fc`\x10\x80\xe8^\xf2\xc0\xaf\x9b[\a\xaa\x12\x91\x90\x88\x84D$\u010b\x84\xd6.\x13$C$\xdc\u0535\xf0\xe8\u0284\x1a\xb3\x00D\xa9G\xbf\x1es_\xb4\xb0>w\n\xc3\xeb\xf5\xder\xc94\x16Ph\x8f\x952U\xf3\xd3\xf8\x8b\f*\x16\tk\xd5$\"!\x11\t%]\xaa\x11Q$\x84\x90\x16\t?\xc9\x05vw\x9e\xaf\xb9\x91AD$$\"\xe1?\x11\t\x1d2g[5\xc9\xef2\x8cA\x12'\x12\xd6N,ha\xb2\xfetw@!C\xf9\x80\x06\xd3\x0fG\xcdb\x10o\x1d*$\n\x10\teC\xf0\"!<\x80a\xd5\xe5\xb9\x7f:\xf3\xed\x9fu\x14\xfdf\xa7\x00Skn\u0128^\xb0\xbae\x92\x91\am`\xaf0;\x18\x85\xa3\xb4\xfc\xf5)T\x00\x8bG!\x94N|\x94\xae\u012f\x8ex\xb2gi\xc6]\xa5\xf1\xdc\xc9\xd41<\xee\xb1~m\x1e6\xfc_:\xf6\xa1\u3600\xbe\xc9X&\u0524Y\u07d63o\xd52d\x10\xad\xb6\u0132~\xe2\xaf\x1b-g`\x8f\x94\x95R\x02J\xb8\xee\xeaI3\xc4d\xc16M\xf6%\x86<\xb4\xa1\xdb\x04C\\\f\nC\x85\xb2`\xa2\xd8H\x82yWq\xc5&\x17\xfch\u03b9Y\xa7\x10\ub9e26]\x0eW\x8d\x8b\xf6\xc7\xfa\xa9\xf37\xda*\xdcR\x8bOb\x10\xa0\xd0\xc2\xdd\xd7{\x1e\xed{\xf4\x04\x83\xb8tv\xe8\xe6\x1d\xf3\xedZ\xd1\xd5\xc0\x1cY\uc756D\u01a9b\xfe\x95\xc88\xbf\xcb8\x10\x9d\xf8\x81\xd2G\xad?\x91\n \xaa5/\xf4\xe5\x0f\xfb\x89\u0440B\xcb]\xa2\xa6u\x057\xcf2\xe8W\xb7[\a\"\x8c\x10aD\xd2\xe9\xe9\x9fTOI\x01\n\x1d\xd8\xf1\x04P\arn0\x88\b#D\x18\xf9'\xc2\xc8\"\u067bZcL\xaf|a\x90\xc4\t#c5\u059e\xce\xefe:\x17P\xa8s\xa0\xa2\x95\x86\x03\xd8\xcd \xde:\x94k$@\x18\x91~\x8e%\x88'\u0638E\u00f2\xcfT\xf0\x82\x1b\xec\xf51l\x19\xf5\xb2\x97\x1bK\xa2^\xe4\xe8X\\)\x8eW;\xa79\xd5\u041d\xc1\u077e\x9f\x98\u017fkz\x7fbG\x00Q\xb2\xb7V\x8dW#\xdc\xcf\xfd\xfc7\xe2>\xd9\xf4\xf3(W\xed\xfa\xf6\xb7Lc\xcd\xf8^\xebn\x8aVV\xaa\x7f\u02e5\x00\xa2\xad\x9d?\xc9\xd4_\xf8.\x9b\x0e\xac\x9f\xfc\n\xac\x7f>\xc9\xce\xcf\xf1\xd7\xd5O\xa30\xbb?GK8J\xfa\x9e\xcd\x1b\x9f\xc3_\x8c]\x94\x8d_5\xf1\x7f\xbejD Z\xd3\u0136\bN\xbdi\xe7\xf4ug\xb8\x12\x80hxo\xe3\xc13v\xb6\xff\x0f@\xe4\xd2w\x91\u03ab{\xfa\xc5\xf7\xcf4`a\xe0\x8bEd\xe0\x7f\x1d\xebr\xd7\xd0\xceA\x0f\xdf\uad70\n\x06\x10\x99\x7f\x9c\u04fcV\xa0\\'\xb11j)\xbe\xa1r\xd1\xf9X\xef\xc0F\xad\xf5\x00\"8\u02b2\xdd\xdc\xeb\xf6\xba\x00\"U=\x8b\x03v\x91\xfd\xe4E\x1d\x02'Q\x87\x00w\x17$D\xf6\aOf\x84\x16u\x8e\x01\x10\xc9*\f{\u0539\xaeU>\x80\xe8R\xf4\xbe\xeb!\vG\x14\xf0\x1f|2wK2\r\x9e\x95\x01 \x8a\xcc\xf5]\xe5\xe4\xbf\v_\xd3\x10X\u0638\u01b4\x0e\x85[\u0133\xec\xb0\xfc~v\x81I\x8c\xa7\x9c\xda5,\x11\x9f?4*T\x19\xd9;1\x88\xb6K9\xde\x7f'D\xbbZ\x12m\x88^\xbb\xb6\xd9k\xbept\x1c\x80\xe8b\u00c1\xa1\x16\x9935\x00\x85\xbe\xb6\x19\xafk\xa94c\n\x83\b\xd3$L\xb3\xf2\xc4\xfb\xa22M\x0e\xcd4\x8f[\xe6\x1e\r:\xed\xae\xc4 \xc24\t\xd3\xfc'L3\xec\x9el\xab\a\v\xfbe2H\u2626\xc9\x13\x9dN\xb1\x9dO\xb8\x00\n\xadW\xbdw\xa3\xeft\xa3.\f\"L\x930M\xc24\t\xd3\x14\v\xd3\xe4\xfc\x15\xd3L\xb0\x8b\xec\xb4ejc7\x00Q\xcd\xc7#\xa7l\x1e\xab\xb3[\xe2\x98fQ\xddC\xf36\xf7\x989\x87\xef\x1b\xf2,\x97\xf4\u0388\xba?\x02@\xe4~\xc8\xe2\xf0\xa4\xe4\x16-\xb1\x8fu\x83T\x8fG\a\x06\xe3\xccW\\L3sBM\xe9\x84|=\\\a\x11\n\r\xad\xaf\x1c\x1ap\xd2~\x01\x83\b\xd3$L\x93\x9fin\x88\xde`\xdbn\x8b\x1b\x02\x14\xca\x1c\xf5`D\u0731\xc9N\f\xfaU\xec\xfdU0\xd3\xdc)\xf8\xee\x95I8\xa6y\x92%\xbc\xe0\x94:\xb5F\x98&a\x9a\x7f\xc54\xc5<\x11b\xbbq3'\xe1G\xdf\xc4\xcb_\x9b2\bP\xc8\xec\xc4t+\xfb\u0793\xf2\x18Dx0\xe1\xc1\xff\x84\a\x7f\x8d\x0fO\xbe;\xceP\x9fA\x12\u01c3;\x0eO\x1d\xda\xea\x8c\xd4R@\xa1\x9e\xf3\xa7\x8e\x1b\xe4\xd2a(\x83x\xeb\xb0F=\x01Z\x82.\xb7\x15Gy\r\xe4\x1b\u05a0\x0f\x8a]\xa6N\xb9z\x0e@\x94d\xf4<.\xbb\x95\xfc\x0f\xeeh^~\u06bf\xde\xc2\x06\xbc\xcc\xc0\x14\xcc[\x9a\x15-\xef\xf1\xbb\x9a\xd2\xc7\xc5\xddc\x8a\xab\xbb\x83\xaf\an\x98 R|\xec>\xbd\xd9\xe7C\x1a%dX\x88:\xe9\xderI\x9a:\xfa\x16w\x17\xeb6j@\u020fU\\Wj\xbe\xb4\xbd\xa1~\xe2'\xae\x91_HZ\xa8\xaa\xdc6\xd5\vP\xa8\xd9\xc1\x80\xa1\xe3\xe5\xa6\xdecP\xb1\x02T\xfb\x92`\x05\xc8C\xb0\x02\xd4\x19\xa7\x00-`\xab5xL\x14 \xa2\x00\x89[\x01\xfa7\x12O\xfd\x8e\xb91\x10\x81\x14\x06\x115\x87\xa89\xffD\xcd\x19\xaf~\xdeml\xde\b/\x06I\x9c\x9a\xb3\xe5\xd6\\\xf9-\aVo\x01\x14z\xe9\x10\xb0M\xebz\xe2\v\x06\xf1\u05a1b]Aj\xce$\x165\xe71\xb9\r\xb7\x9c\xa3H\xc1\xb7\xe1\xb6);&(*u!\x7f\x95\xa0\u02d8\xd0\xed\xa3\x82\xb2f\xbdh4\x03\xcbZ\">\xdb\xea\x8f\xdf[\xe3\f\x96\u05456\xf62z^p\xb8.\x83h\xb9h\x9cp\xaaR3r\xb5m\u015b\x02\xff\u0576\xd0\x0f\xa7+\x19\xb1\xe9J\u036a\xa4\xa1\xfc\xdcVD\u0415~15\x88\x9a\xd6\xfc\xf44\xf8\xda\xec\x17\x00\xa2l\r\xdb\xdaY\xf7\x97\xc5V?\x9d\xc8|h\x8c\xbb\xa9\xf9\x0f]\xacG\xe9=\xf1\xfe\x8aG\xe7\xe5\x86b=J\u01c2;i\x9e\xa7\xac\x1b3\bP(\u0464p\xf2\x83\xda~\xa6\f\x02\x10\xe9O\xcfT\u03c9K\xa4/\u04d6\x9aF\xc9\x12\x9d\xa8\u06b8\xb5\xf2\u04c9J\u067f\x95\x8b\x8f\x00\xfb\xff\xf9\xa6u5\x9cT\xf5GY\xa4\xfc\x03\x91\x85\xb7V&W\x90.\u0151\x16F\x97\xc2\x16\xe39\xc7>\xb6\x06\xfe\x87k\x02\x88Z\x0e\xb5\u03d4{\xf4H\xa5|^S\xf6\xaf^s\x96\xd1W\xed\xd1]\xd7[\x01\x88\x9a\u077f.u\xf7\xd2 =\x00\u0460\xc1s\xfa\x9e\x91\ro\x0f \xbav\xf3\xe8\xf6\xaf\tr&\x00\xa2\u0261\xd9\xe9\x9c\x02\xbdc\\\xf7us\xf3\xfb\x87\x85K\xde3\xa8X\xccR<&X\xcc\"\ag\x88\x98U!D_\nPh\xe3\xee\xc33\a\xbd\x19\xb6\x89A\x80B\x99\xc1F\xeb\x1eZ{\x9ee\x10\xa0\x90\xf3T\xf5\xc9\x06O\x83w1\xe8W\xefJ\x8aV\r2\xf2]b\xf5\x86L\vc\x10\x91\x98\x88\xc4$\xca\u0293F\x8f\xae\xf7V\x9b\xb2\x99A\x80B\x9b\xa4\xb7\xb7zw\xf5\xebw\x06\xf1ILz\x97\xa9/W\xd3t\xb3\x19\x04(t\xa6\xc3\xe9\xf7\xf77\xae\x9c\xc1 \x89\x93\x98\xd6\x1a\xa0]\x1e\xb1\xd3\xf6\x01\n\x1dQk>uS\xd7;C\x19D\xef\x05\x9e\x02$&\xce\u01ff/\nr\x10\x95#8\xf1m\x97\x1e\a\xa7{\xdb\x1aO%\xd7s\xdcUs\xb3\xce\u02f7hY'zJ\xd8o\xf3\xfc\xeb\xf7p\x04\x10E\xfc\u0635\u06ee\u044dp\x00\x91\u00bc\xf5=\xa5/\xd6~\x01 \xda\x18\xaa6\x0e\xb5ON\x00\x10\xa5J\xed\x18\xbc\u3cc5\t\xa0Pz\u06c3\xf9\xc7v\x14\xdca\u042fL|kB^\by\x91\xf4\x10\x92\x90\x17B^\by\x91\x00\xf2R#[\x00y\x91/\x95\x1f\x1f\xe6\xea\xcb\xdb}\x8br~\x8f\f\xad\x8a\x99M\xd1e\xde_1\x91\x8f\x9dK\xd91\f]U@\x9b\x03\xe6\xfe7\\S\u05f2\xb7\af\xe60;\xed\xf7.Mk_\xd9l\xbf\x8a/b\xec\xdd\x7f\xb8I\xf0\xab\xfc/\x00\xa2\x83\xea\xed\x17\xf5v\x95\xe3\x86\x01\xdeW\x8f\\[C\xc9\xed\xe1\r\x86\x9c\x1d\xbeX\x80C\x1f\x82\xfc=H\xb0s\x9d\xe2I\xff\xc6>\x91>\x83;,\x8b\xf0\xd6%\xa0\xd1m\u0667\x8b\u02ce\x02\xbd\xb8\xd4\xe3p\xaa\x8c\u0448C\xaf\xf8\xe2\xe1'\xc1G\xb2\\k\xb9\xbe\xa1\xfd\xe83\xde|3k\xd2\xc4\xdbi\xb0C\xf1\u055c'\x84\xff:/62\x02\x9dY\\c\xb6\x88\x8cCLm\"\xbc\xf82n\xe3\xa2Z\xff7\xf1\\L\x91\xd8\xf2vp\xd6\xe9-W#'_\x01\x10\xe5u\xe9$\xfd\xfcf\xfaT\x1c\x97+y\xfd\x03.\x16\u00cfF\x15\xe7r\x10E\x8e\u07aed\xb09\u04d0o\x19o\xe9\xbep\xa1\xd1]\x15?\x00Q\x93\xf3\xd6}f\xa0\xf67\x01DSL\xd5\xcc^\xa7\xbbq\x1d\xa5\xd7N)\xe9\xd1K\xdd^\x03\x884gZ/+\\>\x7f0\x96\xec\xcd\xd6\xeb<\xf9V\xc3'C\x19D\xa75\xf5\x05\xda\xff\xd3\xcam\xff\x9c:\xbc\xd5\xc3lm<\xfb\x9fH\xdb\xed\x7f\xe2r\x00\xeb\xd8\xca\x19\x1a\x8a\xea\x01\x9e\xb0\xb8\x93\xca\xe5\x1dJNM\xe0\x81m\x1d\x02rV\xd4\x03\x10\xb9\xd5\xf2x.\xb3p\xdb\x17\xe22\xca\xc5e4;\x12\xae\xb4Rm\xc3:\x00QAVL\xf7\x1bu\x7f^\xcb\xdaC\xefA\a\x8bN\x03|\x00D=\u07f7\xba\xdd.y\xfd\x18\xac\u02d0n\xa2\xf8cA\xb7m\x19\f\x02\x10\x9dy\x9c\xfdlbXs\xee\\\x1f\\;\xc7|\xa5\xa7~G\xa2\x1aU\a\xd5\xe8\xd7\xf5\x8e\xe2V\x8dz\x9d\xcfo\xe3a\x9f4\x1f@\xf4\xe5\xd3x\x19\xdb9\xf6'\x01D\x9b|\xe1EK\xd8\xe8\x14\xa0P\x9b\xfc\x9bw\x9d\xda\x19\xdecP\xb1j\xa4\u0495\xa8FD5\x92t\xeeNT#\xa2\x1a\x11\xd5H\x02T#\xb9<\x01\xaa\x91\xcc)\xbcP\x02M%\xb8GF\x00.\xe7-\xa0\x17#E\x12\xa9\x98D\xea\x7f9\xe7\x9auW\xbdm\x82\r\x14\xefD\x83]\x9fs\xbb\x0e\u00c6\xcf\x06Y-w\x8cp2td\x10\u0378\xfb\xb1\x97\x15\x16\x1f]P&\r1\xfeqC\f\a\x8cU\xc1\xe6\xc2Y\x15\xcbY\x9fB*\x9ee\x12\xab\xba\xc9I\xee\u0244\xdf>dpx\xaf\xb6\xfey\x13&\x03\x88\x82G\x1d\xbc?\x04\xba\f\x06\x10\xad\x1fc8\xebGz\xd4N\xbee\x94\xb5~\xd7%\x8d\x03\x8fn\x00\x88\x1a|\x95^l\xa6o\xb8\x1d\xeb;2\xa3v\xf6{\x9a\x97\x81?\xa4 \xbf\xd0\xdc<\xa2\u07b9@\x06\x01\n\xed\x18\xa9\xac\xf9v\xba\x9a\x15\x83\x00D\x97^\x9f\xea[\xaf\xefK]ze\x92\x1e\x98\xd5\xc6\xe7\t\xea\x81i\xd1r\xed\x91\x1f7\x875\x05\x14\xca\xe1\xe4\x8d0=8\xf5!\x83\x8a\x19t\xcd\v\x84A\x13\x06-\xe9<\xe6O\x184\xf7av\xc7\xd3\xfc8\xf3v)2\x880h\u00a0\xff\t\x83>\x9c\xba\x96J\x1e\xdb|\x03\x83$\x8eA\xe7\x9cTZ:\xf3\xd5\ti@\xa1\xef\xf0\u06c5\r\xbe3\xf5\x19\xc4[\x87\n\x81\x02\x18\xb4\x9c\t\x8e\xb5\xc0\xe1\xd5;\xe0-\xa4\x06`?\xb2\x90\xd2\x159\xc1%\x9eS\xbf\x126f%\x83\x9e\x05\xfe\x03w~P\xc9\xfa\x00 \xd2\u04da\x11);\xcb\u0445K\xd15\u058e\xc9^v\xa4\x0e\x80(\xa1\x9bQ3\xdb\xd3\xd1\xf4\xe6,\xbd\x05\x7f\x1dD\x18&<\xe1\x8c\x17\x8a\xc8q:\xb0l\x17\x1c\u0216\xf6\xe5\xe0\x17\xf6\xe3\xb2'\x89\xff,\x01K\xa6\xf7\xdfNZ\u0259\xda9\xa0]D\x83\xeb\xe7\xdf\x00\x88\xcemnm\xb2)\xf0\xeeJ\x00\u0458\xfa\x0f\f\xd7\a\x1b\x00z$n\x89\xc8\xf7\n\xa9P\xb6\x81%\x1a\xc8\xdfi \xd8\x19\xeec\xd0t\xd6L\xa9le\xbe\x7f\xb8\xb2.U\xf0\xe2\u0755\x03\x00\xa2e\xfb_<\xfeasg\x1e\x80(f{=\xa7\x03/\xed;\xf2\xfd\xaa\xe5\u0693\xf7\x0f+\x8f^\xcf\xfd\xd5\x15\x0f\uaf8b\xd7x\x8a\xe5y\xfef^\x8f\x15\xf7\xb7\xc5V\xad\xfc\x9ci\\\x1b}\x96?\t`\x13^,\xab\xa4\xe3\xac\xc0\xcb4\xa7)Nk\xfc\xe3{\u00db\xfc\x95\aR\aZ\xba?F\xd7\x00D>M\x94\x15\xe5\r\v\xb9\x1c\xf4Y\xce5\x9bo\xd19K\xb1BG\x87v\x193\xb5\u00be}f\x10\x112\xaa\x9b\xe3\x12$dd\u05b5S\xde\x19\xb5\xb49\xa0\xd09\xaa\xee\xea\x19\xff\xf9\xdb0\xe8\xd7e\x1eG\x05\v\x19\xa4\x95#\x112*\x89\x90\xf1\xcfZ9Zo\x1b\xb6\xe5\u0136\xde\xca\f\"\x92\t\x91L\xfe\x89d2\xc1\u03b2\u05caG\xc3#\x18$q\x92\x89\xe3\xa27i\xe8\u032a|@\xa1\xa9/G_\u06a5\xba\"\x9bA\xbcuXCZ\x80dB.\xe6\xa84\x11\xf6?\xb8\x12@\xd50csO\xc5\x17{\xb0!f\xdb3\u075aw\x99~\xf916\xc4~\xd4uL\xa7n\xd7:\xaff\x10o\x9a\xc8\xc5\x1c\xff\x9a\x83\x93\x8b9*\x9f\x15V\u0386\x8bB\x945\x94\x1c\x04\x9b\r\u074b\xa4Fo?\v 2\x8f\u0613#%S\xab7\xd6\xff\xec\x1f\"\x1f\xa8\x11{=\x0e\xeb\x7f\xda\x06;\xa1Mu\x8a>3\bP\xa8\xf6\x8eO\x8a\x91\x1b\u00e4\x19\x04 z\xd9\xeb\xb2\xf6\u0439s#ia\xf5\"\x8f\xcd\x13\t\xa0\xea\xfb\xcdrm\xb8Xq\x9d\v\xc5w\x8d\xf0\xb6F\xc7\x1d\x94\x82\xa3\xac\xcb\xe75\xff\xae\xc1b\xa4b\x93\x1d\xfai\x16\\8\xbb\u05eb\xb5\xa3\xaf)u\x04\x10m|\xbbU\xe5p\x9bEA\x00\xa2#\xd9=\xe3\xe2\x9e\a\xc9\x00\x88T\xaed\xf7q1\xdd7\x82\x1b@\x9fR]c\xa0\xf3\xf48\x83~i7\xf2\xa4\b\x85h7\x92\xcekE,B\xe1\x14\x1f\xe3x= \xa5`gZ\xfd\xe9\f\"\x8a\nQT\xfe\x89\xa2\xd2j\xee\x8ef\xf1\x03\x82\x82\x19$q\x8aJ_\xad\xa8g\x13\ud1cf\a\x14Z\xebu\xcb\xec\xf2\xd0\xe8<\x06\xf1\u05a1\xc2eAE(K\xf1\x8a\x8aT_\f\x9d-\xbd\u0256\x95>\xf3\xc2/\x1d\x01G-p'\xdb!j\xd1x\u03e8\xacI\xf6\x1c\xbe\xfdv\xbb\x82\xc7p\x15\xe3\xfa\xb6\x00\xa2\xb7\xd9)u\x02\xban\xb9B\x87\xc5#q\xc5\fM\x85*f\x80\xb9ln\xe7lu/\xd29,DUF!5\x87\x8dx[\xb3\x8c\xe13\xde\xcf0\rcD:\xd8\xcfJ\x14K\xac\xa4\x83g<\x9a\r\xd9_\xcb]\xd4q\u0136\xe2\u033f\x13\xbdI/\xe6EW\xbe\x83\xff\u01a6\x85\xfan\x8d\aO\xfa\xf3\xd9\xfa\xad}@T^\x94\u047eN\xc9:|oqS\xcbu\x84w\x84\x95/\x80ha7\xdb\xc5*_\xdf\x1d\x02\x10\xb5\xb1\xb2?\xfeve\xab\x97|\xbf\xea\u0772k\xb3\xf8\xef\xb2\\\x9f\xe2\xb1\xfe\xae\xf9\u01d6\x9fl\xb1\x1c-@G\xb3\xdf\xfe\"\xefL,\x87]\xbc{\xf3\x1a\xf7\xfe\xdd\xe72\x88\xf6&j\x95\u075b\xb4\xc4iK\xa5\xdcD\xd9\u07a4\x94\xc3(\xe9M\x96Uwo2[(oB\x1c\x86X\x1d\x06DS<\a\xd7\b\xebg\xf5\x10@4\xab\xc1\x83\x8f*\x87\xbb\xbf\xe0{\xb7X\x83!\xfdW\xc5\u0559\x03 \xea\x11\x98\x9b$\xabPo/\xd67\x8c_;[\xf7\xaa\xfc\xee\xe1X\xdf`\xf6lS\x9b\xb3\xf7\xcd)\x06q]\x92\xfdu/\xff\xe8o\xdbhC \xd5,\xd5Y\xca\xe2\xabf1Z\x1ak\xa6uv\xb9?\xa0PN\xc0\x85\x15\xdf\x0e;=g\u042fc9W\x89\"B\x14\x11I\u7962*\"\x1c\xfaa\xb7\v#\xc3\xf4\x9ed\xdb2\x88(\"D\x11\xf9'\x8a\xc8\x13\xd7\x19s\x92\x02\xd5\x0f2H\xe2\x14\x91\x82\xe9\xe7\x1ctVu\x9f\a(t\x7fF\xe1\xf4\x1f'&\xef`\x10\xad\x88\xcc\x17\xa4\x88X\xe2\x15\x11\xce:r]h9\a\x04\x82\xaf\v}\x85\xab\xa5\xc1\x05\xf8\xbfQ\bR\xf1^\x9e\u0678\xefn\x1b=/\xbc88\x89\xefW\x13-W.2\xd852\f@tN\xc1h\x8c\xdd\xfa\x95\x1d\xb1\x91s\u07ecQ7\xf4G\xad\xd2\u00d2\x88&\x1a\xa1\xc3U\ue1ecf\x10-0\xe0\xea\x8e\x7f+\u04b1$\xf7\x9cV\xbc\r\xffv\xcf\xe9&\x9c\x94\x82\xbb\xab\xb6Z\x1bg9\x1cG\xa9n\xb59\xe1\x1f\x92\xa6k\x7f\xab3\x04\xebv|\xd7:,s\x81R\x9aX\xb7c\xaas-v\xc2\xf4\xf4\xf5\f\xe2F!\x1e\x06K\xd4Z\xd5\xdc\xc6 \x00\xd1\xe4a\xa7<\xe6h=\x1aO\x04\x8dj\xe8\xfbX\x05\x8d\x90v\xf3\x1f/\xf0\xeb\x98\xc8\xe5\x1c\x86\u00fd\xae~\xae\x1b\u03e0_%\x1ez\x82\x05\ry\xc1\x82F\nN\xd0hB\x04\r\"h\bK+!\xa0\x90\u01f1\x16\xea\xae\a\x8c\x9b0\bPh\xc23\x9b\xb3\xd1+\xef\xd91\bP\xc8R\xbb\xed\xb7\xc3IfG\x18T\xaaSgA\x97k.\xfaM\xb2\xa3\x19T\x81+\x8f\b\x1a\x95G\xd0\xc0\xae\xbc\"\x8b\xb0\xb8\xf6n\x0f\x9a2\bP\xa8\u034a\x9a\x9cX\x9d6=\x18\xc4'\xa5q\x1fV\xc7-\xeaN\x1b\xffQv\f\x02\x14z\xe66\xe4\xf5\x84\xda\a\xaf0H\xe2D\r\x8bm\xab\xfc\xb4^=\x1f\x04(42\xa6e\xa3#k\x8c\xed\x19D\x8b\x1a/\x04\x89\x1a4\xe9\xc5_] \xd7\x06\xd3\u06ffR& \x7f\xcbwE\xe4\x9dn\x90\xa4\xb1\xab-\x80h^\xca1\xcd1yw\x14\x01D\xfb_\xb5k|.\xbb\x06\x9d\u0795b\xd3\x05\xa4,1\x97Qb\x9dL\xd1!\xd6ldy\xc6\xcb\xd8\xe4\xe2Sy\xf5\x10\x85\x96\x9a\x9e|\u00d4\xfc\xbe\xc7\xfa\x05Ys7\x88q\xa6+\x92\x12\xfc6\xd3\n\xb5\fC8\x19\xe7;\x00\x88\x82\\wv\xc9R\x89\x19\x00 :\x10\xde%RG\xebv>\xbd\x9bx\xe1\xbb\xcb@\\\xc7Q\xecg\x16BE\x96\x8d\xa0\u049a\aUv\xaf\x9d\x12\x14\xb1T\xcbN\x81}x*\xf1\nZ\xf5c\x1e\bo\x9e\xb2\x8b\u03f46\xb7\xec9\xf5\xdc\x17\xc5a\x00\xa2\xad\xa9\v\xb3\x8b\xb4\xbb\xb4\x00\x10\xa5u\x1fh\xb1b\x91\xcda\x00\x91l\x937\xe3\xcfvz6\x14@\x14\x13v\xa2\xcd\xf5\x81\x91~|\x0f\x88\xe8>\xe4Yd\xd2\u0217\xf4B\n\xfb\u074b\x9bM\x9e\xec\xea\xe9\xeb\xeadFO\x87\x1a\xcb\xf5LEoY\x96a\xe5sF\x18\x1aj\x95t C\u06a8G\x00\x80H\xfb\xe3\xb8-'B\xd7\x14+\xb7\xf6B\u054f\xe0\xda\xd1r\a\u92e8\xb6W$B\xbf\x15\u030af\xec\xa9\xfc\xa8\xaa\xf4\u0589\xf5\xdb\xe9mW\x06\x10u_\xf2Zwn+\xedE\x00\xa2=\x89=&\x0e\xb1|5\x8a\xefWO&\xe4p\x9e\xc5\x19\x87\x02\x88\xba5\xcdWm\x97\xdc\xe9\t\x80\xa8\u0440|]m\xeaf\x06\x80\xc8\xe5\xadJ~~\xdd\xe0VX\x99d\uc0cf\x935\a:/c\x10\xbd\xb8;V\xc1;Ov\v\xb85\xb6<\xbd\xb9\x03\xdf\xc4}\xff\\?B\xab\xc5\xe6H\x00\x91\xb1\xae\x91\xea\x8a\xe8G\xed\x01DF)\xef\xfa\x05\xd9[\xd4\x12\xfb\u06d6\x83\x1b\x80(\xa4\xf6\xa4N'\u073ax\x00\x88\xa6{tO\x8c_\xbb\v\x01\x88\xf6\u0573\x98\xd3n\u01cd\x97\x80B[7\xae\xa2\x82\x82\aj3\xa8X3\xa9\xd7R\xa0f\"{Z\xa0f\"\x1b\x84\xd1LdRX4\x13\x8e\x15\x1bs\xdd!\x81\x9a\xc9\u05ea\xa1\x99\x94q\xd7\xd5?\xa6\xae\xa2\xfe_\xf7?\xf8\xbf~\xb97\xda.\x19=,\x8cA\x80B\xaa\x97\rk\xb6\xeb9C\x91A\x80B\xfdv\xee\x8c9\xe9`\u0409A\x80B\x9f\xbb]\x1c\xebg:\xbb\x1f\x83D\x7fm\xb1uPi|\xaa j\xdc\xf0\x9e\x17\x19T\x81&%V1\xa8\x82L\xaa\xbc\xc5 bR\xec&um\xe5w\xedA#\xba\x0ff\x10\xa0\x90\xbaUb\xd1\xfe\x03\x96\x17\x18$\xfak{\xfd\xc1k7[6\xa7\xffB\xb5\xacP\x06\x01\n=Q\x8eHO\xb4K5e\x10\xa0\x90\u01edq\u028e\xf7W\x063H\xe2T\xaeM\t]\xfd\\\xdcd\x0fr\xdf6>h\xb6Z\xf2\xf2)\f\xe2\xadM\x95\xb6\x02T\xae\x1a\n,\xa5;\x1f\x85\xaa\x0e\xe0\xc4\n\x12\xca8\xae\xc2_\x82Y\xdcd\u0440\x85F_\x16Q!(Z\"jP\x89\xbb.\xb2\xec\x17.\u04e6 \xea\xae5\xb3\xe5\xb6\xed\xefn\x01\x88Tr,\xect_\xb9p\xb8\xf0\xa9\xfd\xf5\xe4\vZ\x83\xe9\xa5!\xec\x97x\x96\xe0e\x105\xad\xf9\xe9i\xf0\xb5\xd9/\x00D\x89\x16u\x17\xaa\u053b\u07cd\x1e\xb7Ol\xd5\x00\xa5\x9a\xc9\xfe\u0460:\x89<\xa8\xce\xe52\xa8\xdagr\n\xb4\xfd54\x00D\x0f\xcc\u0773U\xd2t\xf20\x8e\x02\"\xbd\xfc\xf1\xa7\x9d\xfa,\xe2\xed\xdcE\xa5nG)1\x0e!\"\xddG\x8bu\xa7b\x98\xd9'\x9b\x8fr\x0e\xd8\x18\xc4\xf3\xf1\x80F\x8f\xb2Rs.n;\x03 \xba\x93\u0630\xeb\xb2\xed\xe7\xb8C\xd1;%z\xd5\xf2\x80#9X\x8e\x99\x1dhq6\xf5c\xd0q\x06\x01\n\xb9=\xab\x1f\x1d\xb4ut\x18\x83\xe8\xd8\xfd?\u0739\xa3\xcf\xc2T]T\x91\xe1\xad\xff\xb0\xe6\xf0\xfe\xfd\xc6\xda\xf1\xc6D:\x1a\x97\x1c\xf6\xc2g\x01\x88\x1b\xfbS7V\xaa\xf9S\xd5\xf3T\"\xf5\x1a\xe2\x05;\x7f\xdak(p\u0349\x1d\x06\xb7g\x85\x03\x88\x86wn(\xbdN\xda\x7f\x03M\f\xf6\b\u06bb\xe1xl\x80P\xf4ZT-\xaf(\x1a\xfb\xb0@\xe1\x9f%6\x0f\x90\xaeW\xd0\xc6zF\x1b[\xbe\x9f'Y%4w\f?\x94\t \x92Y\xf6\xf9\xe4\xa8:\xad\xda\xd1k\xd2Fx\xd7E\xcbtq\xf8\xb1\v\x11\xf5{\x87\xf2\xfe\xbbp\xdf[\xf6\n*\xf1\x95\x01=U\x87'\x1d\xf2\x9b\x00 Zp\xf6Jl/]ik\xbe\x9f\x87e\xd6\x017\xba\xef\x1fT.\xe6\xf0\xbd\u067b:\x97\x0f*\xef\x05\x10\x85\x1b\xba~\ud76e3\x00\xab\x1e^v\xf9\xbc0#aV\x04\x80h\xeb\xa1]#U\x82\x1al\xc6\xfen3M\xdbeFR\rq\x85\xb2\x14Z7\xd1\xf7\xcd\x180h3\x83\x00D;\u01fe\xaeU\xe7\xcd!\xa5_A\xaf,U\xb6\xe8z\x03/\xba\x16\x05S2T\u0169\xae\xb81n7Z\xb6O3}\x85\xb9\xd8\x11\x9a\x14\xf8nN\xc6@\u06eb\xf4\x8a&%i\"\xb4\x8b\x1a\xc6{\vQ\xdbEa#R[\xcdw\x16\xcd\xdb\x06\x94\xed\u032c\\|\x048\xb3\x9f\xef_W\xc3IU\x7f\x94E\xca\u03c7X\xfe\xee!x\x0f)\xfe\x1c\xc1N\xe1\xe3\x9dW/\xbe\xba\\\xfb\x95\u05d6\xe7\xfe\x89\x06\u0540\xefO,\xdd}M]\xdd=\xa6\xb8\xe2>\xb9\xfc\x16\xb8H\xce\x0ec\x01\u03b7\x9b\x1a9?\u045a\x0f :\xa9\xb0\xf4\u035a\xd7\xe1\\\x1fp\xf3\x02\xa7En\xa3\x95\x05\x80BW\x92\u037bF\x0f\x1b\u0600A\u014a\xb9\xfa\\\xa2\x98\x13\u015c\xc8{D1\x17\xfe+\x88bN\x14s\xa2\x98\x8b:\xa3\xffP1W]$@1W\x99\x88W\u0325u\x04\xd1i\xa9\xfb\x98\xaaH\xb1\x85\xdb\xc2D\xc0b\v\xb7\u02ce\xdf\x1c\x01D\x93\x8f\x1c\xdc\b\xba\fZ\xc3\x17\xae^j\xd3\x14\x00;\xfb8\x00Q\x9dk\r\x87\xed\x99\xd5\u0503$\x01\u012f\x9e\xc1\x89lI\x00\"\xadU\x84\xb4V\x94\xce2\u033b\x85/\x8d\x16\x85M\x89M\x18kk\xb37c\xa0Q\x97\xa5|\x1f}5o~r\xe7h\x13o\xaeq\x9b>\xd6\u069e\xb0\x97;\x15T\xca\xdd\x11\xb5\x9a\x9fT\xc0j.\xa9#\xaf>\x04\x11~\xdb\x19\xc4[\x87\njBe\x17\xe5\u04f1g\x8f\x15\x84JFT\xe5y\xb8\xf6z\x8ff\x81\xd7\xd5S\xbc\x01\x91\xc31K9K\x92\xa2 )\n\x89\xf0\xa3\x90o)\x0f\\\xd7L\xaeg\u02e21\x00\xa2\x9b\x91z\xfbZv\\\xf4\x04@t\xd7r\xf9\xa9\xe3\xe9E\r\xe8\x98j\xae\xa0\x98J\xba'>\"\xa3^\x8a\x9a\xa3(\xa4vW`\x18VH\xb5e!u\x85\xc2g\x1cp\x91X%L\xbb\x84t,X\xbd\xcc \xeb\"\xdfR\x89v\u0509\xf2\x1a\xa1\x11\t J\x96\x9bu\x06$\xbd?\v \xfa!\xe7\xf0dH\\\xac)\xcd\xe8[\x89\x9a\xa1\xf9\xd5V\xa1\u0335\xd3\xf6os\xd5t\xe2\xe0\x11>\r\xb4O\xd4\xf1\xff\aq\u0362\x19\rG\r\xdbp\xb5;\xdf|]91w\xaef\u03ae\x1c\x00\u046cQ\xc3\a\\\xda2\x83.\x1e\xa0z\xb0\x05\x9f5\x84\x1fR\xacb\xccr.\xa6\x04\xdf\x14~H\xadDY\xd2\x185?j\xf5\xc7sRR{\x1a\x00\x88>\x9b\xed~ym\xe6\xc5E|\xc35\xf2\xcdH=\x05\x8f\x98s\x00\xa2\x953\xa3.\x9a\xb5\t\x1c\xc97\xf2+/4\xee6\xc59\xb8\x11\x80\xa8wBZ\x1d\xb9\x1fg\x8f\x94\x8b\x9b\xbfya\u0245\xf3\x93n\xa4\x02\x88\x96^\xf2i\xfch\x9b\xca\x11\xacT~Z!#P}\x1dz\x03 \xfa4u\xe9S\x19O\xf3\xf7\xd8\u07fd\xfa\xf8\u024d\xc1?\x9a\xa4c\xc3\xc0q\x93,\u03b6^5\xfd\x18\x83\x00\x85V\x8c5L~\x19sc\a\x83\x00D\x97\xcd\xe7N{\x11:\u0346\xb6\xe97$\x1fG\xf2q\x952\x1f\xd7\xfbw\u1aef\xb7\x8b\x83/\xc6z\xf93q\a>\rh\x7f-2\xeec5\xc9\xc4\xdd[\x9b\xe2\xf4e\xcf&\xee\xe6.\xe7~\x00\xa4}\x1e\xf0\x02Ph\xe0\x98Lu\x8d\xdb\xeb\x1f3\xa88\x13\xd70\x93d\xe2H&\x8e\xa4\rH&N\xf8\xaf \x998\x92\x89#\x998Qg\xf4\x1ff\xe2j\xff' \x13\xa7\x94\xc1\x92\x893\x14J]\x96\xca\x17\x98\xb0\xdb+\xbcF\\vdE\x92Y\x7f\xa5\xb3r\x1a\xb3\xe9\t\xe2\x19TI\x17a\x85\x1fT~\x1a\x91\xea\x10i\x12e\xbc\xa9\x00@4d\u03701S[\x9fZL\x8f\xdb9\x96\x1d\x97Z\xfe\xb7i\x111I\x85\u0557\xf3B$\xb7\xf3\xc6M\x95\xab\xca\xdb\xf9~\xd5\xd7|\xf54Mm\xb97\x00\xa2\x82L+w\x97\xb7\xe1\\_\xaa{\xb2\xfd\xec\xc1\xaa\xddq*\x03\x85\x14\x14\x8c\f\xef;\xeeB\f\x02\x14\x1a{i\xb7\xe7\x84\"\xd5t\x06\xd1\u0262\xd9\u0604\xdb{a\x12ndmU\xfa\xb5\xd51`>g\xc5\xfb\x8f)4\x1b\ue363\xc9\xf2$\xad(\xfe\xb4\"9\xa3I\xef\xfba\x82B3\xce\u8c8f\u0114\x8b\xf9\x16R\xfe\u00a7.\x88\x8f\xfak\x1f\x95\xe4\x1c\xbc*\xc9cI*=\xf8\x13\x84\xdf6\xca\xd6,\xe9L\xa8d\x9e\u0202\x00\xa2\xa5N#\x1b\x8f\x1b\xd9a\x12\x80h\xbb\x8a\xba\xfe1\xb9s\x8f\xf8VE\xe2\x8aUc\u055b\f\xad].f\xea\u0535\u044e\xe17\xb3/\x03\x88\x86\xe7\x84\x06\xc7\r\xeb=\x02\xab\xdb~w\xb5y\xe9^\xb7\x8b\x1f\x80\xa8vh\xc3E#\x9d\xbf\x9aa\x7fw\xa3\xc9\xf3\\\xe9\xc2\xfa\xd2\xd8\u0424\xd5\xed5\x1b\xdbYD\xe52\b@\xb4\xbcqv\xf2b\xebD\xba\xa3\x9e\xd4=l\x06\xe8\x19K\x06(\x82\xf7W\xff4\x03\x84\xf3t~M\xfdg\xd40\x1a\xa2\x84\x1d7G\xbf\x1f\xae\xb9[;\x9c%y\xa1\x7fu\xad\xbfX2@\x85\x94>\xefe\x98\xb5k\xedQ\x1cM\xcb\u0ebb\x8d\xc1\xfdM\xb7\u07d5EKw_\x97\t.\xde\xf8O\xeaQ\xa0U\x90\xd9F6\r@\xb4\xcd6\xedvv\xbf\xf0q\x7f\xf0$\xee\x92\xed\x940\xb6u\u01cc\x03\xcdE\x1c\x1c/\xbe\xc1\xe9\xe2!\x95\xd8p\f\xbc\x03 *\\\x98n}h\x8b\xe5c\x00\xd1|5\x8d\xc4\u0787\xc7'T\x93d\x97\xc6\xc5\xecN_'F\xa4\x03\x88dS\x1e,\xbf\xd5p\xf3|@!\xd3\x0f5\xb6=5\x994\x97A\xc5\xc9.e\x1d\x92\xec\"\xc9.\xa2\u0313d\x97\xf0_A\x92]$\xd9E\x92]\xa2\xce\xe8?Lv\xc9\xe8\tHv\xc1\u02d8\xfd\x1b\xd2\xf5\xd1M(\r\xbeO2\x9b\xe6\xe9\xe0\xee\xfc3\xae\xf3vp/.w\u0165\xc5\xc4(=I\xb4d\x87\x89\x93\xf3\xc3\x1d\x1ei\x87fu\"\x1a\\\xb1\x06\a\u0472n+\xe4\x03\xac\x9b+bc\u0693g\xeb\x1fo\xed\xf7\xba6\x96\xdc?\xef\xef\x16q\uec76\a\x83\xe8-\u0410W\x9dY\x95\x1a[\x13\x92.\x12I\xb7\xe0\xb9ZM\xaa\x11\u07f3\ay\xf8\xb8\xfa\xba\xfa\xbb\xb0\xd2Q\xee?\x18\xfd(\xa0\u057a\xa4\xado~>\fS\tJ?\xc4G\xd4J\u04131\x93d-\xe7n=Qr$\xcb(\xe2\x14w\xe5x\x89\xa1\xaa\xd70xcQ\xa6yo\x00\u0470\u04fa\u00ee\xf4\xdd\x17\x04 r\x9f\x16\xf2`\x83\xe3\xf3T@\xa1\x84\xe0\xe7\vw\x19\xef^\u03a0b\xb6\xa8q\x9a\xb0E\xc2\x16IhK\xd8\"a\x8b\x84-\x12\xb6X%\xd9b\x9d\x8b\x02\u0622Jk|i\xa4\xd4J\x815\x8f\xa6\x7f\x9bm%5\x8f\x7f\xd7\xc0#\x96\x8d\xa6\x93\x83\xe7ey\f\xb1\xf7\xc6\x15\xd7Mnt\xe5A%>\xb1\xda\xc70t^\xe6\xf3\xf1\xeb\xf9\x86\xf0\xfc\xee\x803\x9bW\xb5}\n z1u]\x86wW\x13c\x00Q\x83x\xc3\xe1>>\x99\x91XM`\x9dE\xe3!5\x12\xeb\xaa0\x887\xda\n\x9e\u0632C{\xe1\xca\x0e\xc9t\t9]\x1a\xe6c\x8f\xb4<2d\x14o\xdc\xe4\x121TO\x0e\u05ea\x9dh\x85%\xb5B\xe2\x8d\xff\xc0\x1b\xffA\x1b\x90\xaf\x82\xa2\x16\xe9X|\xccC\xe1\xae2\xc1NE!u\x8c\xe5q\xa4\x8dA\x896\x06\x12\xa07N\xcej8\xfca\xd4\xc9v\x00\xa2\xfe1\x0fSlg\u06de\xa7\xf9\xf3:\x91[\x82pdX&~\xaax&\xbe\x90\xd2\xc6\xcf<\xee\n\x17\xec\xcc\x17\u014aR\x89X\xd6-\x84\xa5\xac\x13\xb3>\x06\xd8\xcf\xe9\xdd|\u03d3\xf3\x7f\x15qM\xf0\x9c\xf3^3\\E\x13@\xe4u\xf0\xee\xe8\u05b5\u01cd\xe4[dz\x8eF\xe1\a\xedO\x87\x00\x88\x96\xde\xd0q\xa9Q\xd8\xdf\x04\xe7kK\xeeH\xa4[\x8b\x88\xddZJX.\xdb\xcb\xe5Q{\x1a\xcb\xef\xbbx\n@t\x7f\xa3|\x87\x1aI\xc6M\xb1\xe9\x15}\xff\xef\xef\xb5]\x0f\x1d\x04\x10\xf5\xb8\x9b5\xa2\xc9x\xff\xc3\xd8\xdfm\x98pJ'J\xc3\xf8\v6\xec\f\xb9\xd3\xe2\xd5\x00\x9fkE\f\x02\x10\xdd\xf1t\xbc\x91q\u0616>\x13%\xed@\xc9QU\xa7\u0394\x1b\xaa\xe4\x05\xc9PurS\xf0\xf5\xb9a\xfb\x14\xc75\x9e\xb3\u0341\xa4\xb0*\xa8\u0394\xebD\u05dct\xde\\s\xebB\xa3\x9fO\x11[\x93\x90\x17\xbc\xd7\xc1\xce]%\x0e5\x16\x1eJ\n\xca\\2^\x87\xf7\xb67p\xe5\xb1EQ\xbc\xd7*m\xc0\x7fQ8+\xf2\x1c\xf1K<\xb1\x8f_\x9ey\xda}\x00\xf7+\xaed\xc6\f\x1eWo{\x17\x00Q\x9d\x8f\xcd76\xaf\u0463+\ufd6b|\xc5\xeb\x85\"\xcd\xf66\xf1\u0779\xdc\xf3\u00e4\xd0\xeb\xab\x14\x83\xf2\x00\x85\xee7;\xfc\xe2\xb3\xe7\xf2\x1c\x06\x15\xe70\xebk\x90\x1c&\xc9a\x92\x84\v\xc9a\n\xff\x15$\x87Ir\x98$\x87)\xea\x8c\xfe\xc3\x1cfM-\x019LE\x88\xd7a8\xfb\x05\xa9\x81\x9cq\xa2\xdf9L4m\xda'7`\xd3YHq,\xef\u0573Y\u01a1\u0492\xad\x92d\xb8O+\x85\x8d\x13{\xcc\f\x02\x10\xf5\xde`\xbd\xfbS\xce\xd3L\x00Q\xbb\x9e\x1e\xdeOW\xa6\xa8b\xa5\x96\xaf\t]\xd4&]V\be\x10\x9dOj\x8e\xcd\xf0\x95J\xdd\tT<\xab\xd3\xe0\xef:\xb9b\xa2\xcf\xc6E\xdbh\xf6\x12\x83\xa35\x81l\xf9:\xf1\xa4\xa9$\u06b7\x89\xa4\xb7z\xfe\x95\xdez\xe6\xe0\"\xcdk[\xbb\xcb\x03\x88\xf6\xbf\xdf=}\xf8\x88\x86i$\x1dX\x91\xc5\x19\x9c\xf9\x02\x03\x00\x13\xbc\x1b\xd8\xf6\xb7\xa9\x02\xa7\xf2p\x0e\xd6\x0e\xb1[\xeaX<9Io\xc2\xfel\x9b\xf0w\x96\x1cU\xa9\xa2+\xfc\xd7yUc]\x17\xa2\x84\x83-\x02B\x1e\xdcQ\x13\u04e2p.\x8fE1\xb2\x83s\xe4\xcb\uc4db\x01D\x9f\xdaFp~\x9c}\x16U.\x96~\xafs\x94\xc6%\xf97\x19\x00\xa2\xa7\xf7\xd6\xed-\xb8\xbd&\x18+\xed5\x99\x92aj1\xc1\u07c0;\x9a\v\x82\xe7\xc7F=V\xc7\xfd\xeeW\xf5Z.\xf9\xcfd\xfba\xa3\x85\x0f\x1e#g\r\xfc0s.\x83\x00D>\xbdg5\x1f\xe9}\xba#m\xc9oI\vx\x92\x82\xa9\xe8\x16\xf0\xa6\xa2'f\xe8W4Qz0\xeb\xf1\x9eI;D\x7f\x8cg\xc9\xc7|\xb4\xb6\xaa\u03f12oSM\x92\x04\xc3\x1e\xa0W\xaa#\xc2|\x01D\r\xdd\xfe\x9b2\xa2\xf1\x85\xe1\x80B\x16\x8d\x86\f\x7f\xf8\xd2\u021dA\xc5I\x82\xdaK\x05&\td\xe4\x05&\t\xa4S0\u0474t\x13\x96\xed\x17\xfa\xb0)\x9a\x86\x12\x98$XZ5\x92\x04E\xfb%L\xd0d*f\x90\u01f1\x16\xea\xae\a\x8c\x9b0\bPh\xc23\x9b\xb3\xd1+\xef\xd91\bP\xc8R\xbb\xed\xb7\xc3IfG\x18\x04(\u06e2M\xf2\\\x0fH?\xcc!\xf0\xda;\xb3\x84~\xc1\f\xaa\xc0\x95'V-\xbd\x82V^yk\xe9\x95n\xe5\x15Y\x84\u0175w{\u0414A\x80BmV\xd4\xe4\xc4\xea\xb4\xe9\xc1\xa0R+\xefn\u03f1;k_\xbc\x11\xc5 @\xa1\xc2\u02cbBW\xf9\xebd2H\xe2$\xe7\x96\x0f\xcf\xeb\xad\xeb\xd7K\x1bPh\u0402\xda\x13\x1c\xaf\f\xff\xcc ZQ6\x15 9\xcb\x05\bb\x95rm\xf0\"K\xd1\x13\u07a71\xe6g\xe7\xe5\xed\u02eaIa\xdd>.\xf4\xc2\xfa\xdcR%}\xac|\xa0D\xdf\xc1\x19!\xaf\x14\xe5#\x17\xb9\x02\x88\"\xf2N7H\xd2\xd8\xd5\x16@4/\xe5\x98\u663c;\x8a\x00\xa2\xfd\xaf\xda5>\x97]\xe3\no\x00\xa4\x02X\x1c\x90\x94\xa5H\xdd}\xb9\x03s\x88\xf7\xb8\u0694\n\x7f\b\xe7+\xea08\x8b:\fN|a\xa7\xc7\xc1)\x8f\x95V\a\\\xe2\xf2\x1fy\xf5\x10\x85\x96\x9a\x9e|\u00d4\xfc\xbe\xc7\xfa\x05Ys7\x88q\xa6\x9d\xca\xfd\x13\xb13\xadP\xcb0\x84\x93q\xbe\x03\x80(\xc8ug\x97,\x95\x98\x01\x00\xa2\x03\xe1]\"u\xb4n\xe7\u04fb\x89\x17\xf6#\va?\xe1\u07da\xaex\x85\x8a,\x1bA\xa55\x0f\x8c~\xfdgGO\x1c*\xfd\nZ\xf5c\x1e\bo\x9e\xb2\x8b\u03f46\xb7\xec9\xf5\xdc\x17\xc5a\x00\xa2\xad\xa9\v\xb3\x8b\xb4\xbb\xb4\x00\x10\xa5u\x1fh\xb1b\x91\xcda\x00\x91l\x937\xe3\xcfvz6\x14@d\xe9\xb8\xe0\xdd\x15\x9dZ\x89|\x0f8\xb7y_\xd1\xc5\xf7=\x02\xe8\x85\x14\xf6\xbb\x177\x9b<\xd9\xd5\xd3\xd7\xd5\u025c\x9e\x0e5\xde\xc2e\xb6\x13\x13o\xa7\xc1\x0et\xe6\xe0-\xcb2\xac|\xce\b\u00eb\xac\x92\x0edH\x1b\xf5\b\x00\x10i\x7f\x1c\xb7\xe5D\xe8\x9a\xe2\xfe\xeb\xf6e/\xae\xdf\xceR5g\x19\xa4/\xa2\xda^\xd1IQ\x9dE\xa9\x91f\xec\xa9\xfc\x84\a\xe9\xad\x13\xeb\xb7\xd3\u06ee\f \xea\xbe\xe4\xb5\xee\xdcV\u068b\x00D{\x12{L\x1cb\xf9j\x14\u07ef\x9eL\xc8\xe1<\x8b3\x0e\x05\x10uk\x9a\xaf\xda.\xb9\xd3\x13\x00Qag\x87\xa73\x9adM\x05\x10\x05\x8f\xf7\xbf\x15gy\xa0?V\xf6Rj\xd7`\xc4\xf6A\xc6\xed\x18Dk]kx;hUj\x8dS\xb4\x9bg\x8f\xbfGU\x83<|l$\xc0\xb0 \n\xa9=\xa9\xd3\t\xb7.\x1eb\x7f[\x91\xf7\x1e\a\xbe\xb7\xfd\xfe\xb9~\x84V\x8b\u0351\x00\"c]#\xd5\x15\u044f\xda\x03\x88\x8cR\xde\xf5\v\xb2\xb7\xa8\xf5\u02e0\xb1\x1df\xdb\xf3\xfe\xf1\xef\x9a\x117\x9a\x9d\xec\xe2\xcd\xdd\xcd%\xe1\x8b$a\x05@s#\xd9\xce.7^\x00\x88z\xdfM7\xd1\x1fre:\x80\xe8\xbf\xfd\u07d3b\x9f\xa7\x1d\x02\x10\xb5\xd9\x10\x94\u07b2\xef#7@\xa1]\xef\x8fm\xb2\t\xac\xf1\x82A\u0152\x94\xcaU\"I\x11IJ\u0485\x01\"I\x11I\x8aHR\x12\"I\xc9\xcf\x11 IIE\n\x92\xa4\xa4\xec1\x92\xd4o1\xfd!\x163\xa5f\xe1e\xadNe\xcb\x00en\x0f\x10\xb5z\x95\xd97\xec\xe6I\x1b\x11\xff\xd4\t@\xb4\xbe\xa9A\x8bG\xd3\x13\x10o\x1e\x9f\xb1r\xb1\xd2k\x9fya\xdc\xe9\u05b2M\xb4Dlp\xf0\x8cG\xb3!\xfbk\xb9\x8b-\xc2\u023f\x13\xbdI/\xe6EW>\xf2flZ\xa8\xef\xd6x\xf0$\x00\xd1\u0134\xa8\xb0\xd3]\x1dW\xf1\xfd\xfd\xfb}w[\x9d\x7f\x1c\x1fD;P\x0fAl\xb7o\x19l\xd7\u0395^>\x14\xcb\xedy\xd5`\x88q\xfc\xc4(\x85J\x0e\x1eV\xd4\x1d@\xf4u\xf0N\x85cK\xf3e\xaa5\xb9\x85\xe8\xd1\xd6S\x1d\x9a\xaa\xe7\xa9\x01\x88.6}\xdd\xf7\x9d\xde&\v,y}5Y\xa6\xbbw;\xb3`\x06\u045ehw\xd5\xeb\ub2a3\x83\xd6.\x13$\x83\xbc\x1a\xbf\xbe\x1dr|O\x8c=\xfd\xec2\u03e4\x16\xb7U-\xbbD\x80\xeb{\xbb\xc6\xd5X\x15\xab\xaf\xd2\xf5\u03df\xc2u\xfe.\xf5f^Z\xfa0\xf86\xed\xba\x82\xb1\xd4\x14N\xe4\rB\x19+E\x8c\xe3].\xf4{S\xd7\u00a3+\x13j\x14\xb3\x985Brl1ySG\xbe7<\xdd\xc5\xd7\xd5\xe6\xda\xd9,\xb1}gb\xac\x8a\xd6\xcd%\xb6\xea\x95q\x03\x80h[f\xd1-\x8fQ\xfa1\x00\"\xa9E\xc7n\x0f^\xbeV\x1e@\x94\xd5\xcbC\xe6\u0408{V\x00\"\xd9\xc67\a\xcc\xfc\xf6_\x03\xae\xbf\x8b\xcbE\bUY\xc7\xf9U\x1c\xc0\xf2\x1c\xb2i\x89\xb2ieM\x981o\u0312\xbb\xa3\x01D\xf5\xce\xdc8\x85\xfc\x17\xcc\x04\x10\x8d\xf4J[\xfc\xe6\xdb\xfes\x80B\xef\x0e\x86\xebO\x1b\xb3\x7f5\x83\x8a\xb5\x04\xa5fDK Z\x82\xa43:\xa2%\x10-\x81h\t\x12\xa2%\xc8<\x12\xa0%H\x8f\u01f5T\x81\xc3X\xb6\x03\xaa\x01\xfe\xf8\u00a7\xb2M\x92\xaf\x96\xa0(^\u0526\xda\x7f\x1f+\x89\xf8\x14l\xdd\xfa\u0181gLgw\x1a\x1f\x00 \xda;\xf7X|K\u03a3\xa7\x00\xa2\xf5\xe6\xd9=\x06+h\xea\xd1\xe3\xa3\xc2\xc2K\xaa\xfa\u044f\x12\x83OM\x9b\x9cs\"d\xc5\t\x00\xd1]\xa5\x11\x8e\xeb\u0524\x0f\u046b+\x1e\x13\x85@\\\xc7\x12\xfeZ\x94\u04ab\xb3\xe4\xaeP\x8a\x15V\xb3#V\xc4<\xb1\xe6\t\xd1\xf5\a#Ov^x\xf8\b\xdfk\x1cm\xbe\u02b1\xab\xd1\xf0s\x00\xa2\x81\u01e7\xcf\b}\xban)\x96\x15j\xce\xe8\xea\xb0\xe2\xd3\v\xc0\xb4\u07d5\x8b\xf3N\x01\x88Fmr\xf7;\x12\xb1t\a\xa0\x90\xed\xf7\x9d\x06\x8d\xef\xec\xe60\xe8W\x19rK\"9\x10\xc9A\u0489\x1f\x91\x1c\x88\xe4@$\a\t\x91\x1cd\x9e\t\x90\x1c\xa46\xf3~\x81\xa5G\x99u\xb9\xf4\x17+\xa4\xfc\u0602\xf8\xdex\x1b\"\u01dc\xd9;\x93Y\x05\x9c\x95:\xbf\xec\xe0R\xbe\xbf\x9f\xb3}\xcb\xed\xb1[\x03\xe8\xb1\xc7w&3\xa3\u01dft\x9d\xc9\x04*\x06\x02;\x93]\x99\x13\xe68T\xf7.\xf7\x17\x9c\xa2\xcc\u05ab\xa4\xec\xef\x8c\xe5\\\xa9i\xedz\x0fl\xd5D\x85A\xf4ZU%'Z\xab\u0089\u05bf\xefL\x06\x91k\xb0\xadg\x03G0\x9ak\xf3{@_K\u0740'\x80B\xf3\xfcw\xb5^7\xf4\xf1I\x06\xfdJ\xd2v%\x8c\x890&I\x8f[\tc\"\x8c\x890&\taL\xf2\x1f\x040&\x99\x10A\x8cI\u018c\xed6\xf7\xd9,{\x06iO$\xd6\xf6D%\x7fu\xa1\xa5\u04a0}\xddj\xb4 \xe4\xf3_\x93O|?(6\xf2I\xfaA\x91~P\x95+u.J?(M\xabG\x1bs\xec;L\a\x10\u024e\x18\xfc\u4145\xfa#,Q\x96\x1bgrj\x84N\xa3\xa6\f\xa2\ud2b4~\xaa\x12D\x99\xb4~\xaa\x98\xd6O\x1f\x02f\xfe\xd74\xd9i\x14\xa0\u0430{E\x1fg\x86\xe9\xbef\u042f\x9c\xebK\xa2 \x10\x05A\xd2y\x1cQ\x10\x88\x82@\x14\x04\tQ\x10d\xb7\tP\x10\xa4\xb1\x05\xa8l\xad\x9f\xaaC\xedb!\u055f\x8d\x97W`s\x1dq\xd5~\x89k\xf0\xfa\xb5o\xe8\xe3|Z\xd9\f@\x14}'\xcf%\xf4J\xe6:\x00\x91|x\x96w\x9d\x8e\x1e\a\xf8\xfew\x8f\xabwFh.\xb7\xbe\f \x9a\x14\xe7\xe2\xbd/\xcdn\x17\xbd\xbaVc\xa2\x10\x89\xe98V\xd9F\x9dt\x1c+\xb3\xe3\x98\xf6\xe5Vuf+\xa6/\xc1r\xbc\x19\x03\xac\xae\x1e\x9c\xd8=\a\xcbq\xfb_;\xd9\xc7\u0167\xc7t\x06\xd1+\xb53\xe1\xb8U\x81\u32b7y\xd5oYb\xeb!\xeb\xb7^x\xd90\t@$e\x99\xbe\xa3v\xfe\xf0a\x00\xa2\x97=>\x7f85\xc8\xed\x1c\xa0\u0433!\x1d\xfb\x9fj\xa0\xaa\u03e0_t/\x8c\xd0=B\xf7$=\xe8&t\x8f\xd0=B\xf7$\x85\xee\u0657\v\xdd#\xadDI\xa7\u07ff\xec\xf4\xfb't\x8f\xa8\f\xc4\xee\xf0vW\xe2\x7f\xf7\xfb|\xf6\xe0\x925c\x8d\x01D\v\xa6\xe7s\x96\xec\n\x8d\xc5\u049d\x91\xb2#Lo\xef\x8c\xc2\xf1A\n55\xbe\xdb\xf5\x9b{\xbe7\x83\xe8\xb9\xf8P}\xceSJ&\u076b\xa8.\u00faJ\r5~\\\x99\xe5\x05 Zl\xffz\x85\xe6\x92\xee\xf7\x00\x856\xf7\xe9\x1f<\xd1\xf3\xb0,\x83~\x115_\x81DM\xf6\xb4@\xa2&\x1b\x84q\x912),;3\u01ca-\\\xde!\x81D\xedk\xd5 j\x85\x14\xcb\xc1\xff\x7f\x12/\x8b\xfa\x7f\xdd\xff\xe0\xff\xfa\xe5\xdeh\xbbd\xf4\xb00\x06\x01\n\xa9^6\xac\u066e\xe7\fE\x06\x01\n\xf5\u06f93\u6903A'\x06\x01\n}\xeevq\xac\x9f\xe9\xec~\f\x12\xfd\xb5=\xff\xe0\xb5a\x1d\xfd\x1a\xe7\xb3\x1b\xa71\bP\xa8\U000690a8q\xc3{^dP\x05\x9a\x94X\x19h\x05\x99Ty3PbR\xec&um\xe5w\xedA#\xba\x0ff\x10\xa0\x90\xbaUb\xd1\xfe\x03\x96\x17\x18$\xfak{\xfd\xc1k7[6\xa7\xffB\xb5\xacP\x06\x01\n=Q\x8eHO\xb4K5e\x10\x97\xbc\xdf\x1a\xa7\xecx\x7fe0\x83$\x8eZoJ\xe8\xea\xe7\xe2&{\x90\xfb\xb6\xf1A\xb3\u0552\x97Oa\x10\u035cg\b\xa0\xd6\xf02\x8e\xe2\xcc\xe5\xfd\xa0\t\xa5\xc1\xf7If\xd3<\x1d\u071d-\xdd}]&x;\u0421\xe4/\x85\xabl\x1a\x0eYh\xe6eQ+\xb0p\x9dw\xb1\x9bi\xa9\x9aE\u05a8\xbeL\U000c0a3b\xd6\u0316\u06f6\xbf\xbb\x05 R\u0271\xb0\xd3}\xe5\xc2\xe1\u00a7\xf6\u05d3/h\r\xc6x|\x88\xf2\xc3\x1d\x1ei\x87fu\x12\xeb@8\x89<\x10\xce\xe52\x10\xdagr\n\xb4\xfd54\x00D\x0f\xcc\u0773U\xd2t\xf20v\n\x91^\xfe\xf8\xd3N}\x16\xf5\x03\x10-\xeb\xb6B>\xc0\xba\xb9\"6\xd6?y\xb6\xfe\xf1\xd6~\xafkc\xb9\xce\xf3\xfen\x11\xe7\x1ek{0\x88^\x85\xf3\xb0\\\xe7\x19\x9e\xeb\x14EP\xb2\x15Hv0\x0e\x183n~M\xfdg\xd40\x1a\xa2\x84\x1d,G\xbf\x1f\xae\xb9[;\x9c\xa5WX\x8b_\xe6\xfe\x1b3\xa2\xbf\xb5\xda\xd6\x11KQ\x14\x97\xa9\xdf\xec\xd0\xe8\xa5\u05c9i\xdf\x7f\xbe\x85\x05\xcf/kR\x8d\xca$`?}\x9c\x8bw\xd9<\x8ck\xdd6m\xb2Tk\x8d\xdc;\x01@\xd4Iz\u04d9\xdey\x1d\xee\x03\x88.\xeb\xdf\u07ae\x126\xb3\x01\xa0\x90\xfe\x02g\x95-+r\x0f2\xe8\u05f1\xca@B\xbe\b\xf9\"\x91\"!_\x84|\x11\xf2E\xc8W\x95$_r\xf3\x04\xe55\xe5y\xbf\xc0\xd2:\xe8\fO\x89\x17*\x88b-\xf2\xc3\xc40\xef_\xd6jw\u06e6OwQ\x9fXvx\xcb\rY\xdf\\\u0671/n\xb5r\x16\u02dc\x14r\x1e\xf0bn\xc6\u0158xz\xbaL\x9eln\xf0\xf3\xe7^\x18\xe7\u0117%\x12A\xb3w\xe7\v\x11#\a\xb9\xd5S\xb7\xb9h\b \xfa|b\x86m\x9f\x90y\x87\xcb~ >(\xf5\xe4{\xa0\xf2\x99\xf9Q\xa1_j]\x15\xf5)^|Oi\xb3\xa0\xe9\x00\x9d\b\xbfA\xbc\x95\x1e&D\x9e\xac\xe2\x87\t\xa2\xb0\xc6\xf1\xf5|\u07bcJ\xa0\xbd/\x10\xa92\x95\xaf\x8b0\xf6\xbc\x94\u0629\xaa\x88\u00c0\xedA\x99\xd7\xfd\xa2\xd6\xc0{\xb1a\x00\"\xfb^;\u01ec\x9a\x10\xa7'\xfa08W\x96a\xc0&\xba\x82;\xac8\x1c\xb18\xc3\x06@tBv\xf6\xaa\xcb#|\x8c\x00D\xef\xd2\xe6&\xb6]\xf9\x00pI\xd6\xc2fwc\x8ee\x18c\t\xbc\x8d\xbdG?\x17\xbf{\xcf\x18D\xbb\x05sJ\x06C\xe0\xf3Y\b\xfc)JN\"\t\xbc'\xd6GZ\xdcq\xb6\x85{\xf2\xbabi\xfd\xada\x86\xbb\xc7)d\xe5\x11Z/:\xadw\xe3\xed\xf8\xb8\xc12\x16Zhs/\xe1J!\xb2\x89\x18\xddUgc\xbc&\x80H~\xeb\xf0\xa2k\xb6C\x9c\xff<\x8d\xcbWo+\xaed\xf0\xf6,k\u0362\x97\xb9\xdc7\xccMy\xae\xb3\x92\xea\xd9\aP\xa8\xa8\xfe\u06f7\xf5\xd1k\x13\x06\x15\x8b\x10\xb5\x05\xf7v\"\"\x04\x11!\xaa\x17c\"\"\x04\x11!\x88\bAD\x88\xaa\"B(\xf4\x12 B\u023c\xc6\x15Ws\x92\xf0\xf6\x19 \x12\x9f2+Z\u078b7\x04\xf5\xa8:|?\xb4t\xf7\x1d\xe4\x80\xe9\xff\xe4\xc9\r=\xfdVk\xa9&-k\x02 Zcd\xa3\xf52\xad[\x1a\xfdr\xa5\xda\xe5\x94L9\x1bT\xfd\x943\xb3\xac\xeaSj|\x7fm\xee\xed\xe0\xc4:\xa8Q\xaaC=;\xe9\xab,\x03\x10\xdd\x1fVw\xb0\xdf\u038b\x1d\xe9q\xbb\xccV\xd6\x1b\xca\xf6CL+\x15\xfe\xc2^\xf1\xb5\xf1\xfd\xd7\xecX\x18\x91@G/\xa4\xfe\xfa\xb8g\xb1\x00\xa2\x16*\xdf8\xf1Wk\xd4\x13\u05f4\xbd\xf8\xfa\xfa\xdcE\xcd+G\xf9\u07a2\u0271Ku\x1b}2\xe0\xb2\xf1\x13\x1d\xb7\x1b\x9cx\xeb?\x1d@\x14\x13z\u0683\x93\xd4d7\x1d\a$\xe3\xea=\u05b2\u06533\x99\xfa\xbf\x9fz\u0334^\xaf\xe7\xe9\xbe\xe2\xec\xf8\x9a\xf4h\x92\"\x11\x00\u044d;\xa0gG#-m\xac@2\xea\xc66\xcbi\xb9g\x9ab5\xa6\xefV\x11}r\xdf*\x063\x88\xde7\x9aa\xcf?\x13\x8d\x89hL\x92\xa91U\xd4ao\xf5\b\xb3\xbc\xd4}\xf7[\x00\x88\xd6*M\xb4\xa7\x8cv\x19\x00\nu\xf8oo\xe7\v\xd7\xd3\xcf1\xa8XAR\xfe(PA\x92[.PA\x92\x1b\x8c\u0653dw\xb0)H\xa5\u03af\x94\xa4\xbbw%OA\x82\xad\xab\x8a\x824P\xf2\xe8\xae8\aPll\xb8m\x1dY\xd5\xd93\xa3\x9a1\bPH\xa5Y\u0606\xc9\x0f\x97~g\x10\xa0\u041e\xfa\x89.6\xb6\x97\x062\bP\xe8\u6e9e\x85\xa3\x96\xbf\xd9\xcd \xb1\x7f\xaa\xd8D\xa9\x9c\x84\x1f}\x13/\x7fm\xca @\xa1\x19q\xaf\x97R\xda\x13g2\x886\xdd\x186\u04fd'yJ\x15lSU\x94\xaaA\x12h\xba\xbbX\a\u0417\xed\xb5~oS<\xe5Ol\xf7\xca\xc6-V\xdfT\xebNd\x10\xa0P\xe4\xf9\xd1\xc1'\xfc\xdc\x1a3\bPh\x94\x9b\xda\u078dg\u01b4f\x10\xa0\x90\xfa\x83N\u04c3\x95VF1\bP\xc8U=\xb7Y\xbe\xf2\xf4\xc7\f\x12\xfbb\x11\x9b\xfa\xe5sd\x172\xd8\x19~\x97A\x80B5b\\\xba\xf9\x1cmy\x93A\x80B\tj\xad5TZ\xb4Rd\x90\xc4Ib\xb5\x0e\x84,Ot\t\xf0\a\x14\xda\x7fm|\x9a{\xf7/6\f\xa2\x15\xaf\xe6\x02$1\xceXL@\xc2a\xb9\x8d\x9b\x9cs\xf8u\u0381\xa5K\xae\xb8F\xc9Y\xe4Qr*\x97QZ\xbd\xafO\xb7\x91#\xfbi\x01\x88j\xbe\xe9`\xda\xe3\xc6\xd2.XFfn\xb2q\xb2\xe9q\xe9\xae\u014c\x12?\x0e\xa5>\x8b\xf5-EcE\xf8\xc3\x06\xda\xee\u03f7\xe7\f\xbb;\x14@d\xfa 05\xf0\x87\xcfX>\x82\xf49\"\xa9VD\xa1KK\x00Q\u01ad\x84\x1e\xcb\xfe{Y\a@\xf4B\xf6\xc3\xd2\xcc\x0e\u074d\xb0L|\u02d8\x16IW^}z\u00a0_\x8a\x13\x8e\x89W\xc6\xe3\x1a\\;\xc8\v\x92\xa1\xea\u4998a9w\xd8>\xc5q\x8d\xe7l\xa3m|^\u0654\xdb\xcc\u02c6ms\x13\xa1\u008c\xbf\xa2kn\xc1\xb3\x04?N\xb6\x1d\x80h{\xf8\x8e\xfd\xbeZs6\xff|`\xb7\xdf\xf7$\u0593\x0f\u0715\xd2)al\xeb\x8e\x19\a\x9a\xf3>#\x8e\xf7B\x8a\x94|\xf1\x9e\xc6[\xc6\xdd\u066e=\u0198V\xb2LP\xfd\xf4\x06\uaf06\fcp\xb4W\xb47\xe6\xceL\x8f\x02\xad\x82\xcc6\xb2i\x00\xa2m\xb6i\xb7\xb3\xfb\x85\x8f\x03\x10E\xaf\xbb\xa0\xda\xe0\xd3q\x13\x00\x91\xcc!*y\xe4\x94s:\x00\xa2t\xa7\x19\xaf\x0f|x\xb7\aP\u0226\xf3c\u0547\u01c3\xd4\x18\xf4\xabxb\x86`\xea\xdbLp\xf1\xc4\x1b\x1c\xf5\xed\xc6F}\xe7\x10\xeaK\xa8o5\xa4\xbe\xff\x86\u06ee,\u043a\xdd\xcb\xf4LK\x06\xd1f8\x97\xd0XBc\xab#\x8d\xfd7<\u0572\xb7\xf1\xb1\xfa\xdaCv0\bP\xa8\xdd\xf9\xb0=_\u06ee\xfe\xca \x89\xa3\xa4\xa6_\x96y\x8e\x9b\xce\rz\xd0\xf5\x13\xee.o\xc3}J \u0782V\xa8'\x80\x92\xca\xce\xc0Vi\xa4\xb3\x18\xf5\tQ\x89D\xa0H\xc1\xe5\x1f&\xb3\xb9!\xe4!\x85a\x8a\x89\xf3S\xdbrc\xb3\xf8\xe7\x01\xc7\xecb\xb8\xf1q\xd7S\xa9\x81\v?\x7f_G\xfb\xabOlD\u0481\x85@\u525a(\x15\xe1\xf2\x16\xe7\xb2ST\x82FV\x1ca\xfb\x93\xb5\xb3\xd6m?\xaa\xb6\x03@D\xed|\xd2}\xce\xdd!G\xb9\xc1|`\xaf3\xe7\x1d\x97;\x88k>\xea\x1b-\x1d\x90\xb2\xea\xc2az\x9cK]eU2\xf7/\x9eB\x1b\x89f\xf3\xe2\x19T\xb7\xe0^k\v\xbf\xe4\x14\xf1M\xed\b\xa9H\xb9Zu\xe4z\x02\x88\xac\xc2>]\x1f\xa4\xe7\xd2\x1f@\xb40\xb2\xee\xee\xd3O\xe5N\xd1\xf6=\x84\x88QD\x8c\"b\x948\xc4(XB\x82\u00a8U\xf3\xeb\xe8\xf8\xe5\xb6\\\xf3\x9eA\xf4^\xe4F\xeaF\u02a8\x1b\x91\x14\rKLR\x11\x9f\xb8\x05QX\xdf#\x0f'/\xfd\x91_1j\u0530\xa2\xbd\xde\xf5\xdaG\xbf\x02\x10\xc9\xdal\xfc\x12\xa2u,\bP\xe8|\xb7\xe3\x8f\x1fm/\xfc\xc1\xa0_\xd5\x17\xaf\x04KP\xcb\x04W_\xd8\xe1$(\u0735\x97\x7fS}!N\x9a).\x85\n\xa5\xc5=\x98\xfbfg\x8d\xdd\f\xa2\xb7\ar\xe6\xe7\xb77\xf5\xfb\x837\u035c<\xf0l\xd0W\xb5M\f\xfa\x87\xba\x94\xbdB\xbc{\x9cW\xef\x18\x06\x01\nI\r?\xe9\xea\u0730\x8b\v\x83\x00\x85\u030az\xac\x1a\xfd\xde+\x9fAb\x9f\xf7\xf2\xad\xbe\x18\xddRo\xc9\xe6\x0fu{0HrLW\\\xaa\x16\xfa(\x95e\xe4\xc7\xd9\u0548A\x15k\xba\x95\xe7lQ\xd54\xddW\xdb\xf7\xd5h\xd52\xe6)\x83\x00\x85\x167;\xeb\x1e}y\xd7\n\x06\x89}\xde\u02f7\xf8\xe2\xa6Bt[\xf3\xe0\xd4&\f\x02\x14\x8a\xad\xa5\xe9\xda\xf9i_C\x06I\x9c\u04a5\xb7\n\xb4\xbe\xfbl\xec\"@\xa1'yK,\xf6\x99\xaaE2\x88\xb7\x9ee\x1a\t*\xbe\xb8\x8aQ\xba\x8a\xceaL\x9a\xff\xa0\xc1\n\xbc\xbd\x8c\xe6=\x99\t\x86z{\xb8\x8c\x1f\xef\xea\xe4\xea\xe2^vL\xee\x87\x1b\xc3\x125\xbb\xdd6\x1b\xb5j\xdf,D\x81/L\x8d\xeb\x95\f\xb3\x1f\x8d\x9b\x03 \xda\xe4\x96\xd7-q\u07c2\xbd\xb4\x7f=\xff\xabG\xe1\xcfg\xda\xf99\xfe\xba\xcbb\n&\x10#\xdd5\x85\"\xfa\xe4\xe0\x840\xdd5s^(\u0707\x85\x0e\u0615]\xa6\x15@t\xab\xeb\xb3:\xcdgo\u070d\xe5\u0372\u04fe\x9c\r\xfe\xee\xfe\x9dA\xf4\xe2\xd5\xc26\xe5\xac\u03bc\x99\x16\xf5~?\x0ei\xe5\xea\xee\xe2\x80!\x8e\xb8)\x83\xa8\u7a83\xb3\xfb%~\xde\u0277\xcb\xe1\xce&\x04\nm\n~\xa2R\xf5i|>\xf0\u0302;7N&;\xbf\x04\x10\xb5\xac\xd3:\xfbr\xd7\xd9\x01\x00\"\x83V\x05.'3\x1at\x06\x10\xa5g\xbd\xdd\xfbx\xaf\xf6c.\xd1\xf6\x1d\x9a\x13\xb7\xff\x82\x02\xa0P\xbe\xda\xfax\x83Yi6\f*\u6ef2*\x02\xf9.\xe7\xa2@\xbe\xcbY\x82s\xb3\xf7\xd8\u072c\xb8\x12\xffb\f\xc3*\x0f\x15\xa9%k\x93\xa2\xd7f^3\x06\x89yT\xfd\xff\xe0\xf5\xf5\xfb\xcc8\xbb\xf6?\xcd8\x06U\xb2(q\xf7\xddM\xa1\xab\u01cf\xba\xce \xae\x1f6\xf456\x1f6\u0294A\x12\x17%\u03ae\xc7i\xb0\xa4Y\xe1r@\xa1<\xad\xd6\x1dd\xc24\f\x19D\x1b\xe9\xff\xec]y\\L_\x14\xbf\xef\xb6G\x92D\x1b\xb2\xafI\xf6\x9d,YJ$d\xd7JI\x8b\x94\"\xfbR\u0649\xa2l\xd9R\t\xa9DYS?Kv\xb2\x16\"THJ\xb8\x94\xfa}\u01bc\xbcF\xdd73\x9aj\xca\xfd\xef|>M3\xef\x9d{\xef\xb9\xe7|\xbfgQ\xe4\xe3%R\x91\x98SL9\xb2\x04~\xa5\x10-f\xbbYs\xff\u051aj\xc1k5\x1d\x9d\xed\xcd\xe7\xd8.\xb4\x1e3\xcf\xda\xd5\xcaq\x90\xad\x83\xa3\xbd-g+\be\xa07\x83k\xe3\xb5\xdb\xf4(\xfb\xfa\xe1\xb82Go\xcc\xfc\xb8\xf0x\u072b\xcax\xcc\xf9\xd8\xc7\xf4\x1b%\x99\x99|\\\xb9l\xf4\x9cs\u01cd\xb0\x9a\xe5\xf7\xd5W\xbd\v\x80(\xee\xec\x86M\x1fF\xb9\xe6a\x1d\x82\x90\x02\x19\x9d\a\x11\xf2=\x18\x89^\xa0\xb6\xdcW(\xc3!\xf0\xc6;\x04\x86\x7f\xdeZX\x7f\x00\x7fC\xaf\xd0>\xeb^\xd7nLW\xec\xfb\xef\xbb\xf0v\xcc\xe3\xcc\xd1\xc3~\xfd\xa2\x1b\xd7oiNi\xf1f/\xf2(x\x8c\xb9\xadP\xb75^\xf7S\x0e\xefQk\xb4&\xb1/\x80h\xeb\x88\a\xb6>+OF\x01\x88v\u0641\x04\u054f\x8f8\x01\xd54\x95\x91h\xaci\v9F*\xbe\x17\xe5\x8b\xf8\u078bR\r\xf9\u078b\x92/0'JR\x1b\xd3\u074e\u070b\xe4^\xac.\xf7\u2fd0\xbci\xff\x17\x8f5\xffm\u07848E\x99a\x8c\xc4\xd9\x01i\xcf\xeb\xd4\xfbqz\x1a#\x01\niw\xb7tL\x0eP\xbf\xc0H\x80B\u01fe=>9\xe1\xca\x15\x19F\x12;oc\x94\xd3\xdc\t7\xa69v\x04\x14\x9a\xf5\xdeq\u0513\xafa\xb5\x19\x89\xb6\x8e!|\xbc\r\xb8\v\x173Ld\x8b\x19p\xcc\xf9\xd0\x12\x13\x14\x05\xbe\xc9\u065ah\x94\x99\xc1\u010f\xa6\x17bJ\x9e}\u0651 \xfe\x17x\x1b\xe4F\x04\xed\xbfUp\xf4h\x1b\x00Qr\xf0H\xd9i*\x97\xdf\x03\x88T\x86\x1c\xf9\xbcA9,\x12\x8b9\x84}\xa4\xd4o$O\ud33d3\u05ee\xee\xad]\x94\u04bcl7\x87\xe3VyX\xcf>\xb7\v\x8c\xd8]}\u072a\xf3\xf1O\xbb\x19\xbcZ\x9e\x8bu\xab\xea\xae\xdd?\xe4\xe5\xb7;\xc7\x18\x89\u0789O\xb18\x8bX\xb9UE\xf1\u071f\xfc\xb3e\x01\u0359cJC\x9c\xc4b\xc7&\xec}\x19\x125\xd7}3}\x82\xa7\t\xe1!\x92\xd3+\xe0a\xf9\x99\xb5\xaf\xaf\xdaC\xe3\xf6\x00\xa2\x8b\xab'.\xb7[\xdf\xf4?\x00\u045cn\x9a3AZ\xdd#\x80B?\xe6\xda\ud44e\x8a\xe9\xc6H\xbfKr~\xf0\xf5\x83\xe5\x16\xf2\xf5\x83\xe5\x06al\xbd\xecf\x16?\xb8t\x85KI[_\xca\xf1\xa8\x182\xd2\xfa/\x1c\x00\xc5e3\xee\u03f7\r\x9d\xcbH\x80B\a5\x1e\x84_\xa85\xac;#U\x9d\x93\x84\x1c\xafG'/7\x8a(!U3\xcfi\xd9j\xe5\xfe\r\xeb\xedi\xceH\xf4\x9e9\xc0\xb6gH\xeeI\xc5y\xddb\xd4\x1c\xb3\xac~\xb3U\x16\xa4\u0591hp\xebV\u044c3\x8cD\xc3q\xac\x05\x87\xa4\xb5l5H\xff\xa8\x99\xa7G\x98\u05b2\xd5\a\xc0\xe88VJ\u02ec\xcd\xf4c\x8c\x04(4iT\xc3\x1b\u045bzof$\xb1\v\xb5\x95gG\xac7\x8f\xeb\xf7\fPh\xd7\xc3\u05c5\xbe\xc99-\x19\x89\xf6\xae\xf4\xf8\x84\xda\xd2\xedq\x85Np:\xfeL\v\xc1\xbe[c<\x00\x88\n\xc6*9F\f\xac}\x98>y\xaf\xd9n\xe7\b\xa1\x12\x98\x7f\xfd\x8b\x8b\xe0\xcfhA\xffKw|2\xde\xc3?7\xb3\x89\xad\xbd\xd3\x1c\u06d9\\\xbbQ\x14\x86\u05d5\xe0\xcd\xe9\xecy\x12]\xfc\\\xed\x1e\xceo\xad\xd6P\xd8h\x02;V\xa6\x97\xf6\xa6\xab!\xb3\xb6\xe8\x03\x88\xde\xc8tm1\xe5U\v\xee,\x84n|\xf3|J|\x9f\ubd33\xaapbwu\x00\u0444\x0e\x12\xb3M\xdf\x1d\x9a\x0f :\x11S+1\xe9\u05063\x00\xa2\u038a[\xce\xc6n\x9c\u0441\xe7\xbfZ\x7f>\x94\xb0\u071c\xfeb\xf7\x8b.9\x00\"\u0751:\x81\x11\xc3Gm\xa17\x87\x0e.k\xbc\xd4\xce(\xb1kp\xa8\x0fV=B`A\xf6\xc2bA\xf8\xe6\xb3_g,\xee\xe0\xa8\xf0\xa6\x0eGA\xa9'\n\x16n\x1c\xf9\x16@\xf4s\u05acw\x81\xaa\x12\xc5SLI\x91\x1cGl\xa3\x97\xae\xf9\xbco\xd9\xdb\xce\x1d@t\xfa|\xec\xcbQi&e\x97\x96\xb9\x03\n\xf5\x9e\xaf\xfe\xe0\xc2\xf6\xcdk\x19\x896\xb6r\x04\x8b\xaa\x91XT+\\\xf3\x17\x02Sq\x0eT\xce\xc3\xd8\"\x97.\xaa\x9c[,\xc4?\xed|\xf6\xc1\xe6\x00\xa2\xad\x96\x87#\x13.\xe6\x16\x01\n\xdd3\xd3\xd2\f\x83y\xf7\x18\xa9\x18\xb1\xaa;\x9e?b\xa5\xcf\x1f\xb1\xaa\x83C\xac\xa6\xb2\x15/\xb0\x8e;di\xafV%\x90T\x95\xa1Or\xcdW\xb5\xde\xed\x18~\x89\x91\xaa\x10^\xaa7\xd15\xcdq\xa9_]F\"H\x12A\x92\b\x92D\x90$\x82$\x11$\xa9\"\x91\xa4\x97w\u057f\xa2;\xa3\xac\x18I\uc424\xb8\u00a8\xe6\xe9\xd9\xcf6\x03\n\xc5(\xbe\xcco\xf7NI\x87\x91\xb8\xfbY\xfa\x0e?$I\x06\x9b\x80\xd5\v\x7f\xa6\x85\xc0}\xac\xff\x16\xf7\xe1\xf8\xf9\r\x17\xab\xdc\xf6\x0e^\u0410\x13\xf1\xb5\xfe\x96\xbdh\xc2\xf8M\xf49\xdd\xc2bpp\x00\x87p\xa1w\u0641\x13'\xaa9?&\x8e\n=\xa2\x15\xf3\xd7X\a\xe7\xd5&\x1bJD8M\x83[\x01Di\x1eu\xa7\xc8H%\x9baB\x04\xe6\xe9K\x011\xfc\xa0\t\x11<\xdc\x17\x9d%\xa3\x80\xdd\xf6\x91<\u0442\xae\x97\u0398\xee\xed\xeb%\x03\x88,_\xb5\xf8\xf6\xdf\x10\rN\\\xf0!\x11\u033c\xd4\xe4z!\xbd\x7fV\xe0\x12\xa8\x86\x8b\x04\xa2,\x1b2\xe0<\xfd1\xbf\x19;\xfbz\xaa\xd6\xe2\xea\x93%#K\x9cP@\f\xcc3\xf9\x04u\x89\x1arG\x81\x00:\f\xa0\xf3C\xdei\u057c\x81-\xa7`\x0f\xa8O\x9f/{\xbf\f\x03iX@\xa7g\xd4\uaec3\x91\xb3\x06#\xd1\xfa\xf5\xe3\xbe!\x01t\x04\x01tD\xd4\"\x97\a\u0401\xc8o\x83\xe4\xc7\xc6c=8\x17\x9ce\xa3\xaf\xdd\x16\xcdRU\x03\x10\xa1\xf0\xfe7\xf5\x9d\xac\x16\x03\n\xe57oX\x7fM\xc1\u54cc\xf4\x1b]\xe8\xc6\x1f]X\xc0\x1f]\xd0\u00e1\v\x9b*\xa35\x82\x98\xc6j\x95_n^i\x91\x90(g_\x91B\xae\x7f#\x12*\xab\x90\v\xe5\xf5\x8e\x9b\xe1:h\xe9HF\x12\xf9\xbaWl\x87\x12\xcbI\xa9Y\x03\xba.\xb6f$\x02H\x10@B\x8c\x8f\xe1?\x04H8\xe6\xdf\x18\xfchn\xe1>F\x12;@\xc2\xc5(\xf6\xc8\xf8-\xae\xc7\x01\x85\x8c\xce\x1e\x1c>c\xcb\xd8\x18F\xa2\x01\x89\xc5|\x00\t\x89\xde\x18@b.\xdf\xf2\x0e\x11\xf1_y\xa7\x17\x8e\x1d\u2cc2\x1e\x88\x04\x97bK\x84\xa8\x1c\\~\xc1\xa9\xbf\xc8/\x10.\x93\xc0\\X8C\x80\x92\"\x88\xf4s\x97\xb5VZ$\xdb\x1d\x1b\x8e\xe6\x04=]\xa6\xed\xa7xF\x94\xafR\xf5\x052'F\xa4\xefI\x8f:Wv\x14\xc6\xf9^\xc9.\aC\xd3u}\ufc5c)Q\xc7\xc6\xf6\xfeR\x06f\x8b\xa3p\xad})\xd4mR?\x95\x81\x1a\u0599\x8cD\x1f\xa0\xba\x15\x9d\x94PQ=xE\x13\xc3\x06\xaeX7IAeH\x1cv1\xe7\xe6X\x8e\xad\x93&\xec\rt\x8b\xf2\xb0\xdeM\xb9O\x9f%\x80h\x13\xd5%\xfa\xad\xd2{\x9b_\u07c8k\xf3\"\u070f\x95\xbd>V\x00\xa2\xc9Gw\xdf\xd5W\nz\xc8c\xfa\xa6m\x1f\xaa0\xa6a\bg\xff-p9\xb6\xc0\xb0\x9d\xe7D\x00QT\ua201s\x9a\xbe\xf2\xe1*\xe1D\xd9J\xfa5\xf7\x87\xf3wO\x81\xeb\x101\xedi\x84\x9e\bT2\x05\xe2\xaa\x12\xd4\xda=\xf8X\x10\x80(9\xea\xfe\x86\xa3\xdb\xdb\xe4\x02\x88:u::\u07ea\xe9\xd2\f\x8e]\x98\xb11Lg\x80s\x00\xa0\u040cp7\xf5\xfb\xb3\xf6\x1dg\xa4\xdf\xe8\xc1V\x82\x1e\x10\xf4\x80\xa0\a\x04= \xe8\x01A\x0f\bzP\xf3\x8f!A\x0f\xaa\x1bz\x90\xcc\x0f=\xc0\xb5\xb5\x96\xd8\xc9\xe6}QB\xe7\xfc'\b\x99\xf3_\xba-'\xbf\"\x8aR\xcd:\xd9Z{`b\xa1\xa0-\xb9\xe7%%C\xd4\x00DyC\x83\xdf^[\x1c\xe7\x05 \xcaV\t\x9cz\xfd\xe1\xe7\x1d\x00\xa2\x82f\xde\xe1\xebm{,\xa6\xf5\u0419%\xa0\x17|\xc86\u05fb\x10f\u0236y\xd9\xd1O%\x0f\xd96\xda\u073f\u01f7\x9f&\xbfz\xcd\xeaO\x1a\xdfs\u044e\xb2\xc36'\x00\xd1k\xff\xc9\xdfO\\\x9b4^\xa4\x8a\xb3\x12Zq\x96b\xa1\xb8\xb5{\xe1\x81\x06F\x19\xbd\x00Do\x1d/[\x16\xd9]l\x80\u0752\xda\u04bb._i\xf6@\x1b@t\xdf\xd9\xec\xba\xf9\x8e.\x11X\x88#JsC\xee\x85\x1c\x97\xf9\x8cD\xfb\f\u05f0\xd3y_\xb2 \x1c\a)\x191E8 :\xb7yBX{\xd5\x025,j\xd1ikF\xde\u0327}s\tj!0ja\xca\xfdq\xa1{\x0fcvn\xccI;\x99\x11\xcbw\x9f\xfe\xf5\xdd}\xb9\xfa\xafO)\xfd\xa1\xffYe\x7f-\xe79U\x93^\x9fN:\xae\x16\x0f jr2}A\xab\xba\x11\xf6\x00\xa2\xa3\xce1J\xf7~\xbe\xb9\xc1q=4\x1a\xe6\x04J\xb5n\xc2H\xbf;}\x00\x82M\x10l\x82`\x13\x04\x9b \xd8\x04\xc1&\b6Q\xf3\x8f!\xc1&\xaa\x196!;\x9c\x0f6!yR\xbc2\x1b$~`3\x1b$\xe6\xe0`\x94\xcel\x8e\xa2\x10=o\xdd\xe9\x7f!=o\xcb^q\xbe=o\x0f\x1eA\x01\xb9\xd6\xc1\x88\xab\f\x92T\"vI%\xf5\x83\x14w\x0f\xd4\x1a=\x1e\xfb\xbdN1\x1d\xed6_\xb5I\xaa\u0124\x92u\xa9\x1b\x8d{\xa9\xbd^\x86E\\4>f5\xed\xe1|L\x9e\x91\xe8soF\x92JHR\x89h\xe1\x19\xd2K\x03@tv\x9a\x8f\xe9\xe9\xaeo\x9bq>\xd0xv\xea\xf5;O\xea\x02\n%\u016e\xfd8\xc1S\u069f\x91\x8a\x81 \xe5Q|\x81 \xf9\xa6\xfc\x81\xa0\xf7\x98\xfb]\xae\x17\xdb\xfd^*\xf4 \r4\x04o\xa0Q} +\xcb\x1bqm\x16k<\xb0`$\x02Y\x11\xc8J\x8cce\x02Y\x11\u020a@VU~\f\xff!\u022a}pm\xa7A\x8d\xe4\xae3\x92\xd8AV\xd7NM;\u05f8\xe7\xb6)\x80\xfa\xee\"\xd5`\x9f\xfbN\xc5\xdf\x02\rXe\xf1\x01\xac\xa4\x86\x90\xde \xa47\b\xcb\xc3\xfd}o\x90\v\x98\xf8\x03\xae\xae\xcc\xde \xa2\xea\xa7\xc1\xf5Y\u0168\x9b\bD\x8a/&&\u07be\xd8l\x1c\x16t\xfb\xb6\xcf<\xa5\xf9\xd67\xddE\xaa\x88j\xdeX\xc4Sr\xe6\xd6\xebc\x8e\x18`O\xf7M\xef-/\xfd\x97\xec\xd2\xc7\xe2gS\xef,\x8fq5>r\x9d\x91h\x9fm>\x1e?k\u0382\x9f\xbd\xa5\u4a6a\xc5\xcf*\xb2\xdd\xc8\xe8k\xbbW4\x1a\x92\xbb\x17\xab\xef\xb7^\xf6\xae\x1d^\x8d\xaeOP5\x82\xaa\t\x83\xaa\x1d\x1c\x12:(\xb4\xa3\xe2J\x00\xd1E\xd9.w^(\xe9|\x05\x14:\ub55fq\x7fP\xab\xc1\x8c\xf4\xbb\xf4\xeb\x12\x7fT\u0354/\xaa&\xdf\x04\x87\xaa\u0653AJU\x81\xc4\xd5\xd8AJ\x04\x89#H\x9cXB\x00\x04\x89#H\x1cA\xe2\xaa\xfc\x18\xfeCH\u070e\xb6>\x1e\xbb\x9e+\x9df$\xb1C\xe2\xbc\x02\xfb\x84\x83\xeb\xad8\v39\xe8\xfbJ\x13\xff3/\x19\x89\xbb\x9f\xa5;\xf0\xc1\xe2$\xc6\xe12\xb2\xear\xff\u0404\xd2\xe4y\xa5\xa1\xeeN\xe6\x0eV\xbf\\\x7fg\xf3\xe2X\x13^\xc2;\xa2\xa5\xa3\xf6\n\x83\xc60\xd8\xcc,\x9dN\xc7c\xd4\xd76\"\xd8\f\xc1fJa37\xf7\xf5\xdb<\xa7\xfd\x82&\xd8\xed\xb5\x7f\xfd\u0644q\xf3\xa6i`\xb1\x19\xea\xda\x03\xcf>\x91\x8f61\x12}(\x0e\u1c19\xa2o,\xd0L,%[\xad\xa0\x19\x88\xbc\x8d\xd6z\xcf\x0e\xed\x8b\xd3\x10D6\x16K\xf4b\xda\x04\x86\x11\xb8E`\xb8e:\xf7\u01f5\xa8F<_Y<|\x88\xb5\xf1-\x1e\x18\xbb#\xf5dI\xdc\xed\xc3\x1c-\x9c?\xf0\xab\xe4\u0317rR\x85\x10\x85\x04\xf8M\x8b3\xea[@\u06e7fx[PH\xe9\xd6|\xa8@(\xa5:\xf1(\xb5i\xdd\xcf/6^[\x9a\x06 \xba1\xbc\x81\xa7b\xc3\u01fd\xb9o\x1a\u03e26\x1f\xc17X\xd9Q\x95\xb5\xa86\x82\xff\xee\x18\xa9&\xfd\xad\xe2yB\xb3+\xc3n\xf6\xe9\xf7\xf5\xf5\x10\x00Q\xdb~^z&\xc1\x9e\x1d\x01D\x83~NH_\x9d6\x92\xc2b\x00\x91z\x1f\xea\xf7\xdf\x17\x9c\xc5H\xdc\x1d$\x05p\x1de\u013d\xbeI\x14\xf9\x19\x109M=\xf2\xd4\xfe\xca\xc0\xf7\xd8\xd3\x1da\xd1#\xd0l\xfc\x92Z\x04\x1a\x10<\x13\x03\xea\xb2w\xcd-\x84RX5\x95\xff\xfcY\x89\xea\xfc\x9d\x9f~hP\xd3\\':^\xa3\xf4\xd9\fq}\xc1\x9f\x1a\xbb\xf59o\x1f'd?\xe1\xbf\x18Q_n[\xfa\xa4}~G\xa3\x85\x1d\xc7\xf2\xfc]\xb2QR\a\x05\r\xcf9\x00\xa2\x97\x03\xead'\xe9uq\xe3\xd97\xbbCo\xf5\xf9\xe2\xe1\xfb\x1c@\xb4\xc2+\xe0\x9ej\xc2\xd5\x1e\x00\xa2\xe0E;l\xbe\xbaFr\xbd\x99\xd9\xecgK\x04+\xfaI\xf3\u0218\x8b\t\x9f\xf6\x02\x88\u072e_\x9d\xb4\xb0\xf16I\xce\a\x1c\x9a\xbfk\xd9\xf5\xcaV@!\x97a\a\n\x97\xe4\x9fJe\xa4bxI\xed(_xI\xc1\x99/\xbc\xa4\xd0\x1b\x03/\xd5\xf6\xe6\xdaa\x02/\x11xI4\xf0R\xa9fz%\xe1\xa5d\xac\xfdua{\xb5z\x94\"\xaf\x01\xd6\xfd\x8bw\x9bf\xe9\x17\x87=`\xa5\u068d\u047f@+\b\xf2 \x14+sj\xf7t\xb3\xbfz\x1e@\xa4.\x17\x9dp\xa3\x95\x9f\r\x80h\xe0\x174_\xb3\u04c2X\x00\xd12\xb9\b\x83y\x0en\xdd\x00D\xba\xae\xfag\x12\a\xccH\x16\x15\xa4\x92o\xe9\xb9\xcdb\xef8\x8a\xbe;\xf6\xb0AM\xa2Z\xb8\xce\xc2/\\\xe7\xea\xb9p?z\x18%\xbd\xd1\xf7\xab\x0f \xf2\x96n\xa1\xf1zy\xc1MQ-\x9c\xe7x\xcf\x17FQ2\x9b\xb9\x8aIf\xe1\x15B\xf1\x06\xa6\xac3\x85Y\xb1\x8a\xe4\x1b\x92\x81\x92e\x97Q\xc7\"y\x94k\xfe\xf3\u046eU\x12\xc3\x02\x01D\xfd3;\xf7\xb8{\xe7\xb5?\x80\xe8\x80\xf2\xadO\x93\xd2\x17\aa\xf9\x86\xbd\u01e5W\xdd\x1a\xd3]\x97\x91\xb8\x1bTZ\x9f\x92\xa60|C\x7f<\xdfPH\x01\xaa\x16U6\xe1 \xa0\xf6,X\x95Z\xd6V\x17\v\x82B9\xfa]\x8c\x9c\x7f\x12>\xfds\xae\x87\xf1\x92+&\xab\xeb\xd0z\xaa\xc5g`]*v\x9f`\xa3\x84\xa2}xsT\xf9'\xbb\xe4\xdf\xff\xa3\f\x1el\xcd\xd5l\v \xfa\xdem\xa5\xfaQ\xd7\u06d9\x00\xa2t\xbd\xe1c\x14\x87\r;\xcf}\xf8\xcf|\x14r\x15\xeb\xa7\xe3\x80U!v\x91.\x80\xc8Abj\xae\xeb\x11x[\xe8\xef\xc4\xec\xe3\xce\x00\xa2\x9b\x97{-\xcbj\x9c~\x05@$\xe3\xe6\xdd\xed\xfa\xfa\x9cP\x00\xd1\xf2\xbc/\xba\xfbg\xcfiL\xdf\"\xe6\xfcX\x98nx\x16\xa6\u00ac\x95\xc8\xd8\x19\x99v\x163\xa9\xf1W\xba\xd0\xfb~:\u06d5\xd9A\xf0\xb7\xc1\x98\t\xbc=\xa8)\xac\xcd\xe9\xe9c'Z\x1b\xdci\xc8s\xc0P\xb4a\xaa\xb4\x9e\xaf\f\x80h\xbb\xff\x8c\xe7A'\xf2\xb7\x03\x88\xae\xaf\x19\xad\xd0\xc0:lS\xe5\xb36\xe3\xce\xfd\u0616\xe1\x04\xa2\x01D\xb6\xab|\x06\x7fv\xf3\x8b\x00\x14zk\xbf\xac\xf7\xdeQ\x85K\x18\xa9\x98\xb5i\xb0\x93$\x05\x13\u05a6\x1a\xb16$)\x98$\x05\x8b#\xa4D\x92\x82\txK\xc0[\xf1\x02okFRp\xed4>\xe0\xad\xf4u\xeca$\t\xc3$a\x98$\fWj\xc2p\xf1 \x94R\xbd1\x85\x99\xde\u027dcp\xd3;\x85\xdb(e\x9f3\xceFY\xee\xb6=\\\xe9\xb0\xd4\x10\x1eu\fzT\xab\x8bn\xa4\xf7t\x00\xd1\xdb\x10\xa3\u046fz\x9d\xdbC\x9f\x9b\x8e\x98 \x8f\xcac\xb9x\x13*\xd3V\b>\x19\x17_\v\xed\x19\x1eY\x90)\xdf\xc7\a@\xe4\xe1\xab\"=\xc5\xd4\x0f\u042fI\xda\x0e\x00\x88\xe0[K\xf3ca\x17\xcaNe\xe7,H\u048dZK\xaf\xc6e\xaf\xc6\x1e\x9c\x16Y\u01c2\x9e\x1elg\xc6H\x00\xa2\xc2\xdesee\x8e\x86$\xd2d\xe3\x1b\xee@\xd6j7\u01b5\xec}\xcaQ\xe1\x9b\f\x90>\xbeO\xf6*\xac\xde\xe2\x7fR\x83}\xf4\xbd\xa2\xe9\xcdF\xf2\xe8\xf9\xe7\xd1\x17}\xe0\x03]\xd7\x04\u0631\xf3\u02fb\xdfc\x7f\xec\xb8\xcc}\xa3\x03\xdc\x1f\xacM\xc9\x15\xc71\\\x03\xd4\x1b\xdf\xda\x11c\n>\xe8)5\xd1\u0658\x15\xfe\xeb\xdf\xf5\xb8\xff\xfe\xe7@\xdc\xe2f\x05e\x7f\x8b5\x80HY\xe5\xfb\xd9\x02\xe3\x83/\x00D\xa6\x8dS\x1c\x87\xc0\xa7\xf7\x7f}!f\xc2\xeeXsn\xd4U\xf6\x17\xe2\x8d\xf2\xa2\u034f\xda\x1d\xb0\xd3YO\x1f\x8e3\x18-\x14\x1d\xe1\xfe\xa1\xb4\xdd\x18\xf4\xa7\xcb?\xcc\xd9\xda\u0705\xb5\xbd\xa4$EA\x00\xd1\x06%\x03t\xc4|\u07f4\xb2\xd7\xdb\xd0z\x1e\x1f\x1f\xe4\xd7fNw\xbf\x11;\xd6w\x9f.\xe7\u04bd\xa7e\xa9\xec6c\x1d\xf7\x81\xdf\xe2\x1ex\x80\xc0\xbf\xc4\xf3\xb4\x9fS\xdf\xc4.r\x1e\xdb\xef\xd7w,\xc1\xbe\xb4\xa8\xef\u0292\xef\x9a\x101Zb}\xc3t\xce\x1ds\xe9k\xd3\xcd\xd3\xc2v\xf7\x00\x10\xb58\x1auI\xfd\xa8\xdb$\x00\u046d\x9c\xcd\xdeY\xf0`K\x00\u046e6\xe3V\xfb\x85\u07d3\x00\x14\xb2\x98m\x15u\xfa\xea\ueaccT\x8cQ\xab4%\x185\xc1\xa8\tFM0j\x82Q\x13\x8c\x9a`\xd4\x04\xa3\x16\xfb\x93\xf6\xafa\u0535l\xf9`\xd42\x8b\xf0\x18\xb5\xa45?\x8cZR\x95\xa5;\xe5?\x19\t\xd7\x04\x1c\xbe'\xc1\xe1E\x8e\xc3?aQ[\xb0\xe0\x19\xfc\xc2\xe0c\xa2C\xe7#n\x8c7\x1aYh\xc4;4h\x95\x7f\xca\xe4\xcdR\x9c\xc3\xe1n.-s\u0437\xb5&\x80\xc8+v\xe8\xed\x1ef\xd2\x0f\xb1 \xe3\x9e\xf5-C\xf7\x8d\x8b\x9c\xcdH\xf4\xa6\xcb\u0120\U000f84cd\xbd\\\x85\x18Wa\xc1\xf3F\xde\xc7\f\xfa\xbd\x9a\xd2k(\x80\xe8\x9e]c\xdf3\xfbu\x97\xf0\x12S\xa5\x01\xf6\f\x16\xafA\u071a\xf3\x92\x83+\xec\xc1\x85H\xa3\xde\xc0\x13YCG6\xc0.Bp\\\xc0\xcaYic\xf0\xe9\xe4\n37_Z\xf0\xe8\x88##\x01\x88\xde\x0eT\xba\xd0h\ue3c6tX\x1aK:\u0650N6\x04\x81/\x1f\x02_\xa9\u067c\xafG\x9dm\xdd\xcaM\xf6\x12\x80\xe8Y\xb2\xaa]\xd3\xddW\x16\x02\n\xc9H,\x91OV:\x90\xc4H\xc5H\xa9j\x0eAJ\tRJ\x90R\x82\x94\x12\xa4\x94 \xa5\x04)%H\xa9\u061f\xb4\x7f\r)U\xec\xc5\a)\x95\x1bJ\xb2y\x85A\x11I6/\xc9\xe6\xad\xc0\xf6\xbfa\xb8I\xf7\x12\x9dY6\x1e\xe9\u07ca\xb365\x01\x10\x10\xb8\x7f\xeb\xaf7.b9L\xb7\x84\xda\v\xa2\xcf\xfb\x16\xcd>zh~\xf7\xc1\xbc\xfb@\x86G\x1f\xaa#\x066\x91\xa9\x7f(\x05@4y\xd1|7m5\xbf\xd1\xf4\xd9 y\xe45\xfeR\xc2@\xb0\"\xcd#\xbf<\xd9&=\xd9n\xfeDF\x02\x10\xf5\xba\x15\x1f\xda\xc0a\x7f\x1b\xdaz\u01d1f\xafQ\x87\x91\x8a\x99\x8ff\x9d\xf92\x1f\xa4\xfb\u0107\xf9 \xdd\xe7I\xf7\xf9\x1a\u057d\x9at\x9f'\xdd\xe7\xcdI\xf7\xf9j{~I\xf7yBy\x12\xcaS\xbc(\u03da\xd1}\xbe\xfer>\x94\xa7\x82\x1b\x9e\xf2$\x9d\xe9Ig\xfa\x92\xbf@:\u04d3\xce\xf4\xa43}Ut\xa6\x97\xb9\x8c\xa5\xc2=\u0628p\xd2D\x9b4\xd1\x16\xbe\x896W\xa5\rYN\xe5[\x91l\x1eq\xe5\xd4\xd5N\xbd\xb2\\\xd96\xe5\x1b\xaf\xb9\x8cHW6\x9a\xb8\xf5\x16\x80\xc8\xe3Mz\x9d^]\xf7\xd0Ye\x12E\x18\xe0Z\xe2?\x96\xca\xd9\x1a\u0129\xcf$.\x91(\\\"\f\xe7s\xb9\x105\u07e3\xa9;I\xc4\xca\xfe\xc7\xdd\x18\x8c\xb2\xefG\xa4\x8c\xcf>s\xfd,\x80\xc89\xa4\x97{O\x85y\xd2\xd8\x13\x96\x1a\x9bw\xd9\\\xf7\xda2\xece\xfe\xc1\xcf\xf9\xd2\xdaZ\xef\xf2\x19\t@t|\xbc[\xfa\x8b\x0f\x03:rWL\xfa\x11%Ka\xea\x02\x95X\xb2$\x92\xb0u\x81\xd5k\xe0\fG\xe7\xf74\r\u073b?\x8a\x1f\x83Ut\xad\xb4\xa8T\xe0\u0630\x05\xad\x172D\x86\f\x91\xe1\xbe\x18I\x1d!\xa9#$u\x84\xff\x0e\xaf\xbc\xd4\x11\x9f\xe7h\xb9\xbarR:\x80H?\xaf\x91\xbb\x93\x99\xc7!@\xa1#r\x8f\xea\x8c\u071cl\xc7H\u0169#M\xf6\xf2M\x1d\x91\x19\xcf7uD\xa6\x11\xc6\x03\x97\xb6c)\x9a\xad\xf6H\xb9\u0232'N}n\x90k\xa7`!\xc5H4|\xf0\x8c\x8dh\xed\"\x1a\x16G\xa4%\xa2k+\x87\u0169\xe8\x12Q\xac\x8f]U[\x93\xf1]\x90cT\x1b\r\xdbc\x03\x9b0\x12\xa0\u042c\x97\xc6\xe7\x8elzd\xc2H\x80B#\x9a\xeb\xfc8qsh\x04#U!C\xa9\xda-\xfb$D\xe0.#\x89v\x1b\x8b\x94\x8c\xac\xa4m\\\xd1dd\xb5\xdb\xc6E\xc3\x03/u\x9e\xfd\xb4)#\x01\nu\xdcPW\"\xbae\xc7~\x8c\x04(\xe4\x9548X\xf7t\xb7\xee\x8c$v\xec\xa0\xd5\xc7\xe9y\xbb\xb2\x1a\xcf\x02\x14\x8aNKN\x9a\xe00\u064a\x91\xb8\x1bM\xb5\x16\x1fvPy\x19\v;\xb8\x8f/;8\x8e%s\x93\xea\x87\xdf\x1c\xa5\xfa;\xb1f\xa4\x97\f\x97\xf4\x9b\\t\xcct[\xcd]\x8c;\u0607\x17\"\xa8\xb3/WP\x97\xdbe\xdd\xea\u0520\xc5\xf1e\x7f\t\xfd\xab\xbfQ\u0212_\xe2:\xed\xac*\x9c\xd8]\x1d@d}D\xf2\xd2\xd8G\x85~\x00\xa2\x96\xaf\xfdt<]\xef\xfc\xe0\xbe\xe0?Y@\x80?I\x85\xf01\x1bG\u0402\x05\xd0>-p\x00`\u03aa\r\xac\xb3 D\xcb2\xf7\x12\xdb\n\xa2\x85>\xe9\xb5\xe5\x0ey\xd9\x02\x88\x0e~9\xa3vS\xf3\xb0\x0e\x80h\xc5\xdd(\xad\xe9_\x1e\xd4\x16\x15w\x90\xa99\xb6\u079b\xc7\xeb\x8a+WV\xb3\xa1\x8c&\x18\xa7\x9a9\v\x1c\x8d\xe2|G\xac\x86\x8a\x02\xc5\u9e16P\xd3\xcb\x15\xa6O\xf5\xb2{N\x04\x10]k/\xb3R{\u01ec\u01a2R\xfb\xe5\x19g\x1fn\xf9\xb9\xae)\xcf\xf3|\x88\x99\xb8#\xeb\xd0$=\u038a?oqA\n\f\xcf\a\x10\x85\xf4\b\xb7\x8b\x1ci\xdc\x14\v7\xb6W=\xf8\xd5648\x94\x91\xb8\xeb\xa5p\x02\xc7\x1dR\xa7\xf8\x1a$\xb2\x1b\xc4h7\x9c_=C\xcbr\x8f\xd2s\xae\xe6k\x1d\xc3D\xbd\xb5\\\x88\x15\x14\x85\x15\x94\xa7g\x1fhP\xaa\xbc\xc0\xaa\xbb\x93\xb9\x83\xd58G\x13W\xee\xf6*\x94{\x84\xf7\x92dT\xb93\xe5Y\xce\aV[\xe5~#\u0468\x9c\v\xa5\f\xfd3\xee\x18\xe78\xcb\xda\u0166\xd8\x0eH\xab\xb3l:)\t\xbc\x82\xe0\x10\x16\x96T\b\xae\u0262\x8al\x03D\x1f'\xf4\\\x81\u671d\xc1}\xe40a\xe91'a\xb0G\xfe^$\xef\x13\x8f\xf6k!\u06ffm\xd1t\x00Q\xfc\xb7\x82\xb3\x1b\xbf_\x1b\t :\xbc\xf0z\xe8\xaeL\x05\x03aO\xbd\xa5\xb0\xa7^\xe8v\xad\xd8S/\xaf\xd4\xc5G\"\xf5BW\xce*\xd8\x1e\xe8\xf9F\xf1\xe4(\x00\xd19\u0643}\xa9\x8c\xc7\xfb\u9b74\x85-\x17f\x06\x9bU$\xc1\b\tF\xfe&\x18\x81h\u00c7\xfc\x8c\xbe\u046d\xeb\xf1|\xb4{\x9cZv\xe2\x84c\xa7\x00Dg\u01ff\xfa\xac?g\xa7\nWI\x995\xf2\xf6-\x99\xf8\x16\x93nw9'\x8b\xf3w\x9f\xbe\xeb\x1e\x9c\xf3u\x02\x00\xa2\xf1s\xa4R\u0347\xd8L\xe5\x1c\xe4\x8f\x01?%\xa7,_A\x8e,9\xb2bzd\xf3\xda\x1aK\u030b\xf1.\xdb5s\a\x10\xe9\xdexe\xd2\xfb\x18J\x06\x10\u077e7\xf1U\x1d\xfd\xeeK\xb1\x9fM\xfc\xa6k\xfcDs\xf3-l\xdc\xd6\xf0\xfa\xa7\r\xe1'^,f$\x00\x91\xf3\xdd\xf6\xb2\x1f\a\x02:\xf7Qr\"\xb6\x97F\x14>K\u011d\x8b\xbeUR+\r\x88>\xc2\xe0\xf3\u04e7&\xe2\xde\x14\xa2V=\xb4:/3p\u04e1\x0f0i\x8f\xc1\xbf=\x06&\x17\x81=u\xc0\t@\xd4zj\xd0\xfb)\x16\xedG\x97\x1dH\b\xcb\xf7R\xdc\x19\x06\xbf\x9eE\x8bjTf^\x04CAW\x91\x1f\xde\x7f\u03aeu6c\x1fm\xa3\xb7\x97\x9aH\xb2CJq\xe7E\xd1\x7f>\xe9\u0439\xae4\xfbR\xe4)d\x9a0\xee\xa2b\r\x0e9\x8f\xf4\xe0\xa7\xd2\xf3\x0f\x86\xe1\x1e\xfd\xc4YGo;\xf76\xf8\xa78\xfb\xae\xf77\x18\xf8_\xda:\x0f@\xe4\xa5\x13j\x90\x98X\xab/g\x9b\x9fW\x04M\x8e;\\\xa5\xed\x882\x1bg\xff\x92\x18\x19bd*\xc2\u0214z\x18~6\xa6\xfc\x96\x04\xa2\xb8\x1b;o\xb5}\x11\xc41\n7\xb2\xb7\xed\xaa\xd5\xe5E\x1a\xcfGWx\xf7\xb9\xd6j\xf6\xee3\x1c\x17r,51+D\xf7\x00\x96\xfe~\xf3r\xd8\xf1\x02\x8d\x11\x86\x9c_\xf8\xb1l\u072e\xae\xf7vc?{\xa3H\xaf\x91Bb\xe3\xb2\xc7yp\xa2\xc8Q\x03\xbe>\xed\xbc`\xc4\tF\x02\x10\xf5\xa8\xaf\xbb$MZR\x8b{\xdaH\xd6\xc0?s>\xaa_\u0580\x91\xf5,s\xb1\xc8\x1ah\xb4\xa0\u07aczG&\xe5\xd0\u06cbd\r\xe0\xb3\x06\xa2w\x1f\xa3N\xde\xd0\xe8\xc99\x06\x99*\xa3\xde=\x1ax\x04PH>9;\xe5`\x86\xe3\x15F*\xce\x1aP\x1f\xc67k\x80\x8c\xc4&\x83!*2e\x82\x8c\u012e\x0ey\x14\xd5?\u01c7\x8c\xc4\xb1\xabC\xaa\a9id$v\u0251\xd8u7\xf1\xc9,\x91\xf7\xc7\xd3\x00\x92\ucf24\x04\xcdKJz\xf0K@\x91\xec\xc8R\x03\xf8O\x06tT\xf5o\x95\x0f\x8d\u0612<\xc8tp\x01\x99I\xde\xe9\xe0\xd9,j;\x8f\xa94.'t\x83\xeb\xbb,\xa2\xf7\xb3\xbb\xb0\x12\xf5\x8f\xf8\u03dd\xe7H$\xc5\x1c\xea&\x97\xb3x=\x80\xe8\xd6\xe0\xf5\u04da\xcf\xd81\x18@\xf4\xce9_}X\xafK:XP\fn\xce\xe9p\xba{\xe3\x00F\x02\x14\n\x95\xec\x89\xc6w;\u051c\x91h\x82\xb3\x14\bV\xa6\xf5\x92r\u01f6^\xaf\u0346\x83\x93)\xe4e\xfbc5\xa2\x95\xbapS\u021f\xb0\x1c\xda`\xc1\a\xa8\bshE\xa6\t\x1d\xe3\xd0\xd4\xd1}z\xae\xe5y\u04eb_V\xdd\xeeqD\xcf\x19@4\xfe\xa1v\x9b}\x11\xdeA\xf4\xaeo\x86\xc1j\xa8\f\x16\xff\xb9\x94\xf9\xae\xb0{\x0e\x93(3K\xa7\xd3\xf1\x18\xf5\xb5\x8d\xc8\xdd\xf4\x97w\x13D\x1a\xf5\x06\x9e\xc8\x1a:\xb2\x01v\x11\x82\xe3\x02V\xceJ\x1b\x83\x9d}\xf1\u0763\x97I\xbbl\u01ce\xbf\x05@\xa1g\x89\x89\xf3\xce\u06d9vc$\x00\x91\xae\xc4\xdd>\x972\u7361\xcds<\xf7\xd6+\x83\xe4\xf8\x86'9\x8ab\xb9}\xb7\xc5n\xcc8\xbe\xbd\xac\xb7\xd1Z\xef\u0661}5\xb0\n\xb6\xb1X\xa2\x17\xd3&0\x8c\xf0$\u0551')\x84\u067f\xfd\f\x912\x0f\u05b8\xee\xc2\x7f\xf5\xf2\x1ck\xd9y^\xed\x8f\x12\x01#\xaf\x00\x88\x06\xbd1h\xb6tBO\xfa,\u00a6\xdcW(}\x16\x87\vZ:\x8a\xd9\xfc\xd3R<\xda\xf9\xdd\xdc\xfd\x81\xbbu\x1f\vA)\xe1\xf2S\xb1h\x975_\u00be\x1c\xbc\xd3\xcd>\xaf.e\xb6\x93\xfb\t \xbap#x\x92\x97\xb6\xf2S\x00\x91\xaf\xec\xa5m\r_\x9c\x0f\xe1>\xf0]\xae\x12\x99\x88\x9c\xb3\x9dh\xb6\x88qM\xb1\xeeR1\x9b$\xa0\xbf\xc4\xe3\xec\x8a\xe0J\b\xe9\xbdu\x87\x7f\xeb\x9ev\x00\xa2\xa9\x8b\x9c<\x06\xecOG\x00\"\xe9\xe9\xd2\x1e\xf9\x9a\xcf8\xbbgA\xc7\u061b7\x8d\xf6\xca\x00\x88\u059dS\x1f\xea\x99\xf3\xf8.\x80\u82fd\xe2\xa2pE\x05{@\xa1\x8d\xabv%\x9f\xb5\x1c1\x90\x91\x8a\xf9\xa4\x16\x9a|\xf9$2h\x9c\xf0I\xe2\xc3'\x91A\xe3d\xd0x\x8d\x1aTL\x06\x8d\x93A\xe3\xe6d\xd0x\xb5=\xbfd\xd08!\x92\t\x91,^Dr\xcd\x184\xde\xc0\x8e\x0f\x91\xac8\x03O$\xcb\xe0\n\xd1x\xa9\x18\xe9\xe7\xfc\x88d\xe9-l\x9d\fZb\x9f\xc0\x1a\x1f3\x97w|,D\x9f\xf25\xf2~d~\x91\xe5.k\xa99\xd4\xcc\x13\n\xf1\x14\u008e\xe4\x85\xe8\xb0u\xd4\xe0-\x91\xcaA<\xd0\xc4cm\a\xc5W\x05N\x92\x00\xa2NS\x86\x1b\xc6n\xba:\xaa&P\xcfdJ\xbb\x18OiOc#\x19\u0254vq\x9d\xd2^H5a\xa1\xc5>r\xf9\x94\xf2\x9b\xae\xf2\x99\xdb\n\xceUP\xf2\xfa\xdcow\xeff\x80g\x85\xe6\xac;\xdf|o\xca\xec3\x00\xa2\xf5\x1a\xad\x06e\xc6\x17n\x04\x10EJmw\xd9:\xc0\xf096W\xe1\xf8\xf2Y\xdbW\xec\u0651\xc3H\x80Bf\xcd=\xfcW\xacX\xe7\xc6H\\\xdd\u02d6\x1a\xc6]\xe6\x05)\x93\x8c\xcdU\xb0g\xcbU c\xe2\u0258\xf8\xbf\x1d\x13/\xc7b\x15\x1es\v\u042a\xda*\x88Lu\x0e\xff\r\u07f7\xe7Q\xe8 \x1e\xd5l\xc9\x1cp\xa7\x8f\xe1i\xce\xf9\xdfxt\x8dE\xd2r3\xba\xb7\xb5$.\x19B\"\x83%\xddQ\u0712!\x88+%\xb6\xae\x14\xf1\x96\xc4\xd2[\x82(\xebK|\xe4\x97\xdd:\xf9\xd8C\xb8\xe3\xe2\xf1\b\xa3\xd1\xd2\u04f1\xde\xc1{\xe3\x1f\x91\xfb~\x9c\x8eb$@\xa1\xfa\xebot\xd9T\xebz\t\t@\xd46\xed\xd8\xec\xffnf\xdb\xd0\x01\xf0\x13\\\xcdo!\u055a%\x1f\xe6\x1d%O\u0544\x81\xf2\xf8\xfc\x99\xce3\xbd\xb67\xbcv\xab\b\xbb&\xf7\x0eG.\xa3FOU\xa5\xb5E\xc6\u03131\xf3\xbf~\x89$\t\x91$!\x92$TeIBm$\"\x1c\xb6\xb6h\xbc\t@\xa4i\xd8(_J;j#\xa0\x90\xb3\xe7r\xdd\xf4\xfa\x8e\x1f\x19\xa98I\xa8\xa1.\xdf$!RtN\x92\x84\xc4'I\x88\x14\x9d\x93\xa2sqd0I\xd19\xc9\x15 \xb9\x02\xe2\x95+P3\x8a\xce\x15\x16\xf0\xc9\x15\x90\xcb\xc7\xe7\nHd\xf3K\x02\x90\xd8/\xb8skU\x13\xe8n\x18\xc4\xc6y\x90j6a\xab\u0668\xb2\x8baK\xfa\xf2\xe5.\x86\xb5\xae9\x84\xd1\xe5\u04e3\xdd\"\xe7Y\x1c\xe2\x89g\u04de\x16\x99/\xfey\x96\x13\u0305\xa6\x8f\xebf\xfa\xfci/\x00\xd1\xe3c\x17,\xd69K=\xc6\xe2\x9e\xeeo\x8e\xda\x14\xaeVo\xcaH\\\x85K=\x17\x88\x00\x95\u068f%@-\xd9\bPR\xac]\x83\tM\xa1\x8a\xb5\v)\x1d\x16{Y(\xac\xf9\xab\x11\n\x9cy\xee\xd6@#\x9bS\xefyk\xc0\xbfn\x9d4=l\xcdn\x00Q\x8a\u053c\xd5I\u058eq\xb4\x02?c\xa0\x13\xaaT:\xbd\x18\u04de\xb0\xe6\u07da\x18`\xf8\xdb>\xf3\x94\xe6[\xdft\a\x10iO|\x97t=u]\xd9\x16\x82\xa3U\xb5\xab\x99w\xd6\x14\xe6\xdab\xedy\u1358\xce-:A=F\x02\x14J~\x9b\xb1T\xedu\x93\u01cc\x04 r\x918\xe8\xfd\xf4q\xefk\xb4\xb96\xc0\xa1\u0105\x94\x02\v\x8fu\x87\x92\xa3\xaaS]7n\x11\x9c\xa6\x1eyj\x7fe\xe0{\xac\xe6#,z\x04\x9a\x8d_R<\u06c3T{\xf3\xaf\xf6.\xfa\xc0GI5\xc1V\x9b&L\x8d\x9cm\xec\xbc\x00@\xe4\xa1\u04ea\xadT\xc8.c\x00\u045a\xee\x06\xe9\x87\xeat\xe8\x0f(\xa4n'S\x7fm\xd7\xfaF\x8c\xf4{\u022b3_\u4714\xd7\x12\xe4\\|\x90sR^K\xcakkTy\x1e)\xaf%\xe5\xb5\u693c\xb6\u069e_R^K(3B\x99\x89\x17eV3\xcak\xeb\xc5\xf1\xa1\xcc\xeah\xe3)3i\x19~\x94\x99T\xac\xe0m(k\x04eF\xca\x1a\u0137\xacA\xa2\x19\x1b\xb3Aj\x1e\u0131\xe6\x81*\xbb\xf6\xae\xe4\xdaTX\xed]\r\xa2R\xe5g\x16\xd4\xfe\xb45@\x8ag\x81G\x8el\u0675\xfb\xad\u0572\x00\"\x95I\t\xab\x1c\xf4\x16\xd5\x06\x10\xc9.\x1f\n\x0e\xac\r(\x1bX\xe6\\%\xd1\xeec\xcc:?\xb6\xa9\xc7H\u0705\x90A\x02Q\xa92g\xb1Tj\xa9i\x9f\xa4\x96T\x94\xfb\xb9\x06Q\xafB\u0592\x0eg\xb3\x1f\rD\u04a3\xa3\xa6h\xb6(\xedS\xfb\xe6\x96]\rx4;\xa3\x8b[4\x90\xbf\xd3\x02@\x14\xb6\xdf{\u07cc\xab\xf3\xef\xd0G6\x01\x03\xcaK\xac\xadF\xa5\xa83\x89\xcf&\n\x9f\rC9^.D\xcd\xf7h\xeaN\x12\xb1\xb2\xffq?\v\xa3\xec\xfb\x11)\xe3\xb3\xcf\\?\v \x92~qo\u07451O6c\x8f\xc9\xe6\xcd+O\x8c\xf8\xe4\x8b\xfb\x00\x856}i6\xfdQ\x9b\xf0\u03cc\x04(d\xb1\xbd(\xf0\xf9\xe0\\yF\x02\x10\xf5\x1av\xab\xfb\xf6\xe9s?r\x97Q\u049c{\x85\x95E\xb2\xf7\u01d3\xec\x85\x14\xa0jQ5\xb9Z\x14\xb7j\xca\xd1\xefb\xe4\xfc\x93\x9a`\x97j\xae\x87\xf1\x92+&\xab\xeb\xd0z\"5\xa4\xa4\x86\x94\xfbb\xffX\xea\xc1<\t\xa3\xb4\xad\x1d\x92\xeb\x00\x88\xfa\xc0\xabf\xf3.-V\x01\x14\xb2\x7f\x14\x98\xf5pdQ\n#\x15\xa7\x1e(\x1d\xe0\x9bz \xb7\x9c\x7f\xd1\xde\b\x8c\x97#\xbb\x9d\x14\xed\x91\xd4\x03Q\xa6\x1e\x18\xb2Q\x97\xa4h\x8f\x14\xedU\x83\xa2\xbd\xaa\xa1\x18\x1b\xc7\xe6\a\x99M\xea\x1f\xc7H\xf4\xa9)\x95\xe1_\x01G\x8aP\x8d\x84j\xac0\xaa\x91\xc1OQRO\xe9\xfc\x1fN\xbb\xf2\x18\tP\xe8T\x98\xd6\xc3:+\x876g$\xb1c\"-5,\x1f\x81\xa4\x82|@!\x9d\xd5s\x13\xb6\xbd\b\xdc\xcaH4.\x9c\u0187\x89\x94p\xc4aM\xed\xb9\x7fhBi\xf2z\xff\xeeN\xe6\x0eV\xbf\x1ar8\x9b\x17\a\xa0\xf0\x19\xcb\xe9\x123`\n\xb6b\u00c9I%\x01\xf7\u047f\x8aD\x0f\x96B\xeb\xc1\xaaB\xf4\xd0\xfc\xec\xfb\xfc\xe6\xf355\x01DO\xf5\x1d2\x15\xef\xb7\xfc\xc2\x13\r\xab\xb9\xae\xf9\xb0\x06n_\n \x1a\xde\u00f2vQV\xbd\"\x00\x91\x1b\u032ektj\xc2\x06\xec\xce\xd3\x1azw\xfc\xc2\x15\xb3\xdab\xb1\x1ex\xb9\xc1\u0675\x83]\xfd\x19\x89\xc6r\xf4\xb0s\xf0^\u285c\xa2\x83\xdcvabX/\x01Q3i\xf9<\xb5C\t\xf5\xb1\xca\x1a\xb7\xca\\#1\xb0\xb1\"}\xd0H\r\x04\xff\x1a\b\x91\xf6X*\u03d7q\xec\x83q\xc77\xcaJSBg\xd1\xeb\xe7\"\x92\xdeV\x9c\x9d3,9\xeb\xe5 \xcfL:\xd1\uec20\x8f9\xb4h\xbd\x13+7\n\xa1\xa8\x88\xc6a\xcd\xeaH\x16\xddsu\x06\x10u\xcd\xf9\xd03\xf7|n\x87__]9\x8d\xb8 rZp\xa1\xee\x9c#\n\x8a\x00\xa2;\xf1\xb3?\xec\xd8$\xa5\x0e \u04bb\x7f\xc7\xc5\xe3X\xbe\x15\xa0\xd0\xd8WK7lu-\xd8\xc5H\xc5X\x8d\xea\a\xfeX\xcd(\xfeX\x8d\n\x0e\xab\xb1d\xc1jJ\xfb\xdc\x04\xab\xa9X\xac\xa6j\xc0\x98I}\xd5:8\xe7\xbeRb$\x82\xbb\x10\xdcE\x8c\x83D\x82\xbb\x10\u0705\xe0.U\x89\xbbp|3t\xe5\xa2\xfb\xb5\xf8g\x9b\xde3\x12\xa0P\xdf\xfb3z\x176qse$\xb1\xc3]\xee;\xdc\xca\xd1OL-\x00\x14\u06af0\u0260\xdd\xf5\u0a4c\xc4\xdd-\x8af|p\x97Z7\xb0g\xb5Pb'\xf7o,M\x93\x8c\xf0n\x97\x9e\u0c73e\x89\u5028WZ\u7e41\xd3&\x9f\xe1\xea\xbbzg\x8cC\u05acd\xd2dI@\x12\x99\xa7\xc9RQ<\x8b\xda\xca\xddx\xc7ZT\x1b\xc1\x7fw\x8cT\x93\xfeV\xf1<\xc1\xf6\x95a7\xfb\xf4\xfb\xfaz\b\x80\xa8m?/=\x93`\u03ce\x00\xa2\x9d\xb3\x83/\x14d\xddj\x87\xc7o\x8e\x7fM{\xff\xb1\xd3OF\xa2\xc3\x1e\t\xc1\xb2r\xaf\xe0\xb2r\xa9N\xec\xa1+\xf7\v\x8a\x8aX4~K(\x8d\v\xb7\xefp\x93y Z\xee\xb6=\\\xe9\xb0\xd4\x10Q\xad\xd6C\xf3\xbb\x0f\xe6\xdd\a2<\xab\xa5:b`\x13\x99\xfa\x87R\x00D\xa7\x0eL\n\xff\x96\xf8\x8ck\x94\n\xa5\r0q\xa8\xb4\x12KfdBe\x9a2Cat\x82Q\xb2gxdA\xa6|\x1f\x1f\x00\x91\x87\xaf\x8a\xf4\x14S?@\xe0\xe9\x92\xf0t\xa1d\x03\xbeW\xe4\xfd\xb2\x93t\xb8\xdd\xc6\x05\xae\x9f\xb2\x10\u055dZ\x91\xb9>\x9b\xe5\xf7\xb9\xdc\xf7\x1dU\x9c\r\xb8\\p\xcb`\xc9cg*\x05l-\xf2\xc2_\u0366\x98'g\x9cF\xa1pW\xdb\xe0O\x0e/#\x8c\xeb\xf3\x18\x97\xb7i\xdf\x146\x14\xf5\xa9\x05 Z\xad\xd4m\u06b0\xd0\x0e\xb7Ee\xcc\xc6=>\xeb~\xaf\xdd\xc0\x1b\xf4:\xf0\xe9\xf9&\xf0\x1e4\x17\xcd\xf3\t\xb9\x91\xadx6\xf2\xae\x83_l\x9d\xfd\xbb\x9d\xa8\x10;\xf0vw\xb3\x9e\am\x06e\U000ac4de\xcf\x18\xc5W\xe7n\x0f\x02\x10\u027a\xa3\xd7\xef4^(a-\xb0\u04e5K\x1d\xf5\x14\x92\xdbrl\xe7\u031f\xbd\xb4\x13nv\xc5~6~{\xf2\xf0\xcb\x1b\xa3\x01\xf6\xd2\xd7\xd4\xcb\x1chrn\xf6EF\x02\x14\ua9e0q,yZ\xf3\u034c\x04 R\xf3h\xd70- P\x82\xb68\xe6\xb8i.\u0552\xd4\xe1\x18\xdd7\x19 }|\x9f\xecUxe\xfe\xa4\x06\xfb\xe8{E\x13R\xa7jH\x1dS\xee\x9b\bK4\xe0\xbe{\xd1\xe6G\xed\x0e\xd8\xe9\xac/\xdb\xe0`\x87\xa0\xd8\xf3\xe8 \xdd\xfdF\xecX\xdf}\xdc\"\x8cA\x7f\x86\xed\u00dc\xad\xcd]0\u0182;\xbcB\x92\xa28\x16g\x83\x92\x01:b\xbeo\x1a\x80h\x8b\xa1\xe3\u04ba\u03b7\xces\\\xf6Q\xe6;\xbaxXu\x05\x14\xea\xf8\xdf\xe0\xa1O>\x197c\xa4b\xd2C\u0754$\xa8\xfe;\xa4\aIP%D\t!J\x84\xf8]B\x94\x10\xa2\x84\x10%\u055d(y\xe7\xfc\\\xc6\xef\u049c\x87\x8c$vD\u0276}\xa7\xbbz\xd5\u04d8\xc9\u0445\xa5\xf2\xf6f&\x85o\x18\x89\xbb[\xean\xe7C\x94(\x8c\xc4\x13%R\xea\x02\xc1\xb0\x92\xcf\xf9\x81E\x92[\xd8\xd2XZ\xb2\x80n\xffdDS\x12\x18\xb0\xb0\xc8l\u04f7E\x9cF\x8d`\x8d\x96\x12\xd6H\xf4\xa39\x9a\xb0\xe8\xed#7\x0fVp\x14L\b\x00\u02c2g\x9f\x0e\x0e\xbej\u04f2\u07a4\x8fB\xf1\x1d\"R\xc8\xf1\x0fu{\xda\xc4l\x9f\xc8s\xb0\xbe\xbe\xd1u\x99\xbf\xf1\xf5M\x00\xd1p\x93\x17\xf9&\x87>\xb7\x01\x10\x05\xbbm\v\xbf\x1b\xd3e7\x16\x9d\x8aW\u02f9V\xa7s\xea(F\x02\x14:\xda-\xd2l\x88E\xb4\t#\u0451*\xc4\x12P}\x04!\xa0\xf8\r\x8c\x17\x12\u00ac\x98\xc5\x13\xd92I-\xda\xfc4U\xc6\xff\x1d\xcf2\u024f\x8d~\xee\x1e;\xf4\x00\x80h\xc9G\x9b\xb9MS\xc2\xe8\x1cni\x0f\x1c\x17\xa5W\x8d\xbat\x10\xa3\xf6WFMr,_\x97B\x11\xcb?\x15R>l\xf7\fq7\x04u7D\xe0\x00\xc0yhbn\u07dd\xc5czd\xf1]\xefE`\xbc\u011fItM)\u02b9u\xf3\xd68Z\x1d\x03\xb9\xdc\xc4\u07ef\xb3\xd0\xf4)\x8eu\xaa\xb8\x97\xae\b;tw\xc5\xc9a2\x966\xf7\x00D\xde}>\xecj\xb0\xe6\x9d\x17\xd6b?R\xb11\x18\xfa!\xcd\x1f@\xf4\xa6\x87\xf5\xa9\xb9\xba\u027d\xb1\x9f\x9d3\xe5\u0780\xe4\xa8\xc3\u0371\xde\xc1\xfa\xb4\x14\xff+\xad\u0355\x18\t@\xb4.\xc1ud\xf7:\x9e\xb7i\xb0Q\x1d[{\U0010d166\x8a\xa5d)q\xa4\xa9\xf0d\x86\xb7\xd1Z\xef\u0661}5\xb0\u06b4\xb1X\xa2\x17\xd3&0\x8c\x90WUC^\x89\u026c~\x88B\x1fH\xaf{\xb9`P\n\xc7X\xef\xb6\xeb\xd5j\xf5\xfc\r\x80B3e\x8f\r{p\\\x90U5\xe2\x82Hq\x11}\xa9\x1f\xe4{\xed\x9b\xe3\x9d\x06j\x88\xb0\x96VD\x15\xbb5\xe1\xd8%\xad\xf1\xab?\xfb\xed\x169:\x8e\xca\x16\\\x95\u015d\xe8f\xb0\xac\xcc2\x96\x10\xa8\x10\xfb\x7f\x7fU\x94\x84\xc7y3\x0fG\u01f6\xc98\x1b!\x168\xef\xa9\xe3\xc1\xae\xdbz\x0f\x89\xacX\xe7o\xb9\x8f\xc7\x11\xb7Z\x03\x02\xb8\x9a\x8e\xc0\xe4|\xfc\x95>E\xbb[\xff\xf0\xaf\x9e.)\xba\x12\xb7e\xb2\x1a\x80(!R\xb3\xd7\x19\xf7\u03ea\x15b\xaa&\\o\xf0e\"\x9ce\x01 \xf2=\xd9O\xd6A\xae\xbf\x04\u05a8/ku!}\xe4\xf4\xcc\x17\x00\"\xca\xd0Ve\xa9ffw\xecg'\a\xe7\x8f\xff\x94\xb3~0\u05a38\xf3)f\x8a\xd9\xdc\xf9J\x8c\x04 :\xdb/\xe7S\x9dg\x97>\u046e\xfa\x0e\xfc\xd8\x012\u06df\xcc\xf6\xafr\x16\xa9zv\xeb\x17\xf2^T\u07b3\xbc\xf9YIj\x11\x80h\xc9\x7f\xad\xa2\u07ac\x02\xb7\x01DW\x93%F\x8d\x93\xf3i\x01($\xd9\xc8\xc0N\xa1I\xde\x11F*&\xab\x94\xfd\xf9\x93UJ|\xc9*\xd9'8\xb2\xaa5[\xeal)>\xaa\uac7a\xeaC\xe7hw\xb7tL\x0eP\xbf\xc0H\x84\xce!t\x8e\x18c\xcf\u0557\u03a9\x94#E\xe8\x1cB\xe7T\x18\x9d#\xecc\xcf\xfd\x8b\xc7n\xb1n\x99\x81\xa7\u029b\xad\x8c\x04(\xf4\xbc\xce\xc1'7L\xee\rb$@!\t\xb7\xae\x9bR^\xe8\xb91\x92\u0611G\x8fr\x8e(\xfb\xd5\xf1\xb9\x0e(t^\xfb\xcd\xda\xf6\xca\xcaK\x19\x89\xbb7\xe5G\xf0!\x8fd\xa6\xffi\x19Lm]\xe86'O\xb9\xcf\xfdg\x00\xc4\xf9S\x14\xf7\xbf\x98\x90\xca\u013a\xec\xd0\xc8\xee\xd7\xe7\x17\xfe\xf9\xf1a\x83E\xd4\x7f\t\xe7`\xbf\xf8\x11p[1\xbd\xeb^\x00QRx\xec\xeb\x84V\xf1\n\x00\xa2\xdbz+o\xfa\xac\u075bJC\x9b\xa6|\x94#\x95\x86\x81\xa5q\x93\xcfx@i!@1;\x9e\xf8cp3\u06ef\x83LfGs\xe2\x84\xee]\x1a\xccwnJ\x0f<\x96j\xc3}\x1e\x05J\xfe\u05ff\x9b\xb8Z\x14\xe3\xe4\x92\x01\x18\xefV\u048c\u037b\x1d)\x14\x0e\xf0\xeb_jc\xaf\x92\"\x96A\xbd\x95\xdd\xfb\x05\xabQ/\xe9\x86\xf3\xaev\x1b\xcdE\x1cK\r\xa4+\xb5\x8e%\xbe\xc4u\xdaYU8\xb1\xbb:\x80\u8657\x85\xf4q\x95\x91\r9\xe2T\xe7\xc1\x1d\xfb\xf4\x83\xb4vJ5\xf4.\xc9`u\x16\x16\x82.5\u00c0/s\x11#\xec\x82\xe2\"l\xec=!\x8aE\b{\x19\xd2\xe1s^[5\x00Q\xe6\xd6\xc7\xcd,\x87\x1d\xe2h\xf5\\\xe0\x9d\xba:T\xe8]\x00\x91\u069a\xf9^\xb7\xfd\xb5\x9c\xb0\xa0\xc6s\xa7\xec\xf1\x9a\xda\xfa\xcdD\xabvK\xa1\xd5nU\xfd\xd5\x1e\x16s\xff\xc3\xe8\x94k\xa1\x00\"\xfd\x97\xca\n\xbe\xafg\x96\x8d\x97\xcc\x05\x10\xf5m\xa9\xb7\xefe\xaf\x06\xd3\x01D+f\x9d0\b\xc8\xd1\xc6\u03d68\xb7DO\xad\xe7\x92W\x89,Z(7\fi\a \xf2mU\xbb\xe0\x83\xa4\xa39\x80\xe8\xad\xe6\x9c>\xd3\xf7L\xaf\x85\x85\v;\u06cf\x1c%Y\xeb\xfe F\xfa\xf5\x1c\x83\xff\xbc\xd4\xc7;X\xcfu\xe5x\x9bl\xea\xfde\xa0\u0785R\xbaC\xce\u0593\x06\x10\xf5j\xdb5\xd8z\xe8\xb5p\x00\xd1\xfdO\x97a\xed\x16y\xf2\xb4\xfb}\x1a\x87@\x8ay_\xa5\xb2\xcf\x1fg#\xf4\xf8\xa0\xb8\u0724\xf9\xd7\xfe\xd8\xd5\u03dc\x90\xeb\x7fUG%\x89\x80\x8aU\x03*\x96c\x8a\x05DW.\xbc\xfb|^g=g'/n`s\xd3\xdfi\xb1\x1b\xa0\u0415\x0f;\xeal\x7f\x9b\x13\xceH\xc5\b\x9d\xcad\xfe\b\xdd\x19\xfe\xe9\xe4+q\b\xdd]2\xa3\xa1\n\xe2H2\xa3\x81`\x89\x04K$X\"\xc1\x12\t\x96(\x1eG\xaa\x9ab\x89\u06a3St\u018c\x96o\xcaHb\x87%ZJ\xff<\xa1\xedy\xe6\a\xa0\x90}f\xa0\xb1v\xe3M3\x18\x89\xbb7k\xf1\x9b\b![*\x11\x9d\xc1\x12wa\xb1D7\xe1\xa0\xc4~\x7f\xba\x91C\xac\x1d\x1c\xedm\x1d\xcc]\x1c\xcb\x0e\x1c9\xaem\xd6\xf2D\xe3E\x9b\x7fL\xe5\x88sFM\b\xd5uo\n \xcaX\xb7.G\xb3\xd6+\xbazVf\f\x06\xec\x13\"T\xb7\x136T\xb7\xe6\x89\x11\x9e\u017a\x05Ex\f\xc8\x05\x10\x19w\x1b\xe5\xa9\\8\xa2\x88F*\xd7`\x81?\xa9\xe9\x18\xa7Y\xaa\x05\x9b\u04ec*,`Q\x94\x8c5\xfbB\xa4\x1b\u0609\x06\f\x84h\\\xe7\xc0\x89+o\x14\xa9\x97\v\xc6\xdb\x14\x987>\x7f\xc0\x89\xef\x00\"\xc59\xb3\xeaN\x90\xe8\xf6\x8dV\xcf{\xb6\x98\u2a100^\x19\xf0\x14?\x1c\xef7h%T\u06ad\xe08\v\xeb\na\xc2\xcb7\xce\xf53\xf6\x14:\a\x02\x88\xb46=\xfe4\xa6O\xa7\u0532\xcf\aK\x12p\xf9\x066\x94X\xc5A\x8fju\u044d\xf4\x9e\x0e R\x8a\xe8>\xa5\xe3 KU\x00\x91\xfa\xees\u075b\xea[s\x8e\xbc\xc6\u01c3\xf1\x9a\xff\xed\xc9\xc2\"\x88\xdbk\xbfL\u056d'\x97&\xda\x15\xb7\x14~\u016d\u020a\xff\xfd\x8a\x87\ud62c\xb6\xf4k\xc8s\x00Q\u02a2iMZ\x04\xbf\r\xc7bV\xfeu\xae\xf5X\x97\x99\xec\x06 z\x1b=\xa5\xdb\xed\xa8\xec$,|\xd5j\xc3\xc0U\x92\xedzNf\xb3\x88\x99B\xa8\xa1\xdcuM\x95O9A\xf4j\xd0\x16\x83\xff\xde)\x85\x01\x88\x86t\x88\xba\x98\xde\xf1\xfd[,\xb2\xea\xdf`\xe7\x05\xad{\x8f\xd3\x18\x89\xb3P\xb5\xb4\u06f5UZ1\x87\x0e+\xea\u05e8\xbe\x1dxp\xd4(\xa9\x8d\xf1\x80\x01\xeb3\xb0+\xdbo\x84\x97\xb9\xf5\x86[\xd2\x04\x1c\x15\xab\xbe\x1d\xfa\xce\xe6\x96\x1cw\x16\x8f\x91\x1e\xdfT\xb8i\u00fd\xa7\xd6\x7f\x01\xb1r\xee\x9c~\xf9\xcd\xf2_w\x94\xb9\u03f1q\xd3\xdfg.\xec\xd3t,\x80\xa8\u1ebe\x99\xc3\xdb_\x89\x06\x14Z\x9e\x1a!\xb9w}\x823#\x15C\xac\x8d\xd6\xf2\x87X\xb3\xf9C\xac\xa70\u07a2\x9c\x14\xe9\xd8!F\x10k\xf5I\xf1$\x1d;\b,[\xad0$\x02\xcb\x12X\x96\xc0\xb2\x04\x96\xa5P\xe4\xa4\x1f\xcb\x133\xcd\xde2\x92\xd8\xc1\xb2\u03c2\xd6\xed\xdd<\xd3p'\xa0\x90\xc4\xf4\xb8\x80/\xe3N\xbde$\xee\xdeT\x9e\xca\a\x96U\xf8\x8e\xb5\f\x85Rt\n$\xbePXJ\x1e\xdfP\xb4t\xc2\x1f\xbf\x0e\vN\x02\x03)\x0e\xe5B\xf6\xd6\\q\xb1r\x1e\xa0\xb8\x04@\xa4\xbc:}G\xd6q\xef5\xdc'f\x99G*\xfa\x98\xbd\xc8S\xc8\u00adR\xf1;kVX\x89W_\x9e\xff\xf2\xb2\xabD\xa6\t\x0f\\zU\tj\xed\x1e|,\b@t%\xb7\xf9\xa9=\u03ce7\xa0\xcd\x19\xe9OR\xea\xea\x16\xa8?\xc9g\xfc}&\xaa\xe6\x03\x96B+\u056aB\x94\xda\xfc\xec\xfb\xfc\xe6\xf355\x01DO\xf5\x1d2\x15\xef\xb7\xfc\x82\xc5;\xda\x7f\x9by\xc6r\x88\x17\xd7g\x12\u0550\xe5\xb2\xf1\n\x91UF/\nY\xaf\xa3\xfd\xf9\xab%\xcf1R\xe8\xe9t-j\xef\xa5.\x00\"Y\xe76\xbbV$:\\\x04\x10I\u02ack\xb1\xbc\xff\xfd@,\xf6\xb5X\xdf\xf6\xd8\xe6\x9bQ3\x19\x89&\xc4\\X\xcdW\xf1t\x0f\u065e\xd8\xee'}\x85@c\xca=\f\xb9\x86\xac\xdc\x03\xfd\x83\xfe\xaf\u01f8t\xa1\xa9\xb3p\f\xe2!=\x9f\xe5b\u02eb\xcckb\x910t\x98Hn\t\x88\xc6\xc76\xba|\xa7\x81[O\x8e\xbe\xe4m\a\xf6\xf6\xca\xfaJ\xee\x86r\xdd\r\xa5\x1a\x15\xd5<\xf3/\x94\x037\xb7\\\x0e\u0722m\xa7\xf7\xeb&-\xd9\a \x9a\xd4C]\xcaOj\xfe\x0e:\u038d\xe2\xe7\xb1\u00b9X\x7f\xb7\xb4\x85\xe3;XZl\\\xb8\x81~sU\x06\u01eb\x17W<\b1\"\x9b\xe6Xr\x85|\x13l9\x0f\u05b8W\xc1\xe6\xf0Z\xa8>\xd5t\xc7\u057e'\xc2U\x1e{\x18{\x13*\xadj\xa84{\xaeU\x11\xc5\xfcf<\xa1:s\xa2\xff\xf3\xe8 \xb3\xf8\xb2\xafna\xdb\xe5S\xc2Nu\x9e[r\xaa\xb3\x9e\xc2\xd3%\xcfB\xec\xf6s\xf7\xd3i\xec\xf7\x88\xd1\xe5Q\xe2\xe9\xe5-\x9aih\xdfQ\x9cF\x1f\x17y\xaa\x16\xe7\xcb5)5\x9e/\x1f\xe1\xe02\xc8\xd6\xc1\xd1\xde\x16\xb7\x80\xe2\xdc\xf1\b\xb3\x82\x18\xfb\x11\x11bt\xf6[\x8b7\xb9\x9c8\xcf\xdc$\xebC\xad\x9f_\x01Ds/\xf8Z\xb66>\xa6\x0e(\xf4\xee\xb9|\a\xff\xe8\xda\x03\x18\xa9\x98\x92\u0572\"\x94,\xa1d\t%K(YB\xc9\x12J\x96P\xb2\x84\x92\x15\x9f#E(\xd9*\xa4d\x1bt\xe7C\xc9*m\xc6S\xb2\u04a5\xa6\r\x97I\x1aH\xa5\xf1en\xfd\xf8\x03\xdc\u52c3\xcb\xf6\xec-\x00Ds\"\x8e\xfb\x83\x9ec\xb6\x89E\x1c\xdc\xf2\xac\x7f\x90\u2036\x06<\x11[\xe5@\xfb\"\x1f\xf0M\xe0\xf9\xbf\x83\xe7\xe1\x126\xea\x96`\xf7\x95\x81\xdd\x17e\xb3\xa8\xf9\xbcPs\xd4\x05\x06\x1f*x.\xba\u0745\x95\xa8\x7f\xc4\x7f\xee<\xaaH\x8a9\xd4M.g\xf1z\x00\xd1m\xa5[T\u00dd;\xe5\x00D\x87\xc0\xe0V\x8fo:\x98b\xf1\u0744A\x8dS\x82\x0eX\xafb$@\xa1N!o4\xa4\xd2}\xa3\x19\x89\xbbek\r\xc6r\xc6\xf2|\x97\x8d\xa3\xef',k\x11,\xd4X\xf4\xcag\x80u\x8cCSG\xf7\u9e56G\xebW\xbf\xac\xba\xdd\u321e3\x80\xe8ZF\x88V\xfe\u072b\xb14\x8e\x92\x85\x03X\"Y.Hq\x1bmA\xec>\xa1e+\u0374C\x9e\x935\u06af\x85l\xff\xb6E\xd3\x01D\xb7\x0e\xb5\x0fk\xdb\xcd\xeb9\x80\xe8\xe1\x88\xf5\xb1\xa7\x9e\x14\x15\u03cf\x99\xca\xcf\x1d\x95f\x19S\x06\xe7\t\xcb\xcb\x16\xc2nx\x96W\b\xfb\x85sa+\xd4~\x1dt5/\xba\xb0\xd7n+\xbdE\xcdXB\xf2\x7f\xd6O\x17\x81\xe7\xfc|{\xf8\u04c5\x9a\x17\xc3\x00D\xa3\xb6\x8c\u0536_\x9b\xe2\x0f \xf2X\xf6z\xca\xf8\xb61\xaa4\x80\xe3.\xfc\x80\x96\x8c\x9a\xb2\xf3\xa02\xd9yeD\x88\xff`\xa2\x04D\xcf\a+\xed\xea\xfc\u02b6)\x80\xa8G\x8b\xd5fwZ\xec\v\xab\x90\x1b\u0333Y\xe3=\xf3\xfa\xab}\xffU\xb0\x9d\xab\u056b\xc8!\x1b\xeb#]\xef0\xcc\xd6bb]\xceY\xfe\u0527\xc0d\xf3f[G\xecgk\xaf\xb0\xb4\xf1\u06e9\xff\n\xeb^\xa7\x85<\x9a\xbe\xc3\xeb\xe0RF\xe2\xb8\uaa93\x9f\xa4m\xb4\xa4\x93j$\xe7qK\x8d\xab]\x9fF\x1cm\nQ3i\xf9<\xb5C\t\xf5\xb1z\x1b\xb7\xca\\#1\xb0\xb1\"}\x17\x91\xfc\x89J\u039f\xa0\v0\x84\u02df\xc0gJ\xb4\x1f\xab\xf5qxk\x1d\x8f\xb2/\x8c\xbf\u0254(\xd5\x1b\x95\x7f\xa6D\xb1y9\xf6yT\xe7k\x87.\xe5\xfe\x0eLI\xb2\xc1\xefd\x83A\x06\xfb\x87\xcf\xeb\xda|0\x80h\xc8\xe6U\u01da<\xac\xd3\vP\xe8\xbd\u96d5^\xeb\x9e\x1a3Rq\xb2\x81\xc64\x92l@\x92\rH\xb2\x01I6 \xc9\x06$\u0640$\x1b\x90d\x03\xf19R$\u0660\n\x93\r\x94t\xf8$\x1b\xd4^\x89\a^%\xc3\x05J6\x90t\xe1\x87\xeeJ\xb2\fQ$\x94\xfb?I\xbd@96\u029dTKW\x02\x0f[\xc1\xec\xf7\xfd5\xe0G\xe0b\xed\xc5<\xe0\xc1\xc7I\x1a\x85S\xd6l^\f z\xf8\xa2\xed\xed\xf4\xa6\x13\x1bq\x8e\x94)\xdc\xe2\x9c3g!\x16\x9e[eh\xd4z\u0116\xec\xee\x8c\x04($\xff\xfd\x85\xf6\xdcIQ\xb2\x8c\xc4\xdd=2\x870\xecw\xe9\xc2\xdd2\xc9o\x11\x15:\x97\xadt\x91\xa9\xf7\xf9\xceH\x89c\u01ba\xf1<\xeam\x94\xf2\xe6\xde\xfb\xb8=g\x01D\xaa\xc9u'\x19\x8c\x9caB\xf3k31\xa1\xbdt\aBs\xd7t[Kh\xeeJ\xc9`*\x84\x0f\xf89B\xd0\a\xcf\x0e\x16\n\xcbr\x8b\xe7\xe4\xef?v\xe2\x93\xf6\xf9\x1d\x8d\x16v\x1c\xcb\xf3w\xc9FI\x1d\x144<\xe7\x00\x88\xe6l<9\xb6\xf3\xcd\xc4\t\xf4N\x9d%t\xe1\xf2ca\xf98\x1fa\xb50A\xe0_\xc0\"\xbe%\xde\u0763\xbf\xf2\xa4\x9b\u1bb3\x00D\xab\xcf]\x89\x1e\xd0J\u0288\xe7\xef\xeao\x1d/}i=\xf3t\x85\x1c\x1d\xb9\xf5\x85j\x11\x8f\v\xe3\x00D\x9e\xed\x1b\xf6m\x1a\xdbt\x15\xd68+\xc2\xf3\a_\a\xe88\x03\x88\xf4\xa2\x06y;<\x18\xaf\x8a\xfdl\xc7\xce\xfb\x06L7\x1b\x83#\xeb(t\xe6\x87Vj\xaa\xbe\xdd\\F\x02\x10\xa9\x9dy6\xf1\x9cs\xaf\xb6t\x90\xb0\x80\xf0k\x84_#\xfc\x1a\x0f\xbf6\xe2O\xdb\xc3\xfd\x92\xe2\x92]\xfe\xe6&\xf7Az\xdaw\xebk;\b\xcbV\x9ae\xab\xf7\x0eI\xd8hE\x84\x00\x88\xb4,tS\xad\xe0\x04}@!\xdfF;F\xaeM\xcc\vf\xa4b\x96\xadig\u00b2\x11\x96\x8d\xb0l\x84e#,\x1ba\xd9\b\xcbFX6\xf19R\x84e\xabB\x96\xad\xa1$\x1f\x96M\t?\x1f\xadP\xa6\xbb@,\x9b\xf4\x0f~\xe0\x92\xf4Q\xa1\xaa\xe48j~&8\xbe\xc0\xf5\xfd\x8a\x02\xb1/\x82kO\xc4T\x8d`\"\xb2\x88\xf0\x8f2\xd4a\xe3\x8cr\x81r\x17:\xd9\xfc0\\v7\x0e@\xb4\xf9\xea{\xe4\u1e3f\x90\xb6\x1b:\x95\xc9/\x16E\v\tG\xe1&7\x89F\xa1%t\xe5l\xe3\xe5\"\xab5\x14\xf0D\x87\xf6\xf9\xae\xdf\u05e7jH\x00\x88\n\xf2^\xac\xe9\xb8h\xcf\x06\x02\xb5\x97\aj\x97h\xccFk\x8aF\xa9\xe2\x8e\xc3\v\xaeT^\xa8\xe2\x9e\xf9!\xbd\xa0\x81\x01\xf9\x00\xa2\xf1\xdbL\xa7\xbbi\xc7\x16\xf7\xed;\xcf\x16\xfb\xae\x17\x9c\ae\xab\x9f\xf97\xc15\x11\x1d\x02=\xaf\xed\xf1\xf1\xfbW}\xe3\xf9=\xbdv{Wd\x85\xad\x96\a\x10)\xc9\xee\x0e<\x19\xfdn\x1e\x80\xe8\xfd\xb6m\u03fb\u028c\xb8\x85\x85\x8aM\x02/\xea\xd6\xd9\x7f*\x87\x91\x00\x85\x96\xdb\xcf\xed}\xb9\xf0\xfeiF\u2bbe\xbc\x1b\xae\xd2\x19\xda\xe0u\x8c\x1bQ\x88\xbd\xf6\xcao\x8a!\nP\xd9?q\xdf\xe5k\x91dO\u05cc=m\x15X\xd0\xf5\u0570\xb9\xff\xd1^\\<\x06\u0553Y\x83'\xd8\v\xa9\x96\x95\ua704\t\x93\xfdT%\xce\tD\x13\xcc\u7e2e\xf9\xf1t5\x80\xe8h\xf4\x9bH\x9f\xd4\x0e\xb6\xc4%)\x17\xfbO\x92\xa9h\xdf,\x8f_\x04%q\x02\x1f\xa6Qr\xe5M\xfd\xb1\xac\xe6\x11\u0082v\xbd\xd4V|\x1bD\xd7F\u00c5,\x9e.\x04,\x8al_^E\xfef\xfe\xa5\x84R\xa4\b\xfa\xe7\ng\x96q\x80\nD\xcd\x1d^\xed}o\xfap\x02\x8f\xaa\xd7\f\xbaf\xd1\x7f\xc8~\x1f\xce\t\xf6\u023e\xbax\x8d\xfbp\xee\x8b\n\x91\xe9'\f#'\xb2\x1c\x8fW\x1f\x9e\xdcl\xe6}\xa7\a\x80(\xb9c\xfe\xa4\xc3N6\xc3+\xe4\xe8\xbb\x19\x05M\xc8<\x17\xb6\x19@d\x1b\xb8L[c\u05d5E\u060b\xaf(\xa4nz\xcc\x0fI\b \xba\xb61\xc2j\x83\xe3\xa9\x06\xd8\xcf\xee)h\x93\xd0\xe5EV\x10\xd6%m\xbb\xcem\xf9\xb1\xc7\xe3\xf61\x12\x80\xa8\xbf\xa4\xa9\xf6!\u07ec(\ueb96\xfcZ\xa3\xb2\x178\x9bt\xa9\xe6\xf0\xdd3Vfka\xf5\xd6\xd3\xf6\xa1\xa3\xe6\x90\xf6f\xf4\xb9&\xd9\v\xd5!{\x01\xd7]\x1d\xa2[\x1ec\u055c\xda\xff'S\xb6Y\xf8\x9b\xec\x85b\xf7B\xcc\x1b\xa0ct=\xbc\x9f\xaci\xa3);\x16\xd1\u06db\xa4N\x94H\x9dh\x15\xeamjuY\xda\f@$Q7\xfb\xeb\xb9m\x85\u0440B\xe9\xad\xeau\xb5\u0272\xa8\xc7H\u0169\x13M\xea\x92\xd4\t\x92:AR'H\xea\x04I\x9d \xa9\x13$u\x82\xa4N\x88\u03d1\"\xa9\x13U\x98:Q\xff\x15\x9f\xd4\tE\x0f<\x94$=\x87oND\x132\xa0\xfa\xaf\xe9\x021\x89\xcf\u0200j\x11\xe5&\u0212\xdc\x04\xd1\xe7&\x04\xb3\x05\x97\xf3\x05\x87\xba\tc[\xee\xed^\xa7\x95\xaa[\xa2e\x90\x0f\xcf\xef\x1d3\xec\xd2\xf8\xa2YF=\xce\xcb\xfb\u0669\x8d<\xf9c8\x80\xc8i\u0279\u0408-\x8b\xa2\xb1\x90\xef\x94&\u03aa\x8d\x8c\x17\xf81\x12wIeK\xa1\xb9ef\xeb\xc9\xe2j\xd0\va3!\xb4^\xee\xa9\xddd\x7fV\xa3\xfd9h\x9c\xd7\xfa\xfe\xdbW\x14W\xe6\xf7\xc0\x80]R?\xc9lr2\x9b\x9c\xe4\a\x88:?\x00\x06\xf0\x8b&\xa0)\xd6\xfa\u0560\xe1\xe1\xa4\x06\xbf\xb2j\xf0\x1b\xf8\x98}\xea\xd7N\xfb\a\xd6\xda>\xf7*,|\xee\xa1\x1e\f 2\x19#Uk\xaa\xe1\xfbT\xecgG\x19\xfb^h\xa2\xb95\x00\xeb\xd2\\?\xfdJb\xd5\xf35\xb3\x18\tP(\xb3\x8e\u07f8.\xb5\xdb}e$\x00Q\x1f\xfb\xee\t\x8d\u059c\xa8O\xdf7]\t\xb5M\xa8mBm\xf3P\u06dckS\x9a\xbe-\xe8\xaf\x19\xe1`=\xd7\xd5|\x8e\xad\xcb\x02\x16\x0e\xb6\x01\xa5\xccK\x85\x0f\xe5\xfc\x8fX]\bT\u064c=3&|\x9d\xd9\xdd\xd9}\xb2\u058f!\xc4xib\xbc\xa7\xebT\x9f\x85\x81R\x8d\x01D\x19\xa3C\u03c7\xa9\xde\t\x01\x14:w\xee3h\xf1\xdd\xee\t#\x15\x13\xe3\x8dU\b1N\x88qB\x8c\x13b\x9c\x10\xe3\x84\x18'\xc48!\xc6\xc5\xe7H\x11b\xbc\n\x89q\xe5t~\xc4\xf8\x1a<1.\x95#\x10K!u\x92\x1f\xe2%e#T\xed\x01\xe9\xe7\xfd\xaf\xa2\xc8\x12]\t\xb9,zr9\x89-@\xdb_\u07a1\xd8l\r\xc0\xffMHKDG\u384b\u0649\x17\x9eFY<\xbf\u05f9\x9b\xb4\xa3\xed\xf2\xb6;\x01D\xfd\x9c^\x9f\xb6\xb8\x99:\x0f@\xf41\xcb4c\xeeV\t\\\x8bP\n=\x1a\x1a\xf9\xa6\xf0N-KF\x02\x14\xfa\xbc\xf8\xf4\xa9\xbd\x17\xd4?0\x12\x1d\xee\xcf\xc6\x0e\xfe\xfe\xc47\x17I\xa4e\xe9l\xdd\xcf\xc9\xde*\xc7\xde\xf2^\xae3\u0320\xabqC\x9e\xdf\x1b04\x7f\xe7u\x8b\x81\xfd\x01D\x83\x8dL\xe3(\xdbX\x1a;\x92\xe9\x88\x01\x86\xa4\xf3H\xdf\xf7\x9a~'\x13f\xb7\xb8\U000bb01f\x9f+\x11S6\xf6.\xe4\xcc\a\xec\xd8f\u0478\xaa\x9d\xd7\a\x99N\xc9z1\x82^^\x92\xbdS5\xd9;\xbf\x94\xbfX\xf0\xbb\xb0l\x9a\u00a2\xfaq\xe7\x10@\xb4\xd6rJc\xb3)]\xed\x00D{\x155:D\u025eO\xe1\xd1X\xfe\u078b\x06`\x93|@\x85\x98\x00\xedF\u7eddYP\xef0\x80(\xfc\xce\x7f\xf7$\f\x97|\xc0^2c\xef\xa4Yj\xfe\xf7_4\x80\xe8v\a\x87\x1f\x87g\x16\xe1gI\xef\xcdZ\x90\xea\x02}fc\xbd\xb0V\a}\x95\xe5@/\x8a\x918_\xbbR^U\xde\u0118\xbe\xa5$\xdbs\t\xef2h\xf2o,4y,\x97\\\x17;\x9a\xbcl\xbe\x8cc[\xd7\xee\xdf2\xa0qtx\xd9\v\xc6\u0466\xfe\x8e\xe4-c\xb7\xbbl%\xe4y\u0550\xe7z\xdc/\x13\xb6\xab=D\xad\xa7\x06\xbd\x9fb\xd1~\xb4(ir\xc2\x0e\x97`\x87\x03\x8bl\xafg\xbc8U\x04 \xaa\x174\xfff\xe8\xe3\v\xf9\x80B[\x1c\x8fL\xac\xaf\xa4\x12\xceH\xc5\xec\xb0z\x11\x7fv\xf8\f\x7fvx%&\b\x90\xbd\xcb\xc2\x0e\x97F\xf9\t;\\\xb1\xecp\xd5\u043f\x93\xfa\xaaup\xce}\xa5\xc4H\x84\xe9%L\xaf\x18\xd3R\x84\xe9%L/az\t\xd3K!\xed\xd1):cF\xcb7e$\xb1cz-\xa5\x7f\x9e\xd0\xf6<\xf3\x03P\xc8>3\xd0X\xbb\xf1\xa6\x19\x8c\xc4\u075bJR|\x98\xde\xdajx\xa6WR\x95/\xb4u\xbd\xe6\x0e_\x16\r\xc0)\xd6\xc00&T\xfb\xb6\xcf<\xa5\xf9\xd67\xddiE\xa4\xb0\xb1\xaf\x04\x06\xe6>:\xae\xde_\xb8\u0458\u05a2\xda\xcb\xef\xbe>\u0629\xe0\xbd+\x9a'z\xbe\xd8uSB\u06a1C\xbf*\x03o\xfe7&+`}\x13\x00\x91\xf4\u06ee\xa1\x13\x9f\x14\x86a\xf1\xa9\x11\xafS\x94BZ\xb9\xf5c$\x9a\xff\xb9/P\"\x88\xccv,o\xd8JX\xb8\xb1(\x93e\xbb\x95\xb27\x15Y\xfc*\x825\xda\xfbZ\xcb`\x8c\xd1\xd5z\f\x9b6\xf1\xdbeS\xfc\x90\xe4\x88\xf8\x97\xaf\xa7\xac\xd9\xd9\x01{\x89\x9f\u02dd\x97\xb5gl\xac\a#\x01\n\xf5wp7\xf3\xd94i\"#\x01\x88\x9e\xd5\u07d9\x9e\xb3R\x9aN\x13\x93\x8c\xa1\u4a32\x99\xa7\xeb,\xcc\xd3Fn\xfeX\x952O\x10\xf9\xd9j/16\x18\x80sm \xeas\"\\\u5c47\xb17a\x93\xaa\x86M\xb2\xe7\xda\x17\u0454b\xe2\x0e\xf4\u0309\xfe\u03e3\x83\xcc\xe2\x7f\xfd\xe2\xa0?\xc3\xf7\xdf5\x88Xv\x9a\xaeL\xd4Sx\xba\xe4Y\x88\xdd~!\t,{\x1e\x05\xa7\xbb\u07c8\x1d\xeb\xbbOW\xf8gq*\xf9,\xb9F\x86\xaa\x12\x86\xfa\x1d\t\x0fV\x9a\a\x1b\xb5(\xfeqA\xd2\xf6\xe7\x00\xa2\xba\u03f3O&\xefR\xf2\x06\x14\x92\\89\xe6G\x0f\x9d,F\xfa\xdd>x\r\xe1\xc1\b\x0fFx0\u0083\x11\u041e\xf0`\x84\a#<\x18\xe1\xc1j\x1c\x0f\xa6\xb2\x89\x0f\x0fV7\x93\x85\a\xbb\xcf\x0f\xaa\x91\xf4\x14\x1c\xbf\xb0\xac\x11\xec\x18)\x9b\xc0\xe4)\xb2\x97M\xc0\xb1ld\x1a\x81^+\x03z-\xddN\xaf\x84\x9a\x85(\xc8\xc0\x16>\x8a\xe6\xc0\xf9\uf391j\xd2\xdf*\x9e\xe7\xf5\xae\f\xbb\u0667\xdf\xd7\xd7C\x00DC\x9a'\xe6\xf7{*U\x00 r\xf0}\xb9\xeb\xe8D+|\x8a\xf9\xce\xc4P\x9d+\x87\x1a\x860\x12w\xc7\xd5\xca\x10\x88\u00ab\x15\x86\xa5\xf0:\xf1]\x1c>\xbd\u014bn\t\xa5qq%\xf3\x1e\x9a\xdf}0\xef>\x90\xe1Y-\xd5\x11\x03\x9b\xc8\xd4?\x94\x02 :u`R\xf8\xb7\xc4gg\xb8j\x93\xef\x84A\v\xe4\xbe\xfe\x1bd\x1eI\xae &\xff\xefM>\xe49e\xa3\xfdZ\xc8\xf6o[4\x1d@t\xebP\xfb\xb0\xb6\u077c\x9es\x0e\xe4\x88\xf5\xb1\xa7\x9e\x14\xa9\xd1\xec\xf9V~.\x9c\xf4\x18,\xdb&T5\x9c\xa5\b\xa9\x02\\\xc9\x1fDs\"\x8e\xfb\x83\x9ec\xb6\x89\x05U\xd0\xf2\xac\x7f\x90\u2036\x06\xa2\xb2\xa5\u02ccc\u03e8\x19\u059aJ+?\xa9\xbc5\x92\xb4\x8bO-\u00ee\x890\xd7>\x16\x1e\x17\xd1hp\xff%}\x93|\xcf\xd5\xe6>\xd7%\xd1\u0333\xad\x02\x97+\xb7K\xe2\x93\\\x8fnf\x00\xa2/'\x87e:u\xb9\xfb\b@4\xfd\x87\x99_|\xfc\x98\x86\xb47\x8c\xc3\u01b1/R\b\xf5\xf0q\x1ae\u0182\xa4\x90\x03\xf9\xf7\a\xf2\xf9\xf6\xf0\xa7\v5/\x86q5\x19%T\xac+\xf0\tr\x10=\x83\x0fQ\x87\xe7\x97\u01f9\xdc\x1d\xf0\n@dq\xdc\xf7\xd3\xc6.7\xf7T\xc8\xc5\xf7\xa9o\x8f\xe0C\u03f4\xee\x01\x88Rg\u9b9d\xb2\xb4\xbb\x1e\xd6\xcd\xda\xf9\xe9\xc1\xfa\xb6\x91\rN\x01\x88\x82;\xadi\u07a2\xb0`\x0f\xf6\xb3\xb0\xdbc\x8b\x95K\xb6\f\xc2z\xf6s\xe2\x1b[\x0e\xb1\x9f\x1c\xcbH\x80B\xa9{7\xbc\xed\x1f\xb4z\x06#q\x9c\xd1\xdb\xdf\x02\x06v\xea9\x97F,\xe6\u0568\xc6\xcb\x1c\xcf\xeaM\x06H\x1f\xdf'{\x15V\x99\xf1?\xa9\xc1>\xfa^\u0444\xed\xaf\xf6\x8d\x979\xc7<\xab\x7f\xaf\xa4e2\xa9\x12\xbf\xbe{\xb0\xf0\xbc~\xb1\xa1;\xf6yT\xe7k\x87.\u528e\xd8'\x8c<\x0f#_\xfb\xc5\x1c\xd31\xfe>\xdd\x01D2\xe6#\xea\xc6M\xb8\xfe\x03P(\xaa\xcb\xc6\xfasW\xf7_\xc5H\u014c\xbc\xe6M\xc2\xc8\x13F\x9e0\xf2\x84\x91'\xf4!a\xe4\t#O\x18y\xc2\xc8\xd78F\xbe\xde}>\x8c|\x9d\xd6,\x8c\xfct\xbe\x8c\xbcR\u036dL%\xdc\xfb_q\xef\xd4g6\xee\x9d\x14\xb2\xd6$r\xdc^S9\xb1^\xf4\x82t\x00\x91K\xde\xd4\u06067~\xbc\xc2Bh\xc3F\xca\xd5\u057a\xdaU\x91\x91\xe8\x00r\xa7@\xe4\xb8\xdc\fB\x8e\x8b\x94\x1c\x97I\xc3\x04\xee2!\x84\x1c\xaf!\xf6\x9d\x90\xe3\xe2\x93\x0fU(\xa9\xcf\u05db\x92\xa8\x86-l\xa7\v\xbe\xe0\xc5\f\xb1V\xb5c\x88+\xa3B\x17\xa2\xdc!S\xf7\xbf>\xb7\xe62\x80hIb^\xaaF\xb6Y\"\xad\xb1\x17B3\xb8\xc5 j\x19J\x16\xa2S\x86\xc86\xcd\x11\xcf-\x9b<\x14v\xf8sW9\xb8\xbc\xab\\\xc1#eG&\xf8\xacm\x1c\xf0\xe0\x02\u01d8\xd6=\xdbor\x9d\xf7'*\xc4V\xddn\xfa\xd8\xd1B\xe3\xceA\x8e\xad\xb8\xfdABj\x8b\x89$\xf6f\xfc\xf0\xbe\x93f\xe4\xad\xf1\x9f\x00D\xce^:\u01dcw~\xf7\xc5~\xd6uO\u285d\xf1\t\x03\xb0\xceXOm\xed\xae\xe6A9\xef\x18\x89\x13c\x1e\u07a1pn\xe0\x01uF\xe2\xf8uYZn\xab\xf5\xd6]\xa6-\xd4\x02\xc2g\x12>\xb3\xe6\xf0\x99#\xfe\xb4 \\\x1e\xb2\xb8\x04\x98\xbf\xd1\xc8}\x90\x9e\xf6\xdd\xfa\xda\x0e\xc2jV\x10\xaby\xe3\xba\xf2\x98\xd3&[j\x03\x88tm\"\xe2\xee\x8d7\xdc\x04(\xb4Caq\xf4\xf4G\uef8c\xf4\x9b\xd5t\xe7\xcfj\x92i\xac5\x85\xd5$\xd3X\t\x13J\x98P!~\x970\xa1\x84\t%L(aB\xff\xbdi\xac\xf5F\xf2aB\x15\x0e\xb00\xa1\xa1|\xb1\xbbi5\x97\t%H9}w8\x10j\x93/\xb5YH\xf5c\x8b\x82j\t\xb5\xdfK\x90s\x82\x8f\xd7\xf2\x16\x16\x91\x16q5D\xde\xd0\xe0\xb7\xd7\x16\xc7y\xf1\x9c\xae\xc6K\r\xa2\xeb\x0f]\xec\t ju\xff\u04a6\x85\xfbr\xbe\xf0`\x00\xba\xef\n\xe2\x8cMf\xbf\x01\x10\rI2\xf6\xff\xe9:^\x06@tr\xe1g\xe9z\x1d~\xb6\xc3\x02yzV\x8eS\x9e\xd8~\xbf\xcbH\\=\xcb^\xc7\u04a5}\x85U\x8f \xd4iMY\x9d\x92K\xf2\xfd\u0549\x91\xad\xe6_\x9c\x0f \xba\xb1g\xc6\xe0\xd6n=i\x83(3\x14G\x9d\u05aaF#9I\xa7\u07f2\xe2\x12\xd2\u9dda\u04ab\x12\xab\xf8\xb9h\x12\xf8\xa2\u01a2=\xe5%\xf8,+\xc2V\x19\x99G\xef\xaa?\xfcy\f\xed~\xccgs?\n\xf0\xdek\xe9T6\xfc\xdb\xcd\xfd\xa7Y\x8c\xcb\xc7\xdbx\xf8<}\xa0\"\xa2MQ\x01\xed\x92!\x9a\xd2\xd5\xea\xd0\xdb\u0318\x9d\x00\xa2\xcf:\a%~\x9e{\x19T!'\xfdQ\x8f \xcd\x04\xb9\x0f\xa9\x00\xa2\x17\x8f\xfcB\xf3\x93\xb6m\xc4\xde=M\xecS\a\r\x9f5_\x17@t;R\xb9\xb3d\x93\x1cY\xecg\xb74\x1c\xe6\xd3r\xd2\xce\xfb\xb8'\xfb\x9e\x92\xd6k\xdb$\xf7\x8e\xbf\x05\x00\xd1\xf1\x9e\x05f\xaf\xf4\x9fF\u04b1\x96K\x8db!9ws3i\xf9<\xb5C\t\xb8!\xf2\x10\x8d[e\xae\x91\x18\xd8X\x91\xb0\x90\u0548\x85\u011f\xe7\xf6c\xb5>\x0eo\xad\xe3\xf1\xeb\xbbE\xd4-\x994:\xae\b\x02r\xda\"\xb9\x15\xaff\xbd\xe0\xa8i\u0729\xfb\x9e\x8b\xc74\t\x05\x14j\xf5c\xa0\xe2}soSF*& \xb5\x1e\x13\x02\x92\x10\x90\x84\x80$\x04$! \t\x01I\bHB@\x8a\u03d1\"\x04d\x15\x12\x90\rB\xf9\x10\x90\xf5F\xe0!\x1c)+~\xe8\x96TC\xc1\x1bFY\xd5\bZ\x92\x14h\x96\x15\xd2\xf1o\x8e\x9c\xc6\x06#\x12\xb4\xbaR\xd0j\u0284-RkZ\xde\xfa\x88\x9aJ\x9d\x0e{f\t\xb5;G\x19\xf2\xe8;\xe7\x80\xc3=\xd0R\xcd\x02@\xa4\x1dq\xf1\xfa\xa1\xe5F\x17\x00DW\x15\x1cV\xf6\x1f3\xdf\x15K\x9d\xae\xbf3\xbcc\x8c\xf7\x89\xa3\x8c\xc4\xd5~\xedSX\xea\u0511\xef6\x10)\x01nQCW\xb1_\xcb^G.\x7fX\x7f\x9eg\x15\xfb\x86\x0f\xd8\x1b\\7\xf9\x1e\x80\xc8\xf2d\xb3O\x8e\x13\xba\xeas5&_\x80\x81B\xe4/U#\xb6\x95\xe4\u0410\v\xe6\xef/\x18\xe1[1\xcb\x04\xf0s\x18eL\xf1\xee&\\*\xb8b-\xe9\x7f!-cI\xcbX\xc1\uf232Z\xc6B\x142\b\x1e\xeep`p{\x9a\xe7\ve\xf1T%;\x89\xa6\x93\xb8\x15\u0645\xe5\u0745\x81Go\xd4[x\xf5\x964\xad\xfc\xb3B\x05\xa2\xd8\rW\xe9>\xfa\xbfL\x9c\xc6]\x18~\xd0CS\x9dK$\x16%r\xe7\n\x8b\u0690\xb0\xad\xb6\x88\xcdK\xfc\xb3q=&k|\xb9\x01 \xaaot\xa9\x99\u0508\x1d\x86\x15r\xff\x8f<\u077f\u00fb\x0f\xa39^\xeb\x8e+\x89\x8d\x9d\x9f/\x19\x81u\x19\xbbR\xd1\x12\x0f\xe2l\xa38!\x8b\xdd\x04\x95NyE\xd2\xd8\xcf\x06\xa8\xedt\ro\xfe\xce\b\x1b\xbd\x14=\x06\xd7\xdf5\xb5\xa9\xcfH\x00\xa2\xef\xf3\xdb\u0739\xde\xc1\u00c4\xb6\x90\x1d\xb9\t\x0fe\xa4I|cI\x93\x88\xe5&W\x88a\x9a\x04\xce\xc3\xfc\u8e2f\xfb\x7fw\x1e\xd6\xc6jsx\x83\x1bv\a\x0f\x1e^K\x1b(\x92j\x14\xd1\"{\xf9\xc5F\xb3\x00Do\x16X7\\\xf9>\xfad\x85\u0629\xc2q\xd3\x7f.\xeb5^\x05@\xb4\xdb\xf6\x99\xbf\xe2\xfb\xd6\xf8[TQ3\xcb\xc8^\xf6\xe0e\x00\xd1\u07867e\f&\xf5\xb4\xc1\x13N\x8f\xa2\xe6l\xde`\xf6\t\xeb?>wm\x9e\x91y u\x17#\x01\nI}\xadc`]\u03e4##\x01\x88d\xd3&\xc7w\f\x95\xa2'\\I\xbe\xafQ\xcd\x00HK\xf2j\xc0gWdKr\x115\x03(.\xee)\xe3{\xc4\xe8^)\xf1\xf4\xf2\x16\xcd4\xb4\xef(N#\x14}i\x8a\xfe\xa3\u0684VQ\u03bd[\x03\x88\x1c\xbe>h\x1e\xebt\x05\x00\n-5\xb2\xef7/\xe9V\x14#\xfd\xeeA\xb0\x96P\xf4\x84\xa2'\x14=\xa1\xe8\tEO(zB\xd1\x13\x8a^|\x8e\x14\xa1\u8af2\a\xc1T>\x14\xbd\x92;\x9e\xa2\x97^\xc0\x0f)\x94\xee\xc0\x82\xe9?\x13\x96\xa2/\n\xc4>\v.\x1ca\xca\xe50a\\D\xf8G\x19\xea\xb0qF\xb9\xb0\xd4\v\x9dl~\x18.\xbb\x1b\a \xda|\xf5=\xf2p\xdc_H\x1f}\x9dJ%\xf5\xa3\x85\f\xe2\xe6\xe2-\xac\b\x14ZBW\xce6^.\xb2ZC\x01O\xd0g\x9f\xef\xfa}}\xaa\x86\x04\x80\xa8 \xef\u015a\x8e\x8b\xf6l\xa0\xb5F\x92\x00\xfe.\t \x92\r\x84\x15\x8dR\u015d>\x11\\\xa9\xbc\x05\x01\xf7\xcc\x0f\xe9\x05\r\f\xc8\a\x10\x8d\xdff:\xddM;\u059b\xd6[\xc56f\xb0\xaa\xa1\xa4p@b\xaf\xfb#$\xf5:\xf0\x98\x81\xcf\xfds|\xb3\x8eP\x03\x01Da\xb1'\xa1Cg\x1f)\x00Q\xe0X\xef\xa2F[\xdedc\x91`\x9fa\x13\xcd\f\u03cc\xda\xceH\\\xed\xcb\xdf\x15,\x93\xc0\x17\x9bI\xf0\x13\x7f`J\xe1\x96\xfcn\xa7\xf2[L\x88\x02T\xf6O\xdcw\xf9Z$\xd9z\x15\xb8\xf543\xc2\x1f\xbei%\xc5EW\ve\r1\xa0\x96l=\xbc\xefRH\xb5\xac\u050b=L\u020c\x84\u02bf\xd8!\x9a`>\xc7u\u034f\xa7\xab\x01DG\xa3\xdfD\xfa\xa4v\xb0\xa5uE2\x18D\xaa\b\xb1\xbe\x821\u01d77\x0fO2\x8c_\xe0 i\x8b\x0f;(9\x11\xe5\x18T[wyA\xbb^j+\xbe\rR\xa5\x91\x9d\xcel9\t\xa7Y\x149TDI\t\xb9\xc2^!\xa5\xb2\xb3\xf9]!U\x90\x15\xe3\xb5P}\xaa\u93ab}y\x16A\xe6A\xb3\tFI\xd9\xcd\x01D\xc3\xfb\xec\xf5h\x97\x13\x92(\xbc.\xd9\x06\u054b\x95.E6\x01\xc5^*}\u0598\x8e\xcb\xd7\xf1\xe8\xd2\xc16\xb4h\x93\xbe\xcb\b\x00Q\xe7;J=\xfa\xe9\xb6]\xc4Y\x81\x17}o~~\xe4h]!&\xeb\x8e\x05\xfc\xfc\xd6\xe0],\x80H2\xe3\xa3j\x94\xb7\xb9\f\xf6\x06>\xa7\xfd\xcc?b\xf0\x93\xce\x00\xa2\x0e\xbenS\xa7\xa7\xdd\xea\x8e\xfd\xacw\u07c7\xab\xef736\xc1\xba\xb0\x19{\u0762\xde-\xf0Ma$@\xa1^\x8b\xb6n\xfe6\xbc\xa54#\x01\x88t\xa67\\\xf4\xd4\xc5\xef$m\aO\u0528\x92}\xbc\x7fg\x94\xd4\xc6x\xc0\x80\xf5\x19X\x15\xf7\x1b\xe1en\xbd\xe1wO\x11\x92\xe2P\x1dJ\xf6\xed9g{^\xed\x8f\x12\x01#\xaf\xf0\xb89b\x9e\x85\x80Q\xc8\xf0~\xb2\xa6\x8d\xa6\xecXD\xefA\x92\x92P\"%\xc1}\xc6zt\xc9\xffk]\x8e\t\xbf\xd2\xcf\xcc\xf9\xd6\xe9\x19\x80B\x94\u057c\xf6\a\xa7~\xc8`\xa4\xdfs\xd9\xf7\xf0OI8\xc3?%a%.z\xbb\u02d2\x92P\x9aZ\")\t\xa2\xa1\x96p)\tU\x93s0\xa9\xafZ\a\xe7\xdcWJ\x8cT\x89\\(I/ \xe9\x05$\xbd@\xa4G\x8a\xa4\x17\x90\xf4\x82\x7f$\xbd@{t\x8a\u0398\xd1\xf2M\x19\x89\a|\x17\x87\xf4\x02K\xe9\x9f'\xb4=\xcf\xfc\x00\x14\xb2\xcf\f4\xd6n\xbci\x06#q\xf7f\xbd\x83|\xd2\v\xea\xe8\xe3\xe1)\xc9\x03|Q\xc2\t5w\xc6:\xe1\xc0\xff\x8e\x03\xefI8pQs\xe0EOX\xd4\x16,xsW,\x18\x8f\x8d\x8eDp\xac\xa6]\xbb\xe4\xe9x\xecxk\x9e\xf0\xdf`\xe6\xe5\xf6\xcdC\u05b5\x06\x10yh\x1a4k85U\x19@\x94e\xe0\xb2=+rk\x00\x16\xc5Kvt\xb4\x0f\xe8)\x9d\xc2Ht\x14\xea*\x10\x11-\xd7\vKD\x0f\u32f1\xfe\xfa\x98\n\xcbB\xbc\x16\xc1BTH\x05\xbd\b\x16\xf1Ah\x96\xcd\xc8u.\x96<\x8b\xa8}\xcf'\xb8\x93\xccO\x17\x00\xd1d\xcfE\xe3\xfbk>\xe6vS.\x94\t\u0080\x022sX\xd2\xd1\x12*\xf3\xbe\x10\x9c\x12\xc7\xc17\x10y\x86G\x16d\xca\xf7\xf1\xe1lb_\x15\xe9)\xa6~\x80\x10\xae\x84p-\x93p\xb5\xe1\xebJ\xb5d\u97ae\xcf\x12*%T\"\xd0.Z4\x1d\"\xfd\xa5{\xb69)\u061e\xff\xf5\xe5\x13\x84\xc1\x9e\xd9\x00\xe6_\xc6K\u02e4\u064a\v\xb2\xab\x87s~e\xba\xea\xdb5{\x8f4\xa4\x95Y\xaa\x1c\x8a\x1f_W\xf4\t\xabbK\x11\x90\x8e\x98\x93t\xc0{\xda\u0634\xa9\xd7;\t\xfb;X\xa2\x18\xb3Q7\xda\xecu\u058a\xa3\x9c\x01DzQj\xd4\x0f\xbd\xad\xe1\x00\xa2n'\xa57\xcaL\x1cq\x93\xd6\xd9b\xc1\xef6\xd6\\\xa7\xc7\u0092\xab>\xc2.\x96\xe0\xbb\b\x8b\xb5\xff\xce\x19\x80h\xad\xe5\x94\xc6fS\xba\xda\x01\x88\xf6*jt\x88\x92=\x9f\u00b3\xcb\xf2\xf7^4\x00\x9b\xe4\x03*\xc4\u072cJ\xc9\xce\xc95\xca\xf0\x02\x10\xfd\xa7\xe4\xf8\xad]\xa6\x17\x8e\u07c4H]/h\xef\x94\xe51\xae\x00\xa2-\x97\x9e\x15ti\xf8 \a\xfb\xd9=\xdbV\x1e?\xd0\xc8\xf6\x03\xd6\xcd\xf2\xfd\xaeil\xd1i\xdaqF\x02\x14\x8au\xeaq\xa9^\xd7=\xd3\x18\t@\xa4\xdc\xed\xbfIC\x14m?\xd36\xac=!K\tYZs\xc8\xd2R\x8e\xb3\xa1\xf5<>\x8e\xf3\xaf\xb7Mw\xbf\x11;\xd6w\x9f.\xa1)K\u04d4u-\xf2?\xab\xbf\xbfT\x00 R\xf2\xeara\x90\u6741\x80BA'\xa7@\xc7x\xf3^\x8cTLS6\xb0\xe7OS*\xf3\xa5)e\x93q4e[R9-F4e\xf5\xaf\x9c\x86\xcf\t\xb5I\xa8M1\xe4a\x04\xa66\x19\xcc\f\xcd\xea\u0765\xfd\xe5~-e\x19\xa9\x1279!\x1b\t\xd9Xadc\x89M\x9e\xd4S:\xff\x87\u04ee\xba\t\xd1\u0791\xc9m\xe2\x97{*p\xccCP\x9c^\x17\xef\xf1K\x01\x85\x02\xe2:\xfcg\xa4'\xe1\xc2H\xc5\xd0\\}i\xbe\u041c\xac\x14_hN\xe6&\xc6>\xcah\xb0\xf5\xad\xa9\xeeq\x90\xc8\u0429S\x9f\x1b\xe4\xda)XH1\x12\x01\xa2\b\x10%\xc61\xbaH\x81\xa8W\x04\x88\"@\x94\x18nr\x81\x81\xa8\xb1E\x01r\x9cM\xce\xe5\xe3\xd0\xfc'\x1a\a\xadPz3F\x02\x14\x1a7\xb8/\xb4tW\vd$\xb1\x03\xa3\u6fb7\xdc\xf0.r\xed:@!\u0643w\xe2\xae\xfbv\x19\xc8H\xdc\x1dS\xeb\x12?0\xca\x14\x0fF\xc1o\x98H\x16\u05c9\x98\xa7]@)\"\x14\x1f@X\xf08`\xde\xc7\f\xfa\xbd\x9a\xd2k(\x80h]\xbd\x94\x9d\u0752\xfa_\xa2\x9f\xa7/.\x13\xa6T\xa1\xb5\x00\x8dX\xb0\xcbU\xc5\xd9,\xd7\x17e8\x98t\x19\xb2\x8b>\xf2\x9a,Q\xe0{\xee\xc6b\x9e\xd4d\xae\xb3KM\n\x10!J\xf1\t\x19\x9e\xf7\xb57o\xff\x8c\xe5\xd7\xd4_f:\xf8\xd5\xe1h+1\xe8\x85A\u00f9\x86\xd8\xf0\xc6% \xe4G\u033c\r\xffac\u014d\x1d\xed\r\x17y/n\xcbH\\\xcdK\xe2\xfaZ\xff\x01\xf7|\xc5\x1c\x12\\\xf0\x82\xf5\xe8Dq`\xe67\xb5|\xfc\xb2\xdb+\xba\xf6NB\aw`\xbe\xd4\xd8\x03\x03\x15\xd9\xf2\ap\xf9\x925\b\x16\xfd\xd7\f\x03D\xd7g\xce\xcfP\xfd\xb2\u0490g\xaf\x1c\x92I\xd9\xf1\xf9\xe3\x905\x00\xa2ej\xa9\xbb\xb5g\x9a\x0e\xc2\u0688\xfd\xdd$.E_\xb8\xdd\x15k#\\\x12\x9bz\x02\xf7>N\x8c\x04(t\xb8\xee\xd1\xe8E\x8e\xc7\xf4\x19\t@\xf4\xa3}\u07e7\xef\u054e?\xa2mHOl\xb6\\\x14\x1eOr\xe7\xb6\x1b\xa8$8\t\xa2\x8f0\xf8\xfc\xf4\xa9\x89\xb7\xb0\xfai\xd5C\xab\xf32\x037\x1d\x02\x11\t\f\x11\x15Rtv\xee\x9fYk484\u03d8\u0553\xc2\xda\xceR\x89a\xf4\xe1b\xd2\xcbJ<\xe7\u029c\xda=\xdd\ucbde\a\x10\xe5vY\xb7:5hq\xbc\xb0\xbf\xeaP\xae_U\x97\x8bN\xb8\xd1\xca\xcf\x06@\xf4\xa8Q\xbdm\xadF\x9cz\xc8\xdd\"\xd7\xff\xecS\xc1\xad-/\x1e\xbfMU\x83n\u071ey\x9e\xd6_'\xd6\xe3\xe6\xe8\x0f\xfd\xd3\xcd\xe6\x9b[H\xff\x94$\x80\xe8K\xc8\x11\xdb\x03\x87\x159\n\x9b\xf4\xfe\x98\x9c\x8aN\xd4Z\x00\xd1\"\xebd\xf7\x9e*C\xf4\x01\x85\xb6\x86,\u07f5\xe3n\xbbw\x8c\xf4;S\u03ca/\x1c(}\x9a/\x1c(\xbd\f\xe3'H\xddb\xe9pxT\u0302Qf3\"\u01e86\x1a\xb6\xc7\x066a$\xda9pd\x83.\xba\x88!>\xb7\xb6f\xe0s\xe2\xbaY$\x01\x85\xfc\x83O,\x1e\xf3\xc14\x80\x91\x00\x85^o\xec\xe3\x97l\xe4t\x8e\x91\x00\x85\xac\xdc4\xe6\xe8\xbe\xd8x\x98\x91x\x00\xb3\x02\xa5O\u02af'g\xa63\x12\xbd\xb1\xe6U\u00ae\x13)`VI\xbb\xae\xa2\x01\xb3j\xb7\xeb\xa4PJ\xe2`\x15\xfb\x9d\x8c\x04(\x14 \xb5\xb7\xdd\u01eb\xdf\v\x18\xa9\x14\x82\x15\x1a\xd3Q3em\xe47F\x02\x14\x1ar\xfeJ\xa7i\x1e\xc3S\x19I\xec\x10\xacX\xad,\xadsM\x92M\x01\x85\x0ei\xd9IoX\x117\x9a\x91\xb8{\xb1\xb6=\x1f\x04K\xbe\u03df\a\xc8\xd4\xd6\u0146>\\\x17\xff\xfc\x9b!\x93\x8d1\x9c\xfb7\xc677\xb1.\xdb\xcb.\x0e\x1ek\xff\xf6{\xe9\x7f0r\xb5\xb7v6wq\xa4\xe1\x18\x9a\"\xaeG)\xf2\xfc\xfbX\x17\xccf\xe4?\xbf\xab\xec\u06e5\x84\xeb\xf2\x9f~\x93\x8b\x8e\x99n\xabE\x06 \xdc\x1b\xff\xee\xb2\xc9\u0330\xba<}\xc0\x86yf^\xf6he\xaa\n \xb2\xf7\x1f\xf5\xe1\xd4\xd0\xc4>\x00\xa2\xcd\xeb\u06c4N\x1f\u04ddnBJ\x8d\x14T\x9d\xc5lb\x9d?\xfd\x92!\xd6\x0e\x8e\xf6\xb6\x0e\xff\x96B\xeb\xaf\u0211\x94\xb9>/\x0f@\xf4Y\xad\xdb\x18\xa9\x19\xed\xaf\x01\x88V\x9c:y\xc4\xd5>\x84\u0198dF\xe1AZ\x89I\x18\xfc\t\xab\x1e\uc494\n\v\x18k\xf9WU-\x16\x00\"\x9d\xfd\xa7\x1co\xa6L\x9d\xc9\xebp?\u0445\xe7g~\xef\x00 J\u0719\xa1P;`\xd0s\xfa\xbc\x9a\xe3\x00\xab\u0582@\u0385T)\\\xab$\xf8\x13\xcf\x1f\xf4\x12 \xd8p\xfe\x9f\xbd3\x8f\x8b\xe9\x8b\x02\xf8}w\xda\x17)\xa1\x14\xa2\xc5RI!\xa1\xc5\x16\x95\xb4\"dkCh\xa5\xb2\xefd\xc9\x16B!!d\tE\xf6(d)\xbb\xacY\"\x11\x91-]\xf4\xab\xdfg\xcc\xcbk\u051di\x98\x98\xea\xfew>\x1a3\xef\xdd{\u03b9\xe7|\u03f9\xf7\nJ\xf70\x1a\u0253\x8a\x94\u04d5\xa9\xe1/\xe5\xa4cC\xbd\x01D&\x8b\x8b\xc5\x136\x8c>\f \x9a%\xe65\xbbT\xfe\r\xdd*\xf4\x18\xcf{\xaa\xfeb\x1e\x82\xbe\x98\xe7\xef\xbf\x18;\xed\xd1\xdez/r\xc7'\xb5\xeb\x00\xa2\x011\x16\x06\xc1\x85c&\x00\x88\x96\x0f\xdb\x7fo \xf4\x1a\x00 \xba\xf5L!r\xc5^\u03f5\xecA\xf0\xed\xee>\xbeQ\xc0H.5\xfa\xdeO\xb3\xab\xfc\xec\xc2l\x00\u0468\xd8zA\x03\xd6>\u0706E\x183\xe7'\xde\xed{\xbb\xa3\x01\x16\xf1l)\x88q\u0732/\u0295\x91h\xfbJ\xab\x1a\x06^R\x9b\xcc0\x1cg\x86\x83\xabd\x86P\x87\x97\x19V\u061a\\\xce\f\xf3\x044C^k\xc0\xbf5Q\xae>\xc5\u0735\x0eN\x83F\x8d\x02\x10\xb1\xee_\xeezj\x82\xabs\x1d\xb1\u06e2\x83\x9dW\x89Y\xdd\xd9\xc55\x1c\x8d\x92{\u014c\x0e\u0339\x03 \xda\x15\xf6\xde\xe0Pv\xf3\x14|\xb7\xee\u0786\xf3?~\xcc:\x87\xb5\xdb\u02dd_\xaf{<=%\x93\x91\x00\x85\xb2\r\xbe5Uk\xd1T\x8f\x91\x00D\x96\x81\x0e\x13\a\xf9\xb4=\r \xd2\x01\xaf'\xb9\xcb\f\xdaDkd\u9be1\v\xa1\xb4\xb5\x9f\xd2Bt(v\xc29\u02f5\x11\x0e\x00\xa2\x9e~\x9f\u0706uz}\x12P\u0238\xb7\xcc\xfd.\xed\xbc\x1a1R\x19l\xd3\t\xe4\x0f\xdbf\xf0\x87m\x968\u0636\x1a\x0f\xdb\xfeUw\a!f\x84\x98q\xb3\v\x16\xa0\xd0\xdb[\xca\x06\xd7t\x1e\xb90\x12\xa0\x90\x96\x96\u075e\x92\x1e\xf2\x05\x8c\x04(\xb4\xad\xa3\xf9\x14\x9f\xe1C\xbf1\x12\x171\xbbow\xc5\xd4%i\xb1\t#\x11bF\x88\x99 Zw\xd0Z\xaf\x89\xf4\xa8\xb9s\x18\tP\xc8\xc4~x\xe1\xf8\xc9k\f\x19\xa9\x021k\xf7h\xf8a\xe7,\xcb\u038c\x04(\x94\xe8\x19\xb2\xd7\xf4H\xbb\x0e\x8c$r\u012c\xfb\xd3\xc2\xe3\a\xef\x1ci\t(tb\xd4\xe7yz\xea\x0e~\x8c\xc4\xd1\xc5\xe6I|\x88\x99\xfa\x00<1\xa3\x14\x7f\rI\x7f\x12\xb3\xd27U%<\x9c\xbb\xc9J\x0f\xf0\xc47\xd5\x19\xb0r\xdf\xd4\xe2\xb7\xdf\xe7\x91\xfc\xaai\xe7\x00DO\xa4\xd5\xc2e\xdah\xf8\x97S,\x88\x02\x90\x89\x16\xb5k\x14;\xa0]\xee\x15\xd2\xe2\xedb\x8f\xed\x00\xa2U\r_]