A link-node-based complementarity model for traffic equilibrium with ride-sharing and trunk-sharing